前置工作:
贴上链接:
项目介绍首页:推荐查看5.x版本的
3.x的介绍:http://nlpchina.github.io/ansj_seg/
5.x的介绍:https://github.com/NLPchina/ansj_seg/wiki
github完成项目代码页
https://github.com/NLPchina/ansj_seg
jar包下载页:
要选择5.x版本之后的这个按钮进去才能下载jar包
让分词运行需要两个jar,分别是 nlp-lang 和 ansj_seg 的jar
https://mvnrepository.com/artifact/org.nlpcn/nlp-lang
https://mvnrepository.com/artifact/org.ansj/ansj_seg
新建项目,可以是maven,也可以是普通项目,我这边是普通项目。
我的项目代码是参照这位老哥的:
https://blog.csdn.net/bitcarmanlee/article/details/53607776
下载下来的jar包记得放在项目文件的lib目录下,注意这个lib目录要提前设置为库文件。如下
代码如下,可以正常运行。
代码是参照这位老哥的:
https://blog.csdn.net/bitcarmanlee/article/details/53607776
package com.company;
import org.ansj.domain.Result;
import org.ansj.domain.Term;
import org.ansj.splitWord.analysis.ToAnalysis;
import java.util.*;
public class nlpTest {
public static void test() {
//String str = "欢迎使用ansj_seg,(ansj中文分词)在这里如果你遇到什么问题都可以联系我.我一定尽我所能.帮助大家.ansj_seg更快,更准,更自由!" ;
//System.out.println(ToAnalysis.parse(str));
Set<String> expectedNature = new HashSet<String>() {{
add("n");add("v");add("vd");add("vn");add("vf");
add("vx");add("vi");add("vl");add("vg");
add("nt");add("nz");add("nw");add("nl");
add("ng");add("userDefine");add("wh");
}};
String str = "欢迎使用ansj_seg,(ansj中文分词)在这里如果你遇到什么问题都可以联系我.我一定尽我所能.帮助大家.ansj_seg更快,更准,更自由!" ;
Result result = ToAnalysis.parse(str); //分词结果的一个封装,主要是一个List<Term>的terms
System.out.println(result.getTerms());
List<Term> terms = result.getTerms(); //拿到terms
System.out.println(terms.size());
for(int i=0; i<terms.size(); i++) {
String word = terms.get(i).getName(); //拿到词
String natureStr = terms.get(i).getNatureStr(); //拿到词性
if(expectedNature.contains(natureStr)) {
System.out.println(word + ":" + natureStr);
}
}
}
public static void main(String[] args) {
test();
}
}
部分结果为: