注意:
1、指定配置文件的路径时,建议配置为绝对路径。这种方式最简单,否则需自行解决路径的问题
2、配置文件的内容,词典各字段之间使用tab(\t
)分割。一般发现自定义字典无效,就是因为使用的不是tab(\t)而是4个空格等。所以,一定要记住,tab、tab、tab
3、字典中,英文字母,全部转为小写。因为拆词的时候,是先转为小写,然后比较的。输出的结果,拆词后,输出的结果,也都是小写。
字典配置(default.dic)文件,格式如下:
基于java n 100
西红柿炖牛腩 n 1000
连网 n 8000
いらないよ n 100
========================= 填坑完毕 =========================
一、文档: 官方文档
二、自定词典的使用方式
方式1、从内存操作词典
这个最简单,官方也有demo,开箱即用
@Test
public void test() throws Exception {
//添加自定义词语 【 英文,按照小写配置。(大写,不识别。拆词的结果,也转为小写了)】
DicLibrary.insert(DicLibrary.DEFAULT, "基于java", "n", 1);
String text = "基于Java开发的轻量级的中分分词工具包";
System.out.println(DicAnalysis.parse(text));
}
输出结果:
基于java/n,开发/v,的/u,轻量级/b,的/u,中分/n,分词/v,工具包/n
方式2、通过代码方式来加载
@Test
public void test() throws Exception {
// 关闭名字识别
MyStaticValue.isNameRecognition = false;
// 配置自定义词典的位置。注意是绝对路径
MyStaticValue.ENV.put(DicLibrary.DEFAULT, "D:\\project\\library\\default.dic");
String text = "基于Java开发的轻量级的中分分词工具包";
System.out.println(DicAnalysis.parse(text));
}
方式3、通过配置文件
在 resource 目录下,建一个 library.properties 配置文件
接着,配置 dic 节点,指定配置文件的绝对路径
dic=D:/project/library/default.dic
就可以直接使用了
@Test
public void test() throws Exception {
String text = "基于Java开发的轻量级的中分分词工具包";
System.out.println(DicAnalysis.parse(text));
}