当前位置:  软件>java软件

Java中文分词组件 word

    来源:    发布时间:2015-01-02

    本文导语:  Java实现的中文分词组件,提供了多种基于词典的分词算法,并利用ngram模型来消除歧义。能准确识别英文、数字,以及日期、时间等数量词,能识别人名、地名、组织机构名等未登录词。同时提供了Lucene、Solr、ElasticSearch插件...

Java实现的中文分词组件,提供了多种基于词典的分词算法,并利用ngram模型来消除歧义。能准确识别英文、数字,以及日期、时间等数量词,能识别人名、地名、组织机构名等未登录词。同时提供了Lucene、Solr、ElasticSearch插件。

1、快速体验
运行项目根目录下的脚本demo-word.bat可以快速体验分词效果
用法: command [text] [input] [output]
命令command的可选值为:demo、text、file
demo
text 杨尚川是APDPlat应用级产品开发平台的作者
file d:/text.txt d:/word.txt
exit

2、对文本进行分词
移除停用词:List words = WordSegmenter.seg("杨尚川是APDPlat应用级产品开发平台的作者");
保留停用词:List words = WordSegmenter.segWithStopWords("杨尚川是APDPlat应用级产品开发平台的作者");
            System.out.println(words);

输出:
移除停用词:[杨尚川, apdplat, 应用级, 产品, 开发平台, 作者]
保留停用词:[杨尚川, 是, apdplat, 应用级, 产品, 开发平台, 的, 作者]

3、对文件进行分词
String input = "d:/text.txt";
String output = "d:/word.txt";
移除停用词:WordSegmenter.seg(new File(input), new File(output));
保留停用词:WordSegmenter.segWithStopWords(new File(input), new File(output));

4、自定义配置文件
默认配置文件为类路径下的word.conf,打包在word-x.x.jar中
自定义配置文件为类路径下的word.local.conf,需要用户自己提供
如果自定义配置和默认配置相同,自定义配置会覆盖默认配置
配置文件编码为UTF-8

5、自定义用户词库
自定义用户词库为一个或多个文件夹或文件,可以使用绝对路径或相对路径
用户词库由多个词典文件组成,文件编码为UTF-8
词典文件的格式为文本文件,一行代表一个词
可以通过系统属性或配置文件的方式来指定路径,多个路径之间用逗号分隔开
类路径下的词典文件,需要在相对路径前加入前缀classpath:

指定方式有三种:
    指定方式一,编程指定(高优先级):
        System.setProperty("dic.path", "classpath:dic.txt,d:/custom_dic");
    指定方式二,Java虚拟机启动参数(中优先级):
        java -Ddic.path=classpath:dic.txt,d:/custom_dic
    指定方式三,配置文件指定(低优先级):
        使用类路径下的文件word.local.conf来指定配置信息
        dic.path=classpath:dic.txt,d:/custom_dic

如未指定,则默认使用类路径下的dic.txt词典文件

6、自定义停用词词库
使用方式和自定义用户词库类似,配置项为:
stopwords.path=classpath:stopwords.txt,d:/custom_stopwords_dic

7、自动检测词库变化
可以自动检测自定义用户词库和自定义停用词词库的变化
包含类路径下的文件和文件夹、非类路径下的绝对路径和相对路径
如:
classpath:dic.txt,classpath:custom_dic_dir,
d:/dic_more.txt,d:/DIC_DIR,D:/DIC2_DIR,my_dic_dir,my_dic_file.txt

classpath:stopwords.txt,classpath:custom_stopwords_dic_dir,
d:/stopwords_more.txt,d:/STOPWORDS_DIR,d:/STOPWORDS2_DIR,stopwords_dir,remove.txt

8、显式指定分词算法
对文本进行分词时,可显式指定特定的分词算法,如:
WordSegmenter.seg("APDPlat应用级产品开发平台", SegmentationAlgorithm.BidirectionalMaximumMatching);

SegmentationAlgorithm的可选类型为:   
正向最大匹配算法:MaximumMatching
逆向最大匹配算法:ReverseMaximumMatching
正向最小匹配算法:MinimumMatching
逆向最小匹配算法:ReverseMinimumMatching
双向最大匹配算法:BidirectionalMaximumMatching
双向最小匹配算法:BidirectionalMinimumMatching

    
 
 

您可能感兴趣的文章:

  • Java中文分词器分词效果评估 cws_evaluation
  • 结巴分词(java版) jieba-analysis
  • Java开源中文分词器 jcseg
  • Java读写包括中文的txt文件时不同编码格式问题解决
  • 用java读中文linux中的文件是正确的,用java读英文linux版本中的文件是乱码,如何使英文linux读出的文件数据也是中文的?
  • 请教:关于英文,简体中文,繁体中文在JSP/JAVA中的整体解决方案!!!
  • 哪儿有较好的java中文资料与jbuilder的中文资料<我是一个新手>
  • 哪有java类库中文说明和jdk1.3.1的中文文档?
  • 请教:关于英文,简体中文,繁体中文在JSP/JAVA中的整体解决方案!!!!!
  • 在JAVA中如何将繁体中文和简体中文进行互相转换?
  • 在forte for java 4的Source Editor中编辑jsp时候,可以输入中文,可是保存后关闭再打开,中文显示???,怎么回事啊
  • Java简繁体中文互换 java-zhconverter
  • redhat7.3下,java程序打印中文直接用java命令执行正常,用crontab执行java命令为乱码
  • 请大家评价一下Thinking in Java第二版(中文)这本书如何,是否适合JAVA初学者?
  • 小弟我找到了一些JAVA认证模拟试题和JAVA中文FAQ,希望对大家有所帮助
  • Java国际化时怎么不能正确读取.properties文件中的中文字符串,如何解决其中的中文问题?
  • 请问哪里有java docs 的下载,中文版的,它是java的类库手册么?
  • 请问学习java比较好的中文书籍有哪些,谢谢!
  • 怎么是java程序支持中文?
  • 求解:为什么我写的Java程序不能显示中文。
  • 在实现简体中文转繁体中文,繁体中文转简体中文时,JAVA得如何实现???
  • 你认为最好的中文JAVA网站或有大量优秀JAVA源代码免费下载的网站是哪里???送分!!!
  • 请问:谁有中文的java1.3类库参考书???????????????
  • JAVA与中文问题???(中文出来就是乱码,换英文就正常)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • ###java调用COM组件或COM调用java组件(EJB)解决办法。###
  • Java NIO的通讯组件 Gecko-Java
  • Java开发组件框架 CaesarJ
  • Java能否写COM组件?
  • Java手机UI组件 RedJey
  • Java集成各种cache组件 multicache4j
  • Java图形组件 OpenSwing
  • Java农历日期选择器组件 JLunarDatePicker
  • Java浏览器组件 JRex
  • java中组件的绘制机制。详细讲一下,谢谢了!
  • 用JAVA编写COM组件
  • Java 的 GUI 组件 jTattoo
  • Java 网络图开发组件 iTopoview
  • Java图形组件 JGraph
  • Java图表组件 Eastwood
  • java里组件怎样得到焦点
  • Java组件服务框架 Carbon
  • Java图表组件 Orson Chart Beans
  • Java文件上传组件 COS
  • JAVA 基本图形组件问题,非常简单
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3