基于意图理解的数据检索方法和装置、设备及存储介质与流程

文档序号:18193942发布日期:2019-07-17 05:43阅读:190来源:国知局
基于意图理解的数据检索方法和装置、设备及存储介质与流程

本发明涉及人工智能领域,尤其涉及一种基于意图理解的数据检索方法和装置、设备及存储介质。



背景技术:

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

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

因此,如何通过自然语言形式的检索语句从动态的数据库中快速准确的检索到正确的数据是急需解决的问题。



技术实现要素:

有鉴于此,本发明的一个目的在于提供一种基于意图理解的数据检索方法和装置、计算机设备及计算机可读存储介质,能够提高数据检索查询的效率及答案回复的准确率。

本发明的一个方面提供一种基于意图理解的数据检索方法,包括:接收用户的检索语句;对检索语句进行语义匹配,得到至少一个意图,其中,至少一个意图中的每个意图包括知识库中与每个意图匹配的意图知识点和与匹配的意图知识点相关的至少一个检索条件参量,知识库包括多个意图知识点,多个意图知识点包括对应的多个检索答案提取指令模板;根据与匹配的意图知识点相关的至少一个检索条件参量和匹配的意图知识点对应的检索答案提取指令模板,得到检索答案提取指令,所述检索答案提取指令为结构化查询语言代码;以及根据检索答案提取指令从动态数据库提取对应数据作为检索答案数据,其中,所述动态数据库包括至少一种表格,所述至少一种表格中的每种表格由表别名标识,所述表别名对应的字段名,所述检索答案提取指令模板中包括所述表别名对应的字段名。

本发明的另一个方面提供一种基于意图理解的数据检索装置,包括:接收模块,用于接收用户的检索语句;匹配模块,用于对检索语句进行语义匹配,得到至少一个意图,其中,至少一个意图中的每个意图包括知识库中与每个意图匹配的意图知识点和与匹配的意图知识点相关的至少一个检索条件参量,知识库包括多个意图知识点,多个意图知识点包括对应的多个检索答案提取指令模板;获取模块,用于根据与匹配的意图知识点相关的至少一个检索条件参量和匹配的意图知识点对应的检索答案提取指令模板,得到检索答案提取指令;以及数据提取模块,用于根据检索答案提取指令从动态数据库提取对应数据作为检索答案数据,其中,所述动态数据库包括至少一种表格,所述至少一种表格中的每种表格由表别名标识,所述表别名对应的字段名,所述检索答案提取指令模板中包括所述表别名对应的字段名。

本发明的再一个方面提供一种计算机设备,包括:存储器、处理器及存储在存储器中并可在处理器中运行的可执行指令,处理器执行可执行指令时实现如上所述的任一种基于意图理解的数据检索方法。

本发明的又一个方面提供一种计算机可读存储介质,其上存储有计算机可执行指令,可执行指令被处理器执行时实现如上所述的任一种基于意图理解的数据检索方法。

根据本发明实施例提供的技术方案,通过接收用户的检索语句,对检索语句进行语义匹配,得到至少一个意图,其中,至少一个意图中的每个意图包括知识库中与每个意图匹配的意图知识点和与匹配的意图知识点相关的至少一个检索条件参量,知识库包括多个意图知识点,多个意图知识点包括对应的多个检索答案提取指令模板,根据与匹配的意图知识点相关的至少一个检索条件参量和匹配的意图知识点对应的检索答案提取指令模板,得到检索答案提取指令,根据检索答案提取指令从动态数据库提取对应数据作为检索答案数据,能够提高数据检索查询的效率及答案回复的准确率,其中根据检索答案提取指令模板和相应的检索条件参量可以同步获取到对应的动态数据库的表格数据,对动态数据库的表格数据更新维护与检索答案提取指令模板同步,更有助于检索数据的效率及准确率。

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

附图说明

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

图1是根据本发明一示例性实施例示出的一种基于意图理解的数据检索方法的流程图。

图2是根据本发明另一示例性实施例示出的一种基于意图理解的数据检索方法的流程图。

图3是根据本发明一示例性实施例示出的一种基于意图理解的数据检索装置的框图。

图4是根据本发明另一示例性实施例示出的一种基于意图理解的数据检索装置的框图。

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

具体实施方式

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

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

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

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

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

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

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

120:对检索语句进行语义匹配,得到至少一个意图。

其中,至少一个意图中的每个意图包括知识库中与每个意图匹配的意图知识点和与匹配的意图知识点相关的至少一个检索条件参量,知识库包括多个意图知识点,多个意图知识点包括对应的多个检索答案提取指令模板。

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

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

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

130:根据与匹配的意图知识点相关的至少一个检索条件参量和匹配的意图知识点对应的检索答案提取指令模板,得到检索答案提取指令,检索答案提取指令为结构化查询语言代码。

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

140:根据检索答案提取指令从动态数据库提取对应数据作为检索答案数据,其中,所述动态数据库包括至少一种表格,所述至少一种表格中的每种表格由表别名标识所述表别名对应的字段名,所述检索答案提取指令模板中包括所述表别名对应的字段名。

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

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

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

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

在本发明的另一个实施例中,对检索语句进行语义匹配,得到至少一个意图,包括:根据预设的分词规则和预设的分词词典对检索语句进行分词处理,得到多个词语;将多个词语与知识库中的多个意图知识点进行相似度计算,得到匹配的至少一个意图知识点;获取至少一个意图知识点的检索答案提取指令模板中所需的检索条件参量名;根据预设的分词词典从多个词语中获取属于特定的词类或命名实体的至少一个词语作为检索条件参量,其中特定的词类和/或命名实体与检索答案提取指令模板中所需的检索条件参量名对应;以及根据至少一个意图知识点对应的检索答案提取指令模板和检索条件参量得到至少一个意图。其中,检索答案提取指令模板中所需的检索条件参量名为检索答案提取指令模板中的相应的字段名对应的表项名和/或表别名。

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

进一步地,在对多个词语进行相似度计算之前,可以先对多个词语进行过滤处理,得到至少一个关键词。过滤处理采用的方法可以为根据词性等对多个词语进行过滤,去除前后缀;也可以为根据频次对多个词语进行过滤,去除停用词;或者还可以先去除前后缀、再去除停用词等,本发明对此不作限制。这里,去除停用词是指去除检索语句中识别意义不大但出现频率高的词,例如,“这”、“的”、“和”等,这些词在计算相似度的过程中会引入较大的误差,可以看成是一种噪音。需要说明的是,过滤处理还可以去除部分无意义词语,例如,“我”、“想”、“吗”等。

接着,将至少一个关键词与知识库中预先存储的多个意图知识点进行相似度计算,得到匹配的至少一个意图知识点,并基于匹配的至少一个意图知识点获取该至少一个意图知识点对应的检索答案提取指令模板中所需的检索条件参量名。

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

最后,根据至少一个意图知识点对应的检索答案提取指令模板和检索条件参量得到至少一个意图。

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

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

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

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

在本发明的另一个实施例中,根据检索答案提取指令从动态数据库提取对应数据作为检索答案数据,包括:如果至少一个意图的数量为大于1的整数,则根据至少一个意图获取至少一个意图中的每个意图对应的检索答案提取指令;根据检索答案提取指令从动态数据库提取对应数据作为每个意图对应的搜索数据;以及对每个意图对应的搜索数据做交集,并将交集数据作为检索答案数据。

具体地,对于包含两个或更多个意图的检索语句,获取两个或更多个意图中的每个意图对应的检索答案提取指令,并根据该检索答案提取指令从动态数据库中提取对应数据作为搜索数据。接着,对所提取的搜索数据做交集,并将做交集后得到的数据作为检索答案数据。

举例来说,假设用户的检索语句为“优衣库快递给宝安区的记录”,则通过对该检索语句进行语义匹配,得到两个意图分别为“寄件单位为优衣库的快递记录”和“收件地址为宝安区的快递记录”;接着,根据上述两个意图中的每个意图对应的检索答案提取指令从动态数据库中分别提取“寄件单位为优衣库”的快递数据和“收件地址为宝安区”的快递数据;进一步地,对上述两组快递数据做交集,并将做交集后得到的快递数据作为检索答案数据。

在本发明的另一个实施例中,根据检索答案提取指令从动态数据库提取对应数据作为检索答案数据,包括:当本次检索语句对应的检索答案提取指令中有一个检索答案提取指令为用于从某次历史检索答案数据中提取相关数据作为本次检索答案数据指令,则根据本次检索语句的检索答案提取指令从某次历史检索答案数据中提取本次检索语句的其他检索答案提取指令的搜索目标数据作为检索答案数据。

具体地,当检索答案提取指令包括不止一个,且如果对本次检索语句对应的检索答案提取指令中有至少一个检索答案提取指令为用于从上次历史检索答案数据中提取相关数据作为本次检索答案数据指令,则根据本次检索语句的检索答案提取指令从上次历史检索答案数据中提取本次检索语句的其他检索答案提取指令的搜索目标数据作为检索答案数据。

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

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

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

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

在本发明的另一个实施例中,至少一个意图知识点中还包括答案模板,该基于意图理解的数据检索方法还包括:根据答案模板和检索答案数据生成最终的搜索答案,其中答案模板中包括答案话术。

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

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

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

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

图2是根据本发明另一示例性实施例示出的一种基于意图理解的数据检索方法的流程图。如图2所示,该基于意图理解的数据检索方法包括:

210:接收用户的检索语句,该检索语句包含至少一个意图。

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

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

220:对检索语句进行分词处理,得到多个词语。

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

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

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

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

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

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

240:根据匹配的至少一个意图知识点对应的检索答案提取指令模板和与匹配的至少一个意图知识点相关的检索条件参量,得到检索答案提取指令,所述检索答案提取指令为结构化查询语言代码。

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

250:根据检索答案提取指令从动态数据库提取对应数据作为至少一个意图中的每个意图对应的搜索数据。

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

260:对每个意图对应的搜索数据做交集,并将交集数据作为检索答案数据。

在本发明实施例中,对每个意图对应的搜索数据取交集,并将取交集后得到的数据作为检索答案数据。

具体地,假设用户的检索语句为“优衣库快递给宝安区的记录”,则通过对该检索语句进行语义匹配,得到两个意图分别为“寄件单位为优衣库的快递记录”和“收件地址为宝安区的快递记录”;接着,根据上述两个意图中的每个意图对应的检索答案提取指令从动态数据库中分别提取“寄件单位为优衣库”的快递数据和“收件地址为宝安区”的快递数据;进一步地,对上述两组快递数据做交集,并将做交集后得到的快递数据作为检索答案数据。

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

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

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

下文将以书店的图书查询系统为例对上述基于意图理解的数据检索方法进行详细描述。

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

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

图3是根据本发明一示例性实施例示出的一种基于意图理解的数据检索装置300的框图。如图3所示,该基于意图理解的数据检索装置300包括:

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

匹配模块320,用于对检索语句进行语义匹配,得到至少一个意图,其中,至少一个意图中的每个意图包括知识库中与每个意图匹配的意图知识点和与匹配的意图知识点相关的至少一个检索条件参量,知识库包括多个意图知识点,多个意图知识点包括对应的多个检索答案提取指令模板;

获取模块330,用于根据与匹配的意图知识点相关的至少一个检索条件参量和匹配的意图知识点对应的检索答案提取指令模板,得到检索答案提取指令,所述检索答案提取指令为结构化查询语言代码;以及

数据提取模块340,用于根据检索答案提取指令从动态数据库提取对应数据作为检索答案数据,其中,所述动态数据库包括至少一种表格,所述至少一种表格中的每种表格由表别名标识所述表别名对应的字段名,所述检索答案提取指令模板中包括所述表别名对应的字段名。

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

在本发明的另一个实施例中,匹配模块320包括:分词单元3201,用于根据预设的分词规则和预设的分词词典对检索语句进行分词处理,得到多个词语;知识点匹配单元3202,用于将多个词语与知识库中的多个意图知识点进行相似度计算,得到匹配的至少一个意图知识点;检索条件参量名获取单元3203,用于获取至少一个意图知识点的检索答案提取指令模板中所需的检索条件参量名;检索条件参量获取单元3204,用于根据预设的分词词典从多个词语中获取属于特定的词类或命名实体的至少一个词语作为检索条件参量,其中特定的词类和/或命名实体与检索答案提取指令模板中所需的检索条件参量名对应;以及意图匹配单元3205,用于根据至少一个意图知识点对应的检索答案提取指令模板和检索条件参量得到至少一个意图。

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

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

在本发明的另一个实施例中,数据提取模块340包括:指令获取单元3401,用于如果至少一个意图的数量为大于1的整数,则根据至少一个意图获取至少一个意图中的每个意图对应的检索答案提取指令;数据搜索单元3402,用于根据检索答案提取指令从动态数据库提取对应数据作为每个意图对应的搜索数据;以及交集单元3403,用于对每个意图对应的搜索数据做交集,并将交集数据作为检索答案数据。

在本发明的另一个实施例中,数据提取模块340具体用于:当本次检索语句对应的检索答案提取指令中有一个检索答案提取指令为用于从某次历史检索答案数据中提取相关数据作为本次检索答案数据指令,则根据本次检索语句的检索答案提取指令从某次历史检索答案数据中提取本次检索语句的其他检索答案提取指令的搜索目标数据作为检索答案数据。

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

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

在本发明的另一个实施例中,至少一个意图知识点中还包括答案模板,图3的基于意图理解的数据检索装置300还包括:答案生成模块350,用于根据答案模板和检索答案数据生成最终的搜索答案,其中答案模板中包括答案话术。

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

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

在本发明的另一个实施例中,检索语句包括文本消息、语音消息、图片消息、图像消息和视频消息中的一种或多种,图3的基于意图理解的数据检索装置300还包括:转换模块370,用于将检索语句转换为文本消息。

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

图4是根据本发明另一示例性实施例示出的一种基于意图理解的数据检索装置400的框图。如图4所示,该基于意图理解的数据检索装置400包括:

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

处理模块420,用于对检索语句进行分词处理,得到多个词语;

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

获取模块440,用于根据匹配的至少一个意图知识点对应的检索答案提取指令模板和与匹配的至少一个意图知识点相关的检索条件参量,得到检索答案提取指令;

提取模块450,用于根据检索答案提取指令从动态数据库提取对应数据作为至少一个意图中的每个意图对应的搜索数据;

交集模块460,用于对每个意图对应的搜索数据做交集,并将交集数据作为检索答案数据;以及

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

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

图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