ACTA Scientiarum Naturalium Universitatis Pekinensis
Word Sense Disambiguation Based on Domain Knowledge and Word Vector Model
YANG An1, LI Sujian1,2,†, LI Yun3
1. Key Laboratory of Computational Linguistics (Peking University), MOE, Beijing 100871; 2. Collaborative Innovation Center for Language Ability, Xuzhou 221009; 3. Institute of Linguistics, Chinese Academy of Social Sciences, Beijing 100732; † Corresponding author, E-mail: lisujian@pku.edu.cn
Abstract A WSD method is presented, using domain keywords and word vector model built from unlabelled data. The effectiveness of the proposed approach is proved, compared with other WSD methods including Lesk on evaluation corpus in environmental domain. Through employing knowledge from different fields, proposed method can be adapted into the WSD task of other domains. Key words word sense disambiguation (WSD); word vector model; domain knowledge
词义消歧(word sense disambiguation, WSD)是自然语言处理领域的重要任务之一。该任务通过对文本中多义词的义项加以明确, 旨在消除语言歧义,为人类和计算机更好地理解自然语言信息提供帮助。词义消歧任务中, 多义词语各义项的频度分布以及词语的上下文信息对于正确义项的选择至关重要。大多数词义消歧方法将上下文信息作为输入特征, 利用有监督或无监督方法完成义项选择。在有效特征的指导下, 有监督分类方法往往能取得较好的效果。
词义消歧任务通常针对生活中的通用文本(如新闻、网页等), 使用的语料库由多个领域的文本构成。然而在实际应用中, 经常需要对某一特定领
域的文本进行消歧, 这不仅对领域知识的挖掘具有重要的意义, 而且有助于领域知识库构建和专业文献自动翻译等任务。针对此问题, 最基本的思路是将一般的词义消歧方法直接应用于领域语料, 这时通用文本的特征不一定有效, 导致不能取得很好的消歧性能, 甚至由于缺少标注语料, 难以使用有监督方法[1]。这表明特定领域文本词义消歧与普通文本词义消歧存在区别, 需要采用不同的消歧方法。
与通用文本词义消歧任务相比, 特定领域文本消歧需要解决两个问题。1) 多义词义项频度分布出现变化, 各义项在特定领域文本中出现的频率与一般文本中不尽相同, 高频义项变为与领域最相关的义项[2]。如在物理学文献中, “conductor”经常以
“substance that readily conducts electricity and heat” (导体)这一普通文本中罕见的义项出现。2) 将WSD 应用于某些领域(尤其是冷门领域)时, 会出现缺少标注训练语料的问题, 在大多数应用场景中,消歧模型只能利用无标注的原始文本进行训练[3],使得采用通用文本词义标注语料的有监督分类方法难以应用到特定领域的词义消歧任务中。
1 相关工作
作为自然语言处理的一项基础性工作, 词义消歧已有比较多的相关研究。Lesk[4]提出基于比较上下文和义项含义之间重叠词语的个数进行消歧的算法, 这一无监督消歧方法在后续研究中得到改进,如引入向量相似度和语义模型等[5–6]。随着 Wordnet的不断完善, 基于其网络结构的图模型方法也用于消歧流程中, 这类消歧方法称为基于知识的方法[7]。利用向量空间模型和主题模型可以挖掘更潜在的文本语义信息, 并在语义消歧任务中得到体现, 将LSA、LDA等语义分析算法引入 WSD 后, 取得了
[8]一定的效果 。在 WSD 任务中, 有监督学习借助有标注的训练语料, 能得到较好的消歧性能, SVM作为一种有效的有监督分类器, 广泛应用于消歧算
[9–10]法的开发 。在训练语料的构建上, 通过对Brown 语料库进行词义标注, 得到的 Semcor 语料应用于很多消歧任务中。综上所述, 借助丰富的标注语料和消歧模型, 针对通用文本的词义消歧已经能够取得令人较为满意的性能表现。将词义消歧应用于特定领域文本需要解决更多
[11]的问题。Khapra 等 利用有监督方法和领域标注语料, 完成了旅游与医疗卫生领域的词义消歧, 与直接选取 Wordnet 中的最常见义项相比, 有更准确的效果。领域相关标注语料的缺乏使这类有监督方法的可迁移性大大下降。目前可用性较强的英文领域标注语料仅有医药领域的 MEDLINE 语料[12]、
[2]涉及金融与体育等领域的 koeling 语料 等。由于标注训练语料需要耗费大量人力, 大多数专业领域并没有相应的训练文本可用以辅助消歧过程。在有监督方法遇到困难时, 通过结合 Wordnet 与领域特
[3]有知识, 能够取得突破。Kulkarni 等 利用领域无标注语料对 Synset 进行筛选, 过滤掉所含词语在领域语料中全部未出现的 Synset, 以此选择与领域更相关的义项。在特定领域, 多义词各义项的频度分布具有高度的领域特异性。Magnini 等[13]提出, 多
义词语在不同领域的词义分布具有“一个领域一个词义”的特征, 即领域相关义项出现的频率远高于其他义项, 体现领域信息对义项选择的重要指导作用。本文的消歧方法借鉴了这一思路。
近年来, 深度学习神经网络在自然语言处理领域广泛应用, 将神经网络用于事件抽取、情感分析、机器翻译、问答系统等任务均收到较好的使用效果。在词义消歧领域, 深度学习主要用于生成文本的向量化表示, 即深度学习语言模型。Mikolov
[14]等 提出的 CBOW 和 skip-gram 模型分别通过训练上下文到词语以及词语到上下文的神经网络, 实现计算词向量的功能, 得到的词向量在很大程度上保留了原始词语的信息。在对词语向量化表示的同时, WSD 任务也需要对上下文计算上下文向量(context embedding), 以便从数量角度分析上下文特征。Yuan 等[15]利用长短时记忆模型(LSTM), 同时考虑词语组成和词序列信息, 对多义词的上下文进行向量表示, 在通用文本的消歧任务中表现优异。深度学习语言模型无需已有的词义标注信息即可构建, 进而从原始训练语料中挖掘特定领域词语和句子的语义特征, 这也契合特定领域文本 WSD任务的要求。
2 基于词向量和领域信息的消歧框架
有关特定领域文本词义消歧的工作比较少, 已
[2–3,11–12]有的研究没有取得令人满意的效果 。本文提出一种解决特定领域文本词义消歧任务的方法,可以应用于特定领域缺少训练文本的情境。该方法基于词向量模型、领域关键词信息及 Wordnet 资源, 为多义词各候选义项设计一套打分系统, 选择得分最高的候选义项作为消歧结果。利用词向量模型, 以无标注文本作为训练数据得到各词语的低维向量化表示, 即词向量(word embedding)。该表示给出词语在特定领域中的深层语义特征。在打分系统中, 词向量模型的主要作用在于计算多义词所在句子以及各候选义项的向量表示, 获得上下文向量(context embedding)和含义向量(sense embedding)。基于多义词上下文向量与其真实义项向量相似度更高的设想[16], 计算上下文向量与各候选义项含义向量的余弦相似度分数。另外, 还需要考虑每个含义向量的领域相关性。我们利用含义向量与领域关键词词向量之间的相似度分数, 衡量候选义项与特定领域的相关性。领域关键词集合通过专家知识及分
析领域高频词得到, 用来体现领域知识对消歧任务的指导性。通过引入以上两个相似度分数, 选择多义词的义项, 不仅可以克服缺少标注语料的困难,也可以利用领域知识提升消歧效果。
Wordnet[17]是存储词语语义信息的重要数据库, 我们利用 Wordnet 的语义信息进行词义消歧。Wordnet 的基本构成元素为同义词集合(Synset), 每个 Synset 由若干具有相同语义的词语构成。每个Synset 具有自身的含义, 集合之间通过近义、反义、上下位等二元关系构成网络结构。多义词的每个义项在 Wordnet 中对应一个 Synset, 因而打分系统可以将 Synset 作为义项的表示, 对每个候选Synset 打分。利用 Wordnet 的网络结构, 有多种方法可以计算 Synset 之间的相似性[18–19], 评价义项之间的相关度。基于 Wordnet 的同义词集合, 计算多义词上下文已消歧义项与各候选义项的相似度分数。将这一分数用在打分系统中, 体现了上下文词语在义项上具有一定的相关性。综上所述,基于词向量和领域知识库的消歧框架使得词义消歧问题的解决更加直观,也方便直接加入其他有效的消歧特征对模型进行扩展。
3 服务于消歧的打分方法
本文提出的消歧方法通过一套打分模型, 为多义词各义项对应的 Synset 赋予分值, 选择分数最高的义项作为结果, 并且在打分过程中综合考虑上下文信息、领域相关性以及基于 Wordnet 的词义表示。与词义消歧流程只处理待消歧文本中的特定词语不同, 本文方法可对文本中的全部多义词进行消歧。在对多义词义项评分前, 需要对消歧文本进行预处理, 包括对文本进行词性标注, 并从 Wordnet提取文本内各词语的候选义项。利用 NLTK 工具[20]对词语进行词形还原, 根据还原后的词语及词性信息检索 Synset。
对候选义项打分时主要考虑 4 个因素: 义项与上下文相似度分数 scorec、基于关键词的领域相关性分数 scorek、wordnet 相似度分数 scorew 及义项频度分数 scoref, 总分计算公式如下: score( si ) a scorec ( si ) b scorek (si )
c scorew ( si ) d scoref (si ), (1)其中, si 表示多义词第i个候选义项对应的 Synset, a, b, c, d 分别表示各评分项的权重, 且满足 a+ b+ c+ d =1。scorec 与 scorek 需要利用词向量模型得到的上下文向量、关键词词向量及义项含义向量进行计算。领域知识体现在领域特异性关键词的引入,选择最能代表该领域的相关词语, 用于 scorek 的计算, 从而量化评价候选义项的领域相关性。scorew和 scoref分别利用义项在 Wordnet 中的拓扑结构和义项的先验出现频度进行评价。
3.1 词向量模型
本文借鉴 Mikolov 等[14]的思路, 利用神经网络训练词向量模型。在模型选择上, 考虑到特定领域训练文本规模较小, 某些领域专用词相对于通用词语词频较低, 采用 skip-gram 模型完成词向量的训练。在具体实现上, 训练过程利用 word2vec 工具,词向量维度设为 100, 窗口大小使用工具默认值。由于任务要求不使用标注信息, 所以输入模型的语料均为原始文本。由于仅利用领域语料训练会因词语覆盖量过小造成消歧时部分词语无法被映射为向量, 因此在实现过程中加入一些普通文本语料进行补充。词向量模型用于计算上下文、关键词和义项含义的文本表示, 进而得到 scorec 和 scorek分数项。
3.2 上下文相似分数
借鉴 Lesk 算法中正确义项的释义与上下文相似度更高的思想[4], 各义项与上下文文本之间的相似程度作为打分项 scorec。在 Wordnet 中, 每个Synset 均有一段文本解释该集合所含词语的词义,如表示“动物”的同义词集合{animal, animate_being, beast, fauna}释义为“a living organism characterized by voluntary movement”。在 Lesk 算法中, 由于词形变化、近义词等情况的出现, 相似性高的文本所重叠的词语数量不一定多, 会造成计算不够准确。为了规避这一缺陷, 这里的 scorec不是直接计算上下文与释义重叠词语或 N-gram 的个数, 而是衡量两段文本向量之间的余弦相似度。上下文与义项释义的文本向量均基于词向量获得, 以 TF-IDF 作为权重值, 对整段文本词向量进行加权平均。向量化表示文本时, 设文本向量为etext, 句子中的词向量为 ew , 该词的 TF-IDF 值为tfidf(w), 则计算公式为
为了避免停用词对结果造成影响, 加权平均时过滤掉 TD-IDF 过低的词语, 阈值为 th。由于 TF-
IDF 需要利用文档频率和词频得出, 因此计算词语的文档频率时, 要考虑全部训练语料构成的文档集合, 上下文和义项释义中词语的词频分别利用待消歧文档和 Wordnet全部释义组成的文本进行统计。
3.3 基于关键词的领域相关性
特定领域文本的词义消歧可以利用领域信息指导义项选择。结合“一个领域一个义项”的思想, 根据 Synset 的释义信息寻找与领域最相关的义项, 对消歧效果有较大的帮助。为了评价候选义项与领域的相关性, 引入若干领域相关的关键词作为领域知识, 通过衡量 Synset 释义向量与关键词词向量之间的相似性进行评分, 得到关键词相似分数 scorek。
在关键词集合的选择上, 为了突出其领域性,尽可能选择语义上与该领域高度相关的词语。通过分析领域相关文本, 选取领域高频词, 并结合手工选择的专业词语组成关键词集合。设关键词集合为K , 其中关键词 j的词向量为 wj, 候选义项 si 的释义文本为mi , 则 cos( e, w )
j K i j scorek ( si ) bonus count( mi , K ) 。(3)
| K |其中第一项评价义项含义向量与关键词的相似性。为了加强关键词的领域指导作用, 由关键词在释义中的出现次数计算“奖励得分”, 附加于 scorek 中。
3.4 Wordnet 相似分数
基于 Wordnet 的网络结构, 可以对 Synset 之间的相关性进行定量评价。利用语义的上下位关系,构建以各 Synset 为节点的有向图, 通过 Synset 之间是否存在路径以及最短路径长度来表示义项相关性的大小。在本文的消歧方法中, Wordnet 相似分数 scorew主要用于反映上下文中已消歧词语的义项和候选义项之间的相似性。由于同一句话中的词语倾向于带有更相关的含义, 利用已消歧词语可以启发待消歧多义词的义项选择。
借鉴启发式消歧的思路, 消歧过程可以按照迭代消歧的方式进行。在对一个句子进行消歧时, 首先根据候选 Synset 的数量, 将句内多义词升序排列, 优先处理候选义项更少、消歧难度更小的词语。计算一个多义词的 scorew 分数时, 考虑其句中单义词和已消歧词语的 Synset 集合 S, 则有
径长度, 相似度取值介于 0~1 之间; 对于没有路径相连的 Synset, 相似度取值为 0。迭代消歧方法在很多 WSD 任务中广泛应用[11,21], 对特定领域文本的消歧效果也有提升作用。
3.5 义项频度分数
尽管多义词在特定领域下的义项频度分布与一般语境下有所不同, 但后者在消歧过程中的指导作用也不应忽视。在计算义项频度分数 scoref 时, 各候选义项按照其在普通文本中出现的频率进行排名, 以排名 rank(si)的倒数作为 scoref 的取值, 即score (s) 1/ rank(s )。 (5) f i i
3.6 分数整合策略
以上 4 个打分项综合考虑了待消歧多义词的上下文特征、领域性质及义项频度分布, 构成可用于WSD 任务的义项打分体系。通过对上述分数项施加不同的权重, 可以更侧重于多义词的某一性质,从而取得更好的消歧性能。
为了得到候选义项的总分值, 必须确定各打分项对应的权重, 我们采用基于经验得出权重值的方法。为了避免特征值不同可能造成的影响, 对每个打分项进行归一化。在确定每个权重项的最优值时, 通过固定其他 3 项, 观察评测效果的好坏调整权重。将 4 个权重依次调整完毕后, 将权重值等比例放缩使权重满足加和为 1, 保证权重项达到极优解, 使整个系统达到较好的消歧效果。
4实验4.1评测语料
实验使用的评测文本为 Semeval-2010 task 17语料及 koeling 语料, 分别涉及环境和金融领域。Semeval-2010 task 17 评测语料由训练文本和测试文本组成, 其中训练文本包含 100 余篇环境领域无标注文档, 测试文本为 1 篇待标注文本。训练文本与测试文本均为 WWF、ECNC 等国际环境组织发布的原始文本, 除测试文本的标准结果外, 无任何人工标注信息。评测时需要对测试文本中的全部多义词进行消歧, 抽取其中 1300 余个多义词实例(多义词在文中的一次出现)计算消歧正确率, 待消歧词语既包含领域特异性词语也有通用词汇。Koeling 语料选择 41 个生活中的常用名词, 分
[22]别从路透社语料库 的金融与体育部分为每个名词选取数十个例句, 对这些例句中的上述名词进行
消歧。与 koeling 语料相比, Semeval-2010 task 17是全词语消歧任务, 覆盖的词语范围更全面, 更符合真实的消歧应用情境。本实验主要利用 Semeval2010 task 17 完成测评任务, koeling 语料被用于评价消歧方法的可迁移性。在消歧时, 两份语料的候选义项与标准义项均来自 Wordnet 3.0, 通过比较预测义项与标准义项是否一致, 计算消歧正确率。
4.2 实验结果
我们对几种消歧方法在 Semeval-2010 task 17语料上的消歧性能进行实验比较。根据抽取的 1300余个多义词实例的正确义项, 计算召回率(给出正确消歧义项的实例数占总实例数的比率), 以召回率作为衡量消歧正确性的指标。实验中使用两组baseline: 随机选取义项(random)和选取最常见义项(most-frequent)。用于对比的消歧方法为利用上下文与义项含义重叠词个数进行消歧的 lesk 方法、利用 Wordnet 中义项相似性进行迭代消歧的 mostsimilar方法以及文献[7]中使用的基于图算法的Personalized Pagerank 方法(ppr)。另外, 我们也加入 Semeval-2010 task 17官方评测任务中表现较好的 IIITH1 系统[23]的评测结果进行比较。IIITH1 是一套改进自 Personalized Pagerank 的消歧系统, 在消歧时考虑义项频度特征。各方法得到的召回率如表 1 所示, 本文方法用 scorer 表示。
从表 1 可以看出, 与其他方法相比, 本文所用消歧方法在特定领域的测试语料上有更好的表现。直接选取最常见的义项, 在领域文本 WSD 任务中仍可以取得相对不错的效果, 表明义项频度分布信息对该任务确实有指导作用。IIITH1 和本文所用方法将频度信息与义项的其他属性相结合, 取得优于 most-frequent 的消歧性能。与 IIITH1 主要利用Wordnet 有向图结构的方法相比, 本文方法还利用词向量与领域关键词信息, 这也使得本文方法在最终结果上更胜一筹。
在环境语料评测任务上, 打分体系中 bonus 取 值定为 0.9, 最终使用的 4项分数的权重值a, b, c, d分别为 0.048, 0.784, 0.160 和 0.008, 基于关键词的领域性分数在词义消歧中发挥了更重要的作用。本文方法主要利用词向量模型、领域关键词知识解决特定领域文本消歧任务。为了验证消歧模型中这两个要素的作用, 我们仍使用 Semeval-2010 task 17 语料, 对打分系统的不同变体进行评价。考虑两个变体: 不使用关键词信息的打分系统 nokeyword (打分时不计算 scorek)和不使用词向量模型的打分系统 no-embedding (不计算 scorec 与scorek)。在环境领域消歧任务中共使用 61 个领域关键词, 来源为训练文本的领域高频词以及根据专业知识添加的环境领域相关词汇(如 environment, animal 等)。为了分析关键词集合大小对结果可能造成的影响, 实验中也评测使用一半关键词信息的打分系统 half-keyword。除去不计算的打分项, 其余打分项权重保持不变, 最终得到如表 2 所示的评测结果, 完整打分系统用 whole 表示。对比变体与原始打分系统的召回率数据可以看出, 不使用词向量模型或领域关键词均会减弱消歧效果, 证明这两大要素在特定领域文本消歧任务中的重要作用。尤其是关键词信息能够大大提高消歧的质量。随着关键词集合规模的增大, 召回率明显提升, 这与打分项权重反映的情况相符。noembedding的结果与预期不大相符, 在不计算 scorec打分项后, 召回率却出现提升, 表明计算上下文文本向量的方法需要进一步改进。
Semeval-2010 task 17 语料中用于评分的多义词均为动词或名词。为了评价本文方法对不同词性多义词的消歧效果, 我们计算消歧结果中动词和名词的准确率与召回率, 结果如表 3 所示。对于某一词性, 消歧准确率被定义为预测义项属于该词性的多义词实例中消歧正确的比例, 召回率定义为真实义项属于该词性的多义词实例中消歧正确的比例,得到的计算。
从表 3 可以看出, 消歧系统对名词的消歧效果比动词好。这可能是由于名词用于表示某种事物,
比动词有更强的领域相关性, 所以利用领域信息指导找到正确义项的难度相对较低。对于名词多义词, 义项在频度分布上“一个领域一个词义”的特征更加显著, 领域信息能够在 WSD 任务中发挥更大的作用。
另外, 本文方法能更好地处理与领域关系比较密切的消歧实例。如语料中“As salinity declines upstream, reedbeds and saltmarsh communities fringe the estuary”(随着上游盐度降低, 芦苇地和盐沼地的生物群落在河口边缘生存)一句, 待消歧词语为“communities”, 该词语正确义项应为“生物群落”。普通文本中, “community”往往以“社区”或“社团”的义项出现, 因而 most-frequent 方法选取“社区”作为消歧结果。本文方法利用正确义项显著的领域相关性, 将“生物群落”成功选出, 表明本文对领域特异词的消歧有效性。为了证明本文方法在不同领域文本消歧任务之间的可迁移性, 我们也使用 koeling 金融领域语料进行测试。测试中同样用 random, most-frequent, lesk 及 Personalized Pagerank 等方法与本文方法scorer 进行对比, 结果如表 4 所示。
Koeling 语料需要消歧的名词多为生活常见词,候选义项较多, 消歧难度更大, 但本文方法仍然取得比 most-frequent 更高的消歧正确率, 证明了该方法的可迁移性。通过使用不同的领域关键词集合和领域文本, 本文方法可迁移至其他的专业领域。
5 总结
对特定领域文本进行词义消歧有助于理解和挖
掘领域相关知识, 从而为领域知识库构建、文献自动翻译等专业领域的相关任务提供帮助。由于标注训练语料少, 多义词义项频度分布与普通文本不同,特定领域文本消歧任务具有更高的难度。本文提出一种基于词向量模型和基于关键词的领域性信息进行词义消歧的方法, 利用领域无标注文本即可训练消歧模型。这一方法利用深度学习获得词向量, 但是相对于其他基于深度学习的WSD 方法更加简单,在环境领域和金融领域的测试语料上均取得较好的效果。
多义词在义项分布上往往具有“一个领域一个义项”的特点, 借助这一特征, 利用领域关键词指导选出领域最相关义项, 有助于消歧正确率的提升。基于这一思想, 本文使用关键词集合和词向量模型,计算义项含义向量与关键词词向量之间的相似度,以此作为候选义项领域相关性的度量。在选择候选义项时, 考虑义项在 Wordnet 中的网络结构、在普通文本的频度信息以及与上下文文本的关联性, 构建了一套由多个打分项构成的义项打分模型。在评测语料上的实验表明, 领域关键词与词向量模型在消歧过程中均有积极的作用。
本文方法能够较好地识别多义词的领域最相关义项, 在特定领域消歧任务中表现优异。与动词相比, 名词多义词由于义项之间领域相关性的差异更明显, 本文方法对名词的消歧效果更好。对于待消歧文本中的一些泛用词, 由于领域信息不能起到很强的指导意义, 目前还不能达到同样水平的消歧准确率。未来可以尝试使用分类或建立泛用词表的方式, 对领域词和泛用词采取不同的消歧策略。本文方法具有较好的领域迁移性, 可以在不同领域的文本消歧任务中使用。这一方法还有进一步改进的空间。首先, 目前我们所利用的领域指导信息仅是根据训练文本和专业知识获得的领域关键词, 这对于评价候选义项的领域相关性还远远不够。对于一些语言资源较为丰富的专业领域, 可以进一步尝试将知识库等资源整合进消歧系统, 并与其他领域相关任务相结合。其次, 根据词向量加权得到的上下文和义项含义文本的向量化表示, 在实际评测中发挥的效果不完全令人满意, 需要改进文本表示的方法。最后, 如何改进本文方法使之支持专业领域的短语消歧, 同样是值得研究的问题。