IK分词器
IK 分词器是 Elasticsearch 中非常常用的一个分词器,它是一个开源的中文分词工具,能够将中文文本精确地切分成独立的词条(token),以便 Elasticsearch 更好地处理和搜索中文数据。IK 分词器支持中文的精确分词和智能分词,能够根据不同的需求灵活配置,适应各种搜索场景。
1. IK分词器的特点
Section titled “1. IK分词器的特点”-
支持中文分词:
IK 分词器能够针对中文进行高效的分词。因为中文没有明确的单词间隔(不像英语有空格分隔单词),IK 分词器可以根据一定的规则将连续的字符流分成有意义的词语。
-
两种分词模式:
最细粒度分词(精确模式):尽可能将文本分为最小的词语单位。例如,“小明喜欢吃苹果”会被分成“[小明, 喜欢, 吃, 苹果]”。
智能分词(智能模式):尽可能保留更多的语义信息,避免将词语切得过细。这种模式更适合用于自然语言查询,保证查询的自然性和完整性。例如,“我爱北京天安门”会分成“[我, 爱, 北京, 天安门]”,保留“天安门”作为一个完整的词语。
-
支持多种扩展功能:
IK 分词器支持用户自定义词典,可以将用户特定的词汇加入到分词词库中,增强分词的准确性,避免分词时出现错误或遗漏。支持对英文、数字以及其他语言符号的识别和分词。
-
开源并高度可配置:
IK 分词器是一个开源项目,用户可以根据自己的需要调整配置文件,实现不同的分词需求。提供了多个自定义配置选项,可以设置是否启用同义词、是否进行停用词过滤等。
-
分词效率高:
IK 分词器不仅分词准确,而且效率很高,能够快速对大量文本进行分词处理,非常适合大规模的 Elasticsearch 集群。
2. 扩展词词典
Section titled “2. 扩展词词典”IK 分词器允许用户通过添加外部的自定义词典来扩展分词能力。自定义词典文件应该是一个纯文本文件,每一行代表一个词条。
- 修改
ext_dict自定义词典
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"><properties> <comment>IK Analyzer 扩展配置</comment> <!--用户可以在这里配置自己的扩展字典 *** 添加扩展词典--> <entry key="ext_dict">ext.dic</entry></properties>- 新建一个 ext.dic
在新建的 ext.dic 中添加需要扩展的词典,然后重启 elasticsearch 即可生效。
程序员 100机器学习 50深度学习 30人工智能 20自然语言处理 10大数据 53. 停用词典
Section titled “3. 停用词典”在 IK 分词器中,停用词典的作用就是在分词时忽略这些常见的无关词汇。例如,常见的停用词有“的”、“是”、“在”、“和”等。停用词典中的每一行通常只包含一个停用词,不需要词频信息。
- 修改
ext_dict自定义词典
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"><properties> <comment>IK Analyzer 扩展配置</comment> <!--用户可以在这里配置自己的扩展字典--> <entry key="ext_dict">ext.dic</entry> <!--用户可以在这里配置自己的扩展停止词字典 *** 添加停用词词典--> <entry key="ext_stopwords">stopword.dic</entry></properties>- 在 stopword.dic 添加停用词
的是在和有为