见微知著,从细节处提升词向量的表示能力 | 论文访谈间 #10

简介:

词向量是将词映射到低维空间进行表示的一种方法,它可以降低输入信息的稀疏性,同时赋予表示向量一定的词义。作为 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


原文链接

相关文章
|
11月前
|
测试技术 Python
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
本文介绍了使用Python的unittest框架来加载测试用例的四种方法,包括通过测试用例类、模块、路径和逐条加载测试用例。
293 0
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
|
Java jenkins 持续交付
scons,一个实用的 Python 构建工具!
scons,一个实用的 Python 构建工具!
330 6
|
人工智能 前端开发 决策智能
【AI Agent系列】【MetaGPT多智能体学习】5. 多智能体案例拆解 - 基于MetaGPT的智能体辩论(附完整代码)
【AI Agent系列】【MetaGPT多智能体学习】5. 多智能体案例拆解 - 基于MetaGPT的智能体辩论(附完整代码)
586 0
|
监控 关系型数据库 MySQL
Flink cdc报错问题之读取mysql报错如何解决
Flink CDC报错指的是使用Apache Flink的Change Data Capture(CDC)组件时遇到的错误和异常;本合集将汇总Flink CDC常见的报错情况,并提供相应的诊断和解决方法,帮助用户快速恢复数据处理任务的正常运行。
|
前端开发 容器
宜搭子表单的css设置
可以通过css的方式修改宜搭子表单的字体,行高,行间距等,仅提供个人操作供参考,具体情况请亲自测试再评价测试
633 1
宜搭子表单的css设置
|
网络安全 网络虚拟化 数据安全/隐私保护
Cisco Packet Tracer模拟:ASA5505 IP Sec VPN实验
Cisco Packet Tracer模拟:ASA5505 IP Sec VPN实验
1127 0
Cisco Packet Tracer模拟:ASA5505 IP Sec VPN实验
|
芯片
M1芯片Mac无法使用fitz的处理办法
ARM架构中使用fitz存在兼容性问题,安装后无法使用。若不是M1芯片可替换为PyMuPDF代替。但是在M1芯片里,PyMuPDF同样存在兼容问题,会导致安装不上。本文章将解答如何安装M1版本PyMuPDF包。
1002 0
M1芯片Mac无法使用fitz的处理办法
|
开发者 API
APPID详解
说明: ISV入驻到蚂蚁开放平台后,创建应用会生成一个APPID, 目前是以年份开头的16位数字 相关问题: 1.如何创建应用【请点击:[url]https://openclub.alipay.com/read.php?tid=1606&fid=72[/url]】  2.如何查看app_id   查询AppID可以按照下面步骤操作:   1、登录蚂蚁金服开放平台(open.alipay.com)   2、在“开发者中心”-“开发者中心 总览”里面查询查询自己的APPID。
3503 12
Dataset之Rotten Tomatoes:Rotten Tomatoes影评数据集简介、下载、使用方法之详细攻略
Dataset之Rotten Tomatoes:Rotten Tomatoes影评数据集简介、下载、使用方法之详细攻略
|
5G 测试技术 UED
带你读《5G NR标准:下一代无线通信技术》之二:5G标准化
本书对NR标准进行了描述。NR标准是在2018年春末由3GPP制定的新一代无线接入技术标准。本书内容比较偏底层,阅读时结合协议去读会有更大的收获,而且全书深入浅出的风格非常好,可以使读者读后知其然又知其所以然!