检索意图识别方法、装置、电子设备及可读存储介质
技术领域
本公开涉及计算机技术领域,具体涉及一种检索意图识别方法、装置、电子设备及计算机可读存储介质。
背景技术
传统的搜索技术使用倒排索引构建数据索引关系,搜索过程往往是一个简单的字符串匹配算法。而高阶的搜索引擎,除了基本的性能优化以外,更多的考虑是如何提升用户的点击率,这就需要去挖掘用户输入关键字背后包含的更深层次的信息。例如:用户搜索“附近高端的宾馆”一词,从搜索意图角度看,包含了地理信息——“附近的”,需求信息——“宾馆住宿”、价格信息——“高消费水平”,从而为搜索引擎描绘了一副用户“搜索画像”,因此在对召回结果排序时,就需要考虑价格、评价、距用户的距离等信息。
发明内容
本公开实施例提供一种检索意图识别方法、装置、电子设备及计算机可读存储介质。
第一方面,本公开实施例中提供了一种检索意图识别方法。
具体的,所述检索意图识别方法,包括:
获取训练关键词相关的用户日志;
基于所述用户日志以及已有系统对象信息确定所述训练关键词的扩展因子,所述扩展因子包括主题在所述训练关键词上的概率分布、已有系统对象信息在主题上的概率分布、所述训练关键词与已有关键词在主题维度上的概率分布以及所述训练关键词与所述已有系统对象信息在主题维度上的概率分布中的至少之一;
利用所述训练关键词以及所述扩展因子训练机器学习模型,得到意图识别模型;
利用所述意图识别模型识别用户的检索意图。
结合第一方面,本公开在第一方面的第一种实现方式中,获取训练关键词相关的用户日志,包括:
获取预定时间段内以所述训练关键词作为输入的搜索日志。
结合第一方面,本公开在第一方面的第二种实现方式中,所述扩展因子包括主题在所述训练关键词上的概率分布,则基于所述用户日志以及已有系统对象信息确定所述训练关键词的扩展因子,包括:
基于所述用户日志提取第一主题;
计算所述第一主题与所述训练关键词之间的边缘分布;
根据所述第一主题与所述训练关键词之间的边缘分布确定所述第一主题在所述训练关键词上的概率分布。
结合第一方面,本公开在第一方面的第三种实现方式中,所述扩展因子包括已有系统对象信息在主题上的概率分布,则基于所述用户日志以及已有系统对象信息确定所述训练关键词的扩展因子,包括:
基于所述已有系统对象信息提取第二主题;
计算所述第二主题与所述已有系统对象信息之间的边缘分布;
根据所述第二主题与所述已有系统对象信息之间的边缘分布确定所述已有系统对象信息在所述第二主题上的概率分布。
结合第一方面、第一方面的第二种实现方式或第一方面的第三种实现方式,本公开在第一方面的第四种实现方式中,所述扩展因子包括主题在所述训练关键词上的概率分布、已有系统对象信息在主题上的概率分布、所述训练关键词与已有关键词在主题维度上的概率分布以及所述训练关键词与所述已有系统对象信息在主题维度上的概率分布,则基于所述用户日志以及已有系统对象信息确定所述训练关键词的扩展因子,包括:
将主题在所述训练关键词上的概率分布和已有系统对象信息在主题上的概率分布作为PLSA主题模型的输入,确定所述训练关键词与已有关键词在主题维度上的概率分布以及所述训练关键词与所述已有系统对象信息在主题维度上的概率分布;所述PLSA主题模型是预先训练好的。
结合第一方面,本公开在第一方面的第五种实现方式中,利用所述训练关键词以及所述扩展因子训练机器学习模型,得到意图识别模型,包括:
将所述训练关键词以及所述扩展因子作为输入,对朴素贝叶斯模型进行训练,最终得到意图识别模型。
第二方面,本公开实施例提供了一种检索意图识别装置,包括:
获取模块,被配置为获取训练关键词相关的用户日志;
扩展模块,被配置为基于所述用户日志以及已有系统对象信息确定所述训练关键词的扩展因子,所述扩展因子包括主题在所述训练关键词上的概率分布、已有系统对象信息在主题上的概率分布、所述训练关键词与已有关键词在主题维度上的概率分布以及所述训练关键词与所述已有系统对象信息在主题维度上的概率分布中的至少之一;
训练模块,被配置为利用所述训练关键词以及所述扩展因子训练机器学习模型,得到意图识别模型;
识别模块,被配置为利用所述意图识别模型识别用户的检索意图。
结合第二方面,本公开在第二方面的第一种实现方式中,所述获取模块包括:
第一获取子模块,被配置为获取预定时间段内以所述训练关键词作为输入的搜索日志。
结合第二方面,本公开在第二方面的第二种实现方式中,所述扩展因子包括主题在所述训练关键词上的概率分布,则所述扩展模块包括:
第一提取子模块,被配置为基于所述用户日志提取第一主题;
第一计算子模块,被配置为计算所述第一主题与所述训练关键词之间的边缘分布;
第一确定子模块,被配置为根据所述第一主题与所述训练关键词之间的边缘分布确定所述第一主题在所述训练关键词上的概率分布。
结合第二方面,本公开在第二方面的第三种实现方式中,所述扩展因子包括已有系统对象信息在主题上的概率分布,则所述扩展模块包括:
第二提取子模块,被配置为基于所述已有系统对象信息提取第二主题;
第二计算子模块,被配置为计算所述第二主题与所述已有系统对象信息之间的边缘分布;
第二确定子模块,被配置为根据所述第二主题与所述已有系统对象信息之间的边缘分布确定所述已有系统对象信息在所述第二主题上的概率分布。
结合第二方面、第二方面的第二种实现方式或第二方面的第三种实现方式,本公开在第二方面的第四种实现方式中,所述扩展因子包括主题在所述训练关键词上的概率分布、已有系统对象信息在主题上的概率分布、所述训练关键词与已有关键词在主题维度上的概率分布以及所述训练关键词与所述已有系统对象信息在主题维度上的概率分布,则所述扩展模块包括:
第三确定子模块,被配置为将主题在所述训练关键词上的概率分布和已有系统对象信息在主题上的概率分布作为PLSA主题模型的输入,确定所述训练关键词与已有关键词在主题维度上的概率分布以及所述训练关键词与所述已有系统对象信息在主题维度上的概率分布;所述PLSA主题模型是预先训练好的。
结合第二方面,本公开在第二方面的第五种实现方式中,所述训练模块包括:
训练子模块,被配置为将所述训练关键词以及所述扩展因子作为输入,对朴素贝叶斯模型进行训练,最终得到意图识别模型。
所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,检索意图识别装置的结构中包括存储器和处理器,所述存储器用于存储一条或多条支持检索意图识别装置执行上述第一方面中检索意图识别方法的计算机指令,所述处理器被配置为用于执行所述存储器中存储的计算机指令。所述检索意图识别装置还可以包括通信接口,用于检索意图识别装置与其他设备或通信网络通信。
第三方面,本公开实施例提供了一种电子设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现第一方面所述的方法步骤。
第四方面,本公开实施例提供了一种计算机可读存储介质,用于存储检索意图识别装置所用的计算机指令,其包含用于执行上述第一方面中检索意图识别方法为检索意图识别装置所涉及的计算机指令。
本公开实施例提供的技术方案可以包括以下有益效果:
本公开实施例提出了一种检索意图识别的方案,对于系统平台中针对系统对象的用户检索,通过意图识别模型识别用户的检索意图,以提高用户检索结果的准确性。在训练意图识别模型时,本公开实施例基于用户日志以及系统平台中已有系统对象信息对训练关键词即训练样本进行扩展,得到扩展因子,进而使用训练关键词以及扩展因子来训练意图识别模型。通过本公开实施例的方案,能够丰富训练样本特征的资源,且利用语义分析得到与原训练样本有强关联关系的训练样本描述信息以及同义词集合,进而实现训练样本特征扩展,即可利用一个轻量级的原始训练样本得到一个较为精确的意图识别分类模型,节省了成本,提高了检索的准确性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
图1示出根据本公开一实施方式的检索意图识别方法的流程图;
图2示出根据图1所示实施方式的步骤S102的流程图;
图3示出根据图1所示实施方式的步骤S102的又流程图;
图4示出根据本公开一实施方式中PLSA模型的模型逻辑示意图;
图5示出根据本公开一实施方式的检索意图识别装置的结构框图;
图6示出根据图5所示实施方式的扩展模块502的结构框图;
图7示出根据图5所示实施方式的扩展模块502的又一结构框图;
图8是适于用来实现根据本公开一实施方式的检索意图识别方法的电子设备的结构示意图。
具体实施方式
下文中,将参考附图详细描述本公开的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
已有技术中,意图识别模型主要有两种,一种是规则模板构建,优点是有明确的意图目标,精确度较高,然而缺点在于覆盖率低,通用型不强。另一种是基于机器学习的原理,利用SVM分类器对检索意图进行半监督式的分类。特征选择方面,包含关键词长度、关键词频次、主题长度、主题频次、关键词首字、尾字、搜索行为日志、关键词点击信息、关键词交易成单信息等。分类模型应用方面,选择Ensemble框架。其原理为将多重分类模型组合起来,构建出一个综合的分类器,通过训练Ensemble模型,实现多重算法之间最优的组合关系。
目前,还没有为系统平台中针对系统对象,如电商平台中针对商户检索的定制化搜索意图模型及其相关应用,更多的是简单的文本匹配搜索算法的优化和组合,然而从电商类垂直搜索引擎的优化角度来看,搜索意图模型的设计刻不容缓。例如:用户在外卖点餐系统平台中搜索“麻辣烫”这一关键词时,表象的意义是“麻辣烫”这道菜品,但从搜索意图识别角度来看,包含了“菜系-川菜”、“口味-麻辣”、“地域-西南”、“等级-小吃”、“近似词-冒菜”等更深层的信息。而后在搜索过程中,可以从这些特征信息出发,提供精度更高或者广度更展的结果。
图1示出根据本公开一实施方式的检索意图识别方法的流程图。如图1所示,所述检索意图识别方法包括以下步骤S101-S103:
在步骤S101中,获取训练关键词相关的用户日志;
在步骤S102中,基于所述用户日志以及已有系统对象信息确定所述训练关键词的扩展因子,所述扩展因子包括主题在所述训练关键词上的概率分布、已有系统对象信息在主题上的概率分布、所述训练关键词与已有关键词在主题维度上的概率分布以及所述训练关键词与所述已有系统对象信息在主题维度上的概率分布中的至少之一;
在步骤S103中,利用所述训练关键词以及所述扩展因子训练机器学习模型,得到意图识别模型;
在步骤S104中,利用所述意图识别模型识别用户的检索意图。
在本实施例中,针对系统平台中的系统对象进行检索时,为了识别用户检索意图,首先离线训练好意图识别模型,进而在线识别时,利用意图识别模型对用户检索意图进行识别。系统对象是系统平台提供的可以为用户提供服务的对象,例如外卖点餐系统平台中的商家等。在训练意图识别模型时,首先收集训练样本即训练关键词,并利用训练关键词获取相关的用户日志,进而基于用户日志以及已有系统对象信息对训练关键词进行扩展,得到扩展因子,并将训练关键词以及扩展因子都作为输入对机器学习模型进行训练,最终得到意图识别模型。
本公开实施例中,已有系统对象信息包括系统平台中已有系统对象的相关文字信息,例如外卖点餐系统平台中的商户介绍、商户特点等信息文档。训练关键词相关的用户日志包括系统平台中采用训练关键词作为输入进行搜索产生的搜索行为日志。在收集到训练关键词后,可以从系统平台服务端的日志文件获取与每个训练关键词相关的用户日志。之后针对每一训练关键词以及系统平台中已有系统对象信息对该训练关键词进行扩展。
本实施例中,扩展因子包括主题在所述训练关键词上的概率分布、已有系统对象信息在主题上的概率分布、所述训练关键词与已有关键词在主题维度上的概率分布以及所述训练关键词与所述已有系统对象信息在主题维度上的概率分布中的至少之一。主题就是一个概念、一个方面。它表现为一系列相关的词语。比如一个文章如果涉及到“百度”这个主题,那么“中文搜索”、“李彦宏”等词语就会以较高的频率出现,而如果涉及到“IBM”这个主题,那么“笔记本”等就会出现的很频繁。如果用数学来描述一下的话,主题就是词汇表上词语的条件概率分布。与主题关系越密切的词语,它的条件概率越大,反之则越小。通俗来说,一个主题就好像一个“桶”,它装了若干出现概率较高的词语。这些词语和这个主题有很强的相关性,或者说,正是这些词语共同定义了这个主题。对于一段话来说,有些词语可以出自这个“桶”,有些可能来自那个“桶”,一段文本往往是若干个主题的杂合体。
本实施例中,训练关键词可以对应多个不同的主题,而主题又可以对应包括训练关键词在内的多个关键词,因此主题在训练关键词上的概率分布可以是训练关键词对应的所有主题中,当前主题所占的比重;已有系统对象信息可以对应多个不同的主题,而主题又可以对应多个不同的已有系统对象;那么已有系统对象信息在主题上的概率分布可以是同一主题所对应的所有已有系统对象信息中,当前已有系统对象信息所占的比重。已有关键词是指除训练关键词之外,系统平台可能涉及到的其他关键词,训练关键词与已有关键词在主题维度上的概率分布可以是训练关键词与已有关键词在同一主题上所具有的相关性,训练关键词与已有系统对象信息在主题维度上的概率分布可以是训练关键词与已有系统对象在同一主题上的相关性。
本实施例中,机器学习模型可以是一种分类器,其利用训练样本进行训练后得到意图识别模型。在训练时,该机器学习模型的输入为训练关键词和扩展因子,输出是该训练关键词相关的意图识别结果。意图识别结果包括多种类型,可以基于系统平台的涉及内容不同而不同。例如,对于外卖点餐系统,意图识别结果可以为餐饮、商超、药店、早餐、水果生鲜、鲜花蛋糕、生活便利、无意义等中的一个,每个意图识别结果对应一个意图识别模型,也就是说,基于训练关键词可以训练出上述八个类别的意图识别模型。而在线识别时,意图识别模型的输入可以仅是用户输入的查询关键词,其输出是于该意图识别模型对应的意图识别结果的相关度。例如,对于餐饮这一意图识别结果对应的意图识别模型,其输出结果为输入的查询关键词与餐饮这一类别的相关度。
在本实施例的一个可选实现方式中,所述步骤S101即获取训练关键词相关的用户日志的步骤,进一步包括以下步骤:
获取预定时间段内以所述训练关键词作为输入的搜索日志。
在该可选的实现方式中,用户日志可以以训练关键词为维度,从系统平台的服务端保存的用户日志中提取所有用户在线搜索的行为,即用户以训练关键词为查询输入的所有在线搜索日志。用户在线搜索的行为可以包括搜索、眼球位置、点击商户位置、点击商户频次、商户内浏览轨迹、商户内交易等信息。在一实施例中,以外卖点餐平台为例,用户在线搜索的行为最终的表示形式可以为表1所示:
其中,query为训练关键词,搜索次数可以是用户在系统平台中以训练关键词作为查询输入进行的搜索次数;点击商户位置可以是从搜索结果列表中用户所点击的商户在显示列表中所排列的页数和顺序个数;点击商户列表的频次是指与训练关键词相关的搜索结果中商户被用户点击的次数;商户内交易信息可以是用户基于训练关键词的检索结果中,进行交易的商户的次数。
本实施例中,在提取到用户日志以后,还可以对用户日志以及已有系统对象信息进行数据预处理,包括多粒度分词、拼写纠错扩展、命名实体识别、多音同形字扩展、停用词过滤等过程,将训练关键词相关的在线搜索行为日志和已有系统对象信息转换成两个多维向量。之后,还可以对数据预处理的结果进行特征提取,特征提取的过程需要结合领域知识进行,以外卖点餐系统平台为例,特征提取的记过包括训练关键词及其切词向量、商户描述信息主题词(如经营范围、主营、辅营)、训练关键的点击行为的多维数据(如表1所示)等。
在本实施例的一个可选实现方式中,如图2所示,所述扩展因子包括主题在所述训练关键词上的概率分布,所述步骤S102,即基于所述用户日志以及已有系统对象信息确定所述训练关键词的扩展因子的步骤,进一步包括以下步骤S201-S202:
在步骤S201中,基于所述用户日志提取第一主题;
在步骤S202中,计算所述第一主题与所述训练关键词之间的边缘分布;
在步骤S203中,根据所述第一主题与所述训练关键词之间的边缘分布确定所述第一主题在所述训练关键词上的概率分布。
对训练关键词的扩展可以基于语义相关性分析进行。在该可选的实现方式中,主题在所述训练关键词上的概率分布这一扩展因子,可以通过提取训练关键词中存在的第一主题进行,在提取到第一主题后计算训练关键词与所提取到的第一主题之间的深层联系,从而确定语义相关性。在提取主题时,可以设置一定的时间窗口,以用户为维度对用户输入的查询关键词进行聚合,并对这些查询关键词进行处理作为用户检索轨迹。根据用户和该用户所涉及的系统对象(如该用户使用过该系统对象提供的服务)进行分组聚合。然后对每个查询关键词进行数据预处理生成词向量,处理步骤包括:分词拼音纠错等。针对每个分组,对分组内的词向量集合进行主题提取,并计算各个主题与查询关键词之间的边缘分布,然后根据每个分组的边缘分布,计算所有查询关键词与主题之间的概率分布,从中可以获得主题在训练关键词上的概率分布。例如,在外卖点餐系统平台中,根据用户下单商户情况,对其用户检索轨迹进行聚合。如用户1在一段时间内的查询关键词经过处理后,得到A,B,C这三个词,则用户1的检索浏览轨迹是ABC。用户2的检索轨迹为CD,用户3的检索轨迹为AC。这三个用户同时在一个商户下单,则对他们的用户轨迹进行聚合得到聚合轨迹为ABCCCD。根据这三个用户的检索轨迹,从这个检索轨迹中较为突出的主题为C。这样,可以计算出主题与查询关键词的边缘分布,进而计算所有查询关键词与主题之间的概率分布。通过该可选的实现方式,可以基于主题提取获取主题在训练关键词上的概率分布。
在本实施例的一个可选实现方式中,如图3所示,所述扩展因子包括已有系统对象信息在主题上的概率分布,所述步骤S102,即基于所述用户日志以及已有系统对象信息确定所述训练关键词的扩展因子的步骤,进一步包括以下步骤S301-S302:
在步骤S301中,基于所述已有系统对象信息提取第二主题;
在步骤S302中,计算所述第二主题与所述已有系统对象信息之间的边缘分布;
在步骤S303中,根据所述第二主题与所述已有系统对象信息之间的边缘分布确定所述已有系统对象信息在所述第二主题上的概率分布。
该可选的实现方式中,与上一实现方式类似,先提取已有系统对象信息中的第二主题。在提取第二主题时,可以对已有系统对象信息进行数据预处理得到特征向量,并基于已有系统对象信息对所提供服务范围一致(如主营和辅营一致)的系统对象进行聚合,对聚合的系统对象的已有系统对象信息进行主题提取,并计算主题与已有系统对象信息的边缘分布,最后计算已有系统对象信息在主题的概率分布。通过这种方式,可以快速获得已有系统对象信息在主题的概率分布。
在本实施例的一个可选实现方式中,所述扩展因子包括主题在所述训练关键词上的概率分布、已有系统对象信息在主题上的概率分布、所述训练关键词与已有关键词在主题维度上的概率分布以及所述训练关键词与所述已有系统对象信息在主题维度上的概率分布,所述步骤S102即基于所述用户日志以及已有系统对象信息确定所述训练关键词的扩展因子的步骤,进一步包括以下步骤:
将主题在所述训练关键词上的概率分布和已有系统对象信息在主题上的概率分布作为PLSA主题模型的输入,得到所述训练关键词与已有关键词在主题维度上的概率分布以及所述训练关键词与所述已有系统对象信息在主题维度上的概率分布;所述PLSA主题模型是预先训练好的。
该可选的实现方式中,利用PLSA(probabilistic latent semantic analysis,概率潜在语义分析)主题模型确定所述训练关键词与已有关键词在主题维度上的概率分布以及所述训练关键词与所述已有系统对象信息在主题维度上的概率分布。所述训练关键词与已有关键词在主题维度上的概率分布以及所述训练关键词与所述已有系统对象信息在主题维度上的概率分布都可以采用语义相关性分析确定。PLSA主题模型的参数预先采用EM算法计算得到,在扩展训练关键词时,将训练关键词和已有系统对象信息进行数据预处理,并进一步提取主题,再计算得到主题在所述训练关键词上的概率分布和已有系统对象信息在主题上的概率分布;主题在所述训练关键词上的概率分布和已有系统对象信息在主题上的概率分布作为PLSA的输入,再计算得到所述训练关键词与已有关键词在主题维度上的概率分布以及所述训练关键词与所述已有系统对象信息在主题维度上的概率分布。
语义相关性分析主要用于分析两段文字之间的相关性如何。而两段文字的相关程度不仅是单纯的文字重复,更主要的是深层语义的关联。在已有搜索技术中,通过分析语义相关性,一方面可以丰富搜索过程中所需要的数据,另一方面可以描绘搜索词与搜索结果之间的关联信息。从技术角度看,语义相关性分析属于自然语言处理领域的一个使用场景;从应用角度看,该技术属于搜索技术领域的一个重要优化环节。通过对语义相关性的挖掘,原本简单的关键词(也被称为query)可以扩展出更多的描述信息,为搜索行为的展开提供多元化的信息补充,从而从广度、深度上提升搜索的综合效果。目前常用的语义相关性分析模型包括主题模型(基于LDA(Latent Dirichlet Allocation,文档主题生成模型)或者PLSA算法)、利用RNNText(文本循环神经网络)的卷积神经网络文本语义分类模型等。目前应用较多的语义相关性模型为主题模型,主题模型本质上是对富文本训练集进行主题提取,然后构建主题与文本中关键词之间的关系模型。当关键词输入时,去寻找与关键词对应的主题,进而可以提取到语义相关性高的其他词语。目前主流的语义相关性分析模型大都采用向量空间模型,在文档的向量空间模型中,文档被表示成由特征词出现概率组成的多维向量,即将关键词(也称query)和文档转换到同一空间中进行向量相似度计算。一种经典的向量空间模型是贝叶斯模型,基于贝叶斯分类模型的语义相关性分析步骤如下:训练数据预处理,包括:语法分析,特殊字符过滤,去停用词,词根还原四个步骤;特征提取,基于数据的表征关系,例如:餐饮训练数据中的用户搜索关键字信息,并非取所有的关键字及其切词处理结果作为有效的特征,而是选择有点击行为的关键字作为有效数据,进而提取特征;基于伯努利贝叶斯模型的语义相关性分类。伯努利模型采用二项分布模型,即类条件概率和先验概率模型。最后通过计算输入关键词与构建好的贝叶斯分类模型各分类之间的概率值,来确定关键词与已有意图之间的语义相关性。
上述已有技术中,基于向量空间模型而设计的语义相关性模型没有能力处理一词多义以及一义多词的问题。例如,外卖点餐系统平台中的关键词以及相关餐饮文档数据中往往包含大量多义词,例如:“周黑鸭”既可以理解为一种菜品,又可以理解为一个餐饮品牌,甚至是一种文化标签。因此,上述基于向量空间模型而设计的语义相关性模型显然无法很好地解决类似外卖点餐系统平台这类一词多义或一义多词的情形。此外,贝叶斯模型可以说是强依赖于训练数据的,当数据样本可信度不高时,其轻量的训练样本优势可能不复存在,所训练出来的模型可能与目标相差较多。意图识别模型使用SVM分类器构建时,虽然精度会很高,但是SVM本身存在运算效能的问题,从搜索优化的角度看,更加希望把核心的数据计算做到实时性。目前的意图识别模型,往往是从关键词本身出发进行特征提取,从提升特征分析的角度来看,这种训练样本的采集策略其实是有待优化的。通过一些丰富样本特征的方法,或许可以得到更加丰富、信息量更大的训练样本。
因此,本公开实施例在构建意图识别模型时,首先将训练样本进行语义相关性分析,进而扩展出多个扩展因子,如主题在所述训练关键词上的概率分布、已有系统对象信息在主题上的概率分布、所述训练关键词与已有关键词在主题维度上的概率分布以及所述训练关键词与所述已有系统对象信息在主题维度上的概率分布等,而其中所述训练关键词与已有关键词在主题维度上的概率分布以及所述训练关键词与所述已有系统对象信息在主题维度上的概率分布又采用PLSA主题模型得到,而PLSA主题模型的参数可以采用EM算法训练得到。因此,而本公开所介绍的pLSA改进算法可以以一种相对高效且保持精度的方式对训练关键词即训练样本的相关性进行挖掘,进而扩展训练关键词。在训练样本的相关性挖掘过程中,通过语义关联性分析,建设训练关键词与系统对象信息间的关联关系,从而实现从搜索层面到系统对象及系统对象属性如外卖点餐系统平台中商户、菜系、文化等深层抽象特征的过渡。
下面对于本公开实施例使用的PLSA模型进行详细介绍。
PLSA的概率图逻辑模型如图4所示,其中,D表示已有系统对象信息,Z表示隐式主题,W表示当前观察的单词。P(di)表示单词出现在已有系统对象信息di的概率,P(zk|di)表示已有系统对象信息di中出现主题zk下的单词的概率,P(wj|zk)给定主题zk出现单词wj的概率。即每个相关性主题在所有的关键词及其切词上都满足概率分布,每个已有系统对象信息在所有主题上都服从Multinomial分布。因此要计算的几个概率包括:
以P(di)的概率选中已有系统对象信息di;
以P(zk|di)的概率选中主题zk;
以P(wj|zk)的概率产生一个单词;
因此本公开实施例中需要计算的相关性概率即(di,wj),(di,wj)的联合分布如下表示:
其中,K表示主题的个数。
之后利用EM算法对PLSA模型的参数进行训练。简单介绍下EM算法的步骤:
E步:计算隐式变量(例如本公开实施例中所涉及到的隐式主题)在当前估计条件下的后验概率;
M步:计算最大似然估计值,使用E步中得到的隐式变量的后验概率,得到上述两个参数值。
在本公开实施例中,利用PLSA模型,将关键词相关的搜索行为日志和系统对象信息作为基础的训练数据,训练得到关键词与系统对象信息的语义相关性模型。在得到语义相关性模型后,当新的训练关键词进入语义相关性模型时,会输出已有关键词集合中与这个训练关键词的相关性关系,可以给出深层语义相似的已有关键词,同时也可以给出扩展信息,例如,在外卖点餐系统中可以得到的扩展信息包括:与此训练关键词高度关联的商户名称、该训练关键词包含的地域信息等。以“冒菜”作为训练关键词为例,在进入语义相关性分析模型后,可以获取相似的已有关键词,如“麻辣烫”、“串串香”等,同时还能获取扩展信息,如“U鼎冒菜”、“杨国福麻辣烫”、“张亮麻辣烫”等。
在本实施例的一个可选实现方式中,所述步骤S103,即利用所述训练关键词以及所述扩展因子训练机器学习模型,得到意图识别模型的步骤,进一步包括:
将所述训练关键词以及所述扩展因子作为输入,对朴素贝叶斯模型进行训练,最终得到意图识别模型。
该可选的实现方式中,意图识别模型采用朴素贝叶斯模型构建。意图识别过程本质上就是一个识别关键词相关联信息的过程。朴素贝叶斯模型把关联过程转化成一个简单的分类过程,处于同一分类体系内的文本信息必然具有天然的相关性。
已有技术中,意图识别方式包括基于规则模板的分类方法和基于机器学习的识别模型。从效果上看,基于贝叶斯等SVM模型的分类器往往可以获得更优秀、更具普遍适用性的识别模型。然而,贝叶斯模型可以说是强依赖于训练数据的,当数据样本可信度不高时,其轻量的训练样本优势可能不复存在,所训练出来的模型可能与目标相差较多。意图识别模型使用SVM分类器构建模型时,虽然精度会很高,但是SVM本身存在运算效能的问题,从搜索优化的角度看,更加希望把核心的数据计算做到实时性。目前的意图识别模型,往往是从关键词本身出发进行特征提取,从提升特征分析的角度来看,这种训练样本的采集策略其实是有待优化的。而本公开实施例通过一些丰富样本特征的方法,即通过语义相关性分析,从训练关键词扩展出多种因子,并利用训练关键词和这些扩展出来的扩展因子作为训练样本,使得训练样本更加丰富、信息量更大,进而通过训练朴素贝叶斯模型得到的意图识别模型的识别能力更加准确。
查询关键词到意图的映射数据是意图识别模型的核心,语义相关性分析和朴素贝叶斯分类都是为查询关键词到意图的映射关系服务的,可以认为意图识别的核心是数据以及构建在数据基础上的识别模型。意图识别尤其对类似餐饮搜索场景的用户体验提升意义非凡。用户搜索的查询关键词在搜索引擎中,被扩展成同义关键词、口味、地域、相关商户等信息,对搜索的过滤、排序等控制都有应用意义。
本公开实施例中,语义分析相关性模型中使用pLSA模型对多语义关键词进行多维度的分类,从而构建完整的语义关联模型,相较于传统的LDA,运算速度更快,实现更简单;而相较于贝叶斯模型而言,可以处理多文本语义的歧义问题,解决了传统语义分析模型对多义短关键词无法有效处理的问题。同时,弱化了模型对数据的强依赖性,在语义关系分析阶段,使用了pLSA算法,对训练样本要求较低,不再强依赖于训练集,更多地是分析抽象层的语义关联性,其提取深层语义的能力较强,这一点体现在计算两个重要的概率值:主题在文档上的Multinial分布概率以及关键词在主题上的概率分布;其还利用概率统计,并用EM算法学习PLSA模型参数,拥有较好的计算效能。本公开实施例为了提升计算效能,在保证模型分类效果的基础上,利用朴素贝叶斯分类器来构建意图识别引擎。而目前朴素贝叶斯模型已经使用C++语言进行编写,其运行效率相较于SVM等模型,运行效能提升80%以上。可以做到实时分类的效果,这对于服务的实时性非常重要。本公开实施例由于意图识别部分使用高效但较为简单的朴素贝叶斯分类器,而该算法强依赖于数据。为了解决这个问题,本公开实施例又利用语义分析得到与原关键词有强关联关系的关键词描述信息以及同义关键词集合(即通过扩展因子确定),进而实现特征扩展,使得朴素贝叶斯模型可以在一个相对较小的规模下获得较精确的分析效果,即可利用一个轻量级的原始训练样本得到一个较为精确的意图识别分类模型。
下述为本公开装置实施例,可以用于执行本公开方法实施例。
图5示出根据本公开一实施方式的检索意图识别装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图5所示,所述检索意图识别装置包括获取模块501、扩展模块502、训练模块503和识别模块504:
获取模块501,被配置为获取训练关键词相关的用户日志;
扩展模块502,被配置为基于所述用户日志以及已有系统对象信息确定所述训练关键词的扩展因子,所述扩展因子包括主题在所述训练关键词上的概率分布、已有系统对象信息在主题上的概率分布、所述训练关键词与已有关键词在主题维度上的概率分布以及所述训练关键词与所述已有系统对象信息在主题维度上的概率分布中的至少之一;
训练模块503,被配置为利用所述训练关键词以及所述扩展因子训练机器学习模型,得到意图识别模型;
识别模块504,被配置为利用所述意图识别模型识别用户的检索意图。
在本实施例中,针对系统平台中的系统对象进行检索时,为了识别用户检索意图,首先离线训练好意图识别模型,进而在线识别时,利用意图识别模型对用户检索意图进行识别。系统对象是系统平台提供的可以为用户提供服务的对象,例如外卖点餐系统平台中的商家等。在训练意图识别模型时,首先收集训练样本即训练关键词,并利用训练关键词获取相关的用户日志,进而基于用户日志以及已有系统对象信息对训练关键词进行扩展,得到扩展因子,并将训练关键词以及扩展因子都作为输入对机器学习模型进行训练,最终得到意图识别模型。
本公开实施例中,已有系统对象信息包括系统平台中已有系统对象的相关文字信息,例如外卖点餐系统平台中的商户介绍、商户特点等信息文档。训练关键词相关的用户日志包括系统平台中采用训练关键词作为输入进行搜索产生的搜索行为日志。在收集到训练关键词后,可以从系统平台服务端的日志文件获取与每个训练关键词相关的用户日志。之后针对每一训练关键词以及系统平台中已有系统对象信息对该训练关键词进行扩展。
本实施例中,扩展因子包括主题在所述训练关键词上的概率分布、已有系统对象信息在主题上的概率分布、所述训练关键词与已有关键词在主题维度上的概率分布以及所述训练关键词与所述已有系统对象信息在主题维度上的概率分布中的至少之一。主题就是一个概念、一个方面。它表现为一系列相关的词语。比如一个文章如果涉及到“百度”这个主题,那么“中文搜索”、“李彦宏”等词语就会以较高的频率出现,而如果涉及到“IBM”这个主题,那么“笔记本”等就会出现的很频繁。如果用数学来描述一下的话,主题就是词汇表上词语的条件概率分布。与主题关系越密切的词语,它的条件概率越大,反之则越小。通俗来说,一个主题就好像一个“桶”,它装了若干出现概率较高的词语。这些词语和这个主题有很强的相关性,或者说,正是这些词语共同定义了这个主题。对于一段话来说,有些词语可以出自这个“桶”,有些可能来自那个“桶”,一段文本往往是若干个主题的杂合体。
本实施例中,训练关键词可以对应多个不同的主题,而主题又可以对应包括训练关键词在内的多个关键词,因此主题在训练关键词上的概率分布可以是训练关键词对应的所有主题中,当前主题所占的比重;已有系统对象信息可以对应多个不同的主题,而主题又可以对应多个不同的已有系统对象;那么已有系统对象信息在主题上的概率分布可以是同一主题所对应的所有已有系统对象信息中,当前已有系统对象信息所占的比重。已有关键词是指除训练关键词之外,系统平台可能涉及到的其他关键词,训练关键词与已有关键词在主题维度上的概率分布可以是训练关键词与已有关键词在同一主题上所具有的相关性,训练关键词与已有系统对象信息在主题维度上的概率分布可以是训练关键词与已有系统对象在同一主题上的相关性。
本实施例中,机器学习模型可以是一种分类器,其利用训练样本进行训练后得到意图识别模型。在训练时,该机器学习模型的输入为训练关键词和扩展因子,输出是该训练关键词相关的意图识别结果。意图识别结果包括多种类型,可以基于系统平台的涉及内容不同而不同。例如,对于外卖点餐系统,意图识别结果可以为餐饮、商超、药店、早餐、水果生鲜、鲜花蛋糕、生活便利、无意义等中的一个,每个意图识别结果对应一个意图识别模型,也就是说,基于训练关键词可以训练出上述八个类别的意图识别模型。而在线识别时,意图识别模型的输入可以仅是用户输入的查询关键词,其输出是于该意图识别模型对应的意图识别结果的相关度。例如,对于餐饮这一意图识别结果对应的意图识别模型,其输出结果为输入的查询关键词与餐饮这一类别的相关度。
在本实施例的一个可选实现方式中,所述获取模块501包括:
第一获取子模块,被配置为获取预定时间段内以所述训练关键词作为输入的搜索日志。
在该可选的实现方式中,用户日志可以以训练关键词为维度,从系统平台的服务端保存的用户日志中提取所有用户在线搜索的行为,即用户以训练关键词为查询输入的所有在线搜索日志。用户在线搜索的行为可以包括搜索、眼球位置、点击商户位置、点击商户频次、商户内浏览轨迹、商户内交易等信息。在一实施例中,以外卖点餐平台为例,用户在线搜索的行为最终的表示形式可以为表1所示:
其中,query为训练关键词,搜索次数可以是用户在系统平台中以训练关键词作为查询输入进行的搜索次数;点击商户位置可以是从搜索结果列表中用户所点击的商户在显示列表中所排列的页数和顺序个数;点击商户列表的频次是指与训练关键词相关的搜索结果中商户被用户点击的次数;商户内交易信息可以是用户基于训练关键词的检索结果中,进行交易的商户的次数。
本实施例中,在提取到用户日志以后,还可以对用户日志以及已有系统对象信息进行数据预处理,包括多粒度分词、拼写纠错扩展、命名实体识别、多音同形字扩展、停用词过滤等过程,将训练关键词相关的在线搜索行为日志和已有系统对象信息转换成两个多维向量。之后,还可以对数据预处理的结果进行特征提取,特征提取的过程需要结合领域知识进行,以外卖点餐系统平台为例,特征提取的记过包括训练关键词及其切词向量、商户描述信息主题词(如经营范围、主营、辅营)、训练关键的点击行为的多维数据(如表1所示)等。
在本实施例的一个可选实现方式中,如图6所示,所述扩展因子包括主题在所述训练关键词上的概率分布,则所述扩展模块502包括:
第一提取子模块601,被配置为基于所述用户日志提取第一主题;
第一计算子模块602,被配置为计算所述第一主题与所述训练关键词之间的边缘分布;
第一确定子模块603,被配置为根据所述第一主题与所述训练关键词之间的边缘分布确定所述第一主题在所述训练关键词上的概率分布。
对训练关键词的扩展可以基于语义相关性分析进行。在该可选的实现方式中,主题在所述训练关键词上的概率分布这一扩展因子,可以通过提取训练关键词中存在的第一主题进行,在提取到第一主题后计算训练关键词与所提取到的第一主题之间的深层联系,从而确定语义相关性。在提取主题时,可以设置一定的时间窗口,以用户为维度对用户输入的查询关键词进行聚合,并对这些查询关键词进行处理作为用户检索轨迹。根据用户和该用户所涉及的系统对象(如该用户使用过该系统对象提供的服务)进行分组聚合。然后对每个查询关键词进行数据预处理生成词向量,处理步骤包括:分词拼音纠错等。针对每个分组,对分组内的词向量集合进行主题提取,并计算各个主题与查询关键词之间的边缘分布,然后根据每个分组的边缘分布,计算所有查询关键词与主题之间的概率分布,从中可以获得主题在训练关键词上的概率分布。例如,在外卖点餐系统平台中,根据用户下单商户情况,对其用户检索轨迹进行聚合。如用户1在一段时间内的查询关键词经过处理后,得到A,B,C这三个词,则用户1的检索浏览轨迹是ABC。用户2的检索轨迹为CD,用户3的检索轨迹为AC。这三个用户同时在一个商户下单,则对他们的用户轨迹进行聚合得到聚合轨迹为ABCCCD。根据这三个用户的检索轨迹,从这个检索轨迹中较为突出的主题为C。这样,可以计算出主题与查询关键词的边缘分布,进而计算所有查询关键词与主题之间的概率分布。通过该可选的实现方式,可以基于主题提取获取主题在训练关键词上的概率分布。
在本实施例的一个可选实现方式中,如图7所示,所述扩展因子包括已有系统对象信息在主题上的概率分布,则所述扩展模块502包括:
第二提取子模块701,被配置为基于所述已有系统对象信息提取第二主题;
第二计算子模块702,被配置为计算所述第二主题与所述已有系统对象信息之间的边缘分布;
第二确定子模块703,被配置为根据所述第二主题与所述已有系统对象信息之间的边缘分布确定所述已有系统对象信息在所述第二主题上的概率分布。
该可选的实现方式中,与上一实现方式类似,先提取已有系统对象信息中的第二主题。在提取第二主题时,可以对已有系统对象信息进行数据预处理得到特征向量,并基于已有系统对象信息对所提供服务范围一致(如主营和辅营一致)的系统对象进行聚合,对聚合的系统对象的已有系统对象信息进行主题提取,并计算主题与已有系统对象信息的边缘分布,最后计算已有系统对象信息在主题的概率分布。通过这种方式,可以快速获得已有系统对象信息在主题的概率分布。
在本实施例的一个可选实现方式中,所述扩展因子包括主题在所述训练关键词上的概率分布、已有系统对象信息在主题上的概率分布、所述训练关键词与已有关键词在主题维度上的概率分布以及所述训练关键词与所述已有系统对象信息在主题维度上的概率分布,则所述扩展模块502包括:
第三确定子模块,被配置为将主题在所述训练关键词上的概率分布和已有系统对象信息在主题上的概率分布作为PLSA主题模型的输入,确定所述训练关键词与已有关键词在主题维度上的概率分布以及所述训练关键词与所述已有系统对象信息在主题维度上的概率分布;所述PLSA主题模型是预先训练好的。
该可选的实现方式中,利用PLSA(probabilistic latent semantic analysis,概率潜在语义分析)主题模型确定所述训练关键词与已有关键词在主题维度上的概率分布以及所述训练关键词与所述已有系统对象信息在主题维度上的概率分布。所述训练关键词与已有关键词在主题维度上的概率分布以及所述训练关键词与所述已有系统对象信息在主题维度上的概率分布都可以采用语义相关性分析确定。PLSA主题模型的参数预先采用EM算法计算得到,在扩展训练关键词时,将训练关键词和已有系统对象信息进行数据预处理,并进一步提取主题,再计算得到主题在所述训练关键词上的概率分布和已有系统对象信息在主题上的概率分布;主题在所述训练关键词上的概率分布和已有系统对象信息在主题上的概率分布作为PLSA的输入,再计算得到所述训练关键词与已有关键词在主题维度上的概率分布以及所述训练关键词与所述已有系统对象信息在主题维度上的概率分布。
语义相关性分析主要用于分析两段文字之间的相关性如何。而两段文字的相关程度不仅是单纯的文字重复,更主要的是深层语义的关联。在已有搜索技术中,通过分析语义相关性,一方面可以丰富搜索过程中所需要的数据,另一方面可以描绘搜索词与搜索结果之间的关联信息。从技术角度看,语义相关性分析属于自然语言处理领域的一个使用场景;从应用角度看,该技术属于搜索技术领域的一个重要优化环节。通过对语义相关性的挖掘,原本简单的关键词(也被称为query)可以扩展出更多的描述信息,为搜索行为的展开提供多元化的信息补充,从而从广度、深度上提升搜索的综合效果。目前常用的语义相关性分析模型包括主题模型(基于LDA(Latent Dirichlet Allocation,文档主题生成模型)或者PLSA算法)、利用RNNText(文本循环神经网络)的卷积神经网络文本语义分类模型等。目前应用较多的语义相关性模型为主题模型,主题模型本质上是对富文本训练集进行主题提取,然后构建主题与文本中关键词之间的关系模型。当关键词输入时,去寻找与关键词对应的主题,进而可以提取到语义相关性高的其他词语。目前主流的语义相关性分析模型大都采用向量空间模型,在文档的向量空间模型中,文档被表示成由特征词出现概率组成的多维向量,即将关键词(也称query)和文档转换到同一空间中进行向量相似度计算。一种经典的向量空间模型是贝叶斯模型,基于贝叶斯分类模型的语义相关性分析步骤如下:训练数据预处理,包括:语法分析,特殊字符过滤,去停用词,词根还原四个步骤;特征提取,基于数据的表征关系,例如:餐饮训练数据中的用户搜索关键字信息,并非取所有的关键字及其切词处理结果作为有效的特征,而是选择有点击行为的关键字作为有效数据,进而提取特征;基于伯努利贝叶斯模型的语义相关性分类。伯努利模型采用二项分布模型,即类条件概率和先验概率模型。最后通过计算输入关键词与构建好的贝叶斯分类模型各分类之间的概率值,来确定关键词与已有意图之间的语义相关性。
上述已有技术中,基于向量空间模型而设计的语义相关性模型没有能力处理一词多义以及一义多词的问题。例如,外卖点餐系统平台中的关键词以及相关餐饮文档数据中往往包含大量多义词,例如:“周黑鸭”既可以理解为一种菜品,又可以理解为一个餐饮品牌,甚至是一种文化标签。因此,上述基于向量空间模型而设计的语义相关性模型显然无法很好地解决类似外卖点餐系统平台这类一词多义或一义多词的情形。此外,贝叶斯模型可以说是强依赖于训练数据的,当数据样本可信度不高时,其轻量的训练样本优势可能不复存在,所训练出来的模型可能与目标相差较多。意图识别模型使用SVM分类器构建时,虽然精度会很高,但是SVM本身存在运算效能的问题,从搜索优化的角度看,更加希望把核心的数据计算做到实时性。目前的意图识别模型,往往是从关键词本身出发进行特征提取,从提升特征分析的角度来看,这种训练样本的采集策略其实是有待优化的。通过一些丰富样本特征的方法,或许可以得到更加丰富、信息量更大的训练样本。
因此,本公开实施例在构建意图识别模型时,首先将训练样本进行语义相关性分析,进而扩展出多个扩展因子,如主题在所述训练关键词上的概率分布、已有系统对象信息在主题上的概率分布、所述训练关键词与已有关键词在主题维度上的概率分布以及所述训练关键词与所述已有系统对象信息在主题维度上的概率分布等,而其中所述训练关键词与已有关键词在主题维度上的概率分布以及所述训练关键词与所述已有系统对象信息在主题维度上的概率分布又采用PLSA主题模型得到,而PLSA主题模型的参数可以采用EM算法训练得到。因此,而本公开所介绍的pLSA改进算法可以以一种相对高效且保持精度的方式对训练关键词即训练样本的相关性进行挖掘,进而扩展训练关键词。在训练样本的相关性挖掘过程中,通过语义关联性分析,建设训练关键词与系统对象信息间的关联关系,从而实现从搜索层面到系统对象及系统对象属性如外卖点餐系统平台中商户、菜系、文化等深层抽象特征的过渡。
下面对于本公开实施例使用的PLSA模型进行详细介绍。
PLSA的概率图逻辑模型如图4所示,其中,D表示已有系统对象信息,Z表示隐式主题,W表示当前观察的单词。P(di)表示单词出现在已有系统对象信息di的概率,P(zk|di)表示已有系统对象信息di中出现主题zk下的单词的概率,P(wj|zk)给定主题zk出现单词wj的概率。即每个相关性主题在所有的关键词及其切词上都满足概率分布,每个已有系统对象信息在所有主题上都服从Multinomial分布。因此要计算的几个概率包括:
以P(di)的概率选中已有系统对象信息di;
以P(zk|di)的概率选中主题zk;
以P(wj|zk)的概率产生一个单词;
因此本公开实施例中需要计算的相关性概率即(di,wj),(di,wj)的联合分布如下表示:
其中,K表示主题的个数。
之后利用EM算法对PLSA模型的参数进行训练。简单介绍下EM算法的步骤:
E步:计算隐式变量(例如本公开实施例中所涉及到的隐式主题)在当前估计条件下的后验概率;
M步:计算最大似然估计值,使用E步中得到的隐式变量的后验概率,得到上述两个参数值。
在本公开实施例中,利用PLSA模型,将关键词相关的搜索行为日志和系统对象信息作为基础的训练数据,训练得到关键词与系统对象信息的语义相关性模型。在得到语义相关性模型后,当新的训练关键词进入语义相关性模型时,会输出已有关键词集合中与这个训练关键词的相关性关系,可以给出深层语义相似的已有关键词,同时也可以给出扩展信息,例如,在外卖点餐系统中可以得到的扩展信息包括:与此训练关键词高度关联的商户名称、该训练关键词包含的地域信息等。以“冒菜”作为训练关键词为例,在进入语义相关性分析模型后,可以获取相似的已有关键词,如“麻辣烫”、“串串香”等,同时还能获取扩展信息,如“U鼎冒菜”、“杨国福麻辣烫”、“张亮麻辣烫”等。
在本实施例的一个可选实现方式中,所述训练模块503包括:
训练子模块,被配置为将所述训练关键词以及所述扩展因子作为输入,对朴素贝叶斯模型进行训练,最终得到意图识别模型。
该可选的实现方式中,意图识别模型采用朴素贝叶斯模型构建。意图识别过程本质上就是一个识别关键词相关联信息的过程。朴素贝叶斯模型把关联过程转化成一个简单的分类过程,处于同一分类体系内的文本信息必然具有天然的相关性。
已有技术中,意图识别方式包括基于规则模板的分类方法和基于机器学习的识别模型。从效果上看,基于贝叶斯等SVM模型的分类器往往可以获得更优秀、更具普遍适用性的识别模型。然而,贝叶斯模型可以说是强依赖于训练数据的,当数据样本可信度不高时,其轻量的训练样本优势可能不复存在,所训练出来的模型可能与目标相差较多。意图识别模型使用SVM分类器构建模型时,虽然精度会很高,但是SVM本身存在运算效能的问题,从搜索优化的角度看,更加希望把核心的数据计算做到实时性。目前的意图识别模型,往往是从关键词本身出发进行特征提取,从提升特征分析的角度来看,这种训练样本的采集策略其实是有待优化的。而本公开实施例通过一些丰富样本特征的方法,即通过语义相关性分析,从训练关键词扩展出多种因子,并利用训练关键词和这些扩展出来的扩展因子作为训练样本,使得训练样本更加丰富、信息量更大,进而通过训练朴素贝叶斯模型得到的意图识别模型的识别能力更加准确。
查询关键词到意图的映射数据是意图识别模型的核心,语义相关性分析和朴素贝叶斯分类都是为查询关键词到意图的映射关系服务的,可以认为意图识别的核心是数据以及构建在数据基础上的识别模型。意图识别尤其对类似餐饮搜索场景的用户体验提升意义非凡。用户搜索的查询关键词在搜索引擎中,被扩展成同义关键词、口味、地域、相关商户等信息,对搜索的过滤、排序等控制都有应用意义。
本公开实施例中,语义分析相关性模型中使用pLSA模型对多语义关键词进行多维度的分类,从而构建完整的语义关联模型,相较于传统的LDA,运算速度更快,实现更简单;而相较于贝叶斯模型而言,可以处理多文本语义的歧义问题,解决了传统语义分析模型对多义短关键词无法有效处理的问题。同时,弱化了模型对数据的强依赖性,在语义关系分析阶段,使用了pLSA算法,对训练样本要求较低,不再强依赖于训练集,更多地是分析抽象层的语义关联性,其提取深层语义的能力较强,这一点体现在计算两个重要的概率值:主题在文档上的Multinial分布概率以及关键词在主题上的概率分布;其还利用概率统计,并用EM算法学习PLSA模型参数,拥有较好的计算效能。本公开实施例为了提升计算效能,在保证模型分类效果的基础上,利用朴素贝叶斯分类器来构建意图识别引擎。而目前朴素贝叶斯模型已经使用C++语言进行编写,其运行效率相较于SVM等模型,运行效能提升80%以上。可以做到实时分类的效果,这对于服务的实时性非常重要。本公开实施例由于意图识别部分使用高效但较为简单的朴素贝叶斯分类器,而该算法强依赖于数据。为了解决这个问题,本公开实施例又利用语义分析得到与原关键词有强关联关系的关键词描述信息以及同义关键词集合(即通过扩展因子确定),进而实现特征扩展,使得朴素贝叶斯模型可以在一个相对较小的规模下获得较精确的分析效果,即可利用一个轻量级的原始训练样本得到一个较为精确的意图识别分类模型。
图8是适于用来实现根据本公开实施方式的检索意图识别方法的电子设备的结构示意图。
如图8所示,电子设备800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行上述图1所示的实施方式中的各种处理。在RAM803中,还存储有电子设备800操作所需的各种程序和数据。CPU801、ROM802以及RAM803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本公开的实施方式,上文参考图1描述的方法可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行图1的检索意图识别方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。
附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
A1、一种检索意图识别方法,包括:获取训练关键词相关的用户日志;基于所述用户日志以及已有系统对象信息确定所述训练关键词的扩展因子,所述扩展因子包括主题在所述训练关键词上的概率分布、已有系统对象信息在主题上的概率分布、所述训练关键词与已有关键词在主题维度上的概率分布以及所述训练关键词与所述已有系统对象信息在主题维度上的概率分布中的至少之一;利用所述训练关键词以及所述扩展因子训练机器学习模型,得到意图识别模型;利用所述意图识别模型识别用户的检索意图。A2、根据A1所述的检索意图识别方法,获取训练关键词相关的用户日志,包括:获取预定时间段内以所述训练关键词作为输入的搜索日志。A3、根据A1所述的检索意图识别方法,所述扩展因子包括主题在所述训练关键词上的概率分布,则基于所述用户日志以及已有系统对象信息确定所述训练关键词的扩展因子,包括:基于所述用户日志提取第一主题;计算所述第一主题与所述训练关键词之间的边缘分布;根据所述第一主题与所述训练关键词之间的边缘分布确定所述第一主题在所述训练关键词上的概率分布。A4、根据A1所述的检索意图识别方法,所述扩展因子包括已有系统对象信息在主题上的概率分布,则基于所述用户日志以及已有系统对象信息确定所述训练关键词的扩展因子,包括:基于所述已有系统对象信息提取第二主题;计算所述第二主题与所述已有系统对象信息之间的边缘分布;根据所述第二主题与所述已有系统对象信息之间的边缘分布确定所述已有系统对象信息在所述第二主题上的概率分布。A5、根据A3或A4任一项所述的检索意图识别方法,所述扩展因子包括主题在所述训练关键词上的概率分布、已有系统对象信息在主题上的概率分布、所述训练关键词与已有关键词在主题维度上的概率分布以及所述训练关键词与所述已有系统对象信息在主题维度上的概率分布,则基于所述用户日志以及已有系统对象信息确定所述训练关键词的扩展因子,包括:将主题在所述训练关键词上的概率分布和已有系统对象信息在主题上的概率分布作为PLSA主题模型的输入,确定所述训练关键词与已有关键词在主题维度上的概率分布以及所述训练关键词与所述已有系统对象信息在主题维度上的概率分布;所述PLSA主题模型是预先训练好的。A6、根据A1所述的检索意图识别方法,利用所述训练关键词以及所述扩展因子训练机器学习模型,得到意图识别模型,包括:将所述训练关键词以及所述扩展因子作为输入,对朴素贝叶斯模型进行训练,最终得到意图识别模型。
B7、一种检索意图识别装置,包括:获取模块,被配置为获取训练关键词相关的用户日志;扩展模块,被配置为基于所述用户日志以及已有系统对象信息确定所述训练关键词的扩展因子,所述扩展因子包括主题在所述训练关键词上的概率分布、已有系统对象信息在主题上的概率分布、所述训练关键词与已有关键词在主题维度上的概率分布以及所述训练关键词与所述已有系统对象信息在主题维度上的概率分布中的至少之一;训练模块,被配置为利用所述训练关键词以及所述扩展因子训练机器学习模型,得到意图识别模型;识别模块,被配置为利用所述意图识别模型识别用户的检索意图。B8、根据B7所述的检索意图识别装置,所述获取模块包括:第一获取子模块,被配置为获取预定时间段内以所述训练关键词作为输入的搜索日志。B9、根据B7所述的检索意图识别装置,所述扩展因子包括主题在所述训练关键词上的概率分布,则所述扩展模块包括:第一提取子模块,被配置为基于所述用户日志提取第一主题;第一计算子模块,被配置为计算所述第一主题与所述训练关键词之间的边缘分布;第一确定子模块,被配置为根据所述第一主题与所述训练关键词之间的边缘分布确定所述第一主题在所述训练关键词上的概率分布。B10、根据B7所述的检索意图识别装置,所述扩展因子包括已有系统对象信息在主题上的概率分布,则所述扩展模块包括:第二提取子模块,被配置为基于所述已有系统对象信息提取第二主题;第二计算子模块,被配置为计算所述第二主题与所述已有系统对象信息之间的边缘分布;第二确定子模块,被配置为根据所述第二主题与所述已有系统对象信息之间的边缘分布确定所述已有系统对象信息在所述第二主题上的概率分布。B11、根据B9或B10任一项所述的检索意图识别装置,所述扩展因子包括主题在所述训练关键词上的概率分布、已有系统对象信息在主题上的概率分布、所述训练关键词与已有关键词在主题维度上的概率分布以及所述训练关键词与所述已有系统对象信息在主题维度上的概率分布,则所述扩展模块包括:第三确定子模块,被配置为将主题在所述训练关键词上的概率分布和已有系统对象信息在主题上的概率分布作为PLSA主题模型的输入,确定所述训练关键词与已有关键词在主题维度上的概率分布以及所述训练关键词与所述已有系统对象信息在主题维度上的概率分布;所述PLSA主题模型是预先训练好的。B12、根据B7所述的检索意图识别装置,所述训练模块包括:训练子模块,被配置为将所述训练关键词以及所述扩展因子作为输入,对朴素贝叶斯模型进行训练,最终得到意图识别模型。
C13、一种电子设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现A1-A6任一项所述的方法步骤。
D14、一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现A1A-6任一项所述的方法步骤。