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

[智能体-281]:静态词向量表的内容、使用方法详解、代码示例

静态词向量表(Word2Vec/GloVe/FastText)

特点:一个词语永久对应唯一向量,不随上下文变化

一、静态词向量表组成内容

由两部分:词索引字典+嵌入权重矩阵

  1. vocab 字典:word → index包含:PAD、UNK、常规词汇
  2. emb_matrix:shape=[词总数 V, 向量维度 d]`,每行是一个词向量

示例(d=3 维)

表格

indexwordvector
0[PAD][0.,0.,0.]
1[UNK][0.1,-0.2,0.3]
2苹果[0.52,0.13,-0.61]
3香蕉[0.48,0.15,-0.59]
4汽车[-0.72,0.33,0.11]

二、使用方法

1. 文本预处理步骤

1)分词 → 词语列表

2)词语查表转 id:存在取index,不存在→UNK(1)

3)短句补长→多余位置填PAD(0)

4)id 列表去词向量表索引对应向量,得到句子矩阵

示例:苹果 汽车

1. 分词:["苹果","汽车"]

2. 转 id:[2,4]

3. 固定长度 5 补 PAD:[2,4,0,0,0]

4. 查表取出对应 3 维向量

三、Python 简易代码示例

python

运行

import numpy as np # 1.构造静态词向量表,字典:通过单词的名称找到其索引。 vocab = { "[PAD]":0, "[UNK]":1, "苹果":2, "香蕉":3, "汽车":4 } # 词向量矩阵 V=5, dim=3,通过索引,找到其对应的N维向量。 emb_matrix = np.array([ [0.0, 0.0, 0.0], # PAD [0.1, -0.2, 0.3], # UNK [0.52, 0.13, -0.61], # 苹果 [0.48, 0.15, -0.59], # 香蕉 [-0.72, 0.33, 0.11] # 汽车 ]) # 2.句子转id函数 def text2ids(word_list, max_len=5): ids = [] for w in word_list: if w in vocab: ids.append(vocab[w]) else: ids.append(vocab["[UNK]"]) # 截断+补PAD if len(ids) > max_len: ids = ids[:max_len] else: ids += [vocab["[PAD]"]]*(max_len-len(ids)) return np.array(ids) # 3.根据id取词向量 def ids2emb(ids): return emb_matrix[ids] # 测试 sent = ["苹果","汽车","飞机"] #飞机不在词表→UNK word_ids = text2ids(sent,max_len=5) sent_emb = ids2emb(word_ids) print("词语id:",word_ids) print("句子向量:\n",sent_emb)

四、输出结果说明

plaintext

词语id: [2 4 1 0 0] 句子向量: [[ 0.52 0.13 -0.61] [-0.72 0.33 0.11] [ 0.1 -0.2 0.3 ] [ 0. 0. 0. ] [ 0. 0. 0. ]]
  • 飞机:无词汇→UNK(1)向量
  • 后两位补PAD(0)全零向量

五、真实预训练词向量使用补充

  1. Word2vec/GloVe 文件加载:读取 txt 词向量文件,构建vocab字典+emb矩阵
  2. 两种使用模式
  • 冻结模式:训练模型时词向量表固定不变(经典静态用法)
  • 微调模式:下游任务反向更新词向量数值,不再是原始静态向量

词向量表数值含义(静态词向量)

词向量里每一个浮点数,代表词语在某一个隐语义维度上的权重 / 坐标,整体 d 个数字 = 词语在 d 维语义空间的坐标。

1. 一句话总结

plaintext

[0.52, 0.13, -0.61](苹果) 三个数 = 3维语义空间的(x,y,z)坐标
  • 正数:在该语义维度偏向正向特征
  • 负数:在该语义维度偏向反向特征
  • 绝对值大小:该词语在这个语义特征上强弱程度

2. 具象举例(3 个维度人为释义,方便理解)

假设(实际是神经网络模型推算出来的,并不是人为定义的)预先隐含 3 个语义维度:

维度 1:水果属性

维度 2:电子产品属性

维度 3:交通工具属性

表格

词语向量释义拆解
苹果[0.52, 0.13, -0.61]水果分高 (+0.52)、微弱电子 (+0.13)、非交通工具 (-0.61)
香蕉[0.48, 0.15, -0.59]水果分高,和苹果维度数值接近→空间距离近、语义相近
汽车[-0.72, 0.33, 0.11]水果极低 (-0.72)、偏交通工具 (+0.11)

模型不会人为定义维度含义

维度是模型自学习出来的隐含语义特征

人没法直接看懂单个维度代表什么。

3. 数值的来源

数值由无监督训练(Word2Vec/GloVe)通过词语上下文共现规律学习得到:

  • 经常出现在相同上下文的词,在词向量表中各维度数值整体接近,向量距离小;
  • 几乎不共现的词,各维度数值差异大,向量距离大。

4. 数值作用

  1. 算相似度:两个词向量做余弦距离,数值越贴近,词义越像;
  2. 送入神经网络:作为词语的数字化特征,供分类、分词、翻译等任务计算。

5. 特殊向量数值含义

  1. PAD=[0,0,0]:填充占位,无任何语义信息;
  2. UNK 随机小数:未知词的平均语义表征。

补充:单个数字没有独立语义

不能单独拿某一位数字解释词义,语义是整组向量共同组合表达

例:只看第一个数 0.52 不知道含义,结合全部 3 个数才能定位词语在空间位置。

http://www.cnnetsun.cn/news/2786894.html

相关文章:

  • BetterNCM安装器完全手册:3分钟实现网易云插件强力升级
  • 谷哥找同片助手:相同视频片段自动寻找匹配功能使用说明
  • 苹果盛大的入场艺术:晚入场背后的系统性决策逻辑
  • 别再只当故事看了!用这个‘摩斯密码+手机键盘’的加密思路,给你的应用加一道趣味防线
  • 终极指南:用NVIDIA Profile Inspector解锁显卡隐藏性能,游戏体验飙升200%
  • 利用快马平台快速原型设计:三步构建cc switch下载管理器界面
  • AI智能体编写测试欠佳?掌握TDD技能或能提升60%成功率!
  • Gemini世界观构建实战手册(从零到可信智能体的认知基建)
  • 合成数据实战指南:从合规替代到长尾覆盖的工程落地路径
  • 接口自动化全字段清单
  • 如何彻底清理Windows旧驱动:Driver Store Explorer完整使用指南
  • Codeforces胡萝卜插件:3分钟掌握实时评级预测的终极指南
  • 充电桩安全风控:AI驱动的实时异常检测与分级响应
  • 提升游戏开发效率:用快马平台一键生成模块化cc switch系统框架
  • 多模态检索与工具调用的技术演进与实践
  • 树莓派玩转内网穿透:不用公网IP,用FRP+宝塔面板轻松实现远程访问摄像头画面
  • 从ABAQUS/ANSYS实战看拉格朗日与欧拉:你的仿真模型选对描述方法了吗?
  • 如何5分钟完成B站视频转文字:bili2text终极指南
  • 从集合关系到数据库设计:离散数学中的‘关系’到底怎么用?一个实例讲透
  • VK16K33BA 点阵数码屏驱动芯片高亮数显屏驱动LED驱动控制器工作温度-40~+8
  • 2026宿迁市权威认证贵金属回收 TOP5+黄金回收白银回收铂金回收门店地址电话推荐
  • 线性回归四大假设与多重共线性实战诊断指南
  • 第六智能学科:从AI工具使用到智能体设计的范式跃迁
  • 告别繁琐配置,用快马智能优化天元云防火墙策略效率翻倍
  • World Model(世界模型)系统
  • 别再手动下载了!教你用Docker Compose一键部署GeoServer+PostGIS,快速发布OSM地图服务
  • Excel进销存表格工具:带宏自动算库存、查销售、做报表
  • Android网络调试避坑指南:Linux/Windows的Ping命令参数差异全解析(-w vs -W)
  • 为什么92%的AI娱乐项目6个月内失败?——来自Netflix、腾讯、Sony联合技术白皮书的5条铁律(内部解密版)
  • 利用快马AI快速构建网盘管理界面原型,十分钟验证产品核心交互