词向量

词向量

在机器学习和自然语言处理(NLP)中,词向量(Embeddings)是一种将非结构化数据,如单词、句子或者整个文档,转化为实数向量的技术。词向量背后的主要理念是 相似或者相关的对象在向量空间中的距离应该很近

词向量将单词转换为固定的静态的向量,虽然可以一定程度上捕捉并表达文本中的语义信息,但忽略了单词在不同语境中的意思会受到影响的情况。RAG应用中使用的向量技术一般为通用文本向量(Universal text embedding),该技术可以对一定范围内任意长度的文本进行向量化,与词向量不同的是向量化的单位不再是单词而是输入的文本,输出的向量会捕捉更多的语义信息。

词向量的优势:

  • 词向量比文字更适合检索。数据检索时,如果数据库存储的是文字,主要通过关键词等方法找到相对匹配的数据,匹配的程度取决于关键词数量或者完全匹配的查询语句。词向量包含了原文本的语义信息,可以通过计算问题与数据库中数据的点积、余弦距离、欧几里得距离等指标,直接获取问题与数据在语义层面的相似度。
  • 词向量比其它媒介的综合信息能力更像,当传统数据库存储文字、声音、图像、视频等多种媒介时,很难去将上述多种媒介构建起关联与跨模态的查询方法。词向量可以通过多种向量模型将多种数据映射成统一的向量形式。

构建词向量的方法

搭建RAG系统时,往往通过使用嵌入模型来构建向量。

  • 各个公司的Embedding Api。
  • 在本地使用嵌入模型将数据构建为词向量。