来聊聊向量数据库(一)什么是是向量数据?

友情链接


前言

开个新坑,本系列文章将为您介绍,什么是向量数据库,为什么需要一个专用的向量数据库,向量数据库的底层架构原理有哪些?都涉及哪些算法?

感兴趣的小伙伴多多留言点赞,如果对这方面的内容已经有了一定了解,欢迎您上手体验星环科技推出的向量数据库社区版:Hippo社区版下载、安装及使用教程资源


背景--向量数据的产生

伴随互联网、移动互联网、物联网、5G等信息通信技术及产业的发展,全球数据量呈现爆发式增长的趋势。从智能设备收集的物联网 (IoT) 数据,到Web 应用程序或移动应用程序生成的用户行为数据,再到上传到社交媒体的视频,数据的生成速度呈指数级增长。根据International Data Corporation(IDC)数据显示,到2028 年,全球数据圈(global datasphere)(一种用于衡量全球永久性存储中创建、采集和存储的新数据总量的指标)预计将增长到 400 ZB(泽字节)(1 ZB = 1021 字节)。 届时,30%以上的数据将是实时生成的,而所有生成的数据中,80%将是非结构化数据。

什么是非结构化数据?

非结构化数据指的是无法以预定义格式存储或适合现有数据模型的数据,比如图像、视频、音频、用户行为等等。除了这些之外也有一些没那么常见的非结构化数据,比如蛋白质分子结构。这些数据不像结构化数据,无法定义为行和列的关系,尽管可以通过以标签的形式来标记这些数据,但是如果涉及图像或者是涉及上下文的语义搜索,则无法简单的通过打标签的形式来进行管理。

非结构化数据示例

非结构化数据可以由机器或人类生成。

机器生成的非结构化数据的示例

  • 传感器数据:从传感器收集的数据,例如温度传感器、湿度传感器、GPS 传感器和运动传感器;
  • 机器日志数据:机器、设备或应用程序产生的数据,包括系统日志、应用程序日志和事件日志;
  • 物联网 (IoT) 数据:从智能恒温器、智能家居助理和可穿戴设备等智能设备收集的数据;
  • 计算机视觉数据:这是由计算机视觉技术生成的非结构化数据,例如图像识别、对象检测和视频分析生成的非结构化数据;
  • 自然语言处理 (NLP) 数据:由 NLP 技术生成的数据,例如语音识别、语言翻译和情感分析;
  • Web和应用程序数据:Web服务器、Web应用程序和移动应用程序生成的数据,包括用户行为数据、错误日志和应用程序性能数据;

人类生成的非结构化数据的示例

  • 电子邮件:电子邮件通常是非结构化的,可以包含自由格式的文本、图像和附件;
  • 短信:短信可以是非正式的、非结构化的,比如包含缩写或表情符号等等;
  • 社交媒体:社交媒体内容的结构和内容可能有所不同,包括文本、图像、视频和主题标签;
  • 录音:人类生成的录音可以包括电话、语音邮件、音频文件和音频笔记,这些都是非结构化数据;
  • 手写笔记:手写笔记可以是非结构化的,包含绘图、图表和其他视觉元素;
  • 会议记录:会议记录可以包含非结构化文本、图表和操作项;
  • 文字记录:演讲、采访和会议的文字记录可以包含不同程度准确度的非结构化文本;
  • 用户生成的内容:网站和论坛上的用户生成的内容可以是非结构化数据,包括自由格式的文本、图像和视频文件;


非结构化数据的意义

与结构化/半结构化数据不同,非结构化数据的大小、格式各不相同,涉及截然不同的特征及索引。

以图像为例,如果对一样物品连续拍了三张照片,尽管这三张照片都是同一样物品在同一环境中拍摄的,但是他们的像素值、分辨率、文件大小、拍摄时间等等可能大不相同。

再比如说以狗狗为例,对于我们人类来说区分狗狗会比较容易,因为我们可以多角度的去观察去了解它们不同的特征。但是如果想要通过数据去表述,则需要增加更多维度的信息辅助分析,比如他们的体型、毛发的长短、鼻子的长短、服从性,攻击性等等。

非结构化数据真正有意义的地方不在于数据本身的物理表示,而在于他背后隐藏的语义特征。


非结构化数据的挑战

因此,这对需要应用此类数据的公司及相关行业提出了新的挑战:我们应该如何以类似于结构化/半结构化数据的方式来转换、存储和搜索此类非结构化数据?如果非结构化数据没有固定的大小和格式,我们应该如何搜索和分析它?

答案是:利用机器学习(或者更具体地说,深度学习)模型的嵌入功能来将真实世界数字化的抽象出来。

在过去十年中,大数据和深度神经网络的结合从根本上改变了我们处理数据驱动应用程序的方式,比如大型语言模型、生成式 AI 和语义搜索的应用程序等等,这些应用程序可以以极快的速度筛选庞大的数据集,产生创新的见解,为业务赋能。大部分AI技术,比如像神经网络模型能够将非结构化数据背后的语义特征进行识别、提取,转换为浮点值列表,映射或者嵌入到一个高维的向量空间里。其中,依赖的则是嵌入以及嵌入向量的功能

嵌入向量(Embedding vectors),也被成为向量嵌入或特征向量,是一种数据表示,具有大量属性或特征,例如照片的组成部分、视频中的选定帧、地理空间数据等等。在人工智能和机器学习的背景下,这些特征代表了数据的不同维度,这些维度对于理解模式、关系和底层结构至关重要,可以便于AI理解并执行复杂任务,比如以图搜图等等。经过适当训练的神经网络模型可以输出表示各类语义信息的嵌入,如图像。

嵌入(Embedding)则是将各类非结构化数据进行抽象转化为多维向量,并描述出这些实体之间的种种关系的过程。

传统的数据库没有办法直接去处理非结构化数据背后的语义特征信息,所以嵌入技术将这种无法直接处理的原始数据的特征信息,做了一个结构化的一个过程。


总结

本篇文章主要介绍了在AI时代非结构化数据面临的挑战以及为什么会出现向量数据,下一篇将为读者介绍向量数据库的能力有哪些,为什么需要专用的向量数据库而非向量搜索库或者基于传统数据库增加向量索引??


评论
登录后可评论
发布者
星小环分享号
文章
187
问答
224
关注者
27
banner
关注星环科技
获取最新活动资讯

加入TDH社区版技术交流群

获取更多技术支持 ->

扫描二维码,立即加入