基于历史结果的多意图查询方法、装置、设备及存储介质与流程

文档序号:18193948发布日期:2019-07-17 05:43阅读:141来源:国知局
基于历史结果的多意图查询方法、装置、设备及存储介质与流程

本发明涉及人工智能领域,尤其涉及一种基于历史结果的多意图查询方法、装置、设备及存储介质。



背景技术:

人工智能(artificialintelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能系统可以是例如智能客服系统、语音控制系统等。

智能问答系统是人工智能的一种典型应用。传统的智能问答系统的知识库中存储的一些知识点往往不是经常问到的问题,而是来自结构化的静态二维表或动态数据库表,因此,一旦对静态二维表或动态数据库表中的数据进行大批量修改,就要对知识点对应的答案一一进行变更,导致工作量非常大且容易出错,并由此导致答案回复的准确率低,且通常会经历多轮的搜索语句。

因此,如何通过自然语言形式的搜索语句从动态的数据库中快速准确的查询到正确的数据以及如何根据搜索语句从历史搜索结果中查询动态数据库中的特定数据是急需解决的问题。



技术实现要素:

有鉴于此,本发明的一个目的在于提供一种基于历史结果的多意图查询方法、装置、设备及存储介质,能够提高数据查询的效率及答案回复的准确率。

本发明的一个方面提供一种基于历史结果的多意图查询,接收用户的搜索语句;

根据预设的分词规则和预设的分词词典对所述搜索语句进行分词处理,得到多个词语;

将所述多个词语对进行语义匹配,得到至少两个意图,其中,所述至少两个意图中的每个意图包括知识库中与所述每个意图匹配的意图知识点和与所述匹配的意图知识点相关的意图参数,所述知识库包括多个意图知识点,所述预设的分词词典中的词类和/或命名实体与所述意图知识点相关的意图参数对应,所述多个意图知识点包括对应的多个搜索答案提取指令模板;

根据与所述匹配的意图知识点相关的意图参数和所述匹配的意图知识点对应的搜索答案提取指令模板,得到搜索答案提取指令;以及

当本次搜索语句对应的搜索答案提取指令中有一个搜索答案提取指令为用于从某次历史搜索答案数据中提取相关数据作为本次搜索答案数据指令,则根据本次搜索语句的搜索答案提取指令从所述某次历史搜索答案数据中提取本次搜索语句的其他搜索答案提取指令的搜索目标数据作为所述搜索答案数据,历史答案数据为预设动态数据库中的数据。

在本发明的一个实施例中,所述对所述搜索语句进行语义匹配,得到至少两个意图,包括:

根据预设的分词规则和预设的分词词典对所述搜索语句进行分词处理,得到多个词语;

将所述多个词语与所述知识库中的所述多个意图知识点进行相似度计算,得到匹配的所述至少两个意图知识点;

获取所述至少两个意图知识点的搜索答案提取指令模板中所需的意图参数名;

根据所述预设的分词词典从所述多个词语中获取属于特定的词类或命名实体的至少一个词语作为意图参数,其中所述特定的词类和/或命名实体与所述搜索答案提取指令模板中所需的意图参数名对应;以及

根据所述至少两个意图知识点对应的搜索答案提取指令模板和所述意图参数得到所述至少两个意图。

在本发明的一个实施例中,所述预设的分词词典中的词类和/或命名实体包括所述动态数据库中的表项名,所述预设的分词词典中词类的同类词和/或命名实体的同类词包括所述动态数据库中对应所述表项名的数据。

在本发明的一个实施例中,所述将所述多个词语与所述知识库中的所述多个意图知识点进行相似度计算,得到匹配的所述至少两个意图知识点,包括:

将所述多个词语中的词语生成的至少两个词语组合与所述知识库中的所述多个意图知识点的问句分别进行语义相似度计算,其中所述多个意图知识点中的每个意图知识点包括多个问句;以及

将与所述词语组合的语义相似度高于预设阈值且最高的意图知识点作为所述至少两个意图对应的意图知识点;或者

根据所述预设的分词词典对所述多个词语进行词类提取和/或命名实体识别,得到至少一个词类和/或至少一个命名实体;

将所述至少一个词类和/或至少一个命名实体与所述知识库中的所述多个意图知识点的问句分别进行语义相似度计算;以及

分别将与所述词语组合的语义相似度高于预设阈值且最高的意图知识点作为所述至少两个意图对应的意图知识点。

在本发明的一个实施例中,所述动态数据库包括至少一种表格,所述至少一种表格中的每种表格由表别名标识所述表别名对应的字段名,所述搜索答案提取指令模板中包括所述表别名对应的字段名;

所述至少一种表格中的每种表格的表项至少包括表项名和所述表项名对应的字段名,其中所述表项名为所述预设的分词词典中的词类名和/或命名实体名,所述搜索答案提取指令模板中包括所述表项名对应的字段名,所述搜索答案提取指令模板为结构化查询语言代码模板;

所述搜索答案提取指令为结构化查询语言代码。

所述至少两个意图知识点中还包括答案模板,所述基于历史结果的多意图查询还包括:

根据所述答案模板和所述搜索答案数据生成最终的搜索答案,其中所述答案模板中包括答案话术。

在本发明的一个实施例中,还包括:

按照预设的时间间隔对所述动态数据库和所述预设分词词典中的数据进行更新,所述预设的分词词典中的词类和/或命名实体包括所述动态数据库中的表项名,所述预设的分词词典中词类的同类词和/或命名实体的同类词均包括所述动态数据库中对应所述表项名的数据。

在本发明的一个实施例中,所述搜索语句包括文本消息、语音消息、图片消息、图像消息和视频消息中的一种或多种,所述基于历史结果的多意图查询还包括:

将所述搜索语句转换为文本消息。

本发明的另一个方面提供一种基于历史结果的多意图查询装置,包括:接收模块,用于接收用户的搜索语句;分词模块,用于根据预设的分词规则和预设的分词词典对所述搜索语句进行分词处理,得到多个词语;匹配模块,用于将所述多个词语进行语义匹配,得到至少两个意图,其中,所述至少两个意图中的每个意图包括知识库中与所述每个意图匹配的意图知识点和与所述匹配的意图知识点相关的意图参数,所述知识库包括多个意图知识点,所述预设的分词词典中的词类和/或命名实体与所述意图知识点相关的意图参数对应,所述多个意图知识点包括对应的多个搜索答案提取指令模板;

获取模块,用于根据与所述匹配的意图知识点相关的意图参数和所述匹配的意图知识点对应的搜索答案提取指令模板,得到搜索答案提取指令;以及

数据提取模块,用于当本次搜索语句对应的搜索答案提取指令中有一个搜索答案提取指令为用于从某次历史搜索答案数据中提取相关数据作为本次搜索答案数据指令,则根据本次搜索语句的搜索答案提取指令从所述某次历史搜索答案数据中提取本次搜索语句的其他搜索答案提取指令的搜索目标数据作为所述搜索答案数据,历史答案数据为预设动态数据库中的数据。

本发明的再一个方面提供一种计算机设备,包括:存储器、处理器及存储在存储器中并可在处理器中运行的可执行指令,处理器执行可执行指令时实现如上所述的任一种基于历史结果的多意图查询。

本发明的又一个方面提供一种计算机可读存储介质,其上存储有计算机可执行指令,可执行指令被处理器执行时实现如上所述的任一种基于历史结果的多意图查询。

根据本发明实施例提供的技术方案,通过接收用户的搜索语句,对搜索语句进行语义匹配,得到至少两个意图,其中,至少两个意图中的每个意图包括知识库中与每个意图匹配的意图知识点和与匹配的意图知识点相关的意图参数,知识库包括多个意图知识点,多个意图知识点包括对应的多个搜索答案提取指令模板,根据与匹配的意图知识点相关的意图参数和匹配的意图知识点对应的搜索答案提取指令模板,得到搜索答案提取指令,根据本次搜索语句的搜索答案提取指令从所述某次历史搜索答案数据中提取对应数据作为搜索答案数据,历史答案数据为预设动态数据库中的数据,能够提高数据查询的效率及答案回复的准确率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是根据本发明一示例性实施例示出的一种基于历史结果的多意图查询的流程图。

图2是根据本发明另一示例性实施例示出的一种基于历史结果的多意图查询的流程图。

图3是根据本发明一示例性实施例示出的一种基于历史结果的多意图查询装置的框图。

图4是根据本发明另一示例性实施例示出的一种基于历史结果的多意图查询装置的框图。

图5是根据本发明一示例性实施例示出的用于数据查询的装置500的框图。

具体实施方式

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

图1是根据本发明一示例性实施例示出的一种多意图查询方法的流程图。图1的多意图查询方法可以由人工智能装置(例如,智能问答系统等)执行,如图1所示,该多意图查询方法包括:

110:接收用户的搜索语句。

在本发明实施例中,用户的搜索语句可以为自然语言语句、短语等形式。用户的搜索语句可以仅包含一个意图,也可以包含多个意图,本发明对此不作限制,其中,意图的具体内容见步骤120中解释,这里只从用户的搜索语句角度做解释。例如,用户的搜索语句为“查询收过美国快递的人”,则该搜索语句中仅包含一个意图“寄件国家为美国”。又如,用户的搜索语句为“优衣库快递给宝安区的记录”,则该搜索语句中包含两个意图“寄件单位为优衣库”和“收件地址为宝安区”。

进一步地,用户的搜索语句可以是用户通过键盘或触摸屏等输入的文本信息,也可以是用户通过话筒等输入的语音信息,或者还可以是用户通过交互终端输入的文本消息、数据链接、语音消息、图片消息、图像消息和视频消息等,本发明对此不作限制。

这里,交互终端是能够与智能问答系统进行信息交互的设备,例如,智能手机、平板电脑、个人电脑或其他智能终端等。举例来说,用户可以一边通过语音或视频向智能问答系统提问,一边通过交互终端向智能问答系统发送相应的文本消息。

需要说明的是,当接收到的搜索语句为语音消息、图片消息、图像消息或视频消息时,智能问答系统可以通过语音识别模块、图片识别模块或视频识别模块等将语音消息、图片消息、图像消息或视频消息转换为文本消息。

120:根据预设的分词规则和预设的分词词典对所述搜索语句进行分词处理,得到多个词语。

可以根据分词处理结果对用户的搜索语句进行意图分析,例如,通过语义解析、意图匹配等;也可以根据分词处理的结果对分词后的多个词语进行排列组合,并基于词汇组合的结果对用户的搜索语句进行意图分析;或者还可以通过例如其他通过语料训练得到的自然语言解析模型等对搜索语句进行语句处理,得到搜索语句的语义内容,并根据语义内容对搜索语句进行意图分析,本发明对此不作限制。

具体地,分词处理可以采用双向最大匹配法、维特比(viterbi)算法、隐马尔可夫模型(hiddenmarkovmodel,hmm)算法和条件随机场(conditionalrandomfield,crf)算法中的一种或多种或者,根据固定的字词对用户的搜索语句进行拆分。词汇组合是将多个词语排列组合在一起,并且这些词语在排列组合后所表达的意图可以是一个,也可以是多个。语义内容可以是通过其他通过语料训练得到的自然语言解析模型等对用户的搜索语句进行整体语义解析得到的。

具体地,根据预设的分词规则和预设的分词词典对用户的搜索语句进行分词处理,得到多个词语。这里,分词规则可以包括但不限于正向最大匹配法、逆向最大匹配法、逐词遍历法或词频统计法、最少切分法、双相匹配法等。例如,以接收到的用户的搜索语句为“2014年1月10日之后优衣库收到的快递记录”为例,智能问答系统可以通过逐词遍历法对用户的搜索语句“2014年1月10日之后优衣库收到的快递记录”进行分词处理,得到多个词语“2014年1月10日”、“之后”、“优衣库”、“收到”、“快递”、“记录”。需要说明的是,用户的搜索语句中可以包括标点符号,也可以不包括标点符号,本发明对此不作限制。

130:将多个词语进行语义匹配,得到至少两个意图。

其中,至少两个意图中的每个意图包括知识库中与每个意图匹配的意图知识点和与匹配的意图知识点相关的意图参数,知识库包括多个意图知识点,预设的分词词典中的词类和/或命名实体与意图知识点相关的意图参数对应,多个意图知识点包括对应的多个搜索答案提取指令模板。

在本发明实施例中,意图为通过自然语言处理的方法与预先设定在数据库中的意图知识点匹配得到的,这里,数据库即为存储有意图知识点的知识库,该知识库可以包括多个意图知识点,多个意图知识点可以包括对应的多个搜索答案提取指令模板。至少两个意图中的每个意图可以包括与其匹配的意图知识点和与该意图知识点相关的一个或多个意图参数,例如,搜索语句为“三国演义的出版日期”,则意图知识点的标准问为“[书名]的出版日期”,意图参数为“[书名]=三国演义”。又如,搜索语句为“2014年1月10日之后,优衣库收到的快递数据”,则对应的两个意图知识点的标准问分别为“[收件日期]收到的快递”和“[优衣库]收到的快递”,意图参数为“[收件日期]<20140110”和“[收件单位]=优衣库”。

140:根据与匹配的意图知识点相关的意图参数和匹配的意图知识点对应的搜索答案提取指令模板,得到搜索答案提取指令。

在本发明实施例中,搜索答案提取指令是在搜索答案提取指令模板的基础上加入意图参数得到的。这里,搜索答案提取指令模板为结构化查询语言(structuredquerylanguage,sql)代码模板,搜索答案提取指令为结构化查询语言代码。需要说明的是,sql代码模板是预先设定好的。

150:当本次搜索语句对应的搜索答案提取指令中有一个搜索答案提取指令为用于从某次历史搜索答案数据中提取相关数据作为本次搜索答案数据指令,则根据本次搜索语句的搜索答案提取指令从某次历史搜索答案数据中提取本次搜索语句的其他搜索答案提取指令的搜索目标数据作为搜索答案数据,历史答案数据为预设动态数据库中的数据。

举例来说,假设用户的第一搜索语句为“长宁区的寄件记录”,则基于该第一搜索语句得到的搜索答案数据为长宁区的所有寄件记录的快递数据;接着,假设用户的第二搜索语句为“从以上记录中找出圆通的快递记录”,则从长宁区的所有寄件记录的快递数据中找到关于圆通的快递数据;进一步地,假设用户的第三搜索语句为“将以上记录按照日期进行降序排列”,则对所有圆通的快递数据按照日期进行降序排列。

在本发明实施例中,动态数据库可以包括至少一种表格,至少一种表格中的每种表格由表别名标识表别名对应的字段名,在搜索答案提取指令模板中包括表别名对应的字段名。例如,图书表、借书表、快递表等。至少一种表格中的每种表格由表别名标识,并且每种表格的表项至少包括表项名和表项名对应的字段名。需要说明的是,字段名即为sql代码,因此,搜索答案提取指令模板中也包括表别名对应的字段名(即sql代码)。具体地,以图书表为例,则图书表即为表格的表别名,表格的表项可以包括但不限于表项名、字段名、关联的表、关联的列、相关操作等。进一步地,表格中的表项名可以包括但不限于id、类型、价格和书名,表格中的字段名与表项名对应,即为id、type、price和name。

可选地,作为另一个实施例,动态数据库可以为外部数据库。具体地,可以通过固定接口实时调用第三方服务器(例如,圆通的服务器等)的数据库中的数据。

需要说明的是,各表格之间可以通过例如id等进行相互调用。具体地,以图书馆的图书借阅系统为例,假设图书借阅系统中存储有图书表、借书表和用户表,其中图书表用于管理图书的相关信息,借书表用于管理图书借阅的相关信息,用户表用于管理已注册用户的相关信息,则对于搜索语句“张三借的书”来说,意图参数为“[借书人]=张三”,sql指令最终需要获得的答案为:借书表中相应的书名和借书时间(不限于此,sql指令的目标数据为预设的),其在图书表中存储的信息可以包括但不限于id、书名、作者、出版日期、价格等,在借书表中存储的信息可以包括但不限于id、借阅人、借阅时间等,以及在用户表中存储的信息可以包括但不限于用户名、id、真实姓名、出生日期等。当李四借阅三国演义这本书时,图书借阅系统仅对借书表中的信息进行了更新,而并未对图书表和用户表进行更新,因此,可以通过调用id来获得图书表和用户表中的相关信息。

根据本发明实施例提供的技术方案,通过接收用户的搜索语句,对搜索语句进行语义匹配,得到至少两个意图,其中,至少两个意图中的每个意图包括知识库中与每个意图匹配的意图知识点和与匹配的意图知识点相关的意图参数,知识库包括多个意图知识点,多个意图知识点包括对应的多个搜索答案提取指令模板,根据与匹配的意图知识点相关的意图参数和匹配的意图知识点对应的搜索答案提取指令模板,得到搜索答案提取指令,根据本次搜索语句的搜索答案提取指令从所述某次历史搜索答案数据中提取对应数据作为搜索答案数据,历史答案数据为预设动态数据库中的数据,能够提高数据查询的效率及答案回复的准确率。

在本发明的另一个实施例中,120包括:121:将多个词语中的词语生成的至少两个词汇组合与知识库中的多个意图知识点进行相似度计算,得到匹配的至少两个意图知识点;122:获取至少两个意图知识点的搜索答案提取指令模板中所需的意图参数名;123:根据预设的分词词典从多个词语中获取属于特定的词类或命名实体的至少一个词语作为意图参数,其中特定的词类和/或命名实体与搜索答案提取指令模板中所需的意图参数名对应;以及124:根据至少两个意图知识点对应的搜索答案提取指令模板和意图参数得到至少两个意图。其中,搜索答案提取指令模板中所需的意图参数名为搜索答案提取指令模板中的相应的字段名对应的表项名和/或表别名。所述预设的分词词典中词类的同类词和/或命名实体的同类词包括所述动态数据库中对应所述表项名的数据。

进一步地123:根据预设的分词词典从多个词语中获取属于特定的词类和/或命名实体的至少一个词语作为意图参数,其中特定的词类和/或命名实体与搜索答案提取指令模板中所需的意图参数名对应。具体地,预设的分词词典中的词类和/或命名实体包括动态数据库中的表项名,预设的分词词典中词类的同类词和/或命名实体的同类词包括动态数据库中对应表项名的数据。这里,词类是按照词的语义进行划分的,把一组相关的词组织在一起形成一个树状结构的词类库,在这个树状结构中的任意一个非叶子结点都称作一个词类(广义词类),其中直接包含词的第一级词类称为狭义词类。命名实体是人名、机构名、地名以及其他所有以名称为标识的实体,也包括数字、日期、货币、地址等,在本实施例中,实体即指命名实体。

124:根据至少两个意图知识点对应的搜索答案提取指令模板和意图参数得到至少两个意图。

在本发明的另一个实施例中,121,得到匹配的至少两个意图知识点,包括:1211:将多个词语中的词语生成的至少两个词汇组合与知识库中的多个意图知识点的问句分别进行语义相似度计算,其中多个意图知识点中的每个意图知识点包括多个问句;1212:以及将语义相似度高于预设阈值且最高的意图知识点作为至少两个意图知识点;或者根据预设的分词词典对多个词语进行词类提取和/或命名实体识别,得到至少一个词类和/或至少一个命名实体;1213:分别将与所述词汇组合的至少一个词类和/或至少一个命名实体与知识库中的多个意图知识点的问句分别进行语义相似度计算;以及1214:将语义相似度高于预设阈值且最高的意图知识点作为至少两个意图对应的意图知识点。

具体地,将多个词语中的词语生成的至少两个词汇组合与知识库中预先存储的多个意图知识点的问句分别进行语义相似度计算,并将语义相似度高于预设阈值且最高的意图知识点作为至少两个意图知识点。这里,多个意图知识点的问句可以包括标准问和该标准问的至少一个扩展问,标准问可以为通过表达式形式的词类名与命名实体名的组合。

进一步地,语义相似度是指多个词语中的词语生成的至少两个词汇组合的语义信息与知识库中的多个预设的意图知识点和要素知识点之间基于字与词语上的匹配程度,以及语义的高度相似性。语义相似度计算可以采用基于向量空间模型(vectorspacemodel,vsm)的计算方法、基于隐形语义索引模型(latentsemanticindexing,lsi)的计算方法、基于属性论的语义相似度计算方法和基于汉明距离的语义相似度计算方法中的一种或多种方法的结合。需要说明的是,语义相似度计算方法还可以为其他的语义相似度的计算方法。

可选地,作为另一个实施例,根据预设的分词词典对多个词语进行词类提取和/或命名实体识别,得到至少一个词类和/或至少一个命名实体;进一步地,将至少一个词类和/或至少一个命名实体与知识库中的多个意图知识点的问句分别进行语义相似度计算;以及将语义相似度最高的意图知识点作为至少两个意图知识点。

在本发明的另一个实施例中,至少一种表格中的每种表格的表项至少包括表项名和表项名对应的字段名,其中表项名为预设的分词词典中的词类名和/或命名实体名,搜索答案提取指令模板中包括表项名对应的字段名,搜索答案提取指令模板为结构化查询语言代码模板。

具体地,以快递表为例,则该快递表的表项可以包括表项名、与该表项名对应的字段名、关联的表、关联的列、相关操作等。进一步地,表项名可以是寄件人姓名、寄件地址、寄件人电话、收件人姓名、收件地址、收件人电话、物品名称、物品重量等,字段名可以是与表项名对应的sql代码,例如,name、address、item、weight等。

需要说明的是,预设的分词词典的词类名和/或命名实体名即为表项名。

在本发明的另一个实施例中,至少两个意图知识点中还包括答案模板,该基于历史结果的多意图查询方法还包括:160:根据答案模板和搜索答案数据生成最终的搜索答案,其中答案模板中包括答案话术。

具体地,可以根据答案模板和搜索答案数据生成最终的搜索答案。这里,答案模板是指答案中陈述的一句带有问题内容的话,答案模板中可以包括答案话术。这里,答案话术为一句自然语言的话加搜索答案数据的形式,也可以为带有词类名或命名实体名的一句话加搜索答案数据的形式,其中的词类名或命名实体名需通过搜索语句中的相应词语替换作为最终的搜索答案。例如,用户的搜索语句为“张三借的书”。对应的意图知识点的标准问为“[借书人][书名]”,对应的答案话术可以为“[借书人]借的书为:(搜索答案数据)”,其中搜索答案数据可以通过搜索答案提取指令得到符合下面条件的数据“(借书表,[借书人]=张三,目标:[书名])”,“[借书人]借的书为”可以替换为“张三借的书为”,作为最终的搜索答案。

在本发明的另一个实施例中,还包括170:按照预设的时间间隔对动态数据库和预设分词词典中的数据进行更新,预设的分词词典中的词类和/或命名实体包括动态数据库中的表项名,预设的分词词典中词类的同类词和/或命名实体的同类词均包括动态数据库中对应表项名的数据。

具体地,可以按照预设的时间间隔(例如,一小时、一天、三天等)对动态数据库中的数据和预设分词词典中的数据进行更新。需要说明的是,预设的分词词典中的词类和/或命名实体可以包括动态数据库中的表项名,预设的分词词典中词类的同类词和/或命名实体的同类词可以包括动态数据库中对应表项名的数据。

上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。

图2是根据本发明另一示例性实施例示出的一种基于历史结果的多意图查询的流程图。如图2所示,该基于历史结果的多意图查询方法包括:

210:接收用户的搜索语句。

其中,该搜索语句包含至少两个意图。

在本发明实施例中,用户的搜索语句可以为自然语言语句、短语等形式。用户的搜索语句可以仅包含一个意图,也可以包含多个意图,本发明对此不作限制,其中,意图的具体内容见步骤120中解释,这里只从用户的搜索语句角度做解释。例如,用户的搜索语句为“查询收过美国快递的人”,则该搜索语句中仅包含一个意图“寄件国家为美国”。又如,用户的搜索语句为“优衣库快递给宝安区的记录”,则该搜索语句中包含两个意图“寄件单位为优衣库”和“收件地址为宝安区”。

需要说明的是,用户的搜索语句可以为文本消息、语音消息、图片消息、图像消息和视频消息中的一种或多种。此外,还需要说明的是,用户的搜索语句中可以包括标点符号,也可以不包括标点符号。

220:根据预设的分词规则和预设的分词词典对搜索语句进行分词处理,得到多个词语。

在本发明实施例中,根据预设的分词规则和预设的分词词典对用户的搜索语句进行分词处理,得到多个词语。这里,分词规则可以包括但不限于正向最大匹配法、逆向最大匹配法、逐词遍历法或词频统计法、最少切分法、双相匹配法等。分词处理可以采用双向最大匹配法、维特比算法、隐马尔可夫模型算法和条件随机场算法中的一种或多种。

需要说明的是,本发明对搜索语句进行处理的方式不限于分词处理,而是可以为其他适合的方式,例如,断句处理、词汇组合等。

230:将多个词语与知识库中的多个意图知识点进行相似度计算,得到匹配的至少两个意图知识点。

在本发明实施例中,将多个词语与知识库中的多个意图知识点的问句分别进行语义相似度计算,并将语义相似度最高的意图知识点作为至少两个意图知识点。这里,多个意图知识点中的每个意图知识点可以包括多个问句,多个问句中的每个问句可以包括标准问和与该标准问相关的至少一个扩展问,标准问可以为通过表达式形式的词类名与命名实体名的组合。

进一步地,语义相似度是指多个词语的语义信息与知识库中的多个预设的意图知识点和要素知识点之间基于字与词语上的匹配程度,以及语义的高度相似性。语义相似度计算可以采用基于向量空间模型的计算方法、基于隐形语义索引模型的计算方法、基于属性论的语义相似度计算方法和基于汉明距离的语义相似度计算方法中的一种或多种方法的结合。需要说明的是,语义相似度计算方法还可以为其他的语义相似度的计算方法。

可选地,作为另一个实施例,根据预设的分词词典对多个词语进行词类提取和/或命名实体识别,得到至少一个词类和/或至少一个命名实体;进一步地,将至少一个词类和/或至少一个命名实体与知识库中的多个意图知识点的问句分别进行语义相似度计算,并将语义相似度最高的意图知识点作为至少两个意图知识点。

240:根据与匹配的意图知识点相关的意图参数和匹配的意图知识点对应的搜索答案提取指令模板,得到搜索答案提取指令。

在本发明实施例中,搜索答案提取指令是在搜索答案提取指令模板的基础上加入意图参数得到的。这里,搜索答案提取指令模板为sql代码模板,搜索答案提取指令为sql代码。需要说明的是,sql代码模板是预先设定好的。

250:当本次搜索语句对应的搜索答案提取指令中有一个搜索答案提取指令为用于从某次历史搜索答案数据中提取相关数据作为本次搜索答案数据指令,则根据本次搜索语句的搜索答案提取指令从某次历史搜索答案数据中提取本次搜索语句的其他搜索答案提取指令的搜索目标数据作为搜索答案数据,历史答案数据为预设动态数据库中的数据。

在本发明实施例中,动态数据库可以为例如excel表的二维表,也可以为通过固定接口调用的外部数据库,本发明对此不作限制。

250:基于搜索答案数据和答案模板生成最终的搜索答案,并将该搜索答案呈现给用户。

在本发明实施例中,答案模板是指答案中陈述的一句带有问题内容的话,答案模板中可以包括答案话术。进一步地,可以以文本、语音等方式将搜索语句对应的搜索答案呈现给用户。

根据本发明实施例提供的技术方案,通过对用户的搜索语句进行语义匹配得到多意图,并基于多意图对应的搜索答案提取指令从某次历史搜索答案数据中提取本次搜索语句的其他搜索答案提取指令的搜索目标数据作为搜索答案数据,历史答案数据为预设动态数据库中的数据,能够提高数据查询的效率及答案回复的准确率,并因此提升用户体验。

下文将以书店的图书查询系统为例对上述基于历史结果的多意图查询进行详细描述。

具体地,图书查询系统接收用户的搜索语句“我想要查询大于10元的书”,并根据预设的分词规则和预设的分词词典通过去除前后缀、停用词等方法对上述搜索语句进行分词处理,得到两个词语“大于10元”和“书”。接着,将分词处理后的词语与知识库中预存的知识点进行语义相似度计算,得到上述搜索语句中的意图知识点为“[书]的价格>$[@人民币]”,意图参数为“价格>10元”。进一步地,基于意图和意图对应的搜索答案提取指令从动态数据库提取对应数据作为搜索答案数据,并基于搜索答案数据和答案模板生成最终的搜索答案,将该搜索答案以文本、语音等方式呈现给用户。

下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。

图3是根据本发明一示例性实施例示出的一种基于历史结果的多意图查询装置300的框图。如图3所示,该基于历史结果的多意图查询装置300包括:

接收模块310,用于接收用户的搜索语句;

分词模块320,用于根据预设的分词规则和预设的分词词典对搜索语句进行分词处理,得到多个词语;

匹配模块330,用于将多个词语对搜索语句进行语义匹配,得到至少两个意图,其中,至少两个意图中的每个意图包括知识库中与每个意图匹配的意图知识点和与匹配的意图知识点相关的意图参数,知识库包括多个意图知识点,预设的分词词典中的词类和/或命名实体与意图知识点相关的意图参数对应,多个意图知识点包括对应的多个搜索答案提取指令模板;

获取模块340,用于根据与匹配的意图知识点相关的意图参数和匹配的意图知识点对应的搜索答案提取指令模板,得到搜索答案提取指令。

数据提取模块350,用于当本次搜索语句对应的搜索答案提取指令中有一个搜索答案提取指令为用于从某次历史搜索答案数据中提取相关数据作为本次搜索答案数据指令,则根据本次搜索语句的搜索答案提取指令从某次历史搜索答案数据中提取本次搜索语句的其他搜索答案提取指令的搜索目标数据作为搜索答案数据,历史答案数据为预设动态数据库中的数据。

根据本发明实施例提供的技术方案,通过接收用户的搜索语句,对搜索语句进行语义匹配,得到至少两个意图,其中,至少两个意图中的每个意图包括知识库中与每个意图匹配的意图知识点和与匹配的意图知识点相关的意图参数,知识库包括多个意图知识点,多个意图知识点包括对应的多个搜索答案提取指令模板,根据与匹配的意图知识点相关的意图参数和匹配的意图知识点对应的搜索答案提取指令模板,得到搜索答案提取指令,根据本次搜索语句的搜索答案提取指令从某次历史搜索答案数据中提取对应数据作为搜索答案数据,历史答案数据为预设动态数据库中的数据,能够提高数据查询的效率及答案回复的准确率。

在本发明的另一个实施例中,匹配模块330包括:知识点匹配单元3301,用于将多个词语与知识库中的多个意图知识点进行相似度计算,得到匹配的至少两个意图知识点;意图参数名获取单元3302,用于获取至少两个意图知识点的搜索答案提取指令模板中所需的意图参数名;意图参数获取单元3303,用于根据预设的分词词典从多个词语中获取属于特定的词类或命名实体的至少一个词语作为意图参数,其中特定的词类和/或命名实体与搜索答案提取指令模板中所需的意图参数名对应;以及意图匹配单元3304,用于根据至少两个意图知识点对应的搜索答案提取指令模板和意图参数得到至少两个意图。其中,搜索答案提取指令模板中所需的意图参数名为搜索答案提取指令模板中的相应的字段名对应的表项名和/或表别名。预设的分词词典中词类的同类词和/或命名实体的同类词包括动态数据库中对应表项名的数据。

在本发明的另一个实施例中,预设的分词词典中的词类和/或命名实体包括动态数据库中的表项名,预设的分词词典中词类的同类词和/或命名实体的同类词包括动态数据库中对应表项名的数据。

在本发明的另一个实施例中,知识点匹配单元3301包括:第一相似度计算子单元,用于将多个词语与知识库中的多个意图知识点的问句分别进行语义相似度计算,其中多个意图知识点中的每个意图知识点包括多个问句;以及第一相似度比较子单元,用于将语义相似度最高的意图知识点作为至少两个意图知识点;或者,知识点匹配单元3202包括:预处理子单元,用于根据预设的分词词典对多个词语进行词类提取和/或命名实体识别,得到至少一个词类和/或至少一个命名实体;第二相似度计算子单元,用于将至少一个词类和/或至少一个命名实体与知识库中的多个意图知识点的问句分别进行语义相似度计算;以及第二相似度比较子单元,用于将语义相似度最高的意图知识点作为至少两个意图知识点。

在本发明的另一个实施例中,动态数据库包括至少一种表格,至少一种表格中的每种表格由表别名标识表别名对应的字段名,搜索答案提取指令模板中包括表别名对应的字段名。

在本发明的另一个实施例中,至少一种表格中的每种表格的表项至少包括表项名和表项名对应的字段名,其中表项名为预设的分词词典中的词类名和/或命名实体名,搜索答案提取指令模板中包括表项名对应的字段名,搜索答案提取指令模板为结构化查询语言代码模板。

在本发明的另一个实施例中,至少两个意图知识点中还包括答案模板,图3的基于历史结果的多意图查询装置300还包括:答案生成模块360,用于根据答案模板和搜索答案数据生成最终的搜索答案,其中答案模板中包括答案话术。

在本发明的另一个实施例中,搜索答案提取指令为结构化查询语言代码。

在本发明的另一个实施例中,图3的基于历史结果的多意图查询装置300还包括:更新模块370,用于按照预设的时间间隔对动态数据库和预设分词词典中的数据进行更新,预设的分词词典中的词类和/或命名实体包括动态数据库中的表项名,预设的分词词典中词类的同类词和/或命名实体的同类词均包括动态数据库中对应表项名的数据。

在本发明的另一个实施例中,搜索语句包括文本消息、语音消息、图片消息、图像消息和视频消息中的一种或多种,图3的基于历史结果的多意图查询装置300还包括:转换模块380,用于将搜索语句转换为文本消息。

上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

图4是根据本发明另一示例性实施例示出的一种基于历史结果的多意图查询装置400的框图。如图4所示,该基于历史结果的多意图查询装置400包括:

接收模块410,用于接收用户的搜索语句,该搜索语句包含至少两个意图;

处理模块420,用于根据预设的分词规则和预设的分词词典对搜索语句进行分词处理,得到多个词语;

计算模块430,用于将多个词语与知识库中的多个意图知识点进行相似度计算,得到匹配的至少两个意图知识点;

获取模块440,用于根据与匹配的意图知识点相关的意图参数和匹配的意图知识点对应的搜索答案提取指令模板,得到搜索答案提取指令;

提取模块450,用于当本次搜索语句对应的搜索答案提取指令中有一个搜索答案提取指令为用于从某次历史搜索答案数据中提取相关数据作为本次搜索答案数据指令,则根据本次搜索语句的搜索答案提取指令从某次历史搜索答案数据中提取本次搜索语句的其他搜索答案提取指令的搜索目标数据作为搜索答案数据;

答案生成模块460,用于基于搜索答案数据和答案模板生成最终的搜索答案,并将该搜索答案呈现给用户。

根据本发明实施例提供的技术方案,通过对用户的搜索语句进行语义匹配得到多意图,根据本次搜索语句的搜索答案提取指令从某次历史搜索答案数据中提取对应数据作为搜索答案数据,历史答案数据为预设动态数据库中的数据,能够提高数据查询的效率及答案回复的准确率,并因此提升用户体验。

图5是根据本发明一示例性实施例示出的用于数据查询的基于历史结果的多意图查询装置500的框图。

参照图5,装置500包括处理组件510,其进一步包括一个或多个处理器,以及由存储器520所代表的存储器资源,用于存储可由处理组件510的执行的指令,例如应用程序。存储器520中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件510被配置为执行指令,以执行上述多意图查询方法。

装置500还可以包括一个电源组件530被配置为执行装置500的电源管理,一个有线或无线网络接口540被配置为将装置500连接到网络,和一个输入输出(i/o)接口550。装置500可以操作基于存储在存储器520的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。

一种非临时性计算机可读存储介质,当存储介质中的指令由上述装置500的处理器执行时,使得上述装置500能够执行一种基于历史结果的多意图查询方法,包括:接收用户的搜索语句;对搜索语句进行语义匹配,得到至少两个意图,其中,至少两个意图中的每个意图包括知识库中与每个意图匹配的意图知识点和与匹配的意图知识点相关的意图参数,知识库包括多个意图知识点,多个意图知识点包括对应的多个搜索答案提取指令模板;根据与匹配的意图知识点相关的意图参数和匹配的意图知识点对应的搜索答案提取指令模板,得到搜索答案提取指令;以及根据搜索答案提取指令从动态数据库提取对应数据作为搜索答案数据。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序校验码的介质。

以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1