CN117573842A - 文档检索方法以及自动问答方法 - Google Patents

文档检索方法以及自动问答方法 Download PDF

Info

Publication number
CN117573842A
CN117573842A CN202410050556.5A CN202410050556A CN117573842A CN 117573842 A CN117573842 A CN 117573842A CN 202410050556 A CN202410050556 A CN 202410050556A CN 117573842 A CN117573842 A CN 117573842A
Authority
CN
China
Prior art keywords
document
data
retrieved
searched
candidate
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.)
Granted
Application number
CN202410050556.5A
Other languages
English (en)
Other versions
CN117573842B (zh
Inventor
关新宇
余海洋
李永彬
黄非
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Cloud Computing Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Cloud Computing Ltd filed Critical Alibaba Cloud Computing Ltd
Priority to CN202410050556.5A priority Critical patent/CN117573842B/zh
Publication of CN117573842A publication Critical patent/CN117573842A/zh
Application granted granted Critical
Publication of CN117573842B publication Critical patent/CN117573842B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/041Abduction
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书实施例提供文档检索方法以及自动问答方法,其中所述文档检索方法包括:获取待检索数据;根据待检索数据,从知识库的多个文档中检索得到至少一个候选文档;根据待检索数据和至少一个候选文档之间的关联关系,从至少一个候选文档中筛选出至少一个参考文档;根据至少一个参考文档对待检索数据进行更新,获得更新后的待检索数据,并利用更新后的待检索数据,从多个文档中检索得到目标文档。通过粗排检索和精排检索得到参考文档,保证了参考文档的准确性,利用参考文档对待检索数据进行更新,实现了检索链路上的正负向反馈交互,使得待检索数据更加精准,有效解决了因表达多样性以及间接性导致的检索错误,提高了文档检索的准确性。

Description

文档检索方法以及自动问答方法
技术领域
本说明书实施例涉及计算机技术领域,特别涉及文档检索方法以及自动问答方法。
背景技术
随着计算机技术的发展,自动化的文档检索(Document Retrieval)逐渐成为研究重点。文档检索是指在大量的文档集合中,通过用户输入的查询条件来查找并返回与之相关的信息的过程。
目前,检索链路经常受到两类问题的困扰,一是表述多样性问题,即用户输入的查询条件和知识库中对于同一对象的表述存在差异;二是逻辑推理问题,即用户输入的查询条件在知识库中不存在直接答案,必须通过推理间接推断。上述两类问题导致文档检索的准确性极差,因此,亟需一种准确性高的文档检索方案。
发明内容
有鉴于此,本说明书实施例提供了一种文档检索方法。本说明书一个或者多个实施例同时涉及一种自动问答方法,一种文档检索装置,一种自动问答装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种文档检索方法,包括:
获取待检索数据;
根据待检索数据,从知识库的多个文档中检索得到至少一个候选文档;
根据待检索数据和至少一个候选文档之间的关联关系,从至少一个候选文档中筛选出至少一个参考文档;
根据至少一个参考文档对待检索数据进行更新,获得更新后的待检索数据,并利用更新后的待检索数据,从多个文档中检索得到目标文档。
根据本说明书实施例的第二方面,提供了一种自动问答方法,包括:
获取待回答问题;
根据待回答问题,从知识库的多个文档中检索得到至少一个候选文档;
根据待回答问题和至少一个候选文档之间的关联关系,从至少一个候选文档中筛选出至少一个参考文档;
根据至少一个参考文档对待回答问题进行更新,获得更新后的待回答问题,并利用更新后的待回答问题,从多个文档中检索得到目标文档;
根据目标文档,生成待回答问题对应的答复结果。
根据本说明书实施例的第三方面,提供了一种文档检索装置,包括:
第一获取模块,被配置为获取待检索数据;
第一检索模块,被配置为根据待检索数据,从知识库的多个文档中检索得到至少一个候选文档;
第一筛选模块,被配置为根据待检索数据和至少一个候选文档之间的关联关系,从至少一个候选文档中筛选出至少一个参考文档;
第二检索模块,被配置为根据至少一个参考文档对待检索数据进行更新,获得更新后的待检索数据,并利用更新后的待检索数据,从多个文档中检索得到目标文档。
根据本说明书实施例的第四方面,提供了一种自动问答装置,包括:
第二获取模块,被配置为获取待回答问题;
第三检索模块,被配置为根据待回答问题,从知识库的多个文档中检索得到至少一个候选文档;
第二筛选模块,被配置为根据待回答问题和至少一个候选文档之间的关联关系,从至少一个候选文档中筛选出至少一个参考文档;
第四检索模块,被配置为根据至少一个参考文档对待回答问题进行更新,获得更新后的待回答问题,并利用更新后的待回答问题,从多个文档中检索得到目标文档;
第一生成模块,被配置为根据目标文档,生成待回答问题对应的答复结果。
根据本说明书实施例的第五方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现上述第一方面或者第二方面所提供方法的步骤。
根据本说明书实施例的第六方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述第一方面或者第二方面所提供方法的步骤。
根据本说明书实施例的第七方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述第一方面或者第二方面所提供方法的步骤。
本说明书一个实施例提供的文档检索方法,包括:获取待检索数据;根据待检索数据,从知识库的多个文档中检索得到至少一个候选文档;根据待检索数据和至少一个候选文档之间的关联关系,从至少一个候选文档中筛选出至少一个参考文档;根据至少一个参考文档对待检索数据进行更新,获得更新后的待检索数据,并利用更新后的待检索数据,从多个文档中检索得到目标文档。通过从多个文档中粗排检索得到候选文档,进一步从候选文档中精排检索得到参考文档,保证了参考文档的准确性,并且,利用参考文档对待检索数据进行更新,实现了检索链路上的正负向反馈交互,使得待检索数据更加精准,有效解决了因表达多样性以及间接性导致的检索错误,提高了文档检索的准确性。
附图说明
图1是一种基于匹配的传统检索链路示意图;
图2是本说明书一个实施例提供的一种文档检索系统的架构图;
图3是本说明书一个实施例提供的另一种文档检索系统的架构图;
图4是本说明书一个实施例提供的一种文档检索方法的流程图;
图5是本说明书一个实施例提供的一种自动问答方法的流程图;
图6是本说明书一个实施例提供的一种自动问答方法的处理过程流程图;
图7是本说明书一个实施例提供的一种自动问答界面的界面示意图;
图8是本说明书一个实施例提供的一种文档检索装置的结构示意图;
图9是本说明书一个实施例提供的一种自动问答装置的结构示意图;
图10是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
此外,需要说明的是,本说明书一个或多个实施例所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
本说明书一个或多个实施例中,大模型是指具有大规模模型参数的深度学习模型,通常包含上亿、上百亿、上千亿、上万亿甚至十万亿以上的模型参数。大模型又可以称为基石模型/基础模型(Foundation Model),通过大规模无标注的语料进行大模型的预训练,产出亿级以上参数的预训练模型,这种模型能适应广泛的下游任务,模型具有较好的泛化能力,例如大规模语言模型(LLM,Large Language Model)、多模态预训练模型(multi-modal pre-training model)等。
大模型在实际应用时,仅需少量样本对预训练模型进行微调即可应用于不同的任务中,大模型可以广泛应用于自然语言处理(NLP,Natural Language Processing)、计算机视觉等领域,具体可以应用于如视觉问答(VQA,Visual Question Answering)、图像描述(IC,Image Caption)、图像生成等计算机视觉领域任务,以及基于文本的情感分类、文本摘要生成、机器翻译等自然语言处理领域任务,大模型主要的应用场景包括数字助理、智能机器人、搜索、在线教育、办公软件、电子商务、智能设计等。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
多智能体系统:在人工智能领域,多智能体系统指的是由存在于共享环境中的多个信息处理和决策单元组成的系统,它们在共享环境中互动以实现相同或冲突的目标。本说明书实施例中的多智能体系统是指包括改写智能体、粗排智能体、精排智能体以及文本生成智能体的系统。
基于知识库的问答系统:区别于开放域问答,基于知识库的问答系统在回答用户的问题时,以知识库中存储的大量信息为准。
BERT:BERT(Bidirectional Encoder Representations from Transformers)是一种预训练的自然语言处理模型,使用了双向上下文信息来生成词向量和句子表示。
由于大模型可接受输入的长度目前仍然较为有限,通常远远小于知识库的内容规模,且大模型的计算耗时会随着输入长度的增长而快速增加,所以基于知识库的问答系统通常会通过一个检索链路从知识库中提取相关信息。显然,作为答案生成的前置环节,检索链路的准确性决定了问答效果的上限,优化检索链路对于问答系统的效果意义重大。
在实际应用中,检索链路经常受到两类问题的困扰,一是表述多样性问题,即用户输入的查询条件和知识库中对于同一对象的表述存在差异,导致检索准确性差,例如,OSS是对象存储服务(Object Storage Service)的英文简写,当用户提问“OSS是怎么收费的”,而知识库文档中只记载了对象存储服务的收费标准时,检索链路很难为用户的问题找到正确的相关文档;二是逻辑推理问题,即用户输入的查询条件在知识库中不存在直接答案,必须通过推理间接推断,传统的基于文本匹配的检索链路将无法处理。比如用户提问“本次比赛选出的设计稿,将主要面向A国以外地区,还是面向A国市场”,而知识库中存在的两处相关文档信息为“本公司的洗发水专为A国消费者设计,具有极高的市场占有率”和“本次大赛将为本公司的洗发水产品选出较好的包装设计”,检索链路则无法回答用户的提问。
目前,可以通过以下三种方式进行文档检索和问题回答。第一种方式,参见图1,图1示出了一种基于匹配的传统检索链路示意图,检索链路一般由问题改写模块、粗召模块、精排模块三个模块组成。当用户向问答系统提问时,开始检索,首先,改写模块对用户问题和历史对话数据进行改写,获得便于准确查询的改写后的用户问题;然后,粗召模块基于改写后的用户问题从知识库中粗召回相关性得分Top-K的候选文档;接着,精排模块对Top-K的候选文档打分、排序,确定精排分高于阈值的文档,并将其传递给文本生成模型;最后,文本生成模型基于精排分高于阈值的文档回答用户问题,得到生成的回复。然而,上述基于匹配的知识问答检索链路在一个问答过程中,只会进行一次检索。由于粗召模块和精排模块分别计算用户问题与每个候选文档的匹配度得分,无法综合不同候选文档的内容来判断它们与用户问题的关系,所以难以解决表述多样性问题和逻辑推理问题。
第二种方式,以基于匹配的知识问答检索链路为基础,利用知识库数据重新训练改写模块、粗召模块和精排模块,通过离线训练的方式预先将知识库知识注入检索链路的各个模块,能够在一定程度上增强检索链路对知识库信息的了解,在一次调用中更好地完成检索。然而,上述方案需要针对不同的知识库训练、部署不同的检索链路,成本巨大,而且随着知识库数据的更新,检索链路也必须重新训练。
第三种方式,基于记忆树(memory tree)进行交互式问答。通过构建记忆树,为知识库的内容建立从单个文档(叶子节点)到知识库的树;并由大模型分别针对每一个节点生成总结作为节点的表示。当用户提出问题后,从根节点开始,逐一读取下一级子节点的内容,并推理应该进入这个节点还是返回,直到找到与问题相关的信息,或达到最大尝试次数。上述方案虽然可以利用大模型理解、生成和规划能力,在检索时全面地考虑知识库信息,但记忆树构建和查找需要调用大模型的次数过多,时间复杂度过高。
为了解决上述问题,本说明书实施例综合考虑了检索增强的准确性问题和时间复杂度问题,在检索链路上进行有限次数的正负向反馈交互,从而结合知识库的文档信息逐步优化待检索数据。具体地,获取待检索数据;根据待检索数据,从知识库的多个文档中检索得到至少一个候选文档;根据待检索数据和至少一个候选文档之间的关联关系,从至少一个候选文档中筛选出至少一个参考文档;根据至少一个参考文档对待检索数据进行更新,获得更新后的待检索数据,并利用更新后的待检索数据,从多个文档中检索得到目标文档。有效地解决表达多样性和逻辑推理类难题,并且,基于不同知识库的问答系统可以共享一套检索方案,训练和部署成本大大降低。
在本说明书中,提供了一种文档检索方法,本说明书同时涉及一种自动问答方法,一种文档检索装置,一种自动问答装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
参见图2,图2示出了本说明书一个实施例提供的一种文档检索系统的架构图,文档检索系统可以包括客户端100和服务端200;
客户端100,用于向服务端200发送待检索数据;
服务端200,用于根据待检索数据,从知识库的多个文档中检索得到至少一个候选文档;根据待检索数据和至少一个候选文档之间的关联关系,从至少一个候选文档中筛选出至少一个参考文档;根据至少一个参考文档对待检索数据进行更新,获得更新后的待检索数据,并利用更新后的待检索数据,从多个文档中检索得到目标文档;向客户端100发送目标文档;
客户端100,还用于接收服务端200发送的目标文档。
应用本说明书实施例的方案,通过从多个文档中粗排检索得到候选文档,进一步从候选文档中精排检索得到参考文档,保证了参考文档的准确性,并且,利用参考文档对待检索数据进行更新,实现了检索链路上的正负向反馈交互,使得待检索数据更加精准,有效解决了因表达多样性以及间接性导致的检索错误,提高了文档检索的准确性。其中,根据待检索数据从多个文档中检索得到候选文档,再从候选文档中筛选出目标文档的检索链路可以理解为正向反馈交互。由于利用从候选文档中筛选出的参考文档更新待检索数据的检索链路,与正向反馈交互的检索链路方向相反,因此,可以理解为负向反馈交互。正负向反馈交互是指包括正向检索链路和负向检索链路的反馈交互链路。
参见图3,图3示出了本说明书一个实施例提供的另一种文档检索系统的架构图,文档检索系统可以包括多个客户端100以及服务端200,其中,客户端100可以包括端侧设备,服务端200可以包括云侧设备。多个客户端100之间通过服务端200可以建立通信连接,在文档检索场景中,服务端200即用来在多个客户端100之间提供文档检索服务,多个客户端100可以分别作为发送端或接收端,通过服务端200实现通信。
用户通过客户端100可与服务端200进行交互以接收其它客户端100发送的数据,或将数据发送至其它客户端100等。在文档检索场景中,可以是用户通过客户端100向服务端200发布数据流,服务端200根据该数据流生成目标文档,并将目标文档推送至其他建立通信的客户端中。
其中,客户端100与服务端200之间通过网络建立连接。网络为客户端100与服务端200之间提供了通信链路的介质。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。客户端100所传输的数据可能需要经过编码、转码、压缩等处理之后才发布至服务端200。
客户端100可以为浏览器、APP(Application,应用程序)、或网页应用如H5(HyperText Markup Language5,超文本标记语言第5版)应用、或轻应用(也被称为小程序,一种轻量级应用程序)或云应用等,客户端100可以基于服务端200提供的相应服务的软件开发工具包(SDK,Software Development Kit),如基于实时通信(RTC,Real TimeCommunication)SDK开发获得等。客户端100可以部署在电子设备中,需要依赖设备运行或者设备中的某些APP而运行等。电子设备例如可以具有显示屏并支持信息浏览等,如可以是个人移动终端如手机、平板电脑、个人计算机等。在电子设备中通常还可以配置各种其它类应用,例如人机对话类应用、模型训练类应用、文本处理类应用、网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
服务端200可以包括提供各种服务的服务器,例如为多个客户端提供通信服务的服务器,又如为客户端上使用的模型提供支持的用于后台训练的服务器,又如对客户端发送的数据进行处理的服务器等。需要说明的是,服务端200可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器也可以是云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(CDN,Content DeliveryNetwork)以及大数据和人工智能平台等基础云计算服务的云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。
值得说明的是,本说明书实施例中提供的文档检索方法一般由服务端执行,但是,在本说明书的其它实施例中,客户端也可以与服务端具有相似的功能,从而执行本说明书实施例所提供的文档检索方法。在其它实施例中,本说明书实施例所提供的文档检索方法还可以是由客户端与服务端共同执行。
参见图4,图4示出了本说明书一个实施例提供的一种文档检索方法的流程图,具体包括以下步骤:
步骤402:获取待检索数据。
由于知识库中的信息存储量远远大于文本生成智能体的输入长度,因此,如何从知识库中准确检索到与待检索数据相关的知识文档至关重要。本说明书一个或多个实施例中,可以获取待检索数据,从而基于待检索数据进行文档检索,获得待检索数据对应的目标文档。
具体地,待检索数据用于描述文档检索需求,以从知识库中检索出目标文档。待检索数据可以是不同格式的数据,如语音数据、文本数据、视频数据等等。待检索数据也可以是不同语言的数据,如英文数据、中文数据等等。待检索数据还可以是不同场景的数据,如电商场景的商品检索数据、会议场景的信息检索数据等等。
实际应用中,获得待检索数据的方式有多种,具体根据实际情况进行选择,本说明书实施例对此不做任何限定。本说明书一种可能的实现方式中,可以接收用户发送的待检索数据。本说明书另一种可能的实现方式中,可以从其他数据获取设备或数据库中提取待检索数据。本说明书再一种可能的实现方式中,可以获取待检索问题,根据待检索问题生成待检索数据。其中,待检索问题是指用户想要通过检索获得答案或者信息的问题。
需要说明的是,根据待检索问题生成待检索数据的方式有多种,具体根据实际情况进行选择,本说明书实施例对此不做任何限定。本说明书一种可能的实现方式中,可以直接将待检索问题作为待检索数据。本说明书另一种可能的实现方式中,可以获取待检索问题的历史对话数据,融合待检索问题和历史对话数据,得到待检索数据。本说明书再一种可能的实现方式中,可以获取知识库描述信息,融合待检索问题和知识库描述信息,得到待检索数据,或者融合待检索问题、历史对话数据和知识库描述信息,得到待检索数据。
本说明书一种可选的实施例中,以自动问答场景为例,由于待检索问题可能不能完整的表达用户的检索需求,因此,可以基于历史对话数据和知识库描述信息,构建待检索数据,也即,上述获取待检索数据,可以包括以下步骤:
获取待检索问题、待检索问题的历史对话数据以及知识库描述信息;
根据待检索问题、历史对话数据和知识库描述信息,构建待检索数据。
具体地,历史对话数据是指与待检索问题相关的历史对话记录。知识库描述信息用于描述知识库,知识库用于存储结构化或非结构化的知识,以促进知识共享、协作和再利用。知识库描述信息包括但不限于知识库内容领域、知识库内容类型,具体根据实际情况进行选择,本说明书实施例对此不做任何限定。
需要说明的是,“获取待检索问题、待检索问题的历史对话数据以及知识库描述信息”的方式可参考上述“获取待检索数据”的实现方式,本说明书实施例便不再进行赘述。待检索问题对应的知识库的确定方式有多种,第一种可能的实现方式中,可以由用户指定知识库;第二种可能的实现方式中,可以对待检索问题进行类型识别,根据待检索问题的类型确定知识库。第三种可能的实现方式中,可以将所有知识库作为待检索问题对应的知识库。
应用本说明书实施例的方案,获取待检索问题、待检索问题的历史对话数据以及知识库描述信息;根据待检索问题、历史对话数据和知识库描述信息,构建待检索数据,从而使得待检索数据更加符合当前知识库语境,提高了待检索数据的准确性,进一步提高了文档检索的准确性。
实际应用中,根据待检索问题,历史对话数据和知识库描述信息,构建待检索数据时,可以基于历史对话数据和知识库描述信息改写待检索问题,获得待检索数据。
本说明书一种可能的实现方式中,可以从历史对话数据和知识库描述信息中提取关键词,将关键词融合至待检索问题中,获得待检索数据。其中,将关键词融合至待检索问题中时,可以直接将关键词插入待检索问题中,如将关键词置于待检索问题的开头或结尾。也可以获取融合模板,根据融合模板将关键词融合至待检索问题中,其中,融合模板根据实际情况进行设置,如“对待检索问题进行检索时,基于以下关键词进行检索”。
本说明书另一种可能的实现方式中,可以利用预训练语言模型生成待检索数据,也即,上述根据待检索问题、历史对话数据和知识库描述信息,构建待检索数据,可以包括以下步骤:
将待检索问题、历史对话数据和知识库描述信息输入预训练语言模型,获得待检索数据。
具体地,预训练语言模型擅长生成长序列的文本,用于生成待检索数据的预训练语言模型可以理解为改写智能体,改写智能体可以是大模型,也可以是由多个样本文本(包括样本检索问题、样本历史对话数据以及样本知识库描述信息)和样本文本对应的样本检索标签训练得到的改写模型。
需要说明的是,将待检索问题、历史对话数据和知识库描述信息输入预训练语言模型之后,首先,预训练语言模型可以将待检索问题、历史对话数据和知识库描述信息分别编码为向量形式。然后,预训练语言模型可以利用其自注意力机制(如Transformer)对待检索问题、历史对话数据和知识库描述信息各自的向量形式进行全局的理解和建模,根据上下文关系动态调整每个词或短语的重要性权重,得到注意力处理结果,实现待检索问题、历史对话数据和知识库描述信息之间的深度融合。最后,预训练语言模型可以对注意力处理结果进行解码得到待检索数据。
示例性地,假设待检索问题为“能外接硬盘吗?”,历史对话数据为“A型号支持多大的内存?”,改写智能体生成的待检索数据为“A型号能外接硬盘吗?”。
应用本说明书实施例的方案,将待检索问题、历史对话数据和知识库描述信息输入预训练语言模型,获得待检索数据,预训练语言模型可以参考知识库描述信息和/或历史对话数据,将待检索问题改写为更全面、更符合当前知识库语境的表达方式,提高了待检索数据的准确性,进一步提高了文档检索的准确性。
步骤404:根据待检索数据,从知识库的多个文档中检索得到至少一个候选文档。
本说明书一个或多个实施例中,获取待检索数据之后,进一步地,可以根据待检索数据,从知识库的多个文档中检索得到至少一个候选文档。
具体地,候选文档是指多个文档中与待检索数据相关的文档。
实际应用中,根据待检索数据,从知识库的多个文档中检索得到至少一个候选文档的方式有多种,具体根据实际情况进行选择,本说明书实施例对此不做任何限定。
本说明书一种可能的实现方式中,可以调用搜索引擎从知识库的多个文档中检索得到与待检索数据相关的至少一个候选文档。
本说明书另一种可能的实现方式中,可以通过特征匹配的方式从知识库的多个文档中检索得到至少一个候选文档,也即,上述根据待检索数据,从知识库的多个文档中检索得到至少一个候选文档,可以包括以下步骤:
获取多个文档分别对应的文档特征;
对待检索数据进行特征提取,获得待检索特征;
将待检索特征和文档特征进行匹配,分别确定待检索特征和各文档特征之间的匹配信息;
根据匹配信息,从多个文档中筛选出至少一个候选文档。
具体地,文档特征是指知识库中的文档的嵌入向量。待检索特征是指待检索数据的嵌入向量。匹配信息用于描述待检索特征和各文档特征之间的匹配程度,如相似度数值。
实际应用中,获取多个文档分别对应的文档特征的方式有多种,具体根据实际情况进行选择,本说明书实施例对此不做任何限定。本说明书一种可能的实现方式中,可以从其他数据获取设备或数据库中读取在离线环境中预先计算的文档特征。本说明书另一种可能的实现方式中,获取待检索数据之后,可以对多个文档分别进行特征提取,获得多个文档分别对应的文档特征。
需要说明的是,对待检索数据进行特征提取,获得待检索特征的方式有多种,具体根据实际情况进行选择,本说明书实施例对此不做任何限定。本说明书一种可能的实现方式中,可以利用深度学习的词嵌入模型(Word2Vec)对图像描述文本进行特征提取,获得文本特征。本说明书另一种可能的实现方式中,可以将待检索数据输入粗排智能体中,获得待检索特征。其中,粗排智能体可以采用参数量较少的、专注于理解给定文本中上下文的BERT等模型,粗排智能体用于确定待检索数据和各文档之间的粗排匹配信息。
进一步地,确定待检索特征和文本特征之后,可以确定待检索特征和各文档特征之间的匹配信息,将匹配信息大于匹配阈值的文档或匹配信息靠前的K个文档作为候选文档。匹配信息的确定方式有多种,本说明书一种可能的实现方式中,可以计算待检索特征和各文档特征之间的余弦相似度,获得匹配信息。本说明书另一种可能的实现方式中,可以计算待检索特征和各文档特征之间的欧氏距离,获得匹配信息。
应用本说明书实施例的方案,获取多个文档分别对应的文档特征;对待检索数据进行特征提取,获得待检索特征;将待检索特征和文档特征进行匹配,分别确定待检索特征和各文档特征之间的匹配信息;根据匹配信息,从多个文档中筛选出至少一个候选文档,通过从多个文档中粗排检索得到候选文档,保证了候选文档与待检索问题的相关性。
步骤406:根据待检索数据和至少一个候选文档之间的关联关系,从至少一个候选文档中筛选出至少一个参考文档。
本说明书一个或多个实施例中,获取待检索数据;根据待检索数据,从知识库的多个文档中检索得到至少一个候选文档之后,由于候选文档的数量通常较多,因此,还可以根据待检索数据和至少一个候选文档之间的关联关系,对至少一个候选文档进行精排检索,筛选出至少一个参考文档。
具体地,参考文档是指候选文档中关系指标大于第一阈值,且小于第二阈值的文档,第一阈值和第二阈值具体根据实际情况进行设置,本说明书实施例对此不做任何限定。
实际应用中,根据待检索数据和至少一个候选文档之间的关联关系,从至少一个候选文档中筛选出至少一个参考文档时,可以先根据待检索数据和至少一个候选文档之间的关联关系,确定待检索数据和至少一个候选文档之间的关系指标,然后根据关系指标从至少一个候选文档中筛选出至少一个参考文档。
需要说明的是,确定待检索数据和至少一个候选文档之间的关系指标的方式有多种。本说明书一种可能的实现方式中,可以利用欧氏距离或余弦相似度算法,生成待检索数据和至少一个候选文档之间的关系指标。
本说明书另一种可能的实现方式中,可以利用关系确定模型,生成各候选文档对应的关系指标,也即,上述根据待检索数据和至少一个候选文档之间的关联关系,从至少一个候选文档中筛选出至少一个参考文档,可以包括以下步骤:
针对第一候选文档,将待检索数据和第一候选文档输入关系确定模型,获得第一候选文档对应的关系指标,其中,关系指标用于描述第一候选文档和待检索数据之间的关联程度,第一候选文档为至少一个候选文档中的任一个;
将关系指标大于第一阈值,且小于第二阈值的候选文档确定为参考文档。
具体地,关系确定模型用于确定待检索数据和各候选文档之间的精排关系指标。关系确定模型可以称为精排智能体,精排智能体可以采用参数量较少的BERT等模型。
需要说明的是,关系确定模型计算待检索数据和各候选文档之间的关系指标,关系指标越高的候选文档与待检索数据的适配度越高。本说明书实施例中设置了第一阈值和比第一阈值大的第二阈值。其中,第二阈值用于确定可以传输给预训练语言模型用于生成答复结果的目标文档;第一阈值用于排除候选文档中的无关文档;对于关系指标介于第一阈值和第二阈值之间的参考文档,认为这些文档与待检索数据相关,但还不足以提供生成答复结果所需的知识,因此,对于参考文档可以再次调用检索链路处理。
应用本说明书实施例的方案,针对第一候选文档,将待检索数据和第一候选文档输入关系确定模型,获得第一候选文档对应的关系指标,将关系指标大于第一阈值,且小于第二阈值的候选文档确定为参考文档。通过从多个文档中粗排检索得到候选文档,进一步从候选文档中精排检索得到参考文档,保证了参考文档的准确性。
本说明书一种可选的实施例中,上述将待检索数据和第一候选文档输入关系确定模型,获得第一候选文档对应的关系指标之后,还可以包括以下步骤:
将关系指标大于等于第二阈值的候选文档确定为目标文档;
将待检索数据和目标文档输入预训练语言模型,生成答复结果。
需要说明的是,由于目标文档的关系指标大于等于第二阈值,说明目标文档与待检索数据强相关,可以将目标文档和待检索数据输入预训练语言模型生成答复结果。用于生成答复结果的预训练语言模型可以理解为文本生成智能体,文本生成智能体可以是大模型,也可以是由多个样本文本(包括样本检索数据、样本文档)和样本文本对应的答复标签训练得到的生成模型。
进一步地,确定目标文档之后,可以将待检索数据的目标文档输入预训练语言模型,首先,预训练语言模型可以将待检索数据和目标文档分别编码为向量形式。然后,预训练语言模型可以利用其自注意力机制对待检索数据和目标文档进行深度理解,衡量待检索数据与目标文档之间的相关度,最后,预训练语言模型可以基于相关度,从目标文档中找到答复结果。
实际应用中,由于用于生成待检索数据的预训练语言模型仅用来执行改写任务,而用于生成答复结果的预训练语言模型可能要处理多类型的生成任务,因此,用于生成待检索数据的预训练语言模型可以采用比用于生成答复结果的预训练语言模型参数规模更小的模型。
应用本说明书实施例的方案,将关系指标大于等于第二阈值的候选文档确定为目标文档;将待检索数据和目标文档输入预训练语言模型,生成答复结果。由于目标文档与待检索数据强相关,因此,保证了答复结果的准确性。
本说明书一种可选的实施例中,上述针对第一候选文档,将待检索数据和第一候选文档输入关系确定模型,获得第一候选文档对应的关系指标之后,还可以包括以下步骤:
在至少一个候选文档对应的关系指标均小于第一阈值的情况下,将待检索数据输入预训练语言模型,生成答复结果。
需要说明的是,利用关系确定模型获得各候选文档对应的关系指标之后,若各候选文档的关系指标均小于第一阈值,说明各候选文档均是无关文档,不能用于生成答复结果,此时,可以直接将待检索数据输入预训练语言模型,由于预训练语言模型已经在大规模无标注数据上进行了充分学习,其参数中已经蕴含了大量的世界知识和语言规律,因此,当接收到待检索数据后,预训练语言模型可以依据其内在的知识结构和自身的理解能力进行推理,生成答复结果。
需要说明的是,预训练语言模型生成答复结果时,可能会出现无法生成结果的情况,此时,预训练语言模型可以直接输出预先设置的答复模板,如“该问题暂时无法回答”。
应用本说明书实施例的方案,在至少一个候选文档对应的关系指标均小于第一阈值的情况下,将待检索数据输入预训练语言模型,生成答复结果,在没有检索到目标文档的情况下,也实现了答复结果生成,提升了用户体验度。
步骤408:根据至少一个参考文档对待检索数据进行更新,获得更新后的待检索数据,并利用更新后的待检索数据,从多个文档中检索得到目标文档。
本说明书一个或多个实施例中,获取待检索数据;根据待检索数据,从知识库的多个文档中检索得到至少一个候选文档;根据待检索数据和至少一个候选文档之间的关联关系,从至少一个候选文档中筛选出至少一个参考文档之后,进一步地,可以再次调用检索链路进行文档检索,也即根据至少一个参考文档对待检索数据进行更新,获得更新后的待检索数据,并利用更新后的待检索数据,从多个文档中检索得到目标文档。
需要说明的是,获得至少一个参考文档之后,可以利用至少一个参考文档对待检索数据进行更新,从而获得与知识库内容更加契合的更新后的待检索数据。进一步地,利用更新后的待检索数据,返回执行上述文档检索方法,直至达到预设停止条件,停止文档检索。其中,预设停止条件包括但不限于获得关系指标大于第二阈值的文档、迭代次数达到预设迭代次数,具体根据实际情况进行选择,本说明书实施例对此不做任何限定。
示例性地,假设待检索数据为“OSS是怎么收费的”,参考文档为“对象存储服务OSS是一款海量、安全、低成本、高可靠的云存储服务”,通过将参考文档提供给改写智能体,改写智能体可以理解在知识库中“OSS”代表的是“对象存储服务”,从而生成更新后的待检索数据“对象存储服务OSS是怎么收费的”。通过利用参考文档对待检索数据进行更新,可以帮助粗排智能体和精排智能体更有效地捕捉到待检索数据与包含“对象存储服务的单价为元/GB/月,但按量计费的计算方法为实际资源使用量×每小时单价,……”的知识库文档的相关性,从而准确地完成文档检索任务。
应用本说明书实施例的方案,通过从多个文档中粗排检索得到候选文档,进一步从候选文档中精排检索得到参考文档,保证了参考文档的准确性,并且,利用参考文档对待检索数据进行更新,实现了检索链路上的正负向反馈交互,使得待检索数据更加精准,有效解决了因表达多样性以及间接性导致的检索错误,提高了文档检索的准确性。
本说明书一种可选的实施例中,上述根据至少一个参考文档对待检索数据进行更新,获得更新后的待检索数据,并利用更新后的待检索数据,从多个文档中检索得到目标文档之后,还可以包括以下步骤:
根据目标文档和待检索数据,生成答复结果。
具体地,答复结果可以直接从目标文档中提取得到,还可以基于待检索数据对目标文档进行推理得到。示例性地,假设待检索数据为“XXXX出生日期是什么时候”,答复结果为“2000年2月2日”。
需要说明的是,根据目标文档和待检索数据,生成答复结果的方式有多种,具体根据实际情况进行选择,本说明书实施例对此不做任何限定。本说明书一种可能的实现方式中,可以利用搜索引擎从目标文档中查询得到待检索数据对应的答复结果。本说明书另一种可能的实现方式中,可以将待检索数据和目标文档输入预训练语言模型,获得答复结果。
实际应用中,由于预训练语言模型可接收输入的长度仍然较为有限,因此,将待检索数据和目标文档输入预训练语言模型之前,可以确定目标文档和待检索数据合并后的文本长度,若文本长度小于等于长度阈值,则可以直接将待检索数据和目标文档输入预训练语言模型;若文本长度大于长度阈值,则可以对目标文档进行筛选,直至文本长度小于等于长度阈值,将待检索数据和目标文档输入预训练语言模型。
应用本说明书实施例的方案,根据目标文档和待检索数据,生成答复结果,由于目标文档是与待检索数据强相关的文档,保证了答复结果的准确性。
本说明书一种可能的实现方式中,上述根据至少一个参考文档对待检索数据进行更新,获得更新后的待检索数据,并利用更新后的待检索数据,从多个文档中检索得到目标文档,可以包括以下步骤:
将待检索数据和至少一个参考文档输入预训练语言模型,获得更新后的待检索数据;
根据更新后的待检索数据,从多个文档中检索得到更新后的至少一个候选文档;
在更新后的至少一个候选文档中包括目标候选文档的情况下,将目标候选文档确定为目标文档,其中,目标候选文档的关系指标大于第二阈值。
实际应用中,“将待检索数据和至少一个参考文档输入预训练语言模型,获得更新后的待检索数据”的方式可以参考上述“将待检索问题、历史对话数据和知识库描述信息输入预训练语言模型,获得待检索数据”的实现方式;“根据更新后的待检索数据,从多个文档中检索得到更新后的至少一个候选文档”的方式可以参考上述“根据待检索数据,从知识库的多个文档中检索得到至少一个候选文档”的实现方式,本说明书实施例便不再进行赘述。
需要说明的是,在从多个文档中检索得到更新后的至少一个候选文档之后,可以确定更新后的至少一个候选文档的关系指标,若更新后的至少一个候选文档中包括关系指标大于第二阈值的目标候选文档,说明已经找到用于生成答复结果的目标文档,此时,可以直接将目标候选文档确定为目标文档。
应用本说明书实施例的方案,将待检索数据和至少一个参考文档输入预训练语言模型,获得更新后的待检索数据;根据更新后的待检索数据,从多个文档中检索得到更新后的至少一个候选文档;在更新后的至少一个候选文档中包括目标候选文档的情况下,将目标候选文档确定为目标文档,利用参考文档对待检索数据进行更新,实现了检索链路上的正负向反馈交互,使得待检索数据更加精准,有效解决了因表达多样性以及间接性导致的检索错误,提高了文档检索的准确性。
本说明书一种可选的实施例中,上述根据更新后的待检索数据,从多个文档中检索得到更新后的至少一个候选文档之后,还可以包括以下步骤:
在更新后的至少一个候选文档中不包括目标候选文档的情况下,返回执行根据待检索数据和至少一个候选文档之间的关联关系,从至少一个候选文档中筛选出至少一个参考文档的步骤,直至更新后的至少一个候选文档中包括目标候选文档,获得目标文档。
需要说明的是,在从多个文档中检索得到更新后的至少一个候选文档之后,可以确定更新后的至少一个候选文档的关系指标,若更新后的至少一个候选文档中不包括关系指标大于第二阈值的目标候选文档,说明还未找到用于生成答复结果的目标文档,此时,可以返回执行根据待检索数据和至少一个候选文档之间的关联关系,从至少一个候选文档中筛选出至少一个参考文档的步骤,利用二次找到的参考文档对更新后的待检索数据进行第三次更新,直至更新后的至少一个候选文档中包括目标候选文档,获得目标文档。
应用本说明书实施例的方案,在更新后的至少一个候选文档中不包括目标候选文档的情况下,返回执行根据待检索数据和至少一个候选文档之间的关联关系,从至少一个候选文档中筛选出至少一个参考文档的步骤,直至更新后的至少一个候选文档中包括目标候选文档,获得目标文档,通过不断对参考文档进行更新,并不断利用更新后的参考文档对待检索数据进行更新,保证了目标文档的准确性。
本说明书一种可能的实现方式中,在调用检索链路迭代进行文档检索的过程中,可能出现一直找不到目标文档的情况,因此,本说明书实施例中引入了预设迭代次数,以避免无休止的检索带来的资源冗余浪费,也即,上述在更新后的至少一个候选文档中不包括目标候选文档的情况下,返回执行根据待检索数据和至少一个候选文档之间的关联关系,从至少一个候选文档中筛选出至少一个参考文档的步骤之后,还可以包括以下步骤:
在迭代次数达到预设迭代次数,且更新后的至少一个候选文档中不包括目标候选文档的情况下,根据至少一个参考文档和待检索数据,生成答复结果。
具体地,预设迭代次数具体根据实际情况进行设置,本说明书实施例对此不做任何限定。
需要说明的是,若迭代次数达到预设迭代次数,且更新后的至少一个候选文档中不包括目标候选文档,说明没有找到与待检索数据强相关的目标文档,由于参考文档也是与待检索数据存在关联关系的文档,因此,可以根据至少一个参考文档和待检索数据,生成答复结果。
实际应用中,“根据至少一个参考文档和待检索数据,生成答复结果”的方式可以参考上述“根据目标文档和待检索数据,生成答复结果”的实现方式,本说明书实施例便不再进行赘述。
示例性地,以将待检索数据和至少一个参考文档输入预训练语言模型,获得答复结果为例,预训练语言模型可以在内部判断至少一个参考文档中是否有可以用于生成答复结果的文档,若是,则可以根据至少一个参考文档生成待检索数据对应的答复结果;若否,可以利用自身的语言理解能力生成待检索数据对应的答复结果。
应用本说明书实施例的方案,在迭代次数达到预设迭代次数,且更新后的至少一个候选文档中不包括目标候选文档的情况下,根据至少一个参考文档和待检索数据,生成答复结果,提高了答复结果的灵活性。
下述结合附图5,以本说明书提供的文档检索方法在自动问答场景的应用为例,对所述文档检索方法进行进一步说明。其中,图5,图5示出了本说明书一个实施例提供的一种自动问答方法的流程图,具体包括以下步骤:
步骤502:获取待回答问题。
步骤504:根据待回答问题,从知识库的多个文档中检索得到至少一个候选文档。
步骤506:根据待回答问题和至少一个候选文档之间的关联关系,从至少一个候选文档中筛选出至少一个参考文档。
步骤508:根据至少一个参考文档对待回答问题进行更新,获得更新后的待回答问题,并利用更新后的待回答问题,从多个文档中检索得到目标文档。
步骤510:根据目标文档,生成待回答问题对应的答复结果。
需要说明的是,步骤502至步骤508的实现方式可以参考上述步骤402至步骤408的实现方式;步骤510的实现方式可以参考上述“根据目标文档和待检索数据,生成答复结果”的实现方式,本说明书实施例便不再进行赘述。
应用本说明书实施例的方案,通过从多个文档中粗排检索得到候选文档,进一步从候选文档中精排检索得到参考文档,保证了参考文档的准确性,并且,利用参考文档对待回答问题进行更新,实现了检索链路上的正负向反馈交互,使得待回答问题更加精准,有效解决了因待回答问题表达多样性以及间接性导致的检索错误,提高了答复结果的准确性。
参见图6,图6示出了本说明书一个实施例提供的一种自动问答方法的处理过程流程图,自动问答方法应用于多智能体系统,其中,多智能体系统包括改写智能体、粗排智能体、精排智能体和文本生成智能体,接下来分别介绍各智能体的处理流程:
改写智能体:自动问答开始后,改写智能体用于参考历史对话数据和知识库描述信息将待检索问题改写为更全面、更符合当前知识库语境的待检索数据;
粗排智能体:粗排智能体用于对待检索数据进行特征提取,获得待检索特征;
需要说明的是,利用粗排智能体获得待检索特征之后,可以基于待检索特征和各文档特征之间的相似度关系,确定待检索特征和各文档特征之间的匹配信息,根据匹配信息,从多个文档中筛选出至少一个候选文档;将至少一个候选文档和待检索数据传递给精排智能体;
精排智能体:精排智能体用于确定待检索数据和各候选文档之间的关系指标;
需要说明的是,利用精排智能体获得各候选文档对应的关系指标之后,可以判断是否存在关系指标大于等于第二阈值的候选文档,出现以下三种情况:
第一种,若各候选文档对应的关系指标中存在大于等于第二阈值的候选文档(若是),将关系指标大于等于第二阈值的候选文档确定为目标文档,并将目标文档和待检索数据传递给文本生成智能体;
第二种,若各候选文档对应的关系指标均小于第一阈值(若否),将待检索数据传递给文本生成智能体;
第三种,若各候选文档对应的关系指标均小于第二阈值,且存在关系指标大于第一阈值的候选文档(若否),则将关系指标大于第一阈值,且小于第二阈值的候选文档确定为参考文档,将参考文档输入改写智能体中,获得更新后的待检索数据,利用更新后的待检索数据进行迭代检索,直至达到预设停止条件。
进一步地,达到预设停止条件之后可能出现两种情况,第一种可能的情况中,至少一个候选文档中包括目标文档,则将目标文档和待检索数据传递给文本生成智能体;第二种可能的情况中,至少一个候选文档中不包括目标文档,则将参考文档和待检索数据传递给文本生成智能体;
文本生成智能体:由于传递给文本生成智能体的数据可能出现多种情况,因此文本生成智能体的处理方式有以下三种:
第一种,根据目标文档和待检索数据,生成答复结果;
第二种,根据参考文档和待检索数据,生成答复结果;
第三种,根据待检索数据,生成答复结果。
应用本说明书实施例的方案,本说明书实施例提出了一种基于多智能体交互的检索增强方案,利用模型的理解、生成、规划能力,构建包含多个智能体的检索链路,允许智能体与知识库进行多轮正负向反馈交互,逐步获得生成答复结果所需的精准目标文档,从而有效提升检索链路的召回率;同时,本说明书实施例可以采用大小模型组合的方式构建智能体,从而具有时间复杂度方面的显著优势,进一步提升基于模型和知识库的问答系统的效果。
参见图7,图7示出了本说明书一个实施例提供的一种自动问答界面的界面示意图。自动问答界面分为请求输入界面和结果展示界面。请求输入界面中包括请求输入框、“确定”控件以及“取消”控件。结果展示界面中包括结果展示框。
用户通过客户端显示的请求输入框输入自动问答请求,其中,自动问答请求携带待回答问题,用户点选“确定”控件,服务端接收客户端发送的待回答问题,根据待回答问题,从知识库的多个文档中检索得到至少一个候选文档;根据待回答问题和至少一个候选文档之间的关联关系,从至少一个候选文档中筛选出至少一个参考文档;根据至少一个参考文档对待回答问题进行更新,获得更新后的待回答问题,并利用更新后的待回答问题,从多个文档中检索得到目标文档;根据目标文档,生成待回答问题对应的答复结果,并将答复结果发送至客户端。客户端在结果展示框中显示答复结果。
实际应用中,用户对控件进行操作的方式包括点击、双击、触控、鼠标悬停、滑动、长按、语音控制或摇一摇等任一方式,具体根据实际情况进行选择,本说明书实施例对此不作任何限定。
与上述文档检索方法实施例相对应,本说明书还提供了文档检索装置实施例,图8示出了本说明书一个实施例提供的一种文档检索装置的结构示意图。如图8所示,该装置包括:
第一获取模块802,被配置为获取待检索数据;
第一检索模块804,被配置为根据待检索数据,从知识库的多个文档中检索得到至少一个候选文档;
第一筛选模块806,被配置为根据待检索数据和至少一个候选文档之间的关联关系,从至少一个候选文档中筛选出至少一个参考文档;
第二检索模块808,被配置为根据至少一个参考文档对待检索数据进行更新,获得更新后的待检索数据,并利用更新后的待检索数据,从多个文档中检索得到目标文档。
可选地,第一筛选模块806,进一步被配置为针对第一候选文档,将待检索数据和第一候选文档输入关系确定模型,获得第一候选文档对应的关系指标,其中,关系指标用于描述第一候选文档和待检索数据之间的关联程度,第一候选文档为至少一个候选文档中的任一个;将关系指标大于第一阈值,且小于第二阈值的候选文档确定为参考文档。
可选地,该装置还包括:第二生成模块,被配置为将关系指标大于等于第二阈值的候选文档确定为目标文档;将待检索数据和目标文档输入预训练语言模型,生成答复结果。
可选地,该装置还包括:第三生成模块,被配置为在至少一个候选文档对应的关系指标均小于第一阈值的情况下,将待检索数据输入预训练语言模型,生成答复结果。
可选地,该装置还包括:第四生成模块,被配置为根据目标文档和待检索数据,生成答复结果。
可选地,第二检索模块808,进一步被配置为将待检索数据和至少一个参考文档输入预训练语言模型,获得更新后的待检索数据;根据更新后的待检索数据,从多个文档中检索得到更新后的至少一个候选文档;在更新后的至少一个候选文档中包括目标候选文档的情况下,将目标候选文档确定为目标文档,其中,目标候选文档的关系指标大于第二阈值。
可选地,该装置还包括:执行模块,被配置为在更新后的至少一个候选文档中不包括目标候选文档的情况下,返回执行根据待检索数据和至少一个候选文档之间的关联关系,从至少一个候选文档中筛选出至少一个参考文档的步骤,直至更新后的至少一个候选文档中包括目标候选文档,获得目标文档。
可选地,该装置还包括:第五生成模块,被配置为在迭代次数达到预设迭代次数,且更新后的至少一个候选文档中不包括目标候选文档的情况下,根据至少一个参考文档和待检索数据,生成答复结果。
可选地,第一检索模块804,进一步被配置为获取多个文档分别对应的文档特征;对待检索数据进行特征提取,获得待检索特征;将待检索特征和文档特征进行匹配,分别确定待检索特征和各文档特征之间的匹配信息;根据匹配信息,从多个文档中筛选出至少一个候选文档。
可选地,第一获取模块802,进一步被配置为获取待检索问题、待检索问题的历史对话数据以及知识库描述信息;根据待检索问题、历史对话数据和知识库描述信息,构建待检索数据。
可选地,第一获取模块802,进一步被配置为将待检索问题、历史对话数据和知识库描述信息输入预训练语言模型,获得待检索数据。
应用本说明书实施例的方案,通过从多个文档中粗排检索得到候选文档,进一步从候选文档中精排检索得到参考文档,保证了参考文档的准确性,并且,利用参考文档对待检索数据进行更新,实现了检索链路上的正负向反馈交互,使得待检索数据更加精准,有效解决了因表达多样性以及间接性导致的检索错误,提高了文档检索的准确性。
上述为本实施例的一种文档检索装置的示意性方案。需要说明的是,该文档检索装置的技术方案与上述的文档检索方法的技术方案属于同一构思,文档检索装置的技术方案未详细描述的细节内容,均可以参见上述文档检索方法的技术方案的描述。
与上述自动问答方法实施例相对应,本说明书还提供了自动问答装置实施例,图9示出了本说明书一个实施例提供的一种自动问答装置的结构示意图。如图9所示,该装置包括:
第二获取模块902,被配置为获取待回答问题;
第三检索模块904,被配置为根据待回答问题,从知识库的多个文档中检索得到至少一个候选文档;
第二筛选模块906,被配置为根据待回答问题和至少一个候选文档之间的关联关系,从至少一个候选文档中筛选出至少一个参考文档;
第四检索模块908,被配置为根据至少一个参考文档对待回答问题进行更新,获得更新后的待回答问题,并利用更新后的待回答问题,从多个文档中检索得到目标文档;
第一生成模块910,被配置为根据目标文档,生成待回答问题对应的答复结果。
应用本说明书实施例的方案,通过从多个文档中粗排检索得到候选文档,进一步从候选文档中精排检索得到参考文档,保证了参考文档的准确性,并且,利用参考文档对待回答问题进行更新,实现了检索链路上的正负向反馈交互,使得待回答问题更加精准,有效解决了因待回答问题表达多样性以及间接性导致的检索错误,提高了答复结果的准确性。
上述为本实施例的一种自动问答装置的示意性方案。需要说明的是,该自动问答装置的技术方案与上述的自动问答方法的技术方案属于同一构思,自动问答装置的技术方案未详细描述的细节内容,均可以参见上述自动问答方法的技术方案的描述。
图10示出了本说明书一个实施例提供的一种计算设备的结构框图。该计算设备1000的部件包括但不限于存储器1010和处理器1020。处理器1020与存储器1010通过总线1030相连接,数据库1050用于保存数据。
计算设备1000还包括接入设备1040,接入设备1040使得计算设备1000能够经由一个或多个网络1060通信。这些网络的示例包括公用交换电话网(PSTN,Public SwitchedTelephone Network)、局域网(LAN,Local Area Network)、广域网(WAN,Wide AreaNetwork)、个域网(PAN,Personal Area Network)或诸如因特网的通信网络的组合。接入设备1040可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC,NetworkInterface Card))中的一个或多个,诸如IEEE802.11无线局域网(WLAN,Wireless LocalArea Networks)无线接口、全球微波互联接入(Wi-MAX,World Interoperability forMicrowave Access)接口、以太网接口、通用串行总线(USB,Universal Serial Bus)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC,Near Field Communication)接口,等等。
在本说明书的一个实施例中,计算设备1000的上述部件以及图10中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图10所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备1000可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或个人计算机(PC,Personal Computer)的静止计算设备。计算设备1000还可以是移动式或静止式的服务器。
其中,处理器1020用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述文档检索方法或者自动问答方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的文档检索方法以及自动问答方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述文档检索方法或者自动问答方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述文档检索方法或者自动问答方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的文档检索方法以及自动问答方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述文档检索方法或者自动问答方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述文档检索方法或者自动问答方法的步骤。
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的文档检索方法以及自动问答方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述文档检索方法或者自动问答方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据专利实践的要求进行适当的增减,例如在某些地区,根据专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。

Claims (14)

1.一种文档检索方法,包括:
获取待检索数据;
根据所述待检索数据,从知识库的多个文档中检索得到至少一个候选文档;
根据所述待检索数据和所述至少一个候选文档之间的关联关系,从所述至少一个候选文档中筛选出至少一个参考文档;
根据所述至少一个参考文档对所述待检索数据进行更新,获得更新后的待检索数据,并利用所述更新后的待检索数据,从所述多个文档中检索得到目标文档。
2.根据权利要求1所述的方法,所述根据所述待检索数据和所述至少一个候选文档之间的关联关系,从所述至少一个候选文档中筛选出至少一个参考文档,包括:
针对第一候选文档,将所述待检索数据和所述第一候选文档输入关系确定模型,获得所述第一候选文档对应的关系指标,其中,所述关系指标用于描述所述第一候选文档和所述待检索数据之间的关联程度,所述第一候选文档为所述至少一个候选文档中的任一个;
将所述关系指标大于第一阈值,且小于第二阈值的候选文档确定为参考文档。
3.根据权利要求2所述的方法,所述将所述待检索数据和所述第一候选文档输入关系确定模型,获得所述第一候选文档对应的关系指标之后,还包括:
将所述关系指标大于等于所述第二阈值的候选文档确定为目标文档;
将所述待检索数据和所述目标文档输入预训练语言模型,生成答复结果。
4.根据权利要求2所述的方法,所述针对第一候选文档,将所述待检索数据和所述第一候选文档输入关系确定模型,获得所述第一候选文档对应的关系指标之后,还包括:
在所述至少一个候选文档对应的关系指标均小于第一阈值的情况下,将所述待检索数据输入预训练语言模型,生成答复结果。
5.根据权利要求1所述的方法,所述根据所述至少一个参考文档对所述待检索数据进行更新,获得更新后的待检索数据,并利用所述更新后的待检索数据,从所述多个文档中检索得到目标文档之后,还包括:
根据所述目标文档和所述待检索数据,生成答复结果。
6.根据权利要求1所述的方法,所述根据所述至少一个参考文档对所述待检索数据进行更新,获得更新后的待检索数据,并利用所述更新后的待检索数据,从所述多个文档中检索得到目标文档,包括:
将所述待检索数据和所述至少一个参考文档输入预训练语言模型,获得更新后的待检索数据;
根据所述更新后的待检索数据,从所述多个文档中检索得到更新后的至少一个候选文档;
在所述更新后的至少一个候选文档中包括目标候选文档的情况下,将所述目标候选文档确定为目标文档,其中,所述目标候选文档的关系指标大于第二阈值。
7.根据权利要求6所述的方法,所述根据所述更新后的待检索数据,从所述多个文档中检索得到更新后的至少一个候选文档之后,还包括:
在所述更新后的至少一个候选文档中不包括目标候选文档的情况下,返回执行所述根据所述待检索数据和所述至少一个候选文档之间的关联关系,从所述至少一个候选文档中筛选出至少一个参考文档的步骤,直至所述更新后的至少一个候选文档中包括所述目标候选文档,获得目标文档。
8.根据权利要求7所述的方法,所述在所述更新后的至少一个候选文档中不包括目标候选文档的情况下,返回执行所述根据所述待检索数据和所述至少一个候选文档之间的关联关系,从所述至少一个候选文档中筛选出至少一个参考文档的步骤之后,还包括:
在迭代次数达到预设迭代次数,且所述更新后的至少一个候选文档中不包括目标候选文档的情况下,根据所述至少一个参考文档和所述待检索数据,生成答复结果。
9.根据权利要求1所述的方法,所述根据所述待检索数据,从知识库的多个文档中检索得到至少一个候选文档,包括:
获取所述多个文档分别对应的文档特征;
对所述待检索数据进行特征提取,获得待检索特征;
将所述待检索特征和所述文档特征进行匹配,分别确定所述待检索特征和各文档特征之间的匹配信息;
根据所述匹配信息,从所述多个文档中筛选出至少一个候选文档。
10.根据权利要求1所述的方法,所述获取待检索数据,包括:
获取待检索问题、所述待检索问题的历史对话数据以及知识库描述信息;
根据所述待检索问题、所述历史对话数据和所述知识库描述信息,构建待检索数据。
11.根据权利要求10所述的方法,所述根据所述待检索问题、所述历史对话数据和所述知识库描述信息,构建待检索数据,包括:
将所述待检索问题、所述历史对话数据和所述知识库描述信息输入预训练语言模型,获得待检索数据。
12.一种自动问答方法,包括:
获取待回答问题;
根据所述待回答问题,从知识库的多个文档中检索得到至少一个候选文档;
根据所述待回答问题和所述至少一个候选文档之间的关联关系,从所述至少一个候选文档中筛选出至少一个参考文档;
根据所述至少一个参考文档对所述待回答问题进行更新,获得更新后的待回答问题,并利用所述更新后的待回答问题,从所述多个文档中检索得到目标文档;
根据所述目标文档,生成所述待回答问题对应的答复结果。
13.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至11任意一项或者权利要求12所述方法的步骤。
14.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至11任意一项或者权利要求12所述方法的步骤。
CN202410050556.5A 2024-01-12 2024-01-12 文档检索方法以及自动问答方法 Active CN117573842B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410050556.5A CN117573842B (zh) 2024-01-12 2024-01-12 文档检索方法以及自动问答方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410050556.5A CN117573842B (zh) 2024-01-12 2024-01-12 文档检索方法以及自动问答方法

Publications (2)

Publication Number Publication Date
CN117573842A true CN117573842A (zh) 2024-02-20
CN117573842B CN117573842B (zh) 2024-04-30

Family

ID=89888435

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410050556.5A Active CN117573842B (zh) 2024-01-12 2024-01-12 文档检索方法以及自动问答方法

Country Status (1)

Country Link
CN (1) CN117573842B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118260406A (zh) * 2024-05-29 2024-06-28 山东浪潮科学研究院有限公司 一种多样性增强的文本检索增强生成方法及系统
CN118377887A (zh) * 2024-06-24 2024-07-23 阿里云飞天(杭州)云计算技术有限公司 自动问答方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110991181A (zh) * 2019-11-29 2020-04-10 腾讯科技(深圳)有限公司 用于增强已标注样本的方法和设备
US11003865B1 (en) * 2020-05-20 2021-05-11 Google Llc Retrieval-augmented language model pre-training and fine-tuning
CN115905487A (zh) * 2022-11-15 2023-04-04 科大讯飞股份有限公司 文档问答方法、系统、电子设备及存储介质
CN116662495A (zh) * 2023-04-27 2023-08-29 阿里巴巴达摩院(杭州)科技有限公司 问答处理方法、训练问答处理模型的方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114281965A (zh) * 2021-11-23 2022-04-05 北京百度网讯科技有限公司 信息检索方法、装置、电子设备和存储介质
CN114757208B (zh) * 2022-06-10 2022-10-21 荣耀终端有限公司 一种问答匹配方法及装置
CN116680387A (zh) * 2023-06-16 2023-09-01 平安科技(深圳)有限公司 基于检索增强的对话答复方法、装置、设备及存储介质
CN117131383A (zh) * 2023-07-13 2023-11-28 中国矿业大学(北京) 一种提高双塔模型搜索精排性能的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110991181A (zh) * 2019-11-29 2020-04-10 腾讯科技(深圳)有限公司 用于增强已标注样本的方法和设备
US11003865B1 (en) * 2020-05-20 2021-05-11 Google Llc Retrieval-augmented language model pre-training and fine-tuning
CN115905487A (zh) * 2022-11-15 2023-04-04 科大讯飞股份有限公司 文档问答方法、系统、电子设备及存储介质
CN116662495A (zh) * 2023-04-27 2023-08-29 阿里巴巴达摩院(杭州)科技有限公司 问答处理方法、训练问答处理模型的方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118260406A (zh) * 2024-05-29 2024-06-28 山东浪潮科学研究院有限公司 一种多样性增强的文本检索增强生成方法及系统
CN118377887A (zh) * 2024-06-24 2024-07-23 阿里云飞天(杭州)云计算技术有限公司 自动问答方法

Also Published As

Publication number Publication date
CN117573842B (zh) 2024-04-30

Similar Documents

Publication Publication Date Title
CN111026842B (zh) 自然语言处理方法、自然语言处理装置及智能问答系统
CN117573842B (zh) 文档检索方法以及自动问答方法
CN117521675A (zh) 基于大语言模型的信息处理方法、装置、设备及存储介质
CN116595154B (zh) 任务处理方法以及自动问答方法
CN116050405A (zh) 文本处理、问答文本处理及文本处理模型训练方法
CN116303558A (zh) 查询语句生成方法、数据查询方法及生成模型训练方法
CN114880991B (zh) 知识图谱问答问句实体链接方法、装置、设备及介质
CN117291185A (zh) 任务处理方法、实体识别方法及任务处理的数据处理方法
CN116975288A (zh) 文本处理方法及文本处理模型训练方法
CN116662495A (zh) 问答处理方法、训练问答处理模型的方法及装置
CN117971420A (zh) 任务处理、交通任务处理以及任务处理模型训练方法
CN109002498B (zh) 人机对话方法、装置、设备及存储介质
CN116186220A (zh) 信息检索方法、问答处理方法、信息检索装置及系统
CN117633540B (zh) 样本数据构建方法及装置
CN111783465A (zh) 一种命名实体归一化方法、系统及相关装置
CN116467500B (zh) 数据关系识别、自动问答、查询语句生成方法
CN118377887B (zh) 自动问答方法
CN118364060B (zh) 文本生成模型训练方法、文本生成方法及答案生成方法
CN117972047A (zh) 文档检索方法以及自动问答方法
CN118410152B (zh) 信息处理方法、问答方法及问答系统
CN118093843B (zh) 基于知识库的问答处理系统
CN118212460A (zh) 图像分类方法、自动问答方法、图像类别特征融合模型训练方法及基于深度学习模型的信息处理方法
CN118760700A (zh) 数据查询方法、基数估计方法、数据查询模型训练方法、基于数据查询模型的信息处理方法及模型训练平台
CN117851557A (zh) 模型处理方法及问答系统
CN118377906A (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