一种基于知识库的问答方法及系统与流程

文档序号:31790221发布日期:2022-10-14 14:29阅读:288来源:国知局
一种基于知识库的问答方法及系统与流程

1.本技术涉及数据处理技术领域,具体而言,涉及一种基于知识库的问答方法、系统、电子设备及计算机可读存储介质。


背景技术:

2.目前,问答系统(qa,question answering system)是信息检索系统的一种高级形式,它能用准确、简洁的自然语言回答用户用自然语言提出的问题。其研究兴起的主要原因是人们对快速、准确地获取信息的需求。问答系统是人工智能和自然语言处理领域中一个倍受关注并具有广泛发展前景的研究方向。
3.现有技术中,问答系统一般可分为两类:基于文档的问答系和基于基于社区的问答系统。其中,基于文档的问答系统需要用户自己查文档找答案,费时耗力,用户体验差;基于社区的问答系统数据来源于社区用户,答案质量参差不齐,准确率低。


技术实现要素:

4.本技术实施例的目的在于提供一种基于知识库的问答方法、系统、电子设备及计算机可读存储介质,可以实现提高问答检索的准确率和检索效率,提高用户体验的技术效果。
5.第一方面,本技术实施例提供了一种基于知识库的问答方法,包括:
6.获取问题信息和所述问题信息对应的解决方案信息,并将所述问题信息和所述解决方案信息录入预设知识库;
7.获取问题输入数据;
8.对所述问题输入数据和所述预设知识库进行匹配,生成匹配结果;
9.若所述匹配结果为匹配成功,生成与所述问题输入数据对应的答案反馈信息;
10.若所述匹配结果为匹配失败,将所述问题输入数据上报至待完善问题列表。
11.在上述实现过程中,该基于知识库的问答方法基于预设知识库的搜索式设计,用户可以快速获取问题的答案;其中,预设知识库可以由用户提问的问题信息并由专家解答的解决方案信息录入,数据来源专业,答案准确率高;此外,对匹配失败的问题输入数据上报至待完善问题列表,形成数据闭环,将未命中的问题自动上报并可以由后台及时跟进解决;因此,该基于知识库的问答方法可以实现提高问答检索的准确率和检索效率,提高用户体验的技术效果。
12.进一步地,在所述获取问题输入数据的步骤之后,所述方法还包括:
13.对所述问题输入数据进行关键字解析,生成问题关键字信息。
14.在上述实现过程中,问题关键字信息可以更好地匹配预设知识库,遍历预设知识库的关键字即可问题输入数据。
15.进一步地,所述对所述问题输入数据和所述预设知识库进行匹配,生成匹配结果的步骤,包括:
16.根据所述问题关键字信息在所述预设知识库中进行匹配,生成所述匹配结果。
17.进一步地,所述根据所述问题关键字信息在所述预设知识库中进行匹配,生成所述匹配结果的步骤,包括:
18.判断所述问题关键字信息的长度是否超过预设长度阈值;
19.若是,根据所述问题关键字信息和kmp算法在所述预设知识库中进行匹配,生成所述匹配结果;
20.若否,根据所述问题关键字信息和bf算法在所述预设知识库中进行匹配,生成所述匹配结果。
21.在上述实现过程中,根据问题关键字信息的长度自适应地选择字符串匹配算法,没有超过预设长度阈值时默认使用bf算法,问题过长时切换为kmp算法,提高关键字信息的匹配效率。
22.进一步地,所述将所述问题输入数据上报至待完善问题列表的步骤之后,所述方法还包括:
23.根据所述问题输入数据生成标签信息;
24.根据所述问题输入数据和所述标签信息生成工单信息;
25.将所述工单信息推送至对应的专家系统。
26.在上述实现过程中,将问题输入数据上报至待完善问题列表后,可以根据问题输入数据生成标签信息,识别问题输入数据的问题类型;进而根据问题输入数据的问题类型生成工单信息;将工单信息推送至对应的专家系统,可以通知对应的专家团队补充和完善预设知识库。
27.进一步地,所述根据所述问题输入数据生成标签信息的步骤,包括:
28.通过代码包名识别所述问题输入数据的类型,生成所述标签信息。
29.进一步地,所述将所述工单信息推送至对应的专家系统的步骤之后,所述方法还包括:
30.获取所述专家系统返回的答案信息,所述答案信息的表现形式包括文字、图片、超链接、代码片段中的一种或多种;
31.将所述问题输入数据和所述答案信息录入至所述预设知识库。
32.在上述实现过程中,支持答案信息以文字、图片、超链接、代码片段等多种丰富的表现形式录入预设知识库。
33.第二方面,本技术实施例提供了一种基于知识库的问答系统,包括:
34.知识录入模块,用于获取问题信息和所述问题信息对应的解决方案信息,将所述问题信息和所述解决方案信息录入预设知识库;
35.问题获取模块,用于获取问题输入数据;
36.匹配模块,用于对所述问题输入数据和所述预设知识库进行匹配,生成匹配结果;
37.反馈模块,用于若所述匹配结果为匹配成功,生成与所述问题输入数据对应的答案反馈信息;
38.问题上报模块,用于若所述匹配结果为匹配失败,将所述问题输入数据上报至待完善问题列表。
39.进一步地,所述基于知识库的问答系统还包括:
40.关键字模块,用于对所述问题输入数据进行关键字解析,生成问题关键字信息。
41.进一步地,所述匹配模块具体用于根据所述问题关键字信息在所述预设知识库中进行匹配,生成所述匹配结果。
42.进一步地,所述匹配模块具体用于判断所述问题关键字信息的长度是否超过预设长度阈值;若是,根据所述问题关键字信息和kmp算法在所述预设知识库中进行匹配,生成所述匹配结果;若否,根据所述问题关键字信息和bf算法在所述预设知识库中进行匹配,生成所述匹配结果。
43.进一步地,所述基于知识库的问答系统还包括:
44.标签模块,用于根据所述问题输入数据生成标签信息;
45.工单模块,用于根据所述问题输入数据和所述标签信息生成工单信息;
46.推送模块,用于将所述工单信息推送至对应的专家系统。
47.进一步地,所述标签模块具体用于通过代码包名识别所述问题输入数据的类型,生成所述标签信息。
48.进一步地,所述基于知识库的问答系统还包括:
49.答案获取模块,用于获取所述专家系统返回的答案信息,所述答案信息的表现形式包括文字、图片、超链接、代码片段中的一种或多种;
50.所述知识录入模块还用于将所述问题输入数据和所述答案信息录入至所述预设知识库。
51.第三方面,本技术实施例提供的一种电子设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述的方法的步骤。
52.第四方面,本技术实施例提供的一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如第一方面任一项所述的方法。
53.第五方面,本技术实施例提供的一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行如第一方面任一项所述的方法。
54.本技术公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本技术公开的上述技术即可得知。
55.为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
56.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
57.图1为本技术实施例提供的一种基于知识库的问答方法的流程示意图;
58.图2为本技术实施例提供的另一种基于知识库的问答方法的流程示意图;
59.图3为本技术实施例提供的基于知识库的问答系统的系统架构图;
60.图4为本技术实施例提供的基于知识库的问答系统的结构框图;
61.图5为本技术实施例提供的一种电子设备的结构框图。
具体实施方式
62.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
63.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
64.本技术实施例提供了一种基于知识库的问答方法、系统、电子设备及计算机可读存储介质,可以应用于问答系统的构建;该基于知识库的问答方法基于预设知识库的搜索式设计,用户可以快速获取问题的答案;其中,预设知识库可以由用户提问的问题信息并由专家解答的解决方案信息录入,数据来源专业,答案准确率高;此外,对匹配失败的问题输入数据上报至待完善问题列表,形成数据闭环,将未命中的问题自动上报并可以由后台及时跟进解决;因此,该基于知识库的问答方法可以实现提高问答检索的准确率和检索效率,提高用户体验的技术效果。
65.请参见图1,图1为本技术实施例提供的一种基于知识库的问答方法的流程示意图,该基于知识库的问答方法包括如下步骤:
66.s100:获取问题信息和问题信息对应的解决方案信息,并将问题信息和解决方案信息录入预设知识库。
67.示例性地,问题信息可以是用户输入的问题信息,也可以是由问答系统提供的历史问题信息,或是各领域专家团队收集的问题信息,此处不作限定;问题信息对应的解决方案信息可以是各领域专家团队针对问题信息给出的解决方案;将问题信息和问题信息对应的解决方案信息整理为知识后,录入预设知识库。从而,形成用户提问、专家解答、知识沉淀、经验共享的知识库模式,数据来源专业,答案准确率高。
68.s200:获取问题输入数据。
69.示例性地,问题输入数据可以是用户在搜索框中输入的问题(用户输入的问题),点击搜索按钮,即生成问题输入数据。
70.s300:对问题输入数据和预设知识库进行匹配,生成匹配结果。
71.示例性地,将用户输入的问题进行解析、然后并匹配知识库,可以是通过遍历预设知识库的关键字从而匹配问题输入数据,生成与问题输入数据对应的匹配结果。
72.s400:匹配结果是否为匹配成功;
73.s500:若匹配结果为匹配成功,生成与问题输入数据对应的答案反馈信息。
74.示例性地,匹配成功,则说明预设知识库中存有与问题输入数据对应的解决方案信息,将该解决方案信息作为问题输入数据的答案,输出为答案反馈信息,并将答案反馈信息返回给用户,响应快速,实现一问一答的交互式设计。
75.s600:若匹配结果为匹配失败,将问题输入数据上报至待完善问题列表。
76.示例性地,匹配失败,则说明预设知识库中没有与问题输入数据对应的解决方案信息,此时将问题输入数据上报至待完善问题列表,实现问题自动上报的效果;可选地,待完善问题列表的各个问题将会通知对应的专家团队进行补充和完善,并将补充和完善的解
决方案信息录入预设知识库。
77.在一些实施方式中,该基于知识库的问答方法基于预设知识库的搜索式设计,用户可以快速获取问题的答案;其中,预设知识库可以由用户提问的问题信息并由专家解答的解决方案信息录入,数据来源专业,答案准确率高;此外,对匹配失败的问题输入数据上报至待完善问题列表,形成数据闭环,将未命中的问题自动上报并可以由后台及时跟进解决;因此,该基于知识库的问答方法可以实现提高问答检索的准确率和检索效率,提高用户体验的技术效果。
78.请参见图2,图2为本技术实施例提供的另一种基于知识库的问答方法的流程示意图。
79.示例性地,在s200:获取问题输入数据的步骤之后,方法还包括:
80.s210:对问题输入数据进行关键字解析,生成问题关键字信息。
81.示例性地,问题关键字信息可以更好地匹配预设知识库,遍历预设知识库的关键字即可问题输入数据。
82.示例性地,s300:对问题输入数据和预设知识库进行匹配,生成匹配结果的步骤,包括:
83.根据问题关键字信息在预设知识库中进行匹配,生成匹配结果。
84.示例性地,根据问题关键字信息在预设知识库中进行匹配,生成匹配结果的步骤,包括:
85.s301:判断问题关键字信息的长度是否超过预设长度阈值;
86.若是,s302:根据问题关键字信息和kmp算法在预设知识库中进行匹配,生成匹配结果;
87.若否,s303:根据问题关键字信息和bf算法在预设知识库中进行匹配,生成匹配结果。
88.示例性地,根据问题关键字信息的长度自适应地选择字符串匹配算法,没有超过预设长度阈值时默认使用bf算法,问题过长时切换为kmp算法,提高关键字信息的匹配效率。
89.示例性地,s600:将问题输入数据上报至待完善问题列表的步骤之后,方法还包括:
90.s610:根据问题输入数据生成标签信息;
91.s620:根据问题输入数据和标签信息生成工单信息;
92.s630:将工单信息推送至对应的专家系统。
93.示例性地,将问题输入数据上报至待完善问题列表后,可以根据问题输入数据生成标签信息,识别问题输入数据的问题类型;进而根据问题输入数据的问题类型生成工单信息;将工单信息推送至对应的专家系统,可以通知对应的专家团队补充和完善预设知识库。
94.示例性地,标签信息可以对问题输入数据进行分类,便于准确分发给对应领域的专家,同时便于用户查看。
95.可选地,若专家团队未及时处理工单信息,则会通知专家团队所在的邮件组,继续跟进;若专家系统提交的答案有多个且具有差别,则通过邮件讨论或组织会议,归一化为标
准答案后,再录入预设知识库。
96.示例性地,s610:根据问题输入数据生成标签信息的步骤,包括:
97.通过代码包名识别问题输入数据的类型,生成标签信息。
98.示例性地,s630:将工单信息推送至对应的专家系统的步骤之后,方法还包括:
99.s640:获取专家系统返回的答案信息,答案信息的表现形式包括文字、图片、超链接、代码片段中的一种或多种;
100.s650:将问题输入数据和答案信息录入至预设知识库。
101.示例性地,支持答案信息以文字、图片、超链接、代码片段等多种丰富的表现形式录入预设知识库。
102.可选地,专家系统中普通用户也可以回答问题提交知识,通过专家评审后录入预设知识库。
103.请参见图3,图3为本技术实施例提供的基于知识库的问答系统的系统架构图。
104.如图3所示,基于知识库的问答系统包括用户服务端、专家服务端、和预设知识库三个端口;用户通过用户服务端可以搜索问题、提出问题(问题输入数据),若预设知识库中可以匹配到对应的解决方案信息则反馈给用户,若匹配失败则可以将问题上报给专家服务端;专家服务端一方面可以对用户服务端上报的问题进行解答、并将答案返回给用户,另一方面可以将答案录入至预设知识库。
105.示例性地,结合图1至图2所示的基于知识库的问答方法,基于知识库的问答系统的主要功能包括:
106.知识录入:各领域专家团队收集问题和解决方案,整理为知识后录入预设知识库;
107.搜索问题:用户在搜索框中输入问题,点击搜索按钮,系统会解析问题并匹配知识库,快速返回问题的答案给用户;
108.问题自动上报:未命中预设知识库时,系统会自动识别问题类型,生成工单通知对应的专家团队补充完善知识库;
109.提出问题:用户可以提出自己的问题,每个问题都会生成标签,保证问题被高效地分发给专业团队,高质量答案可以更快地产生;待回答的问题以卡片的形式简洁地分类展示给专家团队和用户;
110.回答问题:富文本编辑器支持答题者使用文字、图片、超链接、代码片段等多种丰富的表现形式。除了专家,普通用户也可以回答问题提交知识,通过专家评审后录入知识库。
111.示例性地,本技术实施例提供的基于知识库的问答方法,基于知识库搜索式设计,用户可以快速获取问题的答案,可以提高用户体验;数据来源专业,答案准确率高,用户提问,专家解答,知识沉淀,经验共享;可以形成数据闭环,未命中的问题会自动通知专家及时跟进解决,知识库快速更新迭代,问题匹配命中率越来越高。
112.请参见图4,图4为本技术实施例提供的基于知识库的问答系统的结构框图,该基于知识库的问答系统包括:
113.知识录入模块100,用于获取问题信息和问题信息对应的解决方案信息,将问题信息和解决方案信息录入预设知识库;
114.问题获取模块200,用于获取问题输入数据;
115.匹配模块300,用于对问题输入数据和预设知识库进行匹配,生成匹配结果;
116.反馈模块400,用于若匹配结果为匹配成功,生成与问题输入数据对应的答案反馈信息;
117.问题上报模块500,用于若匹配结果为匹配失败,将问题输入数据上报至待完善问题列表。
118.示例性地,基于知识库的问答系统还包括:
119.关键字模块,用于对问题输入数据进行关键字解析,生成问题关键字信息。
120.示例性地,匹配模块300具体用于根据问题关键字信息在预设知识库中进行匹配,生成匹配结果。
121.示例性地,匹配模块300具体用于判断问题关键字信息的长度是否超过预设长度阈值;若是,根据问题关键字信息和kmp算法在预设知识库中进行匹配,生成匹配结果;若否,根据问题关键字信息和bf算法在预设知识库中进行匹配,生成匹配结果。
122.示例性地,基于知识库的问答系统还包括:
123.标签模块,用于根据问题输入数据生成标签信息;
124.工单模块,用于根据问题输入数据和标签信息生成工单信息;
125.推送模块,用于将工单信息推送至对应的专家系统。
126.示例性地,标签模块具体用于通过代码包名识别问题输入数据的类型,生成标签信息。
127.示例性地,基于知识库的问答系统还包括:
128.答案获取模块,用于获取专家系统返回的答案信息,答案信息的表现形式包括文字、图片、超链接、代码片段中的一种或多种;
129.知识录入模块还用于将问题输入数据和答案信息录入至预设知识库。
130.应理解,图4所示的基于知识库的问答系统与图1、图2所示的方法实施例相互对应,为避免重复,此处不再赘述。
131.本技术还提供一种电子设备,请参见图5,图5为本技术实施例提供的一种电子设备的结构框图。电子设备可以包括处理器510、通信接口520、存储器530和至少一个通信总线540。其中,通信总线540用于实现这些组件直接的连接通信。其中,本技术实施例中电子设备的通信接口520用于与其他节点设备进行信令或数据的通信。处理器510可以是一种集成电路芯片,具有信号的处理能力。
132.上述的处理器510可以是通用处理器,包括中央处理器(cpu,central processing unit)、网络处理器(np,network processor)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器510也可以是任何常规的处理器等。
133.存储器530可以是,但不限于,随机存取存储器(ram,random access memory),只读存储器(rom,read only memory),可编程只读存储器(prom,programmable read-only memory),可擦除只读存储器(eprom,erasable programmable read-only memory),电可擦除只读存储器(eeprom,electric erasable programmable read-only memory)等。存储器530中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器510执行时,电子
设备可以执行上述图1至图2方法实施例涉及的各个步骤。
134.可选地,电子设备还可以包括存储控制器、输入输出单元。
135.所述存储器530、存储控制器、处理器510、外设接口、输入输出单元各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通信总线540实现电性连接。所述处理器510用于执行存储器530中存储的可执行模块,例如电子设备包括的软件功能模块或计算机程序。
136.输入输出单元用于提供给用户创建任务以及为该任务创建启动可选时段或预设执行时间以实现用户与服务器的交互。所述输入输出单元可以是,但不限于,鼠标和键盘等。
137.可以理解,图5所示的结构仅为示意,所述电子设备还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。图5中所示的各组件可以采用硬件、软件或其组合实现。
138.本技术实施例还提供一种存储介质,所述存储介质上存储有指令,当所述指令在计算机上运行时,所述计算机程序被处理器执行时实现方法实施例所述的方法,为避免重复,此处不再赘述。
139.本技术还提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行方法实施例所述的方法。
140.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
141.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
142.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
143.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。应注意到:相似的标号和
字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
144.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
145.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1