java中文分词工具_NLP、KG相关工具资源都在这里

以下文章来源于尘世美小茶馆,作者尘世美

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

NLP相关软件、工具、资源

中文

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

https://github.com/NLPIR-team/NLPIR​github.com

bc4f7fe932539066543ce74d8621e576.png

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

https://github.com/HIT-SCIR/ltp​github.com

bc4f7fe932539066543ce74d8621e576.png

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

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

bc4f7fe932539066543ce74d8621e576.png

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

https://github.com/fxsjy/jieba​github.com

02acbad298879ac01a531f669da44baa.png

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

https://github.com/dbiir/UER-py​github.com

02acbad298879ac01a531f669da44baa.png

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

https://github.com/fastnlp/fastNLP​github.com

02acbad298879ac01a531f669da44baa.png

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

https://github.com/fastnlp/fastHan​github.com

02acbad298879ac01a531f669da44baa.png

更大规模中文语料训练得到的语言模型:由追一科技有限公司推出的一个预训练模型合集,包含RoBERTa Tiny Small,SimBERT Base。

https://github.com/ZhuiyiTechnology/pretrained-models​github.com

02acbad298879ac01a531f669da44baa.png

Synonyms:中文近义词工具包。

https://github.com/huyingxi/Synonyms​github.com

02acbad298879ac01a531f669da44baa.png

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

https://github.com/Embedding/Chinese-Word-Vectors​github.com

外语或多语

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

https://github.com/nltk/nltk​github.com

02acbad298879ac01a531f669da44baa.png

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

https://github.com/sloria/TextBlob​github.com

02acbad298879ac01a531f669da44baa.png

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

https://github.com/explosion/spaCy​github.com

02acbad298879ac01a531f669da44baa.png

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

https://github.com/stanfordnlp/stanza/​github.com

02acbad298879ac01a531f669da44baa.png

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

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

02acbad298879ac01a531f669da44baa.png

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

facebookresearch/fastText​github.com
34f824c216456f12659833370a2a2eb1.png

02acbad298879ac01a531f669da44baa.png

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

https://github.com/allenai/allennlp​github.com

02acbad298879ac01a531f669da44baa.png

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

https://github.com/huggingface/transformers​github.com

02acbad298879ac01a531f669da44baa.png

tokenizers:Hugging Face开源的分词工具(基于BPE和WordPiece)

https://github.com/huggingface/tokenizers​github.com

02acbad298879ac01a531f669da44baa.png

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

https://github.com/pytorch/fairseq​github.com

KG相关工具资源

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

https://github.com/thunlp/OpenKE​github.com

02acbad298879ac01a531f669da44baa.png

LibKGE:用于复现knowledge graph embedding的一个包,基于pytorch。目前提供了RESCAL,TransE,DistMult,ComplEx,ConvE等算法的实现。

https://github.com/uma-pi1/kge​github.com

02acbad298879ac01a531f669da44baa.png

Protege:斯坦福大学开源的本体编辑框架,自带可视化界面。

https://protege.stanford.edu/​protege.stanford.edu

(下载地址:https://pan.baidu.com/s/1J_5eP_RKFv9qZrYPeBKUow 提取码:8bz6)

02acbad298879ac01a531f669da44baa.png

Apache Jena :基于java的开源语义网框架。集成了存储(TDB),推理和网络访问服务(Fuseki)。

Apache Jena -​jena.apache.org

(下载地址:https://pan.baidu.com/s/1wgJ1EmUCx1sf-WzBDdOP8A 提取码:yp8c)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值