一、词向量介绍
1、什么是词向量
词向量(Word Vector),也被称为词嵌入(Word Embedding),是一种将自然语言中的词语映射为低维连续实值向量的技术。它的核心目标是用数学向量的形式来表示词语,使得这些向量能够捕捉词语之间的语义和句法关系。
在传统的自然语言处理方法中,常常使用 one-hot 编码来表示词语。例如,假设词汇表中有 N 个词语,那么每个词语都可以表示为一个长度为 N 的向量,其中只有对应位置的元素为 1,其余元素都为 0。然而,这种表示方法存在很多缺点,比如向量维度高、无法表示词语之间的相似性等。
而词向量则不同,它通过训练的方式,将词语映射到一个低维的向量空间中。在这个空间中,语义相近的词语对应的向量在空间中的距离也比较近。例如,“国王” 和 “王后”、“男人” 和 “女人” 等语义相关的词语,它们的词向量在空间中的位置会比较接近。
2、为什么要使用词向量
(1) 解决 one-hot 编码的缺陷
one-hot 编码将每个词语视为独立的个体,无法体现词语之间的任何关系。而词向量能够通过向量之间的距离来表示词语的相似程度,使得模型能够更好地理解词语的语义。
(2) 捕捉语义和句法信息
词向量可以捕捉到词语之间的语义和句法关系。例如,通过词向量的运算,可以发现一些有趣的规律,如 “国王 - 男人 + 女人 = 王后”。这种语义的可计算性为自然语言处理任务提供了有力的支持
(3) 降低维度
one-hot 编码的维度等于词汇表的大小,当词汇表很大时,维度会非常高。而词向量的维度通常是几十到几百,这大大降低