/HEASTAO-RE

一次简单的关系抽取尝试

Primary LanguageJupyter Notebook

三元组抽取:SemEval2010关系抽取+NER

一个简单的三元组抽取小demo

运行环境

  • python 3.x
  • nltk
  • sklearn 0.21.3

运行方式

git clone https://github.com/Heatao/HEASTAO-RE.git

运行demo

python KE_DEMO.py

用bert做分类

建议在colab运行ipynb

具体查看bert_ER中的readme

bert代码源自王树义老师的封装

实现过程

Demo由两部分组成,命名实体识别和关系抽取,命名实体识别直接调用nltk.chunk.ne_chunk得到实体再经过简单的处理,关系抽取在SemEval2010数据集下是一个10分类任务,这里采用了bert的分类,svm+glove和svm+ifidf的分类。

  • 界面采用pyqt

  • NER是调用的nltk

  • 基本的关系分类是采用tfidf+svm

结果

  • 用tfidf+svm的f1值约为0.42
  • 用bert的f1约为0.84

结果图

example

bug

如果遇到模型不匹配的问题,可以重新训练tfidf_svm