HanLP自定义分词

下载 HanLP

GitHub

这里下载的 hanlp-1.8.2-release.zip

配置

解压后,修改 hanlp.properties 中的 root 路径。

以及自定义词典文件的相对 root 的路径 CustomDictionaryPath

1
2
3
4
5
6
7
8
9
10
11
12
13
#本配置文件中的路径的根目录,根目录+其他路径=完整路径(支持相对路径,请参考:https://github.com/hankcs/HanLP/pull/254)
#Windows用户请注意,路径分隔符统一使用/
root=D:/develop/hanlp-1.8.2-release/HanLP

#好了,以上为唯一需要修改的部分,以下配置项按需反注释编辑。

#核心词典路径
#CoreDictionaryPath=data/dictionary/CoreNatureDictionary.txt
#2元语法词典路径
#BiGramDictionaryPath=data/dictionary/CoreNatureDictionary.ngram.txt
#自定义词典路径,用;隔开多个自定义词典,空格开头表示在同一个目录,使用“文件名 词性”形式则表示这个词典的词性默认是该词性。优先级递减。
#所有词典统一使用UTF-8编码,每一行代表一个单词,格式遵从[单词] [词性A] [A的频次] [词性B] [B的频次] ... 如果不填词性则表示采用词典的默认词性。
CustomDictionaryPath=data/dictionary/custom/CustomDictionary.txt; 现代汉语补充词库.txt; 全国地名大全.txt ns; 人名词典.txt; 机构名词典.txt; 上海地名.txt ns;data/dictionary/person/nrf.txt nrf;

Java 使用

Maven 引入

1
2
3
4
5
<dependency>
<groupId>com.hankcs</groupId>
<artifactId>hanlp</artifactId>
<version>portable-1.8.2</version>
</dependency>

代码

1
2
3
4
5
6
7
public class TestHanLP() {
@Test
public void testHanLP() {
List<Term> text = HanLP.segment("李四@擎天");
System.out.println(text);
}
}

没有配置自定义词典时,分词是 李,四,@,擎,天

添加词典

CustomDictionary.txt文件中添加

1
2
李四 nz 1
擎天 nz 1

此时要把 CustomDictionary.txt 同目录下的 CustomDictionary.txt.bin 删掉.

分词后的测试,是 李四,@,擎天 ,并且这个时候会发现,又生成了一个 CustomDictionary.txt.bin 文件。

本文地址: https://github.com/maxzhao-it/blog/post/23131/