葡萄籽的功效斯坦福IntroductiontoNLP:第⼗讲关系抽取
最近需要调研NLP中的关系抽取任务
找了⼀篇RE的综述,关于早期研究的介绍较为笼统,因此找到斯坦福的⾃然语⾔处理⼊门课程学习。
课程是2012年的,⽐较早,正好学习⼀下早期的RE模型。
看视频的过程中参考了这篇博客:
相关资源:工商管理学士
1. 简介
关系抽取⼀般是指抽取关系三元组(Resource Description Framework (RDF) triples)⽽不是抽取复杂关系。
为什么进⾏关系抽取?
创建新的关系型知识库(knowledge bas)
增强⽬前的知识库(knowledge bas)
⽀持问题回答(question answering)
下⾯是⼀个QA的例⼦
The granddaughter of which actor starred in the movie “E.T.”?
(acted-in ?x “E.T.”)(is-a ?y actor)(granddaughter-of ?x ?y)
要回答“哪个演员的孙⼥参演了E.T?”这个问题,需要提取以下三个三元组:
(acted-in ?x “E.T.”) // 谁参演了“E.T.”?
(is-a ?y actor) // 谁是⼀个演员?
(granddaughter-of ?x ?y) // 谁是谁的孙⼥?
下⾯是关系抽取任务中⼀些常见的关系:
那么如何进⾏关系抽取呢?
在使⽤神经⽹络之前,主要有
1. ⼈⼯定义模式(Hand-written patterns)
2. 监督机器学习(Supervid machine learning)
3. 半监督机器学习(Semi-supervid and unsupervid)
1. Bootstrapping (using eds)
2. 远程监督(Distant supervision)
3. Unsupervid learning from the web
2. 利⽤模式(pattern)进⾏关系抽取2.1 抽取IS-A relations的规则
举个例⼦,"A, such as B"中"such as"这个短语就表名了A与B之间存在这个类与实例的包含关系。
开天辟地造句(Hearst, 1992): Automatic Acquisition of Hyponyms
产品开发设计
2.2 利⽤规则抽取更丰富的关系
主要思想:特定关系会发⽣在特定实体之间,如:
ocated-in (ORGANIZATION, LOCATION)
高情商进群打招呼开头语founded (PERSON, ORGANIZATION)
cures (DRUG, DISEASE)
所以使⽤命名实体标签(named entity tag)来帮助我们进⾏关系抽取。
2个特定实体间的关系是可列举的
⽐如“药物”实体与“疾病”实体之间的关系可能是“治愈”,“预防”,“导致”等等
但⼈和组织这两个实体之间的关系,就不太可能是“治愈”。
⽐如说谁在什么组织担任什么职务?⼿动列举出所有可能的句式
2.3 总结
优点+
⼈⼯模式的准确度更⾼(high precsion)
可以根据特定领域进⾏修改
缺点-
⼈⼯模式的召回率(recall)很低
需要考虑所有可能的模式,⼯作量很⼤
不可能对所有的关系都使⽤这种⽅法
3. 使⽤监督学习的⽅法
3.1 训练流程
电子邮件地址大全选择⼀组要提取的关系
选择⼀组相关的命名实体
查找和标记数据
选择⼀个有代表性的语料库
标注语料库中的命名实体
用连也造句
⼿⼯标注这些实体之间的关系
进⼊training、development和test阶段
在训练集中训练分类器
找到⼀句话中所有的命名实体
走好运
判断两个实体是否相关
如果是的话,就对关系进⾏分类
为什么训练了两个分类器?
因为第⼀步分类(判断实体是否相关)会排除⼤部分的⽆效对,可以加速分类的训练可以为每个任务使⽤合适的特征集
3.2 构建⽤于关系抽取的词特征
以下⾯这句话为例,来提取特征。