NLP、KG相关软件、工具、资源汇总

2020 年 7 月 8 日 AINLP


俗话说:工欲善其事,必先利其器。在学习和工作中,选择一套合适的工具、框架能够事半功倍。这里收集了NLP、KG领域目前常用的软件、工具和一些资源,方便大家按照需求选用。



  NLP相关软件、工具、资源  


中文



nlpir(https://github.com/NLPIR-team/NLPIR):主要功能包括中文分词;英文分词;词性标注;命名实体识别;新词识别;关键词提取;支持用户专业词典与微博分析。



ltp(https://github.com/HIT-SCIR/ltp): 由哈工大团队开源,其提供了一系列中文自然语言处理工具,用户可以使用这些工具对于中文文本进行分词、词性标注、句法分析等等工作。新版LTP采用原生Python实现,仅需运行 pip install ltp 即可安装使用。



hanlp(https://github.com/hankcs/HanLP):面向生产环境的多语种自然语言处理工具包,基于 TensorFlow 2.0,目标是普及落地最前沿的NLP技术。功能包括:中文分词、词性标注、命名实体识别、依存句法分析、语义依存分析、新词发现、关键词短语提取、自动摘要、文本分类聚类、拼音简繁转换等



jieba(https://github.com/fxsjy/jieba):应该是应用最广泛的一个中文分词工具了。还支持自定义词典,关键词提取,词性标注。



UER-py (https://github.com/dbiir/UER-py):基于pytorch的一个预训练模型框架(在你自己的语料上训练语言模型或者finetune下游任务),也包含了一些即开即用的中文预训练模型。



fastNLP(https://github.com/fastnlp/fastNLP):复旦大学开源的一个NLP模型训练框架,基于torch。当做一个wrapper用,和后文将提到的AllenNLP类似。



fastHan (https://github.com/fastnlp/fastHan): fastHan是基于fastNLP与pytorch实现的中文自然语言处理工具,像spacy一样调用方便。其内核为基于BERT的联合模型,其在13个语料库中进行训练,可处理中文分词、词性标注、依存分析、命名实体识别四项任务。



更大规模中文语料训练得到的语言模型(https://github.com/ZhuiyiTechnology/pretrained-models):由追一科技有限公司推出的一个预训练模型合集,包含RoBERTa Tiny Small,SimBERT Base。



Synonyms(https://github.com/huyingxi/Synonyms):中文近义词工具包。



上百种预训练中文词向量(https://github.com/Embedding/Chinese-Word-Vectors):提供分别在百度百科、中文维基百科、人民日报、搜狗新闻、金融新闻、知乎问答、微博、文学作品、四库全书及综合语料上训练的词向量(300维)。


外语或多语




NTLK (Natural Language Toolkit,https://github.com/nltk/nltk):NLTK是用于构建处理自然语言数据Python程序的平台。它为超过50个语料库和词汇资源(如WordNet)提供了易于使用的接口,还提供了一套用于分类、分词、词根分析、序列标注、文本解析和语义推理的文本处理库。NLTK主要还是英文文本的处理。里面也集成了斯坦福的分词器,可用于中文分词。



TextBlob(https://github.com/sloria/TextBlob)基于NLTK和pattern构建的文本处理库,可以处理词性标注、名词短语抽取、情感分析、文本分类、翻译等任务。



SpaCy(https://github.com/explosion/spaCy):工业级的NLP工具包,同时集成了预训练模型,词向量,目前支持60多种语言的分词任务。支持TF、Pytorch、scikit-learn、Gensim等框架。其他支持的任务和功能还包括:命名实体识别、词性标注、依存分析、基于语法的分句、内置的语法和NER结果可视化模块等。



stanza(https://github.com/stanfordnlp/stanza/):斯坦福大学NLP组开源的一个python NLP处理包,也提供了接口访问Stanford CoreNLP(基于java的)。支持60多种语言的处理,包含了预训练模型。下面是其处理的流程图:










GenSim(https://github.com/RaRe-Technologies/gensim):主题建模工具,或者说是一个无监督语义建模工具。常见的用途是在一个语料上训练词向量。也支持语义相似度的计算和基于相似度的检索(需要annoy来建索引)。



fastText(https://github.com/facebookresearch/fastText/):facebook开源的一个用于训练学习文本表示或者文本分类器的轻量级库,对硬件要求不高。提供157种语言的词向量。



AllenNLP(https://github.com/allenai/allennlp,就是提出Elmo的那个团队做的):基于Pytorch框架的NLP包。方便快速搭建你自己的NLP模型及训练。可以当做一个wrapper用。



Transformers(https://github.com/huggingface/transformers):Hugging Face的明星级开源项目,主要集成了各类主流的预训练模型资源,BERT,GPT,GPT2,XLM,XLNET,RoBERTa,DistilBERT,CTRL,ALBERT,T5,ELECTRA等。Fine-tune利器。



tokenizers(https://github.com/huggingface/tokenizers):Hugging Face开源的分词工具(基于BPE和WordPiece)




fairseq(https://github.com/pytorch/fairseq):Facebook开源的一个s2s模型训练框架。其实这个框架对性能优化做得很好(各种训练trick),对性能有很高要求的朋友推荐使用这个框架(我会告诉你用单卡1080Ti能训练36层的GPT-2么)。这个repo的star没有huggingface的高,个人觉得有两个原因,一是没有怎么做PR;二是这个框架代码太解耦了,刚入门,想要在上面进行扩展,学习成本比较高。



  KG相关软件、工具、资源  


OpenKE-PyTorch(https://github.com/thunlp/OpenKE):基于pytorch开发的knowledge graph embedding训练框架,实现了RESCAL,DistMult,ComplEx,Analogy,TransE, TransH, TransR, TransD,SimplE和RotatE编码算法。



LibKGE(https://github.com/uma-pi1/kge):用于复现knowledge graph embedding的一个包,基于pytorch。目前提供了RESCAL,TransE,DistMult,ComplEx,ConvE等算法的实现。



Protege(https://protege.stanford.edu/):斯坦福大学开源的本体编辑框架,自带可视化界面。(windows 5.5.0 下载地址https://pan.baidu.com/s/1J_5eP_RKFv9qZrYPeBKUow

提取码:8bz6)



Apache Jena (https://jena.apache.org/):基于java的开源语义网框架。集成了存储(TDB),推理和网络访问服务(Fuseki)。(3.15.0下载地址

链接:https://pan.baidu.com/s/1wgJ1EmUCx1sf-WzBDdOP8A 提取码:yp8c)



目前就整理了这么多,如果各位还有什么比较推荐的工具,也可以联系我,不定期更新。希望对大家有一定帮助。


推荐阅读

这个NLP工具,玩得根本停不下来

征稿启示| 200元稿费+5000DBC(价值20个小时GPU算力)

文本自动摘要任务的“不完全”心得总结番外篇——submodular函数优化

Node2Vec 论文+代码笔记

模型压缩实践收尾篇——模型蒸馏以及其他一些技巧实践小结

中文命名实体识别工具(NER)哪家强?

学自然语言处理,其实更应该学好英语

斯坦福大学NLP组Python深度学习自然语言处理工具Stanza试用

关于AINLP

AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。


阅读至此了,分享、点赞、在看三选一吧🙏


登录查看更多
8

相关内容

将一个汉字序列切分成一个一个单独的词
商业数据分析,39页ppt
专知会员服务
157+阅读 · 2020年6月2日
【北航】面向自然语言处理的预训练技术研究综述
专知会员服务
111+阅读 · 2020年4月23日
17篇知识图谱Knowledge Graphs论文 @AAAI2020
专知会员服务
168+阅读 · 2020年2月13日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
173+阅读 · 2020年1月1日
TensorFlow 2.0 学习资源汇总
专知会员服务
66+阅读 · 2019年10月9日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
38+阅读 · 2019年10月9日
最新BERT相关论文清单,BERT-related Papers
专知会员服务
52+阅读 · 2019年9月29日
最全中文自然语言处理数据集、平台和工具整理
深度学习与NLP
34+阅读 · 2019年6月22日
中文自然语言处理相关资料集合指南
专知
18+阅读 · 2019年3月10日
Jiagu:中文深度学习自然语言处理工具
AINLP
90+阅读 · 2019年2月20日
Python 自然语言处理(NLP)工具库汇总
数据挖掘入门与实战
7+阅读 · 2017年9月25日
聊天机器人资料汇总
我爱机器学习
29+阅读 · 2016年12月14日
Arxiv
20+阅读 · 2019年9月7日
Arxiv
8+阅读 · 2019年3月28日
Arxiv
22+阅读 · 2018年8月30日
Arxiv
3+阅读 · 2018年5月28日
VIP会员
相关VIP内容
商业数据分析,39页ppt
专知会员服务
157+阅读 · 2020年6月2日
【北航】面向自然语言处理的预训练技术研究综述
专知会员服务
111+阅读 · 2020年4月23日
17篇知识图谱Knowledge Graphs论文 @AAAI2020
专知会员服务
168+阅读 · 2020年2月13日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
173+阅读 · 2020年1月1日
TensorFlow 2.0 学习资源汇总
专知会员服务
66+阅读 · 2019年10月9日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
38+阅读 · 2019年10月9日
最新BERT相关论文清单,BERT-related Papers
专知会员服务
52+阅读 · 2019年9月29日
相关资讯
最全中文自然语言处理数据集、平台和工具整理
深度学习与NLP
34+阅读 · 2019年6月22日
中文自然语言处理相关资料集合指南
专知
18+阅读 · 2019年3月10日
Jiagu:中文深度学习自然语言处理工具
AINLP
90+阅读 · 2019年2月20日
Python 自然语言处理(NLP)工具库汇总
数据挖掘入门与实战
7+阅读 · 2017年9月25日
聊天机器人资料汇总
我爱机器学习
29+阅读 · 2016年12月14日
Top
微信扫码咨询专知VIP会员