package org.ansj; import org.ansj.domain.Result; import org.ansj.library.AmbiguityLibrary; import org.ansj.library.DicLibrary; import org.ansj.splitWord.analysis.ToAnalysis; import org.nlpcn.commons.lang.tire.domain.Forest; import org.nlpcn.commons.lang.tire.domain.Value; import org.nlpcn.commons.lang.tire.library.Library; public class Test { public static void main(String[] args) throws Exception { // 构造一个用户词典 Forest forest = Library.makeForest("library/default.dic"); forest = new Forest(); // 增加新词,中间按照'\t'隔开 DicLibrary.insert(DicLibrary.DEFAULT, "ansj中文分词", "userDefine", 1000); Result terms = ToAnalysis.parse("我觉得Ansj中文分词是一个不错的系统!我是王婆!"); System.out.println("增加新词例子:" + terms); // 删除词语,只能删除.用户自定义的词典. DicLibrary.delete(DicLibrary.DEFAULT, "ansj中文分词"); terms = ToAnalysis.parse("我觉得ansj中文分词是一个不错的系统!我是王婆!"); System.out.println("删除用户自定义词典例子:" + terms); // 歧义词 Value value = new Value("济南下车", "济南", "n", "下车", "v"); System.out.println(ToAnalysis.parse("我经济南下车到广州.中国经济南下势头迅猛!")); AmbiguityLibrary.insert(AmbiguityLibrary.DEFAULT, value); System.out.println(ToAnalysis.parse("我经济南下车到广州.中国经济南下势头迅猛!")); // 多用户词典 String str = "神探夏洛克这部电影作者.是一个dota迷"; System.out.println(ToAnalysis.parse(str)); // 两个词汇 神探夏洛克 douta迷 Forest dic1 = new Forest(); Library.insertWord(dic1, new Value("神探夏洛克", "define", "1000")); Forest dic2 = new Forest(); Library.insertWord(dic2, new Value("dota迷", "define", "1000")); System.out.println(ToAnalysis.parse(str, dic1, dic2)); } }