ChineseNRE
中文实体关系抽取,pytorch,bilstm+attention
Install / Use
/learn @buppt/ChineseNREREADME
ChineseNRE
本项目使用
- python 2.7
- pytorch 0.4.0
中文实体关系抽取,对实体关系抽取不了解的可以先看<a href="https://blog.csdn.net/buppt/article/details/82961979">这篇文章</a>。顺便求star~
数据
中文实体关系抽取数据实在太难找了,data中是忘记在哪里找的人物关系数据集,一共11+1种关系,数据质量不太好,但也找不到其他的了。 (更新)<a href="https://github.com/buppt/ChineseNRE/issues/7">issues7</a>中 ybNero 同学分享了一份数据集,大家可以去issues中查看~
梅葆玥 梅兰芳 父母 坎坷经历梅葆玥之家庭合影1961年,梅兰芳先生病逝,葆玥、葆玖姐弟俩继承父亲的遗志,挑起了梅剧团的重担
数据格式为: 实体1 实体2 关系 句子。
虽然叫中文实体关系抽取,还是增加了一个英文数据集SemEval2010_task8,简单做了下数据处理,这是免费的公开数据集,其他的好像都要dollar了。。
训练
模型使用的是lstm+attention模型。特征使用词向量+位置向量。
训练前先运行data文件夹中的 data_util.py 文件,将数据处理成pkl文件供模型使用。
运行python train.py即可开始训练,可以在train.py文件中设置epoch、batch等参数,运行结束模型会储存到model文件夹中,可以在训练好的模型基础上继续训练。
可以运行python train.py pretrained使用预训练的词向量进行训练。vec.txt是一个训练好的词向量的例子,可以修改使用更加优秀的预训练词向量。
准确率
奈何实验室没有服务器,只能用自己电脑的cpu跑了一小部分数据,结果如下。
| 准确率 | 召回率 | F1值 | | ------ | ------ | ------ | | 64.08% | 64.59% | 64.33% |
参考
Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification
更新日志
2018-10-7 第一版,不定期进行修改与优化。
2018-10-9 添加准确率、召回率、f值的计算,将model从train.py中分离。
2018-10-10 添加SemEval2010_task8数据,以及一些小修改。
2018-10-18 增加预训练的词向量,修改bug。
Related Skills
node-connect
341.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
341.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.4kCommit, push, and open a PR
