掌桥专利:专业的专利平台
掌桥专利
首页

一种可信问答方法、系统、电子设备、介质

文献发布时间:2024-04-18 19:58:30


一种可信问答方法、系统、电子设备、介质

技术领域

本发明属于AI应答系统技术领域,尤其涉及一种可信问答方法、系统、电子设备、介质。

背景技术

领域问答系统是指针对某一专业领域进行提问和回答的系统。相较于开放问答系统它因为聚焦于某一专业领域,故而具备实现难度低,实用价值高的特点。在现有的领域问答系统中,由于问题的多样性和复杂性,传统的检索和匹配方法往往难以满足用户的需求。新近兴起的借助大模型在特定领域进行领域微调的方法则因为其本质上是概率模型,存在生成不相关或者违规内容的可能性。

发明内容

有鉴于此,本发明提出了一种可信问答方法、系统、电子设备、介质,对大模型的输入/输出内容进行合规检测,避免输出违法违规或不健康不道德内容,实现问答系统可信与可控。

第一方面,本发明提供了一种可信问答方法,所述方法包括:

基于本地文档库构建向量数据库;

获取问询内容以及备询文档范围;将问询内容输入至预先训练好的内容安全检测模型中进行检测,当内容安全检测模型识别到问询内容包含违规内容或者指令攻击内容,则内容安全检测模型输出警告信号,重新获取问询内容;当问询内容通过内容安全检测模型检测时,将问询内容进行向量化,得到用户问询向量;

根据用户问询向量、备询文档范围对向量数据库进行检索,得到查询结果文本;

将问询内容以及查询结果文本输入至标准prompt模板,再输入至自然语言大模型,获得返回答案;将自然语言大模型输出的返回答案输入至预先训练好的内容安全检测模型中进行检测,当内容安全检测模型识别到返回答案包含违规内容或者指令攻击内容,则将问询内容、查询结果文本、返回答案以及内容安全检测模型输出的分类结果输入至异常处理prompt模板,再输入至自然语言大模型中,得到返回答案;当返回答案通过内容安全检测模型检测时,输出最终的返回答案。

进一步地,基于本地文档库构建向量数据库包括:

置字数阈值,对本地文档库中的每一文档按照篇章和/或段落进行切分,切分后的每一子文档的字数小于字数阈值;

对切分后的每一子文档命名;

将切分后的每一子文档的文本内容向量化,得到文本向量。并将切分后的每一子文档对应的文本内容、文本向量、文档名存储于向量数据库。

进一步地,所述内容安全检测模型包括:

所述内容安全检测模型采用bert模型结构,并利用中文安全评测公开数据集进行训练,训练好的内容安全检测模型能够识别分类违规内容、指令攻击内容以及正常内容。

进一步地,根据用户问询向量、备询文档范围对向量数据库进行检索,得到查询结果文本包括:

将用户问询向量作为查询向量,备询文档范围作为向量搜索过滤条件输入至向量数据库中进行检索,将向量数据库中与查询向量相似度最高的文本向量对应的子文档作为查询结果文本。

进一步地,所述标准prompt模板包括:提问提示词、参考内容输入提示词、查询结果文本、问询内容输入提示词以及问询内容。

进一步地,异常处理prompt模板包括:提问提示词、参考内容输入提示词、查询结果文本、问询内容输入提示词、问询内容、返回答案提示词、返回答案、违规原因提示词以及内容安全检测模型输出的分类结果。

进一步地,所述可信问答方法还包括:设置检测次数总数,当返回答案达到指定检测次数仍未能通过内容安全检测模型检测,则生成警告信号,重新获取问询内容。

第二方面,本发明实施例提供了一种可信问答系统,所述系统包括:

向量数据库构建模块,用于基于本地文档库构建向量数据库;

前置安全检测模块,用于获取问询内容以及备询文档范围;将问询内容输入至预先训练好的内容安全检测模型中进行检测,当内容安全检测模型识别到问询内容包含违规内容或者指令攻击内容,则内容安全检测模型输出警告信号,重新获取问询内容;当问询内容通过内容安全检测模型检测时,将问询内容进行向量化,得到用户问询向量;

查询结果文本获取模块,用于根据用户问询向量、备询文档范围对向量数据库进行检索,得到查询结果文本;

自然语言大模型模块,用于将问询内容以及查询结果文本输入至标准prompt模板,将生成的prompt输入至自然语言大模型,获得返回答案;或当后置安全检测模块中的内容安全检测模型识别到返回答案包含违规内容或者指令攻击内容,则将问询内容、查询结果文本、返回答案以及内容安全检测模型输出的分类结果输入至异常处理prompt模板,将生成的prompt输入至自然语言大模型中,得到返回答案;

后置安全检测模块,用于将自然语言大模型输出的返回答案输入至预先训练好的内容安全检测模型中进行检测,当返回答案通过内容安全检测模型检测时,输出最终的返回答案。

第三方面,本发明实施例提供了一种电子设备,包括存储器和处理器,所述存储器与所述处理器耦接;其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现上述的可信问答方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述的可信问答方法。

与现有技术相比,本发明的有益效果为:本发明提供了一种可信问答方法,本发明方法在自然语言大模型基础上通过将本地文档以prompt形式对自然语言大模型进行约束,避免自然语言大模型生成无关或虚假信息。本发明方法同时通过构建内容安全检测模型对自然语言大模型的输入/输出内容进行合规检测,避免输出违法违规或不健康不道德内容。通过以上两个手段实现问答的可信与可控。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种可信问答方法的流程示意图;

图2为本发明实施例提供的对问询内容进行内容安全检测的流程图;

图3为本发明实施例提供的返回答案进行内容安全检测的流程图;

图4为本发明实施例提供的一种可信问答系统的示意图;

图5为本发明实施例提供的一种电子设备的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,在不冲突的情况下,下述的实施例及实施方式中的特征可以相互组合。

如图1所示,第一方面,本发明实施例提供了一种基于自然语言大模型和本地文档库的可信问答方法,所述方法包括以下步骤:

步骤S1,基于本地文档库构建向量数据库;

具体地,所述步骤S1具体包括以下步骤:

步骤S101,设置字数阈值,对本地文档库中的每一文档按照篇章和/或段落进行切分,切分后的每一子文档的字数小于字数阈值。

步骤S102,对切分后的每一子文档命名。

步骤S103,将切分后的每一子文档的文本内容向量化,得到文本向量。并将切分后的每一子文档对应的文本内容、文本向量、文档名存储于向量数据库。

在本实例中,采用embedding模型对切分后的每一子文档的文本内容向量化,得到文本向量。

步骤S2,如图2所示,获取问询内容以及备询文档范围;将问询内容输入至预先训练好的内容安全检测模型中进行检测,当内容安全检测模型识别到问询内容包含违规或者指令攻击内容,则内容安全检测模型输出警告信号,重新获取问询内容。当问询内容通过内容安全检测模型检测时,将问询内容进行向量化,得到用户问询向量。

进一步地,所述备询文档范围为备询文档名列表,所述备询文档范围为所有子文档的全集或子集。

进一步地,所述内容安全检测模型采用bert模型结构,并利用中文安全评测公开数据集进行训练,训练好的内容安全检测模型能够识别分类违规内容、指令攻击内容以及正常内容。

步骤S3,根据用户问询向量、备询文档范围对向量数据库进行检索,得到查询结果文本。

具体地,将用户问询向量作为查询向量,备询文档范围作为向量搜索过滤条件输入至向量数据库中进行检索,将向量数据库中与查询向量相似度最高的文本向量对应的子文档作为查询结果文本。

步骤S5,设置标准prompt模板,将问询内容以及步骤S4得到的查询结果文本输入至标准prompt模板,再输入至自然语言大模型,获得返回答案;将自然语言大模型输出的返回答案输入至预先训练好的内容安全检测模型中进行检测,当内容安全检测模型识别到返回答案包含违规或者指令攻击内容,则问询内容、查询结果文本、返回答案以及内容安全检测模型输出的分类结果输入至异常处理prompt模板,再输入至自然语言大模型中,获得返回答案;

如图3所示,所述步骤S5还包括:设置检测次数总数,当返回答案达到指定检测次数仍未能通过内容安全检测模型检测,则生成警告信号,重新获取问询内容。

进一步地,所述标准prompt模板包括提问提示词、参考内容输入提示词、查询结果文本、问询内容输入提示词以及问询内容。

进一步地,所述异常处理prompt模板为包括提问提示词、参考内容输入提示词、查询结果文本、问询内容输入提示词、问询内容、返回答案提示词、返回答案、违规原因提示词以及内容安全检测模型输出的分类结果。

实施例1

在一个实施例中为构建古典文学知识库,选择txt格式的四大名著作为待切分入库文档,选择“multilingual-MiniLM-L12-v2--main”作为embedding模型,选择faiss(Facebook AI Similarity Search)作为向量存储查询数据库。

首先将txt格式的四大名著按照智能文档切分方法进行切分。切分原则是:切分后的子文档需满足单个子文档不能超过5000字,同一段落仅能出现在一个子文档中,不允许段落跨文档存在;单个子文档仅能包含一个章节。切分后记录每个子文档原文档名。将切分后的子文档利用embedding模型进行向量化,然后与子文档内容以及原文档名一起存入Elasticsearch向量数据库ES。

在实施例中收集到的内容安全数据集分为“脏话侮辱”,“偏见歧视”,“违法犯罪”,“身体伤害”,“心理健康”,“财产隐私”,“道德伦理”,“目标劫持”,“目标劫持”,“赋予角色后发指令”,“不安全的指令主题”,“带有不安全观点的询问”,“反面诱导”等多个类别,每个类别的数量为5k-10k。在实施例1中选择预训练好的bert-base-chinese模型作为基础模型。利bert-base-chinese模型构建文本多分类模型,然后用内容安全数据集对bert-base-chinese模型进行训练生成内容安全检测模型S。

在一个实施例中用户问询内容Q1为“林黛玉为什么会喜欢贾宝玉?”指定备询范围为《红楼梦》。

将问询内容Q1输入至预先训练好的内容安全检测模型中进行检测,内容安全检测模型检测到问询内容包含“脏话侮辱”,则内容安全检测模型输出警告信号,重新获取问询内容。具体地,会向用户发出警告信息“您刚才的问询疑似包含‘脏话侮辱’信息,请重新组织语言进行发问”。

用户修改自己的问询内容Q2为“螃蟹宴中林黛玉作了一首什么诗?”,将该问询内容Q2送入内容安全检测模型检测进行检测,内容安全检测模型提示未检测到异常,将问询内容Q2进行向量化,生成问询向量E1。

然后问询向量E1以及备询范围《红楼梦》分别作为查询向量以及向量搜索过滤条件送入向量数据库ES。向量数据库ES返回检索到的红楼梦第三十八回《林潇湘魁夺菊花诗薛蘅芜讽和螃蟹咏》内容C1。将问询内容Q2、查询到的文本内容C1送入标准prompt模板生成prompt如下:

将生成的prompt送入自然语言大模型chatgpt-3.5得到答案A1为:

将生成答案A1预先训练好的内容安全检测模型中进行检测,具体地,将检测次数N置1,然后将答案送入内容安全检测模型,经内容安全检测模型通过,返回给最终用户。

实施例2

在另一个实施例中用户问询内容Q3为“黑旋风乔捉鬼一章中李逵是如何处置狄太公女儿的?”指定备询范围为《水浒传》。

该问询内容Q3送入输入至预先训练好的内容安全检测模型中进行检测,未检测到异常。随即将问询内容Q3进行向量化,生成问询向量E2。

然后问询向量E2以及备询范围《水浒传》分别作为查询向量以及向量搜索过滤条件送入向量数据库ES。向量数据库ES返回检索到的水浒传第七十三回《黑旋风乔捉鬼梁山泊双献头》内容C2。将问询内容Q3、查询到的文本内容C2送入标准prompt模板生成prompt如下:

将生成的prompt送入自然语言大模型chatgpt-3.5得到答案A2;

对生成答案A2进行内容安全性检测,具体地,首先将检测次数N设置为N=1,然后将生成答案A2输入至预先训练好的内容安全检测模型中,经内容安全检测模型判定疑似有“身体伤害”内容。将检测次数N设置为N=N+1进行迭代检测,将参考内容C2、问询内容Q3、模型回答内容A2、“身体伤害”标签送入异常处理prompt模板生成新的prompt如下:

将新prompt输入自然语言大模型得到答案A3;再将生成答案A3送入内容安全检测模型,经内容安全检测模型通过,返回给最终用户。

如图4所示,第二方面,本发明实施例还提供了一种可信问答系统,所述系统包括:

向量数据库构建模块,用于基于本地文档库构建向量数据库;

前置安全检测模块,用于获取问询内容以及备询文档范围;将问询内容输入至预先训练好的内容安全检测模型中进行检测,当内容安全检测模型识别到问询内容包含违规内容或者指令攻击内容,则内容安全检测模型输出警告信号,重新获取问询内容;当问询内容通过内容安全检测模型检测时,将问询内容进行向量化,得到用户问询向量;

自然语言大模型模块,用于将问询内容以及查询结果文本输入至标准prompt模板,将生成的prompt输入至自然语言大模型,获得返回答案;或当后置安全检测模块中的内容安全检测模型识别到返回答案包含违规内容或者指令攻击内容,则将问询内容、查询结果文本、返回答案以及内容安全检测模型输出的分类结果输入至异常处理prompt模板,将生成的prompt输入至自然语言大模型中,得到返回答案;

后置安全检测模块,用于将自然语言大模型输出的返回答案输入至预先训练好的内容安全检测模型中进行检测,当返回答案通过内容安全检测模型检测时,输出最终的返回答案。

如图5所示,本申请实施例提供一种电子设备,其包括存储器101,用于存储一个或多个程序;处理器102。当一个或多个程序被处理器102执行时,实现如上述第一方面中任一项的方法。

还包括通信接口103,该存储器101、处理器102和通信接口103相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器101可用于存储软件程序及模块,处理器102通过执行存储在存储器101内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口103可用于与其他节点设备进行信令或数据的通信。

其中,存储器101可以是但不限于,随机存取存储器101(Random Access Memory,RAM),只读存储器101(Read Only Memory,ROM),可编程只读存储器101(ProgrammableRead-Only Memory,PROM),可擦除只读存储器101(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器101(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。

处理器102可以是一种集成电路芯片,具有信号处理能力。该处理器102可以是通用处理器102,包括中央处理器102(Central Processing Unit,CPU)、网络处理器102

(Network Processor,NP)等;还可以是数字信号处理器102(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本申请所提供的实施例中,应该理解到,所揭露的方法及系统,也可以通过其它的方式实现。以上所描述的方法及系统实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的方法及系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

另一方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器102执行时实现如上述第一方面中任一项的方法。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器101(ROM,Read-Only Memory)、随机存取存储器101(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上实施例仅用于说明本发明的设计思想和特点,其目的在于使本领域内的技术人员能够了解本发明的内容并据以实施,本发明的保护范围不限于上述实施例。所以,凡依据本发明所揭示的原理、设计思路所作的等同变化或修饰,均在本发明的保护范围之内。

相关技术
  • 一种问答方法、装置、电子设备及存储介质
  • 一种分布式系统部署方法、系统、电子设备及存储介质
  • 一种操作系统的预安装方法、系统、电子设备及存储介质
  • 一种用于化妆间盒子的交易方法、系统、电子设备及存储介质
  • 一种日志处理方法、系统及电子设备和存储介质
  • 问答会话的处理方法、问答系统、电子设备及存储介质
  • 问答处理方法、问答系统、电子设备及介质
技术分类

06120116498187