word2vec怎么处理一词多义的情况?

  统计/机器学习 自然语言处理 开放问题    浏览次数:7092        分享
0

比如“苹果”,一个意思是“一种水果”,一个意思是“手机、电脑品牌”。按照word2vec,意义相近的词的词向量也是想接近的,那么苹果的词向量是和香蕉、橙子的词向量接近,还是和三星、华为、联想之类的词接近?

有没有办法分开处理一词的多个含义?

 

新同学   2018-11-07 12:33



   3个回答 
7

word2vec处理不了多义词的,但是Google最新的语言文字模型BERT可以处理。

了解一下BERT(Bidirectional Encoder Representations from Transformers)

BERT的这个文章里还特地举例了,bank,在英文里是银行的意思,也是河岸、河畔的意思,典型的一词多义。

SofaSofa数据科学社区DS面试题库 DS面经

strong.man   2019-05-22 23:20

现在需要结合上下文理解词义的就是bert了 - abuu   2019-05-29 10:06
6

我觉得word2vec本身应该是不能处理这个问题的,word2vec的作用是对词汇进行向量表达。如果一个词汇有多个含义,那么这个词汇的词向量本身也应该是多个向量的加和。

比如你提到的“苹果”,一个意思是“手机”,一个意思是“水果”,如果你做减法操作,$v($苹果$)-v($手机$)$,这个减法的结果应该比较接近$v($水果$)$。

此外,有一些基于word2vec的方法可以处理一词多义,如果看兴趣的话,可以看论文Solving Verbal Comprehension Questions in IQ Test by Knowledge-Powered Word Embedding的Section4.2。

SofaSofa数据科学社区DS面试题库 DS面经

wxw_pku   2018-12-27 13:04

4

这个问题在quora上也讨论过

Can Word2Vec be used for Word Sense Disambiguation?

How does word2vec deal with multi-sense words?

SofaSofa数据科学社区DS面试题库 DS面经

LiShanfei   2018-12-31 05:27



  相关讨论

教程中的利用Word2Vec判断是否是白话

如果不去除stop words,word2vec的结果会受到影响吗?

gensim.models.word2vec模块的LineSentence有什么用?

gensim的word2vec模型是skip-gram还是cbow?

gensim里word2vec的window指的是什么?包括的范围是多大?

怎么把训练好的bin格式的word2vec模型导入到gensim中使用?

为什么基于skip-gram的word2vec在低频词汇相比cbow更有效?

word2vec的网络里为什么没有bias偏置项

gensim训练出的Word2Vec模型每次都不一样

训练word2vec时移动窗口的大小怎么选择?

  随便看看

如果数据不是正态分布,能用3sigma原则剔除异常值吗?

两个独立的正态随机变量的乘积服从什么分布?

Python计算两个数组的相关系数

怎么给plt.subplot加一个主标题?

logloss的取值范围是多少?一般好的分类器能达到多少?