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

机器学习——词向量模型(CBOW代码实现-未开始)

本来是不打算做这个CBOW代码案例的,想快马加鞭看看前馈神经网络
毕竟书都买好了
可是…可是…我看书的时候,感觉有点儿困难,哭的很大声…
感觉自己脑细胞可能无法这么快接受
要不,还是退而求个稍微难度没那么大的事,想想自己还有什么是没实现的呢
哦!CBOW的案例还没做呢~
在一个巨人面前,我无耻地选择了暂避其锋芒
就好像,我本应该英勇地迈过刀山火海,可是我却怂了
而且,怂的有理有据:CBOW还没实现呢
只希望,CBOW案例,不要太难,不然我根本寸步难行,只能天天打游戏聊以自慰

首先,我计划做一个客服预料包,然后用CBOW去预测某个中间关键词

目标明确后,问题接踵而至

问题1-能否用中文语料:不行,因为中文分词很麻烦,我懒得去搞分词,重点是CBOW
英文语料很简单,因为英文是一个词跟另一个词,用空格分开,获取十分简单

问题2-头尾单词怎么解决:毕竟CBOW是获取关键词的前c个和后c个单词来训练的,但开头单词没有前c个单词,末尾单词没有后c个单词
解决办法:用额外的单词替代,比如None,应该问题不大的吧

问题3-按句还是按所有句取上下文:如果是按句取上下文,那么一个句子开头和末尾单词的下文就是None,语料文件有很多个句子,就会有很多个None。
如果按所有句取上下文,那整个语料文件就只有开头有None,末尾有None,None数量很少
解决办法:还是按句吧,毕竟两句之间的上下文,是毫无关系的。

按照【基于HierarchicalSoftmax的CBOW】正反向传播流程,来设计程序吧!

【基于HierarchicalSoftmax的CBOW】正向传播过程

  • 输入层:
    • 转换独热编码:将词典D转换为one-hot独热编码,
    • 获取上下文:按规定上下文的长度k,来截取语库C里的上下文单词 x x x和预测单词 y ∗ y* y
    • 获取独热编码:获取上下文单词x的独热编码向量 x 1 x1 x1, x 2 x2 x2, x 3 x3 x3, x 4 x4 x4,作为初始输入矩阵X=[ x 1 x1 x1, x 2 x2 x2, x 3 x3 x3, x 4 x4 x4]
  • 投影层:
    • 计算中间向量:
      • 将初始矩阵X乘以一个权重矩阵W,提取出各个初始向量 x 1 x1 x1, x 2 x2 x2, x 3 x3 x3, x 4 x4 x4的权重系数 w 1 w1 w1 w 2 w2 w2 w 3 w3 w3 w 4 w4 w4
      • 将这些权重系数加和,作为中间向量h=[ w 1 w1 w1+ w 2 w2 w2+ w 3 w3 w3+ w 4 w4 w4],注意,这里的加和是按列加和
  • 输出层:
    • 构建huffman树,
    • 计算路径概率
    • 计算预测模型
http://www.lryc.cn/news/241394.html

相关文章:

  • 智慧海岛/海域方案:助力海洋空间智慧化、可视化管理
  • Bin、Hex、ELF、AXF的区别
  • IDEA安装教程
  • DRF-项目-(1):构建纯净版的drf项目,不再使用django的后台管理,django的认证,django的session等功能,作为一个纯接口项目
  • ubuntu 手动清理内存cache
  • gitBash中如何使用Linux中的tree命令
  • 【鸿蒙应用ArkTS开发系列】- 灌水区,鸿蒙ArkTs开发有问题可以在该帖中反馈
  • c语言习题1124
  • 线段树---数据结构学习
  • linux基础5:linux进程1(冯诺依曼体系结构+os管理+进程状态1)
  • JVM-基础
  • Baidu Comate 基于百度文心一言的智能编码助手
  • 基本微信小程序的图书馆座位管理系统
  • 2023年亚太杯数学建模A题水果采摘机器人的图像识别功能(免费思路)
  • AWS CLI和EKSCTL的客户端设置
  • 分组背包问题学习笔记 AcWing 9. 分组背包问题
  • JSP EL 算数运算符逻辑运算符
  • ubuntu22.04 arrch64版在线安装node
  • 腾讯云轻量数据库开箱测评,1核1G轻量数据库测试
  • Linux安全之AIDE系统入侵检测工具安装和使用
  • 【Flink】状态管理
  • 《微信小程序开发从入门到实战》学习二十八
  • 2824. 统计和小于目标的下标对数目 : 详解 “左找右“ “右找左“ 两种方式
  • windows电脑定时开关机设置
  • 微信小程序取消自定义默认标题
  • Vue3鼠标拖拽生成区域块并选中元素
  • [深度理解] 重启 Splunk Search Head Cluster
  • Python + Docker 还是 Rust + WebAssembly?
  • [汇编实操]DOSBox工具: unable to open input file: 文件名.asm问题解决
  • Windows安装MongoDB