【全球播资讯】图书搜索领域重大突破!用Apache SeaTunnel、Milvus和OpenAI提高书名相似度搜索精准度和效率 - 综合 -

当前位置:首页  >  综合  > 正文

【全球播资讯】图书搜索领域重大突破!用Apache SeaTunnel、Milvus和OpenAI提高书名相似度搜索精准度和效率

【全球播资讯】图书搜索领域重大突破!用Apache SeaTunnel、Milvus和OpenAI提高书名相似度搜索精准度和效率
2023-06-27 03:57:47 来源:博客园

作者 | 刘广东,Apache SeaTunnel Committer

背景

目前,现有的图书搜索解决方案(例如公共图书馆使用的解决方案)十分依赖于关键词匹配,而不是对书名实际内容的语义理解。因此会导致搜索结果并不能很好地满足我们的需求,甚至与我们期待的结果大相径庭。这是因为仅仅依靠关键词匹配是不够的,因为它无法实现语义理解,也就无法理解搜索者真正的意图。


(资料图)

那么,有更好的方法可以让我们更加准确、高效地进行图书搜索吗?答案是有!本文中,我将介绍如何结合使用Apache SeaTunnel、Milvus和OpenAI进行相似度搜索,实现对整个书名的语义理解,从而让搜索结果更加精准。

使用训练有素的模型来表示输入数据被称为语义搜索,这种方法可以扩展到各种不同的基于文本的用例,包括异常检测和文档搜索。因此,本文所介绍的技术可以为图书搜索领域带来重大的突破和影响。

接下来我来简单介绍几个与本文相关的概念和用到的工具/平台,便于大家更好地理解本文。

什么是Apache SeaTunnel

Apache SeaTunnel是一个开源的、高性能的、分布式的数据管理和计算平台。它是由Apache基金会支持的一个顶级项目,能够处理海量数据、提供实时的数据查询和计算,并支持多种数据源和格式。SeaTunnel的目标是提供一个可扩展的、面向企业的数据管理和集成平台,以满足各种大规模数据处理需求。

什么是Milvus

Milvus是一个开源的类似向量搜索引擎,它支持海量向量的存储、检索和相似度搜索,是一个针对大规模向量数据的高性能、低成本的解决方案。Milvus可以在多种场景下使用,如推荐系统、图像搜索、音乐推荐和自然语言处理等。

什么是OpenAI

ChatGPT是一种基于GPT(Generative Pre-trained Transformer)模型的对话生成系统,是由OpenAI开发的。该系统主要使用了自然语言处理、深度学习等技术,可以生成与人类对话相似的自然语言文本。ChatGPT的应用范围很广,可以用于开发智能客服、聊天机器人、智能助手等应用程序,也可以用于语言模型的研究和开发。近年来,ChatGPT已经成为了自然语言处理领域的研究热点之一。

什么是LLM(Large Language Model)

大语言模型(Large Language Model)是一种基于深度学习技术的自然语言处理模型,它可以对一段给定的文本进行分析和理解,并生成与之相关的文本内容。大语言模型通常使用深度神经网络来学习自然语言的语法和语义规则,并将文本数据转换为连续向量空间中的向量表示。在训练过程中,大语言模型利用大量的文本数据来学习语言模式和统计规律,从而可以生成高质量的文本内容,如文章、新闻、对话等。大语言模型的应用领域非常广泛,包括机器翻译、文本生成、问答系统、语音识别等。目前,许多开放源代码深度学习框架都提供了大语言模型的实现,如TensorFlow、PyTorch等。

教程

重点来了!我将展示如何将Apache SeaTunnel、OpenAI的Embedding API与我们的矢量数据库结合使用,来通过语义搜索整个书名。

准备步骤

在实验之前,我们需要去官网获取一个OpenAI的token,然后在去部署一个Milvus的实验环境。我们还需要准备好将用于这个例子的数据。你可以从这里下载数据。

通过SeaTunnel将数据导入Milvus首先,将book.csv放到/tmp/milvus_test/book下,然后配置任务配置为milvus.conf并放到config下。请参考快速使用指南。

env {  # You can set engine configuration here  execution.parallelism = 1  job.mode = "BATCH"  checkpoint.interval = 5000  #execution.checkpoint.data-uri = "hdfs://localhost:9000/checkpoint"}source {  # This is a example source plugin **only for test and demonstrate the feature source plugin**  LocalFile {    schema {      fields {        bookID = string        title_1 = string        title_2 = string      }    }    path = "/tmp/milvus_test/book"    file_format_type = "csv"  }}transform {}sink {  Milvus {    milvus_host = localhost    milvus_port = 19530    username = root    password = Milvus    collection_name = title_db    openai_engine = text-embedding-ada-002    openai_api_key = sk-xxxx    embeddings_fields = title_2  }}

执行如下命令:

./bin/SeaTunnel.sh --config ./config/milvus.conf -e local

查看数据库中数据,可以看到已经有数据写入进去。

然后使用如下代码通过语义搜索书名:

import jsonimport randomimport openaiimport timefrom pymilvus import connections, FieldSchema, CollectionSchema, DataType, Collection, utilityCOLLECTION_NAME = "title_db"  # Collection nameDIMENSION = 1536  # Embeddings sizeCOUNT = 100  # How many titles to embed and insert.MILVUS_HOST = "localhost"  # Milvus server URIMILVUS_PORT = "19530"OPENAI_ENGINE = "text-embedding-ada-002"  # Which engine to useopenai.api_key = "sk-******"  # Use your own Open AI API Key hereconnections.connect(host=MILVUS_HOST, port=MILVUS_PORT)collection = Collection(name=COLLECTION_NAME)collection.load()def embed(text):    return openai.Embedding.create(        input=text,         engine=OPENAI_ENGINE)["data"][0]["embedding"]def search(text):    # Search parameters for the index    search_params={        "metric_type": "L2"    }    results=collection.search(        data=[embed(text)],  # Embeded search value        anns_field="title_2",  # Search across embeddings        param=search_params,        limit=5,  # Limit to five results per search        output_fields=["title_1"]  # Include title field in result    )    ret=[]    for hit in results[0]:        row=[]        row.extend([hit.id, hit.score, hit.entity.get("title_1")])  # Get the id, distance, and title for the results        ret.append(row)    return retsearch_terms=["self-improvement", "landscape"]for x in search_terms:    print("Search term:", x)    for result in search(x):        print(result)    print()

​搜索结果如下:

Search term: self-improvement[96, 0.4079835116863251, "The Dance of Intimacy: A Woman"s Guide to Courageous Acts of Change in Key Relationships"][56, 0.41880303621292114, "Nicomachean Ethics"][76, 0.4309804439544678, "Possession"][19, 0.43588975071907043, "Vanity Fair"][7, 0.4423919916152954, "Knowledge Is Power (The Amazing Days of Abby Hayes: #15)"]Search term: landscape[9, 0.3023473024368286, "The Lay of the Land"][1, 0.3906732499599457, "The Angry Hills"][78, 0.392495334148407, "Cloud Atlas"][95, 0.39346450567245483, "Alien"][94, 0.399422287940979, "The Known World"]

如果我们按照之前的老方法——关键词搜索,书名中必须包含自我提升、提升等关键词;但是提供大模型进行语义级别的理解,则可以检索到更加符合我们需求的书名。比如在上面的例子中,我们搜索的关键词为self-improvement(自我提升),展示的书名《关系之舞:既亲密又独立的相处艺术》、《尼各马可伦理学》等虽然不包含相关关键词,却很明显更加符合我们的要求。可见,我们利用Apache SeaTunnel、Milvus和OpenAI,通过大语言模型的方法,可以实现更加精准的书名相似度搜素,为图书搜索领域带来重大的技术突破,同时对于语义理解也提供了有价值的参考,希望可以给大家带来一些启发。

相关链接https://seatunnel.apache.org/https://openai.com/https://milvus.io/

本文由 白鲸开源 提供发布支持!

标签:

(责任编辑:news01)
最全汇总!全国31个省份高考分数线公布_焦点讯息

最全汇总!全国31个省份高考分数线公布_焦点讯息

6月23日起,多地陆续公布2023高考分数线。截至26日,全国31个省区市高
06-26 18:26:06
邮商同行开启食品生鲜产业抖音新赛道 世界热讯

邮商同行开启食品生鲜产业抖音新赛道 世界热讯

  日前,按照“心中之乡”第四届直播节活动整体安排,在市商务局、市
06-26 18:23:42
蔡徐坤周边被粉丝光速甩卖 粉丝涌入蔡徐坤工作室账号要说法 新视野

蔡徐坤周边被粉丝光速甩卖 粉丝涌入蔡徐坤工作室账号要说法 新视野

今天上午,有关艺人蔡徐坤的消息在互联网上发酵,话题讨论热度不见,也
06-26 18:00:13
环球快看点丨广电电气: 独立董事关于第六届董事会第二次会议有关议案的独立意见

环球快看点丨广电电气: 独立董事关于第六届董事会第二次会议有关议案的独立意见

广电电气:独立董事关于第六届董事会第二次会议有关议案的独立意见
06-26 17:59:40
历时4年!《在役机组性能评价技术规范》发布 环球热推荐

历时4年!《在役机组性能评价技术规范》发布 环球热推荐

历时4年!《在役机组性能评价技术规范》发布,近日,鉴衡认证中心发布《
06-26 17:58:18
天天动态:百万千瓦时绿电将服务2023年夏季达沃斯论坛

天天动态:百万千瓦时绿电将服务2023年夏季达沃斯论坛

视频无法播放,请升级浏览器至最新版。6月27日至29日,第十四届夏季达
06-26 17:56:02
耒阳:打好防汛“主动仗” 织好防汛“安全网”

耒阳:打好防汛“主动仗” 织好防汛“安全网”

三都镇提前组织党员干部,下村护送群众进行转移。红网时刻衡阳6月26日
06-26 17:39:39
天天微资讯!小小艺术家(每日更新)-2023.6.25

天天微资讯!小小艺术家(每日更新)-2023.6.25

各位老师、家长,你们好!越来越多的家庭在重视孩子的艺术实践活动,小
06-26 17:13:43
加速实现节能减排!奉贤青村这家企业成功引进光伏发电系统→

加速实现节能减排!奉贤青村这家企业成功引进光伏发电系统→

近年来,一些企业不断加大对可持续发展的投入践行低碳节能的号召,助力
06-26 17:13:39
无湖县志_关于无湖县志介绍 焦点信息

无湖县志_关于无湖县志介绍 焦点信息

1、《无湖县志》是一本地方县志,余谊密编写,民国8年[1919]出版。2、。
06-26 16:47:04
世界最资讯丨2023年6月26日支付宝喂小鸡今天的答案是什么?

世界最资讯丨2023年6月26日支付宝喂小鸡今天的答案是什么?

1、夏季纳凉小知识:以下哪个是扇子在古代的别称  正确答案:摇风 
06-26 16:45:18
激光脱手臂痛感在可以接受范围内吗 世界要闻

激光脱手臂痛感在可以接受范围内吗 世界要闻

手臂上肉眼可见的都是汗毛,细细密密的那一层都是。从手臂下来一直到手
06-26 16:33:04
世界微动态丨竞业达(003005)6月26日主力资金净卖出456.45万元

世界微动态丨竞业达(003005)6月26日主力资金净卖出456.45万元

截至2023年6月26日收盘竞业达003005报收于3051元下跌69换手率738成交量
06-26 16:25:16
请问北京海淀区尚丽外国语学校是私立还是公立?孩子是外地户口,入学难吗?|短讯

请问北京海淀区尚丽外国语学校是私立还是公立?孩子是外地户口,入学难吗?|短讯

招生办老师解答答家长您好,根据办学性质来说,北京海淀区尚丽外国语学
06-26 16:14:58
首届地标产品广货手信节开幕-世界资讯

首届地标产品广货手信节开幕-世界资讯

本报讯(记者王越)近日,由广东省市场监管局(知识产权局)、广东省农
06-26 16:11:52
2023北京西山永定河文化节开幕 公众可体验古建修缮,走进考古现场|看点

2023北京西山永定河文化节开幕 公众可体验古建修缮,走进考古现场|看点

北京日报讯(记者李祺瑶)昨晚(6月26日),2023北京西山永定河文化节
06-26 16:04:46
世界要闻:新生儿晚上哭闹不睡觉的原因_新生儿晚上哭闹不睡觉怎么办

世界要闻:新生儿晚上哭闹不睡觉的原因_新生儿晚上哭闹不睡觉怎么办

1、病情分析:新生儿刚来到这个世界,和父母表达情绪和想法的唯一方式
06-26 15:41:37
让利于民  多只基金宣布降费

让利于民 多只基金宣布降费

每经AI快讯,近期,多只基金宣布降低管理费率或是托管费率。在业内人士
06-26 15:31:20
实时:火线零线怎么形成回路为什零线没有电(火线和零线怎么形成回路)

实时:火线零线怎么形成回路为什零线没有电(火线和零线怎么形成回路)

一、火线和零线怎么形成回路1、火线和零线形成回路,我们只要在两条线
06-26 15:15:56
京东多条业务线调整:整合成立创新零售部,京东物流换帅_当前短讯

京东多条业务线调整:整合成立创新零售部,京东物流换帅_当前短讯

京东调整内部多业务线负责人。6月26日,京东物流(02618 HK)公告,公
06-26 14:57:38
天天速讯:腰椎退行性改变手术费用多少钱_腰椎退行性改变

天天速讯:腰椎退行性改变手术费用多少钱_腰椎退行性改变

1、指导意见:保守治疗退行性腰椎病的目的在于减轻和消除疼痛,防止复发
06-26 14:56:53
高温下,他们坚守岗位_天天即时

高温下,他们坚守岗位_天天即时

新华社北京6月25日电 题:高温下,他们坚守岗位新华社记者樊曦、王
06-26 14:53:12
【全球快播报】狗仔曝蔡徐坤与女生发生关系 致其怀孕并让堕胎

【全球快播报】狗仔曝蔡徐坤与女生发生关系 致其怀孕并让堕胎

搜狐娱乐讯6月26日,狗仔江小宴爆料蔡徐坤与C姓女生发生关系致其怀孕,
06-26 14:49:32
端午假期铁路累计发送旅客7037.9万人次 较2019年同期增长11.3% 全球观热点

端午假期铁路累计发送旅客7037.9万人次 较2019年同期增长11.3% 全球观热点

记者从中国国家铁路集团有限公司(下称国铁集团)获悉,6月25日,为期5
06-26 14:41:09
2023年巴斯夫概念相关上市公司一览(6月26日)-头条

2023年巴斯夫概念相关上市公司一览(6月26日)-头条

2023年巴斯夫概念相关上市公司一览(6月26日),2023年巴斯夫概念相关上
06-26 14:30:09
2023《摩尔庄园手游》6月26日神奇密码分享|每日速读

2023《摩尔庄园手游》6月26日神奇密码分享|每日速读

摩尔庄园手游玩家扮演一名庄园主,在游戏中可以种植各种作物、养殖动物
06-26 14:28:27
环球通讯!《汉字找茬王》相亲之路通关攻略详解

环球通讯!《汉字找茬王》相亲之路通关攻略详解

汉字找茬王游戏是一款休闲答题闯关类型游戏,游戏的模式有很多,玩家可
06-26 14:12:02
大力发展口岸经济 河南明确五项目标任务(附图解)|环球微资讯

大力发展口岸经济 河南明确五项目标任务(附图解)|环球微资讯

大河网资料图大河网讯郑州邮政国际商业快件业务量争取达5000吨、中欧班
06-26 14:11:45
未来三天重庆先晴后雨 最高气温或达37℃

未来三天重庆先晴后雨 最高气温或达37℃

今(25)日,重庆各地天气晴好。14时,各地气温在19℃到32℃,全市最高
06-26 14:00:47
基石药业-B:首席执行官杨建新增持公司46万股_世界速看

基石药业-B:首席执行官杨建新增持公司46万股_世界速看

6月26日早间,基石药业-B在港交所公告,该公司首席执行官兼执行董事杨
06-26 13:45:24

为您推荐

精彩推送