词向量是将词映射到低维空间进行表示的一种方法,它可以降低输入信息的稀疏性,同时赋予表示向量一定的词义。作为 NLP 领域的一项基本任务,词向量扮演着十分重要的角色,它为机器翻译,自动问答,对话系统等提供了一个较为准确的单词表达形式。但是词的意思是多种多样的,在不同的情境下会有不同的意义,如何能够更准确地表示出词的意义,对 NLP 领域中的其他任务来说具有重要的意义。来自清华大学的牛艺霖,谢若冰,刘知远老师和孙茂松老师发表在 ACL2017 上的论文“Improved Word Representation Learning with Sememes”首次将义原信息考虑到词向量的学习任务中,在很大程度上提升了词向量的表示能力。
义原信息(sememe)是词意的最小语义单位,一个词的意思可以认为是多个义原信息的组合。在 HowNet 中,可以具象化出这种 word-sense-sememe 的结构,如下图所示:
其中苹果是我们的目标单词,sense1、sense2 是苹果的两个不同意思,而 sememe 分别解释了两个 sense 的具体含义。
从这个例子我们可以看出,一个词的意思和他的义原之间的关系是比较复杂的,可能只有一种描述,也可能是多种的一个组合,那么如何利用这些信息去表示词的意思,如何模拟词义和义原之间的关系就成为本文工作的最主要的一个挑战。
本文是在经典的 skip-gram 模型的基础上提出来的改进模型,相对于 skip-gram 模型只考虑了上下文信息,本文提出的模型同时考虑词的义原信息以及义原信息与词义之间的关系,为此,本文提出了三种融合方法。
1. 简单地使用义原向量的平均值来表示一个词向量,就如上图,将样式值,能,携带,特定牌子等的向量表示求平均,作为电脑这个意思的平均表示。
2. 根据中心词来对一个上下文单词做消歧,使用 attention 的方法来计算这个单词的各个 sense(意思)的权重,使用 sense embedding 的加权平均值来表示词向量。
将注意力机制引入到模型中,从而可以辅助训练过程中的消歧。也就是说如果一个上下文词的某个义原跟中心词的意思更加相近,那么他就获得更多的关注,从而在生成上下文词的向量表示时,这个义原的权重就会越大,而最终生成的上下文词向量也就具有更好的表达能力。所以这个模型也称之为上下文模型(context model)。
3. 和上个方法类似,只不过是这次是使用上下文单词预测中心词的含义。
同样的,一个词的意思跟它所处的上下文环境息息相关,那么上下文环境也就决定了这个词表示的到底是那种意思,因此这里通过利用上下文信息对中心词的义原信息的关注程度,从而选择出符合情境的义原信息,为中心词表示的生成提供必要的辅助,也就提升了中心词的向量表示能力,因此这个模型也被称之为目标模型(target model)。
在实验设计上,本文通过两个经典的评价词向量质量的任务:词的相似性实验和词的类比实验对模型进行了验证, 同时与当前流行的 CBOW,skip-gram 和 GloVe 模型进行了对比,结果发现本文提出的模型在两个任务上均优于对比方法,这也证实了将义原信息融入到词向量的表示学习中的有效性。
同时,为了进一步验证模型在词义消歧方面的能力,本文选取了一些实例进行分析:
从例子中可以看出在不同的情境下,模型均能根据实际意思选取出合适的意义,这也证实了本文提出的模型可以在不同的情境中很好的获取词的意思。
作者有话说:
第一次写文章,作者感觉跟高考差不多,首先,都需要做大量的前期准备,只有充分的准备,才能对自己研究的内容有比较深刻的了解,才能清楚明白的阐释出自己的想法;其次,deadline(考前)一两天整个人都会陷入一种焦躁的状态,觉得自己写的都是什么东西,但又不得不继续准备;再次,交稿后(高考后)会突然觉得世界都清静 了,只想安静的休息会;最后,也就是揭榜时,这个心情想必大家都有体会。
更深的体会就是:写文章,做科研是一个探索的过程,不断地去实验,去分析,去探索,终会发现十分有意思的东西。
来源:paperweekly