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

词向量 ≈ 词嵌入

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

稀疏向量 与 稠密向量

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

Word2Vec的实现方式

  1. <math xmlns="http://www.w3.org/1998/Math/MathML"> C B O W CBOW </math>CBOW (Continuous Bag of Words) 连续词袋模型,通过给定上下文(也叫周围词)来预测目标词(也叫中心词)
  2. <math xmlns="http://www.w3.org/1998/Math/MathML"> S k i p − G r a m Skip-Gram </math>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
相关推荐
TGITCIC1 小时前
RAG中的语义理解与语义检索:别再混为一谈
llm·rag·ai agent·ai智能体·ai产品·大模型ai·rag增强检索
坐吃山猪5 小时前
BrowserUse11-源码-LLM模块
python·llm·playwright·browser-use
AI大模型6 小时前
一篇图文彻底搞懂什么是AI Agent
程序员·llm·agent
云雾J视界10 小时前
AIOps失效?用“思考的魔方®“破解运维复杂性的三重维度
llm·aiops·工具链·cld·心智模式·边界重构
AI大模型学徒10 小时前
大模型应用开发(十五)_知识库1
人工智能·chatgpt·大模型·llm·知识库·deepseek
flying_131411 小时前
推荐大模型系列-NoteLLM-2: Multimodal Large Representation Models for Recommendation(二)
llm·对比学习·多模态大模型·icl·notellm·micl·late fusion
flying_131412 小时前
推荐大模型系列-NoteLLM-2: Multimodal Large Representation Models for Recommendation(三)
llm·推荐系统·多模态大模型·mllms·mlrms·端到端训练·生成式大模型
302AI13 小时前
GLM-4.6V 实测:当视觉模型学会“动手”,它离“顶尖”还差什么?
llm·chatglm (智谱)
小鱼小鱼.oO13 小时前
4 大主流思考框架:CoT、ReAct 、Plan-Act 与 Plan-and-Execute
llm·框架