具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明实施例提供了一种针对数据库提问的答案查询方法、一种针对数据库提问的答案查询设备和一种计算机可读存储介质。本申请实施例中的方法可以应用在答案查询设备,答案查询设备通过执行本申请实施例中的方法,能够解决解决现有技术在答案查询方法中无法基于任一个历史问题进行多轮提问的问题。
图1为本申请一实施例提供的一种针对数据库提问的答案查询方法的流程示意图,如图1所示,包括以下步骤:
S102,获取针对数据库的第一提问对应的第一过滤条件和第一查询目标,以及,获取基于第一提问的第二提问对应的第二过滤条件和第二查询目标;
S104,将第一查询目标和第二查询目标进行合并,根据合并结果确定第三查询目标;
S106,根据第一过滤条件和第二过滤条件中的共有字段和非共有字段,生成第三过滤条件;其中,共有字段和非共有字段均为数据库中记录的字段;
S108,根据第三查询目标、第三过滤条件和数据库中记录的数据,确定第二提问对应的答案数据。
本发明实施例中,获取针对数据库的第一提问对应的第一过滤条件和第一查询目标,以及,获取基于第一提问的第二提问对应的第二过滤条件和第二查询目标;将第一查询目标和第二查询目标进行合并,根据合并结果确定第三查询目标;根据第一过滤条件和第二过滤条件中的共有字段和非共有字段,生成第三过滤条件;其中,共有字段和非共有字段均为数据库中记录的字段;根据第三查询目标、第三过滤条件和数据库中记录的数据,确定第二提问对应的答案数据。在本实施例中,通过将获取的第一提问的第一查询目标和第二提问的第二查询目标合并,根据合并结果确定第三查询目标,根据第一提问的第一过滤条件和第二提问的第二过滤条件中的共有字段和非共有字段生成第三过滤条件,根据第三查询目标、第三过滤条件和数据库中记录的数据确定第二提问对应的答案数据,解决现有技术在答案查询方法中无法基于任一个历史问题进行多轮提问的问题。
上述步骤S102中,答案查询设备获取针对数据库的第一提问对应的第一过滤条件和第一查询目标,以及,获取基于第一提问的第二提问对应的第二过滤条件和第二查询目标。比如,针对数据库中的第一提问是“小明的语文成绩是?”,则对应的第一过滤条件为小明和语文,对应的第一查询目标为成绩,基于第一提问的第二提问为“小红的呢?”,则对应的第二过滤条件为小红,无对应第二查询目标。
该步骤中第二提问是用户基于第一提问提出的,同样,也可以有基于第二提问的第三提问,或者基于第一提问的第三提问,基于任一个历史提问可以进行多轮提问,这里不做特殊限制。
上述步骤S104中,答案查询设备将第一查询目标和第二查询目标进行合并,根据合并结果确定第三查询目标。以上述步骤S102中的为例,第一查询目标为成绩,无对应第二查询目标,将第一查询目标和第二查询目标合并,得到合并结果为成绩,根据成绩确定第三查询目标,第三查询目标可以为成绩。
上述步骤S106中,答案查询设备根据第一过滤条件和第二过滤条件中的共有字段和非共有字段,生成第三过滤条件;其中,共有字段和非共有字段均为数据库中记录的字段。针对数据库的提问是基于数据库中的元数据中记录的数据进行的提问,其中元数据中的数据可以包含字段,字段值,字段别名等数据,第一过滤条件和第二过滤条件的共有字段即第一过滤条件和第二过滤条件含有的相同的字段,第一过滤条件和第二过滤条件的非共有字段即第一过滤条件和第二过滤条件含有的不同的字段。
表1为本申请一实施例提供的元数据表格,如表1所示,该元数据表格是在某个学校的一次考试后,根据该学校的成绩数据库中记录的该次考试成绩,整理得到的元数据表格。
表1
字段 |
字段类型 |
字段值 |
学号 |
Text |
001、002、003、004… |
姓名 |
Text |
小红、小明、小丽、小梅… |
班级 |
Text |
121、122、123、124… |
课程 |
Text |
语文、数学、英语… |
分数 |
Num |
98、94、86、78… |
上述步骤S108中,答案查询设备根据第三查询目标、第三过滤条件和数据库中记录的数据,确定第二提问对应的答案数据。
本申请实施例中,获取针对数据库的第一提问对应的第一过滤条件和第一查询目标,包括:
(a1),根据数据库中记录的字段和预设的保留词,对第一提问进行分词处理;
(a2),在分词处理后的第一提问中查询满足预设句式要求的短语、满足预设语义要求的词语以及数据库中记录的具有对应关系的字段和字段值,将查找到的短语、词语、具有对应关系的字段和字段值,组合为第一过滤条件;
(a3),在分词处理后的第一提问中查询数据库中记录的字段、字段值和预设的保留词,在查找到的字段和字段值中删除所述数据库中记录的具有对应关系的字段和字段值,将删除后剩余的字段、字段值和预设的保留词,组合为第一查询目标。
上述动作(a1)中,答案查询设备根据数据库中记录的字段和预设的保留词,对第一提问进行分词处理。上述保留词为答案查询设备中预设的特定词,比如,大于、小于、最高、最低、最多、平均等词语。在分词处理时需要将第一提问中没有意义的字或词进行删除处理。比如,第一提问为“小明从一月到六月的语文科目平均成绩是”,分词处理结果为:小明、一月到六月、语文、科目、平均、成绩。
上述动作(a2)中,在分词处理后的第一提问中查询满足预设句式要求的短语、满足预设语义要求的词语以及数据库中记录的具有对应关系的字段和字段值,将查找到的短语、词语、具有对应关系的字段和字段值,组合为第一过滤条件。满足预设句式的短语即句子中的固定短语,比如,“最近三年”、“一月到六月”等,满足预设语义要求的词语包括时间、人名、地名、物名等答案查询设备设定的词;具有对应关系的字段和字段值,比如字段学号对应的字段值001。将查找到的短语、词语、具有对应关系的字段和字段值,组合为第一过滤条件,以上述动作(a1)中的举例的分词处理结果为例,在分词处理为小明、一月到六月、语文、科目、平均、成绩的结果中查找到的短语为一月到六月、人名为小明、具有对应关系的字段和字段值为科目和语文,将小明、一月到六月、科目、语文组合为该实施例的过滤条件。
上述动作(a3)中,在分词处理后的第一提问中查询数据库中记录的字段、字段值和预设的保留词,在查找到的字段和字段值中删除所述数据库中记录的具有对应关系的字段和字段值,将删除后剩余的字段、字段值和预设的保留词,组合为第一查询目标。比如,第一提问在分词处理后得到结果为小明、一月到六月、语文、科目、平均、成绩,具有对应关系的字段和字段值为语文和科目,删掉语文和科目,则删除后剩余的字段为成绩,预设的保留词为平均,将平均和成绩组合为该实施例的查询目标。
本发明实施例中,获取基于第一提问的第二提问对应的第二过滤条件和第二查询目标,包括:
(b1),根据数据库中记录的字段和预设的保留词,对第二提问进行分词处理;
(b2),在分词处理后的第二提问中查询满足预设句式要求的短语、满足预设语义要求的词语以及数据库中记录的具有对应关系的字段和字段值,将查找到的短语、词语、具有对应关系的字段和字段值,组合为第二过滤条件;
(b3),在分词处理后的第二提问中查询数据库中记录的字段、字段值和预设的保留词,在查找到的字段和字段值中删除所述数据库中记录的具有对应关系的字段和字段值,将删除后剩余的字段、字段值和预设的保留词,组合为第二查询目标。
上述动作(b1)至(b3)中的实施例与(a1)至(a3)的一致,此处不再赘述。
本实施例中,在确定查询目标后,可以在查询目标中查找特定的关键词,如“各”、“每”等词,并将这些关键词之后的词作为分组字段。比如查询目标包括“每个城市”和“天气”,则将“城市”作为分组字段,查询得到的结果可以按照该分组字段进行分组显示。
本发明实施例中,根据合并结果确定第三查询目标,包括:
(c1),在合并结果中查询预设的排序词,若查询到合并结果中包含来自于第一查询目标的预设的排序词和来自于第二查询目标的预设的排序词,则在合并结果中删掉来自于第一查询目标的预设的排序词,得到第三查询目标;
(c2),在合并结果中查询预设的排序词,若查询到合并结果中仅包含来自于第一查询目标的预设的排序词,或者仅包含来自于第二查询目标的预设的排序词,或者不包含预设的排序词,则将合并结果确定为第三查询目标。
上述动作(c1)中,答案查询设备在合并结果中查询预设的排序词,该排序词属于预设的保留词,排序词可以为最多、最大、最少、最小等表示按照一定顺序或者序列查询的保留词。若查询到合并结果中包含来自于第一查询目标的预设的排序词和来自于第二查询目标的预设的排序词,则在合并结果中删掉来自于第一查询目标的预设的排序词,得到第三查询目标。比如,第一查询目标和第二查询目标合并结果为最大、面积、最小,在合并结果中查询到包含来自于第一查询目标的预设的排序词“最大”和来自于第二查询目标的预设的排序词“最小”,将第一查询目标的排序词“最大”删掉,得到第三查询目标为最小和面积。
上述动作(c2)中,在合并结果中查询预设的排序词,若查询到合并结果中仅包含来自于第一查询目标的预设的排序词,或者仅包含来自于第二查询目标的预设的排序词,或者不包含预设的排序词,则将合并结果确定为第三查询目标。一个实施例中,合并结果为最大、面积,在合并结果中查询到包含来自于第一查询目标的预设的排序词“最大”,第二查询目标中无排序词,则将合并结果最大、面积确定为第三查询目标。另一个实施例中,合并结果为平均,分数,在合并结果中不包含预设的排序词,则将合并结果平均和分数确定为第三查询目标。
本发明实施例中,根据第一过滤条件和第二过滤条件中的共有字段和非共有字段,生成第三过滤条件,包括:
(d1),从第二过滤条件中提取共有字段和共有字段对应的字段值;
(d2),从第一过滤条件和第二过滤条件中提取非共有字段和非共有字段对应的字段值;
(d3),利用提取的共有字段、提取的共有字段对应的字段值、提取的非共有字段、提取的非共有字段对应的字段值,生成第三过滤条件。
上述动作(d1)和(d3)中,答案查询设备从第二过滤条件中提取共有字段和共有字段对应的字段值,从第一过滤条件和第二过滤条件中提取共有字段和非共有字段对应的字段值,利用提取的共有字段、提取的共有字段对应的字段值、提取的非共有字段、提取的非共有字段对应的字段值,生成第三过滤条件。一个实施例中,第一过滤条件为001、班级,第二过滤条件为002、班级,共有字段为班级,不包含非共有字段,则提取第二过滤条件的共有字段和共有字段对应的字段值“班级,002”,将“班级,002”确定为第三过滤条件。
另一个实施例中,如果第一过滤条件或者第二过滤条件包含预设句式要求的短语和/或预设语义要求的词语,则将预设句式要求的短语和/或预设语义要求的词语保留在第三过滤条件中。比如第一过滤条件为小明,语文,课程,第二过滤条件为数学,课程,则将预设语义要求的词语“小明”保留至第三过滤条件中,提取第二过滤条件中的共有字段和对应的字段值“课程,数学”,将小明、课程、数学确定为第三过滤条件。
再一个实施例中,如果第一过滤条件和第二过滤条件均包含预设句式要求的短语,或者均包含预设语义要求的词语,则将第二过滤条件中的预设句式要求的短语或者预设语义要求的词语保留至第三过滤条件中。比如第一过滤条件为小明,数学,课程,第二过滤条件为小红,则将预设语义要求的词语“小红”保留至第三过滤条件中,提取第二过滤条件中的共有字段和对应的字段值“课程,数学”,将小红、课程、数学确定为第三过滤条件。
本发明实施例中,根据第三查询目标、第三过滤条件和数据库中记录的数据,确定第二提问对应的答案数据,包括:
(e1),根据第三查询目标和第三过滤条件生成数据库对应的查询语句;
(e2),通过查询语句在数据库记录的数据中进行查询,得到查询结果,根据查询结果确定第二提问对应的答案数据。
上述动作(e1)中,答案查询设备根据第三查询目标和第三过滤条件生成数据库对应的查询语句,该数据库可以是mysql(关系型数据库管理系统),也可以是其他数据库,这里不做特殊限定。
上述动作(e2)中,答案查询设备通过查询语句在数据库记录的数据中进行查询,得到查询结果,根据查询结果确定第二提问对应的答案数据。一个实施例中,在mysql数据库中生成查询语句结果为select score from table where course=’math’andXiaoming;通过该查询语句在数据库记录的数据中查询出小明的数学成绩,即查询到的小明的数学成绩为第二提问的答案数据。另一个实施例中,在mysql数据库中生成查询语句结果为select avg(score)from table where class=’121’,通过该查询语句在数据库中查询121班的成绩,根据查询结果结合数据库中计算平均值的聚合函数,得出121班的平均成绩为第二提问的答案数据。
本发明实施例中,通过图表的形式展示第一提问的答案数据和第二提问的答案数据。答案查询设备可以通过Echarts软件对第一提问的答案数据和第二提问的答案数据进行图表展示,也可以是其他软件,这里不做限定。
图2为本申请一实施例提供的针对数据库进行多轮提问的示意图,如图2所示,该图展示的是历史多次提问分别对应的答案数据,在图2中,用户可以针对某个历史问题的答案数据继续提问。
本发明实施例中,获取针对数据库的第一提问对应的第一过滤条件和第一查询目标,以及,获取基于第一提问的第二提问对应的第二过滤条件和第二查询目标;将第一查询目标和第二查询目标进行合并,根据合并结果确定第三查询目标;根据第一过滤条件和第二过滤条件中的共有字段和非共有字段,生成第三过滤条件;其中,共有字段和非共有字段均为数据库中记录的字段;根据第三查询目标、所述第三过滤条件和数据库中记录的数据,确定第二提问对应的答案数据。本发明实施例中,通过将获取的第一提问的第一查询目标和第二提问的第二查询目标合并,根据合并结果确定第三查询目标,根据第一提问的第一过滤条件和第二提问的第二过滤条件中的共有字段和非共有字段生成第三过滤条件,根据第三查询目标、第三过滤条件和数据库中记录的数据确定第二提问对应的答案数据,解决现有技术在答案查询方法中无法基于任一个历史问题进行多轮提问的问题。
图3为本申请一实施例提供的一种针对数据库提问的答案查询方法装置的模块组成示意图,如图3所示,该装置包括:
获取模块31,用于获取针对所述数据库的第一提问对应的第一过滤条件和第一查询目标,以及,获取基于所述第一提问的第二提问对应的第二过滤条件和第二查询目标;
合并模块32,用于将所述第一查询目标和所述第二查询目标进行合并,根据合并结果确定所述第三查询目标;
生成模块33,用于根据所述第一过滤条件和所述第二过滤条件中的共有字段和非共有字段,生成第三过滤条件;其中,所述共有字段和非共有字段均为所述数据库中记录的字段;
确定模块34,用于根据所述第三查询目标、所述第三过滤条件和所述数据库中记录的数据,确定所述第二提问对应的答案数据。
可选地,所述获取模块31具体用于:
根据所述数据库中记录的字段和预设的保留词,对所述第一提问进行分词处理;
在分词处理后的所述第一提问中查询满足预设句式要求的短语、满足预设语义要求的词语以及所述数据库中记录的具有对应关系的字段和字段值,将查找到的所述短语、所述词语、所述具有对应关系的字段和字段值,组合为所述第一过滤条件;
在分词处理后的所述第一提问中查询所述数据库中记录的字段、字段值和所述预设的保留词,在查找到的字段和字段值中删除所述数据库中记录的具有对应关系的字段和字段值,将删除后剩余的字段、字段值和所述预设的保留词,组合为所述第一查询目标。
可选地,所述获取模块31具体用于:
根据所述数据库中记录的字段和预设的保留词,对所述第二提问进行分词处理;
在分词处理后的所述第二提问中查询满足预设句式要求的短语、满足预设语义要求的词语以及所述数据库中记录的具有对应关系的字段和字段值,将查找到的所述短语、所述词语、所述具有对应关系的字段和字段值,组合为所述第二过滤条件;
在分词处理后的所述第二提问中查询所述数据库中记录的字段、字段值和所述预设的保留词,在查找到的字段和字段值中删除所述数据库中记录的具有对应关系的字段和字段值,将删除后剩余的字段、字段值和所述预设的保留词,组合为所述第二查询目标。
可选地,所述合并模块32具体用于:
在所述合并结果中查询预设的排序词,若查询到所述合并结果中包含来自于所述第一查询目标的预设的排序词和来自于所述第二查询目标的预设的排序词,则在所述合并结果中删掉来自于所述第一查询目标的预设的排序词,得到所述第三查询目标;
在所述合并结果中查询预设的排序词,若查询到所述合并结果中仅包含来自于所述第一查询目标的预设的排序词,或者仅包含来自于所述第二查询目标的预设的排序词,或者不包含所述预设的排序词,则将所述合并结果确定为所述第三查询目标。
可选地,所述生成模块33具体用于:
从所述第二过滤条件中提取所述共有字段和所述共有字段对应的字段值;
从所述第一过滤条件和所述第二过滤条件中提取所述非共有字段和所述非共有字段对应的字段值;
利用提取的所述共有字段、提取的所述共有字段对应的字段值、提取的所述非共有字段、提取的所述非共有字段对应的字段值,生成第三过滤条件。
可选地,所述确定模块34具体用于:
根据所述第三查询目标和所述第三过滤条件生成所述数据库对应的查询语句;
通过所述查询语句在所述数据库记录的数据中进行查询,得到查询结果,根据所述查询结果确定所述第二提问对应的答案数据。
可选地,还包括:
展示模块,用于通过图表的形式展示所述第一提问的答案数据和所述第二提问的答案数据。
本发明实施例中,获取针对数据库的第一提问对应的第一过滤条件和第一查询目标,以及,获取基于第一提问的第二提问对应的第二过滤条件和第二查询目标;将第一查询目标和第二查询目标进行合并,根据合并结果确定第三查询目标;根据第一过滤条件和第二过滤条件中的共有字段和非共有字段,生成第三过滤条件;其中,共有字段和非共有字段均为数据库中记录的字段;根据第三查询目标、所述第三过滤条件和数据库中记录的数据,确定第二提问对应的答案数据。本发明实施例中,通过将获取的第一提问的第一查询目标和第二提问的第二查询目标合并,根据合并结果确定第三查询目标,根据第一提问的第一过滤条件和第二提问的第二过滤条件中的共有字段和非共有字段生成第三过滤条件,根据第三查询目标、第三过滤条件和数据库中记录的数据确定第二提问对应的答案数据,解决现有技术在答案查询方法中无法基于任一个历史问题进行多轮提问的问题。
本申请实施例提供的一种针对数据库提问的答案查询方法装置能够实现前述方法实施例中的各个过程,并达到相同的功能和效果,这里不再重复。
进一步地,本申请实施例还提供了一种针对数据库提问的答案查询设备,图4为本申请一实施例提供的一种针对数据库提问的答案查询设备的结构示意图,如图4所示,该设备包括:存储器601、处理器602、总线603和通信接口604。存储器601、处理器602和通信接口604通过总线603进行通信,通信接口604可以包括输入输出接口,输入输出接口包括但不限于键盘、鼠标、显示器、麦克风、扩音器等。
图4中,所述存储器601上存储有可在所述处理器602上运行的计算机可执行指令,所述计算机可执行指令被所述处理器602执行时实现以下流程:
获取针对所述数据库的第一提问对应的第一过滤条件和第一查询目标,以及,获取基于所述第一提问的第二提问对应的第二过滤条件和第二查询目标;
将所述第一查询目标和所述第二查询目标进行合并,根据合并结果确定第三查询目标;
根据所述第一过滤条件和所述第二过滤条件中的共有字段和非共有字段,生成第三过滤条件;其中,所述共有字段和非共有字段均为所述数据库中记录的字段;
根据所述第三查询目标、所述第三过滤条件和所述数据库中记录的数据,确定所述第二提问对应的答案数据。
可选地,所述计算机可执行指令被所述处理器执行时,获取针对所述数据库的第一提问对应的第一过滤条件和第一查询目标,包括:
根据所述数据库中记录的字段和预设的保留词,对所述第一提问进行分词处理;
在分词处理后的所述第一提问中查询满足预设句式要求的短语、满足预设语义要求的词语以及所述数据库中记录的具有对应关系的字段和字段值,将查找到的所述短语、所述词语、所述具有对应关系的字段和字段值,组合为所述第一过滤条件;
在分词处理后的所述第一提问中查询所述数据库中记录的字段、字段值和所述预设的保留词,在查找到的字段和字段值中删除所述数据库中记录的具有对应关系的字段和字段值,将删除后剩余的字段、字段值和所述预设的保留词,组合为所述第一查询目标。
可选地,所述计算机可执行指令被所述处理器执行时,获取基于所述第一提问的第二提问对应的第二过滤条件和第二查询目标,包括:
根据所述数据库中记录的字段和预设的保留词,对所述第二提问进行分词处理;
在分词处理后的所述第二提问中查询满足预设句式要求的短语、满足预设语义要求的词语以及所述数据库中记录的具有对应关系的字段和字段值,将查找到的所述短语、所述词语、所述具有对应关系的字段和字段值,组合为所述第二过滤条件;
在分词处理后的所述第二提问中查询所述数据库中记录的字段、字段值和所述预设的保留词,在查找到的字段和字段值中删除所述数据库中记录的具有对应关系的字段和字段值,将删除后剩余的字段、字段值和所述预设的保留词,组合为所述第二查询目标。
可选地,所述计算机可执行指令被所述处理器执行时,根据合并结果确定第三查询目标,包括:
在所述合并结果中查询预设的排序词,若查询到所述合并结果中包含来自于所述第一查询目标的预设的排序词和来自于所述第二查询目标的预设的排序词,则在所述合并结果中删掉来自于所述第一查询目标的预设的排序词,得到所述第三查询目标;
在所述合并结果中查询预设的排序词,若查询到所述合并结果中仅包含来自于所述第一查询目标的预设的排序词,或者仅包含来自于所述第二查询目标的预设的排序词,或者不包含所述预设的排序词,则将所述合并结果确定为所述第三查询目标。
可选地,所述计算机可执行指令被所述处理器执行时,根据所述第一过滤条件和所述第二过滤条件中的共有字段和非共有字段,生成第三过滤条件,包括:
从所述第二过滤条件中提取所述共有字段和所述共有字段对应的字段值;
从所述第一过滤条件和所述第二过滤条件中提取所述非共有字段和所述非共有字段对应的字段值;
利用提取的所述共有字段、提取的所述共有字段对应的字段值、提取的所述非共有字段、提取的所述非共有字段对应的字段值,生成第三过滤条件。
可选地,所述计算机可执行指令被所述处理器执行时,根据所述第三查询目标、所述第三过滤条件和所述数据库中记录的数据,确定所述第二提问对应的答案数据,包括:
根据所述第三查询目标和所述第三过滤条件生成所述数据库对应的查询语句;
通过所述查询语句在所述数据库记录的数据中进行查询,得到查询结果,根据所述查询结果确定所述第二提问对应的答案数据。
可选地,所述计算机可执行指令被所述处理器执行时,还包括:
通过图表的形式展示所述第一提问的答案数据和所述第二提问的答案数据。
本发明实施例中,获取针对数据库的第一提问对应的第一过滤条件和第一查询目标,以及,获取基于第一提问的第二提问对应的第二过滤条件和第二查询目标;将第一查询目标和第二查询目标进行合并,根据合并结果确定第三查询目标;根据第一过滤条件和第二过滤条件中的共有字段和非共有字段,生成第三过滤条件;其中,共有字段和非共有字段均为数据库中记录的字段;根据第三查询目标、第三过滤条件和数据库中记录的数据,确定第二提问对应的答案数据。在本实施例中,通过将获取的第一提问的第一查询目标和第二提问的第二查询目标合并,根据合并结果确定第三查询目标,根据第一提问的第一过滤条件和第二提问的第二过滤条件中的共有字段和非共有字段生成第三过滤条件,根据第三查询目标、第三过滤条件和数据库中记录的数据确定第二提问对应的答案数据,解决现有技术在答案查询方法中无法基于任一个历史问题进行多轮提问的问题。
本申请实施例提供的针对数据库提问的答案查询设备能够实现前述方法实施例中的各个过程,并达到相同的功能和效果,这里不再重复。
进一步地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机可执行指令,所述计算机可执行指令被处理器执行时实现以下流程:
获取针对所述数据库的第一提问对应的第一过滤条件和第一查询目标,以及,获取基于所述第一提问的第二提问对应的第二过滤条件和第二查询目标;
将所述第一查询目标和所述第二查询目标进行合并,根据合并结果确定第三查询目标;
根据所述第一过滤条件和所述第二过滤条件中的共有字段和非共有字段,生成第三过滤条件;其中,所述共有字段和非共有字段均为所述数据库中记录的字段;
根据所述第三查询目标、所述第三过滤条件和所述数据库中记录的数据,确定所述第二提问对应的答案数据。
可选地,所述计算机可执行指令被所述处理器执行时,获取针对所述数据库的第一提问对应的第一过滤条件和第一查询目标,包括:
根据所述数据库中记录的字段和预设的保留词,对所述第一提问进行分词处理;
在分词处理后的所述第一提问中查询满足预设句式要求的短语、满足预设语义要求的词语以及所述数据库中记录的具有对应关系的字段和字段值,将查找到的所述短语、所述词语、所述具有对应关系的字段和字段值,组合为所述第一过滤条件;
在分词处理后的所述第一提问中查询所述数据库中记录的字段、字段值和所述预设的保留词,在查找到的字段和字段值中删除所述数据库中记录的具有对应关系的字段和字段值,将删除后剩余的字段、字段值和所述预设的保留词,组合为所述第一查询目标。
可选地,所述计算机可执行指令被所述处理器执行时,获取基于所述第一提问的第二提问对应的第二过滤条件和第二查询目标,包括:
根据所述数据库中记录的字段和预设的保留词,对所述第二提问进行分词处理;
在分词处理后的所述第二提问中查询满足预设句式要求的短语、满足预设语义要求的词语以及所述数据库中记录的具有对应关系的字段和字段值,将查找到的所述短语、所述词语、所述具有对应关系的字段和字段值,组合为所述第二过滤条件;
在分词处理后的所述第二提问中查询所述数据库中记录的字段、字段值和所述预设的保留词,在查找到的字段和字段值中删除所述数据库中记录的具有对应关系的字段和字段值,将删除后剩余的字段、字段值和所述预设的保留词,组合为所述第二查询目标。
可选地,所述计算机可执行指令被所述处理器执行时,根据合并结果确定第三查询目标,包括:
在所述合并结果中查询预设的排序词,若查询到所述合并结果中包含来自于所述第一查询目标的预设的排序词和来自于所述第二查询目标的预设的排序词,则在所述合并结果中删掉来自于所述第一查询目标的预设的排序词,得到所述第三查询目标;
在所述合并结果中查询预设的排序词,若查询到所述合并结果中仅包含来自于所述第一查询目标的预设的排序词,或者仅包含来自于所述第二查询目标的预设的排序词,或者不包含所述预设的排序词,则将所述合并结果确定为所述第三查询目标。
可选地,所述计算机可执行指令被所述处理器执行时,根据所述第一过滤条件和所述第二过滤条件中的共有字段和非共有字段,生成第三过滤条件,包括:
从所述第二过滤条件中提取所述共有字段和所述共有字段对应的字段值;
从所述第一过滤条件和所述第二过滤条件中提取所述非共有字段和所述非共有字段对应的字段值;
利用提取的所述共有字段、提取的所述共有字段对应的字段值、提取的所述非共有字段、提取的所述非共有字段对应的字段值,生成第三过滤条件。
可选地,所述计算机可执行指令被所述处理器执行时,根据所述第三查询目标、所述第三过滤条件和所述数据库中记录的数据,确定所述第二提问对应的答案数据,包括:
根据所述第三查询目标和所述第三过滤条件生成所述数据库对应的查询语句;
通过所述查询语句在所述数据库记录的数据中进行查询,得到查询结果,根据所述查询结果确定所述第二提问对应的答案数据。
可选地,所述计算机可执行指令被所述处理器执行时,还包括:
通过图表的形式展示所述第一提问的答案数据和所述第二提问的答案数据。
本发明实施例中,获取针对数据库的第一提问对应的第一过滤条件和第一查询目标,以及,获取基于第一提问的第二提问对应的第二过滤条件和第二查询目标;将第一查询目标和第二查询目标进行合并,根据合并结果确定第三查询目标;根据第一过滤条件和第二过滤条件中的共有字段和非共有字段,生成第三过滤条件;其中,共有字段和非共有字段均为数据库中记录的字段;根据第三查询目标、第三过滤条件和数据库中记录的数据,确定第二提问对应的答案数据。在本实施例中,通过将获取的第一提问的第一查询目标和第二提问的第二查询目标合并,根据合并结果确定第三查询目标,根据第一提问的第一过滤条件和第二提问的第二过滤条件中的共有字段和非共有字段生成第三过滤条件,根据第三查询目标、第三过滤条件和数据库中记录的数据确定第二提问对应的答案数据,解决现有技术在答案查询方法中无法基于任一个历史问题进行多轮提问的问题。
其中,所述的计算机可读存储介质包括只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
本申请实施例提供的计算机可读存储介质能够实现前述方法实施例中的各个过程,并达到相同的功能和效果,这里不再重复。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。