“易速鲜花”内部员工知识库问答系统学习笔记【原理篇】

55 阅读3分钟

我正在参加「豆包MarsCode AI练中学体验活动」详情请看:掘金小册上线 AI练中学功能 | 你的 AI 编程助教喊你免费领小册啦!

“易速鲜花”内部员工知识库问答系统原理学习笔记

“易速鲜花”内部员工知识库问答系统是一个信息检索工具,它是一个智能的助手,能够理解员工的自然语言查询,并提供精确的答案。

昨天学习了他的搭建,初步了解了一下代码流程。今天紧接着对他的【原理】进行学习

原理学习

昨天的文章提到,训练这样一个系统无非就两步

  1. 把文档上传数据库
  2. AI能够从数据库中匹配最恰当的回答

但这两步之外,我们还需要解决一些其他问题——

Q1:文档数据怎么存?---词嵌入与向量数据库的原理

向量数据库是这个系统的核心。

在传统的数据库中,我们存储的是结构化的数据,而向量数据库则专门用来存储高维向量数据

这些向量是从非结构化的文本数据中提取出来的,通过词嵌入技术将文本转换为机器可以理解的数值

援引小册的一段话,我觉得写的很好——

词嵌入(Word Embedding)是自然语言处理和机器学习中的一个概念,它将文字或词语转换为一系列数字,通常是一个向量。简单地说,词嵌入就是一个为每个词分配的数字列表。这些数字不是随机的,而是捕获了这个词的含义和它在文本中的上下文。因此,语义上相似或相关的词在这个数字空间中会比较接近。

举个例子——

{81DF464E-9FAD-42A6-9FBB-D164804BE601}.png

我们这里将man、woman、king、queen四个词语,映射到一个7维的空间中,每个词语都对应了一个7维的向量。很神奇吧,竟然能把一连串“语言”转换成“数字,这就是词嵌入。

更重要的是,通过向量运算你可以得到向量("king")−向量("man")≈向量("queen")-向量("woman")。我们就可以知三求一。那么很多复杂的信息都可以用一些基础的词汇向量进行运算表达。

Q2:怎么才能匹配最恰当的答案?---余弦相似度

余弦相似度是衡量两个向量在方向上的相似程度的指标。

在问答系统中,它被用来比较用户的问题向量和知识库中的文档向量。余弦相似度的值越接近1,表示两个向量的方向越相似,也就是说,文档内容与用户的问题越相关

{9BE193D2-DC5A-4D1E-81F0-6C082F9F14FA}.png

我们只需要将查询问题 vqueryv_{query} 与文档某一条信息vdocumentv_{document}作余弦相似度,最相似的,即是我们要回答的答案。

其具体公式为

{0B35294B-020B-4D08-86F3-AB35A24C4AED}.png

感悟

通过这次学习,我初步理解了“易速鲜花”内部员工知识库问答系统的工作原理。从向量数据库的高效存储,到分词技术的精确切割,再到余弦相似度的智能比较,每一个环节都是AI技术进步的体现。

这些技术显著提高了信息检索的效率。我相信,随着AI技术的不断发展,我们的生活将变得更加便捷和智能。