質問: kuromojiユーザ辞書に定義済みの単語で構成された複合語の形態素解析について elasticsearch version: 5.6.14 kuromojiを使って形態素解析を行っているのですが、ユーザー辞書に登録済みの単語で構成された複合語を定義した際に想定通りに文章の単語分割が行われませんでした。 実施したいこと 文章にホタテが含まれる場合は、ホタテを1つの単語として取り扱いたい 文章にホタテのりが含まれる場合は、ホタテのりを1つの単語として取り扱いたい 設定例 curl -x put "localhost:9200/sample_index?pretty" -h 'content-type: application/json' -d' { "sett...
回答: お試しいただいているとおり、ユーザ辞書に登録した文字列は、tokenとして取得することを期待する定義になります。 ホタテ,ホタテ,ホタテ,名詞 のり,のり,ノリ,名詞 この2つの定義が存在するため、"ホタテ","のり" の単位で形態素解析結果が得られていると思われます。 具体的には、形態素解析機である kuromoji において、ユーザ辞書登録された文字列はtokenとして得やすくなるように、コスト計算処理の考慮(=辞書登録された文字列のコストを下げ、分割されやすくする)が行われます。 このため、"ホタテのり"という1tokenよりも、"ホタテ","のり"という文字列部分のコスト...