运用 Elasticsearch 8.1.x 实现智能问答系统
序言
图示:一个简单的智能问答系统。
在当前业务系统中,是否感受到越来越多的智能化个性业务诉求,做一个智能化的商品搜索,用于检索商品的相似性;做一个图片搜索,检索相似的图片;做一个语音搜索,检索相似度极高的音频,这种智能化的需求越来越多。
可能你听过看过很多机器学习或者深度学习的“名词“,对于一些常规的应用工程师来说,这些距离个人很远,打开各种算法网站,看到各种模型,看的头疼。
可能你是一个高学历的深度学习方面工程师,当面对业务复杂的需求时,也会两难,虽然掌握了很多深度学习模型,但在具体工程落地实践时,遇到很多困惑,如何解决海量的向量存储,如何解决海量的检索,如何与应用工程师搭配等。
以上是我们一个个IT领域工程师都会有的困惑,单个人精力有限,有的人擅长工程实践,有的人擅长算法模型,所以得需要找到一个中间衔接点,这个点就是 "Elasticsearch”
Elasticsearch 是如何解决问题的?
dense_vector
2019年4月,Elasticsearch发布了7.0版本,带来了很多新特性,其中增加了新的字段类型dense_vector,向量字段类型为智能搜索提供了最关键的基石,可广泛应用于文本相似度搜索、图片相似度搜索、语音相似度搜索等。
同时借助于Elasticsearch的架构特性,既可以解决海量数据的存储,也可以解决海量数据的检索,非常完美的解决了深度学习工程师的工程问题。
如下案例:设置字段类型为 dense_vector
PUT xxx-index-01
{"mappings": {"properties": {"my_vector": {"type": "dense_vector","dims": 3,"index": true,"similarity": "dot_product"}}}
}
knn-search
2022年2月,Elasticsearch发布了8.0版本,同样带来很多新特性,其中最关注的是knn-search,提供了一种更加高效的索引算法,检索效率同比之前大幅度提升,在此之前只能通过简单粗暴的全表三角函数计算。
如下案例:基于_knn_search 构建向量检索
#KNN检索:_knn_search,构建向量检索
GET my-index/_knn_search
{"knn": {"field": "image_vector","query_vector": [0.3, 0.1, 1.2],"k": 10,"num_candidates": 100},"_source": ["name", "date"]
}
Text-embedding
在深度学习领域,tensorflow深度学习平台是大家经常讨论熟知使用的,有了深度学习平台强力支撑,高学历的深度模型工程师仅仅需要关注算法模型层面,无需关注工程层面,在此之上,也衍生出一些成熟的算法模型,开箱即用,大大降低了项目落地的门槛。
基于Text-embedding单词嵌入模型,可以将文本、图像、音频等各种世间万物转换为特定向量,程序提前将各种数据生成对应向量,存入到Elasticsearch平台中,应用搜索时,也可以即可在Elasticsearch进行检索。
图示:通过embed模型,将文本内容转化为向量
本次公开课
本次公开课,将基于Elasticsearch 新特性dense_vector、knn_search实现一个智能问答系统。
你将收获如下内容
了解一个智能问答系统的前后实现机制?
为什么选择 Elasticsearch来实现?
动手搭建 Elastic Stack 8.1.x?
动手实现 ES-Vector智能问答系统?
全新认识 Elastic Stack 技术生态与应用领域
参考文献
dense-vector 向量字段类型
https://www.elastic.co/guide/en/elasticsearch/reference/8.1/dense-vector.html
knn-search 近邻搜索
https://www.elastic.co/guide/en/elasticsearch/reference/8.1/knn-search.html
text-similarity-search-with-vectors-in-elasticsearch 使用向量字段进行文本相似度搜索
https://www.elastic.co/cn/blog/text-similarity-search-with-vectors-in-elasticsearch
universal-sentence-encoder text-embeding 文本向量模型
https://tfhub.dev/google/universal-sentence-encoder/4
关于我们
讲师
李猛 Elastic King 数据领域专家
Elastic Stack 国内顶尖实战专家
ELastic Stack 技术社区分享嘉宾
国内首批 Elastic 官方认证工程师21人之一
阿里云MVP(大数据领域)
DBAPlus MVP(原创内容贡献者)
GitHub:https://github.com/ynuosoft
咕泡教育 《Elastic Stack 架构师P6成长路径》主讲老师。
2012年入手Elasticsearch,对Elastic Stack技术栈开发、架构、运维、源码、算法等方面有深入实战;负责过多种Elastic Stack项目,包括大数据分析领域,机器学习预测领域,业务查询加速领域,日志分析领域,基础指标监控领域等;
服务过多家企业,提供Elastic Stack 咨询培训以及调优实施;
多次在Elastic Stack技术大会/技术社区分享,发表过多篇实战干货文章;
十余年技术实战从业经验,擅长大数据多种技术栈混合,系统架构领域。
运用 Elasticsearch 8.1.x 实现智能问答系统相关推荐
- 智能问答系统:问句预处理、检索和深度语义匹配技术
更多干货内容敬请关注「平安寿险PAI」(公众号ID:PAL-AI),文末有本期分享内容资料获取方式. 智能问答系统是人机交互的核心技术之一,常见的应用场景主要是智慧客服.通过构建该系统,机器人可以快速 ...
- 搭建一个FAQ智能问答系统/服务
FAQ智能问答系统 介绍 项目传送门:https://github.com/wzzzd/FAQ_system 构建了一个FAQ智能问答系统. 使用多种方法,实现FAQ的问题-模板匹配功能. 使用Tor ...
- NLP: 基于文本语义的智能问答系统
向AI转型的程序员都关注了这个号???????????? 人工智能大数据与深度学习 公众号:datayx 问答系统是自然语言处理领域一个很经典的问题,它用于回答人们以自然语言形式提出的问题,有着广泛 ...
- 快速搭建一个基于知识图谱的智能问答系统
点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 作者:张墨一 知乎链接:https://zhuanlan.zhihu.com/p/582486 ...
- 实录 | 平安人寿资深算法工程师谢舒翼:智能问答系统探索与实践
3 月 14 日(周四)晚 8 点,平安人寿智能平台团队资深算法工程师谢舒翼在 PaperWeekly 直播间为大家带来了智能问答系统的探索与实践主题分享,并且介绍了平安人寿基于业务场景的技术探索成果 ...
- 直播 | 平安人寿资深算法工程师谢舒翼:智能问答系统探索与实践
智能问答系统及其相关领域具有重要的研究价值以及广泛的应用场景,一直是人工智能界的热点问题. 智能问答系统是人机交互的核心技术之一.通过构建该系统,机器人可以快速找到与用户问题相匹配的答案并自动回答,从 ...
- 北京大学计算机科学李丰,中文智能问答系统作业解析-北京大学计算机科学技术研究所.PDF...
中文智能问答系统作业解析-北京大学计算机科学技术研究所 中文智能问答系统作业解析 互联网数据挖掘 北京大学计算机研究所 语言计算与互联网挖掘研究室 封闭测试结果排序 队伍 封闭测试 开放测试 1200 ...
- 手把手教你用Python搭建一个AI智能问答系统
导读:智能问答系统是自然语言处理的一个重要分支.今天我们将利用分词处理以及搜索引擎搭建一个智能问答系统. 本文经授权转自公众号CSDN(ID:CSDNnews) 作者:李秋键 具体的效果如下所示: 下 ...
- mysql实现知识图谱_基于电影知识图谱的智能问答系统学习记录
学习了"谓之小一"大佬的基于电影知识图谱的智能问答系统,做个记录.地址如下:https://github.com/weizhixiaoyi/DouBan-KGQA 一.知识图谱构建 ...
最新文章
- 嵌入式linux 考试大纲,《嵌入式Linux》课程考试大纲-武汉工程大学学生进
- gridcontrol值为0时设置为空_XASSET 4.0入门指南
- java遍历集合选择题_Java集合知识测试B
- First Missing Positive
- 杭电 hdu 2040
- python登录页面_Python:简单的登陆GUI界面
- 吴恩达 神经网络和深度学习 第一课 第四周(代码和库)
- php与ajax交互中文乱码(字符串转化)
- 关于ajax表单提交.serialize()
- 线切割常用专用编程软件下载
- 程序员常见面试题汇总
- 四叉树 gis java_GIS中四叉树索引及其分类介绍 | 麻辣GIS
- xshell上传文件插件lrzsz
- 基于air720等air7xx的4G模块luat程序下载
- python 读取zip包中的数据
- Python每日一记42机器学习中特征重要性feature_importances_
- OSChina 周四乱弹 —— 放过巧克力熊吧,待久了都变抹茶熊了
- 人工智能在刷题学海战术中的作用
- 腾讯潘安群:腾讯云金融级数据库TDSQL分析
- ATtiny13与Proteus仿真-PWM生成报警声音仿真
热门文章
- 算法(Algorithm)
- 问题xxx: TypeError: __randomstate_ctor() takes from 0 to 1 positional arguments but 2 were given
- 详解操作系统之进程间通信 IPC (InterProcess Communication)
- matlab 标量双精度值,matlab数据类型(数值类型)
- 靶机10 DC-9(过程超详细)
- 最短路径问题(Dijkstra常用用法总结)
- 智能车那些事 4 常用电子元件之电容
- vb.net 如何文件指定打印机打印文件_FDM3D打印机如何工作的(详细解读)?
- HTML网页调用海康摄像头,[FastVideo]Web Html5 无插件方式连接海康摄像头[2]
- 神经网络中的矩阵运算,神经网络的神经元结构