当前位置:   article > 正文

NER--关系抽取常用算法_ner算法

ner算法

关系抽取通常的做法:

  1. 基于规则(工业大多数用)
  2. 监督学习
  3. 半监督&无监督学习
    ·Bootstrap(Snowball)
    ·Distant Supervision
    ·无监督学习

1.基于规则的方法—“is-a”

目标:找出尽可能多的拥有"is-a"关系的实体对(entity,is-a,entity)
比如文本:

  1. “…apple is a fruit…”
  2. “…fruit such as apple…”
  3. “…fruit including apple, banala…”
    基于上述文本,人为设定规则:
  4. X is a Y
  5. Y such as X
  6. Y including X
    基于人工规则,再对整个文本进行关系抽取,建立seed tuple:
实体1实体2
applefruit
banalafruit
......

·Advantages:
\quad ·比较准确
\quad ·不需要训练数据
·Drawbacks:
\quad ·low recall rate
\quad ·高人力成本,规则难以设计

2.监督学习

准备数据:
\quad ·定义实体类型
\quad ·定义关系类型
\quad ·准备训练数据:进行实体标注和关系标注
**例子:**American Airlines, a unit of AMR, immediately matched the move, spokesman Tim Wagner said.
利用NER实体识别工具来定义出实体类型:
ORG : American Airlines
PER:Tim Wagner
然后需要提取特征,将(特征(American Airlines),特征(Tim Wagner))放入分类算法。
特征提取部分可以有以下方式:
1.Bag-of-words
例如我们可以用unigram提取出(American Airlines,Tim Wagner),或者使用Bi-gram提取出(American Airlines a,Tim Wagner said)
2.pos-tagging
提取出American Airlines和Tim Wagner的词性
3.Bag-of-words feature
a ,unit, of, AMR, immediately, matched, the, move, spokesman
4.between words pos-tagging
抽取(a ,unit, of, AMR, immediately, matched, the, move, spokesman)的词性
5.head feature
(Airlines,Wagner)
6.实体类别
(ORG,PER)
7.句法分析
8.以上都是词相关的特征,还可以抽取一些位置特征:例如两个单词间有多少单词,单词是否在句子的第一位,句子在文不能中的位置等。
在特征提取完后,可以将训练数据放入LR,SVM或者神经网络模型中进行训练。

半监督学习(bootstrap/Snowball)

bootstrap
在这里插入图片描述
工作原理:根据已知的seed库建立规则库,然后根据规则遍历文本,将符合规则的实体生成tuple放入seed库。最大的缺点就是error accumulate,错误的规则生成会发生传递并且不会消失,导致准确率越来越低。

snowball
基于扼制bootstrap的错误传递机制,在生成新规则和生成新tuple时进行去冗余和过滤操作。核心方法就是<left,Entity,Mid,Entity,Right>五元组向量的相似度计算
在这里插入图片描述
算法步骤:
①、生成规则的方法
对给定文本按照:<L, T 1 T_1 T1,M, T 2 T_2 T2,R>的五元组模板生成规则 P 1 P_1 P1

将L,M,R均一化处理,计算余弦相似度时用内积即可表示 c o s < X , Y > = X ⋅ Y ∥ X ∥ ∥ Y ∥ = X ⋅ Y cos<X,Y>=\frac{X·Y}{\Vert X \Vert \Vert Y \Vert} = X·Y cos<X,Y>=XYXY=XY
模板的去冗余:模板的相似度高时,后期利用k-means,谱聚类,层次聚类进行聚类,将模板的平均值作为代表模板。
②、生成tuple的方法
给定文本与规则库的每个规则计算相似度,相似度大于阈值的入tuple库
tuple的方法

③、评估规则方法
用某条规则提取文本生成tuple库,对比seed库,得分大于阈值的保留,小于阈值则delete
在这里插入图片描述

④、过滤的方法
可以用规则库得分对tuple进行过滤
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/769375
推荐阅读
相关标签
  

闽ICP备14008679号