ITPub博客

干货 | NLP、知识图谱、教程、书籍、网站、工具...

自然语言 作者:FMI飞马网 时间:2018-08-21 13:24:32 0 删除 编辑

[ 导读 ] 本文整理了这份关于 NLP 与知识图谱的参考资源,涵盖内容与形式也是非常丰富。




NLP参考资源


自然语言处理(Natural Language Processing)是深度学习的主要应用领域之一。


1. 教程




2. 书籍


注:

Steven Bird ,爱丁堡大学博士,墨尔本大学副教授。 
stevenbird.net/about.ht
Ewan Klein, 苏格兰人,哥伦比亚大学博士(1978年),爱丁堡大学教授。
Edward Loper, 宾夕法尼亚大学博士。



3. 网站



4. 工具


  • Natural Language Toolkit(NLTK)
    官网: nltk.org/
    可使用nltk.download()下载相关nltk官方提供的各种资源。

参考:
cnblogs.com/baiboy/p/nl





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


安装指令:
pip install --upgrade gensim


GitHub 地址:
github.com/RaRe-Technol

参考学习:
情感分析的新方法——基于Word2Vec /Doc2Vec/Python
open-open.com/lib/view/


Gensim Word2vec使用教程
blog.csdn.net/Star_Bob/



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


参考:

jiqizhixin.com/article/

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



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




作者blog:
hankcs.com/


Github:
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开发。
    allennlp.org/

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



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


Github:
github.com/NLPchina


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





  • 词性标注
    ICTPOS3.0汉语词性标记集
    jacoxu.com/ictpos3-0%E6

  • 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估计没有这么有效了:



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

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

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


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



知识图谱参考资源


原文链接:https://mp.weixin.qq.com/s/GRlnkeCNdlsCkYHVs1RmGQ

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31548982/viewspace-2212455/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-08-14

  • 博文量
    23
  • 访问量
    7323