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

Glove-词向量

文章目录

  • 共现矩阵
  • 共线概率
  • 共线概率比
  • 词向量训练总结
  • 词向量存在的问题

上一篇文章词的向量化介绍了词的向量化,词向量的训练方式可以基于语言模型、基于窗口的CBOW和SKipGram的这几种方法。今天介绍的Glove也是一种训练词向量的一种方法,他是基于共现概率比的一种训练方式。

共现矩阵

首先共现二字很好理解,就是一起出现的意思。对一句话进行切分,可以分成 n n n个词,对于这 n n n个词,可以形成一个矩阵,矩阵里面的数字就代表着窗口内共同出现的次数,窗口可以选1,代表着两个词相邻出现的次数。窗口如果选2,就是相邻的3个词可以认为共同出现了。

例如语料:
今天 天气 不错
今天 天气 很 好
天气 很 好
天气 不错

可以形成以下共线矩阵

在这里插入图片描述

共线概率

j j j出现在词 i i i周围的概率,被称为词 i i i和词 j j j的共现概率 P ( X i j ∣ X j ) = X i j X j P(X_{ij}|X_j)=\frac{X_{ij}}{X_j} P(XijXj)=XjXij计算方式就是两个词共同出现的次数除于词 j j j的次数。

共线概率比

共现概率比就是两个共现概率的比值。
在这里插入图片描述
对于固体这个词,和冰出现的概率较大,而和蒸汽出现的概率较小,对于两者的比值就是就是一个较大的数字,而对于气体这个词是和冰的共线概率较小和蒸汽这个词的共线概率更大,他们的共线概率值就是一个较小的一个值。而对于中兴词,如水和流行两个词他们和冰与蒸汽的共线概率较为相近,共线概率比就为1。共线概率比就是能反应这样的意思,构建词向量对他们的共线概率比能接近上述的值。这种训练方式就被成为Glove的词向量训练方式。

问题转化:
给定三个词的词向量,Va, Vb, Vc三者的通过某个函数映射后,其比值应接近ABC的共现概率比
即目标为找到向量使得 f(Va, Vb, Vc) = P(A|B)/P(A|C),预测数值,属于回归问题, 损失函数使用均方差,f的设计论文中给出的是f(Va, Vb, Vc) = (Va - Vb )·Vc。

词向量训练总结

一、根据词与词之间关系的某种假设,制定训练目标。
二、设计模型,以词向量为输入。
三、随机初始化词向量,开始训练。
四、训练过程中词向量作为参数不断调整,获取一定的语义信息。
五、使用训练好的词向量做下游任务。

词向量存在的问题

  • 词向量是“静态”的。每个词使用固定向量,没有考虑前后文
  • 一词多义的情况。西瓜 - 苹果 - 华为,西瓜和苹果语义相近,苹果和华为语义相近,那么西瓜和华为是否语义接近呢?
  • 影响效果的因素非常多:维度选择、随机初始化、skip-gram/cbow/glove、分词质量、词频截断、未登录词、窗口大小、迭代轮数、停止条件、语料质量等
  • 没有好的直接评价指标。常需要用下游任务来评价
http://www.lryc.cn/news/410558.html

相关文章:

  • Plugin ‘mysql_native_password‘ is not loaded`
  • Hive数据类型
  • OSI七层网络模型:构建网络通信的基石
  • MSYS2下载安装和使用
  • 机器学习中的决策树算法——从理论到实践完整指南
  • FFplay介绍及命令使用指南
  • php实现动态登录
  • Servlet2-HTTP协议、HttpServletRequest类、HttpServletResponse类
  • 探索数据的内在世界:sklearn中分层特征聚类标签的可视化技术
  • airtest定位方法
  • 排列组合 n*(n-1)*(n-m+1)
  • Python面试整理-数据处理和分析
  • 职业教育计算机网络综合实验实训室建设应用案例
  • 【Docomo】5G
  • Servlet详解(Servlet源码)
  • 仓颉--接收控制台输入
  • 数据库设计效率提高的5大注意事项
  • C语言笔试题(一)
  • 轻松实现远程智能交互:OriginBot与钉钉和GPT4o的集成指南
  • Qt题目知多少-1
  • nginx的反向代理和负载均衡(seventeen day)
  • BES编译SDK中遇到的perl问题
  • 【康复学习--LeetCode每日一题】3111. 覆盖所有点的最少矩形数目
  • Django实战:开启数字化任务管理的新纪元
  • 史上最全网络安全面试题+答案
  • Python 爬虫入门(五):使用 lxml 解析网页
  • 阿里云RDS到亚马逊云RDS的实时数据同步方案详解
  • 《LeetCode热题100》---<滑动窗口篇两道>
  • Python学习计划——9.1多线程编程
  • 借助 NGINX 对本地的 Kubernetes 服务进行自动化的 TCP 负载均衡