kuromoji_tokenizer
编辑kuromoji_tokenizer
编辑kuromoji_tokenizer
接受以下设置
-
mode
-
分词模式决定分词器如何处理复合词和未知词。它可以设置为
-
normal
-
正常分词,不分解复合词。示例输出
関西国際空港 アブラカダブラ
-
search
-
面向搜索的分词。这包括对长名词的分解过程,同时还将完整的复合词作为同义词。示例输出
関西, 関西国際空港, 国際, 空港 アブラカダブラ
-
extended
-
扩展模式输出未知词的单字。示例输出
関西, 関西国際空港, 国際, 空港 ア, ブ, ラ, カ, ダ, ブ, ラ
-
-
discard_punctuation
- 是否从输出中丢弃标点符号。默认为
true
。 -
lenient
- 是否应该在提供的
text
上对user_dictionary
进行重复数据删除。默认为 False,导致重复项生成错误。 -
user_dictionary
-
Kuromoji 分词器默认使用 MeCab-IPADIC 词典。可以将
user_dictionary
附加到默认词典。该词典应具有以下 CSV 格式<text>,<token 1> ... <token n>,<reading 1> ... <reading n>,<part-of-speech tag>
为了演示如何使用用户词典,请将以下词典保存到 $ES_HOME/config/userdict_ja.txt
東京スカイツリー,東京 スカイツリー,トウキョウ スカイツリー,カスタム名詞
您还可以使用 user_dictionary_rules
选项将规则直接内联到分词器定义中
PUT kuromoji_sample { "settings": { "index": { "analysis": { "tokenizer": { "kuromoji_user_dict": { "type": "kuromoji_tokenizer", "mode": "extended", "user_dictionary_rules": ["東京スカイツリー,東京 スカイツリー,トウキョウ スカイツリー,カスタム名詞"] } }, "analyzer": { "my_analyzer": { "type": "custom", "tokenizer": "kuromoji_user_dict" } } } } } }
-
nbest_cost
/nbest_examples
-
额外的专家用户参数
nbest_cost
和nbest_examples
可用于包含根据统计模型最有可能的其他词元。如果同时使用这两个参数,则应用两者的最大值。-
nbest_cost
nbest_cost
参数指定额外的 Viterbi 成本。 KuromojiTokenizer 将包含 Viterbi 路径中所有在最佳路径的 nbest_cost 值范围内的词元。-
nbest_examples
nbest_examples
可用于根据示例查找nbest_cost
值。 例如,值 /箱根山-箱根/成田空港-成田/ 表示在文本中,对于 箱根山(箱根山)和 成田空港(成田机场),我们希望得到一个成本,该成本使我们得到 箱根(箱根)和 成田(成田)。
-
然后按如下方式创建一个分析器
PUT kuromoji_sample { "settings": { "index": { "analysis": { "tokenizer": { "kuromoji_user_dict": { "type": "kuromoji_tokenizer", "mode": "extended", "discard_punctuation": "false", "user_dictionary": "userdict_ja.txt", "lenient": "true" } }, "analyzer": { "my_analyzer": { "type": "custom", "tokenizer": "kuromoji_user_dict" } } } } } } GET kuromoji_sample/_analyze { "analyzer": "my_analyzer", "text": "東京スカイツリー" }
上面的 analyze
请求返回以下内容
{ "tokens" : [ { "token" : "東京", "start_offset" : 0, "end_offset" : 2, "type" : "word", "position" : 0 }, { "token" : "スカイツリー", "start_offset" : 2, "end_offset" : 8, "type" : "word", "position" : 1 } ] }
-
discard_compound_token
-
是否应该在
search
模式下从输出中丢弃原始复合词元。 默认为false
。 使用search
或extended
模式以及此选项true
的示例输出関西, 国際, 空港
如果文本包含全角字符,则 kuromoji_tokenizer
分词器可能会产生意外的词元。 为了避免这种情况,请将 icu_normalizer
字符过滤器 添加到您的分析器。 请参阅 规范化全角字符。