具体实施方式
虽然将参照含有本发明的较佳实施例的附图充分描述本发明,但在此描述之前应了解,本领域的普通技术人员可修改本文中所描述的发明,同时获得本发明的技术效果。因此,须了解以下的描述对本领域的普通技术人员而言为一广泛的揭示,且其内容不在于限制本发明所描述的示例性实施例。
参考图1所示,本发明的视频网站相似用户搜索方法包括:
步骤1,对用户观看内容进行统计分析,统计一段时间内(例如一周)的用户视频观看记录,结合视频内容描述词得到每个用户在每一种视频内容上的观看次数和频率。其中,视频内容描述词主要通过视频标签、关键词以及视频标题分词来描述,视频标签、关键词以及视频标题分词都对视频内容进行了简短而抽象的描述,能够较为有效地刻画视频的内容信息,不同的视频可能含有相似的内容,表现在它们可能拥有相同的标签或关键词。利用用户的观看记录,结合视频内容描述词,统计用户在不同内容上的观看频率,可以有效地反映用户的兴趣偏好。
其中,步骤1进一步包括:
步骤1.1,利用视频用户的观看记录,统计用户一段时间内的视频观看次数,得到“用户标识---视频标识---观看次数”的视频观看列表;
步骤1.2,对于视频信息,提取视频信息列表“视频标识---标签1、标签2、…、标签i”,结合视频观看列表生成内容观看列表“用户标识---标签i---观看次数”;
步骤1.3,对具有相同用户标识的内容观看记录进行合并,利用标签i的内容观看次数计算得到标签i的观看频率,即每个用户一段时间内在标签i上的观看频率,计算方法为:
其中,tfi为标签i的频率,Ci、Cj为用户观看标签i、标签j的次数,T为该用户观看的所有标签的集合。
通过步骤1,可以得到每个用户最近一段时间内观看的视频内容以及每种视频内容的观看频率。
步骤2,建立用户的倒排索引,根据步骤1中统计分析得到的观看记录,基于视频内容描述词建立用户的倒排索引,该索引形式以视频内容的描述词作为索引关键字,以观看该描述词的所有用户标识及其观看频率作为索引值。
其中,步骤2进一步包括:
步骤2.1,以标签为索引关键字,统计观看过该标签的所有用户以及每个用户的观看频率,计算观看过该标签的用户总数;
步骤2.2,利用哈希方法,对标签进行哈希计算,对索引文件进行分块;
步骤2.3,将标签的观看信息存储至哈希值所对应的分块处。
步骤3,进行相似用户搜索并计算相似性,利用种子用户的视频观看记录,以视频内容描述词为搜索关键字,在索引文件上进行相似用户的搜索,同时计算相应用户的相似性,得到初步的搜索结果。
其中,步骤3进一步包括:
步骤3.1,对种子用户的观看记录进行分析,对种子用户的每一个标签进行搜索,得到观看过该标签的所有用户总数、用户标识以及相应的观看频率;
步骤3.2,对每一个搜索返回的用户计算相似性,其计算方法如下:
其中,Sui表示用户u在标签i上的相似性,tfui表示用户u观看标签i的频率,D表示所有用户总数,Pi表示观看标签i的用户总数;
步骤3.4,对所有种子用户的观看标签进行搜索返回的结果进行综合分析,计算每个返回用户的综合相似性,计算方法为:
其中,Scoreu表示用户u的综合相似性,Sui表示用户u在标签i上的相似性。
步骤4,进行搜索结果排序,利用相似性对初步搜索结果进行由大到小的排序,经过过滤处理得到最终的相似人群搜索结果。对于搜索返回的用户群以及每个用户的综合相似性,按照相似性进行由大到小的排序,可以采用适当的相似性阈值进行结果过滤,将排序过滤后的结果输出。
参考图2,本发明还提供一种视频网站相似用户搜索***,包括:
统计分析装置,对用户观看内容进行统计分析,统计一段时间内的用户视频观看记录,结合视频内容描述词得到每个用户对每一种视频内容的观看次数和频率,其中,上述视频内容描述词通过视频标签、关键词以及视频标题分词来描述。
其中,统计分析装置利用视频用户的观看记录,统计用户一段时间内的视频观看次数,得到“用户标识---视频标识---观看次数”视频观看列表;对于视频信息,提取视频信息列表“视频标识---标签1、标签2、…、标签i”,结合视频观看列表生成内容观看列表“用户标识---标签i---观看次数”;对具有相同用户标识的内容观看记录进行合并,利用标签i的观看次数计算标签i的观看频率,即每个用户一段时间内在标签i上的观看频率,计算方法为:
其中,tfi为标签i的频率,Ci、Cj为用户观看标签i、标签j的次数,T为该用户观看的所有标签的集合。
索引装置,建立用户的倒排索引,根据第一步中统计分析得到的观看记录,基于视频内容描述词建立用户的倒排索引,该索引形式以视频内容描述词作为索引关键字,以观看该描述词的所有用户标识及观看频率作为索引值。
其中,索引装置以标签为索引关键字,统计观看过该标签的所有用户以及每个用户的观看频率,计算观看过该标签的用户总数;利用哈希方法,对标签进行哈希计算,对索引文件进行分块;将标签的观看信息存储至哈希值所对应的分块处。
计算装置,进行相似用户搜索并计算相似性,利用种子用户的视频观看记录,以视频内容描述词为搜索关键字,在索引文件上进行相似用户的搜索,同时计算相应用户的相似性,得到初步的搜索结果。
其中,计算装置对种子用户的观看记录进行分析,对种子用户的每一个标签进行搜索,得到观看过该标签的所有用户总数、用户标识以及相应的观看频率;
对每一个搜索返回的用户计算相似性,其计算方法如下:
其中,Sui表示用户u在标签i上的相似性,tfui表示用户u观看标签i的频率,D表示所有用户总数,Pi表示观看标签i的用户总数;
对所有种子用户的观看标签进行搜索返回的结果进行综合分析,计算每个返回用户的综合相似性,计算方法为:
其中,Scoreu表示用户u的综合相似性,Sui表示用户u在标签i上的相似性。
排序装置,进行搜索结果排序,利用相似性对初步搜索结果进行由大到小的排序,经过过滤处理得到最终的相似人群搜索结果。
其中,排序装置对于搜索返回的用户群以及每个用户的综合相似性,按照相似性进行由大到小的排序,可以采用适当的相似性阈值进行结果过滤,将排序过滤后的结果输出。
下面,通过两个示例进一步详细说明本发明的***和方法。
示例一:某视频网站相似人群搜索。
某网站有视频集合S={V1,...,Vn},每个视频包含一组内容描述词(即标签),不同视频之间可能还有相同的描述词。同时该网站记录了最近一周内的用户观看记录R={U1---Vx---C1x,…,Un---Vy---Cny}。
步骤1,以标签作为视频内容的描述,根据每个视频的标签信息,统计每个用户一周内在每个标签上的观看次数,得到形如“用户标识---标签---观看次数”的观看记录;对于相同用户标识的观看记录进行合并计算,得到每个用户观看的所有标签,并且计算每个标签的观看频率,计算方法为:
其中,tfi为标签i的频率,Ci、Cj为用户观看标签i、标签j的次数,T为该用户观看的所有标签的集合。这样,就得到了每个用户在每个标签上的观看频率,部分观看记录示例如下:
表1用户观看内容记录示例
步骤2,以标签作为索引关键字,对观看信息建立倒排索引。对标签进行哈希,得到哈希值;对倒排索引文件进行适当分块,将哈希值与文件分块建立映射;将每个标签所对应的观看信息(包括:该标签观看的用户总数、观看该标签的所有用户标识和每个用户的观看频率)存储至该标签哈希值所对应的文件分块处。
步骤3,对于给定的种子用户观看记录,利用观看标签信息在倒排索引文件上进行搜索。对于种子用户观看的每个标签,采用相同的哈希函数计算哈希值,从而找到对应的倒排索引文件块,读取其中的观看信息,得到观看过该标签的用户总数、所有用户标识和观看频率,计算观看过该标签的每个用户的相似性,方法如下:
其中,Sui表示用户u在标签i上的相似性,tfui表示用户u观看标签i的频率,D表示所有用户总数,Pi表示观看标签i的用户总数。
对于所有种子用户观看标签搜索返回的结果进行综合分析,计算每个返回用户的综合相似性,其计算方法为:
其中,Scorei表示用户的综合相似性,Sui表示用户u在标签i上的相似性。
步骤4,根据综合相似性进行从大到小的排序,经过一定的过滤筛选,输出排序后的结果。
最终得到的种子文件及其搜索结果示例如下:
表2种子用户
用户标识 |
综合相似性 |
1414805406362bou |
7.457061423316192 |
1411422657876HQS |
7.457061423316192 |
1414897033491tst |
6.188232499062661 |
1414225525441rHY |
5.067268407706754 |
1376735750584cE7 |
4.97137438163828 |
1413197549819YYw |
4.97137438163828 |
1414929307620uum |
4.125488415218207 |
1401986230544u2n |
4.125488415218207 |
1396228567787C4I |
4.125488415218207 |
1413550544110F75 |
4.125488415218207 |
1414835997319Vst |
4.125488415218207 |
14148266200180f2 |
4.125488415218207 |
1413333051347w4D |
4.125488415218207 |
1403043694606LSF |
4.125488415218207 |
表3部分搜索返回结果
表4部分相似用户的内容观看记录
示例二:某产品目标人群扩展
某一产品已经锁定了少量的目标人群U={U1,…,Um},期望在某视频网站进行产品推广,要求推广受众是与已经锁定的目标人群U中具有相似兴趣的用户群。同时该网站记录了最近一周内的用户观看记录R={U1---Vx---C1x,…,Un---Vy---Cny}。
步骤1,利用网站的观看记录,查找目标人群U中用户的视频观看记录,结合视频信息,得到目标人群基于视频标签的观看记录。结合该产品的信息,对目标人群的观看标签进行筛选,滤除无关标签。将过滤后的观看记录作为搜索的种子。之后,对于最近一周内的所有观看记录,以标签作为视频内容的描述,根据每个视频的标签信息,统计每个用户一周内在每个标签上的观看次数,得到形如“用户标识---标签---观看次数”的观看记录。
对于相同用户标识的观看记录进行合并计算,得到每个用户观看的所有标签,并且计算每个标签的观看频率。计算方法为:
其中,tfi为标签i的频率,Ci、Cj为用户观看标签i、标签j的次数,T为该用户观看的所有标签的集合。这样我们就得到了每个用户在每个标签上的观看频率。
步骤2,以标签作为索引关键字,对观看信息建立倒排索引。对标签进行哈希,得到哈希值;对倒排索引文件进行适当分块,将哈希值与文件分块建立映射;将每个标签所对应的观看信息(包括:该标签观看的用户总数、观看该标签的所有用户标识和每个用户的观看频率)存储至该标签哈希值所对应的文件分块处。
步骤3,对于给定的种子用户观看记录,利用观看标签信息在倒排索引文件上进行搜索。对于种子用户观看的每个标签,采用相同的哈希函数计算哈希值,从而找到对应的倒排索引文件块,读取其中的观看信息,得到观看过该标签的用户总数、所有用户标识和观看频率,计算观看过该标签的每个用户的相似性,计算方法如下:
其中,Sui表示用户u在标签i上的相似性,tfui表示用户u观看标签i的频率,D表示所有用户总数,Pi表示观看标签i的用户总数。
对所有种子用户观看标签搜索返回的结果进行综合分析,计算每个返回用户的综合相似性。其计算方法为:
其中,Scoreu表示用户u的综合相似性,Sui表示用户u在标签i上的相似性。
步骤4,根据综合相似性进行从大到小的排序,经过一定的过滤筛选,输出排序后的结果。
该产品目标用户的观看内容示例如下:
目标用户 |
目标客户观看的视频标签 |
目标客户关注的产品信息 |
客户一 |
华为荣耀3c |
荣耀3c联通版 |
客户二 |
苹果手机5s |
iphone5s手壳 |
客户三 |
魅族.mx3 |
mx3 |
客户四 |
xplay发布会 |
步步高xplay3 |
表5客户观看内容示例
搜索到的部分结果示例如下:
用户标识 |
综合相似性 |
1403339995050JHU |
6.344749147553775 |
1414920358781u4V |
6.344749147553775 |
14046215115455ID |
6.344749147553775 |
1414887141725RG9 |
6.344749147553775 |
1403888781082S88 |
6.344749147553775 |
1408775203633njo |
6.344749147553775 |
1400511822703RkC |
6.344749147553775 |
1414852321322EFa |
6.007725367960162 |
1414934708013Eut |
6.007725367960162 |
141126880285943L |
6.007725367960162 |
1414923557154foW |
6.007725367960162 |
1414856887921mCx |
6.007725367960162 |
表6部分搜索返回结果
表7部分相似用户的观看记录
在详细说明本发明的较佳实施例之后,熟悉本领域的技术人员可清楚的了解,在不脱离随附权利要求的保护范围与精神下可进行各种变化与改变,且本发明亦不受限于说明书中所举示例性实施例的实施方式。