CN117539990A - 一种问题处理方法、装置、电子设备和存储介质 - Google Patents
一种问题处理方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN117539990A CN117539990A CN202311462023.XA CN202311462023A CN117539990A CN 117539990 A CN117539990 A CN 117539990A CN 202311462023 A CN202311462023 A CN 202311462023A CN 117539990 A CN117539990 A CN 117539990A
- Authority
- CN
- China
- Prior art keywords
- processed
- result
- search result
- retrieval
- search
- 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.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 20
- 238000003672 processing method Methods 0.000 title abstract description 7
- 238000000034 method Methods 0.000 claims abstract description 68
- 238000012545 processing Methods 0.000 claims abstract description 24
- 239000013598 vector Substances 0.000 claims description 37
- 238000000605 extraction Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 9
- 238000005457 optimization Methods 0.000 claims description 4
- 238000010276 construction Methods 0.000 description 11
- 230000008707 rearrangement Effects 0.000 description 9
- 101100481876 Danio rerio pbk gene Proteins 0.000 description 7
- 101100481878 Mus musculus Pbk gene Proteins 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 241000157593 Milvus Species 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 208000025174 PANDAS Diseases 0.000 description 1
- 208000021155 Paediatric autoimmune neuropsychiatric disorders associated with streptococcal infection Diseases 0.000 description 1
- 240000000220 Panda oleosa Species 0.000 description 1
- 235000016496 Panda oleosa Nutrition 0.000 description 1
- 241000590419 Polygonia interrogationis Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/338—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种问题处理方法、装置、电子设备和存储介质;所述方法包括:获取待处理问题,根据所述待处理问题查询预设的数据库,得到至少一个检索结果;针对所述至少一个检索结果中每个检索结果分别构建关联性描述文本;所述关联性描述文本用于请求分析待处理问题与检索结果的关联性;运用预设的第一大语言模型识别每个检索结果对应的关联性描述文本,得到每个检索结果的关联程度;从所述至少一个检索结果中选择关联程度满足预设条件的至少一个目标检索结果;运用预设的第二大语言模型识别所述至少一个目标检索结果,得到所述待处理问题的目标答案。
Description
技术领域
本发明涉及计算机和人工智能技术领域,尤其涉及一种问题处理方法、装置、电子设备和存储介质。
背景技术
智能问答系统是人机交互的核心技术之一,常见的应用场景主要是智慧客服。通过构建该系统,可以快速找到与用户问题相匹配的答案并自动回答,从而大大减少企业的人力成本。
尽管业界在智能问答领域已经取得了令人瞩目的成就,但是智能问答系统还远未完美,在知识获取和对用户问句理解等核心技术上仍有较大的提升空间。尤其在政企场景的智能问答系统还处于传统的基于问答对的方式,这种方式需要人工构造大量且准确的问答对,因此具有很强的局限性,严重影响用户的体验。
发明内容
有鉴于此,本发明的主要目的在于提供一种问题处理方法、装置、电子设备和存储介质。
为达到上述目的,本发明的技术方案是这样实现的:
第一方面,本发明实施例提供了一种问题处理方法,其特征在于,所述方法包括:
获取待处理问题,根据所述待处理问题查询预设的数据库,得到至少一个检索结果;
针对所述至少一个检索结果中每个检索结果分别构建关联性描述文本;所述关联性描述文本用于请求分析待处理问题与检索结果的关联性;
运用预设的第一大语言模型识别每个检索结果对应的关联性描述文本,得到每个检索结果的关联程度;
从所述至少一个检索结果中选择关联程度满足预设条件的至少一个目标检索结果;
运用预设的第二大语言模型识别所述至少一个目标检索结果,得到所述待处理问题的目标答案。
第二方面,本发明实施例提供了一种问题处理装置,所述装置包括:
获取模块,用于获取待处理问题,根据所述待处理问题查询预设的数据库,得到至少一个检索结果;
第一处理模块,用于针对所述至少一个检索结果中每个检索结果分别构建关联性描述文本;所述关联性描述文本用于请求分析待处理问题与检索结果的关联性;
第二处理模块,用于运用预设的第一大语言模型识别每个检索结果对应的关联性描述文本,得到每个检索结果的关联程度;
第三处理模块,用于从所述至少一个检索结果中选择关联程度满足预设条件的至少一个目标检索结果;
第四处理模块,用于运用预设的第二大语言模型识别所述至少一个目标检索结果,得到所述待处理问题的目标答案。
第三方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以上所述问题处理方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以上所述问题处理方法的步骤。
本发明实施例所提供的一种问题处理方法、装置和存储介质,所述方法包括:获取待处理问题,根据所述待处理问题查询预设的数据库,得到至少一个检索结果;针对所述至少一个检索结果中每个检索结果分别构建关联性描述文本;所述关联性描述文本用于请求分析待处理问题与检索结果的关联性;运用预设的第一大语言模型识别每个检索结果对应的关联性描述文本,得到每个检索结果的关联程度;从所述至少一个检索结果中选择关联程度满足预设条件的至少一个目标检索结果;运用预设的第二大语言模型识别所述至少一个目标检索结果,得到所述待处理问题的目标答案;如此,对检索结果进行重排序,获取关联程度更高的检索结果再进行答案生成,得到最终的目标答案,提高了问题处理的精确性。
附图说明
图1为本发明实施例提供的一种问题处理方法的流程示意图;
图2为本发明应用实施例提供的一种问题处理方法的流程示意图;
图3为本发明实施例提供的一种数据预处理的流程示意图;
图4为本发明实施例提供的一种检索引擎构建的流程示意图;
图5为本发明实施例提供的一种多路检索的流程示意图;
图6为本发明实施例提供的一种合并重排的流程示意图;
图7为本发明实施例提供的一种答案生成的流程示意图;
图8为本发明实施例提供的一种问题处理装置的结构示意图;
图9为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面结合实施例对本发明再作进一步详细的说明。
图1为本发明实施例提供的一种问题处理方法的流程示意图;如图1所示,所述方法可以应用于终端,如移动电话、智能电话、笔记本电脑、数字广播接收器、个人数字助理(PDA)、平板电脑(PAD)、便携式多媒体播放器(PMP)、穿戴式设备(比如智能手环、智能手表等)、导航装置等,所述方法包括:
步骤101、获取待处理问题,根据所述待处理问题查询预设的数据库,得到至少一个检索结果;
步骤102、针对所述至少一个检索结果中每个检索结果分别构建关联性描述文本;所述关联性描述文本用于请求分析待处理问题与检索结果的关联性;
步骤103、运用预设的第一大语言模型识别每个检索结果对应的关联性描述文本,得到每个检索结果的关联程度;
步骤104、从所述至少一个检索结果中选择关联程度满足预设条件的至少一个目标检索结果;
步骤105、运用预设的第二大语言模型识别所述至少一个目标检索结果,得到所述待处理问题的目标答案。
在一些实施例中,所述获取待处理问题,根据所述待处理问题查询预设的数据库,得到至少一个检索结果,包括:
获取待处理问题,对所述待处理问题进行至少一种检索预处理,得到至少一个检索预处理结果;
根据每个检索预处理结果分别查询所述检索预处理对应的数据库,得到至少一个检索结果。
在一些实施例中,所述对所述待处理问题进行至少一种检索预处理,得到至少一个检索预处理结果,包括以下至少之一:
对所述待处理问题进行向量化处理,得到待处理问题向量,作为向量检索对应的检索预处理结果;
对所述待处理问题进行关键词提取,得到待处理问题的关键词,作为文本检索对应的检索预处理结果;
对所述待处理问题进行信息抽取,得到抽取结果;根据所述抽取结果和所述待处理问题,确定图检索对应的检索预处理结果。
相应的,所述数据库包括:向量数据库、文本数据库、知识图谱数据库;
所述根据每个检索预处理结果分别查询所述检索预处理对应的数据库,得到至少一个检索结果,包括以下至少之一:
利用待处理问题向量,检索向量数据库,得到至少一个检索结果;
利用待处理问题的关键词,检索文本数据库,得到至少一个检索结果;
利用图检索对应的检索预处理结果,检索知识图谱数据库,得到至少一个检索结果。
在一些实施例中,所述针对所述至少一个检索结果中每个检索结果分别构建关联性描述文本,包括:
运用预设的关联性描述格式,根据每个检索结果和所述待处理问题,构建关联性描述文本。
这里,检索结果为针对待处理问题检索得到的一个答案;关联性描述格式可以是预设的一种自然语言描述格式,例如:
“请计算下面问题和答案间的关联程度,并输出得分,注意得分不要太极端,范围为0到1。
格式为:\n问题:{}\n答案:{}”。
其中,{}中加入需要计算得分的问题和答案,将形成的关联性描述文本作为一个完整的prompt(提示词)。
在一些实施例中,运用预设的第一大语言模型识别每个检索结果对应的关联性描述文本,得到每个检索结果的关联程度,包括:
将针对每个检索结果形成的关联性描述文本作为一个完整的prompt,输入到第一大语言模型,由第一大语言模型输出每个检索结果分别对应的得分。
其中,所述得分在0到1之间,分值越高表示关联程度越高,反之,分值越低表示关联程度越低。
其中,所述第一大语言模型可以为InternLM-7B模型,即书生·浦语大模型,包含面向实用场景的70亿参数基础模型与对话模型。该模型在学科综合能力、语言能力、知识能力、推理能力、理解能力五大能力维度相较于其他同参数模型均有提升。
在一些实施例中,关联程度满足预设条件,可以为:表征关联程度的得分最高的前K个。
在一示例中,所述从所述至少一个检索结果中选择关联程度满足预设条件的至少一个目标检索结果,包括:
将多种检索方式得到的检索结果合并后,根据表征关联程度的得分进行由高到低排序,得到排序结果;
根据排序结果从所述至少一个检索结果中选择得分排序前K(topk)的检索结果作为目标检索结果。
假设,采用三种检索方法分别从向量数据库(采用向量检索方法)、文本数据库(采用文本检索方法)、知识图谱数据库(采用图检索方法)中检索得到检索结果;
从向量数据库中检索得到N1个检索结果,从文本数据库中检索得到N2个检索结果,从知识图谱数据库中检索得到N3个检索结果;
将N1、N2、N3个检索结果合并后,综合选取得分排序前K的检索结果作为目标检索结果。
需要说明的是,以上K的个数可以根据实际需求设定,如K为10、20、30。
在另一示例中,所述从所述至少一个检索结果中选择关联程度满足预设条件的至少一个目标检索结果,包括:
针对多种检索方式分别得到的检索结果,分别根据表征关联程度的得分进行由高到低排序,得到排序结果;
根据排序结果从所述至少一个检索结果中选择排序前K的检索结果作为目标检索结果。
假设,采用三种检索方法分别从向量数据库、文本数据库、知识图谱数据库中检索得到检索结果;
从向量数据库中检索得到N1个检索结果,从文本数据库中检索得到N2个检索结果,从知识图谱数据库中检索得到N3个检索结果;
从N1个检索结果中选取得分排序前K1的检索结果,从N2个检索结果中选取得分排序前K2的检索结果,从N3个检索结果中选取得分排序前K3的检索结果;
将分别选取的得分排序前K1、K2、K3的检索结果合并,即得到K4个检索结果,作为目标检索结果。
需要说明的是,以上K1、K2、K3、K4的个数可以根据实际需求设定。K1、K2、K3的个数可以相同也可以不同。
K1、K2、K3可以根据对上述三种检索方法检索精度进行测试后,根据检索精度赋予不同的取值,检索精度越高,取值越大。
例如,K1、K2、K3分别为5、10、20;则K4=5+10+20=35,这里K4相当于K的一种示例。
在一些实施例中,关联程度满足预设条件,可以为:表征关联程度的得分超过预设阈值。
所述从所述至少一个检索结果中选择关联程度满足预设条件的至少一个目标检索结果,包括:
从所述至少一个检索结果中选择表征关联程度的得分超过预设阈值的检索结果,作为目标检索结果。
这里,预设阈值可以根据实际需求设定,如0.5、0.6、0.7、0.8、0.9等。该场景下,目标检索结果的总数(记作K5)的取值不定,具体根据检索得到的结果确定。当然,为了提高数据处理效率,也可以对K5设定最大值,如K5小于或等于30,若根据预设阈值最终确定的目标检索结果为40,则只取排序最前的30个,若根据预设阈值最终确定的目标检索结果为20,则K5为20。
在一些实施例中,所述运用预设的第二大语言模型识别所述至少一个目标检索结果,得到所述待处理问题的目标答案;包括:
运用预设的检索描述格式,根据所述至少一个目标检索结果和待处理问题构建第一检索描述文本;
运用预设的第二大语言模型识别所述第一检索描述文本,得到所述目标答案。
具体地,检索描述格式可以是预设的一种自然语言描述,例如:
“请根据以下相关信息和问题,生成最终答案,注意语句连贯。
格式为:\n问题:{};
\n信息1:{};
\n信息2:{};
……
\n信息k:{}”。
其中,“\n问题:{}”中的{}中加入需要处理的问题;
“\n信息1:{}……\n信息k:{}”中的每个{}中加入一个目标检索结果,也即一个答案;
第一检索描述文本作为一个完整的prompt,输入到第二大语言模型,由第二大语言模型识别所述第一检索描述文本,得到所述目标答案。
在一些实施例中,所述方法还包括以下至少之一:
针对所述至少一个目标检索结果中每个目标检索结果进行上下文扩展,得到扩展后的目标检索结果;
按照预设优化规则,对所述待处理问题进行描述优化,得到优化后的待处理问题。
相应的,所述运用预设的第二大语言模型识别所述至少一个目标检索结果,得到所述待处理问题的目标答案;包括:
运用预设的检索描述格式,根据所述至少一个扩展后的目标检索结果和所述优化后的待处理问题构建第二检索描述文本;
运用预设的第二大语言模型识别所述第二检索描述文本,得到所述目标答案。
具体地,在得到目标检索结果后,还可以对目标检索结果进行上下文扩展,得到信息更全面的目标检索结果;并且,还可以对待处理问题的描述进行进一步优化,得到表述更准确的问题。
如此,通过对得到的目标检索结果进行适当的上下文扩展,再加上用户输入的问题,合并构成最后的prompt,运用第二大语言模型识别所述prompt(即第二检索描述文本),得到更为精确的目标答案。
其中,所述上下文扩展,可以调取检索结果对应的答案进行数据库构建时的上下文,基于调取的上下文进行扩展。
所述对待处理问题的优化可以是采用预设优化规则,例如,检查问题的表述是否合适,是否存在倒装句、错别字等,若检查确定存在问题则可以直接进行修改,或者也可以通过对话的方式提示用户进行修改等。
具体地,所述第二大语言模型可以采用ChatGLM2-6B模型,ChatGLM2-6B是开源中英双语对话模型ChatGLM-6B的第二代版本,在保留了初代模型对话流畅、部署门槛较低等众多优秀特性的基础之上,ChatGLM2-6B引入了更强大的性能、更长的上下文、更高效的推理、更开放的协议,非常适合用于生成目标答案。
其中,向量数据库、文本数据库、知识图谱数据库分别预先构建。
以下分别对向量数据库、文本数据库、知识图谱数据库的构建方法进行说明。
1、构建向量数据库。具体包括以下步骤:
(1)向量数据库选取:选取milvus向量数据库(一种用于向量(Vector)存储和检索的特殊数据库)来搭建大规模分布式数据库,可进行海量数据的存储和检索。
(2)数据库设计:数据库表字段有id、text、vector、source等,其他列按需要添加。
其中,id字段是唯一标识,每一条数据的id都不同;text字段存储原始文本片段,用于后续检索返回结果;vector字段存储文本向量,用于建立索引进行向量检索;source字段存储文本来源,用于判断哪些数据属于同一篇原始文档,可作为后续增、删、改、查的判断依据。
(3)文本向量化:使用语义向量模型(BGE,BAAI General Embedding)向量化预处理后的文本。
(4)数据入库:按数据库表设计的字段来整理待入库的数据,并插入到数据库中。
实际应用时,根据待处理问题对应的检索预处理结果(即一个待处理问题向量),查询向量数据库,得到与检索预处理结果匹配的vector,将该vector对应的source,作为检索结果。
2、构建文本数据库。具体包括以下步骤:
(1)文本数据库选取:选取ES(ElsticSearch,一种索引及搜索服务引擎)作为文本检索的数据库,ES独特的倒排索引机制和全文检索功能使得其完美适配当前任务。
(2)数据库设计:数据库表字段有id、text、keyword、source等,其它列按需要添加。id字段是唯一标识,每一条数据的id都不同;text字段存储原始文本片段,用于后续检索返回结果;keyword字段存储文本的关键词或关键短语,用于后续文本检索;source字段存储文本来源,用于判断哪些数据属于同一篇原始文档,可作为后续增、删、改、查的判断依据。
(3)关键词提取:选取python的KeyBert关键词提取框架,使用Roberta作为底层模型,对上述预处理后的文本进行抽取关键词。根据提取效果,也可使用领域数据进行模型微调训练。
(4)数据入库:按数据库表设计的字段来整理待入库的数据,并插入到数据库中。
实际应用时,根据待处理问题对应的检索预处理结果(即一个待处理问题进行关键词抽取后得到的关键词),查询文本数据库,得到与检索预处理结果匹配的keyword,将该keyword对应的source,作为检索结果。
3、知识图谱数据库构建。具体包括以下步骤:
(1)知识图谱数据库选取:选取开源的Neo4j作为知识图谱数据库,其采用图形结构存储数据,并提供高效的图查询和可扩展性。
(2)信息抽取和对齐:对于预处理解析过后的未切分得文本数据,使用开源ChatIE框架进行实体关系三元组抽取、实体抽取和事件抽取。抽取后进行实体和事件对齐。
(3)信息扩充合并:对于问题和对应的答案(QA对,Question-Answer Pairs)数据,直接使用问题(Q)和答案(A)构建关系三元组;对于文档类解析后的文本,还可构建各级标题和正文的关系三元组。将(2)中得到的三元组数据和扩充的三元组数据进行合并去重。
(4)数据入库:使用Cypher查询语言,将(3)中准备好的数据导入到Neo4j数据库中。通过创建节点和关系的方式,将实体和关系添加到知识图谱数据库中。
实际应用时,根据待处理问题和待处理问题对应的检索预处理结果(即一个待处理问题进行信息抽取后得到的抽取结果,如实体和事件),查询知识图谱数据库,得到与检索预处理结果匹配的三元组,将该三元组对应的内容,作为检索结果。
本发明实施例提供的方法,采取多路检索的方法,包括向量检索、关键词(或关键句)检索、关联检索(知识图谱)检索,可以大幅提升检索效果,相较于传统的问答方式更新颖和多样化,提升整个问答系统的理解能力,也能给用户带来更全面、更完善的使用体验,更能满足用户的使用需求。
并且,本发明实施例提供的方法中采用重排序技术,对多路检索后的结果进行重新排序并获取最相关的topk个目标检索结果作为最终的检索结果,根据目标检索结果生成最终的答案,使得最终的答案精确度更高,从而达到提升整体能力的效果,给用户带来更精准的问答体验。
需要说明的是,本发明实施例提供的方法可以适用于任何场景,对于政企场景的智能问答场景等依然具有高精确度。
图2为本发明应用实施例提供的一种问题处理方法的流程示意图;如图2所示,所述方法应用于政企问答场景,所述方法包括:
步骤201、数据预处理;
具体地,图3为本发明实施例提供的一种数据预处理的流程示意图;如图3所示,所述步骤202具体包括:
步骤2011、数据整理:搜集现有的政企数据资源,包括已有的QA问答对、结构化数据、非结构化数据、数据库存储数据等。
步骤2012、数据清洗:对步骤2011的数据进行敏感、不良过滤,以及相似去重等清洗操作。
步骤2013、文本解析:针对不同存储类型的数据采用不同的解析方法。对于文件格式存储的部分非结构化数据(pdf、txt、doc等)和结构化数据(csv、xlsx、json等),均使用python中langchain自带的解析方法,每种格式文件都有对应的读取方法和工具,如pandas、openpyxl等;对于数据库存储的结构化数据,使用各个数据库的增删改查功能直接获取。
步骤2014、文本切分:对上述解析后的文本切割、分块。按照换行符(\n)、空格以及各类标点符号(中英文句号、分号、叹号、问号、省略号等)进行整篇文档切分。为避免文档过长需要设置每个分块的最大长度,超过的则再次切分。
步骤202、构建数据库;
具体地,数据库可以采用向量数据库、文本数据库、知识图谱数据库,构建方式如图4所示,图4为本发明实施例提供的一种检索引擎构建的流程示意图,根据预处理后的文本,采用Milvus、ES、Neo4J,分别构建向量数据库、文本数据库、知识图谱数据库,具体过程已在图1所示方法中说明,这里不再赘述。
步骤203、获取待处理问题,针对待处理问题进行多路检索,得到多个检索结果;
具体地,如图5所示,图5为本发明实施例提供的一种多路检索的流程示意图;所述步骤203包括:
步骤2031、向量检索,包括:
(1)索引构建:针对向量检索需要对向量字段提前建立索引,能很好地提升检索的性能。
(2)问题向量化:用户输入的原始文本需要使用上述建立向量数据库时同样的BGE模型进行向量化。
(3)向量检索:使用python中的pymilvus库构建检索函数,并设置搜索算法,以及返回topk等参数。发送检索请求,响应后返回相关检索的topk检索结果。
步骤2032、文本检索,包括:
(1)索引构建:为了提升检索性能,需要对keyword字段建立索引。
(2)关键词抽取:用户输入的原始文本需要使用上述建立文本数据库时同样的KeyBert框架进行关键词提取。
(3)文本检索:使用python中的elasticsearch数据库构建检索函数,使用(2)中提取的关键词进行检索。发送检索请求,响应后返回相关检索的topk检索结果。
步骤2033、图检索,包括:
(1)索引构建:为了提升检索性能,根据实际需要对节点属性建立索引,也可建立全文索引,能高效地查询包含特定关键词或短语的节点或属性。考虑到在建立知识图谱数据库时构建三元组比较多样化,需要搭建属性索引和全文索引。
(2)信息抽取:用户输入的原始文本需要使用上述建立知识图谱数据库时同样的ChatIE框架进行实体和事件抽取。
(3)图检索:使用python中的neo4j库构建检索函数,使用(2)中提取的实体和事件,以及原始的问题文本进行检索。发送检索请求,响应后返回相关检索的topk检索结果。
步骤204、对多个检索结果进行合并重排,得到重排结果;
具体地,考虑到传统的重排模型训练成本较高,本发明实施例的方法中选取Internlm-7B大模型作为重排模型。
如图6,图6为本发明实施例提供的一种合并重排的流程示意图;所述步骤204具体包括:
构建Prompt构建:实际上重排就是计算问题和答案间关联性的过程,用自然语言来描述,例如:“请计算下面问题和答案间的关联程度,并输出得分,注意得分不要太极端,范围为0到1。\n问题:{}\n答案:{}”。{}中加入需要计算得分的问题和答案,用来构成完整的prompt。
关联排序:将构建的prompt输入到Internlm-7B模型,生成关联性得分,按得分由高到低排序,选取topk答案作为输出结果,也即得到重排结果。
步骤205、根据重排结果,运用生成模型生成问题答案。
具体地,选取Chatglm2-6B大模型作为生成模型,以利用在中文任务上的能力相对突出,性能也相对优秀。
如图7所示,图7为本发明实施例提供的一种答案生成的流程示意图;所述步骤205包括:
构建Prompt:将上述合并重排后的答案(即重排结果)进行适当的上下文扩展,再加上用户输入的问题,合并构成最后的prompt;当然也可以根据需要,在其中加入其它的描述。
生成问题答案:将构建的prompt输入到Chatglm2-6B模型,由Chatglm2-6B模型理解后生成最终的答案,并输出呈现给用户。
图8为本发明实施例提供的一种问题处理装置的结构示意图;如图8所示,所述装置包括:
获取模块,用于获取待处理问题,根据所述待处理问题查询预设的数据库,得到至少一个检索结果;
第一处理模块,用于针对所述至少一个检索结果中每个检索结果分别构建关联性描述文本;所述关联性描述文本用于请求分析待处理问题与检索结果的关联性;
第二处理模块,用于运用预设的第一大语言模型识别每个检索结果对应的关联性描述文本,得到每个检索结果的关联程度;
第三处理模块,用于从所述至少一个检索结果中选择关联程度满足预设条件的至少一个目标检索结果;
第四处理模块,用于运用预设的第二大语言模型识别所述至少一个目标检索结果,得到所述待处理问题的目标答案。
需要说明的是:上述实施例提供的问题处理装置在实现相应问题处理方法时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的装置与相应方法的实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图9为本发明实施例提供的一种电子设备的结构示意图,如图9所示,所述电子设备90包括:处理器901和用于存储能够在所述处理器上运行的计算机程序的存储器902;所述处理器901用于运行所述计算机程序时,执行:
获取待处理问题,根据所述待处理问题查询预设的数据库,得到至少一个检索结果;
针对所述至少一个检索结果中每个检索结果分别构建关联性描述文本;所述关联性描述文本用于请求分析待处理问题与检索结果的关联性;
运用预设的第一大语言模型识别每个检索结果对应的关联性描述文本,得到每个检索结果的关联程度;
从所述至少一个检索结果中选择关联程度满足预设条件的至少一个目标检索结果;
运用预设的第二大语言模型识别所述至少一个目标检索结果,得到所述待处理问题的目标答案。
具体来说,所述终端可以执行如图1所示的方法,与图1所示的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
实际应用时,所述电子设备90还可以包括:至少一个网络接口903。所述电子设备90中的各个组件通过总线系统904耦合在一起。可理解,总线系统904用于实现这些组件之间的连接通信。总线系统904除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图9中将各种总线都标为总线系统904。其中,所述处理器901的个数可以为至少一个。网络接口903用于电子设备90与其他设备之间有线或无线方式的通信。
本发明实施例中的存储器902用于存储各种类型的数据以支持电子设备90的操作。
上述本发明实施例揭示的方法可以应用于处理器901中,或者由处理器901实现。处理器901可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器901中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器901可以是通用处理器、数字信号处理器(DSP,DiGital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器901可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器902,处理器901读取存储器902中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,电子设备90可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或其他电子元件实现,用于执行前述方法。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序;所述计算机程序被处理器运行时,执行:
获取待处理问题,根据所述待处理问题查询预设的数据库,得到至少一个检索结果;
针对所述至少一个检索结果中每个检索结果分别构建关联性描述文本;所述关联性描述文本用于请求分析待处理问题与检索结果的关联性;
运用预设的第一大语言模型识别每个检索结果对应的关联性描述文本,得到每个检索结果的关联程度;
从所述至少一个检索结果中选择关联程度满足预设条件的至少一个目标检索结果;
运用预设的第二大语言模型识别所述至少一个目标检索结果,得到所述待处理问题的目标答案。
具体来说,所述终端可以执行如图1所示的方法,与图1所示的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一个计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是:“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
另外,本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种问题处理方法,其特征在于,所述方法包括:
获取待处理问题,根据所述待处理问题查询预设的数据库,得到至少一个检索结果;
针对所述至少一个检索结果中每个检索结果分别构建关联性描述文本;所述关联性描述文本用于请求分析待处理问题与检索结果的关联性;
运用预设的第一大语言模型识别每个检索结果对应的关联性描述文本,得到每个检索结果的关联程度;
从所述至少一个检索结果中选择关联程度满足预设条件的至少一个目标检索结果;
运用预设的第二大语言模型识别所述至少一个目标检索结果,得到所述待处理问题的目标答案。
2.根据权利要求1所述的方法,其特征在于,所述针对所述至少一个检索结果中每个检索结果分别构建关联性描述文本,包括:
运用预设的关联性描述格式,根据每个检索结果和所述待处理问题,构建关联性描述文本。
3.根据权利要求1所述的方法,其特征在于,所述运用预设的第二大语言模型识别所述至少一个目标检索结果,得到所述待处理问题的目标答案;包括:
运用预设的检索描述格式,根据所述至少一个目标检索结果和待处理问题构建第一检索描述文本;
运用预设的第二大语言模型识别所述第一检索描述文本,得到所述目标答案。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括以下至少之一:
针对所述至少一个目标检索结果中每个目标检索结果进行上下文扩展,得到扩展后的目标检索结果;
按照预设优化规则,对所述待处理问题进行描述优化,得到优化后的待处理问题。
5.根据权利要求4所述的方法,其特征在于,所述运用预设的第二大语言模型识别所述至少一个目标检索结果,得到所述待处理问题的目标答案;包括:
运用预设的检索描述格式,根据所述至少一个扩展后的目标检索结果和所述优化后的待处理问题构建第二检索描述文本;
运用预设的第二大语言模型识别所述第二检索描述文本,得到所述目标答案。
6.根据权利要求1所述的方法,其特征在于,所述获取待处理问题,根据所述待处理问题查询预设的数据库,得到至少一个检索结果,包括:
获取待处理问题,对所述待处理问题进行至少一种检索预处理,得到至少一个检索预处理结果;
根据每个检索预处理结果分别查询所述检索预处理对应的数据库,得到至少一个检索结果。
7.根据权利要求6所述的方法,其特征在于,所述对所述待处理问题进行至少一种检索预处理,得到至少一个检索预处理结果,包括以下至少之一:
对所述待处理问题进行向量化处理,得到待处理问题向量,作为向量检索对应的检索预处理结果;
对所述待处理问题进行关键词提取,得到待处理问题的关键词,作为文本检索对应的检索预处理结果;
对所述待处理问题进行信息抽取,得到抽取结果;根据所述抽取结果和所述待处理问题,确定图检索对应的检索预处理结果。
8.一种问题处理装置,其特征在于,所述装置包括:
获取模块,用于获取待处理问题,根据所述待处理问题查询预设的数据库,得到至少一个检索结果;
第一处理模块,用于针对所述至少一个检索结果中每个检索结果分别构建关联性描述文本;所述关联性描述文本用于请求分析待处理问题与检索结果的关联性;
第二处理模块,用于运用预设的第一大语言模型识别每个检索结果对应的关联性描述文本,得到每个检索结果的关联程度;
第三处理模块,用于从所述至少一个检索结果中选择关联程度满足预设条件的至少一个目标检索结果;
第四处理模块,用于运用预设的第二大语言模型识别所述至少一个目标检索结果,得到所述待处理问题的目标答案。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311462023.XA CN117539990A (zh) | 2023-11-03 | 2023-11-03 | 一种问题处理方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311462023.XA CN117539990A (zh) | 2023-11-03 | 2023-11-03 | 一种问题处理方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117539990A true CN117539990A (zh) | 2024-02-09 |
Family
ID=89794953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311462023.XA Pending CN117539990A (zh) | 2023-11-03 | 2023-11-03 | 一种问题处理方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117539990A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117910460A (zh) * | 2024-03-18 | 2024-04-19 | 国网江苏省电力有限公司南通供电分公司 | 一种基于bge模型的电力科研知识关联性构建方法及系统 |
CN118093635A (zh) * | 2024-04-23 | 2024-05-28 | 杭州同花顺数据开发有限公司 | 一种数据查询方法、装置、设备及计算机可读存储介质 |
CN118133971A (zh) * | 2024-05-06 | 2024-06-04 | 支付宝(杭州)信息技术有限公司 | 基于大语言模型的医疗问答方法和装置 |
-
2023
- 2023-11-03 CN CN202311462023.XA patent/CN117539990A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117910460A (zh) * | 2024-03-18 | 2024-04-19 | 国网江苏省电力有限公司南通供电分公司 | 一种基于bge模型的电力科研知识关联性构建方法及系统 |
CN117910460B (zh) * | 2024-03-18 | 2024-06-07 | 国网江苏省电力有限公司南通供电分公司 | 一种基于bge模型的电力科研知识关联性构建方法及系统 |
CN118093635A (zh) * | 2024-04-23 | 2024-05-28 | 杭州同花顺数据开发有限公司 | 一种数据查询方法、装置、设备及计算机可读存储介质 |
CN118133971A (zh) * | 2024-05-06 | 2024-06-04 | 支付宝(杭州)信息技术有限公司 | 基于大语言模型的医疗问答方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110647614B (zh) | 智能问答方法、装置、介质及电子设备 | |
CN110457672B (zh) | 关键词确定方法、装置、电子设备及存储介质 | |
CN112035599B (zh) | 基于垂直搜索的查询方法、装置、计算机设备及存储介质 | |
CN117539990A (zh) | 一种问题处理方法、装置、电子设备和存储介质 | |
KR102491172B1 (ko) | 자연어 질의응답 시스템 및 그 학습 방법 | |
CN112100326B (zh) | 一种抗干扰的融合检索和机器阅读理解的问答方法及系统 | |
KR20160026892A (ko) | 논팩토이드형 질의 응답 시스템 및 방법 | |
CN110162768B (zh) | 实体关系的获取方法、装置、计算机可读介质及电子设备 | |
CN110134777B (zh) | 问题去重方法、装置、电子设备和计算机可读存储介质 | |
CN114610845B (zh) | 基于多系统的智能问答方法、装置和设备 | |
CN115563313A (zh) | 基于知识图谱的文献书籍语义检索系统 | |
CN115795061B (zh) | 一种基于词向量和依存句法的知识图谱构建方法及系统 | |
CN109885651B (zh) | 一种问题推送方法和装置 | |
CN114416926A (zh) | 关键词匹配方法、装置、计算设备及计算机可读存储介质 | |
CN110569419A (zh) | 问答系统优化方法、装置、计算机设备及存储介质 | |
CN113742446A (zh) | 一种基于路径排序的知识图谱问答方法及系统 | |
CN113761104A (zh) | 知识图谱中实体关系的检测方法、装置和电子设备 | |
CN117708270A (zh) | 企业数据查询方法、装置、设备及存储介质 | |
CN109684357B (zh) | 信息处理方法及装置、存储介质、终端 | |
CN113886535B (zh) | 基于知识图谱的问答方法、装置、存储介质及电子设备 | |
CN115438147A (zh) | 面向轨道交通领域的信息检索方法及系统 | |
CN114997167A (zh) | 简历内容提取方法及装置 | |
CN114547233A (zh) | 数据查重方法、装置及电子设备 | |
Chien et al. | Semantic tagging of mathematical expressions | |
CN112905752A (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 |