CN117891980B - 一种内容搜索方法及相关装置 - Google Patents
一种内容搜索方法及相关装置 Download PDFInfo
- Publication number
- CN117891980B CN117891980B CN202410298420.6A CN202410298420A CN117891980B CN 117891980 B CN117891980 B CN 117891980B CN 202410298420 A CN202410298420 A CN 202410298420A CN 117891980 B CN117891980 B CN 117891980B
- Authority
- CN
- China
- Prior art keywords
- content
- granularity
- vector
- recall
- searched
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 102
- 239000013598 vector Substances 0.000 claims abstract description 537
- 238000004590 computer program Methods 0.000 claims description 21
- 230000015654 memory Effects 0.000 claims description 17
- 238000000638 solvent extraction Methods 0.000 claims description 7
- 230000000903 blocking effect Effects 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract description 22
- 238000013473 artificial intelligence Methods 0.000 abstract description 17
- 235000019580 granularity Nutrition 0.000 description 291
- 238000010586 diagram Methods 0.000 description 23
- 238000005516 engineering process Methods 0.000 description 19
- 238000012549 training Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000003058 natural language processing Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 241000070023 Phoenicopterus roseus Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9035—Filtering based on additional data, e.g. user or group profiles
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开一种内容搜索方法及相关装置,应用于人工智能等场景。方法包括:将待搜索内容输入第一编码器编码为第一搜索向量;在将多个候选召回内容中每个候选召回内容对应的多个粒度召回内容输入第二编码器编码为多个粒度向量索引的基础上,匹配第一搜索向量和多个粒度向量索引得到多个第一匹配度;基于多个第一匹配度从多个候选召回内容中确定待搜索内容匹配的目标召回内容。编码每个候选召回内容对应的多个粒度召回内容,既降低对编码器的编码能力要求,又覆盖每个候选召回内容的更多粒度的表示向量,增加每个候选召回内容被搜索召回的渠道,使得编码得到的多个粒度向量索引更准确,提高匹配度召回的准确度,提升内容搜索的搜索效果。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种内容搜索方法及相关装置。
背景技术
随着搜索技术的快速发展,在搜索场景中用户输入待搜索内容对多个候选召回内容进行搜索,从多个候选召回内容中确定待搜索内容匹配的目标召回内容,以实现内容搜索。
相关技术中,内容搜索方法是指:预先通过编码器将多个候选召回内容编码为多个向量索引,多个向量索引的索引数量与多个候选召回内容的内容数量相同;当用户输入待搜索内容时,通过编码器将待搜索内容编码为搜索向量;基于搜索向量与多个向量索引之间的多个匹配度,搜索多个候选召回内容以召回目标召回内容。
然而,上述方法中编码器是基于相对通用的、常见的语料训练得到的,在多个候选召回内容存在较为复杂的候选召回内容时,编码得到的向量索引不够准确,导致匹配度召回不够准确,从而导致内容搜索的搜索效果较差。
发明内容
为了解决上述技术问题,本申请提供了一种内容搜索方法及相关装置,提高匹配度召回的准确度,从而提升内容搜索的搜索效果。
本申请实施例公开了如下技术方案:
一方面,本申请实施例提供一种内容搜索方法,所述方法包括:
通过第一编码器对待搜索内容进行内容编码,获得所述待搜索内容的第一搜索向量;
根据所述第一搜索向量和多个候选召回内容对应的多个粒度向量索引进行向量匹配,获得所述第一搜索向量与所述多个粒度向量索引之间的多个第一匹配度;所述多个粒度向量索引是通过第二编码器对所述多个候选召回内容中每个候选召回内容对应的多个粒度召回内容进行内容编码获得的;
根据所述多个第一匹配度,从所述多个候选召回内容中确定所述待搜索内容匹配的目标召回内容。
另一方面,本申请实施例提供一种内容搜索装置,所述装置包括:编码单元、匹配单元和确定单元;
所述编码单元,用于通过第一编码器对待搜索内容进行内容编码,获得所述待搜索内容的第一搜索向量;
所述匹配单元,用于根据所述第一搜索向量和多个候选召回内容对应的多个粒度向量索引进行向量匹配,获得所述第一搜索向量与所述多个粒度向量索引之间的多个第一匹配度;所述多个粒度向量索引是通过第二编码器对所述多个候选召回内容中每个候选召回内容对应的多个粒度召回内容进行内容编码获得的;
所述确定单元,用于根据所述多个第一匹配度,从所述多个候选召回内容中确定所述待搜索内容匹配的目标召回内容。
另一方面,本申请实施例提供一种计算机设备,所述计算机设备包括处理器以及存储器:
所述存储器用于存储计算机程序,并将所述计算机程序传输给所述处理器;
所述处理器用于根据所述计算机程序中的指令执行前述任一方面所述的方法。
另一方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,当所述计算机程序在计算机设备上运行时,使得所述计算机设备执行前述任一方面所述的方法。
另一方面,本申请实施例提供一种计算机程序产品,包括计算机程序,当所述计算机程序在计算机设备上运行时,使得所述计算机设备执行前述任一方面所述的方法。
由上述技术方案可以看出,首先,将待搜索内容输入第一编码器进行内容编码,输出待搜索内容的第一搜索向量;该方式针对待搜索内容进行内容编码,以便后续通过待搜索内容的表示向量能够快速、准确地搜索多个候选召回内容。然后,在将多个候选召回内容中每个候选召回内容对应的多个粒度召回内容输入第二编码器进行内容编码,输出多个候选召回内容对应的多个粒度向量索引的基础上,匹配第一搜索向量和多个粒度向量索引,得到第一搜索向量与多个粒度向量索引之间的多个第一匹配度;该方式针对每个候选召回内容对应的多个粒度召回内容进行内容编码,不仅降低对编码器的编码能力要求,而且覆盖每个候选召回内容的更多粒度的表示向量,增加每个候选召回内容被搜索召回的渠道,使得编码得到的多个粒度向量索引更准确,能够更准确地匹配待搜索内容的表示向量与每个候选召回内容的更多粒度的表示向量。最后,基于多个第一匹配度,从多个候选召回内容中确定待搜索内容匹配的目标召回内容;该方式在更准确地匹配待搜索内容的表示向量与每个候选召回内容的更多粒度的表示向量的基础上,提高匹配度召回的准确度,从而提升内容搜索的搜索效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术成员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为相关技术中一种内容搜索方法的示意图;
图2为本申请实施例提供的一种内容搜索方法的***示意图;
图3为本申请实施例提供的一种内容搜索方法的流程图;
图4为本申请实施例提供的一种内容搜索方法的示意图;
图5为本申请实施例提供的另一种内容搜索方法的示意图;
图6为本申请实施例提供的另一种内容搜索方法的示意图;
图7为本申请实施例提供的另一种内容搜索方法的示意图;
图8为本申请实施例提供的另一种内容搜索方法的示意图;
图9为本申请实施例提供的另一种内容搜索方法的示意图;
图10为本申请实施例提供的另一种内容搜索方法的流程图;
图11为本申请实施例提供的一种游戏领域的问答场景的页面示意图;
图12为本申请实施例提供的一种内容搜索装置的结构图;
图13为本申请实施例提供的一种服务器的结构图;
图14为本申请实施例提供的一种终端的结构图。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
现阶段,搜索场景中内容搜索是指针对用户输入待搜索内容,从多个候选召回内容中确定待搜索内容匹配的目标召回内容。参见图1,图1为相关技术中一种内容搜索方法的示意图;预先通过编码器将M个候选召回内容编码为M个向量索引,M为正整数,M≥2;当用户输入待搜索内容为问题query时,通过编码器将query编码为搜索向量,即,query向量;基于query向量与M个向量索引之间的M个匹配度,搜索M个候选召回内容以召回目标召回内容。
但是,经过研究发现,上述方法中编码器是基于相对通用的、常见的语料训练得到的,在M个候选召回内容存在较为复杂的候选召回内容时,编码得到的向量索引不够准确,使得query向量与向量索引之间的匹配度不够准确,导致匹配度召回不够准确,从而导致内容搜索的搜索效果较差。
本申请实施例提供一种内容搜索方法,将待搜索内容输入第一编码器进行内容编码,输出待搜索内容的第一搜索向量;在将多个候选召回内容中每个候选召回内容对应的多个粒度召回内容输入第二编码器进行内容编码,输出多个候选召回内容对应的多个粒度向量索引的基础上,匹配第一搜索向量和多个粒度向量索引,得到第一搜索向量与多个粒度向量索引之间的多个第一匹配度;基于多个第一匹配度,从多个候选召回内容中确定待搜索内容匹配的目标召回内容;该方法不仅降低对编码器的编码能力要求,而且覆盖每个候选召回内容的更多粒度的表示向量,增加每个候选召回内容被搜索召回的渠道,使得编码得到的多个粒度向量索引更准确,能够更准确地匹配待搜索内容的表示向量与每个候选召回内容的更多粒度的表示向量,提高匹配度召回的准确度,从而提升内容搜索的搜索效果。
接下来,将对内容搜索方法的***架构进行介绍。参见图2,图2为本申请实施例提供的一种内容搜索方法的***示意图,该***包括计算机设备200,该计算机设备200用于执行内容搜索方法。
计算机设备200通过第一编码器对待搜索内容进行内容编码,获得待搜索内容的第一搜索向量。
作为一种示例,第一编码器为句向量模型,待搜索内容为问题query,计算机设备200将query输入句向量模型进行内容编码,输出query的第一搜索向量为query向量。
计算机设备200根据第一搜索向量和多个候选召回内容对应的多个粒度向量索引进行向量匹配,获得第一搜索向量与多个粒度向量索引之间的多个第一匹配度;多个粒度向量索引是通过第二编码器对多个候选召回内容中每个候选召回内容对应的多个粒度召回内容进行内容编码获得的。
作为一种示例,多个候选召回内容为M个文档数据块chunk,每个chunk对应的多个粒度召回内容包括标题内容title、摘要内容abstract、整体内容content、细节内容detail和相似内容question,第二编码器为句向量模型;在上述示例的基础上,计算机设备200在将M个chunk中每个chunk对应的title、abstract、content、detail和question输入句向量模型进行内容编码,输出M个chunk对应的5×M个粒度向量索引的基础上,匹配query向量和5×M个粒度向量索引,得到query向量与5×M个粒度向量索引之间的5×M个第一匹配度。
计算机设备200根据多个第一匹配度,从多个候选召回内容中确定待搜索内容匹配的目标召回内容。
作为一种示例,在上述示例的基础上,计算机设备200基于5×M个第一匹配度,从M个chunk中确定query匹配的目标召回内容为目标chunk。
也就是说,针对待搜索内容进行内容编码,以便后续通过待搜索内容的表示向量能够快速、准确地搜索多个候选召回内容;针对每个候选召回内容对应的多个粒度召回内容进行内容编码,不仅降低对编码器的编码能力要求,而且覆盖每个候选召回内容的更多粒度的表示向量,增加每个候选召回内容被搜索召回的渠道,使得编码得到的多个粒度向量索引更准确,能够更准确地匹配待搜索内容的表示向量与每个候选召回内容的更多粒度的表示向量;在更准确地匹配待搜索内容的表示向量与每个候选召回内容的更多粒度的表示向量的基础上,提高匹配度召回的准确度,从而提升内容搜索的搜索效果。
需要说明的是,在本申请实施例内容搜索方法涉及到人工智能。而人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、预训练模型技术、操作/交互***、机电一体化等。其中,预训练模型又称大模型、基础模型,经过微调后可以广泛应用于人工智能各大方向下游任务。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。在本申请实施例中,人工智能技术主要涉及到自然语言处理技术以及机器学习/深度学习等技术。
自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。NLP涉及自然语言,即人们日常使用的语言,与语言学研究密切;同时涉及计算机科学和数学。人工智能领域模型训练的重要技术,预训练模型,即是从NLP领域的大语言模型(Large Language Model,LLM)发展而来。经过微调,大语言模型可以广泛应用于下游任务。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
预训练模型(Pre-training model,PTM),也称基石模型、大模型,指具有大参量的深度神经网络(Deep neural network,DNN),在海量未标记的数据上对其进行训练,利用大参量DNN的函数近似能力使PTM在数据上提取共性特征,经微调(fine tune)、参数高效微调(PEFT)、提示微调(prompt-tuning)等技术,适用于下游任务。因此,预训练模型可以在小样本(Few-shot)或零样本(Zero-shot)场景下达到理想效果。PTM按照处理的数据模态可以分为语言模型(ELMO、BERT、GPT)、视觉模型(swin-transformer、ViT、V-MOE)、语音模型(VALL-E)、多模态模型(ViLBERT、CLIP、Flamingo、Gato)等,其中多模态模型指建立两种或以上数据模态特征表示的模型。预训练模型是输出人工智能生成内容(Artificial IntelligenceGenerated Content,AIGC)的重要工具,也可以作为连接多个具体任务模型的通用接口。
机器学习/深度学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。预训练模型是深度学习的最新发展成果,融合了以上技术。
需要说明的是,在本申请实施例中,计算机设备可以是服务器或终端,本申请实施例提供的方法可以由终端或服务器单独执行,也可以由终端和服务器配合执行。其中,当本申请实施例提供的方法由终端或服务器单独执行时,其执行方法与图2对应的实施例类似,主要是将计算机设备换成终端或服务器。此外,当本申请实施例提供的方法由终端和服务器配合执行时,需要体现在前端界面上的步骤可以由终端执行,而一些需要后台计算、无需体现在前端界面上的步骤可以由服务器执行。
其中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能语音交互设备、车载终端、扩展现实设备或飞行器等,但并不局限于此。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云计算服务的云服务器,但并不局限于此。终端和服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。例如终端和服务器可以通过网络连接,该网络可以是有线或无线网络。
此外,本申请实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶、自动驾驶、数字人、虚拟人、虚拟现实、增强现实、混合现实、音视频等。
接下来,将以计算机设备执行本申请实施例提供的方法为例、结合附图对本申请实施例提供的内容搜索方法进行详细介绍。
参见图3,图3为本申请实施例提供的一种内容搜索方法的流程图,方法包括:
S301:通过第一编码器对待搜索内容进行内容编码,获得待搜索内容的第一搜索向量。
本申请实施例中,在搜索场景中目标对象输入待搜索内容进行内容搜索时,计算机设备获取到待搜索内容;为了后续能够通过待搜索内容快速、准确地搜索多个候选召回内容,首先需要将待搜索内容转换为一个表示向量,以反映待搜索内容的核心特征。即,将待搜索内容输入第一编码器进行内容编码,输出待搜索内容的第一搜索向量。
其中,待搜索内容是指目标对象输入的待搜索多个候选召回内容的目标内容;第一编码器是指提取待核心特征并编码为表示向量的向量模型;内容编码是指提取核心特征并编码为表示向量;第一搜索向量是指反映待搜索内容的核心特征的表示向量。
该S301针对待搜索内容通过第一编码器进行内容编码,能够将待搜索内容转换为反映待搜索内容的核心特征的表示向量,以便后续通过反映待搜索内容的核心特征的表示向量能够快速、准确地搜索多个候选召回内容。
作为S301的一种示例,第一编码器为句向量模型,待搜索内容为问题query;则计算机设备将query输入句向量模型进行内容编码,输出query的第一搜索向量为query向量。
S302:根据第一搜索向量和多个候选召回内容对应的多个粒度向量索引进行向量匹配,获得第一搜索向量与多个粒度向量索引之间的多个第一匹配度;多个粒度向量索引是通过第二编码器对多个候选召回内容中每个候选召回内容对应的多个粒度召回内容进行内容编码获得的。
由于相关技术中,内容搜索方法是指:预先通过编码器将多个候选召回内容编码为多个向量索引,多个向量索引的索引数量与多个候选召回内容的内容数量相同;当用户输入待搜索内容时,通过编码器将待搜索内容编码为搜索向量;基于搜索向量与多个向量索引之间的多个匹配度,搜索多个候选召回内容以召回目标召回内容。但是,经过研究发现,编码器是基于相对通用的、常见的语料训练得到的,在多个候选召回内容存在较为复杂的候选召回内容时,编码得到的向量索引不够准确,使得搜索向量与多个向量索引之间的匹配度不够准确,导致匹配度召回不够准确,从而导致内容搜索的搜索效果较差。
因此,本申请实施例中,为了降低对编码器的编码能力要求,考虑到多个候选召回内容存在较为复杂的候选召回内容的情况下,针对每个候选召回内容生成多个粒度召回内容,可以简单化、多粒度表示每个候选召回内容;因此,计算设备可以将多个候选召回内容中每个候选召回内容对应的多个粒度召回内容转换为多个表示向量,以反映每个候选召回内容的多个粒度的核心特征,从而得到多个候选召回内容对应的多个粒度向量索引,以降低对编码器的编码能力要求,使得编码得到的多个粒度向量索引更准确;在此基础上,更准确地匹配待搜索内容的第一搜索向量与多个候选召回内容对应的多个粒度向量索引,以便后续提高匹配度召回的准确度,从而提升内容搜索的搜索效果。
即,将多个候选召回内容中每个候选召回内容对应的多个粒度召回内容输入第二编码器进行内容编码,输出多个候选召回内容对应的多个粒度向量索引;在此基础上,匹配第一搜索向量和多个粒度向量索引,得到第一搜索向量与多个粒度向量索引之间的多个第一匹配度。
其中,多个候选召回内容是指预先存储的候选召回的多个预设内容;每个候选召回内容对应的多个粒度召回内容是指每个候选召回内容的整体内容和每个候选召回内容的简化召回内容;第二编码器是指提取待核心特征并编码为表示向量的向量模型;多个候选召回内容对应的多个粒度向量索引是指反映多个候选召回内容中每个候选召回内容对应的多个粒度召回内容的核心特征的多个表示向量,多个粒度向量索引的索引数量大于多个候选召回内容的内容数量;向量匹配是指计算两个表示向量的匹配程度;多个第一匹配度是指第一搜索向量与多个粒度向量索引之间的多个匹配程度,第一匹配度越大表示第一匹配度对应的待搜索内容与候选召回内容之间的匹配程度越高,即,第一匹配度对应的待搜索内容与候选召回内容越匹配。
该S302针对每个候选召回内容对应的多个粒度召回内容通过第二编码器进行内容编码,不仅降低对第二编码器的编码能力要求,而且覆盖每个候选召回内容的更多粒度的表示向量,增加每个候选召回内容被搜索召回的渠道,使得编码得到的多个粒度向量索引更准确,能够更准确地匹配待搜索内容的表示向量与每个候选召回内容的更多粒度的表示向量;以便后续更准确地实现匹配度召回。
作为S302的一种示例,在上述S301的示例基础上,多个候选召回内容为M个候选召回内容,每个候选召回内容对应的多个粒度召回内容包括N个粒度召回内容,N为正整数,N≥2,第二编码器为句向量模型;则计算机设备在将M个候选召回内容中每个候选召回内容对应的N个粒度召回内容输入句向量模型进行内容编码,输出M个候选召回内容对应的M×N个粒度向量索引的基础上,匹配query向量和M×N个粒度向量索引,得到query向量与M×N个粒度向量索引之间的M×N个第一匹配度。
S303:根据多个第一匹配度,从多个候选召回内容中确定待搜索内容匹配的目标召回内容。
本申请实施例中,在执行上述S302得到待搜索内容的第一搜索向量与多个候选召回内容对应的多个粒度向量索引之间的多个第一匹配度之后;由于多个第一匹配度更准确地表示待搜索内容的表示向量与每个候选召回内容的更多粒度的表示向量之间的匹配程度;因此,基于多个第一匹配度,即可从多个候选召回内容中确定待搜索内容匹配的目标召回内容。
其中,目标召回内容是指大于或等于预设匹配度的第一匹配度对应的候选召回内容;或,目标召回内容是指多个第一匹配度由大到小排序后前K个第一匹配度对应的候选召回内容,K为正整数。
该S303在更准确地匹配待搜索内容的表示向量与每个候选召回内容的更多粒度的表示向量的基础上,使得匹配度召回更准确,以提高匹配度召回的准确度,从而提升内容搜索的搜索效果。
作为S303的一种示例,在上述S302的示例基础上,计算机设备基于M×N个第一匹配度,从M个候选召回内容中确定query匹配的目标召回内容。
作为一种示例,在上述S301-S303的示例基础上,参见图4,图4为本申请实施例提供的一种内容搜索方法的示意图;一方面,计算机设备将query输入句向量模型进行内容编码,输出query的query向量;另一方面,计算机设备在将M个候选召回内容中每个候选召回内容对应的N个粒度召回内容输入句向量模型进行内容编码,输出M个候选召回内容对应的M×N个粒度向量索引的基础上,匹配query向量和M×N个粒度向量索引,得到query向量与M×N个粒度向量索引之间的M×N个第一匹配度;在此基础上,计算机设备基于M×N个第一匹配度,从M个候选召回内容中确定query匹配的目标召回内容。
由上述技术方案可以看出,首先,将待搜索内容输入第一编码器进行内容编码,输出待搜索内容的第一搜索向量;该方式针对待搜索内容进行内容编码,以便后续通过待搜索内容的表示向量能够快速、准确地搜索多个候选召回内容。然后,在将多个候选召回内容中每个候选召回内容对应的多个粒度召回内容输入第二编码器进行内容编码,输出多个候选召回内容对应的多个粒度向量索引的基础上,匹配第一搜索向量和多个粒度向量索引,得到第一搜索向量与多个粒度向量索引之间的多个第一匹配度;该方式针对每个候选召回内容对应的多个粒度召回内容进行内容编码,不仅降低对编码器的编码能力要求,而且覆盖每个候选召回内容的更多粒度的表示向量,增加每个候选召回内容被搜索召回的渠道,使得编码得到的多个粒度向量索引更准确,能够更准确地匹配待搜索内容的表示向量与每个候选召回内容的更多粒度的表示向量。最后,基于多个第一匹配度,从多个候选召回内容中确定待搜索内容匹配的目标召回内容;该方式在更准确地匹配待搜索内容的表示向量与每个候选召回内容的更多粒度的表示向量的基础上,提高匹配度召回的准确度,从而提升内容搜索的搜索效果。
本申请实施例中,由于每个候选召回内容对应的多个粒度召回内容是指每个候选召回内容的整体内容和每个候选召回内容的简化召回内容;因此,需要先生成每个候选召回内容的简化召回内容,再结合每个候选召回内容得到每个候选召回内容对应的多个粒度召回内容。
即,上述S302中每个候选召回内容对应的多个粒度召回内容的获得过程是指:首先,通过预设生成模型按照预设粒度提示生成每个候选召回内容对应的预设粒度内容,表示每个候选召回内容的简化召回内容;然后,将每个候选召回内容的整体内容和每个候选召回内容对应的预设粒度内容,作为每个候选召回内容对应的多个粒度召回内容。基于此,本申请提供了一种可能的实现方式,上述S302中每个候选召回内容对应的多个粒度召回内容的获得步骤,包括如下S1-S2(图中未示出):
S1:通过预设生成模型根据预设粒度提示对每个候选召回内容进行内容生成,获得每个候选召回内容对应的预设粒度内容。
S2:根据每个候选召回内容的整体内容和每个候选召回内容对应的预设粒度内容,确定每个候选召回内容对应的多个粒度召回内容。
其中,预设粒度提示是指预先设定的简化候选召回内容的粒度提示;预设生成模型是指预训练模型PTM,例如,生成式语言模型GPT;每个候选召回内容对应的预设粒度内容是指每个候选召回内容对应的简化召回内容。
该S1-S2按照预设粒度提示通过预设生成模型生成每个候选召回内容的预设粒度内容,并结合每个候选召回内容得到每个候选召回内容对应的多个粒度召回内容,能够简单化、多粒度表示每个候选召回内容,为后续得到每个候选召回内容的更多粒度的表示向量,以增加每个候选召回内容被搜索召回的渠道提供基础。
作为S1-S2的一种示例,预设生成模型为GPT,在上述S302的示例基础上,预设粒度提示为N-1个粒度提示,计算机设备先通过GPT按照N-1个粒度提示生成每个候选召回内容对应的N-1个粒度内容;计算机设备再将每个候选召回内容的整体内容和每个候选召回内容对应的N-1粒度内容,作为每个候选召回内容对应的N个粒度召回内容。
其中,由于预设粒度提示是指预先设定的简化候选召回内容的粒度提示;而预先设定的简化候选召回内容的粒度即为预设粒度,因此,预设粒度决定预设粒度提示。此外,由于预设粒度用于简化候选召回内容,与每个候选召回内容的内容大小相关;因此,预设粒度由多个候选召回内容中每个候选召回内容的内容大小所决定。另外,由于预设粒度简化候选召回内容是为了更准确地实现搜索场景中内容搜索,与搜索场景的搜索需求相关;因此,预设粒度由搜索场景的搜索需求所决定。基于此,本申请提供了一种可能的实现方式,预设粒度提示是根据预设粒度确定的,预设粒度是根据多个候选召回内容中每个候选召回内容的内容大小或搜索场景的搜索需求确定的。其中,搜索场景的搜索需求是针对搜索要素的实际需求。
其中,由于预设粒度用于简化候选召回内容;因此,预设粒度可以是标题,预设粒度也可以是摘要,预设粒度又可以是细节,预设粒度还可以是相似;对应地,预设粒度提示可以是标题提示,预设粒度提示也可以是摘要提示,预设粒度提示又可以是细节提示,预设粒度提示还可以是相似提示。基于此,本申请提供了一种可能的实现方式,预设粒度提示包括标题提示、摘要提示、细节提示和相似提示中的一种或多种。
当预设粒度提示包括标题提示时,上述S1生成的每个候选召回内容对应的预设粒度内容包括每个候选召回内容对应的标题内容;则上述S2得到的每个候选召回内容对应的多个粒度召回内容包括每个候选召回内容对应的标题内容;对应地,上述S302中多个候选召回内容对应的多个粒度向量索引包括多个候选召回内容对应的多个标题向量索引。
当预设粒度提示包括摘要提示时,上述S1生成的每个候选召回内容对应的预设粒度内容包括每个候选召回内容对应的摘要内容;则上述S2得到的每个候选召回内容对应的多个粒度召回内容包括每个候选召回内容对应的摘要内容;对应地,上述S302中多个候选召回内容对应的多个粒度向量索引包括多个候选召回内容对应的多个摘要向量索引。
当预设粒度提示包括细节提示时,上述S1生成的每个候选召回内容对应的预设粒度内容包括每个候选召回内容对应的细节内容;则上述S2得到的每个候选召回内容对应的多个粒度召回内容包括每个候选召回内容对应的细节内容;对应地,上述S302中多个候选召回内容对应的多个粒度向量索引包括多个候选召回内容对应的多个细节向量索引。
当预设粒度提示包括相似提示时,上述S1生成的每个候选召回内容对应的预设粒度内容包括每个候选召回内容对应的相似内容;则上述S2得到的每个候选召回内容对应的多个粒度召回内容包括每个候选召回内容对应的相似内容;对应地,上述S302中多个候选召回内容对应的多个粒度向量索引包括多个候选召回内容对应的多个相似向量索引。
作为一种示例,当预设粒度提示包括细节提示时,细节提示具体如下所示:
请阅读以下文本内容:
{content}
从上述文本内容中总结出文本内容中的主要人物和时间信息,并且罗列出来,罗列每一行是一个信息点,信息点包含“关键信息总结”和“关键信息详细内容”。
此外,当预设粒度提示包括标题提示、摘要提示和相似提示中的一种或多种时,标题提示的示例、摘要提示的示例、相似提示的示例可以参见上述细节提示的示例,在此不再赘述。
本申请实施例中,考虑到多个候选召回内容中每个候选召回内容的内容大小需要小于或等于第二编码器可编码的预设大小,以便通过第二编码器能够编码多个候选召回内容中每个候选召回内容对应的多个粒度召回内容;因此,上述S302中多个候选召回内容的获得过程是指:在多个候选召回数据的基础上,需要分块多个候选召回数据得到多个候选召回数据块,每个候选召回数据块的数据块大小小于或等于预设大小,将多个候选召回数据块作为多个候选召回内容,则每个候选召回内容的内容大小小于或等于预设大小。基于此,本申请提供了一种可能的实现方式,上述S302中多个候选召回内容的获得步骤,具体为S3(图中未示出):对多个候选召回数据进行数据分块,获得多个候选召回内容。
其中,多个候选召回数据是指预先存储的候选召回的多个预设数据;数据分块是指按照预设大小划分数据;多个候选召回内容是指多个候选召回数据分块得到的数据块大小小于或等于预设大小的多个候选召回数据块。
该S3通过分块多个候选召回数据得到内容大小小于或等于第二编码器可编码的预设大小的多个候选召回内容,使得多个候选召回内容中每个候选召回内容对应的多个粒度召回内容能够被第二编码器编码为多个粒度向量索引,为后续更准确地匹配待搜索内容的表示向量与每个候选召回内容的更多粒度的表示向量提供基础。
作为S3的一种示例,在上述S302示例的基础上,多个候选召回数据为P个候选召回数据,P为正整数,P≥2;则计算机设备分块P个候选召回数据得到M个候选召回数据块为M个文档数据块chunk,每个chunk的数据块大小小于或等于预设大小,将M个chunk作为M个候选召回内容,即,M个候选召回内容为M个chunk;M≥P。
作为一种示例,在上述在图4的基础上,结合上述S1-S2和上述S3的示例,当预设粒度提示包括标题提示、摘要提示、细节提示和相似提示时,参见图5,图5为本申请实施例提供的另一种内容搜索方法的示意图;一方面,计算机设备将query输入句向量模型进行内容编码,输出query的query向量;另一方面,计算机设备在通过GPT按照标题提示、摘要提示、细节提示和相似提示,生成每个chunk对应的标题内容title、摘要内容abstract、细节内容detail和相似内容question,结合每个chunk的整体内容content,作为每个chunk对应的5个粒度召回内容(即,N=5),输入句向量模型进行内容编码,输出M个chunk对应的5×M个粒度向量索引的基础上,匹配query向量和5×M个粒度向量索引,得到query向量与5×M粒度向量索引之间的5×M个第一匹配度;在此基础上,计算机设备基于5×M个第一匹配度,从M个chunk中确定query匹配的目标chunk。此外,实际应用中,每个chunk可以对应大于或等于5个粒度召回内容,即,每个chunk对应一个title、一个abstract、一个content、一个或多个detail、以及一个或多个question。
此外,本申请实施例中,在编码器是基于相对通用的、常见的语料训练得到的基础上,考虑到待搜索内容可能存在指代信息、省略信息或错误信息,为了进一步提高匹配度召回的准确度,从而进一步提升内容搜索的搜索效果,还可以进一步改写待搜索内容以明确指代信息、补全省略信息或纠正错误信息,得到更准确的待搜索内容作为已改写内容,以便后续利用已改写内容进一步更准确地实现内容搜索。
即,首先,还需要改写待搜索内容得到待搜索内容的已改写内容;其次,还需要将已改写内容输入第一编码器进行内容编码,输出已改写内容的第二搜索向量;然后,还需要匹配第二搜索向量和多个候选召回内容对应的多个粒度向量索引,得到第二搜索向量与多个粒度向量索引之间的多个第二匹配度;最后,在上述S303具体实现时,不仅基于待搜索内容的第一搜索向量与多个候选召回内容对应的多个粒度向量索引之间的多个第一匹配度;而且基于已改写内容的第二搜索向量与多个候选召回内容对应的多个粒度向量索引之间的多个第二匹配度,共同从多个候选召回内容中确定更准确的待搜索内容匹配的目标召回内容,以进一步更准确地实现内容搜索。基于此,本申请提供了一种可能的实现方式,方法还包括如下S4-S6(图中未示出):
S4:对待搜索内容进行内容改写,获得待搜索内容的已改写内容。
S5:通过第一编码器对已改写内容进行内容编码,获得已改写内容的第二搜索向量。
S6:根据第二搜索向量和多个候选召回内容对应的多个粒度向量索引进行向量匹配,获得第二搜索向量与多个粒度向量索引之间的多个第二匹配度。
对应地,上述S303具体为S303a(图中未示出):根据多个第一匹配度和多个第二匹配度,从多个候选召回内容中确定待搜索内容匹配的目标召回内容。
其中,已改写内容是指改写后的待搜索内容,即,明确指代信息、补全省略信息或纠正错误信息的待搜索内容;第二搜索向量是指反映已改写内容的核心特征的表示向量;多个第二匹配度是指第二搜索向量与多个粒度向量索引之间的多个匹配程度,第二匹配度越大表示第二匹配度对应的已改写内容与候选召回内容之间的匹配程度越高,即,第二匹配度对应的已改写内容与候选召回内容越匹配。
该S4-S6和S303a通过改写待搜索内容得到已改写内容,能够明确待搜索内容中指代信息、补全待搜索内容中省略信息或纠正待搜索内容中错误信息;针对已改写内容通过第一编码器进行内容编码,相当于将已改写内容转换为更准确地反映待搜索内容的核心特征的表示向量;匹配已改写内容的第二搜索向量和多个候选召回内容对应的多个粒度向量索引,相当于进一步更准确地匹配待搜索内容的表示向量与每个候选召回内容的更多粒度的表示向量;基于此,进一步提高匹配度召回的准确度,从而进一步提升内容搜索的搜索效果。
作为S4-S6和S303a的一种示例,在上述S301-S302的示例基础上,计算机设备改写query得到query的已改写内容为已改写query;计算机设备将已改写query输入句向量模型进行内容编码,输出已改写query的第二搜索向量为已改写query向量;计算机设备匹配已改写query向量和M×N个粒度向量索引,得到已改写query向量与M×N个粒度向量索引之间的M×N个第二匹配度。在此基础上,不仅基于query向量与M×N个粒度向量索引之间的M×N个第一匹配度,而且基于已改写query向量与M×N个粒度向量索引之间的M×N个第二匹配度,共同从M个候选召回内容中确定query匹配的目标召回内容。
其中,在上述S4具体实现时,考虑到改写待搜索内容是为了明确待搜索内容中指代信息、补全待搜索内容中省略信息或纠正待搜索内容中错误信息,使得待搜索内容的已改写内容符合搜索场景的搜索需求,即,针对搜索要素的实际需求;因此,需要通过内容改写模型按照搜索场景的搜索需求改写待搜索内容,从而得到待搜索内容的已改写内容。基于此,本申请提供了一种可能的实现方式,上述S4具体为S4a(图中未示出):通过内容改写模型根据搜索场景的搜索需求对待搜索内容进行内容改写,获得待搜索内容的已改写内容。
该S4a按照搜索场景的搜索需求通过内容改写模型改写待搜索内容,使得改写后的待搜索内容符合针对搜索要素的实际需求,从而能够得到更准确的待搜索内容作为已改写内容,为后续利用已改写内容进一步更准确地实现内容搜索提供基础。
作为S4a的一种示例,在上述S4-S6的示例基础上,计算机设备通过内容改写模型按照搜索场景的搜索需求改写query,从而得到query的已改写query。
作为一种示例,在上述图5的基础上,进一步结合上述S4a、上述S5-S6和上述S303a的示例,参见图6,图6为本申请实施例提供的另一种内容搜索方法的示意图。一方面,计算机设备不仅将query输入句向量模型进行内容编码,输出query向量;而且通过内容改写模型按照搜索场景的搜索需求改写query得到query的已改写query,并将已改写query输入句向量模型进行内容编码,输出已改写query的已改写query向量。
另一方面,计算机设备在通过GPT按照标题提示、摘要提示、细节提示和相似提示,生成每个chunk对应的title、abstract、detail和question,结合每个chunk的content,作为每个chunk对应的5个粒度召回内容(即,N=5),输入句向量模型进行内容编码,输出M个chunk对应的5×M个粒度向量索引的基础上,不仅匹配query向量和5×M个粒度向量索引,得到query向量与5×M粒度向量索引之间的5×M个第一匹配度;而且匹配已改写query向量和5×M个粒度向量索引,得到已改写query向量与5×M粒度向量索引之间的5×M个第二匹配度。在此基础上,计算机设备基于5×M个第一匹配度和5×M个第二匹配度,共同从M个chunk中确定query匹配的目标chunk。
此外,本申请实施例中,在编码器是基于相对通用的、常见的语料训练得到的基础上,考虑到待搜索内容可能存在指代信息、省略信息或错误信息,为了进一步提高匹配度召回的准确度,从而进一步提升内容搜索的搜索效果,还可以进一步在待搜索内容的基础上,拼接待搜索内容的上文内容得到更准确的待搜索内容作为已拼接内容,以便后续利用已拼接内容进一步更准确地实现内容搜索。
即,首先,还需要拼接待搜索内容的上文内容和待搜索内容得到待搜索内容的已拼接内容;其次,还需要将已拼接内容输入第一编码器进行内容编码,输出已拼接内容的第三搜索向量;然后,还需要匹配第三搜索向量和多个候选召回内容对应的多个粒度向量索引,得到第三搜索向量与多个粒度向量索引之间的多个第三匹配度;最后,在上述S303具体实现时,不仅基于待搜索内容的第一搜索向量与多个候选召回内容对应的多个粒度向量索引之间的多个第一匹配度;而且基于已改写内容的第三搜索向量与多个候选召回内容对应的多个粒度向量索引之间的多个第三匹配度,共同从多个候选召回内容中确定更准确的待搜索内容匹配的目标召回内容,以进一步更准确地实现内容搜索。基于此,本申请提供了一种可能的实现方式,方法还包括如下S7-S9(图中未示出):
S7:对待搜索内容的上文内容和待搜索内容进行内容拼接,获得待搜索内容对应的已拼接内容。
S8:通过第一编码器对已拼接内容进行内容编码,获得已拼接内容的第三搜索向量。
S9:根据第三搜索向量和多个候选召回内容对应的多个粒度向量索引进行向量匹配,获得第三搜索向量与多个粒度向量索引之间的多个第三匹配度。
对应地,上述S303具体为S303b(图中未示出):根据多个第一匹配度和多个第三匹配度,从多个候选召回内容中确定待搜索内容匹配的目标召回内容。
其中,已拼接内容是指拼接后的待搜索内容,即,待搜索内容的上文内容和待搜索内容;第三搜索向量是指反映已拼接内容的核心特征的表示向量;多个第三匹配度是指第三搜索向量与多个粒度向量索引之间的多个匹配程度,第三匹配度越大表示第三匹配度对应的已拼接内容与候选召回内容之间的匹配程度越高,即,第三匹配度对应的已拼接内容与候选召回内容越匹配。
该S7-S9和S303b在待搜索内容基础上通过拼接待搜索内容的上文内容得到已拼接内容,能够明确待搜索内容和待搜索内容的上文内容;针对已拼接内容通过第一编码器进行内容编码,相当于将已拼接内容转换为更准确地反映待搜索内容的核心特征的表示向量;匹配已拼接内容的第三搜索向量和多个候选召回内容对应的多个粒度向量索引,相当于进一步更准确地匹配待搜索内容的表示向量与每个候选召回内容的更多粒度的表示向量;基于此,进一步提高匹配度召回的准确度,从而进一步提升内容搜索的搜索效果。
作为S7-S9和S303b的一种示例,在上述S301-S302的示例基础上,计算机设备拼接query的上文内容和query,得到query的已拼接内容为已拼接query;计算机设备将已拼接query输入句向量模型进行内容编码,输出已拼接query的第三搜索向量为已拼接query向量;计算机设备匹配已拼接query向量和M×N个粒度向量索引,得到已拼接query向量与M×N个粒度向量索引之间的M×N个第三匹配度。在此基础上,不仅基于query向量与M×N个粒度向量索引之间的M×N个第一匹配度,而且基于已拼接query向量与M×N个粒度向量索引之间的M×N个第三匹配度,共同从M个候选召回内容中确定query匹配的目标召回内容。
作为一种示例,在上述图5的基础上,进一步结合上述S7-S9和上述S303b的示例,参见图7,图7为本申请实施例提供的另一种内容搜索方法的示意图。一方面,计算机设备不仅将query输入句向量模型进行内容编码,输出query向量;而且拼接query的上文内容和query,得到query的已拼接query,并将已拼接query输入句向量模型进行内容编码,输出已拼接query的已拼接query向量。
另一方面,计算机设备在通过GPT按照标题提示、摘要提示、细节提示和相似提示,生成每个chunk对应的title、abstract、detail和question,结合每个chunk的content,作为每个chunk对应的5个粒度召回内容(即,N=5),输入句向量模型进行内容编码,输出M个chunk对应的5×M个粒度向量索引的基础上,不仅匹配query向量和5×M个粒度向量索引,得到query向量与5×M粒度向量索引之间的5×M个第一匹配度;而且匹配已拼接query向量和5×M个粒度向量索引,得到已拼接query向量与5×M粒度向量索引之间的5×M个第三匹配度。在此基础上,计算机设备基于5×M个第一匹配度和5×M个第三匹配度,共同从M个chunk中确定query匹配的目标chunk。
此外,本申请实施例中,考虑到上述S4-S6通过改写待搜索内容得到更准确的待搜索内容作为已改写内容,以便后续利用已改写内容进一步更准确地实现内容搜索;而上述S7-S9通过在待搜索内容的基础上,拼接待搜索内容的上文内容得到更准确的待搜索内容作为已拼接内容,以便后续利用已拼接内容进一步更准确地实现内容搜索。因此,可以既通过上述S4-S6表示的具体实现方式利用已改写内容进一步更准确地实现内容搜索,又可以通过上述S7-S9表示的具体实现方式利用已拼接内容进一步更准确地实现内容搜索;则在上述S303具体实现时,不仅基于待搜索内容的第一搜索向量与多个候选召回内容对应的多个粒度向量索引之间的多个第一匹配度;而且基于已改写内容的第二搜索向量与多个候选召回内容对应的多个粒度向量索引之间的多个第二匹配度;还需要基于已拼接内容的第三搜索向量与多个候选召回内容对应的多个粒度向量索引之间的多个第三匹配度,共同从多个候选召回内容中更准确地确定待搜索内容匹配的目标召回内容,以更进一步更准确地实现内容搜索。基于此,本申请提供了一种可能的实现方式,方法还包括如下S10-S15(图中未示出):
S10:对待搜索内容进行内容改写,获得待搜索内容的已改写内容。
S11:通过第一编码器对已改写内容进行内容编码,获得已改写内容的第二搜索向量。
S12:根据第二搜索向量和多个候选召回内容对应的多个粒度向量索引进行向量匹配,获得第二搜索向量与多个粒度向量索引之间的多个第二匹配度。
S13:对待搜索内容的上文内容和待搜索内容进行内容拼接,获得待搜索内容对应的已拼接内容。
S14:通过第一编码器对已拼接内容进行内容编码,获得已拼接内容的第三搜索向量。
S15:根据第三搜索向量和多个候选召回内容对应的多个粒度向量索引进行向量匹配,获得第三搜索向量与多个粒度向量索引之间的多个第三匹配度。
对应地,上述S303具体为S303c(图中未示出):根据多个第一匹配度、多个第二匹配度和多个第三匹配度,从多个候选召回内容中确定待搜索内容匹配的目标召回内容。
该S10-S15和S303c既通过改写待搜索内容得到已改写内容,又在待搜索内容基础上通过拼接待搜索内容的上文内容得到已拼接内容,能够进一步明确待搜索内容中指代信息、补全待搜索内容中省略信息或纠正待搜索内容中错误信息,并明确待搜索内容的上文内容;既针对已改写内容通过第一编码器进行内容编码,又针对已拼接内容通过第一编码器进行内容编码,相当于将已改写内容和已拼接内容分别转换为进一步更准确地反映待搜索内容的核心特征的表示向量;既匹配已改写内容的第二搜索向量和多个候选召回内容对应的多个粒度向量索引,又匹配已拼接内容的第三搜索向量和多个候选召回内容对应的多个粒度向量索引,相当于更进一步更准确地匹配待搜索内容的表示向量与每个候选召回内容的更多粒度的表示向量;基于此,更进一步提高匹配度召回的准确度,从而更进一步提升内容搜索的搜索效果。
作为一种示例,在上述图5的基础上,进一步结合上述S4a、上述S5-S6、上述S7-S9的示例,并结合上述S303c,参见图8,图8为本申请实施例提供的另一种内容搜索方法的示意图。一方面,计算机设备不仅将query输入句向量模型进行内容编码,输出query向量;而且通过内容改写模型按照搜索场景的搜索需求改写query得到query的已改写query,并将已改写query输入句向量模型进行内容编码,输出已改写query的已改写query向量;还拼接query的上文内容和query,得到query的已拼接query,并将已拼接query输入句向量模型进行内容编码,输出已拼接query的已拼接query向量。
另一方面,计算机设备在通过GPT按照标题提示、摘要提示、细节提示和相似提示,生成每个chunk对应的title、abstract、detail和question,结合每个chunk的content,作为每个chunk对应的5个粒度召回内容(即,N=5),输入句向量模型进行内容编码,输出M个chunk对应的5×M个粒度向量索引的基础上,不仅匹配query向量和5×M个粒度向量索引,得到query向量与5×M粒度向量索引之间的5×M个第一匹配度;而且匹配已改写query向量和5×M个粒度向量索引,得到已改写query向量与5×M粒度向量索引之间的5×M个第二匹配度;还匹配已拼接query向量和5×M个粒度向量索引,得到已拼接query向量与5×M粒度向量索引之间的5×M个第三匹配度。在此基础上,计算机设备基于5×M个第一匹配度、5×M个第二匹配度和5×M个第三匹配度,从M个chunk中确定query匹配的目标chunk。
其中,在游戏领域的问答场景中,query可以是“我应该找谁参加”,query的上文内容为“我应该找谁参加”的上文问答,通过内容改写模型按照搜索场景的搜索需求改写“我应该找谁参加”,得到的已改写query为“我应该找谁参加XX游戏活动”,拼接“我应该找谁参加”的上文问答和“我应该找谁参加” 得到的已拼接query为:“我应该找谁参加”的上文问答+我应该找谁参加。
此外,本申请实施例中,在编码器是基于相对通用的、常见的语料训练得到的基础上,考虑到目标对象输入待搜索内容时具有一定搜索习惯,使得待搜索内容可能存在具有目标对象的搜索习惯的非通用信息;为了进一步提高匹配度召回的准确度,从而进一步提升内容搜索的搜索效果,还可以进一步按照待搜索内容对应的目标对象的搜索习惯,调整待搜索内容得到更准确的待搜索内容作为已调整内容,以便后续利用已调整内容进一步更准确地实现内容搜索。
即,首先,还需要按照待搜索内容对应的目标对象的搜索习惯,调整待搜索内容得到待搜索内容的已调整内容;其次,还需要将已调整内容输入第一编码器进行内容编码,输出已调整内容的第四搜索向量;然后,还需要匹配第四搜索向量和多个候选召回内容对应的多个粒度向量索引,得到第四搜索向量与多个粒度向量索引之间的多个第四匹配度;最后,在上述S303具体实现时,不仅基于待搜索内容的第一搜索向量与多个候选召回内容对应的多个粒度向量索引之间的多个第一匹配度;而且基于已调整内容的第四搜索向量与多个候选召回内容对应的多个粒度向量索引之间的多个第四匹配度,共同从多个候选召回内容中确定更准确的待搜索内容匹配的目标召回内容,以进一步更准确地实现内容搜索。基于此,本申请提供了一种可能的实现方式,方法还包括如下S16-S18(图中未示出):
S16:根据待搜索内容对应的目标对象的搜索习惯对待搜索内容进行内容调整,获得待搜索内容的已调整内容。
S17:通过第一编码器对已调整内容进行内容编码,获得已调整内容的第四搜索向量。
S18:根据第四搜索向量和多个候选召回内容对应的多个粒度向量索引进行向量匹配,获得第四搜索向量与多个粒度向量索引之间的多个第四匹配度。
对应地,上述S303具体为S303d(图中未示出):根据多个第一匹配度和多个第四匹配度,从多个候选召回内容中确定待搜索内容匹配的目标召回内容。
其中,已调整内容是指按照待搜索内容对应的目标对象的搜索习惯调整后的待搜索内容,即,将目标对象的搜索习惯的非通用信息调整为搜索场景的通用信息的待搜索内容;第四搜索向量是指反映已调整内容的核心特征的表示向量;多个第四匹配度是指第四搜索向量与多个粒度向量索引之间的多个匹配程度,第四匹配度越大表示第四匹配度对应的已调整内容与候选召回内容之间的匹配程度越高,即,第四匹配度对应的已调整内容与候选召回内容越匹配。
该S16-S18和S303d通过调整待搜索内容得到已调整内容,能够调整待搜索内容中具有目标对象的搜索习惯的非通用信息为搜索场景的通用信息;针对已调整内容通过第一编码器进行内容编码,相当于将已调整内容转换为更准确地反映待搜索内容的核心特征的表示向量;匹配已调整内容的第四搜索向量和多个候选召回内容对应的多个粒度向量索引,相当于进一步更准确地匹配待搜索内容的表示向量与每个候选召回内容的更多粒度的表示向量;基于此,进一步提高匹配度召回的准确度,从而进一步提升内容搜索的搜索效果。
作为S16-S18和S303d的一种示例,在上述S301-S302的示例基础上,计算机设备按照query对应的目标对象的搜索习惯,调整query得到query的已调整内容为已调整query;计算机设备将已调整query输入句向量模型进行内容编码,输出已调整query的第四搜索向量为已调整query向量;计算机设备匹配已调整query向量和M×N个粒度向量索引,得到已调整query向量与M×N个粒度向量索引之间的M×N个第四匹配度。在此基础上,计算机设备不仅基于query向量与M×N个粒度向量索引之间的M×N个第一匹配度,而且基于已调整query向量与M×N个粒度向量索引之间的M×N个第四匹配度,共同从M个候选召回内容中确定query匹配的目标召回内容。
作为一种示例,在上述图5的基础上,进一步结合上述S7-S9和上述S303d的示例,参见图9,图9为本申请实施例提供的另一种内容搜索方法的示意图。一方面,计算机设备不仅将query输入句向量模型进行内容编码,输出query向量;而且按照query对应的目标对象的搜索习惯调整query,得到query的已调整query,并将已调整query输入句向量模型进行内容编码,输出已调整query的已调整query向量。
另一方面,计算机设备在通过GPT按照标题提示、摘要提示、细节提示和相似提示,生成每个chunk对应的title、abstract、detail和question,结合每个chunk的content,作为每个chunk对应的5个粒度召回内容(即,N=5),输入句向量模型进行内容编码,输出M个chunk对应的5×M个粒度向量索引的基础上,不仅匹配query向量和5×M个粒度向量索引,得到query向量与5×M粒度向量索引之间的5×M个第一匹配度;而且匹配已调整query向量和5×M个粒度向量索引,得到已调整query向量与5×M粒度向量索引之间的5×M个第四匹配度。在此基础上,计算机设备基于5×M个第一匹配度和5×M个第四匹配度,从M个chunk中确定query匹配的目标chunk。
此外,本申请实施例中,考虑到为了进一步更准确地匹配待搜索内容的第一搜索向量与多个候选召回内容对应的多个粒度向量索引,以更准确地实现匹配度召回,从而更准确地提升内容搜索的搜索效果;还可以将编码得到待搜索内容的第一搜索向量的第一编码器和编码得到多个候选召回内容对应的多个粒度向量索引的第二编码器设置为同一编码器。基于此,本申请提供了一种可能的实现方式,第一编码器和第二编码器是同一编码器。
作为一种示例,在上述S301-S303的示例基础上,编码query得到query向量的句向量模型和编码M个候选召回内容得到M×N个粒度向量索引的句向量模型是同一句向量模型。
综上说明,参见图10,图10为本申请实施例提供的另一种内容搜索方法的流程图,方法包括:
S1001:对待搜索内容进行内容改写,获得待搜索内容的已改写内容。
S1002:对待搜索内容的上文内容和待搜索内容进行内容拼接,获得待搜索内容对应的已拼接内容。
其中,并不限定S1001和S1002的执行顺序,既可以先执行S1001再执行S1002,又可以先执行S1002再执行S1001,还可以同时执行S1001和S1002。
S1003:通过目标编码器对待搜索内容、已改写内容和已拼接内容分别进行内容编码,获得多个目标搜索向量。
其中,目标编码器又可以称为第一编码器;多个目标搜索向量包括待搜索内容的第一搜索向量、已改写内容的第二搜索向量和已拼接内容的第三搜索向量。
S1004:根据多个目标搜索向量和多个候选召回内容对应的多个粒度向量索引进行向量匹配,获得多个目标搜索向量与多个粒度向量索引之间的多个目标匹配度;多个粒度向量索引是通过目标编码器对多个候选召回内容中每个候选召回内容对应的多个粒度召回内容进行内容编码获得的。
其中,目标编码器又可以称为第二编码器;多个目标匹配度包括第一搜索向量与多个粒度向量索引之间的多个第一匹配度、第二搜索向量与多个粒度向量索引之间的多个第二匹配度、以及第三搜索向量与多个粒度向量索引之间的多个第三匹配度。
S1005:根据多个目标匹配度,从多个候选召回内容中确定待搜索内容匹配的目标召回内容。
上述实施例提供的内容搜索方法可以应用于搜索场景中的问答场景,例如,游戏领域的问答场景等。参见图11,图11为本申请实施例提供的一种游戏领域的问答场景的页面示意图;其中,目标对象为游戏玩家,待搜索内容为待搜索问题query,多个候选召回内容为多个候选召回答案,游戏玩家输入query,计算机设备将query输入句向量模型进行内容编码,输出query的query向量,计算机设备在将M个候选召回答案中每个候选召回答案对应的N个粒度召回答案输入句向量模型进行内容编码,输出M个候选召回答案对应的M×N个粒度向量索引的基础上,匹配query向量和M×N个粒度向量索引,得到query向量与M×N个粒度向量索引之间的M×N个第一匹配度;在此基础上,计算机设备基于M×N个第一匹配度,从M个候选召回答案中确定query匹配的目标召回答案为answer,通过游戏角色机器人对应query回复answer。
需要说明的是,本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
基于图3对应实施例提供的内容搜索方法,本申请实施例还提供一种内容搜索装置,参见图12,图12为本申请实施例提供的一种内容搜索装置的结构图,该内容搜索装置1200包括:编码单元1201、匹配单元1202和确定单元1203;
编码单元1201,用于通过第一编码器对待搜索内容进行内容编码,获得待搜索内容的第一搜索向量;
匹配单元1202,用于根据第一搜索向量和多个候选召回内容对应的多个粒度向量索引进行向量匹配,获得第一搜索向量与多个粒度向量索引之间的多个第一匹配度;多个粒度向量索引是通过第二编码器对多个候选召回内容中每个候选召回内容对应的多个粒度召回内容进行内容编码获得的;
确定单元1203,用于根据多个第一匹配度,从多个候选召回内容中确定待搜索内容匹配的目标召回内容。
在一种可能的实现方式中,装置还包括:生成单元;
生成单元,用于通过预设生成模型根据预设粒度提示对每个候选召回内容进行内容生成,获得每个候选召回内容对应的预设粒度内容;
确定单元1203,还用于根据每个候选召回内容的整体内容和每个候选召回内容对应的预设粒度内容,确定每个候选召回内容对应的多个粒度召回内容。
在一种可能的实现方式中,预设粒度提示是根据预设粒度确定的,预设粒度是根据多个候选召回内容中每个候选召回内容的内容大小或搜索场景的搜索需求确定的。
在一种可能的实现方式中,预设粒度提示包括标题提示、摘要提示、细节提示和相似提示中的一种或多种;
若预设粒度提示包括标题提示,预设粒度内容包括标题内容,多个粒度召回内容包括标题内容,多个粒度向量索引包括标题向量索引;
若预设粒度提示包括摘要提示,预设粒度内容包括摘要内容,多个粒度召回内容包括摘要内容,多个粒度向量索引包括摘要向量索引;
若预设粒度提示包括细节提示,预设粒度内容包括细节内容,多个粒度召回内容包括细节内容,多个粒度向量索引包括细节向量索引;
若预设粒度提示包括相似提示,预设粒度内容包括相似内容,多个粒度召回内容包括相似内容,多个粒度向量索引包括相似向量索引。
在一种可能的实现方式中,装置还包括:分块单元;
分块单元,用于对多个候选召回数据进行数据分块,获得多个候选召回内容。
在一种可能的实现方式中,装置还包括:改写单元;
改写单元,用于对待搜索内容进行内容改写,获得待搜索内容的已改写内容;
编码单元1201,还用于通过第一编码器对已改写内容进行内容编码,获得已改写内容的第二搜索向量;
匹配单元1202,还用于根据第二搜索向量和多个候选召回内容对应的多个粒度向量索引进行向量匹配,获得第二搜索向量与多个粒度向量索引之间的多个第二匹配度;
确定单元1203,具体用于根据多个第一匹配度和多个第二匹配度,从多个候选召回内容中确定待搜索内容匹配的目标召回内容。
在一种可能的实现方式中,改写单元,具体用于:
通过内容改写模型根据搜索场景的搜索需求对待搜索内容进行内容改写,获得待搜索内容的已改写内容。
在一种可能的实现方式中,装置还包括:拼接单元;
拼接单元,用于对待搜索内容的上文内容和待搜索内容进行内容拼接,获得待搜索内容对应的已拼接内容;
编码单元1201,还用于通过第一编码器对已拼接内容进行内容编码,获得已拼接内容的第三搜索向量;
匹配单元1202,还用于根据第三搜索向量和多个候选召回内容对应的多个粒度向量索引进行向量匹配,获得第三搜索向量与多个粒度向量索引之间的多个第三匹配度;
确定单元1203,具体用于根据多个第一匹配度和多个第三匹配度,从多个候选召回内容中确定待搜索内容匹配的目标召回内容。
在一种可能的实现方式中,装置还包括:改写单元和拼接单元;
改写单元,用于对待搜索内容进行内容改写,获得待搜索内容的已改写内容;
编码单元1201,还用于通过第一编码器对已改写内容进行内容编码,获得已改写内容的第二搜索向量;
匹配单元1202,还用于根据第二搜索向量和多个候选召回内容对应的多个粒度向量索引进行向量匹配,获得第二搜索向量与多个粒度向量索引之间的多个第二匹配度;
拼接单元,用于对待搜索内容的上文内容和待搜索内容进行内容拼接,获得待搜索内容对应的已拼接内容;
编码单元1201,还用于通过第一编码器对已拼接内容进行内容编码,获得已拼接内容的第三搜索向量;
匹配单元1202,还用于根据第三搜索向量和多个候选召回内容对应的多个粒度向量索引进行向量匹配,获得第三搜索向量与多个粒度向量索引之间的多个第三匹配度;
确定单元1203,具体用于根据多个第一匹配度、多个第二匹配度和多个第三匹配度,从多个候选召回内容中确定待搜索内容匹配的目标召回内容。
在一种可能的实现方式中,装置还包括:调整单元;
调整单元,用于根据待搜索内容对应的目标对象的搜索习惯对待搜索内容进行内容调整,获得待搜索内容的已调整内容;
编码单元1201,还用于通过第一编码器对已调整内容进行内容编码,获得已调整内容的第四搜索向量;
匹配单元1202,还用于根据第四搜索向量和多个候选召回内容对应的多个粒度向量索引进行向量匹配,获得第四搜索向量与多个粒度向量索引之间的多个第四匹配度;
确定单元1203,具体用于根据多个第一匹配度和多个第四匹配度,从多个候选召回内容中确定待搜索内容匹配的目标召回内容。
在一种可能的实现方式中,第一编码器和第二编码器是同一编码器。
由上述技术方案可以看出,内容搜索装置包括编码单元、匹配单元和确定单元。其中,编码单元将待搜索内容输入第一编码器进行内容编码,输出待搜索内容的第一搜索向量;该单元针对待搜索内容进行内容编码,以便后续通过待搜索内容的表示向量能够快速、准确地搜索多个候选召回内容。匹配单元在将多个候选召回内容中每个候选召回内容对应的多个粒度召回内容输入第二编码器进行内容编码,输出多个候选召回内容对应的多个粒度向量索引的基础上,匹配第一搜索向量和多个粒度向量索引,得到第一搜索向量与多个粒度向量索引之间的多个第一匹配度;该单元针对每个候选召回内容对应的多个粒度召回内容进行内容编码,不仅降低对编码器的编码能力要求,而且覆盖每个候选召回内容的更多粒度的表示向量,增加每个候选召回内容被搜索召回的渠道,使得编码得到的多个粒度向量索引更准确,能够更准确地匹配待搜索内容的表示向量与每个候选召回内容的更多粒度的表示向量。确定单元基于多个第一匹配度,从多个候选召回内容中确定待搜索内容匹配的目标召回内容;该单元在更准确地匹配待搜索内容的表示向量与每个候选召回内容的更多粒度的表示向量的基础上,使得匹配度召回的更准确,以提高匹配度召回的准确度,从而提升内容搜索的搜索效果。
本申请实施例还提供了一种计算机设备,该计算机设备可以是服务器,参见图13,图13为本申请实施例提供的一种服务器的结构图,服务器1300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器,例如中央处理器CPU1322,以及存储器1332,一个或一个以上存储应用程序1342或数据1344的存储介质1330(例如一个或一个以上海量存储设备)。其中,存储器1332和存储介质1330可以是短暂存储或持久存储。存储在存储介质1330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1322可以设置为与存储介质1330通信,在服务器1300上执行存储介质1330中的一系列指令操作。
服务器1300还可以包括一个或一个以上电源1326,一个或一个以上有线或无线网络接口1350,一个或一个以上输入输出接口1358,和/或,一个或一个以上操作***1341,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
在本实施例中,由服务器1300中的中央处理器1322可以执行上述实施例各种可选实现方式中提供的方法。
本申请实施例提供的计算机设备还可以是终端,参见图14,图14为本申请实施例提供的一种终端的结构图。以终端为智能手机为例,智能手机包括:射频(RadioFrequency,RF)电路1410、存储器1420、输入单元1430、显示单元1440、传感器1450、音频电路1460、无线保真(Wireless Fidelity,WiFi)模块1470、处理器1480、以及电源1490等部件。输入单元1430可包括触控面板1431以及其他输入设备1432,显示单元1440可包括显示面板1441,音频电路1460可以包括扬声器1461和传声器1462。本领域技术人员可以理解,图14中示出的智能手机结构并不构成对智能手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储器1420可用于存储软件程序以及模块,处理器1480通过运行存储在存储器1420的软件程序以及模块,从而执行智能手机的各种功能应用以及数据处理。存储器1420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据智能手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器1480是智能手机的控制中心,利用各种接口和线路连接整个智能手机的各个部分,通过运行或执行存储在存储器1420内的软件程序和/或模块,以及调用存储在存储器1420内的数据,执行智能手机的各种功能和处理数据。可选的,处理器1480可包括一个或多个处理单元;优选的,处理器1480可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1480中。
在本实施例中,智能手机中的处理器1480可以执行上述实施例各种可选实现方式中提供的方法。
根据本申请的一个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,当所述计算机程序在计算机设备上运行时,使得所述计算机设备执行上述实施例各种可选实现方式中提供的方法。
根据本申请的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行上述实施例各种可选实现方式中提供的方法。
上述各个附图对应的流程或结构的描述各有侧重,某个流程或结构中没有详述的部分,可以参见其他流程或结构的相关描述。
本申请的说明书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、RAM、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请实施例中,术语“模块”或“单元”是指有预定功能的计算机程序或计算机程序的一部分,并与其他相关部分一起工作以实现预定目标,并且可以通过使用软件、硬件(如处理电路或存储器)或其组合来全部或部分实现。同样的,一个处理器(或多个处理器或存储器)可以用来实现一个或多个模块或单元。此外,每个模块或单元都可以是包含该模块或单元功能的整体模块或单元的一部分。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术成员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (19)
1.一种内容搜索方法,其特征在于,所述方法包括:
通过第一编码器对待搜索内容进行内容编码,获得所述待搜索内容的第一搜索向量;
根据所述第一搜索向量和多个候选召回内容对应的多个粒度向量索引进行向量匹配,获得所述第一搜索向量与所述多个粒度向量索引之间的多个第一匹配度;所述多个粒度向量索引是通过第二编码器对所述多个候选召回内容中每个候选召回内容对应的多个粒度召回内容进行内容编码获得的;
对所述待搜索内容进行内容改写,获得所述待搜索内容的已改写内容;
通过所述第一编码器对所述已改写内容进行内容编码,获得所述已改写内容的第二搜索向量;
根据所述第二搜索向量和所述多个候选召回内容对应的多个粒度向量索引进行向量匹配,获得所述第二搜索向量与所述多个粒度向量索引之间的多个第二匹配度;
对所述待搜索内容的上文内容和所述待搜索内容进行内容拼接,获得所述待搜索内容对应的已拼接内容;
通过所述第一编码器对所述已拼接内容进行内容编码,获得所述已拼接内容的第三搜索向量;
根据所述第三搜索向量和所述多个候选召回内容对应的多个粒度向量索引进行向量匹配,获得所述第三搜索向量与所述多个粒度向量索引之间的多个第三匹配度;
根据所述多个第一匹配度,从所述多个候选召回内容中确定所述待搜索内容匹配的目标召回内容,具体包括:根据所述多个第一匹配度、所述多个第二匹配度和所述多个第三匹配度,从所述多个候选召回内容中确定所述待搜索内容匹配的目标召回内容。
2.根据权利要求1所述的方法,其特征在于,所述每个候选召回内容对应的多个粒度召回内容的获得步骤,包括:
通过预设生成模型根据预设粒度提示对所述每个候选召回内容进行内容生成,获得所述每个候选召回内容对应的预设粒度内容;
根据所述每个候选召回内容的整体内容和所述每个候选召回内容对应的预设粒度内容,确定所述每个候选召回内容对应的多个粒度召回内容。
3.根据权利要求2所述的方法,其特征在于,所述预设粒度提示是根据预设粒度确定的,所述预设粒度是根据所述多个候选召回内容中每个候选召回内容的内容大小或搜索场景的搜索需求确定的。
4.根据权利要求2或3所述的方法,其特征在于,所述预设粒度提示包括标题提示、摘要提示、细节提示和相似提示中的一种或多种;
若所述预设粒度提示包括所述标题提示,所述预设粒度内容包括标题内容,所述多个粒度召回内容包括所述标题内容,所述多个粒度向量索引包括标题向量索引;
若所述预设粒度提示包括所述摘要提示,所述预设粒度内容包括摘要内容,所述多个粒度召回内容包括所述摘要内容,所述多个粒度向量索引包括摘要向量索引;
若所述预设粒度提示包括所述细节提示,所述预设粒度内容包括细节内容,所述多个粒度召回内容包括所述细节内容,所述多个粒度向量索引包括细节向量索引;
若所述预设粒度提示包括所述相似提示,所述预设粒度内容包括相似内容,所述多个粒度召回内容包括所述相似内容,所述多个粒度向量索引包括相似向量索引。
5.根据权利要求1所述的方法,其特征在于,所述多个候选召回内容的获得步骤,具体为:
对多个候选召回数据进行数据分块,获得所述多个候选召回内容。
6.根据权利要求1所述的方法,其特征在于,所述对所述待搜索内容进行内容改写,获得所述待搜索内容的已改写内容,具体为:
通过内容改写模型根据搜索场景的搜索需求对所述待搜索内容进行内容改写,获得所述待搜索内容的已改写内容。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述待搜索内容对应的目标对象的搜索习惯对所述待搜索内容进行内容调整,获得所述待搜索内容的已调整内容;
通过所述第一编码器对所述已调整内容进行内容编码,获得所述已调整内容的第四搜索向量;
根据所述第四搜索向量和所述多个候选召回内容对应的多个粒度向量索引进行向量匹配,获得所述第四搜索向量与所述多个粒度向量索引之间的多个第四匹配度;
所述根据所述多个第一匹配度,从所述多个候选召回内容中确定所述待搜索内容匹配的目标召回内容,具体为:
根据所述多个第一匹配度和所述多个第四匹配度,从所述多个候选召回内容中确定所述待搜索内容匹配的目标召回内容。
8.根据权利要求1所述的方法,其特征在于,所述第一编码器和所述第二编码器是同一编码器。
9.一种内容搜索装置,其特征在于,所述装置包括:改写单元、拼接单元、编码单元、匹配单元和确定单元;
所述编码单元,用于通过第一编码器对待搜索内容进行内容编码,获得所述待搜索内容的第一搜索向量;
所述匹配单元,用于根据所述第一搜索向量和多个候选召回内容对应的多个粒度向量索引进行向量匹配,获得所述第一搜索向量与所述多个粒度向量索引之间的多个第一匹配度;所述多个粒度向量索引是通过第二编码器对所述多个候选召回内容中每个候选召回内容对应的多个粒度召回内容进行内容编码获得的;
所述改写单元,用于对所述待搜索内容进行内容改写,获得所述待搜索内容的已改写内容;
所述编码单元,还用于通过所述第一编码器对所述已改写内容进行内容编码,获得所述已改写内容的第二搜索向量;
所述匹配单元,还用于根据所述第二搜索向量和所述多个候选召回内容对应的多个粒度向量索引进行向量匹配,获得所述第二搜索向量与所述多个粒度向量索引之间的多个第二匹配度;
所述拼接单元,用于对所述待搜索内容的上文内容和所述待搜索内容进行内容拼接,获得所述待搜索内容对应的已拼接内容;
所述编码单元,还用于通过所述第一编码器对所述已拼接内容进行内容编码,获得所述已拼接内容的第三搜索向量;
所述匹配单元,还用于根据所述第三搜索向量和所述多个候选召回内容对应的多个粒度向量索引进行向量匹配,获得所述第三搜索向量与所述多个粒度向量索引之间的多个第三匹配度;
所述确定单元,用于根据所述多个第一匹配度,从所述多个候选召回内容中确定所述待搜索内容匹配的目标召回内容,具体包括:根据所述多个第一匹配度、所述多个第二匹配度和所述多个第三匹配度,从所述多个候选召回内容中确定所述待搜索内容匹配的目标召回内容。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:生成单元;
所述生成单元,用于通过预设生成模型根据预设粒度提示对所述每个候选召回内容进行内容生成,获得所述每个候选召回内容对应的预设粒度内容;
所述确定单元,还用于根据所述每个候选召回内容的整体内容和所述每个候选召回内容对应的预设粒度内容,确定所述每个候选召回内容对应的多个粒度召回内容。
11.根据权利要求10所述的装置,其特征在于,所述预设粒度提示是根据预设粒度确定的,所述预设粒度是根据所述多个候选召回内容中每个候选召回内容的内容大小或搜索场景的搜索需求确定的。
12.根据权利要求10或11所述的装置,其特征在于,所述预设粒度提示包括标题提示、摘要提示、细节提示和相似提示中的一种或多种;
若所述预设粒度提示包括所述标题提示,所述预设粒度内容包括标题内容,所述多个粒度召回内容包括所述标题内容,所述多个粒度向量索引包括标题向量索引;
若所述预设粒度提示包括所述摘要提示,所述预设粒度内容包括摘要内容,所述多个粒度召回内容包括所述摘要内容,所述多个粒度向量索引包括摘要向量索引;
若所述预设粒度提示包括所述细节提示,所述预设粒度内容包括细节内容,所述多个粒度召回内容包括所述细节内容,所述多个粒度向量索引包括细节向量索引;
若所述预设粒度提示包括所述相似提示,所述预设粒度内容包括相似内容,所述多个粒度召回内容包括所述相似内容,所述多个粒度向量索引包括相似向量索引。
13.根据权利要求9所述的装置,其特征在于,所述装置还包括:分块单元;
所述分块单元,用于对多个候选召回数据进行数据分块,获得所述多个候选召回内容。
14.根据权利要求9所述的装置,其特征在于,
所述改写单元,具体用于通过内容改写模型根据搜索场景的搜索需求对所述待搜索内容进行内容改写,获得所述待搜索内容的已改写内容。
15.根据权利要求9所述的装置,其特征在于,所述装置还包括:调整单元;
所述调整单元,用于根据所述待搜索内容对应的目标对象的搜索习惯对所述待搜索内容进行内容调整,获得所述待搜索内容的已调整内容;
所述编码单元,还用于通过所述第一编码器对所述已调整内容进行内容编码,获得所述已调整内容的第四搜索向量;
所述匹配单元,还用于根据所述第四搜索向量和所述多个候选召回内容对应的多个粒度向量索引进行向量匹配,获得所述第四搜索向量与所述多个粒度向量索引之间的多个第四匹配度;
所述确定单元,具体还用于根据所述多个第一匹配度和所述多个第四匹配度,从所述多个候选召回内容中确定所述待搜索内容匹配的目标召回内容。
16.根据权利要求9所述的装置,其特征在于,所述第一编码器和所述第二编码器是同一编码器。
17.一种计算机设备,其特征在于,所述计算机设备包括处理器以及存储器:
所述存储器用于存储计算机程序,并将所述计算机程序传输给所述处理器;
所述处理器用于根据所述计算机程序中的指令执行权利要求1-8任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,当所述计算机程序在计算机设备上运行时,使得所述计算机设备执行权利要求1-8任一项所述的方法。
19.一种计算机程序产品,包括计算机程序,其特征在于,当所述计算机程序在计算机设备上运行时,使得所述计算机设备执行权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410298420.6A CN117891980B (zh) | 2024-03-15 | 2024-03-15 | 一种内容搜索方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410298420.6A CN117891980B (zh) | 2024-03-15 | 2024-03-15 | 一种内容搜索方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117891980A CN117891980A (zh) | 2024-04-16 |
CN117891980B true CN117891980B (zh) | 2024-05-14 |
Family
ID=90647694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410298420.6A Active CN117891980B (zh) | 2024-03-15 | 2024-03-15 | 一种内容搜索方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117891980B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006121338A2 (en) * | 2005-05-06 | 2006-11-16 | Fast Search & Transfer Asa | A method for determining contextual summary information across documents |
WO2020192677A1 (zh) * | 2019-03-27 | 2020-10-01 | 上海德衡数据科技有限公司 | 基于数据中心运维的知识库信息感知方法及*** |
CN111797216A (zh) * | 2020-06-28 | 2020-10-20 | 北京百度网讯科技有限公司 | 检索项改写方法、装置、设备以及存储介质 |
CN114756733A (zh) * | 2022-04-19 | 2022-07-15 | 北京金山数字娱乐科技有限公司 | 一种相似文档搜索方法、装置、电子设备及存储介质 |
CN114880447A (zh) * | 2022-05-13 | 2022-08-09 | 平安科技(深圳)有限公司 | 信息检索方法、装置、设备及存储介质 |
-
2024
- 2024-03-15 CN CN202410298420.6A patent/CN117891980B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006121338A2 (en) * | 2005-05-06 | 2006-11-16 | Fast Search & Transfer Asa | A method for determining contextual summary information across documents |
WO2020192677A1 (zh) * | 2019-03-27 | 2020-10-01 | 上海德衡数据科技有限公司 | 基于数据中心运维的知识库信息感知方法及*** |
CN111797216A (zh) * | 2020-06-28 | 2020-10-20 | 北京百度网讯科技有限公司 | 检索项改写方法、装置、设备以及存储介质 |
CN114756733A (zh) * | 2022-04-19 | 2022-07-15 | 北京金山数字娱乐科技有限公司 | 一种相似文档搜索方法、装置、电子设备及存储介质 |
CN114880447A (zh) * | 2022-05-13 | 2022-08-09 | 平安科技(深圳)有限公司 | 信息检索方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117891980A (zh) | 2024-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220180202A1 (en) | Text processing model training method, and text processing method and apparatus | |
CN111930992B (zh) | 神经网络训练方法、装置及电子设备 | |
WO2020228376A1 (zh) | 文本处理方法、模型训练方法和装置 | |
CN111241851A (zh) | 语义相似度确定方法、装置及处理设备 | |
CN112288075A (zh) | 一种数据处理方法及相关设备 | |
WO2022253074A1 (zh) | 一种数据处理方法及相关设备 | |
CN113761153A (zh) | 基于图片的问答处理方法、装置、可读介质及电子设备 | |
CN114329029B (zh) | 对象检索方法、装置、设备及计算机存储介质 | |
CN114974397A (zh) | 蛋白质结构预测模型的训练方法和蛋白质结构预测方法 | |
CN117669512B (zh) | 答案生成方法、装置、设备及存储介质 | |
CN117272937B (zh) | 文本编码模型训练方法、装置、设备及存储介质 | |
CN116913278B (zh) | 语音处理方法、装置、设备和存储介质 | |
CN117011650B (zh) | 一种图像编码器的确定方法及相关装置 | |
CN116821307B (zh) | 内容交互方法、装置、电子设备和存储介质 | |
CN114281935A (zh) | 搜索结果分类模型的训练方法、装置、介质及设备 | |
CN113761924A (zh) | 一种命名实体模型的训练方法、装置、设备及存储介质 | |
CN112328783A (zh) | 一种摘要确定方法和相关装置 | |
CN117891980B (zh) | 一种内容搜索方法及相关装置 | |
CN111222011B (zh) | 一种视频向量确定方法和装置 | |
CN113128201B (zh) | 句子相似度确定方法、答案搜索方法、装置、设备、***及介质 | |
CN113761152A (zh) | 一种问答模型的训练方法、装置、设备及存储介质 | |
CN117786242B (zh) | 一种基于位置的搜索方法及相关装置 | |
CN118230224B (zh) | 标签打分方法、标签打分模型训练方法和装置 | |
CN118172449B (zh) | 一种视频生成方法及相关装置 | |
CN118035945B (zh) | 一种标签识别模型的处理方法和相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |