自然语言处理

开源工具

中文

HanLP

HanLP(汉语言处理包)是一款开源的使用Java进行开发的中文自然语言处理工具,提供的功能包括中文分词、词性标注、命名实体识别、依存句法分析等。
该工具包目前仍处在更新维护中(2017.9最新版本是1.3.4)
github仓库:https://github.com/hankcs/HanLP
开发语言:Java
支持语言:Java,如果使用Python,可以借助JPype

配置和使用:可以参加github地址
关键点:修改配置文件hanlp.properties中root=,可以使用相对或绝对地址,并且该文件需放置在bin目录中。

复旦 FundanNLP

FudanNLP (FNLP)是复旦大学开发的中文自然语言处理工具包,目前暂时停止了更新(目前最新是2016年的微调整,主体版本2.00(2014.3.25)),另:FNLP官方博客:[http://fnlp.org]已失踪;支持中文分词、词性标注、命名实体识别。
github仓库:https://github.com/FudanNLP/fnlp
开发语言:Java
支持语言:Java
安装配置:github wiki;需要先配置maven,手动进行编译得到jar包。

哈工大 HIT LTP

LPT(Language Technology Platform)是哈尔滨工业大学开发的中文自然语言处理工具。目前最新版本是3.3.2(2016年,目前基本暂时停止更新,模型最新是3.3.1)。代码开源,商业使用付费。支持中文分词、词性标注、命名实体识别、依存句法分析、语言角色标注(中文)
github地址:https://github.com/HIT-SCIR/ltp
开发语言:C++
支持语言:Python(pyltp), Java(ltp4j)

Java开发中配置:
首先使用CMake+VS编译C++源代码得到库文件,然后使用ant构建,生成ltp4j.jar包。注意要保证C++编译的库文件和ltp4j.jar架构版本都是64位或32位。

补充:

哈工大LTP编译使用
Java调用哈工大LTP接口(JNI方式实现)

清华 THU LAC

THULAC (THU Lexical Analyzer for Chinese) 是由清华大学自然语言处理与社会人文计算实验室研制推出的一套中文词法分析工具包,具有中文分词和词性标注功能。

github地址:

https://github.com/thunlp/THULAC (C++)
https://github.com/thunlp/THULAC-Java (适用于命令行)
https://github.com/thunlp/THULAC-Python

Java版本(thulac4j):
https://github.com/yizhiru/thulac4j
thulac4j是THULAC的高效Java 8实现,具有分词速度快、准、强的特点;

如果使用Java开发,推荐直接使用thulac4j,语言模型可以直接下载thulac4j处理后的数据,或使用ThuLac的模型进行生产:

ThulacModel thulac = new ThulacModel(“cws_model.bin”, “cws_dat.bin”, “cws_label.txt”);
thulac.serialize(“seg_only.bin”);

ThulacModel thulac = new ThulacModel(“model_c_model.bin”, “model_c_dat.bin”, “model_c_label.txt”);
thulac.serialize(“seg_pos.bin”);

thulac4j 打包得到jar包,同时还需要相关的包(maven dependencies中可以查看):

kryo-4.0.0.jar, reflectasm-1.11.3.jar, asm-5.0.4.jar, minlog-1.3.0.jar, objenesis-2.2.jar

另:
Simplifier和StopFilter,如需要正常执行,需要在打包成jar时,将models中文件一同打包。
程序实力可是参照test中的程序。

(中科院)NLPIR (原ICTCLAS)

https://github.com/NLPIR-team/NLPIR
http://ictclas.nlpir.org/

分词标注、实体抽取、词频统计、关键词提取、Word2vec、文本分类、情感分析、依存文法、繁简编码转换、自动注音、摘要提取

斯坦福 Stanford CoreNLP(多语言)

https://nlp.stanford.edu/software/

snownlp

2.英文
Apache OpenNLP:一种机器学习工具包,提供标记器,句子分段,词性标注,命名实体提取,分块,解析,共参考解析等等。

自然语言工具包(NLTK):提供用于处理文本,分类,标记化,词法分析,标记,解析等模块的Python库。
TextBlob,一个用户友好且直观的NLTK界面

lingpipe

Gensim,一个文件相似性分析的库

SpaCy,为性能而建的一个工业强度的NLP库

polyglot

PyNLP

crfsuite{
A fast implementation of Conditional Random Fields (CRFs):
Fast training and tagging
}c++/python

FNLP{综合性工具
信息检索: 文本分类 新闻聚类
中文处理: 中文分词 词性标注 实体名识别 关键词抽取 依存句法分析 时间短语识别
结构化学习: 在线学习 层次分类 聚类
}

开源中文近义词工具包:huyingxi/Synonyms

参考文献:https://www.aliyun.com/jiaocheng/526469.html
NLP中文分词工具比较 https://blog.csdn.net/gdh756462786/article/details/79102642
目前常用的自然语言处理开源项目/开发包有哪些?https://www.zhihu.com/question/19929473

博客

我爱自然语言处理  http://www.52nlp.cn

码农场  http://www.hankcs.com/nlp/

情感分析

腾讯情感分析https://ai.qq.com/doc/nlpemo.shtml

工具

1.图悦:在线词频分析工具、词云制作工具,还可以自定义词云的形状。

网址:http://www.picdata.cn/

2.新浪微舆情:全网事件分析(基于关键词设置,实时抓取全网跟关键词有关的信息)、基用户画像分析(在竞品分析和微博传播路径分析中基于用户兴趣标签和微博发言所得)。

网址:http://wyq.sina.com

  1. 腾讯文智:词法类分析(把句子拆解成词语进行词性标注,如名词、动词、形容词等)、句法类分析(对句子的词性分析基础上,继续分析主、谓、宾、定、状、补的句子结构)、篇章类分类(有内容分类、情感分析、关键字分析,以及对全文摘要的提取分析)

网址:http://nlp.qq.com/semantic.cgi

  1. 大数据搜索与挖掘平台:功能模块较全,文本分析一条龙服务,包括分词标注、实体抽取、词频统计、文本分类、情感分析、关键词提取、相关词分析、依存文法、简繁转换、自动注音和摘要提取等。

网址:http://ictclas.nlpir.org/nlpir/

  1. Linguakit:不仅能够提取关键词,还能实现文本翻译、词频统计、词云图和文本情感分析等功能。

网址:https://linguakit.com/en/?utm_campaign=elearningindustry.com

微博情感分析

国外已经有相关微博情感检索网站:
In fact, there are already many web sites built on the Internet providing a Twitter sentiment search service, such as Tweetfeel, Twendz, and Twitter Sentiment
1 、http://en.wikipedia.org/wiki/Twitter
2、http://www.tweetfeel.com/
3、http://twendz.waggeneredstrom.com/
4、http://twittersentiment.appspot.com/

(1)长度:微博的长度限制在140个字符,相比于传统的评论,长度相差很大,根据收集到的语料统计,平均长度为40个字符;正是因为长度有限制,所以微博中网民的观点更容易理解。

(2)数据易获取性:数据获取相对更加容易,当前大部分微博都提供API,可以很方便地获取大量的数据。

(3)特有的语言风格:微博信息的来源是多样的,网民可以通过手机、客户端、插件多种形式发布信息,所以相比于传统的博客以及产品评论来说,微博的语言更多地会出现一些新兴的词语,或者是错误的拼写、俚语、缩写。

(4)信息多样性:微博中的信息来自不同领域,网民可以针对产品发表评论,也可以针对当前热点事件发表评论,所以从微博中可以获取不同领域的信息。当前大部分微博都提供关键词搜索功能,可以根据相关领域关键词搜索相关的信息。

(5)实时性:发布微博的渠道多种多样,网民随时随地都可以将自己的观点发布到微博,所以微博的实时性相比于传统的评论更加及时,这对于那些对时间要求更高的应用无疑是一个更加合适的信息来源。

从上面分析的特点来看,将微博作为评论来源进行情感分类的研究是十分有意义的。目前,国内外相关的研究相对较少,国外一些学者对twitter进行了情感分类的相关研究;针对中文微博的研究当前十分缺乏

坚持原创技术分享,您的支持将鼓励我继续创作!