[023]中文分词——ansj
来源:互联网 发布:2016大型网络赛车游戏 编辑:程序博客网 时间:2024/06/01 23:34
最近在做新闻分类的相关研究学习,其中一个重要环节便是中文分词,分词的好坏也决定着后续新闻分类的好坏,于是google发现一个叫ansj的分词工具很好用,遇到一个好东西就要好好吃透它,于是查找很多相关资料,并应用到自己的项目程序中,在这里与大家分享。
简介
新闻分类中的分词只是一种应用,比如:检索、自然语言处理、数据挖掘等方面工作都需要用到中文分词,所以ansj还是值得好好研究一下的。
Ansj 是一个开源的 Java 中文分词工具,基于中科院的 ictclas 中文分词算法,比其他常用的开源分词工具(如mmseg4j)的分词准确率更高。
Ansj中文分词是一款纯Java的、主要应用于自然语言处理的、高精度的中文分词工具,目标是“准确、高效、自由地进行中文分词”,可用于人名识别、地名识别、组织机构名识别、多级词性标注、关键词提取、指纹提取等领域,支持行业词典、用户自定义词典。
分词速度达到每秒钟大约200万字左右(mac air下测试),准确率能达到96%以上
目前实现了.中文分词. 中文姓名识别 . 用户自定义词典
可以应用到自然语言处理等方面,适用于对分词效果要求高的各种项目.
下载jar
访问 http://maven.nlpcn.org/org/ansj/ 最好下载最新版 ansj_seg/
如果你用的是1.x版本需要下载tree_split.jar。
如果你用的是2.x版本需要下载nlp-lang.jar。
如果你用的是3.x以上版本只需要下载 ansj_seg-[version]-all-in-one.jar 一个jar包就够用了。
Java代码示例
static int keyWordNum = 30;//对文章进行分词,返回最关键的、出现频率最高的30个词static KeyWordComputer kwc = new KeyWordComputer(keyWordNum);
JSONObject keyWordsJson = new JSONObject();//根据tfidf规则对文章title及content进行分词,获得分词及其出现的次数List<Keyword> kw = kwc.computeArticleTfidf(title, content); //或者List<Keyword> kw = kwc.computeArticleTfidf(content);for(int i = 0; i < kw.size(); i++){ keyWordsJson.put(kw.get(i).getName(), kw.get(i).getFreq());}
kw.get(i).getScore()//可获得对应词在文档中的权重分数
基本分词速度非常快.在macAir上.能到每秒300w字每秒.同时准确率也很高.但是对于新词他的功能十分有限:
List<Term> parse = BaseAnalysis.parse(content);
ansj精准分词,易用性,稳定性.准确性.以及分词效率上.都取得了一个不错的平衡:
public static List<Term> toAnalysis(String content){ return ToAnalysis.parse(content);}
nlp的适用方式.1.语法实体名抽取.未登录词整理.只要是对文本进行发现分析等工作,40w字每秒的速度:
public static List<Term> nlpAnalysis(String content){ return NlpAnalysis.parse(content);}
上面三种方法不仅对内容项进行分词,还标注出了每个词的词性。
相关链接
官网地址:http://www.ansj.org/
Github地址:https://github.com/ansjsun/ansj_seg
使用帮助:http://nlpchina.github.io/ansj_seg/
开源中国社区博客:http://www.oschina.net/search?scope=blog&q=Ansj
搜狗语料库:http://www.sogou.com/labs/resources.html?v=1
- [023]中文分词——ansj
- Ansj中文分词说明
- ANSJ中文分词使用方法
- Ansj中文分词说明
- Java中文分词器Ansj
- Ansj中文分词的使用
- ansj中文分词分词过程浅析
- 开源 Java 中文分词器 Ansj
- Java中文分词器Ansj的使用
- Ansj中文分词Java开发小记
- SPARK+ANSJ 中文分词基本操作
- elasticsearch2.3.1集成ansj中文分词
- solr6使用ansj做中文分词
- elasticsearch中ANSJ中文分词处理
- Solr整合Ansj中文分词器
- 基于java的中文分词工具ANSJ
- ansj 分词
- ansj 分词
- 【机房个人重构】sqlHelper------让我们的代码更高效
- java并发编程——八 理解并使用常用组件:CountDownLatch\CyclicBarrier\Exchanger\Semaphore
- Android扩大图片的点击区域
- 自我黑客马拉松 -- 从零开始创建一个基于Go语言的web service
- 再度启航
- [023]中文分词——ansj
- 裴波那切数列求和---c++
- [Unity官方文档翻译]2D or 3D Projects Unity中2D和3D项目的区别
- leetcode 5. Longest Palindromic Substring
- 各种排序算法汇总详解
- POJ1258 Agri-Net
- 【LeetCode】24. Swap Nodes in Pairs
- Centos系统下Lamp环境的搭建
- HDU - 1022