笔记:关系抽取算法之Snowball

2022-04-27 00:00:00 规则 文本 生成 实体 抽取

信息抽取指的是从非结构化文本中提取结构化信息的一类技术。定义为:从自然语言文本中抽取指定类型的实体、关系、事件等事实信息,并形成结构化数据输出的文本处理技术。
信息抽取肯定离不开命名实体识别(NER)和关系抽取,这里就主要说一下关系抽取中的一种算法Snowball。
说到Snowball,我们先从Bootstrap说起,Bootstrap是一种基于半监督和无监督的算法,我们看看他的原理:
 

可以看到他的工作原理是根据已知的seed库创建规则库,然后拿着规则遍历文本,一旦出现符合规则的实体就生成tuple并入seed库。但是它存在一个致命的缺点,一旦错误的规则生成会发生传递且不会消失,导致准确率越来越低。
而Sonwball算法在此基础上进行了改进,我们来看看它是什么原理:
 

这就是Sonwball的原理,我们看一看它每一步是怎么实现的,我们分成4部分。

①、生成规则库的方法
给定文本按照:L + 实体类别 + M + 实体类别 + R 的模板生成规则

(这里取0.58是为了计算相似度的时候分母为1)
因为有些模板相似,后期可以用K-means、谱聚类、层次聚类进行聚类,聚类后每一类求平均值取出一个代表性模板。

②、生成tuple的方法
给定文本与规则库中的每个规则计算相似度,相似度大于阈值的入tuple库

③、评估规则方法
用某条规则提取文本生成tuple库,对比seed库,得分大于阈值保留,小于则删除。

④、过滤
可以用规则库得分对tuple进行过滤


原文链接:https://blog.csdn.net/weixin_46249816/article/details/105754292

相关文章