“嵌入”在大语言模型中是解决把句子转换成向量表示的技术

上一篇:《人工智能是这样理解“情绪”的》

序言:这段话要优化吗?““嵌入”是一种将句子、单词或其他语言单位转换为向量表示的技术。这个向量通常位于高维空间中,它以一种能够表达相似性的方式编码出文本的含义或上下文。嵌入层的作用就在于把离散的语言符号(如单词或句子)转换成连续的向量,使得模型能更好地理解和处理语言之间的关系。其实我们人类的大脑也是这样干的,只是我们自己无法感知而已,我们最终得到的就是某个“记忆”,可以供人类随时使用的“记忆”也就是特征,所以让人工智能来识别人类说话中包含的情绪也只是将整句话转换成了向量后才能通过计算得到结论。

在 TensorFlow 人工智能开发框架中使用“嵌入”层

正如你在 Dense 和 Conv2D 中所见,tf.keras 使用嵌入层来实现嵌入。这会创建一个查找表,将一个整数映射到一个嵌入表,其中的内容是表示该整数对应单词的向量系数。例如,在上个章节的《傲慢与偏见》示例中,x 和 y 坐标会为我们提供某个书中人物的嵌入。当然,在实际的 NLP 问题中,我们会使用远多于两个维度。因此,向量空间中的向量方向可以视为编码了单词的“含义”,而那些指向大致相同方向的相似向量所代表的单词则可以被认为是与该单词相关的。

嵌入层将被随机初始化——也就是说,向量的坐标一开始是完全随机的,在训练过程中通过反向传播学习得到。当训练完成时,嵌入会粗略编码出单词之间的相似性,使我们可以基于这些单词的向量方向识别出某种程度上相似的单词。

这些内容相当抽象,所以我认为理解嵌入的最佳方式是动手实践。让我们从使用第五章的讽刺数据集来构建一个讽刺检测器开始。

使用”嵌入”技术设计一个讽刺情绪检测器

在第五章中,你加载并对一个名为《讽刺检测新闻标题数据集》的 JSON 数据集(简称讽刺数据集)进行了预处理。处理完成后,你会得

### 如何使用嵌入模型将文本转换向量并存储到向量数据库 #### 嵌入模型的工作流程 为了实现将文本数据转化为可以被机器理解的形式,通常会经历一系列标准化的预处理阶段以及后续的向量生成过程。具体来说: - **文本预处理** 是指通过移除无关紧要的信息来优化原始文本的质量。这一步骤可能涉及删除停用词(如“the”,“is”)、标点符号以及其他噪声字符,并执行诸如分词和归一化这样的操作[^1]。 - 接下来,在完成上述清理工作之后,需采用一种合适的嵌入技术或深度学习框架把经过净化后的词语映射成数值型表示形式——即所谓的高维度空间中的稠密向量。这些向量能够捕捉单词之间的语义关系,使得相似含义的内容拥有相近位置分布特征。 #### 向量数据库的选择与应用 一旦获得了代表各个文档片断或者句子意义表达的有效编码方式,则可考虑将其持久保存以便日后检索查询之用。目前市面上存在多种专为此目的设计开发出来的高效解决方案可供选用,其中包括但不限于Pinecone、Weaviate、FAISS 和 Milvus 等工具平台。它们各自具备独特优势特性以满足不同场景需求下的性能指标要求。 以下是基于 Python 的简单示例代码展示如何创建一个基本管道用于从给定字符串集合构建其对应的矢量表现形式并将结果提交至选定的目标系统中去管理维护: ```python from sentence_transformers import SentenceTransformer import pinecone # 初始化 Pinecone 客户端连接参数配置 (替换为自己账户的具体信息) pinecone.init(api_key="your_api_key", environment="your_env") # 加载预先训练好的 BERT 变体作为我们的嵌入函数实例对象 model = SentenceTransformer('all-MiniLM-L6-v2') texts = ["example text one", "another piece of content"] # 将每条记录传递给模型得到相应的低维实数数组输出 embeddings = model.encode(texts) index_name = 'my-index' if index_name not in pinecone.list_indexes(): pinecone.create_index(index_name, dimension=embeddings.shape[1]) index = pinecone.Index(index_name=index_name) # 插入数据项进入索引结构内部等待进一步分析调用 for i, vec in enumerate(embeddings): index.upsert([(str(i), list(vec))]) ``` 此脚本首先定义了一个小型测试集 `texts` ,接着运用 Hugging Face 提供的开源库加载名为 all-MiniLM-L6-v2 的 transformer 架构版本充当实际计算逻辑核心组件;最后借助官方 API 方法逐步建立起远程服务端上的新表单实体及其关联属性字段布局安排情况概述说明如下所示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值