摘要:
提出利用从web结构化数据中自动挖掘语义知识来增强WRL(词表示学习)。首先构造一个语义相似度图,即语义知识,它是基于从web上提取的大量语义列表,使用几种预定义的HTML标记模式。然后提出了一种有效的联合词表示学习模型,从语义知识和文本语料库中获取语义。
背景
分布式单词表示提高了许多NLP应用程序的性能,主要是因为它们能够从文本序列集合中捕获语义规则。许多研究工作试图从语义的角度利用语义词汇来加强词汇表征学习(WRL)。语义词典可以看作是一个列表集合,每个列表由语义相关的词组成。一些现有的工作通过后处理模型将同义词向量拉近。或同义词之间的距离作为正则化因子的联合表征学习模型。最近,许多人工精心设计的语义关系或语言学家的结构,如同义词和反义词,概念趋同和词汇分歧,被用来增强单词的语义。
问题
然而,应该指出的是,大多数现有模型可能有局限性,因为它们要求高质量,人工创造的,语义词汇或语言结构。即使是像WordNet这样的高质量语义资源,覆盖范围也可能相当有限。以英语WordNet为例,它只包含155K个单词,用176K个语法集组织起来,与训练数据中的大词汇量相比,这是相当小的。Vuli’c等人。(2018)和Glavaˇs和Vuli´c(2018)部分解决了这一问题,首先设计了一个映射函数来学习所见单词的专门化过程,然后将所学函数应用于语义词汇中的看不到的单词。不幸的是,他们的方法仍然依赖于来自人工创建的资源的语言限制。因此,我们应该利用能够自动构建的词汇覆盖率相对较高的语义资源。
IDEA
使用一些预先定义的htmltag模式来大规模地从web数据中提取语义列表。然而,现有的方法无法直接使用所提取的语义列表,因为它们含有大量的噪声,而且有些列表是高度冗余的。为了解决这个问题,设计了一个相似度函数来度量每个共现词对之间的语义相关性。然后构建语义相似度图,将词表示为顶点,每条边表示对应两个顶点之间的相似度。该语义相似度图被视为web语义知识,以进一步增强WRL。
Web Semantic Knowledge Extraction
从web结构化数据中构造语义知识主要有两个步骤:
(1)语义列表抽取;
(2)相似图构造。进一步利用相似图(也称为语义知识)进行词汇表征学习。
Semantic Lists Extraction
在将HTML页面解析为DOM树之后,如果同一级别的文本节点向上到根节点的祖先是相同的,则将其提取为语义列表。
表1显示了本文中使用的HTML标记模式,其中T是提取的语义列表中的一个条目。
Similarity Graph Construction
从web上提取的语义列表并不能直接替代先前工作中使用的语义词典,因为它们可能包含太多的噪音或是高度冗余。
为了解决这个问题,设计了一个相似函数。对于每个共现词对:
其中n
i
_i
i,
a
_a
a
b
_b
b是域
i
i
i中单词
a
a
a和
b
b
b在同一列表中协同出现的次数,共有
m
m
m个域;
N
N
N是从web中提取的语义列表总数;N
a
_a
a,N
b
_b
b分别是包含单词a和b的语义列表的数量。
该函数的右侧(词根部分)考虑了单词a和b在整个语料库中的频率,这与反向文档频率(IDF)相似。对于左侧,如果一对词出现在多个网站中,且出现频率相对较高,则该词得分较高。
剪枝操作
为了保证语义资源的高质量,通过去除相似度较低的边缘来对图进行剪枝。给定一个词
a
a
a,设{b1,b2,…,bK}表示a的邻域,按相似度的降序排列。通过移除长尾邻居来获得语义相关的前k个邻居
其中,µ是0和1之间的阈值,S
a
_a
a
b
_b
b表示a和b
i
_i
i的相似性。剪枝后的相似度图被认为是高质量的语义知识,可以用来改进WRL
WRL with Semantic Knowledge
Skip-gram and Negative Sampling
Skip-gram是从文本中学习高质量单词表示的一种有效方法。SG的目标是学习能够准确预测给定单词周围单词的单词表示。给定一系列单词w
1
_1
1,w
2
_2
2,,w
T
_T
T,Skip-gram旨在最大化对数概率:
d是窗口大小
p(w
t
_t
t
+
_+
+
j
_j
j | w
t
_t
t)是上下文词w
t
_t
t
+
_+
+
j
_j
j在目标词w
t
_t
t上的条件的预测概率,由softmax函数定义:
其中,u
t
_t
t和v
c
_c
c分别是单词w
t
_t
t和w
c
_c
c的“输入”和“输出”向量表示。|V |是词汇表中的单词数。输入嵌入通常表示原始单词嵌入,而输出嵌入表示上下文中的单词。直觉上,上下文相似的词应该有相似的表示。
负采样
一般来说,词汇量很大。在整个词汇表中计算softmax函数是非常昂贵的。一种计算效率高的近似方法是负采样方法。负数采样不是在可预测空间上进行预测,而是对目标词的上下文中是否存在一个词进行二元预测。形式上,对于目标单词w
t
_t
t位置t,让窗口大小内的所有上下文单词都是正示例,并从词汇表中随机抽取否定实例。负采样的目标函数为最小化下列函数:
其中σ为sigmoid function,c
t
_t
t是目标词w
t
_t
t的上下文集,N
t
_t
t
,
_,
,
c
_c
c是从上下文词w
c
_c
c的噪声分布Pn(w)中提取的一组负样本。其中Pn(w)
其中f w _w w是单词w的频率。
方法:WESEK: Word Embedding with SemanticKnowledge
Problem formulation.
在相似度图中,把w
i
_i
i和w
j
_j
j之间的相似度得分表示为s
i
_i
i
j
_j
j。给定一个目标词w
t
_t
t,S
t
_t
t是剪枝相似图中所有对应邻域的集合。对于每个相邻词w
l
_l
l ,我们将其关联得分定义为:
从词汇表征的角度,定义w
t
_t
t和w
l
_l
l之间的语义关联得分:
目标是在语义相似度图中连接单词时,最大化所学单词表示的相似度。考虑到单词w
t
_t
t和它的邻居S
t
_t
t,我们的目标是最大化以下目标:
化简:
为了从文本和语义知识中联合学习表示,一种简单的方法是将目标引入Skip-gram模型。然而,更新目标词及其所有相邻词的表示仍然很耗时。我们提出了正采样,即不更新所有邻居的表示,而是只更新邻居的一个子集,该子集可视为正样本。给定一个目标词w
t
_t
t,考虑语义知识的关联度,从分布
中提取正样本,得到正样本集P
t
_t
t。因此,目标变为:
然后,对于训练数据中的每个目标词,目标是使以下目标函数最大化:
通过将其与原始SG模型相结合,联合目标是最大化:
实验
为了确保比较是公平的,在English Wikipedia dump(http://dumps. wikimedia. org/ enwiki/)上训练所有的嵌入。频率低于5的单词被过滤掉。训练数据有大约12亿个token,词汇量为290万。
使用表1中定义的模式从http://commoncrawl.org/中爬取大量语义列表,并过滤出训练数据词汇表中不存在的条目。条目数小于3的列表将被删除,我们只选择频率高于5的单词。然后,我们构造了语义相似度图,如第三节所述。我们通过使用等式2(剪枝)删除相似度低的边来修剪图,其中µ=0.2,即,对于每个单词,我们选择其相似度累积和至少占总和20%的最上等权邻域。当µ在0.1-0.5之间时,性能相当稳定;当其高于0.5时,性能略有下降。得到的剪枝后的相似图-语义知识-有160万个节点和830万条边(这表明语义知识对词汇的覆盖率相对较高)