java分词器ansj工具的使用

前置工作:

贴上链接:

项目介绍首页:推荐查看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();
    }
}

部分结果为:

猜你喜欢

转载自blog.csdn.net/lijinshanba/article/details/109056712
今日推荐