- Notifications
You must be signed in to change notification settings - Fork6
Jiagu深度学习自然语言处理工具 知识图谱关系抽取 中文分词 词性标注 命名实体识别 情感分析 新词发现 关键词 文本摘要 文本聚类
License
NotificationsYou must be signed in to change notification settings
bububa/jiagu
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
an NLP toolkit for Chinese.This is a golang port from theoriginal python3 liberary
Jiagu使用大规模语料训练而成。将提供中文分词、词性标注、命名实体识别、情感分析、知识图谱关系抽取、关键词抽取、文本摘要、新词发现、情感分析、文本聚类等常用自然语言处理功能。参考了各大工具优缺点制作,将Jiagu回馈给大家。
提供的功能有:
- 中文分词
- 词性标注
- 命名实体识别
- 知识图谱关系抽取
- 关键词提取
- 文本摘要
- 新词发现
- 情感分析
- 文本聚类
- 等等。。。。
原始模型文件来自python版本, 为pickle或marshal格式,需要先转换json,再转成gob后gzip压缩
- pickle/marshal模型转json (sentiment.model 为marshal格式)
python ./cmd/modelconverter/pickle2json.py pickle.model ./data/model/xxx.jsonpython ./cmd/modelconverter/marshal2json.py pickle.model ./data/model/xxx.json
- json模型文件转gob后gzip压缩
go run ./cmd/modelconverter/main.go -i ./data/model/xxx.json -o ./model/xxx.modelgo run ./cmd/modelconverter/main.go -i ./data/model/xxx.json -o ./model/xxx.model --sentiment // 仅对sentiment.model使用
- 快速上手:分词、词性标注、命名实体识别
import"github.com/bububa/jiagu"funcmain() {// jiagu.Init() // 可手动初始化,也可以动态初始化text:="厦门明天会不会下雨"words:=jiagu.Seg(text)// 分词pos:=jiagu.Pos(words)// 词性标注ner:=jiagu.Ner(words)// 命名实体识别}
- 中文分词
import"github.com/bububa/jiagu"funcmain() {text:="汉服和服装、维基图谱"words:=jiagu.Seg(text)// fd, err := os.Open("user.dict")// defer fd.Close()// jiagu.LoadUserDict(fd) # 加载自定义字典,支持字典路径、字典列表形式。jiagu.AddVocabs([]string{"汉服和服装"})words:=jiagu.Seg(text)// 自定义分词,字典分词模式有效}
- 知识图谱关系抽取
import"github.com/bububa/jiagu"funcmain() {text:= '姚明1980年9月12日出生于上海市徐汇区,祖籍江苏省苏州市吴江区震泽镇,前中国职业篮球运动员,司职中锋,现任中职联公司董事长兼总经理。'knowledge:=jiagu.Knowledge(text)}
训练数据:https://github.com/ownthink/KnowledgeGraphData
- 关键词提取
import"github.com/bububa/jiagu"funcmain() {text=` 该研究主持者之一、波士顿大学地球与环境科学系博士陈池(音)表示,“尽管中国和印度国土面积仅占全球陆地的9%,但两国为这一绿化过程贡献超过三分之一。考虑到人口过多的国家一般存在对土地过度利用的问题,这个发现令人吃惊。” NASA埃姆斯研究中心的科学家拉玛·内曼尼(Rama Nemani)说,“这一长期数据能让我们深入分析地表绿化背后的影响因素。我们一开始以为,植被增加是由于更多二氧化碳排放,导致气候更加温暖、潮湿,适宜生长。” “MODIS的数据让我们能在非常小的尺度上理解这一现象,我们发现人类活动也作出了贡献。” NASA文章介绍,在中国为全球绿化进程做出的贡献中,有42%来源于植树造林工程,对于减少土壤侵蚀、空气污染与气候变化发挥了作用。 据观察者网过往报道,2017年我国全国共完成造林736.2万公顷、森林抚育830.2万公顷。其中,天然林资源保护工程完成造林26万公顷,退耕还林工程完成造林91.2万公顷。京津风沙源治理工程完成造林18.5万公顷。三北及长江流域等重点防护林体系工程完成造林99.1万公顷。完成国家储备林建设任务68万公顷。 `keywords:=jiagu.keywords(text,5) }
- 文本摘要
import"github.com/bububa/jiagu"funcmain() {summarize:=jiagu.Summarize(text,3) #摘要}
- 新词发现
import"github.com/bububa/jiagu"funcmain() {fd,err:=os.Open("input.txt")deferfd.Close()words,err:=jiagu.Findword(fd,0,0,0)// 根据文本,利用信息熵做新词发现。}
- 情感分析
import"github.com/bububa/jiagu"funcmain() {text:="很讨厌还是个懒鬼"words:=jiagu.Seg(text)sentiment,probe:=jiagu.Sentiment(words)}
- 文本聚类
import"github.com/bububa/jiagu"funcmain() {docs:= []string {"百度深度学习中文情感分析工具Senta试用及在线测试","情感分析是自然语言处理里面一个热门话题","AI Challenger 2018 文本挖掘类竞赛相关解决方案及代码汇总","深度学习实践:从零开始做电影评论文本情感分析","BERT相关论文、文章和代码资源汇总","将不同长度的句子用BERT预训练模型编码,映射到一个固定长度的向量上","自然语言处理工具包spaCy介绍","现在可以快速测试一下spaCy的相关功能,我们以英文数据为例,spaCy目前主要支持英文和德文", }tokenizer:=func(txtstring) []string {returnjiagu.Seg(txt)}cluster:=jiagu.KmeansCluster(docs,tokenizer,4)}print(cluster)
- 词性标注说明
n 普通名词nt 时间名词nd 方位名词nl 处所名词nh 人名nhf 姓nhs 名ns 地名nn 族名ni 机构名nz 其他专名v 动词vd 趋向动词vl 联系动词vu 能愿动词a 形容词f 区别词m 数词 q 量词d 副词r 代词p 介词c 连词u 助词e 叹词o 拟声词i 习用语j 缩略语h 前接成分k 后接成分g 语素字x 非语素字w 标点符号ws 非汉字字符串wu 其他未知的符号
- 命名实体说明(采用BIO标记方式)
B-PER、I-PER 人名B-LOC、I-LOC 地名B-ORG、I-ORG 机构名
About
Jiagu深度学习自然语言处理工具 知识图谱关系抽取 中文分词 词性标注 命名实体识别 情感分析 新词发现 关键词 文本摘要 文本聚类
Topics
Resources
License
Stars
Watchers
Forks
Packages0
No packages published