具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
图1是根据本发明的网页数据分析方法的第一实施例的流程图。如图1所示,该方法包括如下步骤:
步骤S102,获取用户在网页上输入的m个关键词。
用户需求与用户输入的关键词之间应存在多对多的依存关系,即每个用户需求可以通过用户输入的不同的关键词来表示意图,每个关键词也可以表示多个不同的用户需求意图。为了简化问题,该方法定义用户需求与用户输入的关键词之间存在一对多的依存关系。通过对用户在网站中输入的关键词进行聚类的方式可以对用户需求进行识别。
步骤S104,获取m个关键词中存在依存关系的关键词,其中,对应的用户需求相同的关键词之间存在依存关系。
对于用户的一次网页数据搜索行为,往往搜索的各关键词之间存在关系,这种关系不是各个关键词字面上的相似性,而是关键词体现的用户需求相同。比如,用户在进行网页数据搜索时,搜索的关键词之间可能存在以下依存关系:一个关键词是前个一关键词的归属(ki=f(ki-1)),或后一个关键词是所有前面关键词的归属(ki=f(ki-1,ki-2,ki-3,…,k1))等等。
步骤S106,将m个关键词中存在依存关系的关键词划分为同一类关键词。
因为具有依存关系的一类关键词对应同一用户需求,因此按照依存关系可以将用户输入的关键词分为几类。通过这种聚类的方式,能够挖掘出深层次的关键词聚合关系,从而准确地表示用户需求。例如能发现“违章”、“电子眼”、“电子jin”和“电子敬察”之间的关系。
该实施例由于采取了以下步骤:获取用户在网页上输入的m个关键词;获取m个关键词中存在依存关系的关键词;以及将m个关键词中存在依存关系的关键词划分为同一类关键词,使得网页数据分析是基于用户需求决定的关键词之间的依存关系,而不再片面地依赖关键词之间的字面重叠程度。该方法突破了传统query聚合过程基于query本身字面匹配假设的局限性,采用用户行为数据进行数据挖掘,构建出更符合用户需求的数学模型。
图2是根据本发明的网页数据分析方法的第二实施例的流程图。该实施例可以作为图1所示实施例的一种优选实施方式,如图2所示,该网页数据分析方法包括:
步骤S201,在网页加载脚本文件代码。
脚本文件类似于DOS操作系统中的批处理文件,它可以将不同的命令组合起来,并按确定的顺序自动连续地执行。脚本程序相对一般程序开发来说比较接近自然语言,可以不经编译而是解释执行。
脚本语言种类较多,一般的脚本语言的执行只同具体的解释执行器有关,所以只要系统上有相应语言的解释程序就可以做到跨平台。优选地,在该方法中可使用javascript,通过在网站中添加javascript代码来获取用户在进行网页浏览时的行为数据。
步骤S202,接收用户在网页的输入行为。
用户在网站中进行搜索,其输入的数据可以通过javascript代码监测并实现动态读取。
步骤S204,通过脚本文件代码读取网页的输入行为所携带的m个关键词。
用户在一次会话中进行的站内搜索行为,能够构成一条站内搜索的序列,表示为[Keyword1,Keyword2,Keyword3,……]。用唯一键表示每条会话,能够形成如下格式的数据:
会话 |
关键词 |
1 |
Keyword1 |
1 |
Keyword2 |
2 |
Keyword2 |
… |
… |
其中,数据包括但不限于会话和关键词两列,还可以包含如搜索时间、搜索次数等更多维度,用以提高聚类的性能。
步骤S206,获取m个关键词中存在依存关系的关键词,其中,对应的用户需求相同的关键词之间存在依存关系。
该步骤等同于S104,这里不再赘述。
步骤S207,将m个关键词中存在依存关系的关键词划分为同一类关键词。
该步骤等同于S106,这里不再赘述。
在该实施例中,给出了网页数据分析的具体步骤:在网页加载脚本文件代码;接收用户在网页的输入行为;通过脚本文件代码读取网页的输入行为所携带的m个关键词;获取m个关键词中存在依存关系的关键词;将m个关键词中存在依存关系的关键词划分为同一类关键词。通过以上步骤,可以动态读取用户输入的关键词,准确、高效地获取待分析的网页数据,有利于对用户数据高效地进行聚类分析。
图3是根据本发明的网页数据分析方法的第三实施例的流程图。该实施例可以作为图1所示实施例的一种优选实施方式,如图3所示,该网页数据分析法包括:
步骤S301,获取用户在网页上输入的m个关键词。
该步骤等同于S102,这里不再赘述。
步骤S302,确定假设条件,其中,假设条件是假设的m个关键词的输入行为中包含的逻辑关系。
用户进行搜索行为必定存在用户需求,根据网页数据分析者实际的业务需求(即对哪方面的用户需求感兴趣),可提出合理的假设条件。根据假设条件可得到关键词之间的依存关系。
例如:一次会话的关键词序列是A-B-C-D,该方法的假设条件可以是建立依存关系{AD,BD,CD,DD}。其他的假设条件可以建立不同的依存关系,如{AB,BC,CD}或{AB,AC,AD,BC,BD,CD}等。
优选地,可提出如下的几点假设:1、用户浏览网站时,同一个会话的访问目的唯一;2、用户在同一次会话中所产生的站内关键词在语义上存在相关性;3、用户在达到访问目的的过程中,可能会产生多次站内搜索行为,但这些行为自身具有自我修正的特点。基于以上三条假设,可以得到这样的结论:会话中最后一次站内搜索使用的关键词是该会话所有关键词的归属。基于此可以明确关键词之间的依存关系。
步骤S303,根据假设条件创建图模型{G,S},其中,G代表m个关键词的集合,S代表m个关键词之间的依存关系的集合。
根据步骤S302的假设,构建m个关键词的有向图{G,S},其中G表示图中m个关键词的集合,每一个关键词可以表示为图中的一个节点;S表示图中关键词依存关系的集合,表示图中两个节点之间相连的一条边,其中,边的方向由两节点的依赖关系决定,边的强度由该依赖关系的次数决定。根据步骤S302中优选的假设条件,在一次会话中,所有关键词均具有指向该会话最后一个关键词的一条边。
步骤S304,通过图模型,获取m个关键词中存在依存关系的关键词。
图模型中给出了所有关键词及关键词依存关系的集合,根据网页数据分析者实际的业务需求,可以将代表同一用户需求的多个关键词组识别出来。
采用简单的图模型寻找社团的算法进行query的聚类,避开了传统的聚类算法,复杂度O(nlgn)。
步骤S305,将m个关键词中存在依存关系的关键词划分为同一类关键词。
该步骤等同于S106,这里不再赘述。
在该实施例中,给出了网页数据分析的具体步骤:获取用户在网页上输入的m个关键词;确定假设条件;根据假设条件创建图模型{G,S};通过图模型,获取m个关键词中存在依存关系的关键词;将m个关键词中存在依存关系的关键词划分为同一类关键词。在以上步骤中,由于根据用户的不同需求可自行拟定假设条件,使得该方法适用的网页数据分析范围及其广泛,可满足各种网页数据分析用户的需求。同时,由于该方法是基于网页的输入行为包含的逻辑关系而建立的关键词之间的联系,从而能准确反映用户需求。
图4是根据本发明的网页数据分析方法的第四实施例的流程图。该实施例可以作为图3所示实施例的一种优选实施方式,如图4所示,该网页数据分析法包括:
步骤S401,获取用户在网页上输入的m个关键词。
该步骤等同于步骤S102,这里不再赘述。
步骤S403,确定假设条件,其中,假设条件是假设的m个关键词的输入行为中包含的逻辑关系。
与步骤S302相同,这里不再赘述。
步骤S404,根据假设条件创建图模型{G,S},其中,G代表m个关键词的集合,S代表m个关键词之间的依存关系的集合。
与步骤S303相同,这里不再赘述。
步骤S405,根据m个关键词之间的依存关系的强度计算转移概率,其中,转移概率是每个关键词属于与其存在依存关系的关键词的概率。
根据关键词之间的依存关系的强度可以计算出节点依存于各个节点的概率,即转移概率。将转移概率定义为c(ni,nj)/c(nj),c(ni,nj)是第i个网页数据与第j个网页数据的依存关系的强度,c(nj)是第j个网页数据的所有依存关系的强度之和,其中,i,j∈{1,2…m}并且i≠j。
步骤S406,按照转移概率对m个关键词进行迭代,获取m个关键词中存在依存关系的关键词。
按照转移概率对节点(关键词)进行迭代,每一个节点(关键词)都以转移概率随机地移动到其依存的节点(关键词)中去。依此进行多次迭代,计算最终迭代后节点(关键词)所属于的同一用户需求的关键词组。
重复进行上述随机游走的过程多次,根据大数定律得到最终节点(关键词)属于最终的关键词组(关键词簇)的判定。该重复多次的过程是有必要的,因为模型之初构建的有向图是一个有向有环图,因此节点有可能通过转移概率进入到环中,得到局部最优解。重复步骤可以有效地减少这种错误,使聚类的准确度得到提高。
步骤S407,将m个关键词中存在依存关系的关键词划分为同一类关键词。
与步骤S106相同,这里不再赘述。
在该实施例中,给出了网页数据分析的具体步骤:获取用户在网页上输入的m个关键词;确定假设条件;根据假设条件创建图模型{G,S};根据m个关键词之间的依存关系的强度计算转移概率;按照转移概率对m个关键词进行迭代,获取m个关键词中存在依存关系的关键词;将m个关键词中存在依存关系的关键词划分为同一类关键词。在以上步骤中,通过采用迭代的方式,待分析的关键词中属于同一用户需求的关键词逐渐聚为一类,这种聚类方式更加符合用户的真实需求,聚类结果更具分析价值。
图5是根据本发明的网页数据分析方法的第五实施例的流程图。该实施例可以作为图4所示实施例的一种优选实施方式,如图5所示,该网页数据分析法包括:
步骤S501,获取用户在网页上输入的m个关键词。
该步骤等同于步骤S102,这里不再赘述。
步骤S503,确定假设条件,其中,假设条件是假设的m个关键词的输入行为中包含的逻辑关系。
与步骤S302相同,这里不再赘述。
步骤S504,根据假设条件创建图模型{G,S},其中,G代表m个关键词的集合,S代表m个关键词之间的依存关系的集合。
与步骤S303相同,这里不再赘述。
步骤S505,根据m个关键词之间的依存关系的强度计算转移概率,其中,转移概率是每个关键词属于与其存在依存关系的关键词的概率。
与步骤S405相同,这里不再赘述。
步骤S506,假设在进行迭代之前第i个关键词属于第i关键词簇,其中,簇是一类关键词的集合,i=1,2...m。
在初始化时假设图中所有的节点(关键词)都各自属于一个关键词簇(各自都持有自己的一次投票机会),以每个节点为起点,开始进行迭代。
步骤S507,按照转移概率对第i个关键词进行一次迭代,计算迭代后第i个关键词属于的第k关键词簇,其中,k∈{1,2...i-1,i+1...m}。
在迭代进行的过程中,每一个节点都以转移概率随机地移动到其依存节点中去。随着迭代的进行,体现相同用户需求的关键词会越聚越多,直到该关键词簇涵盖了m个关键词中均具有该依存关系的所有关键词。
步骤S508,判断第i簇和第k簇的差异是否小于预设值,其中,预设值是预先设定的关键词簇允许的误差值。
预设值的设定可以根据不同数据分析者的自身需求进行设定。
每进行一次迭代得到该节点属于的关键词簇,则将其与该节点迭代前属于的关键词簇进行对比。然后判断当前关键词簇与前一个关键词簇之间的差异,其中,当前关键词簇与前一个关键词簇之间差异的定义是:差异值=本次改变所属关键词簇的节点的个数/总节点数(diff=nchange/N)。通过该判断步骤,可以促使第i个关键词一步步逼近自身属于的关键词簇。
步骤S509,如果第i簇和第k簇的差异大于预设值,则继续进行迭代。
该步骤是重复步骤S507。当第i关键词簇和第k关键词簇的差异大于预设值时,说明体现同一用户需求的关键词还没有完全涵盖进该关键词簇中,需要继续进行迭代。
步骤S510,如果第i关键词簇和第k关键词簇的差异小于或者等于预设值,则停止迭代,获取第i个关键词属于的关键词簇中的所有关键词。
当第i关键词簇和第k关键词簇的差异小于或者等于预设值,可认为体现同一用户需求的关键词已经完全涵盖进该关键词簇中。
可选地,也可以根据数据分析者的分析需求,设定迭代次数。当完成预设迭代次数,则获取第i个关键词属于的关键词簇中的所有关键词。
步骤S511,将m个关键词中存在依存关系的关键词划分为同一类关键词。
与步骤S106相同,这里不再赘述。
在该实施例中,给出了网页数据分析的具体步骤:获取用户在网页上输入的m个关键词;确定假设条件;根据假设条件创建图模型{G,S};根据m个关键词之间的依存关系的强度计算转移概率;假设在进行迭代之前第i个关键词属于第i关键词簇;按照转移概率对第i个关键词进行一次迭代,计算迭代后第i个关键词属于的第k关键词簇;判断第i簇和第k簇的差异是否小于预设值;如果第i簇和第k簇的差异大于预设值,则继续进行迭代;如果第i关键词簇和第k关键词簇的差异小于或者等于预设值,则停止迭代,获取第i个关键词属于的关键词簇中的所有关键词;将m个关键词中存在依存关系的关键词划分为同一类关键词。在上述步骤中,由于可按照用户需求自行拟定预设值,即自行设定关键词簇的误差范围,因此能够满足不同数据分析人士的需求,使该方法适用范围变大。同时,这种多次重复的迭代方式,也使聚类结果更加准确。
图6是根据本发明的网页数据分析方法的第六实施例的流程图。该实施例可以作为图1所示实施例的一种优选实施方式,如图6所示,该网页数据分析法包括:
步骤S601,获取用户在网页上输入的m个关键词。
该步骤等同于步骤S102,这里不再赘述。
步骤S602,获取m个关键词中存在依存关系的关键词,其中,对应的用户需求相同的关键词之间存在依存关系。
该步骤同于步骤S104,这里不再赘述。
步骤S603,将m个关键词中存在依存关系的关键词划分为同一类关键词。
该步骤同于步骤S106,这里不再赘述。
步骤S604,对多个同一类关键词分别进行命名。
由于各个同一类的关键词反映不同的用户需求,因此为对用户需求进行描述,可以对得到的同一类的关键词进行命名。
优选地,命名方法可以为基于规则的命名方法和基于统计的命名方法两种,也可以将两种方法相结合,即混合的命名方法。同一类关键词的命名方法包括但不限于:根据用户搜索次数或用户搜索点击次数等行为进行命名,选取排序较高的关键词作为命名;根据图模型收敛时的聚集点进行最大似然估计,取集中收敛的关键词进行命名等。
步骤S605,按照每一类关键词包含的关键词的数量,对命名后的多个同一类关键词进行排序。
排序是指按照同一类关键词的统计量进行排序,统计量越高的同一类关键词(关键词簇)所对应的用户需求越强烈。优选地,常用的统计量包括:簇内关键词搜索次数和簇内关键词所属的会话数等。
在该实施例中,给出了网页数据分析的具体步骤:获取用户在网页上输入的m个关键词;获取m个关键词中存在依存关系的关键词;将m个关键词中存在依存关系的关键词划分为同一类关键词;对多个同一类关键词分别进行命名;按照每一类关键词包含的关键词的数量,对命名后的多个同一类关键词进行排序。通过以上步骤,对聚类得到的每一类关键词分别进行命名,并且按各自包含的关键词数量进行排序,从而更加清晰地展现出每一类数据的搜索热度,并将结果更加直观地呈现给网页数据分析者。
图7是根据本发明的网页数据分析装置的第一实施例的结构框图。如图7所示,该装置结构包括:
第一获取单元22,用于获取用户在网页上输入的m个关键词。
用户需求与用户输入的关键词之间应存在多对多的依存关系,即每个用户需求可以通过用户输入的不同的关键词来表示意图,每个关键词也可以表示多个不同的用户需求意图。为了简化问题,定义用户需求与用户输入的关键词之间存在一对多的依存关系。该装置通过对用户在网站中输入的关键词进行聚类的方式可以对用户需求进行识别。
第二获取单元24,用于获取m个关键词中存在依存关系的关键词,其中,对应的用户需求相同的关键词之间存在依存关系。
对于用户的一次网页数据搜索行为,往往搜索的各关键词之间存在关系,这种关系不是各个关键词字面上的相似性,而是关键词体现的用户需求相同。比如,用户在进行网页数据搜索时,搜索的关键词之间可能存在以下依存关系:一个关键词是前个一关键词的归属(ki=f(ki-1)),或后一个关键词是所有前面关键词的归属(ki=f(ki-1,ki-2,ki-3,…,k1))等等。该单元用于获取m个关键词中存在依存关系的关键词。
划分单元26,用于将m个关键词中存在依存关系的关键词划分为同一类关键词。
因为具有依存关系的一类关键词对应同一用户需求,因此按照依存关系可以将用户输入的关键词分为几类。通过该装置所实现的聚类方式,能够挖掘出深层次的关键词聚合关系,从而准确地表示用户需求。例如利用该装置能发现“违章”、“电子眼”、“电子jin”和“电子敬察”之间的关系。
本实施例提供的网页数据分析装置包括:第一获取单元22、第二获取单元24和划分单元26。通过该装置使得网页数据分析是基于用户需求决定的关键词之间的依存关系,而不再片面地依赖关键词之间的字面重叠程度。该装置突破了传统query聚合过程基于query本身字面匹配假设的局限性,利用用户行为数据进行数据挖掘,获得的聚类结果能够更加准确地反映用户需求。
图8是根据本发明的网页数据分析装置的第二实施例的流程图。该实施例可以作为图7所示实施例的一种优选实施方式,如图8所示,该网页数据分析装置包括:
第一获取单元22、第二获取单元24和划分单元26,其中,第二获取单元24和划分单元26与图7中所述相同,这里不再赘述。其中,第一获取单元22还可以包括:
加载模块32,用于在网页加载脚本文件代码。
脚本文件类似于DOS操作系统中的批处理文件,它可以将不同的命令组合起来,并按确定的顺序自动连续地执行。脚本程序相对一般程序开发来说比较接近自然语言,可以不经编译而是解释执行。
脚本语言种类较多,一般的脚本语言的执行只同具体的解释执行器有关,所以只要系统上有相应语言的解释程序就可以做到跨平台。优选地,该模块可使用javascript,通过在网站中添加javascript代码来获取用户在进行网页浏览时的行为数据。
接收模块34,用于接收用户在网页的输入行为。
用户在网站中进行搜索,接收模块34可接收其输入的数据,通过javascript代码监测并实现动态读取。
读取模块36,用于通过脚本文件代码读取网页的输入行为所携带的m个关键词。
用户在一次会话中进行的站内搜索行为,能够构成一条站内搜索的序列,表示为[Keyword1,Keyword2,Keyword3,……]。用唯一键表示每条会话,能够形成如下格式的数据:
会话 |
关键词 |
1 |
Keyword1 |
1 |
Keyword2 |
2 |
Keyword2 |
… |
… |
其中,数据包括但不限于会话和关键词两列,还可以包含如搜索时间、搜索次数等更多维度,用以提高聚类的性能。
本实施例提供的网页数据分析装置中第一获取单元22还可以包括以下模块:加载模块32、接收模块34和读取模块36。通过以上模块,可以动态读取用户输入的关键词,准确、高效地获取待分析的网页数据,有利于对用户数据高效地进行聚类分析。
图9是根据本发明的网页数据分析装置的第三实施例的流程图。该实施例可以作为图7所示实施例的一种优选实施方式,如图9所示,该网页数据分析装置包括:
第一获取单元22、第二获取单元24和划分单元26,其中,第一获取单元22和划分单元26与图7中相同,这里不再赘述。第二获取单元24还可以包括:
第一确定模块42,用于确定假设条件,其中,假设条件是假设的m个关键词的输入行为中包含的逻辑关系。
用户进行搜索行为必定存在用户需求,第一确定模块42可获得网页数据分析者根据其自身业务需求提出的合理的假设条件。需要注意的是,假设条件体现的是关键词之间的依存关系。
例如:一次会话的关键词序列是A-B-C-D,假设条件可以是建立依存关系{AD,BD,CD,DD}。其他的假设条件可以建立不同的依存关系,如{AB,BC,CD}或{AB,AC,AD,BC,BD,CD}等。
优选地,假设条件可以是如下几点:1、用户浏览网站时,同一个会话的访问目的唯一;2、用户在同一次会话中所产生的站内关键词在语义上存在相关性;3、用户在达到访问目的的过程中,可能会产生多次站内搜索行为,但这些行为自身具有自我修正的特点。基于以上三条假设,可以得到这样的结论:会话中最后一次站内搜索使用的关键词是该会话所有关键词的归属。基于此可以明确关键词之间的依存关系。
创建模块44,用于根据假设条件创建图模型{G,S},其中,G代表m个关键词的集合,S代表m个关键词之间的依存关系的集合。
根据第一确定模块42确定的假设条件,创建模块44可构建m个关键词的有向图{G,S},其中G表示图中m个关键词的集合,每一个关键词可以表示为图中的一个节点;S表示图中关键词依存关系的集合,表示图中两个节点之间相连的一条边,其中,边的方向由两节点的依赖关系决定,边的强度由该依赖关系的次数决定。如果是上述介绍的优选的假设条件,则在一次会话中,所有关键词均具有指向该会话最后一个关键词的一条边。
第一获取模块46,用于通过图模型,获取m个关键词中存在依存关系的关键词。
图模型中给出了所有关键词及关键词依存关系的集合,根据网页数据分析者实际的业务需求,第一获取模块46可以将代表同一用户需求的多个关键词组识别出来。
第一获取模块46采用简单的图模型寻找社团的算法进行query的聚类,避开了传统的聚类算法,复杂度O(nlgn)。
本实施例提供的网页数据分析装置中第二获取单元24还可以包括以下模块:第一确定模块42、创建模块44和第一获取模块46。通过以上模块,由于第一确定模块42根据用户的不同需求可自行拟定假设条件,使得该装置适用的网页数据分析范围及其广泛,可满足各种网页数据分析用户的需求。同时,由于该装置是基于网页的输入行为包含的逻辑关系而建立的关键词之间的联系,从而能准确反映用户需求。
下面是根据本发明的网页数据分析装置的第四实施例。该实施例可以作为该装置第三实施例的一种优选实施方式。该网页数据分析装置包括:
第一获取单元22、第二获取单元24和划分单元26,其中,第二获取单元24包括第一确定模块42、创建模块44和第一获取模块46。除第一获取模块46之外,其他单元、模块与图7中相同,这里不再赘述。第一获取模块46还可以包括:
计算模块,用于根据m个关键词之间的依存关系的强度计算转移概率,其中,转移概率是每个关键词属于与其存在依存关系的关键词的概率。
计算模块根据关键词之间的依存关系的强度可以计算出节点依存于各个节点的概率,即转移概率。转移概率可定义为c(ni,nj)/c(nj),c(ni,nj)是第i个网页数据与第j个网页数据的依存关系的强度,c(nj)是第j个网页数据的所有依存关系的强度之和,其中,i,j∈{1,2…m}并且i≠j。
第二获取模块,按照转移概率对m个关键词进行迭代,获取m个关键词中存在依存关系的关键词。
该模块按照转移概率对节点(关键词)进行迭代,每一个节点(关键词)都以转移概率随机地移动到其依存的节点(关键词)中去。依此进行多次迭代,该模块可输出最终迭代后节点(关键词)所属于的同一用户需求的关键词组。
在该模块中,重复进行上述随机游走的过程多次,根据大数定律得到最终节点(关键词)属于最终的关键词组(关键词簇)的判定。该重复多次的过程是有必要的,因为模型之初构建的有向图是一个有向有环图,因此节点有可能通过转移概率进入到环中,得到局部最优解。重复步骤可以有效地减少这种错误,使得该模块获得的聚类结果的准确度得到提高。
本实施例提供的网页数据分析装置中第一获取模块46还可以包括以下模块:计算模块和第二获取模块。由于第二获取模块通过迭代的方式,使得待分析的关键词中属于同一用户需求的关键词逐渐聚为一类,这种聚类方式更加符合用户的真实需求,聚类结果更具分析价值。
下面是根据本发明的网页数据分析装置的第五实施例。该实施例可以作为该装置第四实施例的一种优选实施方式。该网页数据分析装置包括:
第一获取单元22、第二获取单元24和划分单元26,其中,第二获取单元24包括第一确定模块42、创建模块44和第一获取模块46,第一获取模块46还包括计算模块和第二获取模块。这里,除第二获取模块外,其他单元和模块与图10中所述相同,这里不再赘述。第二获取模块还可以包括:
假设子模块,用于假设在进行迭代之前第i个关键词属于第i关键词簇,其中,簇是一类关键词的集合,i=1,2...m。
在初始化时,假设子模块假设图中所有的节点(关键词)都各自属于一个关键词簇(各自都持有自己的一次投票机会)。
计算子模块,用于按照转移概率对第i个关键词进行一次迭代,计算迭代后第i个关键词属于的第k关键词簇,其中,k∈{1,2...i-1,i+1...m}。
在该子模块执行迭代的过程中,每一个节点都以转移概率随机地移动到其依存节点中去。随着迭代的进行,体现相同用户需求的关键词会越聚越多,直到该关键词簇涵盖了m个关键词中均具有该依存关系的所有关键词。
判断子模块,用于判断第i簇和第k簇的差异是否小于预设值,其中,预设值是预先设定的关键词簇允许的误差值。
预设值可以根据不同数据分析者的自身需求进行设定,并将该数据输入该子模块。
每进行一次迭代得到该节点属于的关键词簇,则将其与该节点迭代前属于的关键词簇进行对比。然后该子模块判断当前关键词簇与前一个关键词簇之间的差异,其中,当前关键词簇与前一个关键词簇之间差异的定义是:差异值=本次改变所属关键词簇的节点的个数/总节点数(diff=nchange/N)。通过该子模块的判断过程,可以促使第i个关键词一步步逼近自身属于的关键词簇。
迭代子模块,用于如果第i簇和第k簇的差异大于预设值,则继续进行迭代。
当判断子模块判断出第i关键词簇和第k关键词簇的差异大于预设值时,说明体现同一用户需求的关键词还没有完全涵盖进该关键词簇中,则迭代子模块继续进行迭代。
获取子模块,用于如果第i簇和第k簇的差异小于或者等于预设值,则停止迭代,获取第i个关键词属于的关键词簇中的所有关键词。
当判断子模块判断出第i关键词簇和第k关键词簇的差异小于或者等于预设值,可认为体现同一用户需求的关键词已经完全涵盖进该关键词簇中。
可选地,判断子模块也可以根据数据分析者的分析需求,判断迭代次数。当判断出已完成预设迭代次数,获取子模块则获取第i个关键词属于的关键词簇中的所有关键词。
本实施例提供的网页数据分析装置中第二获取模块还可以包括以下模块:假设子模块、计算子模块、判断子模块、迭代子模块和获取子模块。由于判断子模块可按照用户需求设置预设值,即簇的误差范围,因此能够满足不同数据分析人士的需求,使该方法适用范围变大。同时,迭代子模块进行多次重复迭代,也使最终的聚类结果更加准确。
图10是根据本发明的网页数据分析装置的第六实施例的流程图。该实施例可以作为图7所示实施例的一种优选实施方式,如图10所示,该网页数据分析装置包括:
第一获取单元22、第二获取单元24、划分单元26、命名单元28和排序单元30,这里获取单元22、第一确定单元24和第二确定单元26与图7中相同,这里不再赘述。命名单元28和排序单元30具体为:
命名单元28,用于对多个同一类关键词分别进行命名。
由于各个同一类的关键词反映不同的用户需求,因此为对用户需求进行描述,可以利用命名单元28对得到的同一类的关键词进行命名。
优选地,命名方法可以为基于规则的命名方法和基于统计的命名方法两种,也可以将两种方法相结合,即混合的命名方法。同一类关键词的命名方法包括但不限于:根据用户搜索次数或用户搜索点击次数等行为进行命名,选取排序较高的关键词作为命名;根据图模型收敛时的聚集点进行最大似然估计,取集中收敛的关键词进行命名等。
排序单元210,用于按照每一类关键词包含的关键词的数量,对命名后的多个同一类关键词进行排序。
排序是指按照同一类关键词的统计量进行排序,统计量越高的同一类关键词(关键词簇)所对应的用户需求越强烈。优选地,常用的统计量包括:簇内关键词搜索次数和簇内关键词所属的会话数等。
本实施例提供了网页数据分析装置还可以包含的单元:命名单元28和排序单元210。通过命名单元28对聚类得到的各个簇分别进行命名,并且排序单元210按各簇包含的关键词数量对簇进行排序,使得各个簇更加清晰地展现出每一类数据的搜索热度,并能将聚类结果更加直观地呈现给网页数据分析者。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。