java分词器ansj工具的使用

1 篇文章 0 订阅
本文介绍了如何在Java项目中集成并使用ansj_seg进行中文分词。首先,通过链接提供了项目的不同版本介绍及代码仓库。接着,详细阐述了下载jar包、创建项目并配置库文件的过程。在代码示例中,展示了如何使用ToAnalysis.parse方法进行分词,并打印出词性标注。项目代码遵循了特定的结构,便于理解和运行。
摘要由CSDN通过智能技术生成

前置工作:

贴上链接:

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

部分结果为:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值