重庆高考征集志愿网站,山东网站建设市场,seo优化系统哪个好,优化师简历你好#xff0c;我是 shengjk1#xff0c;多年大厂经验#xff0c;努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注#xff01;你会有如下收益#xff1a;
了解大厂经验拥有和大厂相匹配的技术等
希望看什么#xff0c;评论或者私信告诉我#xff01; 文章目录 一…你好我是 shengjk1多年大厂经验努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注你会有如下收益
了解大厂经验拥有和大厂相匹配的技术等
希望看什么评论或者私信告诉我 文章目录 一、背景二、什么是 embedding三、为什么需要 embedding3.1 降维处理3.2 捕捉语义关系3.3 更好的特征表示3.4 提高计算效率3.5 适应性强 四、emdedding 原理4.1 向量空间模型4.2 训练方法4.3 常用算法4.4 相似性度量4.5 特征学习4.6 利用上下文 五、embedding 应用场景1. **自然语言处理NLP**2. **推荐系统**3. **计算机视觉**4. **图结构数据**5. **生物信息学**6. **音频处理**7. **RAG** 六、embedding 使用七、总结 一、背景
目前在实现 NL2SQL 就是将人的自然语言通过 LLMs 的一系列处理在这个过程中会把文本向量化后存储到向量数据库中然后通过向量搜索这个过程中发现文本 embedding 后通过向量化搜索效果很是惊人就跟程序能读懂人的语言一样。于是对 embedding 产生了兴趣
二、什么是 embedding
embedding 是自然语言处理 (NLP)中的一种变革性技术它改进了机器理解和处理人类语言的方式。其将原始文本转换为数字向量让计算机更好地理解它。
因为计算机只能用数字思考无法独立理解人类的语言。借助文本嵌入计算机可以更轻松地阅读、理解文本并对查询提供更准确的响应。
下图可以更加形象的理解 embedding 是一种将文本中的单词或短语转换为机器可以理解的数字数据的方法。可以将其视为将文本转换为数字列表其中每个数字都表示文本的一部分含义。这种技术可以帮助机器掌握单词之间的上下文和关系。
三、为什么需要 embedding
embedding 在机器学习和自然语言处理中的重要性主要体现在以下几个方面
3.1 降维处理
高维数据问题原始数据通常是高维的处理高维数据会导致计算复杂性增加且容易出现“维度灾难”。低维表示通过 embedding可以将高维数据映射到低维空间减少计算负担并提高处理效率。
3.2 捕捉语义关系
相似性表示embedding 能够将语义相似的对象如词语或图像映射到相近的向量使得相似性度量变得直接和有效。保留上下文信息在自然语言处理中embedding 可以反映词语的上下文关系从而更好地理解词语的含义。
3.3 更好的特征表示
稠密表示与传统的独热编码one-hot encoding相比embedding 提供了更稠密且具备语义信息的特征表示。泛化能力通过将数据映射到语义空间模型能够在新数据上具有更好的泛化能力。
3.4 提高计算效率
向量运算在低维空间中可以快速进行向量之间的计算如点积、余弦相似度等提高模型的响应速度。简化算法使用 embedding 的模型通常比传统方法更简单且易于训练。
3.5 适应性强
多领域应用embedding 可以广泛应用于文本、图像、音频等多个领域具有很强的适应性。模型可扩展性可以轻松地将新的数据嵌入现有的 embedding 空间。
四、emdedding 原理
embedding 的原理主要基于将高维数据映射到低维空间的技术以下是其核心概念和原理
4.1 向量空间模型
基本思想将每个对象如词、句子或图像表示为一个向量在一个稠密的、低维的向量空间中这些向量能够反映对象之间的相似性和关系。
4.2 训练方法
无监督学习embedding 通常通过无监督学习算法进行训练这使得模型能够从大量数据中学习各个对象之间的隐含关系而无需人工标注。
4.3 常用算法
Word2Vec Skip-Gram通过预测上下文中的词来学习词向量。CBOWContinuous Bag of Words通过上下文词预测中心词。 GloVeGlobal Vectors for Word Representation 基于词共现矩阵通过优化目标函数捕获全局统计信息。 FastText 在词的基础上考虑了子词n-grams提高了对未登录词的处理能力。
4.4 相似性度量
欧几里得距离和余弦相似度在 embedding 空间中可以使用这些度量方法来计算对象之间的相似性。相似的对象在向量空间中距离较近。
4.5 特征学习
隐含特征通过 embedding模型能够自动学习到数据的隐含特征并将其压缩到一个低维度的表示中提高了计算效率和模型性能。
4.6 利用上下文
上下文信息通过训练时考虑上下文embedding 能够捕捉到词义的多义性和词与词之间的关系从而获得更准确的表示。
五、embedding 应用场景
embedding 的应用场景非常广泛主要包括以下几个领域
1. 自然语言处理NLP
词嵌入使用像 Word2Vec、GloVe 或 FastText将词转换为向量捕捉词的语义关系。情感分析通过文本的向量表示分析文本情绪和态度。机器翻译将源语言和目标语言的句子转化为向量以提高翻译质量。
2. 推荐系统
用户和物品嵌入将用户和商品映射到同一向量空间通过计算相似性进行个性化推荐。协同过滤使用用户与物品之间的嵌入表示挖掘潜在的推荐关系。
3. 计算机视觉
图像嵌入利用卷积神经网络CNN将图像转换为向量进行相似图像检索、分类等。人脸识别将人脸图像嵌入到向量空间用于身份验证。
4. 图结构数据
图嵌入将节点的特征和结构信息嵌入到低维空间处理社交网络、知识图谱等问题。社区检测和图分类通过节点嵌入识别社交网络中的社群结构。
5. 生物信息学
基因和蛋白质嵌入将生物序列转换为向量进行基因功能预测、药物发现等。
6. 音频处理
音频嵌入将音频信号转换为向量表示用于音频分类、语音识别和音乐推荐。
7. RAG
向量化基于大模型的向量化
embedding 技术能够在许多领域提供有效的数据表示增强模型的性能并提高计算效率。它在自然语言处理、计算机视觉、推荐系统以及生物信息学等多个领域都有重要应用。
六、embedding 使用
这里我们用 huggingface m3e-base 模型的例子
from sentence_transformers import SentenceTransformermodel SentenceTransformer(moka-ai/m3e-base)#Our sentences we like to encode
sentences [* Moka 此文本嵌入模型由 MokaAI 训练并开源训练脚本使用 uniem,* Massive 此文本嵌入模型通过**千万级**的中文句对数据集进行训练,* Mixed 此文本嵌入模型支持中英双语的同质文本相似度计算异质文本检索等功能未来还会支持代码检索ALL in one
]#Sentences are encoded by calling model.encode()
embeddings model.encode(sentences)#Print the embeddings
for sentence, embedding in zip(sentences, embeddings):print(Sentence:, sentence)print(Embedding:, embedding)print()七、总结
Embedding技术显著改善了机器对自然语言的理解能力通过将高维文本数据转换为低维向量计算机能够更有效地处理和响应人类语言。它的多领域适应性和强大的特征表示能力使其在现代AI应用中扮演了至关重要的角色。