前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >词转化为词向量

词转化为词向量

作者头像
opprash
修改2019-09-17 10:39:49
2.5K0
修改2019-09-17 10:39:49
举报
文章被收录于专栏:大数据和机器学习

前言

2013年末,谷歌发布了word2vec工具,引起了热捧,大家几乎都认为它是深度学习在NLP的一项了不起的应用,并且很多互联网公司也开始跟进,使用word2vec解决实际问题。

NLP的相关任务中,要将我们能看懂的语言交给计算机来处理,通常需要首先将语言数学化,只有这样机器才能认得出,而词向量正是将我们看懂的词进行数学化的一种方法,就是把一个词语表示成一个向量。

一般将词语转化为向量的方法有两种:

One-Hot Representation

Distributed Representation

下面分别介绍这两种方法

1 One-Hot Representation

这种方法很暴力,直接将词典的长度标记为向量的长度,每个词向量的分量只有一个为1,其余全为0,1的位置对应该词在词典的位置,比如:

adore 表示为 [0,0,0,1,...,0,0]

respect表示为 [0,0,0,...,0,1,0,..0,0]

这种表示方法的优点是简洁清晰,用哈希表给每个词分配一个编号就可以了,比如 adore编号为102,respect编号为34214,然后配合上最大熵,SVM等算法可以完成NLP的一些任务,但是它的缺点也很明显:

1). 维数灾难,这种方法容易受到这方面的困扰,尤其是用DL的一些算法时;

2.) 不能很好地刻画词语与词语间的相似性,称为“词汇鸿沟”,因为从adore和respect的词向量,编号上,我们看不出它们之间是否存在某种关系,比如为同义词,反义词等,尽管adore和respect是一对同义词

2 Distributed Representation

这种表示是Hinton,在1986年提出的,它解决了One-Hot Representation的问题,其基本思想就是直接用一个普通的向量表示一个词,维度一般不长,比如50维,这个向量怎么表示是要经过训练的,训练方法较多,谷歌开发的word2vec便是其中一个,比如向量长这样 [0.452, 0.256, 0.912,...],当然训练的预料库不一样,或者方法不一样,最终得到了某个词的向量长的也不一样。

显然,这种方法获得了 adore 和 respect 两个词的词向量,这样他俩组成了一个词向量空间,而每一个向量则为该空间中的一个点,即向量的终端点,那么adore和repect这两个点的距离,我们就可以拿来分析了,如果它们很近,就可证明 adore和respect的语法,语义之间的相似性,这样的特性使得词向量很有意义,因此google的Mikolov等人研究出了word2vec。也就是说距离近的词,相似性可能越高。

利用这个特性,可以用于机器翻译领域,通过向量空间,把一种语言转变成另一种语言,举个别人的例子,将英语中的one, two, ..., five自动转化为西班牙语,怎么做呢,首先得到这5个词的词向量,如下图所示:

词向量
词向量

然后,训练另一套即西班牙语表示的语料库,得到了每个词的词向量,找到与英语one最相近的西班牙单词为:uno,所以one对应西班牙语的uno,依次利用这种距离相近的方法找出其他的词的对应。

英语转西班牙语
英语转西班牙语

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 1 One-Hot Representation
  • 2 Distributed Representation
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档