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
参数指定附加的维特比成本。KuromojiTokenizer 将包含维特比路径中所有与最佳路径的 nbest_cost 值在范围内的标记。-
nbest_examples
nbest_examples
可用于根据示例查找nbest_cost
值。例如,值 /箱根山-箱根/成田空港-成田/ 表示在文本中,对于箱根山 (Mt. Hakone) 和 成田空港 (Narita Airport),我们希望获得一个成本,使我们得到 箱根 (Hakone) 和 成田 (Narita)。
-
然后,按如下方式创建分析器
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
字符过滤器 添加到您的分析器中。请参阅 规范化全角字符。