15|向量与嵌入模型:揭秘人类与机器语言转化的奥秘
叶伟民
你好,我是叶伟民。
我们前面的案例都使用了人类语言作为系统的输入和输出。然而人类语言与计算机语言差别很大。
我们结合例子来体会一下,例如,假设有如下事物:
老婆饼
老婆
夫妻肺片
菠萝
菠萝包
如果使用简单的字符串查找方式来查找,我们很容易就会通过“老婆饼”查找到“老婆”,通过“菠萝包”找到“菠萝”。但这显然是错误的,它们都不是同一类事物。
为什么会这样呢?
为什么直接用简单的字符串查找方式不靠谱?
人类语言跟计算机不一样,现代计算机(冯诺依曼结构计算机)是数字计算机,所有事物进入计算机之后,归根到底都会变成数字。所以我们输入的人类语言最终将会转换为数字。
说到这里,有同学可能会说,这题我知道,这题我熟,所有字符串最终都会转换为 Unicode 编码之类的数字。
但是使用 Unicode 编码这种数字来表示字符串会面临一个问题——人类语言里面很多事物的形式和意义之间关系相差很大。例如前面提到的“老婆饼”和“老婆”、“菠萝包”和“菠萝”,英文里面也有同类问题,例如 dog(狗)和 log(日志),只有一个字母不同。
如果只是简单粗暴地使用 Unicode 编码之类的数字进行比较甚至计算的话,很明显是不行的。
使用枚举类型来表示事物
我们不妨换一种方式。你是否还记得每门计算机编程语言课程上都会提到的枚举类型?
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
1. 使用枚举类型和数字计算的方式来表示事物,存在无法准确区分相似事物的问题,需要更高级的方法来解决这一挑战。 2. 使用多维数组(向量)来表示事物,可以更准确地区分和比较事物之间的相似度,提高精度。 3. 随着向量维度的增加,精度会提高,但计算和存储成本也会增加,需要权衡选择合适的维度。 4. 通过嵌入模型获取事物的向量值,可以通过AI来生成这些事物的向量值,选择合适的嵌入模型是关键。 5. 不同版本的嵌入模型得出的向量值可能无法兼容,需要重新计算。 6. 向量值不仅可以用于表示单词或词组,还可以用于表示句子、甚至一段话。 7. 在处理不同方言的问题时,可能需要考虑多语言嵌入模型或其他解决方案。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《RAG 系统实战课 》,新⼈⾸单¥59
《RAG 系统实战课 》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论