Java中文分词工具AnsjSeg使用

简介:         中文分词是进行中文文本分析的一个重要步骤。对于Java语言,有许多可选的分词工具,如中科院计算所的NLPIR(原ICTCLASS)、盘古分词、IKAnalyzer、PaodingAnalyzer,其中,试...

        中文分词是进行中文文本分析的一个重要步骤。对于Java语言,有许多可选的分词工具,如中科院计算所的NLPIR(原ICTCLASS)、盘古分词、IKAnalyzer、PaodingAnalyzer,其中,试用过ICTCLASS及其后续版本,刚开始感觉不错,但是Java调用C语言的方式实在是受不了,没有原生Java编写的用着方便,最近在处理一些论坛评论数据,数据质量很差,感觉用这个就错得一塌糊涂,印象最不好的是以前做一个简单项目,结果在最关键的最后阶段,竟然显示证书到期,最后虽然解决了,但实在是对ICTCLASS的印象越来越差,最后就尝试其他的工具,试用了IKAnalyzer,很小,基本功能有,但附加功能好像较少,还有哈工大的分词系统,在线的,源码试用时好像要发邮件才能获得,嫌麻烦,呵呵,最后试用了AnsjSeg,项目在GitHub上,话说正逢GitHub被封还是怎么的,废了好一番功夫,最后总算用上了,感觉还不错,作者介绍的文档很详细,各种功能用起来很直接,虽然没有ICTCLASS看起来正式,但要得就是接地气,下面对相关的使用做一介绍:

        AnsjSeg,得名于作者的主页ansj,作者名字是sj,So,就得了这个名字。这个工具可以讲是ICTCLASS的Java实现,作者测试比原版速度快。AnsjSeg提供了四种分词调用的方式:基本分词(BaseAnalysis)、精准分词(ToAnalysis)、NLP分词(NlpAnalysis)、面向索引分词(IndexAnalysis)。


1. 基本分词方式,速度快;

官方示例:

List<Term> parse = BaseAnalysis.parse("让战士们过一个欢乐祥和的新春佳节。");
System.out.println(parse);

result:[让/v, 战士/n, 们/k, 过/ug, 一个/m, 欢乐/a, 祥和/a, 的/uj, 新春/t, 佳节/n, 。/w]

2. 精准分词方式兼顾精度与速度,比较均衡;

官方示例:

List<Term> parse = ToAnalysis.parse("让战士们过一个欢乐祥和的新春佳节。");    
System.out.println(parse);

3. NLP分词方式可是未登录词,但速度较慢;

官方示例:

List<Term> parse = NlpAnalysis.parse("洁面仪配合洁面深层清洁毛孔 清洁鼻孔面膜碎觉使劲挤才能出一点点皱纹 脸颊毛孔修复的看不见啦 草莓鼻历史遗留问题没辙 脸和脖子差不多颜色的皮肤才是健康的 长期使用安全健康的比同龄人显小五到十岁 28岁的妹子看看你们的鱼尾纹");
System.out.println(parse);

4. 面向索引方式适合用在在lucene等文本检索中用到。

官方示例:

List<Term> parse = IndexAnalysis.parse("主副食品");
System.out.println(parse);

result:[主副食品/n, 主副食, 副食, 副食品, 食品]


jar包中还有其他一些比较实用的功能,包括关键词提取、词性标注等,虽然感觉比较粗糙,但是还很实用。

AnsjSeg还可以设置用户词典与停用词。


AnsjSeg的官方GitHub地址是http://nlpchina.github.io/ansj_seg/,上面有较详细的说明。




目录
相关文章
|
1月前
|
Java
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
71 9
|
2月前
|
监控 Java 测试技术
Java开发现在比较缺少什么工具?
【10月更文挑战第15天】Java开发现在比较缺少什么工具?
39 1
|
26天前
|
SQL Java 索引
java小工具util系列2:字符串工具
java小工具util系列2:字符串工具
137 83
|
23天前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
45 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
26天前
|
Java 数据库
java小工具util系列1:日期和字符串转换工具
java小工具util系列1:日期和字符串转换工具
54 26
|
27天前
|
Java
java小工具util系列4:基础工具代码(Msg、PageResult、Response、常量、枚举)
java小工具util系列4:基础工具代码(Msg、PageResult、Response、常量、枚举)
50 24
|
26天前
|
数据采集 存储 监控
Java爬虫:数据采集的强大工具
在数据驱动的时代,Java爬虫技术凭借其强大的功能和灵活性,成为企业获取市场信息、用户行为及竞争情报的关键工具。本文详细介绍了Java爬虫的工作原理、应用场景、构建方法及其重要性,强调了在合法合规的前提下,如何有效利用Java爬虫技术为企业决策提供支持。
|
1月前
|
Java 数据格式 索引
使用 Java 字节码工具检查类文件完整性的原理是什么
Java字节码工具通过解析和分析类文件的字节码,检查其结构和内容是否符合Java虚拟机规范,确保类文件的完整性和合法性,防止恶意代码或损坏的类文件影响程序运行。
47 5
|
1月前
|
Java API Maven
如何使用 Java 字节码工具检查类文件的完整性
本文介绍如何利用Java字节码工具来检测类文件的完整性和有效性,确保类文件未被篡改或损坏,适用于开发和维护阶段的代码质量控制。
82 5
|
2月前
|
Java 流计算
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
46 1
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!