当前位置: 首页 > news >正文

【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就可以解决这些问题。

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • HarmonyOS实战开发:NAPI接口规范开发
  • 华为 HCIP-Datacom H12-821 题库 (3)
  • vscode Git代码版本回退
  • 【生日视频制作】宝马提车交车仪式感广告展示牌AE模板修改文字软件生成器教程特效素材【AE模板】
  • javacv-ffmpeg ProcessBuilder批量旋转图片
  • Elasticsearch Suggesters API详解与联想词自动补全应用
  • Oracle rac模式下undo表空间爆满的解决
  • 公钥密码选择题
  • Cesium 台湾省白膜数据渲染
  • Java语言程序设计基础篇_编程练习题**17.17(BitOutputStream)
  • IBM退出中国,LabVIEW未来走向何方?
  • PostgreSQL技术内幕6:PostgreSQL索引技术
  • uniapp / uniapp x UI 组件库推荐大全
  • TCP/IP网络编程:第18章聊天室
  • 基于FPGA的SD卡的数据读写实现(SD NAND FLASH)
  • 分享的文章《人生如棋》
  • [NodeJS] 关于Buffer
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • Javascript Math对象和Date对象常用方法详解
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • supervisor 永不挂掉的进程 安装以及使用
  • 闭包--闭包作用之保存(一)
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 基于遗传算法的优化问题求解
  • 微信开源mars源码分析1—上层samples分析
  • 用element的upload组件实现多图片上传和压缩
  • 阿里云ACE认证学习知识点梳理
  • 阿里云移动端播放器高级功能介绍
  • #Datawhale AI夏令营第4期#多模态大模型复盘
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • #在 README.md 中生成项目目录结构
  • ()、[]、{}、(())、[[]]命令替换
  • (¥1011)-(一千零一拾一元整)输出
  • (1)虚拟机的安装与使用,linux系统安装
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (Oracle)SQL优化技巧(一):分页查询
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (一)UDP基本编程步骤
  • (一)为什么要选择C++
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • .bat批处理出现中文乱码的情况
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .NET Core中的去虚
  • .NET Framework 4.6.2改进了WPF和安全性
  • .net framework4与其client profile版本的区别
  • .Net 基于MiniExcel的导入功能接口示例
  • .net 简单实现MD5
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】