论文笔记【二】Making Sense of Word Embeddings
摘要
1.作者提出了一种新的简单有效的方法,用于学习词义嵌入word sense embedding
2.传统的两种方法:(1)直接从语料库中学习词义;(2)依赖词汇资源的语义库
研究方法的创新点:通过聚类相关词的自我网络ego-networks,从而在现有的词嵌入中引出语义库。
3.集成的WSD机制允许在学习到的语义向量的上下文中标记单词,从而产生下游应用
4.这种新式方法能够与现有的无监督WSD系统相媲美
介绍
在NLP应用中,密集向量形式的术语表示是非常有用的。首先,它们能计算语义相关的单词;另外,它们可以用来表示其他语言单元,如短语和短文,降低传统向量空间表示的固有稀疏性。
大多数词向量模型都把一个单词的各种含义混合成一个简单的单一向量,这是大多数词向量的一个局限性,也就是稀疏和密集表示的问题。为了解决这个问题,(Huang et al., 2012; Tian et al., 2014; Neelakantan et al., 2014; Nieto Pi ˜na and Johansson, 2015; Bartunov et al., 2016)等人,先后提出了几种用于学习多原型词向量的结构。而已有的迹象显示,多原型词嵌入能够改善文本处理程序的性能,例如词性标注和语义关系识别。
注:大多数词嵌入方法都是假定用每个词能够用单个向量代表,但是无法解决一词多义和同音异议的问题。多原型向量空间模型(Reisinger and Mooney 2010)是将一个单词的上下文分成不同的群(groups),然后为每个群生成不同的原型向量。遵循这个想法, (Huang et al. 2012) 提出了基于神经语言模型(Bengio et al. 2003)的多原型词嵌入。
本文的贡献是一种学习词义向量的新方法。与先前的方法相比,该方法依赖于现有的单原型词嵌入,通过自我网络聚类,将词向量转换为语义向量。所谓的ego network,它的节点是由唯一的一个中心节点(ego),以及这个节点的邻居(alters)组成的,它的边只包括了ego和alter之间,以及alter与alter之间的边,其中,图里面的每个alter和它自身的邻居又可以构成一个ego network,而所有节点的ego network合并起来,就可以组成真实的social network了。
此外,本文方法中配有词义消歧WSD机制,因此上下文中的词可以可以映射到这些语义表示上。
本文所阐述的方法的一个优点是可以使用现有的词嵌入和/或现有的语义库来构建词义嵌入。这种方法与最先进的无监督WSD系统相当。
学习词义嵌入
四个阶段:1.学习词向量 2.基于向量相似性构建最近邻居图 3.利用自我网络聚类归纳词义 4.关于语义归纳的词向量聚合
1.学习词向量
使用word2vec学习词向量,所训练的COBW词嵌入有100或300维,上下文窗口大小为3,最小词频为5。在训练时,修改了word2vec的标准实现,以便能够保存WSD方法之一所需的上下文向量。
2.计算词相似图
对于每个单词,检索其200个最近邻居,而只有少数几个词具有更强烈的语义相关词。词相似度图是基于前一步中学习的词嵌入或者使用JoBim Text框架所提供的语义相似性来计算的。
(1) word2vec
使用w2v提取情况下,词的最近邻居是各个词向量的最高余弦相似性的项。出于可伸缩性的原因,使用快向量乘法,使用1000个向量的块来执行相似度计算。
(2) JoBim Text
这是一种无监督的方法,每个词都表示为一组基于稀疏依赖性的特征,这种特征是使用Malt解析器提取的。使用LMI得分对特征进行归一化,接着对默认值进行进一步修剪。两个词的相似性等于共同特征的数量。
3.语义归纳
语义由单词簇表示,为了归纳语义,首先我们构建单词t的自我网络G,然后对该网络进行图形聚类。引用相同含义的词语倾向于紧密相连,而指向不同意义的词语的联系较少。
在算法1中呈现的语义归纳每次迭代便处理词相似图T中的一个字t。首先,检索自我网络G的节点V,这些是图T中t的N个最相似词。t本身不是自我网络的一部分。其次,将G中的节点连接到来自T的n个最相似的词。最后,自我网络与Chinese Whispers (CW)算法聚类。(注:CW是用来分割加权的无向图节点,CW算法的目标就是查找传播相同信息到相邻节点的节点组。)
由于该方法是无参数的,故不对词义的数量进行假设。
语义归纳算法有三个元参数:目标自我词 t 的自我网络大小N;自我网络连接(n)是允许邻居v在自我网络中具有的最大连接数;集群k的最小尺寸。参数n调整语义库的粒度。
词义聚类中的每个单词的权重等于该词与其模糊词 t 之间的相似性得分。
4.词向量池化
这个过程要计算归纳语义库中每种语义的语义嵌入。假设一个词的词义是表示这种词义的词的组合。语义向量定义为表示集群项的词向量的函数。设W是训练语料库中所有单词的集合,让成为上一步中获得的语义聚类。考虑一个函数将单词映射到它们的向量和函数
将集群词映射到集群Si中的权重。这里尝试了两种计算感测向量的方法:
论文笔记【二】Making Sense of Word Embeddings的更多相关文章
- 【论文笔记】Zero-shot Recognition via semantic embeddings and knowledege graphs
Zero-shot Recognition via semantic embeddings and knowledege graphs 2018-03-31 15:38:39 [Abstrac ...
- 论文笔记【四】Semi-supervised Word Sense Disambiguation with Neural Models
基于神经模型的半监督词义消歧 Dayu Yuan Julian Richardson Ryan Doherty Colin Evans Eric Altendorf Google, Mount ...
- 论文阅读笔记 Word Embeddings A Survey
论文阅读笔记 Word Embeddings A Survey 收获 Word Embedding 的定义 dense, distributed, fixed-length word vectors, ...
- Coursera Deep Learning笔记 序列模型(二)NLP & Word Embeddings(自然语言处理与词嵌入)
参考 1. Word Representation 之前介绍用词汇表表示单词,使用one-hot 向量表示词,缺点:它使每个词孤立起来,使得算法对相关词的泛化能力不强. 从上图可以看出相似的单词分布距 ...
- 《基于WEB的独立学院补考重修管理系统研究》论文笔记(二十)
<基于WEB的独立学院补考重修管理系统研究>论文笔记(1) 一.基本信息 标题:基于WEB的独立学院补考重修管理系统研究 时间:2016 来源:南通大学杏林学院 关键词:WEB:补考重修管 ...
- 吴恩达《深度学习》-第五门课 序列模型(Sequence Models)-第二周 自然语言处理与词嵌入(Natural Language Processing and Word Embeddings)-课程笔记
第二周 自然语言处理与词嵌入(Natural Language Processing and Word Embeddings) 2.1 词汇表征(Word Representation) 词汇表示,目 ...
- Deep Learning论文笔记之(八)Deep Learning最新综述
Deep Learning论文笔记之(八)Deep Learning最新综述 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感觉看完 ...
- [C5W2] Sequence Models - Natural Language Processing and Word Embeddings
第二周 自然语言处理与词嵌入(Natural Language Processing and Word Embeddings) 词汇表征(Word Representation) 上周我们学习了 RN ...
- deeplearning.ai 序列模型 Week 2 NLP & Word Embeddings
1. Word representation One-hot representation的缺点:把每个单词独立对待,导致对相关词的泛化能力不强.比如训练出“I want a glass of ora ...
随机推荐
- less的安装与用法
1. node.js node.js是一个前端的框架 自带一个包管理工具npm node.js 的安装 官网:http://nodejs.cn/ 在命令行检验是否安装成功 打开cmd 切换到项目目录, ...
- 3 Oracle 32位客户端安装及arcgis连接
关于Oracle服务器端安装及配置的过程详见第2篇文章,链接如下:http://www.cnblogs.com/gistrd/p/8494292.html,本篇介绍客户端安装配置及连接arcgis过程 ...
- java的Io流学习
Java中io流的学习(一)File:https://blog.csdn.net/qq_41061437/article/details/81672859 Java中io流的学习(二)FileInpu ...
- Spring-Boot构建多模块项目
Spring-Boot构建多模块项目 功能模块单独项目开发,可以将一个庞大的项目分解成多个小项目,便于细分开发 Maven多模块项目不能独立存在,必须有一个介质来包含. 1.创建一个Maven 项目, ...
- windows下怎样测试oracle安装是否成功以及在oracle中创建用户并赋予用户权限;和[Err] ORA-65096: 公用用户名或角色名无效的解决方案
测试oracle数据安装是否成功,可按顺序执行以下两个步骤: 测试步骤 1:请执行操作系统级的命令:tnsping orcl 上述命令假定全局数据库名是 orcl.以下是命令执行后的示例(请在cmd命 ...
- leetcode-Given a binary tree, find its minimum depth
第一题 Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the s ...
- 找不到main
用eclipse写代码的时候,写了一个简单的程序,编译的时候突然出现“错误: 在类 com.test.demo 中找不到 main 方法, 请将 main 方法定义为: public static v ...
- torch.nn.Embedding
自然语言中的常用的构建词向量方法,将id化后的语料库,映射到低维稠密的向量空间中,pytorch 中的使用如下: import torch import torch.utils.data as Dat ...
- 范进中Nature——儒林外史新义
范进中Nature——儒林外史新义 范进发了文章回办公室,实验室一块儿搬砖的挂名作者俱各欢喜.正待烧锅煮方便面,只见他老板胡副教授,手里拿着一包外卖和一瓶红星二锅头,走了进来.范进向他作揖,坐下.胡副 ...
- C# 如何使用长度来切分字符串
参考网址:https://blog.csdn.net/yenange/article/details/39637211 using System; using System.Collections.G ...