上一节说了手工建立模式的过程,以及其优缺点,这一节该讲更通用的监督学习了。
教授首先提到在监督学习中判断实体关系时往往采用两个分类器,第一个用于判断两个实体(entity pairs)是否有任何可能存在的关系(whatever related),一个完全的二元分类。然后再对确实存在关系的实体对进行处理,找出特征训练等。
这样做的原因在于:
绝大多数实体对都是没有任何关系存在的,这样分开可以提高分类器的速度。
假如我们依旧采用ACE定义的那些关系:
那么给出这样的一个例句,实体之间可能存在的关系就是上述那17种:
值得说明的是,命名实体识别是关系的抽取的前续步骤,因为实体的类别是进行关系抽取的一个重要特征,下面来看看关系抽取常用的特征有哪些:
词的特征
包括涉及的实体本身,以及他们前面的词或者后面的词
headwords就是词的首部,譬如American Airline这个词的首部就是Airline,和中文是相反的
bags of words就是这两个实体本身包含的单个词和二元词(bigram)
M2:-1就是句子中M2(Tim Wagner)前面的一个词,+1同理
夹在两个实体中间的字符串
实体类型及等级特征
实体的类型,人名等
将两者的类型连接起来,无非也是为了把信息结构化
看实体是Name还是名词还是代词
句子的解析特征
后面的章节会仔细阐述。这里略过。
Gazetteer和trigger词特征
这个有点模式的意思。
综合所有这些特征:
评估
监督学习尤其适用于训练集和测试集是同一类别的东西的情况,如果这两个相差甚远,譬如语法都不同,那就要靠非监督学习或者无监督学习了。
监督学习虽然精准,但是标记海量的训练数据实在是麻烦,这也是清华的NLP实验室常年招收大量实习生的原因。