论文阅读_语义嵌入

论文题目:Making Sense of Word Embeddings
相关源码:https://github.com/uhh-lt/sensegram
论文地址:https://arxiv.org/abs/1708.03390

简介

论文是2016年发表于ACL(Association for Computational Linguistics,自然语言处理顶会,一年召开一次,CCF等级/JCR分区:A类)的会议论文。

背景知识

论文介绍了一种简单有效的方法用于学习语义嵌入。文中方法既可以直接从语料库和字典学习,也可以根据已有的词向量数据通过自我网络聚类的方法归纳学习。它提升了下游应用的效果,与当时最好的模型效果类似。

词向量

  • 预处理时将词映射成稠密向量代入模型,降低稀疏性
  • 对比不同词的语义相似度,实现近义词的迁移
  • 表征不同语义单位:词向量->词组向量->短语向量
  • 通过词嵌入实现运算,比如:男-女=国王-王后,国王-男+女->王后,实现类比相关的逻辑推理功能,以及性质变换。

语义向量

无论是稠密的还是稀疏的表示,大部分的词嵌入方法都面临一词多义的问题。后来有人提出了意义向量(sense vector)的概念来解决这个问题,从而提升一些应用的效果,如成份标注、语义关系识别。

论文中提出了一种意义向量学习方法,它使用自我中心网络聚类,将已存在的词嵌入转换成意义嵌入。最终实现了利用上下文实现语义消歧机制(WSD)。

自我中心网络

自我中心网络 ego network,它的节点是由唯一的中心节点(ego),以及这个节点的邻居(alters)组成的,它的边只包括了ego和alter之间,以及alter与alter之间的边。

image.png

词嵌入方法

请参考我之前的文档:几种词嵌入方法

Chinese_whisper算法

话从第一个人传给第二个人,第二个人再传给第三个人,一直传下去,越传越走样。
Chinese_whisper 是一种图聚类算法:

  • 原则:构建无向图,将每个词做为无向图中的一个节点,词之间的相似度,作为节点之间的边,如果词之间的相似度小于设定的阈值那么,这两个词对应的节点之间就没有边。
  • 步骤一:迭代开始前,将每个词作为一个节点,每个词都被赋予一个id作为该词的类别。
  • 步骤二:遍历所有节点,把每个节点移动到邻居所属最多的类(在连接相等的情况下,从中随机选择一个)。
  • 步骤三:重复步骤二,直到达到预定的迭代次数或收敛。

前人的方法

一词多义

  • 聚类方法不断迭代,将簇心作为语义嵌入(词聚类/上下文聚类)
  • 稠密向量常使用神经网络方法
  • 基于知识的方法,如将知识库中的任何实体表实为稠密向量,以及利用WordNet和词嵌入来构建语义嵌入。

词义消歧

有监督学习,常常为每一个目标词建立一个模型,使用有监督方法训练,这需要大量标注。另外,还有基于知识的方法,比如从WordNet中导出意义的表示。

无监督学习,从数据中自动归纳语义清单,具体的方法有两种:分别是上下文聚类,和词(自我中心网络)聚类;是否为歧义由其上下文的重叠度来确定;计算上下文词与中心词的距离。

语义嵌入算法

算法具体包含四步

image

  • 学习词嵌入
  • 基于向量的相似度建立最近邻图
  • 使用ego-network聚类归纳语义向量(分组)
  • 用词向量计算语义向量

上述主要流程也是可以被替换的,比如:已经存在词嵌入,则可省略第一步;如果使用已经构建的词相似度图,可替代第二步;如果使用众包的方式构建语义列表,则可替代第二三步。

学习词嵌入

论文使用了Word2Vec的CBOW模型训练100维(或300维)的词向量,具体的上下文大小是3,词出现的最小频率是5。并在后面的评测阶段将其作为baseline模型。使用Wikipedia和ukWaC作为训练数据。

计算相似图

建立基于近义词的图,比如桌子和椅子近似度为0.78,对每个词取其200个最近邻(对于绝大多数词来说是足够的)。这个图既可以基于上一步的词向量,也可以使用JoBimText(JBT)架构提供的语义相似度。

  • 词向量相关性

使用cosine距离来计算词向量相似度最高的最近邻,具体使用矩阵乘法实现。

  • JBT 相关性

这是一种无监督的方法,每个词被表征为基于依赖关系的稀疏特征词袋,使用MALT解析器提取。特征使用LM1方法归一化。其剪枝方法是:对每个词保留1000个特征,每个特征与1000个词关联。两个词的相似度通过它们共有特征的个数计算。

JBT有两个优点:
(1) 基于依赖特征准确地估计词的相似度。
(2) 高效地计算语料库中所有词的最近邻域。
此外,即使次要意义在训练语料库中有显著的支持,单词嵌入的近邻往往也倾向于属于主要意义。

语义归纳(分组)

首先,对词 t 建立一个ego-network G,然后使用网络聚类,用聚类去解释词t的各个语义(sense)。同样的语义一般会紧密相连,反之则认为语义不同。

具体算法如下:

每一次迭代从相关图T中取一个词t,首先,取与t语义最相近的N个词作为结点V构建ego-network G(图中不含t);然后,对于G中的每个结点v在T中寻找与之最相近的n个词V',并建立v到v'的边;最后,使用Chinese Whispers算法(不需要超参数)对ego-network聚类。输出是多个簇,每个聚St包含它的N个最近邻。

算法中有三个超参数:N是ego-network的大小;n是v近邻的最大连接数,k是簇中元素的最小个数。参数n决定了描述的细化程度(n越大关系越密)。经验值是N=200, n为50,100或200,k为5或15(k越小越细分)。

每个词在义群里都有权重,其权重是该词与歧义词t的距离。

综上,该方法是计算每个词t可能有几种意思,并对每种意思抽像成一个sense vector(由其它词组成的list)表示。

用词向量计算语义向量

为每一种词义归纳出一组语义向量。假设一个词义可能由多个词表示。

设W是训练语料中所有词的集合,Si={w1,...wn} ⊆W,Si是从前一步计算得到的语义簇,设一个函数vecw,用于将词映射到向量;函数γi 计算其在簇中的权重,分别使用两种方法计算语义向量。

不加权方法:

加权方法:

加权结果如表1所示:

“桌子”一词既与家具相关,又与数据相关,而词义向量的邻域拆分后不同时与家具和数据相关(通过语义向理计算而非词向量)。

词义消歧

此部分介绍语义向量的具体用法:利用上下文进行语义消歧。
设目标词为w,其上下文为C = {c1,...,ck}, 首先,将w映射成一系列的语义簇S ={s1,...,sn},用两种方法来确定其在上下文中最确切的语义。

  • 方法一:计算基于上下文的语义概率

右侧的公式实际上是一个sigmoid函数——将具体值转换成概率:

sigmoid函数图像:

公式中的c是上下文嵌入的均值,使用上下文均值来计算中心词的词义本身就类似于CBOW的基础方法。使用这种方法对随机词有较低的标量积,对上下文中出现的词有较高的标量积。

  • 方法二:基于计算中心词与上下文的相似度

公式中的c是上下文词嵌入的均值,与方法一不同的是它不需要使用上下文嵌入,而只需要每个词的词嵌入(Word2Vec工具默认不保存上下文嵌入)。

为进一步提升效果,论文还使用了上下文过滤方法,比如上下文中一些词“chairs”"kitchen"可能对“table”的词义起到更重要的作用,具体算法如下:

其中f是上述公式中的计算方法,i为具体的语义簇,j是上下文中词的位置,对每一个词cj,计算它与各个词义的距离(如果cj有辨识度,上式的值就比较大),从而找到最具消歧能力的词。

实验

分别在两个数据集上对模型进行评价,一个是用众包方式收集的带上下文的语义标注;一个是公用的SemEval数据集。

TWSI评测

主要评测不同参数对模型的影响。

TWSI是一个众包系统,其中包含1012个高频名词,每个词平均2.26个语义,提供145140个标注的句子。另外,它还提供一个清单,其中列出了所有可以替代该单词语义的词表。

数据分布是有偏的,其中79%指向最常用的语义,因此除了TWSI数据全集以外,还构造了无偏子集(balanced subset),每个语义除它本身以外,有五个上下文词。

评价方法

创建一个映射表用于对比预测值和标注值。语义被表征为一袋词向量,可用余弦相似度进行比较。每个归纳的语义对应一个最相似TWSI语义作为预测值,对比预测值和TWSI标注值,即可使用准确率、召回率等指标给模型打分。

指标

为了方便比较,还定义了一些指标:

  • 归纳上界
    当该含义的映射存在时,定义归纳上界为理论上能达到的最佳值。
  • TWSI最高频
    TWSI数据集中某个词对应最高频的词义。
  • 归纳最高频
    某个词归纳后,最大的聚簇。
  • 随机语义
    从某个词语义中随机取一个作为baseline。

结果

表3展示了基于不同底层模型,在不同粒度下模型的表现:

认为其能达到的最好情况是众包标注结果(TWSI);可以看到粒度越细,表现越好;同时也可以看到语义个数(Sense)与识别性能成反比。

表4展示了有偏数据与校正数据,以及过滤的效果,结果是使用上下文中的两个词p=2过滤时效果最好。

最终图3展示了实验结果:

实验对比了随机算法、基于概率的均值、加权重,基于相似度的加权值,加p=2过滤,最高频语义,以及理论最佳效果(upper bound)。

SemEval 评测

国际语义评测SemEval 是国际权威的词义消歧评测,文中使用了其中的任务13,用于与其它模型对比效果。

提供20个名词、20个动词和10个形容词。包含20-100个上下文单词,总共4664个上下文。

对比结果如下:

参考

超全word embedding论文总结
秒懂词向量Word2vec的本质
知识图谱之WordNet
ego-network概念
A Survey of Word Embeddings Evaluation
A Survey on Language Models
Chinese Whisper 人脸聚类算法实现

0人点赞

论文

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值