From 34656a4f8780e6664866cc558170ac4af1410fed Mon Sep 17 00:00:00 2001 From: Tokuhiro Matsuno Date: Sun, 19 Feb 2023 22:23:04 +0900 Subject: [PATCH] =?UTF-8?q?Revert=20"=E5=B9=B3=E4=BB=AE=E5=90=8D=E3=82=92?= =?UTF-8?q?=E5=84=AA=E5=85=88=E3=81=99=E3=82=8B=E3=80=82=20#252=20(#276)"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit a48c674c6cba89ddae2ca397b940222c9158379d. --- libakaza/src/graph/lattice_graph.rs | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/libakaza/src/graph/lattice_graph.rs b/libakaza/src/graph/lattice_graph.rs index 638823b..9a03628 100644 --- a/libakaza/src/graph/lattice_graph.rs +++ b/libakaza/src/graph/lattice_graph.rs @@ -130,13 +130,10 @@ impl LatticeGraph { return if let Some((_, system_unigram_cost)) = node.word_id_and_score { trace!("HIT!: {}, {}", node.key(), system_unigram_cost); system_unigram_cost - } else if node.surface == node.yomi { - // 「ひらがな」で、変換しないエントリーを優先する。 - // 漢字で表現したい場合は、それを自分で変換して選択すればよろしい。 - // このようにしないと、例えば新語辞書に変なものが入ってきたときに - // 優先されすぎてしまう。 - // - // 新語には、短いものもあり、誤爆しがち。 + } else if node.surface.len() < node.yomi.len() { + // 労働者災害補償保険法 のように、システム辞書には wikipedia から採録されているが, + // 言語モデルには採録されていない場合,漢字候補を先頭に持ってくる。 + // つまり、変換後のほうが短くなるもののほうをコストを安くしておく。 self.system_unigram_lm.get_cost(1) } else { self.system_unigram_lm.get_cost(0)