极高的维度对于捕捉自然语言中的复杂和细微的差别来说非常重要,这里面包含了诸如语气、语境和语法特征等等。也就是说,一个向量不仅能够区分一段文字的字面含义,还能够捕捉到文字的情感。
通过将高维和分类数据转换为低维、连续的表示形式,向量嵌入能够将复杂的数据转换为适合机器学习算法处理的格式。这样的处理不仅能够提高模型的性能和计算效率,还能够保留数据的内在模式。
下面是一张展示了 8 个示例维度的数值范围的表格。
| 特征 | 描述 | 范围 |
| 具体性(Concreteness) | 测量单词的具体或抽象程度 | 0 到 1 |
| 情感(Emotional Valence) | 单词所关联的正面或负面情感 | -1 到 1 |
| 频率(Frequency) | 单词在语料库中出现的频率 | 0 到 1 |
| 长度(Length) | 单词中的字符数 | 0 到 1 |
| 词性(Part of Speech) | 以 one-hot 编码的名词、动词、形容词等 | 4x [0,1] |
| 正式程度(Formality) | 单词所关联的正式程度 | 0 到 1 |
| 特异性(Specificity) | 单词的具体程度或一般程度 | 0 到 1 |
| 感官关联(Sensory Association) | 单词与感官体验的关联程度 | 0 到 1 |
表格中提到的One-hot 编码是一种将分类数据转换为二进制表示的方法,广泛用于机器学习和深度学习中。
其核心思想是:将一个具有 nnn 个类别的分类变量表示为一个长度为 nnn 的向量,其中只有一个位置的值为 1,其余位置的值为 0。
举个例子,假设我们有三个类别:猫、狗和鸟,我们可以用以下 one-hot 编码表示它们:
•猫:1, 0, 0
•狗:0, 1, 0
•鸟:0, 0, 1
每个类别都有自己唯一的向量表示,1 的位置指示当前类别,其余位置为 0。这种编码方式不会赋予类别任何顺序或大小,适用于不具备数值意义的分类数据。
比如按照以上的表格,单词cat可能会是以下的向量表示:
[0.9,0.2,0.7,0.3,1,0,0,0,0.4,0.8,0.9]
而单词freedom可能是:
[0.1,0.8,0.6,0.7,1,0,0,0,0.7,0.3,0.2]
每一个向量就像是独特的标识符,不仅包含了单词的含义,还反映了当前单词与其他单词之间的关系。
含义相似的单词在数值空间中的向量就像是地图上的相邻点一样也会靠的越近。
下面这张散点图很形象的展示了单词的向量嵌入概念。空间中的每一个点都代表一个单词,它的位置由单词的向量嵌入决定。
聚集在一起的蓝色点表示的是与动物相关的单词:catdogpetanimal,而红色的点表示的是与车辆相关的单词:carvehicle。
Word2Vec是一种可以用于为单词分配向量的 NLP 技术。
它自身是一种机器学习模型,可以基于单词在大规模的语料库中的上下文来学习单词之间的关联。这些学习到的关系会被编码为数值向量,随后就可以应用于各种 NLP 任务。
Word2Vec 通过两种主要架构来捕捉单词关系:CBOW 和 Skip-gram,下面表格展示了它们之间的区别。
| 架构 | 过程 | 计算效率 | 捕捉的关系 | 对频繁单词的敏感度 |
| CBOW | 根据上下文单词预测目标单词 | 训练速度较快 | 更擅长捕捉句法关系(语法规则) | 对频繁单词更敏感 |
| Skip-gram | 根据目标单词预测周围的上下文单词 | 训练速度较慢 | 更擅长捕捉语义关系(文本含义) | 对频繁单词的敏感度较低 |
嵌入技术的多样性不仅限于单个单词的领域,句子嵌入能够捕捉整个句子的整体含义。将句子表示为密集向量,我们可以衡量不同文本之间的语义相似性。
与单词嵌入是高维空间中的点一样,句子嵌入也是向量。只是说它们通常具有更高的维度,这样才能适应句子级信息的复杂性。
我们可以对这些结果向量进行数学运算,以衡量语义相似性,从而可以执行更复杂的任务,比如信息检索、文本分类和情感分析。
一种简单的方法是对句子中所有单词的嵌入取平均值。虽然这种方法比较基础,但一般能够提供一个不错的基线结果。
为了捕捉更复杂的语义和句法信息,更高级的技术如循环神经网络(RNNs)和基于 Transformer 的模型被广泛应用。
下面这张表格展示了它们的区别。
| 架构 | 处理方式 | 上下文理解 | 计算效率 |
| RNNs | 顺序处理 | 侧重局部上下文 | 对于长序列效率较低 |
| 基于 Transformer 的模型 | 并行处理 | 能够捕捉长距离依赖 | 对长序列也具备高效性 |
尽管 RNN 曾在很长一段时间内占据主导地位,但在许多自然语言处理任务中,包括生成句子嵌入,Transformer 模型已经在性能和效率上超越了 RNN。不过,RNN 仍在某些需要顺序处理的特定应用中发挥作用。
除了文本以外,向量嵌入还可以应用到以下这些领域。
• 图像也可以转化为数值表示,可以应用在图像搜索、物体识别和图像生成等领域。
• 产品嵌入通过根据用户偏好和购买历史找到相似产品,在电商领域推动个性化推荐。
• 音频数据可以转化为嵌入,发展音乐发现和语音识别技术。
• 时间序列数据(如股票价格或传感器读数)可以转换为嵌入,从而揭示隐藏的模式(如果真的有的话)并作出准确预测。
• 图数据(如社交网络或知识库)可以表示为向量,用于分析复杂的关系并提取有价值的见解。
• 文档可以被转化为嵌入,可以辅助开发出高效的搜索引擎和智能文档管理的应用。
• 代码片段可以表示为嵌入,支持高级代码搜索和推荐系统,比如 GitHub Copilot、Cursor 等。
| 欢迎光临 链载Ai (https://www.lianzai.com/) | Powered by Discuz! X3.5 |