基于上下文词向量和主题模型的实体消歧方法
摘要
传统词向量训练模型仅考虑词共现而未考虑词序,语义表达能力弱。此外,现有实体消歧方法没有考虑实体的局部特征。综合实体的全局特征和局部特征,该文提出一种基于上下文词向量和主题模型的实体消歧方法。首先在传统词向量模型上增加上下文方向向量,用于表征语序,并利用该模型与主题模型训练主题词向量;其次,分别计算实体上下文相似度、基于实体上下文主题的类别主题相似度以及基于主题词向量的实体主题相似度;最后,融合三种相似度,选择相似度最高的实体作为最终消歧实体。
关键词:上下文词向量;实体消歧;知识库;主题词向量;主题模型
相关工作
- 基于机器学习的方法
核心:计算实体之间的相似度,在此基础上选择特定实体提及的目标实体
1.利用实体统计信息、名字统计信息进行目标实体消歧
2.利用百科数据作为背景知识,通过百科知识辅助消歧
3.考虑到一段文本中实体之间的相互关联,提出全局推理算法寻找全局最优决策
4.对实体流行语义关联度等特征进行特征组合,利用最大间隔算法计算各个特征的权重,进而通度、过排序算法完成对实体的消岐
5.半监督算法、远距离监督算法、基于海量数据冗余性的自学习方法可以从一定程度上解决语料标注问题
- 基于深度学习的方法
核心:构建多类型、多模态上下文及知识的统一表示,并对多源信息、多源文本之间的联系进行建模。
1.在原有的神经网络语言模型的基础上,加入卷积神经网络模型,较大程度上改进了实体消歧的效果
2.提出多源异构证据的向量表示学习方法,对不同来源知识库中的知识进行统一空间的表示,进而完成实体消歧。
3.提出对证据信息进行向量表示,基于表示向量学习不同证据之间的相似度,继而进行相似度融合,最终完成实体消歧
4.利用Skip-Gram模型进行词向量训练,并利用词向量进行相似度计算,实现实体链接与消歧
5.提出将待消歧实体和待消歧实体上下文语境映射到同一个空间,基于概率空间模型,根据实体的空间向量进行消歧
6.利用Skip-Gram模型进行词向量训练,并基于微博的短文本特征提出语义分类的方法,完成实体消歧
基于机器学习的方法需要借助丰富的标注语料完成实体消歧,基于深度学习的方法需要借助性能良好的消歧模型完成实体消歧
目前实体消歧存在两个问题:
1.由于传统的有监督机器学习算法需要大量的标注语料,而现有的标注语料难以满足实体消歧的需求。
词向量训练模型使用无标注的文本作为输入数据,将词组表征成低维的向量表示,可以有效解决缺少标注语料的问题。然而,传统词向量模型由于缺少对上下文语序等必要因素的考虑,导致词向量的语义表征能力不强,需要进一步改进。
2.在实体消歧的过程中,目前主流方法选用上下文语义特征、实体流行度特征、实体关联度特征等进行命名实体消歧。上述特征均是从实体背景文档的全局特征出发,计算待消歧实体和候选实体之间的相似度,没有考虑实体的局部特征。
潜在狄利 克雷分布(latent dirichlet allocation,LDA)主题模 型可以获取实体背景文档的主题信息,将其结合词 向量技术生成主题词向量,可以对背景文档的局部 主题特征进行表征,较好地解决传统模型仅考虑实 体全局特征的缺陷。
三部分:上下文词向量模型训练、候选实体生成、实体消歧
1.为解决传统词向量模型仅考虑词共现特征导致的语义表达能力不强的问题,在原有的Skip-Gram模型的基础上增加表征上下文语序的方向向量,利用无标注语料训练词向量模型,将每个词表示为n维的向量;
2.获得实体指称项的背景文档,获得候选实体在知识库中存储的背景知识,并使用上述词向量模型,将二者均表征为向量形式,针对实体的全局特征,分别计算上下文相似度和类别主题相似度
3.基于词向量模型以及LDA主题模型,结合文档的主题特征,训练主题词向量,针对实体的局部特征,进行实体主题相似度计算
4.按照一定比例融合三种相似度特征,得到待消歧实体与候选实体的最终相似度,选取相似度最高的候选实体作为待消歧的最终实体
针对实体的全局特征,本文采用实体上下文相似度和实体主题类别相似度描述;针对实体的局部特征,本文采用基于主题词向量的主题相似度描述
基于上下文的词向量模型训练
在Skip-Gram模型的基础上加入方向向量来表达语序,上下文词向量模型携带更多的语义信息。
- 定义预测上下文词的概率函数,用于计算当前输入词$t$与上下文词$t+i$之间的共现概率,其定义如下:
$V$ : 语料中词语的个数
$w_t$ : 词语$t$的词嵌入
$w’_t$ : 表示词语$t+i$的词嵌入
$w,w’$ : 分别表示输入词嵌入与输出词嵌入
- 定义softmax函数$g(t+i,t)$度量上下文词$t+i$与输入单词$t$之间的词序关联,softmax函数$g(t+i,t)$的定义如下:
$\delta$ : 表示任意上下文词$t+i$相对于$t$的方向向量
借助负采样的原理,每次让一个训练样本仅更新一部分权重,所以函数$g(t+i,t)$的更新如下:
$\sigma$ : 表示sigmoid函数
$\mu$ : 表示学习率
$H$ : 表示当前词与上下文词的方向标签
- 定义基于上下文词向量模型的目标函数$L_{DSG}$
$c$ : 表示词向量的窗口大小$f(w_{t+i},w_t) = p(w_{t+i}|w_t)+g(w_{t+i},w_t)$
- 根据目标函数,使用费随机梯度下降和反向传播算法来优化模型。
候选实体生成
候选实体借助 zhishi.me百科数据获取。
维基百科可以提供构建候选实体有用的特征信息,但是维基百科中部分中文实体存在更新不及时的问题。zhishi.me综合了维基百科、百度百科以及互动百科。
候选实体生成步骤:
获取待消歧实体的背景文本,分词、去停用词后
根据训练的词向量模型,将处理的结果进行词向量表征,得到待消歧实体的上下文语境。
3.根据zhishi.me的离线数据,获得候选实体在知识库存储的摘要及全文信息,进行数据预处理,并使用上下文语境
4.通过对处理好的向量进行余弦相似度计算,确定实体指称项和候选实体的实体上下文相似度
$E(entity)=\{word_1,word_2,…,word_k\}$ :实体指称项上下文表示
$w(word_i)=\{w_1,w_2,…,w_n\}$ : 训练好的词向量模型将文本进行词向量表示
$n$ : 表示词向量的维度
$word_i$ :表示第$i$个上下文词语
$E(entity’)=\{word’_1,word’_2,…,word’_m\}$ : 通过在知识库中获得实体的摘要和全文信息,同样使用词向量训练模型进行向量化操作的向量表示
$w(word’_j)=\{w_1,w_2,…,w_n\}$ : 训练好的词向量模型将文本进行词向量表示
余弦相似度计算候选实体与指称项的上下文相似度,余弦值越大,相似度越高,公式如下:
基于实体上下文主题的类别主题相似度
实体主题 :表示实体语义的相关性,主题就是词语的条件概率分布
主题和类别在一定程度上所包含的语义信息是相似的,将实体主题信息与实体对应的类别信息进行语义相似度计算,类别主题的相似度就是计算通过主题模型获取的上下文主题以及知识库中实体对应类别之间的相似度。
基于实体上下文主题的类别主题相似度计算步骤:
1.对待消歧实体的背景文档进行预处理。预处理后,获取所有预处理的名词类词语,使用LDA主题模型获取待消歧实体上下文的主题,通过实验选取适当的主题个数作为待消歧实体的主题特征
2.每个实体在知识库中都有对应的类别信息,获取知识库中候选实体的类别信息
3.使用余弦相似度计算公式计算每个主题词与类别词之间的距离,计算$x$个待消歧实体主题与候选实体$y$个类别的相似度$sim’_y(x)$,选取相似度最大的项作为基于实体上下文主题的类别主题相似度
基于主题词向量的实体主题相似度
在实体消歧过程中,由于实体的名称可能存在一词多义的情况,所以实体的含义不能仅通过整个文档的主题来表达。针对此问题,本文融合词义信息及主题信息,提出在同一个语义向量空间中,使用嵌入表示的方法学习主题表示的主题词向量
主题词向量模型:主题词是指以特定主题为背景的词,基本思想是允许每个词在不同的主题下有不同的嵌入向量
主题词向量采用“主题-词”序列的训练方式,将主题和词共同表示为低维的向量,每个词语携带的主题信息更能表达该词语的语境。
基于主题词向量的相似度计算:主题词向量训练以及相似度计算
(1)对待消歧实体和候选实体的背景文档进行数据预处理,包括中文分词和去停用词
(2)使用LDA主题模型对文档的上下文语境进行主题建模,获取每个词语对应的主题词
(3)基于训练的词向量模型,将主题融入基于上下文词向量模型中。然后基于上下文主题词向量,通过给定当前词$t$和当前词的主题$z_t$,预测上下文主题词
(4)主题词向量模型的训练,通过设置投影矩阵,将主题和词语嵌入同一个语义空间,并定义目标函数$L(D)$
(5)使用余弦相似度计算基于主题词向量的主题相似度。
$tw=\{tw_1,…,tw_k\}$ : 实体指称项的背景文档对应的主题词向量
$tw’=\{tw’_1,…,tw’_m\}$ : 实体候选项的背景文档对应的主题词向量
三种相似度特征之间的比较
相似度融合
$$sim(entity,entity’)=\alpha sim_1(entity,entity’)+\beta sim_2(entity,entity’)+\gamma sim_3(entity,entity’)$$
$sim_1(entity,entity’)$ : 实体上下文相似度
$sim_2(entity,entity’)$ : 类别主题相似度
$sim_3(entity,entity’)$ : 实体主题相似度
$\alpha+\beta+\gamma=1$
若没有本文 Issue,您可以使用 Comment 模版新建。