【Python机器学习】词向量推理——语义查询与类比

词向量是对词语义或含义的数值向量表示,包括字面意思和隐含意义。词向量可以捕捉到词的内涵,比如“peopleness”(人)、“animalness”(动物)、(thingness)(存在)等。将所有这些含义结合起来构成一个稠密(没有零值)的浮点数向量。这个稠密向量支持查询和逻辑推理。

下面一句描述Marie Curie的句子:“she invented something to do with physics in Europe in the early 20th century.”

使用词向量,可以将“women”、“Europe”、“physics”等词的含义组合起来搜索词或名字,搜索结果会更接近要查找的“Marie Curie”。所要做的只是把这些词向量加起来:

answer_vector=wv['women']+wv['Europe']+wv['physics']+wv['scientist']

从词向量中去除性别偏向,并使用该词向量计算结果:

answer_vector=wv['women']+wv['Europe']+wv['physics']+wv['scientist']-mv['male']-2*wv['man']

通过词向量,我们可以从“women”中去掉“man”。

类比问题

如果把问题重新表述成一个类别问题,就像下面这样:

Who is to nuclear physics what Louis Pasteur is to germ?

对于这种问题,大部分搜索引擎都没有办法。但是有了词向量,解决办法就会很简单,只需要从“Louis Pasteur”中去除“germs”,然后加上“physics”:

answer_vector=wv['Louis Pasteur']-mv['germs']+mv['physics']

如果对那些不相关领域中人物之间的更复杂的类比感兴趣,如音乐家和科学家,也可以这样做:

Who is the Marie Curie of music?

或者

Marie Curie is to science as who is to music?

对于使用词向量的数学运算来解决这些问题。有时可以用正式的数学符号表示,如下:

MARIE CURIE : SCIENCE :: ? : MUSIC

这样就更容易猜出对应的词向量数学运算,下面是一种表示:

mv['Marie_Curie']-mv['science']+mv['music']

除了人和职业,还可以回答一些类似的问题,比如运动队或城市:

The Timbers are to Portland as what is to Seattle?

在标准化考试中这个问题的表示如下:

TIMBERS : PORTLAND :: ? : SEATTLE

不过更普遍的情况是,在标准化考试中用的是英语词汇表中的词:

WALK :LEGS :: ? : MOUTH

或者

ANALOGY : WORDS :: ? :: NUMBERS

这些对词向量来说都很简单。有了词向量,NLP就可以解决这些问题。

词向量可以回答这些模糊的问题并解决类比问题。只要答案的词向量在词向量的词汇表中,词向量就能记住这些词语名字。即使对那些无法搜索查询或类比形式提出的问题,词向量也能提供有效的解决方案。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值