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进行过滤
在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值