CN117744803A - 基于大语言模型的路径与约束分解知识库问答方法及系统 - Google Patents
基于大语言模型的路径与约束分解知识库问答方法及系统 Download PDFInfo
- Publication number
- CN117744803A CN117744803A CN202311869405.4A CN202311869405A CN117744803A CN 117744803 A CN117744803 A CN 117744803A CN 202311869405 A CN202311869405 A CN 202311869405A CN 117744803 A CN117744803 A CN 117744803A
- Authority
- CN
- China
- Prior art keywords
- question
- entity
- answer
- module
- language model
- 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
- 238000000354 decomposition reaction Methods 0.000 title claims abstract description 45
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000004364 calculation method Methods 0.000 claims description 33
- 239000013598 vector Substances 0.000 claims description 28
- 230000011218 segmentation Effects 0.000 claims description 20
- 238000012549 training Methods 0.000 claims description 16
- 230000007787 long-term memory Effects 0.000 claims description 12
- 230000006403 short-term memory Effects 0.000 claims description 12
- 238000013135 deep learning Methods 0.000 claims description 8
- 238000005429 filling process Methods 0.000 claims description 7
- 238000001914 filtration Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 7
- 239000003814 drug Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 229940079593 drug Drugs 0.000 description 4
- 206010037660 Pyrexia Diseases 0.000 description 3
- 206010067484 Adverse reaction Diseases 0.000 description 2
- 230000006838 adverse reaction Effects 0.000 description 2
- KWGRBVOPPLSCSI-UHFFFAOYSA-N d-ephedrine Natural products CNC(C)C(O)C1=CC=CC=C1 KWGRBVOPPLSCSI-UHFFFAOYSA-N 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- KWGRBVOPPLSCSI-WCBMZHEXSA-N pseudoephedrine Chemical compound CN[C@@H](C)[C@@H](O)C1=CC=CC=C1 KWGRBVOPPLSCSI-WCBMZHEXSA-N 0.000 description 2
- 229960003908 pseudoephedrine Drugs 0.000 description 2
- HEFNNWSXXWATRW-UHFFFAOYSA-N Ibuprofen Chemical compound CC(C)CC1=CC=C(C(C)C(O)=O)C=C1 HEFNNWSXXWATRW-UHFFFAOYSA-N 0.000 description 1
- 240000002853 Nelumbo nucifera Species 0.000 description 1
- 235000006508 Nelumbo nucifera Nutrition 0.000 description 1
- 235000006510 Nelumbo pentapetala Nutrition 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 229960001680 ibuprofen Drugs 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
Classifications
-
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于大语言模型的路径与约束分解知识库问答方法及系统,包括:对用户输入语句进行问句识别,确定问题类别;根据问题类别对用户输入语句进行问句拆分;对拆分后的问句进行实体识别,抽取实体指称,找出问句中所涉及的实体;对抽取出来的实体指称进行实体链接,将实体指称链接到知识库中对应的正确实体对象上;对拆分后的问句通过知识图谱检索找到答案;根据问题类别判断是否进行逻辑推理。本发明通过采用大语言模型将复杂问句拆分为简单问句,解决了传统知识图谱问答系统中根据复杂问句生成知识图谱答案路径的过程复杂且可靠性低的问题。
Description
技术领域
本发明涉及自然语言理解技术领域,具体地,涉及一种基于大语言模型的路径与约束分解知识库问答方法及系统。
背景技术
知识图谱技术,广泛应用于问答系统中,传统知识图谱问答系统中根据复杂问句生成知识图谱答案路径的过程复杂且可靠性低,导致问答效果不好。本发明通过采用大语言模型将复杂问句拆分为简单问句,使得问答系统效果得到提高。
专利文献CN115455163A公开了一种知识图谱问答模型的训练方法、对话生成方法及装置,通过获取正样本图谱路径数据和负样本图谱路径数据,并在训练前对于获取到的负样本图谱路径数据进行困难度度量,将得到的困难度数据作为量化数据。但该发明没有采用大语言模型将复杂问句拆分为简单问句。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于大语言模型的路径与约束分解知识库问答方法及系统。
根据本发明提供的一种基于大语言模型的路径与约束分解知识库问答方法,包括:
步骤S1:对用户输入语句进行问句识别,确定问题类别;
步骤S2:根据问题类别对用户输入语句进行问句拆分;
步骤S3:对拆分后的问句进行实体识别,抽取实体指称,找出问句中所涉及的实体;
步骤S4:对抽取出来的实体指称进行实体链接,将实体指称链接到知识库中对应的正确实体对象上;
步骤S5:对拆分后的问句通过知识图谱检索找到答案;
步骤S6:根据问题类别判断是否进行逻辑推理。
优选地,在所述步骤S1中:问题大类别包括:链式问题、夹式问题和推理问题;
步骤S1.1:链式问题分为单跳问题和多跳问题,夹式问题求多个约束条件下实体的交集,推理问题在求得实体答案后进一步进行计算和比较;
先对问题进行多标签分类,同一个问题有概率同时属于多个大类别问题;
步骤S1.2:对每个大类别问题进行细分判断,对链式问题,判断问题的跳数;对于夹式问题,判断答案的约束数量;对于推理问题,进一步分类成计算问题、比较问题还是选择问题;
在所述步骤S2中:
将预设的复杂问句拆分成多个预设的简单问句,将夹式问题拆分成多个单约束问题的交集;
步骤S2.1:使用大语言模型对用户输入语句进行路径分解,如果输入语句是多跳问题,将多跳问题拆分成多个单跳问题;
步骤S2.2:使用大语言模型对用户输入语句进行约束分解,如果输入语句是夹式问题,将语句进行约束分解。
优选地,在所述步骤S3中:
步骤S3.1:使用深度学习算法进行实体识别,使用预训练语言模型、长短期记忆网络和条件随机场的方法对问句中的命名实体进行识别;首先使用预训练语言模型对问句中的实体进行识别,再使用长短期记忆网络对句子中每个词语进行实体类型预测,最后使用条件随机场过滤掉概率低的实体类型,获得实体识别结果;
步骤S3.2:使用规则方式进行实体识别,人工构造术语词典,通过jieba分词器对问句进行分词,将分词结果和医学术语词典进行文字匹配,抽取匹配上的实体;
在所述步骤S4中:
步骤S4.1:使用elasticsearch搜索引擎,存储知识库中所有实体的向量;
步骤S4.2:将从问句中抽取出来的实体结果,送入Bert语言模型,获得实体向量;
步骤S4.3:使用elasticsearch数据引擎,检索与问句实体中相似程度符合预设标准的知识库实体向量,返回前预设数量个最相似且cosine距离小于阈值的向量对应的知识库实体。
优选地,在所述步骤S5中:
步骤S5.1:对问句进行实体查询,判断该问句是否只有一个待回答实体,如果是则进入知识图谱进行查询,获得该问句的答案并存入答案库;如果不是则等待下一轮实体查询;求交集类问题,不需要进行知识图谱查询,而是程序自动处理;
步骤S5.2:对问句进行答案填充;如果问句中的待回答实体和答案库匹配,则将待回答实体替换为具体答案;
步骤S5.3:不断重复实体查询和答案填充过程,直到最终答案被得出。
优选地,在所述步骤S6中:
推理阶段分为数值计算、答案选择和是非判断;
步骤S6.1:如果不涉及推理,则直接返回最终答案;
步骤S6.2:进行数值计算,然后判断是否是计算问题,是则直接返回数值答案,否则进行下一步;
步骤S6.3:进行答案选择,然后判断是否是选择问题,是则返回实体答案,否则进行下一步;
步骤S6.4:进行是非判断,最后问题是判断问题,对比结果实体和问题倾向实体后,返回是非答案。
根据本发明提供的一种基于大语言模型的路径与约束分解知识库问答系统,包括:
模块M1:对用户输入语句进行问句识别,确定问题类别;
模块M2:根据问题类别对用户输入语句进行问句拆分;
模块M3:对拆分后的问句进行实体识别,抽取实体指称,找出问句中所涉及的实体;
模块M4:对抽取出来的实体指称进行实体链接,将实体指称链接到知识库中对应的正确实体对象上;
模块M5:对拆分后的问句通过知识图谱检索找到答案;
模块M6:根据问题类别判断是否进行逻辑推理。
优选地,在所述模块M1中:问题大类别包括:链式问题、夹式问题和推理问题;
模块M1.1:链式问题分为单跳问题和多跳问题,夹式问题求多个约束条件下实体的交集,推理问题在求得实体答案后进一步进行计算和比较;
先对问题进行多标签分类,同一个问题有概率同时属于多个大类别问题;
模块M1.2:对每个大类别问题进行细分判断,对链式问题,判断问题的跳数;对于夹式问题,判断答案的约束数量;对于推理问题,进一步分类成计算问题、比较问题还是选择问题;
在所述模块M2中:
将预设的复杂问句拆分成多个预设的简单问句,将夹式问题拆分成多个单约束问题的交集;
模块M2.1:使用大语言模型对用户输入语句进行路径分解,如果输入语句是多跳问题,将多跳问题拆分成多个单跳问题;
模块M2.2:使用大语言模型对用户输入语句进行约束分解,如果输入语句是夹式问题,将语句进行约束分解。
优选地,在所述模块M3中:
模块M3.1:使用深度学习算法进行实体识别,使用预训练语言模型、长短期记忆网络和条件随机场的方法对问句中的命名实体进行识别;首先使用预训练语言模型对问句中的实体进行识别,再使用长短期记忆网络对句子中每个词语进行实体类型预测,最后使用条件随机场过滤掉概率低的实体类型,获得实体识别结果;
模块M3.2:使用规则方式进行实体识别,人工构造术语词典,通过jieba分词器对问句进行分词,将分词结果和医学术语词典进行文字匹配,抽取匹配上的实体;
在所述模块M4中:
模块M4.1:使用elasticsearch搜索引擎,存储知识库中所有实体的向量;
模块M4.2:将从问句中抽取出来的实体结果,送入Bert语言模型,获得实体向量;
模块M4.3:使用elasticsearch数据引擎,检索与问句实体中相似程度符合预设标准的知识库实体向量,返回前预设数量个最相似且cosine距离小于阈值的向量对应的知识库实体。
优选地,在所述模块M5中:
模块M5.1:对问句进行实体查询,判断该问句是否只有一个待回答实体,如果是则进入知识图谱进行查询,获得该问句的答案并存入答案库;如果不是则等待下一轮实体查询;求交集类问题,不需要进行知识图谱查询,而是程序自动处理;
模块M5.2:对问句进行答案填充;如果问句中的待回答实体和答案库匹配,则将待回答实体替换为具体答案;
模块M5.3:不断重复实体查询和答案填充过程,直到最终答案被得出。
优选地,在所述模块M6中:
推理阶段分为数值计算、答案选择和是非判断;
模块M6.1:如果不涉及推理,则直接返回最终答案;
模块M6.2:进行数值计算,然后判断是否是计算问题,是则直接返回数值答案,否则进行下一步;
模块M6.3:进行答案选择,然后判断是否是选择问题,是则返回实体答案,否则进行下一步;
模块M6.4:进行是非判断,最后问题是判断问题,对比结果实体和问题倾向实体后,返回是非答案。
与现有技术相比,本发明具有如下的有益效果:
1、本发明通过采用大语言模型将复杂问句拆分为简单问句,解决了传统知识图谱问答系统中根据复杂问句生成知识图谱答案路径的过程复杂且可靠性低的问题;
2、本发明通过结合大语言模型和知识图谱问答,解决了大语言模型回答问题中的编造答案、不可靠信息的问题。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为处理流程图;
图2为问句识别处理示意图;
图3为问句拆分处理示意图;
图4为逻辑推理处理示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
实施例1:
根据本发明提供的一种基于大语言模型的路径与约束分解知识库问答方法,如图1-图4所示,包括:
步骤S1:对用户输入语句进行问句识别,确定问题类别;
具体地,在所述步骤S1中:问题大类别包括:链式问题、夹式问题和推理问题;
步骤S1.1:链式问题分为单跳问题和多跳问题,夹式问题求多个约束条件下实体的交集,推理问题在求得实体答案后进一步进行计算和比较;
先对问题进行多标签分类,同一个问题有概率同时属于多个大类别问题;
步骤S1.2:对每个大类别问题进行细分判断,对链式问题,判断问题的跳数;对于夹式问题,判断答案的约束数量;对于推理问题,进一步分类成计算问题、比较问题还是选择问题;
步骤S2:根据问题类别对用户输入语句进行问句拆分;
在所述步骤S2中:
将预设的复杂问句拆分成多个预设的简单问句,将夹式问题拆分成多个单约束问题的交集;
步骤S2.1:使用大语言模型对用户输入语句进行路径分解,如果输入语句是多跳问题,将多跳问题拆分成多个单跳问题;
步骤S2.2:使用大语言模型对用户输入语句进行约束分解,如果输入语句是夹式问题,将语句进行约束分解。
步骤S3:对拆分后的问句进行实体识别,抽取实体指称,找出问句中所涉及的实体;
具体地,在所述步骤S3中:
步骤S3.1:使用深度学习算法进行实体识别,使用预训练语言模型、长短期记忆网络和条件随机场的方法对问句中的命名实体进行识别;首先使用预训练语言模型对问句中的实体进行识别,再使用长短期记忆网络对句子中每个词语进行实体类型预测,最后使用条件随机场过滤掉概率低的实体类型,获得实体识别结果;
步骤S3.2:使用规则方式进行实体识别,人工构造术语词典,通过jieba分词器对问句进行分词,将分词结果和医学术语词典进行文字匹配,抽取匹配上的实体;
步骤S4:对抽取出来的实体指称进行实体链接,将实体指称链接到知识库中对应的正确实体对象上;
在所述步骤S4中:
步骤S4.1:使用elasticsearch搜索引擎,存储知识库中所有实体的向量;
步骤S4.2:将从问句中抽取出来的实体结果,送入Bert语言模型,获得实体向量;
步骤S4.3:使用elasticsearch数据引擎,检索与问句实体中相似程度符合预设标准的知识库实体向量,返回前预设数量个最相似且cosine距离小于阈值的向量对应的知识库实体。
步骤S5:对拆分后的问句通过知识图谱检索找到答案;
具体地,在所述步骤S5中:
步骤S5.1:对问句进行实体查询,判断该问句是否只有一个待回答实体,如果是则进入知识图谱进行查询,获得该问句的答案并存入答案库;如果不是则等待下一轮实体查询;求交集类问题,不需要进行知识图谱查询,而是程序自动处理;
步骤S5.2:对问句进行答案填充;如果问句中的待回答实体和答案库匹配,则将待回答实体替换为具体答案;
步骤S5.3:不断重复实体查询和答案填充过程,直到最终答案被得出。
步骤S6:根据问题类别判断是否进行逻辑推理。
具体地,在所述步骤S6中:
推理阶段分为数值计算、答案选择和是非判断;
步骤S6.1:如果不涉及推理,则直接返回最终答案;
步骤S6.2:进行数值计算,然后判断是否是计算问题,是则直接返回数值答案,否则进行下一步;
步骤S6.3:进行答案选择,然后判断是否是选择问题,是则返回实体答案,否则进行下一步;
步骤S6.4:进行是非判断,最后问题是判断问题,对比结果实体和问题倾向实体后,返回是非答案。
实施例2:
实施例2为实施例1的优选例,以更为具体地对本发明进行说明。
本发明还提供一种基于大语言模型的路径与约束分解知识库问答系统,所述基于大语言模型的路径与约束分解知识库问答系统可以通过执行所述基于大语言模型的路径与约束分解知识库问答方法的流程步骤予以实现,即本领域技术人员可以将所述基于大语言模型的路径与约束分解知识库问答方法理解为所述基于大语言模型的路径与约束分解知识库问答系统的优选实施方式。
根据本发明提供的一种基于大语言模型的路径与约束分解知识库问答系统,包括:
模块M1:对用户输入语句进行问句识别,确定问题类别;
具体地,在所述模块M1中:问题大类别包括:链式问题、夹式问题和推理问题;
模块M1.1:链式问题分为单跳问题和多跳问题,夹式问题求多个约束条件下实体的交集,推理问题在求得实体答案后进一步进行计算和比较;
先对问题进行多标签分类,同一个问题有概率同时属于多个大类别问题;
模块M1.2:对每个大类别问题进行细分判断,对链式问题,判断问题的跳数;对于夹式问题,判断答案的约束数量;对于推理问题,进一步分类成计算问题、比较问题还是选择问题;
模块M2:根据问题类别对用户输入语句进行问句拆分;
在所述模块M2中:
将预设的复杂问句拆分成多个预设的简单问句,将夹式问题拆分成多个单约束问题的交集;
模块M2.1:使用大语言模型对用户输入语句进行路径分解,如果输入语句是多跳问题,将多跳问题拆分成多个单跳问题;
模块M2.2:使用大语言模型对用户输入语句进行约束分解,如果输入语句是夹式问题,将语句进行约束分解。
模块M3:对拆分后的问句进行实体识别,抽取实体指称,找出问句中所涉及的实体;
具体地,在所述模块M3中:
模块M3.1:使用深度学习算法进行实体识别,使用预训练语言模型、长短期记忆网络和条件随机场的方法对问句中的命名实体进行识别;首先使用预训练语言模型对问句中的实体进行识别,再使用长短期记忆网络对句子中每个词语进行实体类型预测,最后使用条件随机场过滤掉概率低的实体类型,获得实体识别结果;
模块M3.2:使用规则方式进行实体识别,人工构造术语词典,通过jieba分词器对问句进行分词,将分词结果和医学术语词典进行文字匹配,抽取匹配上的实体;
模块M4:对抽取出来的实体指称进行实体链接,将实体指称链接到知识库中对应的正确实体对象上;
在所述模块M4中:
模块M4.1:使用elasticsearch搜索引擎,存储知识库中所有实体的向量;
模块M4.2:将从问句中抽取出来的实体结果,送入Bert语言模型,获得实体向量;
模块M4.3:使用elasticsearch数据引擎,检索与问句实体中相似程度符合预设标准的知识库实体向量,返回前预设数量个最相似且cosine距离小于阈值的向量对应的知识库实体。
模块M5:对拆分后的问句通过知识图谱检索找到答案;
具体地,在所述模块M5中:
模块M5.1:对问句进行实体查询,判断该问句是否只有一个待回答实体,如果是则进入知识图谱进行查询,获得该问句的答案并存入答案库;如果不是则等待下一轮实体查询;求交集类问题,不需要进行知识图谱查询,而是程序自动处理;
模块M5.2:对问句进行答案填充;如果问句中的待回答实体和答案库匹配,则将待回答实体替换为具体答案;
模块M5.3:不断重复实体查询和答案填充过程,直到最终答案被得出。
模块M6:根据问题类别判断是否进行逻辑推理。
具体地,在所述模块M6中:
推理阶段分为数值计算、答案选择和是非判断;
模块M6.1:如果不涉及推理,则直接返回最终答案;
模块M6.2:进行数值计算,然后判断是否是计算问题,是则直接返回数值答案,否则进行下一步;
模块M6.3:进行答案选择,然后判断是否是选择问题,是则返回实体答案,否则进行下一步;
模块M6.4:进行是非判断,最后问题是判断问题,对比结果实体和问题倾向实体后,返回是非答案。
实施例3:
实施例3为实施例1的优选例,以更为具体地对本发明进行说明。
通过问句识别、问句拆分、实体识别、实体链接、知识图谱推理和逻辑推理,实现医学领域知识的精准问答,提供对应医学知识库中的问题答案。
步骤1:对用户输入语句进行问句识别,确定问题类别(链式问题、夹式问题、推理问题)。
步骤1.1:链式问题进一步分为单跳问题和多跳问题,夹式问题是求多个约束条件下实体的交集,推理问题是在求得实体答案后需要进一步进行计算和比较。先对问题进行多标签分类,同一个问题可能同时属于多个大类别,既是链式问题又是夹式问题。
步骤1.2:对每个大类问题进行细分判断,对链式问题,判断问题的跳数;对于夹式问题,判断答案的约束数量;对于推理问题,进一步分类成计算问题、比较问题还是选择问题。
步骤2:根据问题类别对用户输入语句进行问句拆分,将复杂问句拆分成多个简单问句,将夹式问题拆分成多个单约束问题的交集。
步骤2.1:使用大语言模型对用户输入语句进行路径分解,如果输入语句是多跳问题,将多跳问题拆分成多个单跳问题。比如“治疗感冒的药的主要成分是?”,经过路径分解为:“治疗感冒的药是a”,“求a的主要成分b”,“最终答案是b”
步骤2.2:使用大语言模型对用户输入语句进行约束分解,如果输入语句是夹式问题,将语句进行约束分解。比如“既能治疗感冒又能治疗发热的药是?”,经过约束分解为:“治疗感冒的药是a”,“治疗发热的药是b”,“求a和b的交集c”,“最终答案是c”。
步骤3:对所有简单问句进行实体识别,抽取实体指称,找出问句中所涉及的实体。
步骤3.1:使用深度学习算法进行实体识别。具体是使用预训练语言模型(BERT)+长短期记忆网络(LSTM)+条件随机场(CRF)的方法对问句中的命名实体进行识别。首先使用BERT预训练语言模型对问句中的实体进行识别,再使用LSTM网络对句子中每个词语进行实体类型预测,最后使用CRF过滤掉概率低的实体类型,获得实体识别结果。
步骤3.2:使用规则方式进行实体识别。深度学习算法实体识别虽然能覆盖大部分场景,但缺少指定实体的识别控制,常常会漏掉医学特有术语。首先人工构造医学术语词典,然后通过jieba分词器对问句进行分词,最后将分词结果和医学术语词典进行文字匹配,抽取匹配上的实体。
步骤4:对抽取出来的实体指称进行实体链接,将实体指称链接到医学知识库中对应的正确实体对象上。
步骤4.1:使用elasticsearch搜索引擎,存储知识库中所有实体的向量。
步骤4.2:将从问句中抽取出来的实体结果,送入Bert语言模型,获得实体向量。
步骤4.3:使用elasticsearch数据引擎,检索与问句实体中相似的知识库实体向量,返回前5个最相似且cosine距离小于0.1(阈值根据数据调参获得)的向量对应的知识库实体。
步骤5:对所有简单问句通过知识图谱检索找到答案,比如用户输入语句为“含有伪麻黄碱的治疗感冒的药的不良反应有哪些?”。对应简单问句为“含有伪麻黄碱的药是a”,“治疗感冒的药是b”,“a和b交集是c”,“求c的不良反应d”,“最终答案是d”
步骤5.1:对问句进行实体查询。判断该问句是否只有一个待回答实体,如果是则进入知识图谱进行查询,获得该问句的答案并存入答案库。如果不是则等待下一轮实体查询。求交集类问题,不需要进行知识图谱查询,而是程序自动处理。
步骤5.2:对问句进行答案填充。如果问句中的待回答实体和答案库匹配,则将待回答实体替换为具体答案。比如实体查询中计算出b=[康泰克,感冒灵],可以将“a和b交集是c”改为“a和[康泰克,感冒灵]的交集是c”
步骤5.3:不断重复实体查询和答案填充过程,直到最终答案被得出。
步骤6:根据问题类别判断是否进行逻辑推理。推理阶段分为数值计算、答案选择和是非判断。
步骤6.1:如果不涉及推理,则直接返回最终答案。
步骤6.2:进行数值计算,然后判断是否是计算问题,如“板蓝根比芬必得贵多少钱?”。是则直接返回数值答案,否则进行下一步。
步骤6.3:进行答案选择,然后判断是否是选择问题,如“康泰克和莲花清瘟哪一个更贵?”。是则返回实体答案,否则进行下一步。
步骤6.4:进行是非判断,最后问题是判断问题,如“布洛芬是不是比感冒灵贵一点?”。对比结果实体和问题倾向实体后,返回是非答案。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (10)
1.一种基于大语言模型的路径与约束分解知识库问答方法,其特征在于,包括:
步骤S1:对用户输入语句进行问句识别,确定问题类别;
步骤S2:根据问题类别对用户输入语句进行问句拆分;
步骤S3:对拆分后的问句进行实体识别,抽取实体指称,找出问句中所涉及的实体;
步骤S4:对抽取出来的实体指称进行实体链接,将实体指称链接到知识库中对应的正确实体对象上;
步骤S5:对拆分后的问句通过知识图谱检索找到答案;
步骤S6:根据问题类别判断是否进行逻辑推理。
2.根据权利要求1所述的基于大语言模型的路径与约束分解知识库问答方法,其特征在于:
在所述步骤S1中:问题大类别包括:链式问题、夹式问题和推理问题;
步骤S1.1:链式问题分为单跳问题和多跳问题,夹式问题求多个约束条件下实体的交集,推理问题在求得实体答案后进一步进行计算和比较;
先对问题进行多标签分类,同一个问题有概率同时属于多个大类别问题;
步骤S1.2:对每个大类别问题进行细分判断,对链式问题,判断问题的跳数;对于夹式问题,判断答案的约束数量;对于推理问题,进一步分类成计算问题、比较问题还是选择问题;
在所述步骤S2中:
将预设的复杂问句拆分成多个预设的简单问句,将夹式问题拆分成多个单约束问题的交集;
步骤S2.1:使用大语言模型对用户输入语句进行路径分解,如果输入语句是多跳问题,将多跳问题拆分成多个单跳问题;
步骤S2.2:使用大语言模型对用户输入语句进行约束分解,如果输入语句是夹式问题,将语句进行约束分解。
3.根据权利要求1所述的基于大语言模型的路径与约束分解知识库问答方法,其特征在于:
在所述步骤S3中:
步骤S3.1:使用深度学习算法进行实体识别,使用预训练语言模型、长短期记忆网络和条件随机场的方法对问句中的命名实体进行识别;首先使用预训练语言模型对问句中的实体进行识别,再使用长短期记忆网络对句子中每个词语进行实体类型预测,最后使用条件随机场过滤掉概率低的实体类型,获得实体识别结果;
步骤S3.2:使用规则方式进行实体识别,人工构造术语词典,通过jieba分词器对问句进行分词,将分词结果和医学术语词典进行文字匹配,抽取匹配上的实体;
在所述步骤S4中:
步骤S4.1:使用elasticsearch搜索引擎,存储知识库中所有实体的向量;
步骤S4.2:将从问句中抽取出来的实体结果,送入Bert语言模型,获得实体向量;
步骤S4.3:使用elasticsearch数据引擎,检索与问句实体中相似程度符合预设标准的知识库实体向量,返回前预设数量个最相似且cosine距离小于阈值的向量对应的知识库实体。
4.根据权利要求1所述的基于大语言模型的路径与约束分解知识库问答方法,其特征在于,在所述步骤S5中:
步骤S5.1:对问句进行实体查询,判断该问句是否只有一个待回答实体,如果是则进入知识图谱进行查询,获得该问句的答案并存入答案库;如果不是则等待下一轮实体查询;求交集类问题,不需要进行知识图谱查询,而是程序自动处理;
步骤S5.2:对问句进行答案填充;如果问句中的待回答实体和答案库匹配,则将待回答实体替换为具体答案;
步骤S5.3:不断重复实体查询和答案填充过程,直到最终答案被得出。
5.根据权利要求1所述的基于大语言模型的路径与约束分解知识库问答方法,其特征在于,在所述步骤S6中:
推理阶段分为数值计算、答案选择和是非判断;
步骤S6.1:如果不涉及推理,则直接返回最终答案;
步骤S6.2:进行数值计算,然后判断是否是计算问题,是则直接返回数值答案,否则进行下一步;
步骤S6.3:进行答案选择,然后判断是否是选择问题,是则返回实体答案,否则进行下一步;
步骤S6.4:进行是非判断,最后问题是判断问题,对比结果实体和问题倾向实体后,返回是非答案。
6.一种基于大语言模型的路径与约束分解知识库问答系统,其特征在于,包括:
模块M1:对用户输入语句进行问句识别,确定问题类别;
模块M2:根据问题类别对用户输入语句进行问句拆分;
模块M3:对拆分后的问句进行实体识别,抽取实体指称,找出问句中所涉及的实体;
模块M4:对抽取出来的实体指称进行实体链接,将实体指称链接到知识库中对应的正确实体对象上;
模块M5:对拆分后的问句通过知识图谱检索找到答案;
模块M6:根据问题类别判断是否进行逻辑推理。
7.根据权利要求6所述的基于大语言模型的路径与约束分解知识库问答系统,其特征在于:
在所述模块M1中:问题大类别包括:链式问题、夹式问题和推理问题;
模块M1.1:链式问题分为单跳问题和多跳问题,夹式问题求多个约束条件下实体的交集,推理问题在求得实体答案后进一步进行计算和比较;
先对问题进行多标签分类,同一个问题有概率同时属于多个大类别问题;
模块M1.2:对每个大类别问题进行细分判断,对链式问题,判断问题的跳数;对于夹式问题,判断答案的约束数量;对于推理问题,进一步分类成计算问题、比较问题还是选择问题;
在所述模块M2中:
将预设的复杂问句拆分成多个预设的简单问句,将夹式问题拆分成多个单约束问题的交集;
模块M2.1:使用大语言模型对用户输入语句进行路径分解,如果输入语句是多跳问题,将多跳问题拆分成多个单跳问题;
模块M2.2:使用大语言模型对用户输入语句进行约束分解,如果输入语句是夹式问题,将语句进行约束分解。
8.根据权利要求6所述的基于大语言模型的路径与约束分解知识库问答系统,其特征在于:
在所述模块M3中:
模块M3.1:使用深度学习算法进行实体识别,使用预训练语言模型、长短期记忆网络和条件随机场的方法对问句中的命名实体进行识别;首先使用预训练语言模型对问句中的实体进行识别,再使用长短期记忆网络对句子中每个词语进行实体类型预测,最后使用条件随机场过滤掉概率低的实体类型,获得实体识别结果;
模块M3.2:使用规则方式进行实体识别,人工构造术语词典,通过jieba分词器对问句进行分词,将分词结果和医学术语词典进行文字匹配,抽取匹配上的实体;
在所述模块M4中:
模块M4.1:使用elasticsearch搜索引擎,存储知识库中所有实体的向量;
模块M4.2:将从问句中抽取出来的实体结果,送入Bert语言模型,获得实体向量;
模块M4.3:使用elasticsearch数据引擎,检索与问句实体中相似程度符合预设标准的知识库实体向量,返回前预设数量个最相似且cosine距离小于阈值的向量对应的知识库实体。
9.根据权利要求6所述的基于大语言模型的路径与约束分解知识库问答系统,其特征在于,在所述模块M5中:
模块M5.1:对问句进行实体查询,判断该问句是否只有一个待回答实体,如果是则进入知识图谱进行查询,获得该问句的答案并存入答案库;如果不是则等待下一轮实体查询;求交集类问题,不需要进行知识图谱查询,而是程序自动处理;
模块M5.2:对问句进行答案填充;如果问句中的待回答实体和答案库匹配,则将待回答实体替换为具体答案;
模块M5.3:不断重复实体查询和答案填充过程,直到最终答案被得出。
10.根据权利要求6所述的基于大语言模型的路径与约束分解知识库问答系统,其特征在于,在所述模块M6中:
推理阶段分为数值计算、答案选择和是非判断;
模块M6.1:如果不涉及推理,则直接返回最终答案;
模块M6.2:进行数值计算,然后判断是否是计算问题,是则直接返回数值答案,否则进行下一步;
模块M6.3:进行答案选择,然后判断是否是选择问题,是则返回实体答案,否则进行下一步;
模块M6.4:进行是非判断,最后问题是判断问题,对比结果实体和问题倾向实体后,返回是非答案。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311869405.4A CN117744803A (zh) | 2023-12-29 | 2023-12-29 | 基于大语言模型的路径与约束分解知识库问答方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311869405.4A CN117744803A (zh) | 2023-12-29 | 2023-12-29 | 基于大语言模型的路径与约束分解知识库问答方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117744803A true CN117744803A (zh) | 2024-03-22 |
Family
ID=90279251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311869405.4A Pending CN117744803A (zh) | 2023-12-29 | 2023-12-29 | 基于大语言模型的路径与约束分解知识库问答方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117744803A (zh) |
-
2023
- 2023-12-29 CN CN202311869405.4A patent/CN117744803A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117033608B (zh) | 一种基于大语言模型的知识图谱生成式问答方法及系统 | |
CN111368049B (zh) | 信息获取方法、装置、电子设备及计算机可读存储介质 | |
CN110532397B (zh) | 基于人工智能的问答方法、装置、计算机设备及存储介质 | |
CN113672708B (zh) | 语言模型训练方法、问答对生成方法、装置及设备 | |
CN113821605B (zh) | 一种事件抽取方法 | |
CN112328800A (zh) | 自动生成编程规范问题答案的系统及方法 | |
CN109522397B (zh) | 信息处理方法及装置 | |
CN113761868B (zh) | 文本处理方法、装置、电子设备及可读存储介质 | |
CN117453851B (zh) | 基于知识图谱的文本索引增强问答方法及系统 | |
CN114153942B (zh) | 一种基于动态注意力机制的事件时序关系抽取方法 | |
CN115470338B (zh) | 一种基于多路召回的多场景智能问答方法和系统 | |
CN116662518A (zh) | 问答方法、装置、电子设备及可读存储介质 | |
CN115759254A (zh) | 基于知识增强生成式语言模型的问答方法、系统及介质 | |
CN112417119A (zh) | 一种基于深度学习的开放域问答预测方法 | |
CN116821373A (zh) | 基于图谱的prompt推荐方法、装置、设备及介质 | |
CN112199958A (zh) | 概念词序列生成方法、装置、计算机设备及存储介质 | |
CN115203388A (zh) | 机器阅读理解方法、装置、计算机设备和存储介质 | |
CN114330318A (zh) | 一种金融领域中文细粒度实体识别方法及装置 | |
CN113705207A (zh) | 语法错误识别方法及装置 | |
CN116450855A (zh) | 基于知识图谱的问答机器人的回复生成策略方法及系统 | |
CN116610784A (zh) | 一种保险业务场景问答推荐方法及其相关设备 | |
CN116186219A (zh) | 一种人机对话交互方法方法、系统及存储介质 | |
CN113468311B (zh) | 一种基于知识图谱的复杂问句问答方法、装置及存储介质 | |
CN115713082A (zh) | 一种命名实体识别方法、装置、设备及存储介质 | |
CN117744803A (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 |