基于多数据源的行为意图确定方法及装置与流程

文档序号:11971678阅读:230来源:国知局
基于多数据源的行为意图确定方法及装置与流程
基于多数据源的行为意图确定方法及装置【技术领域】本发明涉及数据挖掘技术,尤其涉及一种基于多数据源的行为意图确定方法及装置。

背景技术:
随着通信技术的发展,终端集成了越来越多的功能,从而使得终端的系统功能列表中包含了越来越多相应的应用程序,例如,电脑中安装的应用程序,第三方智能手机中安装的应用程序(Application,APP)等,例如,推荐应用、检索应用或地图应用等。这些应用程序每天都会产生大量的用户的行为日志,这些行为日志已经成为研究分析用户的搜索行为、改进搜索引擎/推荐引擎的宝贵资源。数据挖掘工具可以根据预先设置的时间间隔(TimeInterval,TI),对指定用户的行为日志进行划分,以组成用户意图(Session)段,进而则可以根据Session段,确定该用户的行为意图。其中,Session段是一个逻辑意义,它代表一个用户在某段时间内的一个行为意图,从用户的浏览行为来看,Session段具体可以规约成在语义上具有相同关联的连续检索行为。然而,在一些情况下,例如,指定用户在同一段时间之内,使用多种服务的客户端从多个数据源获取相应的服务,等情况,由于在一段时间之内可能会产生多个数据源的不相关的行为日志,或者几个相关的行为日志可能会持续较长的时间,因此,根据预先设置的时间间隔对用户的行为日志进行划分,可能会导致将不同行为意图的行为日志划分到同一个Session段中,或者将同一行为意图的行为日志划分到不同的Session段中,使得无法根据每个Session段准确地确定出用户的一个行为意图,从而导致了行为意图的确定的可靠性的降低。

技术实现要素:
本发明的多个方面提供一种基于多数据源的行为意图确定方法及装置,用以提高行为意图的确定的可靠性。本发明的一方面,提供一种基于多数据源的行为意图确定方法,包括:从至少一个数据源中,获取指定用户的行为日志;根据所述行为日志的属性信息,对所述行为日志进行划分,以获得至少一个Block,每个所述Block中所包括的行为日志具有文本的相似性;利用分类模型,将所述至少一个Block,映射到至少一个Session段,以使得每个所述Session段中所包括的Block之间的文本相似度大于或等于预先设置的相似度阈值;根据所述至少一个Session段,确定所述用户的行为意图。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述行为日志的属性信息包括下列中的至少一项:所述行为日志的时间信息;所述行为日志的数据源信息;以及所述行为日志的文本信息。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述属性信息包括所述行为日志的时间信息、所述行为日志的数据源信息和所述行为日志的文本信息;所述根据所述行为日志的属性信息,对所述行为日志进行划分,以获得至少一个Block,包括:若两个行为日志的时间信息相同,则将所述两个行为日志划分到同一个Block中;若连续的两个行为日志的时间信息所指示的时间差值小于或等于预先设置的时间间隔阈值,且当前行为日志的文本信息为空,则将所述当前行为日志与所述当前行为日志之前的一个行为日志划分到同一个Block中;若连续的两个行为日志的时间信息所指示的时间差值小于或等于预先设置的时间间隔阈值,且所述连续的两个行为日志的文本信息相同,则将所述连续的两个行为日志划分到同一个Block中;若连续的两个行为日志的时间信息所指示的时间差值大于预先设置的时间间隔阈值,且所述连续的两个行为日志的数据源信息为新闻、音乐、影视或地图,则将所述连续的两个行为日志划分到同一个Block中;若连续的两个行为日志的时间信息所指示的时间差值大于预先设置的时间间隔阈值,且所述连续的两个行为日志的数据源信息不为新闻、音乐、影视或地图,则将所述连续的两个行为日志划分到不同的Block中。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述利用分类模型,将所述至少一个Block,映射到至少一个Session段,包括:获得当前Block中所包括的第一个行为日志与所述当前Block之前的一个Block中所包括的第一个行为日志之间的第一时间间隔、当前Block中所包括的第一个行为日志与所述当前Block之前的一个Block中所包括的最后一个行为日志之间的第二时间间隔,以及当前Block与所述当前Block之前的一个Block之间的文本相似度;利用所述第一时间间隔、所述第二时间间隔,以及所述文本相似度,作为输入参数,运行所述分类模型,以将所述至少一个Block,映射到所述至少一个Session段。本发明的另一方面,提供一种基于多数据源的行为意图确定装置,包括:获取单元,用于从至少一个数据源中,获取指定用户的行为日志;划分单元,用于根据所述行为日志的属性信息,对所述行为日志进行划分,以获得至少一个Block,每个所述Block中所包括的行为日志具有文本的相似性;映射单元,用于利用分类模型,将所述至少一个Block,映射到至少一个Session段,以使得每个所述Session段中所包括的Block之间的文本相似度大于或等于预先设置的相似度阈值;确定单元,用于根据所述至少一个Session段,确定所述用户的行为意图。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述行为日志的属性信息包括下列中的至少一项:所述行为日志的时间信息;所述行为日志的数据源信息;以及所述行为日志的文本信息。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述属性信息包括所述行为日志的时间信息、所述行为日志的数据源信息和所述行为日志的文本信息;所述划分单元,具体用于若两个行为日志的时间信息相同,则将所述两个行为日志划分到同一个Block中;若连续的两个行为日志的时间信息所指示的时间差值小于或等于预先设置的时间间隔阈值,且当前行为日志的文本信息为空,则将所述当前行为日志与所述当前行为日志之前的一个行为日志划分到同一个Block中;若连续的两个行为日志的时间信息所指示的时间差值小于或等于预先设置的时间间隔阈值,且所述连续的两个行为日志的文本信息相同,则将所述连续的两个行为日志划分到同一个Block中;若连续的两个行为日志的时间信息所指示的时间差值大于预先设置的时间间隔阈值,且所述连续的两个行为日志的数据源信息为新闻、音乐、影视或地图,则将所述连续的两个行为日志划分到同一个Block中;若连续的两个行为日志的时间信息所指示的时间差值大于预先设置的时间间隔阈值,且所述连续的两个行为日志的数据源信息不为新闻、音乐、影视或地图,则将所述连续的两个行为日志划分到不同的Block中。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述映射单元,具体用于获得当前Block中所包括的第一个行为日志与所述当前Block之前的一个Block中所包括的第一个行为日志之间的第一时间间隔、当前Block中所包括的第一个行为日志与所述当前Block之前的一个Block中所包括的最后一个行为日志之间的第二时间间隔,以及当前Block与所述当前Block之前的一个Block之间的文本相似度;利用所述第一时间间隔、所述第二时间间隔,以及所述文本相似度,作为输入参数,运行所述分类模型,以将所述至少一个Block,映射到所述至少一个Session段。由上述技术方案可知,本发明实施例通过根据行为日志的属性信息,对所述行为日志进行划分,以获得至少一个Block,每个所述Block中所包括的行为日志具有文本的相似性,进而利用分类模型,将所述至少一个Block,映射到至少一个Session段,以使得每个所述Session段中所包括的Block之间的文本相似度大于或等于预先设置的相似度阈值,使得能够根据所述至少一个Session段,确定所述用户的行为意图,由于采用Block级别和Session段级别依次对行为日志进行基于文本相似的划分,因此,能够避免现有技术中由于根据预先设置的时间间隔对用户的行为日志进行划分而导致的将不同行为意图的行为日志划分到同一个Session段中,或者将同一行为意图的行为日志划分到不同的Session段中的问题,使得能够根据每个Session段准确地确定出用户的一个行为意图,从而提高了行为意图的确定的可靠性。【附图说明】为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明一实施例提供的基于多数据源的行为意图确定方法的流程示意图;图2为图1对应的实施例中的Block到Session段的的映射示意图;图3为图1对应的实施例中的Block级别和Session段级别的划分示意图;图4为本发明另一实施例提供的基于多数据源的行为意图确定装置的结构示意图。【具体实施方式】为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,本发明实施例中所涉及的终端可以包括但不限于手机、个人数字助理(PersonalDigitalAssistant,PDA)、无线手持装置、无线上网本、个人电脑、便携电脑、MP3播放器、MP4播放器等。另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。图1为本发明一实施例提供的基于多数据源的行为意图确定方法的流程示意图,如图1所示。101、从至少一个数据源中,获取指定用户的行为日志。102、根据所述行为日志的属性信息,对所述行为日志进行划分,以获得至少一个块(Block),每个所述Block中所包括的行为日志具有文本的相似性。103、利用分类模型,将所述至少一个Block,映射到至少一个Session段,以使得每个所述Session段中所包括的Block之间的文本相似度大于或等于预先设置的相似度阈值。104、根据所述至少一个Session段,确定所述用户的行为意图。需要说明的是,101~104的执行主体可以是数据挖掘工具,例如,日志分析软件等,可以位于本地的客户端中,以进行离线服务,或者还可以位于网络侧的服务器中,以进行在线服务,本实施例对此不进行限定。可以理解的是,所述客户端可以是安装在终端上的应用程序,或者还可以是浏览器的一个网页,只要能够实现用户的行为日志的挖掘,以提供相应服务的客观存在形式都可以,本实施例对此不进行限定。这样,通过根据行为日志的属性信息,对所述行为日志进行划分,以获得至少一个Block,每个所述Block中所包括的行为日志具有文本的相似性,进而利用分类模型,将所述至少一个Block,映射到至少一个Session段,以使得每个所述Session段中所包括的Block之间的文本相似度大于或等于预先设置的相似度阈值,使得能够根据所述至少一个Session段,确定所述用户的行为意图,由于采用Block级别和Session段级别依次对行为日志进行基于文本相似的划分,因此,能够避免现有技术中由于根据预先设置的时间间隔对用户的行为日志进行划分而导致的将不同行为意图的行为日志划分到同一个Session段中,或者将同一行为意图的行为日志划分到不同的Session段中的问题,使得能够根据每个Session段准确地确定出用户的一个行为意图,从而提高了行为意图的确定的可靠性。具体地,在全网的数据源中,用户的一个行为日志可以为如下格式:[uidURLsourcequerytitledatetimeipactidactnameactattrunifyUrlPtNumbercommonQuery]。其中,共包括14个字段,各字段的含义如下所述:用户标识(UserID,uid):baiduid映射出来的用户id,由若干数字组成;统一资源定位符(UniformResourceLocator,URL):可能为空,或可能不以“http”开头;数据源(source):产品线的数据来源,例如,百度百科(baike)、百度论坛(forum)或百度地图(map);检索关键词(query):可能为空;题目(title):网页名称;日期(date):例如,2013年6月3日,其格式一般可以为“20120603”;时间(time):例如,12点34分02秒,其格式一般可以为12:34:02;ip:IP地址;动作标识(actid):网页动作的标识;动作名称(actname):网页动作的名称;动作属性(actattr):网页动作的属性;归一化URL(unifyUrl):URL的归一化结果;URL资源类型(PtNumber):整数显示,默认‘‐’(即‘0’);通用Query(commonQuery):URL最常用的query。可选地,在本实施例的一个可能的实现方式中,所述行为日志的属性信息可以包括但不限于下列中的至少一项:所述行为日志的时间信息;所述行为日志的数据源信息;以及所述行为日志的文本信息。以百度产品为例,所述行为日志的数据源信息即产品线可以包括但不限于下列:baike百度百科;exp百度指数;forum百度论坛;image百度图片;map百度地图;news百度新闻;ps百度检索;ting百度音乐;video百度视频;wenku百度文库;iknow百度知道;wangmeng网盟;holmes百度统计;hao123;sobar百度搜霸;bae百度应用引擎;navclick新首页点击;iqiyi爱奇艺;以及yingyin百度影音。可以理解的是,不限于百度产品,所述行为日志的数据源信息即产品线还可以进一步包括除了百度产品之外的图片数据、网盟数据、无线端的数据等数据,本实施例对此不进行特别限定。可选地,在本实施例的一个可能的实现方式中,所述属性信息包括所述行为日志的时间信息、所述行为日志的数据源信息和所述行为日志的文本信息;相应地,在102中,具体可以执行以下操作中的至少一项:若两个行为日志的时间信息相同,则将所述两个行为日志划分到同一个Block中;若连续的两个行为日志的时间信息所指示的时间差值小于或等于预先设置的时间间隔阈值,且当前行为日志的文本信息为空,则将所述当前行为日志与所述当前行为日志之前的一个行为日志划分到同一个Block中;若连续的两个行为日志的时间信息所指示的时间差值小于或等于预先设置的时间间隔阈值,且所述连续的两个行为日志的文本信息相同,则将所述连续的两个行为日志划分到同一个Block中;若连续的两个行为日志的时间信息所指示的时间差值大于预先设置的时间间隔阈值,且所述连续的两个行为日志的数据源信息为新闻、音乐、影视或地图,则将所述连续的两个行为日志划分到同一个Block中;若连续的两个行为日志的时间信息所指示的时间差值大于预先设置的时间间隔阈值,且所述连续的两个行为日志的数据源信息不为新闻、音乐、影视或地图,则将所述连续的两个行为日志划分到不同的Block中。例如,具体可以依次提取两个行为日志中的query字段、actattr字段、commonQuery字段和title字段中所包含的文本信息(包括停用词、乱码和干扰词等过滤处理),即首先考虑query字段,如果query字段不为空,则直接返回query字段的值。如果query字段为空,则考虑actattr字段。具体地,actattr字段中包含有丰富的文本信息,而且不同产品线所对应的行为日志中的actattr字段的一些值可能会不相同,因此对于不同产品线的actattr字段要区分处理。例如,对于navclick来说,只要actattr字段非空,就直接提取即可。或者,再例如,对于yingyin来说,actattr字段提取出的内容,可能包含一些乱码、非中文/英文字符等,将其去掉即为actattr字段最终的值。或者,再例如,对于一些产品线来说,actattr字段基本为空,具体可以通过依次提取其他字段中所包含的文本信息,参见下面几个产品线的举例中的***,作为actattr字段的值。例如,baike:[词条名=***]->[tag=***]forum:[吧名=***]->[一级目录=***]->[二级目录=***]video:[type=***]->[word=***]->[query=***]iknow:[问题入口=***]map:[城市名=***]wenku:[query=***]->[文档编号=***]其中,箭头“->”代表按照顺序依次提取。如果actattr字段的值为0,则考虑commonQuery字段,如果commonQuery字段不为空,则直接返回commonQuery字段的值。如果commonQuery字段为空,则再继续考虑title字段。具体地,具体可以在对所述行为日志进行划分,所获得的Block中所包括的行为日志中增加一个字段,用以标识Block。具体可以为如下格式:[uidURLsourcequerytitledatetimeipactidactnameactattrunifyUrlPtNumbercommonQueryblockMark]。其中,块标记(blockMark)字段可以包括两种取值,一种为“BLK”,用于表示Block的开始,另一种为“-”,用于表示当前行为日志与所述当前行为日志之前的行为日志同在一个Block中。如图3所示,其中的行为日志最终被划分为6个Block,即Block1、Block2、Block3、Block4、Block5和Block6。其中,Block1中包括3个行为日志;Block2中包括2个行为日志;Block3中包括3个行为日志;Block4中包括3个行为日志;Block5中包括2个行为日志;以及Block6中包括2个行为日志。可选地,在本实施例的一个可能的实现方式中,在103中,具体可以获得当前Block中所包括的第一个行为日志与所述当前Block之前的一个Block中所包括的第一个行为日志之间的第一时间间隔、当前Block中所包括的第一个行为日志与所述当前Block之前的一个Block中所包括的最后一个行为日志之间的第二时间间隔,以及当前Block与所述当前Block之前的一个Block之间的文本相似度。例如,具体可以对两个Block中所包括的行为日志中的query字段、commonQuery字段、actattr字段、title字段和URL字段中的至少一个字段中所包含的文本信息进行切词处理(包括停用词、乱码和干扰词等过滤处理),进而获得切词结果的逆文档频率(InverseDocumentFrequency,IDF)权值,并利用这些IDF权值,计算两个Block之间的文本相似度。需要说明的是,对于一些产品线来说,actattr字段基本为空,具体可以通过提取其他字段中所包含的文本信息,参见下面几个产品线的举例中的***,替代actattr字段中所包含的文本信息。例如,baike:[词条名=***][tag=***][query=***][cardname=***]forum:[吧名=***][一级目录=***][二级目录=***][query=***][吧类目=***][相册名=***]video:[word=***][query=***][type=***][director=***][actor=***][area=***]iknow:[问题入口=***][qid=***]image:[query=***]map:[城市名=***][出发地=***][目的地=***][query=***][目标城市=***]news:[query=***]ting:[query=***]wenku:[文档编号=***][query=***]exp:[query=***]image:[query=***]ps:[oq=***][sug=***][标题=***]进而,则可以利用所述第一时间间隔、所述第二时间间隔,以及所述文本相似度,作为输入参数,运行所述分类模型,以将所述至少一个Block,映射到所述至少一个Session段。需要说明的是,所述当前Block之前的一个Block,可以为所述当前Block之前相邻的一个Block,或者还可以为所述当前Block之前间隔若干Block的一个Block(例如,预先设置的时间阈值范围内的一个Block),本实施例对此不进行特别的限定,只要能够尽可能将所述当前Block映射到所述当前Block之前的一个Block所映射的Session段,如果没有映射成功,则可以将所述当前Block映射到一个新的Session段。下面用一个例子,来说明对所述当前Block之前的一个Block,采用所述当前Block之前的在预先设置的时间阈值范围内的一个Block的映射结果。假设一个用户在时间段20pm-23pm之间进行了如下检索行为:曼联@20:19:14;曼联直播@20:21:38;长痘痘的位置@22:01:04;如何改善员工不稳定性@22:11:51;长痘痘是吃什么@22:19:11;如何稳定员工队伍@23:02:44。如图2所示,首先,根据Block的划分原则,可以获得6个Block,即Block1(曼联@20:19:14)、Block2(曼联直播@20:21:38)、Block3(长痘痘的位置@22:01:04)、Block4(如何改善员工不稳定性@22:11:51)、Block5(长痘痘是吃什么@22:19:11)和Block6(如何稳定员工队伍@23:02:44)。然后,遍历这6个Block,对于当前Block,利用分类器,判断是否和上一个Block属于同一个Session段。例如,当前Block为Block1(曼联@20:19:14),它是第一个Block,因此,Block1(曼联@20:19:14)属于Session段1;当前Block为Block2(曼联直播@20:21:38),利用分类器判断Block2(曼联直播@20:21:38)和Block1(曼联@20:19:14)属于同一个Session段,即Session段1;当前Block为Block3(长痘痘的位置@22:01:04),利用分类器判断Block3(长痘痘的位置@22:01:04)和Block2(曼联直播@20:21:38)不属于同一个Session段,接下来往回判断,由于Block3(长痘痘的位置@22:01:04)与Block1(曼联@20:19:14)之间的时间间隔大于预先设置的时间阈值(1小时),因此,Block3(长痘痘的位置@22:01:04)属于新的Session段,即Session段2;当前Block为Block4(如何改善员工不稳定性@22:11:51),利用分类器判断Block4(如何改善员工不稳定性@22:11:51)和Block3(长痘痘的位置@22:01:04)不属于同一个Session段,接下来往回判断,由于Block4(如何改善员工不稳定性@22:11:51)与Block2(曼联直播@20:21:38)之间的时间间隔大于预先设置的时间阈值(1小时),因此,Block4(如何改善员工不稳定性@22:11:51)属于新的Session段,即Session段3;当前Block为Block5(长痘痘是吃什么@22:19:11),利用分类器判断Block5(长痘痘是吃什么@22:19:11)和Block4(如何改善员工不稳定性@22:11:51)不属于同一个Session段,接下来往回判断,由于Block5(长痘痘是吃什么@22:19:11)与Block3(长痘痘的位置@22:01:04)之间的时间间隔小于预先设置的时间阈值(1小时),利用分类器判断Block5(长痘痘是吃什么@22:19:11)和Block3(长痘痘的位置@22:01:04)属于同一个Session段,即Session段2;当前Block为Block6(如何稳定员工队伍@23:02:44),利用分类器判断Block6(如何稳定员工队伍@23:02:44)和Block5(长痘痘是吃什么@22:19:11)不属于同一个Session段,接下来往回判断,由于Block6(如何稳定员工队伍@23:02:44)与Block4(如何改善员工不稳定性@22:11:51)之间的时间间隔小于预先设置的时间阈值(1小时),利用分类器判断Block6(如何稳定员工队伍@23:02:44)和Block4(如何改善员工不稳定性@22:11:51)属于同一个Session段,即Session段3。这样,通过利用分类器判断当前Block与所述当前Block之前的在预先设置的时间阈值范围内的一个Block的映射结果是否属于同一个Session段,可以满足用户在交叉浏览网页时候产生交叉的行为日志的情况,从而在一定程度上保持了映射的完整性。其中,利用测试样本中当前Block中所包括的第一个行为日志与所述当前Block之前的一个Block中所包括的第一个行为日志之间的第一时间间隔、当前Block中所包括的第一个行为日志与所述当前Block之前的一个Block中所包括的最后一个行为日志之间的第二时间间隔,以及当前Block与所述当前Block之前的一个Block之间的文本相似度,对所述分类模型进行训练的训练方法,可以采用现有技术中的相关内容,此处不再赘述。具体地,具体可以在对所述Block进行映射,所获得的Session段中所包括的Block中增加一个分隔符,例如,空行。如图3所示,其中的6个Block,即Block1、Block2、Block3、Block4、Block5和Block6,被映射到3个Session段,即Session段1、Session段2和Session段3。其中,Session段1中包括3个Block,即Block1、Block2和Block3;Session段2中包括1个Block,即Block4;Session段3中包括2个Block,即Block5和Block6。由图3可以看出,采用本发明提供的技术方案,能够输出两种粒度的划分结果,即Block级划分和Session段级划分。数据挖掘工具具体可以根据需求,获得对应粒度的划分结果。例如,如果需要Session段级划分,数据挖掘工具则只需要识别是否遇到空行,如果遇到空行,则说明一个Session段级的开始;或者,再例如,如果需要Block级划分,数据挖掘工具则需要识别是否遇到空行或blockMark字段,如果遇到空行或“BLK”,则说明一个Block的开始。本实施例中,通过根据行为日志的属性信息,对所述行为日志进行划分,以获得至少一个Block,每个所述Block中所包括的行为日志具有文本的相似性,进而利用分类模型,将所述至少一个Block,映射到至少一个Session段,以使得每个所述Session段中所包括的Block之间的文本相似度大于或等于预先设置的相似度阈值,使得能够根据所述至少一个Session段,确定所述用户的行为意图,由于采用Block级别和Session段级别依次对行为日志进行基于文本相似的划分,因此,能够避免现有技术中由于根据预先设置的时间间隔对用户的行为日志进行划分而导致的将不同行为意图的行为日志划分到同一个Session段中,或者将同一行为意图的行为日志划分到不同的Session段中的问题,使得能够根据每个Session段准确地确定出用户的一个行为意图,从而提高了行为意图的确定的可靠性。需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。图4为本发明另一实施例提供的基于多数据源的行为意图确定装置的结构示意图,如图4所示。本实施例的基于多数据源的行为意图确定装置可以包括获取单元41、划分单元42、映射单元43和确定单元44。其中,获取单元41,用于从至少一个数据源中,获取指定用户的行为日志;划分单元42,用于根据所述行为日志的属性信息,对所述行为日志进行划分,以获得至少一个Block,每个所述Block中所包括的行为日志具有文本的相似性;映射单元43,用于利用分类模型,将所述至少一个Block,映射到至少一个Session段,以使得每个所述Session段中所包括的Block之间的文本相似度大于或等于预先设置的相似度阈值;确定单元44,用于根据所述至少一个Session段,确定所述用户的行为意图。需要说明的是,本实施例提供的装置可以是数据挖掘工具,例如,日志分析软件等,可以位于本地的客户端中,以进行离线服务,或者还可以位于网络侧的服务器中,以进行在线服务,本实施例对此不进行限定。可以理解的是,所述客户端可以是安装在终端上的应用程序,或者还可以是浏览器的一个网页,只要能够实现用户的行为日志的挖掘,以提供相应服务的客观存在形式都可以,本实施例对此不进行限定。这样,通过划分单元根据行为日志的属性信息,对所述行为日志进行划分,以获得至少一个Block,每个所述Block中所包括的行为日志具有文本的相似性,进而由映射单元利用分类模型,将所述至少一个Block,映射到至少一个Session段,以使得每个所述Session段中所包括的Block之间的文本相似度大于或等于预先设置的相似度阈值,使得确定单元能够根据所述至少一个Session段,确定所述用户的行为意图,由于采用Block级别和Session段级别依次对行为日志进行基于文本相似的划分,因此,能够避免现有技术中由于根据预先设置的时间间隔对用户的行为日志进行划分而导致的将不同行为意图的行为日志划分到同一个Session段中,或者将同一行为意图的行为日志划分到不同的Session段中的问题,使得能够根据每个Session段准确地确定出用户的一个行为意图,从而提高了行为意图的确定的可靠性。具体地,在全网的数据源中,用户的一个行为日志可以为如下格式:[uidURLsourcequerytitledatetimeipactidactnameactattrunifyUrlPtNumbercommonQuery]。其中,共包括14个字段,各字段的含义如下所述:用户标识(UserID,uid):baiduid映射出来的用户id,由若干数字组成;统一资源定位符(UniformResourceLocator,URL):可能为空,或可能不以“http”开头;数据源(source):产品线的数据来源,例如,百度百科(baike)、百度论坛(forum)或百度地图(map);检索关键词(query):可能为空;题目(title):网页名称;日期(date):例如,2013年6月3日,其格式一般可以为“20120603”;时间(time):例如,12点34分02秒,其格式一般可以为12:34:02;ip:IP地址;动作标识(actid):网页动作的标识;动作名称(actname):网页动作的名称;动作属性(actattr):网页动作的属性;归一化URL(unifyUrl):URL的归一化结果;URL资源类型(PtNumber):整数显示,默认‘‐’(即‘0’);通用Query(commonQuery):URL最常用的query。可选地,在本实施例的一个可能的实现方式中,所述行为日志的属性信息可以包括但不限于下列中的至少一项:所述行为日志的时间信息;所述行为日志的数据源信息;以及所述行为日志的文本信息。以百度产品为例,所述行为日志的数据源信息可以包括但不限于下列:baike百度百科;exp百度指数;forum百度论坛;image百度图片;map百度地图;news百度新闻;ps百度检索;ting百度音乐;video百度视频;wenku百度文库;iknow百度知道;wangmeng网盟;holmes百度统计;hao123;sobar百度搜霸;bae百度应用引擎;navclick新首页点击;iqiyi爱奇艺;以及yingyin百度影音。可选地,在本实施例的一个可能的实现方式中,所述属性信息包括所述行为日志的时间信息、所述行为日志的数据源信息和所述行为日志的文本信息;相应地,所述划分单元42,具体可以用于执行以下操作中的至少一项:若两个行为日志的时间信息相同,则将所述两个行为日志划分到同一个Block中;若连续的两个行为日志的时间信息所指示的时间差值小于或等于预先设置的时间间隔阈值,且当前行为日志的文本信息为空,则将所述当前行为日志与所述当前行为日志之前的一个行为日志划分到同一个Block中;若连续的两个行为日志的时间信息所指示的时间差值小于或等于预先设置的时间间隔阈值,且所述连续的两个行为日志的文本信息相同,则将所述连续的两个行为日志划分到同一个Block中;若连续的两个行为日志的时间信息所指示的时间差值大于预先设置的时间间隔阈值,且所述连续的两个行为日志的数据源信息为新闻、音乐、影视或地图,则将所述连续的两个行为日志划分到同一个Block中;若连续的两个行为日志的时间信息所指示的时间差值大于预先设置的时间间隔阈值,且所述连续的两个行为日志的数据源信息不为新闻、音乐、影视或地图,则将所述连续的两个行为日志划分到不同的Block中。具体地,划分单元具体可以在对所述行为日志进行划分,所获得的Block中所包括的行为日志中增加一个字段,用以标识Block。具体可以为如下格式:[uidURLsourcequerytitledatetimeipactidactnameactattrunifyUrlPtNumbercommonQueryblockMark]。其中,块标记(blockMark)字段可以包括两种取值,一种为“BLK”,用于表示Block的开始,另一种为“-”,用于表示当前行为日志与所述当前行为日志之前的行为日志同在一个Block中。如图3所示,其中的行为日志最终被划分为6个Block,即Block1、Block2、Block3、Block4、Block5和Block6。其中,Block1中包括3个行为日志;Block2中包括2个行为日志;Block3中包括3个行为日志;Block4中包括3个行为日志;Block5中包括2个行为日志;以及Block6中包括2个行为日志。可选地,在本实施例的一个可能的实现方式中,所述映射单元43,具体可以用于获得当前Block中所包括的第一个行为日志与所述当前Block之前的一个Block中所包括的第一个行为日志之间的第一时间间隔、当前Block中所包括的第一个行为日志与所述当前Block之前的一个Block中所包括的最后一个行为日志之间的第二时间间隔,以及当前Block与所述当前Block之前的一个Block之间的文本相似度;以及利用所述第一时间间隔、所述第二时间间隔,以及所述文本相似度,作为输入参数,运行所述分类模型,以将所述至少一个Block,映射到所述至少一个Session段。需要说明的是,所述当前Block之前的一个Block,可以为所述当前Block之前相邻的一个Block,或者还可以为所述当前Block之前间隔若干Block的一个Block(例如,预先设置的时间阈值范围内的一个Block),本实施例对此不进行特别的限定,只要能够尽可能将所述当前Block映射到所述当前Block之前的一个Block所映射的Session段,如果没有映射成功,则可以将所述当前Block映射到一个新的Session段。下面用一个例子,来说明对所述当前Block之前的一个Block,采用所述当前Block之前的在预先设置的时间阈值范围内的一个Block的映射结果。假设一个用户在时间段20pm-23pm之间进行了如下检索行为:曼联@20:19:14;曼联直播@20:21:38;长痘痘的位置@22:01:04;如何改善员工不稳定性@22:11:51;长痘痘是吃什么@22:19:11;如何稳定员工队伍@23:02:44。如图2所示,首先,划分单元根据Block的划分原则,可以获得6个Block,即Block1(曼联@20:19:14)、Block2(曼联直播@20:21:38)、Block3(长痘痘的位置@22:01:04)、Block4(如何改善员工不稳定性@22:11:51)、Block5(长痘痘是吃什么@22:19:11)和Block6(如何稳定员工队伍@23:02:44)。然后,映射单元遍历这6个Block,对于当前Block,利用分类器,判断是否和上一个Block属于同一个Session段。例如,当前Block为Block1(曼联@20:19:14),它是第一个Block,因此,Block1(曼联@20:19:14)属于Session段1;当前Block为Block2(曼联直播@20:21:38),利用分类器判断Block2(曼联直播@20:21:38)和Block1(曼联@20:19:14)属于同一个Session段,即Session段1;当前Block为Block3(长痘痘的位置@22:01:04),利用分类器判断Block3(长痘痘的位置@22:01:04)和Block2(曼联直播@20:21:38)不属于同一个Session段,接下来往回判断,由于Block3(长痘痘的位置@22:01:04)与Block1(曼联@20:19:14)之间的时间间隔大于预先设置的时间阈值(1小时),因此,Block3(长痘痘的位置@22:01:04)属于新的Session段,即Session段2;当前Block为Block4(如何改善员工不稳定性@22:11:51),利用分类器判断Block4(如何改善员工不稳定性@22:11:51)和Block3(长痘痘的位置@22:01:04)不属于同一个Session段,接下来往回判断,由于Block4(如何改善员工不稳定性@22:11:51)与Block2(曼联直播@20:21:38)之间的时间间隔大于预先设置的时间阈值(1小时),因此,Block4(如何改善员工不稳定性@22:11:51)属于新的Session段,即Session段3;当前Block为Block5(长痘痘是吃什么@22:19:11),利用分类器判断Block5(长痘痘是吃什么@22:19:11)和Block4(如何改善员工不稳定性@22:11:51)不属于同一个Session段,接下来往回判断,由于Block5(长痘痘是吃什么@22:19:11)与Block3(长痘痘的位置@22:01:04)之间的时间间隔小于预先设置的时间阈值(1小时),利用分类器判断Block5(长痘痘是吃什么@22:19:11)和Block3(长痘痘的位置@22:01:04)属于同一个Session段,即Session段2;当前Block为Block6(如何稳定员工队伍@23:02:44),利用分类器判断Block6(如何稳定员工队伍@23:02:44)和Block5(长痘痘是吃什么@22:19:11)不属于同一个Session段,接下来往回判断,由于Block6(如何稳定员工队伍@23:02:44)与Block4(如何改善员工不稳定性@22:11:51)之间的时间间隔小于预先设置的时间阈值(1小时),利用分类器判断Block6(如何稳定员工队伍@23:02:44)和Block4(如何改善员工不稳定性@22:11:51)属于同一个Session段,即Session段3。这样,通过映射单元利用分类器判断当前Block与所述当前Block之前的在预先设置的时间阈值范围内的一个Block的映射结果是否属于同一个Session段,可以满足用户在交叉浏览网页时候产生交叉的行为日志的情况,从而在一定程度上保持了映射的完整性。其中,利用测试样本中当前Block中所包括的第一个行为日志与所述当前Block之前的一个Block中所包括的第一个行为日志之间的第一时间间隔、当前Block中所包括的第一个行为日志与所述当前Block之前的一个Block中所包括的最后一个行为日志之间的第二时间间隔,以及当前Block与所述当前Block之前的一个Block之间的文本相似度,对所述分类模型进行训练的训练方法,可以采用现有技术中的相关内容,此处不再赘述。具体地,映射单元具体可以在对所述Block进行映射,所获得的Session段中所包括的Block中增加一个分隔符,例如,空行。如图3所示,其中的6个Block,即Block1、Block2、Block3、Block4、Block5和Block6,被映射到3个Session段,即Session段1、Session段2和Session段3。其中,Session段1中包括3个Block,即Block1、Block2和Block3;Session段2中包括1个Block,即Block4;Session段3中包括2个Block,即Block5和Block6。由图3可以看出,采用本发明提供的技术方案,能够输出两种粒度的划分结果,即Block级划分和Session段级划分。数据挖掘工具具体可以根据需求,获得对应粒度的划分结果。例如,如果需要Session段级划分,数据挖掘工具则只需要识别是否遇到空行,如果遇到空行,则说明一个Session段级的开始;或者,再例如,如果需要Block级划分,数据挖掘工具则需要识别是否遇到空行或blockMark字段,如果遇到空行或“BLK”,则说明一个Block的开始。采用本发明提供的技术方案,获得的Session段,可以应用在如下百度现有产品中,例如,ps电影相关搜索、video首页“猜你喜欢”频道、“我的随心看”频道和短视频个性化推荐、yingyin首页“为你推荐”频道和“随心看”频道、hao123影视首页“猜你喜欢”频道等。本实施例中,通过划分单元根据行为日志的属性信息,对所述行为日志进行划分,以获得至少一个Block,每个所述Block中所包括的行为日志具有文本的相似性,进而由映射单元利用分类模型,将所述至少一个Block,映射到至少一个Session段,以使得每个所述Session段中所包括的Block之间的文本相似度大于或等于预先设置的相似度阈值,使得确定单元能够根据所述至少一个Session段,确定所述用户的行为意图,由于采用Block级别和Session段级别依次对行为日志进行基于文本相似的划分,因此,能够避免现有技术中由于根据预先设置的时间间隔对用户的行为日志进行划分而导致的将不同行为意图的行为日志划分到同一个Session段中,或者将同一行为意图的行为日志划分到不同的Session段中的问题,使得能够根据每个Session段准确地确定出用户的一个行为意图,从而提高了行为意图的确定的可靠性。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1