应用背景:
编辑想对用户提出的问题进行分类,如包含价格,价钱,月供、首付等等的划分为“价格”类,包含商场、银行、学校等划分为“周边环境”类。
技术选型:ansjSeg
ansjSeg中词性的概念便于将词分门别类,使用如下:
UserDefineLibrary.insertWord("ansj中文分词", "词性1", 1000);
UserDefineLibrary.insertWord("不错的系统", "词性1", 1000);
List<Term> terms = IndexAnalysis.parse("我觉得Ansj中文分词是一个不错的系统!我是王婆/!");
//修正词性,用户自定义词典的词性优先
new NatureRecognition(terms).recognition() ;
FilterModifWord.modifResult(terms) ;
System.out.println("增加新词例子:" + terms);
//增加新词例子:[我/r, 觉得/v, ansj/en, ansj中文分词/词性1, 中文/nz, 分词/v, 是/v, 一个/m, 不错/a, 不错的系统/词性1, 的/uj, 系统/n, !, 我/r, 是/v, 王/nr, 王婆/nr, 婆/ng, //nw, !]
// 删除词语,只能删除.用户自定义的词典.
UserDefineLibrary.removeWord("ansj中文分词");
terms = ToAnalysis.parse("我觉得ansj中文分词是一个不错的系统!我是王婆!");
System.out.println("删除用户自定义词典例子:" + terms);
//删除用户自定义词典例子:[我/r, 觉得/v, ansj/en, 中文/nz, 分词/v, 是/v, 一个/m, 不错的系统/词性1, !, 我/r, 是/v, 王婆/nr, !]