AI大模型 之 词向量(Word to Vector)

词向量 ≈ 词嵌入

词向量词嵌入 都是指,将单词转换成向量,然后再使用余弦相似度计算单词相似度。一个指向量,一个指转换成向量的过程。

稀疏向量 与 稠密向量

  • 稀疏向量,大部分元素都是 0 0 0,只有少数非 0 0 0。稀疏向量通常用于表示高维数据,其中许多维度值为 0 0 0。上一篇笔记中介绍的词袋模型就是一种稀疏向量表示。在词袋模型中,每个文档用一个向量表示,向量的长度等于词汇表中的词数量,向量的每个元素表示相应词在文档中出现的次数。由于大部分单词可能不会出现在给定的文档中,因此词袋模型中的向量通常是稀疏的。
  • 稠密向量,大部分元素非 0 0 0,稠密向量通常具有较低的维度。能够捕捉到更丰富的信息。 W o r d 2 V e c Word2Vec Word2Vec 就是一种典型的稠密向量表示。稠密向量能够捕捉词与词之间的语义和语法关系,使得具有相似含义和相关性的词在向量空间距离较近。

Word2Vec的实现方式

  1. C B O W CBOW CBOW (Continuous Bag of Words) 连续词袋模型,通过给定上下文(也叫周围词)来预测目标词(也叫中心词)
  2. S k i p − G r a m Skip-Gram Skip−Gram 跳字模型,通过给定目标词来预测上下文词。

这两种模型都是通过训练神经网络来学习词向量的。在训练过程中,通过最小化预测词和实际词之间的损失来学习词向量。当训练完成后,词向量可以从神经网络的权重中提取出来。

CBOW示意:

graph TD A[孙悟空] --> D B[打] --> D C[白骨精] --> D D{{sum}} --CBOW--> E[三: 目标词]

Skip-Gram示意:

graph TD A[三] --> B(Skip-Gram) B --上下文--> C[孙悟空] B --上下文--> D[打] B --上下文--> 白骨精

In

python 复制代码
# 定义一个句子列表,后面会用这些句子来训练CBOW和Skip-Gram模型
sentences = ["Kage is Teacher", "Mazong is Boss", "Niuzong is Boss",
             "Xiaobing is Student", "Xiaoxue is Student",]
# 将所有句子连接在一起,然后用空格分隔成多个单词
words = '  '.join(sentences).split()
# 构建词汇表,去除重复的词
word_list = list(set(words))
# 创建一个字典,将每个词映射到一个唯一的索引
word_to_idx = {word: idx for idx, word in enumerate(word_list)}
# 创建一个字典,将每个索引映射到对应的词
idx_to_word = {idx: word for idx, word in enumerate(word_list)}
vec_size = len(word_list) # 计算词汇表的大小
print("词汇表:", word_list) # 输出词汇表
print("词汇到索引的字典:", word_to_idx) # 输出词汇到索引的字典
print("索引到词汇的字典:", idx_to_word) # 输出索引到词汇的字典
print("词汇表大小:", vec_size) # 输出词汇表大小

Out

css 复制代码
词汇表: ['Xiaoxue', 'Mazong', 'Kage', 'Xiaobing', 'Student', 'Teacher', 'Niuzong', 'Boss', 'is']
词汇到索引的字典: {'Xiaoxue': 0, 'Mazong': 1, 'Kage': 2, 'Xiaobing': 3, 'Student': 4, 'Teacher': 5, 'Niuzong': 6, 'Boss': 7, 'is': 8}
索引到词汇的字典: {0: 'Xiaoxue', 1: 'Mazong', 2: 'Kage', 3: 'Xiaobing', 4: 'Student', 5: 'Teacher', 6: 'Niuzong', 7: 'Boss', 8: 'is'}
词汇表大小: 9
相关推荐
Esaka_Forever5 分钟前
Skills安全要点总结
安全·llm
TechEdu2026069 小时前
[人工智能]Claude、GPT、Gemini、Copilot与Llama:概念、架构、应用与评估
人工智能·ai·llm
长谷深风1119 小时前
为什么你的 Tool 总被模型选错?
java·大数据·ai·llm·ai agent·工具设计·agent设计
boooooooom10 小时前
尝尝咸淡:从朴素 RAG 到 Graph RAG——一个烹饪问答系统的三层检索升级之路
前端·后端·llm
武子康13 小时前
33B 音画模型塞进 Apple Silicon,h3.c 重写了哪些 Runtime 职责
人工智能·llm·agent
知几蜗牛13 小时前
一张图看懂AI、机器学习、深度学习和生成式AI之间的关系
llm
XLYcmy13 小时前
小红书 算法一面 十一
google·meta·llm·负载均衡·token·moe·glam
谢白羽14 小时前
Mooncake在LLM的kv cache offload
人工智能·llm·论文·agent·mooncake
牧艺1 天前
DeepSeek Harness 上手:一切皆插件的 Agent 运行时,核心流程怎么走
llm·agent·deepseek
魔术师Grace1 天前
模型“开源”了,就能直接拿来做 Agent 吗?
llm·aigc·agent