用户问句与知识点的匹配方法和装置
技术领域
本说明书一个或多个实施例涉及计算机领域,尤其涉及用户问句与知识点的匹配方法和装置。
背景技术
在智能客服的问答系统中,客户在与机器人交互过程中用户问句语言口语化、简略化,提升客服机器人对用户问句与知识点匹配的能力和效果对整个问答系统十分关键,直接影响问答系统的服务体验。
传统的问答系统中,通常是采用计算输入文本和目标文本之间的文本相似度的方式来完成用户问句与知识点的匹配。常用的计算文本相似度的算法包括:基于关键词匹配的算法(例如,N-gram相似度算法、Jaccard相似度算法),基于向量空间的算法(例如,Word2vec算法、TF-IDF算法),基于深度学习的算法(例如,深度学习算法、DSSM算法)等。
用户问句通常为多样化、口语化的表述,例如,以下的几种情形:
用户输入的词,是非常用词。如:“心脏支架的费用报销不?”中“心脏支架”就是非常用词,可能知识库中不包含该词。
口语化描述,如:“蚂蚁借呗啷个还哦”。
长句描述,如“我女儿3岁,没有身份证号,可以投保吗?”。
输入有错别字,如“蚂蚁借贝怎么还款”。
由于用户问句多样化、口语化的表述,通过上述这些计算文本相似度的算法可能会导致文本相似度计算不准确,相应的,用户问句与知识点的匹配效果不佳,导致用户问句无法匹配到知识点,或者用户问句匹配到错误的知识点。
因此,希望能有改进的方案,能够提升用户问句与知识点的匹配效果。
发明内容
本说明书一个或多个实施例描述了一种用户问句与知识点的匹配方法和装置,能够提升用户问句与知识点的匹配效果。
第一方面,提供了一种用户问句与知识点的匹配方法,方法基于业务导图进行,所述业务导图包括按照业务维度整理为树状层级结构的多个节点,每个节点对应一个关键词以及该关键词的关联表达,所述业务导图的根节点代表具有特定业务类型的业务,所述业务导图的叶节点挂载与该叶节点的关键词相关联的知识点,方法包括:
根据用户问句和预先训练的第一自然语言处理模型,得到第一匹配节点集合,所述第一匹配节点集合包括所述用户问句与所述业务导图匹配的节点;
判断所述第一匹配节点集合是否能够匹配到所述业务导图的任一链路;
当判断出所述第一匹配节点集合不能够匹配到所述业务导图的任一链路时,根据所述用户问句的至少一部分在互联网中搜索,获取至少一条扩展信息;
根据所述至少一条扩展信息和所述第一自然语言处理模型,得到第二匹配节点集合,所述第二匹配节点集合包括所述扩展信息与所述业务导图匹配的节点;
判断所述第一匹配节点集合和所述第二匹配节点集合的并集是否能够匹配到所述业务导图的任一链路;
当判断出所述第一匹配节点集合和所述第二匹配节点集合的并集能够匹配到所述业务导图的任一链路时,将该链路的叶节点作为与所述用户问句匹配的叶节点,以输出挂载在该叶节点的知识点。
在一种可能的实施方式中,所述根据用户问句和预先训练的第一自然语言处理模型,得到第一匹配节点集合之前,所述方法还包括:
根据所述用户问句和预先训练的第二自然语言处理模型,确定所述用户语句为具有业务述求的非闲聊语句。
在一种可能的实施方式中,所述判断所述第一匹配节点集合是否能够匹配到所述业务导图的任一链路之后,所述方法还包括:
当判断出所述第一匹配节点集合能够匹配到所述业务导图的任一链路时,将该链路的叶节点作为与所述用户问句匹配的叶节点,以输出挂载在该叶节点的知识点。
在一种可能的实施方式中,所述根据所述用户问句的至少一部分在互联网中搜索,获取至少一条扩展信息,包括:
获取所述用户问句中的未能匹配到节点的未识别文字;
根据所述用户问句和所述未识别文字在互联网中搜索,获取至少一条扩展信息。
在一种可能的实施方式中,所述根据所述用户问句的至少一部分在互联网中搜索,获取至少一条扩展信息,包括:
根据所述用户问句的至少一部分,采用预设搜索方式在互联网中搜索,得到第一数目条扩展信息;
从所述第一数目条扩展信息中,按照排序选取与该预设搜索方式相对应的前预设阈值数目条扩展信息,从而获取至少一条扩展信息。
在一种可能的实施方式中,所述根据所述至少一条扩展信息和所述第一自然语言处理模型,得到第二匹配节点集合,所述第二匹配节点集合包括所述扩展信息与所述业务导图匹配的节点,包括:
根据所述至少一条扩展信息中的每条扩展信息和所述第一自然语言处理模型,将所述扩展信息与所述业务导图中的各个节点进行匹配;
至少根据是否匹配出相应节点,得到每条扩展信息的分值;
根据每条扩展信息的分值,确定所述至少一条扩展信息的综合评分;
当所述综合评分符合预设条件时,将所述匹配出的相应节点加入所述第二匹配节点集合。
在一种可能的实施方式中,所述判断所述第一匹配节点集合和所述第二匹配节点集合的并集是否能够匹配到所述业务导图的任一链路之后,所述方法还包括:
当判断出所述第一匹配节点集合和所述第二匹配节点集合的并集不能够匹配到所述业务导图的任一链路时,输出反问问句,以使用户根据所述反问问句进行缺失信息的补充。
第二方面,提供了一种用户问句与知识点的匹配装置,装置基于业务导图进行,所述业务导图包括按照业务维度整理为树状层级结构的多个节点,每个节点对应一个关键词以及该关键词的关联表达,所述业务导图的根节点代表具有特定业务类型的业务,所述业务导图的叶节点挂载与该叶节点的关键词相关联的知识点,装置包括:
节点匹配单元,用于根据用户问句和预先训练的第一自然语言处理模型,得到第一匹配节点集合,所述第一匹配节点集合包括所述用户问句与所述业务导图匹配的节点;
链路匹配单元,用于判断所述节点匹配单元得到的第一匹配节点集合是否能够匹配到所述业务导图的任一链路;
搜索单元,用于当所述链路匹配单元判断出所述第一匹配节点集合不能够匹配到所述业务导图的任一链路时,根据所述用户问句的至少一部分在互联网中搜索,获取至少一条扩展信息;
所述节点匹配单元,还用于根据所述搜索单元获取的至少一条扩展信息和所述第一自然语言处理模型,得到第二匹配节点集合,所述第二匹配节点集合包括所述扩展信息与所述业务导图匹配的节点;
所述链路匹配单元,还用于判断所述第一匹配节点集合和所述第二匹配节点集合的并集是否能够匹配到所述业务导图的任一链路;
知识点匹配单元,用于当所述链路匹配单元判断出所述第一匹配节点集合和所述第二匹配节点集合的并集能够匹配到所述业务导图的任一链路时,将该链路的叶节点作为与所述用户问句匹配的叶节点,以输出挂载在该叶节点的知识点。
第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
通过本说明书实施例提供的方法和装置,首先根据用户问句和预先训练的第一自然语言处理模型,得到第一匹配节点集合,所述第一匹配节点集合包括所述用户问句与所述业务导图匹配的节点;然后判断所述第一匹配节点集合是否能够匹配到所述业务导图的任一链路;当判断出所述第一匹配节点集合不能够匹配到所述业务导图的任一链路时,根据所述用户问句的至少一部分在互联网中搜索,获取至少一条扩展信息;再根据所述至少一条扩展信息和所述第一自然语言处理模型,得到第二匹配节点集合,所述第二匹配节点集合包括所述扩展信息与所述业务导图匹配的节点;判断所述第一匹配节点集合和所述第二匹配节点集合的并集是否能够匹配到所述业务导图的任一链路;当判断出所述第一匹配节点集合和所述第二匹配节点集合的并集能够匹配到所述业务导图的任一链路时,将该链路的叶节点作为与所述用户问句匹配的叶节点,以输出挂载在该叶节点的知识点。由上可见,本说明书实施例中,一方面,基于业务导图进行知识点匹配的方式,能够通过调整业务导图来影响知识点匹配的结果,充分发挥运营人员的知识能力;另一方面,在用户问句无法匹配到知识导图的任一链路时,通过互联网获取扩展信息,通过扩展信息和用户问句相结合与知识导图进行匹配,从而能够提升用户问句与知识点的匹配效果。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2示出根据一个实施例的用户问句与知识点的匹配方法流程图;
图3示出根据另一个实施例的用户问句与知识点的匹配方法流程图;
图4为本说明书实施例提供的一种结合互联网信息做节点识别的方法流程图;
图5示出根据一个实施例的通过搜索引擎获取扩展信息示意图;
图6示出根据一个实施例的用户问句与知识点的匹配装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。该实施场景涉及用户问句与知识点的匹配,具体地,基于预先建立的业务导图进行用户问句与知识点的匹配。参照图1,业务导图100包括按照业务维度整理为树状层级结构的多个节点(例如,节点11、节点12、节点13、节点14),这些节点也可以称为“语义节点”。每个节点对应一个关键词以及该关键词的关联表达,例如,节点11对应的关键词为“余额宝”,节点12对应的关键词为“退款”,节点13对应的关键词为“查询”,节点14对应的关键词为“how”。其中,每个关键词可以具有一个或多个关联表达,关联表达包含同义表达、蕴含表达、上下位词等,例如,关键词“how”可以具有关联表达“如何”。每个语义节点都可配置其关联表达,关键词及其关联表达的配置是根据用户问句识别到节点的匹配关键。所述业务导图的根节点代表具有特定业务类型的业务,例如,节点11为根节点,代表了一项具体的业务“余额宝”。所述业务导图的叶节点挂载与该叶节点的关键词相关联的知识点,例如,节点14为叶节点,该叶节点的关键词为“how”,该叶节点挂载了知识点15“如何查询余额宝退款”。
业务导图是运营人员梳理出来的树状结构,以层级的形式组织知识库的各项知识点。通过将用户问句匹配到各个“语义节点”,推导出用户需要的答案。在业务导图的构建过程中,“语义节点”会出现概念性或者领域性描述,如:“疾病”、“满意”等。在进行“关联表达”配置时,很难穷举所有“疾病”,也很难穷举所有“满意”的表达方式。例如,用户输入的词,是非常用词。如:“心脏支架的费用报销不?”中“心脏支架”就是非常用词,可能节点的关联表达中不包含该词。这样在“语义节点”匹配时,可能会发生错漏。
本说明书实施例中,业务导图的结构、节点对应的关键词及关联表达均可修改、调整,给了运营人员编辑调整知识库以很大的便利性。此外,引入互联网上的信息辅助进行“语义节点”匹配,通过信息扩充来增加用户问句的可识别性。
图2示出根据一个实施例的用户问句与知识点的匹配方法流程图,所述方法基于业务导图进行,所述业务导图包括按照业务维度整理为树状层级结构的多个节点,每个节点对应一个关键词以及该关键词的关联表达,所述业务导图的根节点代表具有特定业务类型的业务,所述业务导图的叶节点挂载与该叶节点的关键词相关联的知识点。如图2所示,该实施例中用户问句与知识点的匹配方法包括以下步骤:步骤21,根据用户问句和预先训练的第一自然语言处理模型,得到第一匹配节点集合,所述第一匹配节点集合包括所述用户问句与所述业务导图匹配的节点;步骤22,判断所述第一匹配节点集合是否能够匹配到所述业务导图的任一链路;步骤23,当判断出所述第一匹配节点集合不能够匹配到所述业务导图的任一链路时,根据所述用户问句的至少一部分在互联网中搜索,获取至少一条扩展信息;步骤24,根据所述至少一条扩展信息和所述第一自然语言处理模型,得到第二匹配节点集合,所述第二匹配节点集合包括所述扩展信息与所述业务导图匹配的节点;步骤25,判断所述第一匹配节点集合和所述第二匹配节点集合的并集是否能够匹配到所述业务导图的任一链路;步骤26,当判断出所述第一匹配节点集合和所述第二匹配节点集合的并集能够匹配到所述业务导图的任一链路时,将该链路的叶节点作为与所述用户问句匹配的叶节点,以输出挂载在该叶节点的知识点。下面描述以上各个步骤的具体执行方式。
首先在步骤21,根据用户问句和预先训练的第一自然语言处理模型,得到第一匹配节点集合,所述第一匹配节点集合包括所述用户问句与所述业务导图匹配的节点。可以理解的是,所述第一匹配节点集合中包括的节点数目可以为一个或多个。
在一个示例中,先对用户问句进行分词、同义词识别、去停用词处理,并经过一个实体识别处理,识别出例如支付宝相关业务词等等实体。并对“昨天/早上”,“50000元/3000块钱”等进行时间、金额等做归一化改写。然后将处理后的用户问句作为第一自然语言处理模型的输入,将第一自然语言处理模型的输出作为第一匹配节点集合。
上述第一自然语言处理模型可以是采用计算输入文本和目标文本之间的文本相似度的方式来完成用户问句与语义节点的匹配。常用的计算文本相似度的算法包括:基于关键词匹配的算法(例如,N-gram相似度算法、Jaccard相似度算法),基于向量空间的算法(例如,Word2vec算法、TF-I DF算法),基于深度学习的算法(例如,深度学习算法、DSSM算法)等。
可选地,在步骤21之前,还可以先根据所述用户问句和预先训练的第二自然语言处理模型,确定所述用户语句为具有业务述求的非闲聊语句。
可以理解的是,如果确定所述用户语句为闲聊语句,则无需进行语义节点的识别。
接着在步骤22,判断所述第一匹配节点集合是否能够匹配到所述业务导图的任一链路。作为示例,可以通过判断所述第一匹配节点集合是否包括所述业务导图的一个链路的全部或部分语义节点,来确定所述第一匹配节点集合是否能够匹配到所述业务导图的该链路。
参照图1,举例来说,节点“how”+“查询”+“余额宝”+“退款”构成一个完整链路,其中,“基本操作”是一个虚拟节点,可以省略;而节点“退款”+“查询”不构成一个完整链路,缺失核心业务词。
当步骤22判断出所述第一匹配节点集合能够匹配到所述业务导图的任一链路时,将该链路的叶节点作为与所述用户问句匹配的叶节点,以输出挂载在该叶节点的知识点。
本说明书实施例中,主要针对步骤22判断出所述第一匹配节点集合不能够匹配到所述业务导图的任一链路这一情况进行说明,参见步骤23至步骤26。
然后在步骤23,当判断出所述第一匹配节点集合不能够匹配到所述业务导图的任一链路时,根据所述用户问句的至少一部分在互联网中搜索,获取至少一条扩展信息。
在一个示例中,获取所述用户问句中的未能匹配到节点的未识别文字;根据所述用户问句和所述未识别文字在互联网中搜索,获取至少一条扩展信息。
此外,也可以仅根据所述用户问句或所述未识别文字在互联网中搜索,获取至少一条扩展信息。
在一个示例中,根据所述用户问句的至少一部分,采用预设搜索方式在互联网中搜索,得到第一数目条扩展信息;从所述第一数目条扩展信息中,按照排序选取与该预设搜索方式相对应的前预设阈值数目条扩展信息,从而获取至少一条扩展信息。
上述预设搜索方式包括但不限于:搜索引擎、门户网站、爬虫技术等能够获取互联网信息的任一方式。
本说明书实施例中,可以综合运用多种搜索方式在互联网中搜索,也就是说,设置多个预设搜索方式,每种预设搜索方式设置对应的预设阈值。
再在步骤24,根据所述至少一条扩展信息和所述第一自然语言处理模型,得到第二匹配节点集合,所述第二匹配节点集合包括所述扩展信息与所述业务导图匹配的节点。
在一个示例中,根据所述至少一条扩展信息中的每条扩展信息和所述第一自然语言处理模型,将所述扩展信息与所述业务导图中的各个节点进行匹配;至少根据是否匹配出相应节点,得到每条扩展信息的分值;根据每条扩展信息的分值,确定所述至少一条扩展信息的综合评分;当所述综合评分符合预设条件时,将所述匹配出的相应节点加入所述第二匹配节点集合。
举例来说,假如有10条扩展信息,对于匹配出节点A的扩展信息,该扩展信息的分值记为1分,对于未匹配出节点A的扩展信息,该扩展信息的分值记为0分,可以预先设定综合评分的最低分数,例如最低分数为3分。最后如果仅有2条扩展信息匹配出节点A,即综合评分为2分,由于综合评分小于最低分数,则不能将节点A加入所述第二匹配节点集合;最后如果有6条扩展信息匹配出节点A,即综合评分为6分,由于综合评分大于最低分数,则将节点A加入所述第二匹配节点集合。
接着在步骤25,判断所述第一匹配节点集合和所述第二匹配节点集合的并集是否能够匹配到所述业务导图的任一链路。作为示例,可以通过判断所述第一匹配节点集合和所述第二匹配节点集合的并集是否包括所述业务导图的一个链路的全部或部分语义节点,来确定所述并集是否能够匹配到所述业务导图的该链路。
参照图1,举例来说,第一匹配节点集合包括节点“how”+“查询”+“退款”,第二匹配节点集合包括节点“余额宝”,则并集节点“how”+“查询”+“余利宝”+“退款”构成一个完整链路;而第一匹配节点集合包括节点“退款”,第二匹配节点集合包括节点“查询”,则并集节点“退款”+“查询”不构成一个完整链路,缺失核心业务词。
最后在步骤26,当判断出所述第一匹配节点集合和所述第二匹配节点集合的并集能够匹配到所述业务导图的任一链路时,将该链路的叶节点作为与所述用户问句匹配的叶节点,以输出挂载在该叶节点的知识点。
在一个示例中,当判断出所述第一匹配节点集合和所述第二匹配节点集合的并集不能够匹配到所述业务导图的任一链路时,输出反问问句,以使用户根据所述反问问句进行缺失信息的补充。
通过本说明书实施例提供的方法,一方面,基于业务导图进行知识点匹配的方式,能够通过调整业务导图来影响知识点匹配的结果,充分发挥运营人员的知识能力;另一方面,在用户问句无法匹配到知识导图的任一链路时,通过互联网获取扩展信息,通过扩展信息和用户问句相结合与知识导图进行匹配,从而能够提升用户问句与知识点的匹配效果。
下面通过一个更为具体的实施例来说明用户问句与知识点的匹配方法。
图3示出根据另一个实施例的用户问句与知识点的匹配方法流程图,所述方法基于业务导图进行,例如,图1所示的业务导图,该方法包括:
步骤31:进入客服系统的用户问句会进行分词、同义词、去停用词处理,并经过一个实体识别处理,识别出例如支付宝相关业务词等等实体。并对“昨天/早上”,“50000元/3000块钱”等进行时间、金额等做归一化改写。
步骤32:使用自然语言处理相关模型进行闲聊识别。
第32.a步:如果识别出“你好”,“好的,知道了”等无业务述求的闲聊语句,做对应的闲聊输出。
第32.b步:“非闲聊”则进入步骤33。
步骤33:使用自然语言处理相关模型识别出语义节点。例如:“如何查询余利宝退款”,那么会识别出“how”、“查询”、“余额宝”、“退款”等语义节点,并对每个语义节点的匹配进行打分。
步骤34:使用所有找到的节点,查询其在业务导图中能够构成的完整的链路。如图1中所示:“how”+“查询”+“余额宝”+“退款”构成一个完整链路,“基本操作”是一个虚拟节点,可以省略;而“退款”+“查询”不构成一个完整链路,缺失核心业务词。如构成完整链路则输出该语义节点挂载的知识点结果信息。
第34.a步:如果为完整链路,输出其链路人工配置的知识点。
第34.b步:如果不构成完整链路,进入步骤35。
步骤35:当步骤34确定不能构成完成链路时,尝试使用搜索引擎等互联网工具做信息扩充,以增加用户问句被识别的可能性。
图4为本说明书实施例提供的一种结合互联网信息做节点识别的方法流程图,也就是步骤35的具体执行流程图,具体包括:
第35.1步:获取a完整问句,步骤34的识别结果,以及b问句未能被识别部分的文字信息。
第35.2步:将“完整问句”和“未识别文字”做信息扩充,获取互联网信息。方法包括但不限于以下:
调用搜索引擎,获取问句的top k(例如k=5)个结果;
调用百科搜索引擎,获取问句的第一条百科的内容描述;
第35.3步:将获取的互联网信息,使用自然语言处理相关模型识别出语义节点。
第35.4步:将多个来源的互联网信息进行综合评分。例如取所有来源分别打分的均值。
第35.5步:输出匹配到的语义节点以及其评分。
步骤36:与步骤34类似,使用所有找到的节点,查询其在业务导图中能够构成的完整的链路。
第36.a步:如果为完整链路,输出其链路人工配置的知识点。
第36.b步:如果不构成完整链路,则认为无法识别,通过反问做缺失信息的填充或者输出“致歉语”告知用户机器人无法理解用户的输入。
实际案例举例:
用户输入(即用户问句):“我做了心脏搭桥,好医保能报不?”
首先对该用户问句做分词等处理,接着识别出有“好医保”等业务词,走“非闲聊”分支,然后识别出“好医保”、“can_or_not”、“保险报销”三个节点,再确定上述三个节点不构成一个完整的链路,获取用户输入“我做了心脏搭桥,好医保能报不”和未识别信息“心脏搭桥”,然后将用户输入和未识别信息(例如“心脏搭桥”)做信息扩展,例如图5所示的通过搜索引擎获取扩展信息示意图,接着对扩展结果进行语义节点识别,对图5的样例,识别出“健康-治疗”这一语义节点,再对所有扩展方法获取的语义节点进行综合评分,例如取平均分,输出匹配到的语义节点及其评分,最后对识别到的所有可能的语义节点,例如:“好医保”、“can_or_not”、“保险报销”、“健康-治疗”,发现其构成一个完成的链路,并对应到人工设定的一个知识点,例如“好医保的保障范围”,将其结果内容输出给用户。
本说明书实施例中,借助互联网的信息知识和能力,针对性的加强“不可识别/极难识别”的用户问法的识别优化,提升识别能力和用户的输入范围限制,经算法实际投放取得了明显的效果。
如:“心脏支架的费用报销不?”中“心脏支架”没有这个词,通过互联网扩展,有“健康”、“手术”、“医疗”等扩展信息,而识别出“健康-治疗”这一语义节点。
如:“蚂蚁借呗啷个还哦”,通过搜索引擎的纠错功能,扩展出“支付宝里面的蚂蚁借呗怎么还款”这一扩展信息,识别出“蚂蚁借呗”、“怎么”、“还款”。
如“我女儿3岁,没有身份证号,可以投保吗?”,借助搜索引擎,扩展出“小孩没有身份证号码可以买保险吗”这一扩展信息,可以根据该扩展信息做语义识别。
如“蚂蚁借贝怎么还款”,搜索引擎直接提示认为输入错误,纠错后为“蚂蚁借呗怎么还款”,纠错后再进行语义识别。
用户在“客服问答”中的描述大多都较为简单,个性化,给语义识别带来困难;借助互联网的信息知识和能力,将原有的“不可识别”的信息,做信息联想后,转换为“可识别”的信息;极大的提高了用户问句识别的能力,和识别的边界。
业务导图是运营人员梳理出来的树状结构,以层级的形式组织知识库的各项知识点。利用导图匹配的数据为基础,做语义节点识别。当发生问句不能被直接识别时,借助互联网的信息做信息扩展,提升了业务导图对于用户问句的覆盖范围,也方便运营人员在快速修改、调整知识库导图的同时能够及时反馈至匹配系统。
根据另一方面的实施例,还提供一种用户问句与知识点的匹配装置,所述装置基于业务导图进行,所述业务导图包括按照业务维度整理为树状层级结构的多个节点,每个节点对应一个关键词以及该关键词的关联表达,所述业务导图的根节点代表具有特定业务类型的业务,所述业务导图的叶节点挂载与该叶节点的关键词相关联的知识点。图6示出根据一个实施例的用户问句与知识点的匹配装置的示意性框图。如图6所示,该装置600包括:
节点匹配单元61,用于根据用户问句和预先训练的第一自然语言处理模型,得到第一匹配节点集合,所述第一匹配节点集合包括所述用户问句与所述业务导图匹配的节点;
链路匹配单元62,用于判断所述节点匹配单元61得到的第一匹配节点集合是否能够匹配到所述业务导图的任一链路;
搜索单元63,用于当所述链路匹配单元62判断出所述第一匹配节点集合不能够匹配到所述业务导图的任一链路时,根据所述用户问句的至少一部分在互联网中搜索,获取至少一条扩展信息;
所述节点匹配单元61,还用于根据所述搜索单元63获取的至少一条扩展信息和所述第一自然语言处理模型,得到第二匹配节点集合,所述第二匹配节点集合包括所述扩展信息与所述业务导图匹配的节点;
所述链路匹配单元62,还用于判断所述第一匹配节点集合和所述第二匹配节点集合的并集是否能够匹配到所述业务导图的任一链路;
知识点匹配单元64,用于当所述链路匹配单元62判断出所述第一匹配节点集合和所述第二匹配节点集合的并集能够匹配到所述业务导图的任一链路时,将该链路的叶节点作为与所述用户问句匹配的叶节点,以输出挂载在该叶节点的知识点。
可选地,作为一个实施例,所述装置还包括:
闲聊识别单元,用于在所述节点匹配单元61根据用户问句和预先训练的第一自然语言处理模型,得到第一匹配节点集合之前,根据所述用户问句和预先训练的第二自然语言处理模型,确定所述用户语句为具有业务述求的非闲聊语句。
可选地,作为一个实施例,所述知识点匹配单元64,还用于所述链路匹配单元62判断所述第一匹配节点集合是否能够匹配到所述业务导图的任一链路之后,当判断出所述第一匹配节点集合能够匹配到所述业务导图的任一链路时,将该链路的叶节点作为与所述用户问句匹配的叶节点,以输出挂载在该叶节点的知识点。
可选地,作为一个实施例,所述搜索单元63,具体用于获取所述用户问句中的未能匹配到节点的未识别文字;根据所述用户问句和所述未识别文字在互联网中搜索,获取至少一条扩展信息。
可选地,作为一个实施例,所述搜索单元63,具体用于:
根据所述用户问句的至少一部分,采用预设搜索方式在互联网中搜索,得到第一数目条扩展信息;
从所述第一数目条扩展信息中,按照排序选取与该预设搜索方式相对应的前预设阈值数目条扩展信息,从而获取至少一条扩展信息。
可选地,作为一个实施例,所述节点匹配单元61,具体用于:
根据所述至少一条扩展信息中的每条扩展信息和所述第一自然语言处理模型,将所述扩展信息与所述业务导图中的各个节点进行匹配;
至少根据是否匹配出相应节点,得到每条扩展信息的分值;
根据每条扩展信息的分值,确定所述至少一条扩展信息的综合评分;
当所述综合评分符合预设条件时,将所述匹配出的相应节点加入所述第二匹配节点集合。
可选地,作为一个实施例,所述装置还包括:
输出单元,用于所述链路匹配单元62判断所述第一匹配节点集合和所述第二匹配节点集合的并集是否能够匹配到所述业务导图的任一链路之后,当判断出所述第一匹配节点集合和所述第二匹配节点集合的并集不能够匹配到所述业务导图的任一链路时,输出反问问句,以使用户根据所述反问问句进行缺失信息的补充。
通过本说明书实施例提供的装置,一方面,基于业务导图进行知识点匹配的方式,能够通过调整业务导图来影响知识点匹配的结果,充分发挥运营人员的知识能力;另一方面,在用户问句无法匹配到知识导图的任一链路时,通过互联网获取扩展信息,通过扩展信息和用户问句相结合与知识导图进行匹配,从而能够提升用户问句与知识点的匹配效果。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2至图5所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2至图5所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。