NLP资源整理

参考资料:

https://blog.youkuaiyun.com/antkillerfarm/article/details/78082564

https://mp.weixin.qq.com/s/WaHv9w8BaZdwbR1gMMPAqg

 

揭开知识库问答KB-QA的面纱(知识图谱方面的系列专栏)

https://zhuanlan.zhihu.com/kb-qa

 

CIPS ATT 2017 文本分析和自然语言课程PPT

https://mp.weixin.qq.com/s/5KhTWdOk-b84DXmoVr68-A

 

一个自然语言处理爱好者的群体博客。包括52nlp、rickjin、liwei等国内外华人大牛.

http://www.52nlp.cn/

 

实战课程:自己动手做聊天机器人

http://www.shareditor.com/bloglistbytag/?tagname=%E8%87%AA%E5%B7%B1%E5%8A%A8%E6%89%8B%E5%81%9A%E8%81%8A%E5%A4%A9%E6%9C%BA%E5%99%A8%E4%BA%BA

 

NLP深度学习方面的代码库

https://github.com/rockingdingo/deepnlp

 

一个NLP方面的blog(论文+代码+笔记)

http://www.shuang0420.com/

 

一个DL+ML+NLP的blog

http://www.cnblogs.com/Determined22/

 

一个NLP资源整理的blog

https://blog.youkuaiyun.com/wangxinginnlp

 

工具

Natural Language Toolkit(NLTK)

官网:http://www.nltk.org/

可使用nltk.download()下载相关nltk官方提供的各种资源。

中文教程:http://www.cnblogs.com/baiboy/p/nltk3.html

 

OpenNLP

http://opennlp.apache.org/

 

FudanNLP

https://github.com/FudanNLP/fnlp

 

Stanford CoreNLP

http://stanfordnlp.github.io/CoreNLP/

 

THUCTC

THUCTC(THU Chinese Text Classification)是由清华大学自然语言处理实验室推出的中文文本分类工具包。

http://thuctc.thunlp.org/

 

gensim

gensim是Python语言的计算文本相似度的程序包。

http://radimrehurek.com/gensim/index.html

安装指令:

pip install --upgrade gensim

GitHub 地址:

https://github.com/RaRe-Technologies/gensim

参考学习:

情感分析的新方法——基于Word2Vec /Doc2Vec/Python

http://www.open-open.com/lib/view/open1444351655682.html

Gensim Word2vec使用教程

http://blog.youkuaiyun.com/Star_Bob/article/details/47808499

 

GloVe

GloVe:Global Vectors for Word Representation

https://nlp.stanford.edu/projects/glove/

 

textsum

textsum是一个基于深度学习的文本自动摘要工具。

代码:https://github.com/tensorflow/models/tree/master/textsum

参考:http://www.jiqizhixin.com/article/1449

谷歌开源新的TensorFlow文本自动摘要代码:TensorFlow文本摘要生成 - 基于注意力的序列到序列模型

http://blog.youkuaiyun.com/tensorflowshizhan/article/details/69230070

 

jieba

https://github.com/fxsjy/jieba

 

NLPIR:NLPIR汉语分词系统(又名ICTCLAS2013),是中科院张华平博士的作品。

http://ictclas.nlpir.org/

参考:这个网页对于NLP的大多数功能进行了可视化的展示。NLP入门必看。

http://ictclas.nlpir.org/nlpir/

 

snownlp

https://github.com/isnowfy/snownlp

 

HanLP:HanLP是一个目前留学日本的中国学生的作品

http://hanlp.linrunsoft.com/

作者blog:http://www.hankcs.com/

Github:https://github.com/hankcs/HanLP/

从作者的名气来说,HanLP无疑是最低的,性能也不见得有多好。然而对于初学者来说,这却是最适合的工具。这主要体现在以下几个方面:

1.中文处理能力。NLTK和OpenNLP对中文支持非常差,这里不光是中文分词的问题,有些NLP算法需要一定的语言模型数据,但浏览NLTK官方的模型库,基本找不到中文模型数据。

2.jieba、IK之类的功能太单一,多数局限在中文分词方面领域。gensim、THUCTC专注于NLP的某一方面,也不是通用工具。

3.NLPIR和Stanford CoreNLP算是功能最强的工具包了。前者的问题在于收费不开源,后者的问题在于缺少中文文档。FudanNLP的相关文档较少,文档友好度不如HanLP。

4.HanLP在主页上提供了相关算法的blog,便于初学者快速掌握相关概念。其词典是明文发布,便于用户修改。HanLP执行时,会将明文词典以特定结构缓存,以提高执行效率。

注:不要以为中文有分词问题,就比别的语言复杂,英文还有词根问题呢。。。每种语言都不简单。

 

AllenNLP

AllenNLP是 Allen AI实验室的作品,采用深度学习技术,基于PyTorch开发。

http://allennlp.org/

Allen AI实验室由微软联合创始人Paul G. Allen投资创立。

http://allenai.org/

 

python版的汉字转拼音软件

https://github.com/mozillazg/python-pinyin

 

Java分布式中文分词组件-word分词

https://github.com/ysc/word

 

jena是一个语义网络、知识图谱相关的软件

http://jena.apache.org/

 

NLPchina

NLPchina(中国自然语言处理开源组织)旗下有许多好用的工具。

http://www.nlpcn.org/

Github:https://github.com/NLPchina

 

Ansj

Ansj是一个NLPchina旗下的开源的Java中文分词工具,基于中科院的ictclas中文分词算法,比其他常用的开源分词工具(如mmseg4j)的分词准确率更高。

https://github.com/NLPchina/ansj_seg

 

Word2VEC_java

word2vec java版本的一个实现。

https://github.com/NLPchina/Word2VEC_java

doc2vec java版本的一个实现,基于Word2VEC_java。

https://github.com/yao8839836/doc2vec_java

 

ansj_fast_lda

LDA算法的Java包。

https://github.com/NLPchina/ansj_fast_lda

 

nlp-lang

这个项目是一个基本包.封装了大多数nlp项目中常用工具

https://github.com/NLPchina/nlp-lang

 

词性标注

ICTPOS3.0汉语词性标记集

http://jacoxu.com/ictpos3-0%E6%B1%89%E8%AF%AD%E8%AF%8D%E6%80%A7%E6%A0%87%E8%AE%B0%E9%9B%86/

 

Word Hashing

Word Hashing是非常重要的一个trick,以英文单词来说,比如good,他可以写成#good#,然后按tri-grams来进行分解为#go goo ood od#,再将这个tri-grams灌入到bag-of-word中,这种方式可以非常有效的解决vocabulary太大的问题(因为在真实的web search中vocabulary就是异常的大),另外也不会出现oov问题,因此英文单词才26个,3个字母的组合都是有限的,很容易枚举光。

那么问题就来了,这样两个不同的单词会不会产出相同的tri-grams,paper里面做了统计,说了这个冲突的概率非常的低,500K个word可以降到30k维,冲突的概率为0.0044%。

但是在中文场景下,这个Word Hashing估计没有这么有效了:

 

词汇共现

http://sewm.pku.edu.cn/TianwangLiterature/SEWM/2005(5)/%5b%b3%c2%c1%88,%20et%20al.,2005%5d/050929.pdf

词汇共现是指词汇在文档集中共同出现。以一个词为中心,可以找到一组经常与之搭配出现的词,作为它的共现词汇集。

词汇共现的其中一种用例:

有若干关键词,比如:水果、天气、风,有若干描述词,比如,很甜、晴朗、很大,然后现在要找出他们之间的搭配,在这个例子里,我们最终要找到:水果很甜、天气晴朗、风很大。

 

关键词提取

主要三种方法:1.基于统计特征,如TF-IDF;2.基于词图模型,如TextRank;3.基于主题模型,如LDA。

 

自然语言理解

Natural language understanding(NLU)属于NLP的一个分支,属于人工智能的一个部分,用来解决机器理解人类语言的问题,属于人工智能的核心难题。

http://www.shuang0420.com/2017/04/27/NLP%E7%AC%94%E8%AE%B0%20-%20NLU%E4%B9%8B%E6%84%8F%E5%9B%BE%E5%88%86%E7%B1%BB/

 

论文

《Distant Supervision for relation extraction without labeled data》

《Using Recurrent Neural Networks for Slot Filling in Spoken Language Understanding》

《Convolutional Neural Networks for Sentence Classification》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值