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/,上面有较详细的说明。




目录
相关文章
|
2月前
|
数据采集 编解码 Java
解锁Hutool魔法箱:Java开发者不可错过的神奇工具集
解锁Hutool魔法箱:Java开发者不可错过的神奇工具集
58 0
|
2月前
|
缓存 监控 Java
线程池的魔法:Java 开发者必备的并发工具
线程池的魔法:Java 开发者必备的并发工具
44 0
|
3月前
|
存储 Java 数据安全/隐私保护
探索Java中神奇的ThreadLocal:为什么它是多线程编程的重要工具?
探索Java中神奇的ThreadLocal:为什么它是多线程编程的重要工具?
|
28天前
|
Java
java中日期处理的一些工具方法
java中日期处理的一些工具方法
17 1
|
28天前
|
安全 Java 数据安全/隐私保护
提升 Java 编程安全性 - 代码加密混淆工具的重要性和应用
提升 Java 编程安全性 - 代码加密混淆工具的重要性和应用
|
28天前
|
安全 Java 数据安全/隐私保护
探讨 Java 代码混淆加固工具
探讨 Java 代码混淆加固工具
|
29天前
|
存储 安全 Java
基于Java的qq截图工具(毕业设计含源码)
基于Java的qq截图工具(毕业设计含源码)
28 0
|
1月前
|
监控 NoSQL Java
性能工具之 Java 调试工具 JDB
【2月更文挑战第25天】性能工具之 Java 调试工具 JDB
35 4
|
1月前
|
Cloud Native Java 开发者
Spring Boot 4.0:构建云原生Java应用的前沿工具
Spring Boot 4.0:构建云原生Java应用的前沿工具