用户推荐方法和装置制造方法

文档序号:6507767阅读:150来源:国知局
用户推荐方法和装置制造方法
【专利摘要】本发明提供了一种用户推荐方法,所述方法包括:读取用户的兴趣标签和所述兴趣标签对应的分值;读取用户的擅长标签和所述擅长标签对应的分值;根据所述兴趣标签对应的分值和所述擅长标签对应的分值生成两个用户之间的匹配度;根据所述匹配度选取待推荐用户进行推荐。该用户推荐方法能够减少冗余信息的推送,节省网络资源。此外,还提供了一种用户推荐装置。
【专利说明】用户推荐方法和装置

【技术领域】
[0001] 本发明涉及网络【技术领域】,特别是涉及一种用户推荐方法和装置。

【背景技术】
[0002] 传统的用户推荐方法通常采用基于好友关系的推荐方式,比如,若两个用户有共 同的好友或共同关注了某些人,则可将其中一个用户推荐给另一个用户。
[0003] 然而,发明人发现现有技术中至少存在以下技术问题:
[0004] 基于好友关系的推荐方式虽然可以有效拓展用户的社交关系,但是仅依赖用户的 好友关系或者关注人的话,推荐给用户的人往往不符合用户所需,从而造成用户推荐的盲 目性,这样,必然会造成大量冗余信息的推送,从而浪费了网络资源。


【发明内容】

[0005] 基于此,有必要针对上述技术问题,提供一种能减少冗余信息推送,从而节省网络 资源的用户推荐方法和装置。
[0006] -种用户推荐方法,所述方法包括:
[0007] 读取用户的兴趣标签和所述兴趣标签对应的分值;
[0008] 读取用户的擅长标签和所述擅长标签对应的分值;
[0009] 根据所述兴趣标签对应的分值和所述擅长标签对应的分值生成两个用户之间的 匹配度;
[0010] 根据所述匹配度选取待推荐用户进行推荐。
[0011] 一种用户推荐装置,所述装置包括:
[0012] 兴趣标签读取模块,用于读取用户的兴趣标签和所述兴趣标签对应的分值;
[0013] 擅长标签读取模块,用于读取用户的擅长标签和所述擅长标签对应的分值;
[0014] 第一匹配度生成模块,用于根据所述兴趣标签对应的分值和所述擅长标签对应的 分值生成两个用户之间的匹配度;
[0015] 用户推荐模块,用于根据所述匹配度选取待推荐用户进行推荐。
[0016] 上述用户推荐方法和装置,由于兴趣标签表示了用户感兴趣的领域或词汇,而擅 长标签表示了用户擅长的领域或词汇,通过兴趣标签对应的分值和擅长标签对应的分值来 生成两个用户之间的匹配度,从而将两个用户的兴趣和擅长进行相互匹配,根据匹配度选 取待推荐用户进行推荐,推荐给用户的人很可能是用户对其感兴趣的内容比较擅长的,或 者对其擅长的内容比较感兴趣的,从而使得推荐给用户的人更能满足用户所需,避免了用 户推荐的盲目性,从而减少了冗余信息的推送,节省了网络资源。

【专利附图】

【附图说明】
[0017] 图1为一个实施例中用户推荐方法的流程示意图;
[0018] 图2为一个实施例中挖掘用户的兴趣标签的流程示意图;
[0019] 图3为另一个实施例中挖掘用户的兴趣标签的流程示意图;
[0020] 图4为一个实施例中根据专业相关数据挖掘用户的擅长标签的流程示意图;
[0021] 图5为另一个实施例中根据专业相关数据挖掘用户的擅长标签的流程示意图;
[0022] 图6为一个实施例中根据专业相关数据和个人信息挖掘用户的擅长标签的流程 示意图;
[0023] 图7为图6所示实施例提供的挖掘用户的擅长类别的流程示意图;
[0024] 图8为一个实施例中生成两个用户之间的匹配度的流程示意图;
[0025] 图9为另一个实施例中生成两个用户之间的匹配度的流程示意图;
[0026] 图10为一个实施例中用户推荐装置的结构框图;
[0027] 图11为另一个实施例中用户推荐装置的结构框图;
[0028] 图12为一个实施例中兴趣标签挖掘模块的结构框图;
[0029] 图13为另一个实施例中兴趣标签挖掘模块的结构框图;
[0030] 图14为再一个实施例中用户推荐装置的结构框图;
[0031] 图15为一个实施例中第一擅长标签挖掘模块的结构框图;
[0032] 图16为另一个实施例中第一擅长标签挖掘模块的结构框图;
[0033] 图17为又一个实施例中用户推荐装置的结构框图;
[0034] 图18为一个实施例中第二擅长标签挖掘模块的结构框图;
[0035] 图19为另一个实施例中第二擅长标签挖掘模块的结构框图;
[0036] 图20为一个实施例中匹配度生成模块的结构框图;
[0037] 图21为另一个实施例中匹配度生成模块的结构框图。

【具体实施方式】
[0038] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。
[0039] 如图1所示,在一个实施例中,提供了一种用户推荐方法,该方法以应用在各种服 务器中进行举例说明,包括:
[0040] 步骤102,读取用户的兴趣标签和兴趣标签对应的分值。
[0041] 服务器预先存储了与用户标识对应的兴趣标签和兴趣标签对应的分值,其中兴趣 标签包括标签词和标签词所属类别,用以表征用户感兴趣的内容。如兴趣标签可以是"外科 疾病",表示用户对外科疾病的内容感兴趣,兴趣标签也可以是"军事",表示用户对军事类 别的内容感兴趣,等。而兴趣标签对应的分值表示用户对标签的相关内容感兴趣的程度。
[0042] 步骤104,读取用户的擅长标签和擅长标签对应的分值。
[0043] 服务器预先存储了与用户标识对应的擅长标签和擅长标签对应的分值,其中擅长 标签包括标签词和标签词所属类别,用以表征用户擅长的内容。如擅长标签可以是"法律", 表示用户对法律类别的内容比较擅长,等。而擅长标签对应的分值则表示用户对该标签的 相关内容擅长的程度。
[0044] 本实施例中,用户的兴趣标签可预先从用户大量的线上行为数据挖掘出来,而兴 趣标签对应的分值则可通过对用户的线上行为数据中的文档进行处理得到。用户的擅长标 签可预先从用户大量的专业相关数据中挖掘出来,而擅长标签对应的分值则可通过对用户 的专业相关数据中的文档进行处理得到。得到每个用户的兴趣标签、兴趣标签对应的分值、 擅长标签和擅长标签对应的分值后,可存储在服务器中,以便在推荐用户的时候读取出来 进行处理。
[0045] 步骤106,根据兴趣标签对应的分值和擅长标签对应的分值生成两个用户之间的 匹配度。
[0046] 具体的,两个用户之间的匹配度表示了其中一个用户的兴趣标签与另一个用户的 擅长标签匹配、以及该用户的擅长标签与另一个用户的兴趣标签匹配的程度。对于两个用 户,可将其中一个用户的兴趣标签匹配另一个用户的擅长标签,得到该用户的兴趣标签和 另一个用户的擅长标签的相似度,以及将该用户的擅长标签匹配另一个用户的兴趣标签, 得到该用户的擅长标签和另一个用户的兴趣标签的相似度,然后结合兴趣标签对应的分值 和擅长标签对应的分值从而生成得到两个用户之间的匹配度。
[0047] 步骤108,根据匹配度选取待推荐用户进行推荐。
[0048] 本实施例中,对于服务器中的每个用户,都可以生成该用户与服务器中的其他用 户之间的匹配度。这样,在确定该用户的推荐列表时,可选取匹配度最高的预设数量的待推 荐用户进行推荐。例如,可选取与该用户的匹配度最高的前100个待推荐用户进行推荐。 进一步的,可获取选取的待推荐用户的个人信息,包括用户所在SNS社区的昵称、头像等信 息,将这些信息通过网络发送至用户所在终端。
[0049] 本实施例中,通过兴趣标签对应的分值和擅长标签对应的分值来生成两个用户之 间的匹配度,从而将两个用户的兴趣和擅长进行相互匹配,根据匹配度选取待推荐用户进 行推荐,推荐给用户的人很可能是用户对其感兴趣的内容比较擅长的,或者对其擅长的内 容比较感兴趣的,从而使得推荐给用户的人更能满足用户所需,避免了用户推荐的盲目性, 从而减少了冗余信息的推送,节省了网络资源。
[0050] 在一个实施例中,用户推荐方法还包括:收集用户的线上行为数据,根据用户的线 上行为数据挖掘用户的兴趣标签。
[0051] 用户的线上行为数据为用户使用各种网络应用所形成的数据,包括但不限于用户 在搜索网站中的搜索关键词、用户在微博上发布的微博、用户在SNS社区中发表的日志、评 论等、用户的群聊天记录、用户在问答社区的提问或回答和用户在论坛上发表的帖子或回 复,等等。对于每个用户,可从不同的业务服务器中获取到与该用户标识对应的线上行为数 据,进而根据线上行为数据挖掘出该用户的兴趣标签,并对应用户标识进行存储。
[0052] 进一步的,在一个实施例中,如图2所示,根据线上行为数据挖掘用户的兴趣标 签,包括:
[0053] 步骤202,对线上行为数据中的文档进行分词。
[0054] 本实施例中,可提取出用户的线上行为数据中的文档,然后采用传统的分词方法 对文档中的内容进行分割,并去除掉一些常见的副词、动词和名词,如"你"、"我"、"的"、"得" 等,得到多个标签词。
[0055] 步骤204,计算分词后得到的标签词对应的分值为标签词的词频与用户的所有标 签词的词频总和的比率。
[0056] 步骤204中,统计分词后得到的标签词的词频,即该标签词出现的频率,按照如下 公式计算每个标签词对应的分值: T 、 P Hx)
[0057] Ins(X)=--- pv(all)
[0058] 其中,Ins(x)表示标签词x对应的分值,pv(x)表示标签词x的词频,pv(all)表 示该用户的所有标签词的词频总和。
[0059] 步骤206,根据标签词对应的分值选取标签词作为用户的兴趣标签。
[0060] 具体的,可根据标签词对应的分值选取分值最大的预设数量的标签词作为用户的 兴趣标签。比如,选取分值最大的10个标签词作为用户的兴趣标签。
[0061] 在另一个实施例中,如图3所示,根据线上行为数据挖掘用户的兴趣标签,包括:
[0062] 步骤302,对线上行为数据中的文档进行分词。
[0063] 步骤304,对分词后得到的标签词进行归类。
[0064] 具体的,可人工对分词后得到的标签词进行归类,也可按照传统的机器学习的方 法对标签词进行归类。比如,标签词所属类别包括:科技、教育、军事、医学等。
[0065] 步骤306,计算分词后得到的标签词对应的分值为标签词的词频与用户的所有标 签词的词频总和的比率。
[0066] 步骤308,根据标签词对应的分值计算标签词所属类别对应的分值。
[0067] 本实施例中,可获取用户在每个类别下的标签词和标签词的分值,则用户在每个 类别对应的分值为该类别下的标签词的分值的总和。例如,标签词所属类别包括A、B和C 三个类别,在A类别下的标签词和对应的分值包括{tagAl: 3分}、{ tagA2:2分}和{tagA3:3 分},在B类别下的标签词和对应的分值包括:{tagBl: 2分}和{tagB2:1分},在C类别下的 标签词和对应的分值包括{tagCl: 3分},则该用户的A类别对应的分值为6分,B类别对应 的分值为4分,C类别对应的分值为3分。
[0068] 步骤310,根据标签词所属类别对应的分值选取类别作为用户的兴趣类别。
[0069] 具体的,可选取标签词所属类别对应的分值最大的预设数量的类别作为用户的兴 趣类别,比如,选取分值最大的2个类别作为用户的兴趣类别。本实施例中,还可根据标签 词对应的分值选取标签词作为用户的兴趣标签,比如选取分值最大的8个标签词作为用户 的兴趣标签。本实施例中,每个用户的兴趣标签包括用户感兴趣的类别和标签词,使得后续 在生成匹配度时,除了可根据标签词对应的分值进行计算外,还可根据类别对应的分值进 行计算。
[0070] 在一个实施例中,用户推荐方法还包括:收集用户的专业相关数据,根据专业相关 数据挖掘用户的擅长标签。
[0071] 用户的专业相关数据,是指用户使用各种网络应用产生的与专业相关的数据,包 括问答社区数据、专业论坛数据中的至少一种,其中问答社区数据是指用户在问答社区的 提问和问答等,专业论坛数据是指用户在一些专业论坛发表的帖子和回帖等。进一步的,可 从与专业相关的业务服务器中获取到与用户标识对应的专业相关数据,进而根据专业相关 数据挖掘出每个用户的擅长标签,并对应用户标识进行存储。
[0072] 进一步的,在一个实施例中,根据专业相关数据挖掘用户擅长标签,包括:
[0073] 步骤402,对专业相关数据中的文档进行分词。
[0074] 如上所述,可提取出用户的专业相关数据中的文档,然后采用传统的分词方法对 文档中的内容进行分割,并去除掉一些常见的副词、动词和名词,如"你"、"我"、"的"、"得" 等,得到多个标签词。
[0075] 步骤404,计算分词后得到的标签词对应的分值为标签词的词频与用户的所有标 签词的词频总和的比率。
[0076] 步骤404中,统计分词后得到的标签词的词频,即该标签词出现的频率,按照如下 公式计算每个标签词对应的分值: ev(x)
[0077] Lxpert(X)=--- ev{ali)
[0078] 其中,Expert(x)表示标签词x对应的分值,ev (x)表示标签词x的词频,ev (all) 表示该用户的所有标签词的词频总和。
[0079] 步骤406,根据标签词对应的分值选取标签词作为用户的擅长标签。
[0080] 具体的,可根据标签词对应的分值选取分值最大的预设数量的标签词作为用户的 擅长标签。比如,选取分值最大的10个标签词作为用户的擅长标签。
[0081] 在另一个实施例中,如图5所示,根据专业相关数据挖掘用户的擅长标签,包括:
[0082] 步骤502,对专业相关数据中的文档进行分词。
[0083] 步骤504,对分词后得到的标签词进行归类。
[0084] 具体的,可人工对分词后得到的标签词进行归类,也可按照传统的机器学习的方 法对标签词进行归类。比如,标签词所属类别包括:科技、教育、军事、医学等。
[0085] 步骤506,计算分词后得到的标签词对应的分值为标签词的词频与用户的所有标 签词的词频总和的比率。
[0086] 步骤508,根据标签词对应的分值计算标签词所属类别对应的分值。
[0087] 本实施例中,可获取用户在每个类别下的标签词和标签词的分值,则用户在每个 类别对应的分值为该类别下的标签词的分值的总和。
[0088] 步骤510,根据标签词所属类别对应的分值选取类别作为用户的擅长标签。
[0089] 具体的,可选取标签词所属类别对应的分值最大的预设数量的类别作为用户的擅 长类别,比如,选取分值最大的2个类别作为用户的擅长类别。本实施例中,还可根据标签 词对应的分值选取标签词作为用户的擅长标签,比如选取分值最大的8个标签词作为用户 的擅长标签。本实施例中,每个用户的擅长标签包括用户擅长的类别和标签词,使得后续在 生成匹配度时,除了可根据标签词对应的分值进行计算外,还可根据类别对应的分值进行 计算。
[0090] 在另一个实施例中,还提供了另一种挖掘用户的擅长标签的方式,具体的,用户推 荐方法还包括:收集用户的专业相关数据和个人信息,根据专业相关数据和个人信息挖掘 用户的擅长标签。
[0091] 如上所述,专业相关数据包括问答社区数据、专业论坛数据中的至少一种。用户的 个人信息包括但不限于用户的教育、工作、年龄和职业等信息。具体的,可从不同的业务服 务器中获取到与用户标识对应的个人信息,这些个人信息可以是用户登录网络应用所填写 的个人信息,也可以是用户所在群组中的个人信息等。
[0092] 进一步的,在一个实施例中,如图6所示,根据专业相关数据和个人信息挖掘用户 的擅长标签,包括:
[0093] 步骤602,对专业相关数据中的文档进行分词。
[0094] 步骤604,计算分词后得到的标签词对应的词频概率为标签词的词频与用户的所 有标签词的词频总和的比率。
[0095] 关于分词和计算标签词的词频概率的过程如上所述,在此则不再赘述。
[0096] 步骤606,根据个人信息获取对应的标签词,以及根据个人信息计算获取到的标签 词对应的置信度。
[0097] 具体的,预先可设置与一些专业相关的词汇对应的标签词,则可根据用户的个人 信息中与专业相关的词汇获取到对应的标签词。例如,用户的职业为"律师",则获取到与 "律师"对应的标签词为"法律",又例如,用户所在群组为"XX律师事务所",则获取到对应到 标签词为"法律"。进一步的,预先可设置置信度函数,其取值为0?1,可根据个人信息中与 专业相关的词汇的来源来确定对应的标签词所对应的置信度函数的取值。如,若用户的职 业为用户填写的,则该职业所对应的标签词的置信度为1,若用户所在群组中一共有10个 成员,其中8个成员的职业都为"律师",则该用户的标签词"法律"的置信度的取值为0. 8。
[0098] 步骤608,根据标签词对应的词频概率和置信度进行拟合,得到标签词对应的分 值。
[0099] 具体的,可按照如下公式计算标签词对应的分值:
[0100] Fin_expert(x) = y ^Expert(x) + A ^Profession(x)
[0101] 其中,Fin_expert (x)表示标签词x对应的分值,Expert (x)表示标签词x的词频 概率,Profession(X)表示标签词X的置信度,Y和入为常数,且Y+入=1。优选的,Y可 取值为0.7,入可取值为0.3。
[0102] 步骤610,根据标签词对应的分值选取标签词作为用户的擅长标签。
[0103] 计算出每个标签次对应的分值后,可选取分值最大的预设数量的标签词作为用户 的擅长标签。本实施例中,根据用户的专业相关数据和个人信息来挖掘用户的擅长标签,所 挖掘出的擅长标签更能体现用户所擅长的内容,因此更具有准确性。
[0104] 进一步的,在一个实施例中,在图6所示实施例的基础上,根据专业相关数据和个 人信息挖掘用户的擅长标签,还包括:
[0105] 步骤702,根据分词后得到的标签进行归类。
[0106] 步骤704,根据标签词对应的分值计算标签词所属类别对应的分值。
[0107] 步骤706,根据标签词所属类别对应的分值选取类别作为用户的擅长类别。
[0108] 本实施例中,根据用户的专业相关数据和个人信息挖掘出的擅长标签除了包含擅 长的标签词外还包含擅长类别,后续则可根据擅长的标签词对应的分值和擅长类别来计算 两个用户之间的匹配度,使得推荐给用户的人更符合用户所需,进一步减少了冗余信息的 推送,节省了网络资源。
[0109] 在一个实施例中,如图8所示,根据兴趣标签对应的分值和擅长标签对应的分值 生成两个用户之间的匹配度,包括:
[0110] 步骤802,将第一用户的兴趣标签匹配第二用户的擅长标签,获取第一用户的兴趣 标签与第二用户的擅长标签的第一相似度。
[0111] 具体的,当用第一用户的兴趣标签去匹配第二用户的擅长标签时,可采用机器学 习的方式来得到第一用户的兴趣标签与第二用户的擅长标签之间的第一相似度,例如,可 在海量用户的线上行为数据中统计兴趣标签和擅长标签共同出现的次数来计算得到第一 用户的兴趣标签与第二用户的擅长标签之间的第一相似度。在一个实施例中,也可判断第 一用户的兴趣标签和第二用户的擅长标签是否相同,若相同,则第一相似度取值为1,若不 相同,贝 1J第一相似度取值为〇。
[0112] 步骤804,将第一用户的擅长标签匹配第二用户的兴趣标签,获取第一用户的擅长 标签与第二用户的兴趣标签的第二相似度。
[0113] 具体的,当用第一用户的擅长标签去匹配第二用户的兴趣标签时,也可采用机器 学习的方式来得到第二相似度。在一个实施例中,也可判断第一用户的擅长标签和第二用 户的兴趣标签是否相同,若相同,则第二相似度取值为1,若不相同,则第二相似度取值为 0〇
[0114] 步骤806,根据第一用户的兴趣标签对应的分值、第二用户的擅长标签对应的分 值、第一用户的擅长标签对应的分值、第二用户的兴趣标签对应的分值、第一相似度和第二 相似度计算第一用户和第二用户之间的匹配度。
[0115] 本实施例中,兴趣标签为表示兴趣的标签词,擅长标签为表示擅长的标签词。在一 个实施例中,当用第一用户的兴趣标签去匹配第二用户的擅长标签时,则将第一用户的兴 趣标签对应的分值、第二用户的擅长标签对应的分值和第一相似度相乘;当用第一用户的 擅长标签去匹配第二用户的兴趣标签时,则将第一用户的擅长标签对应的分值、第二用户 的兴趣标签对应的分值和第二相似度相乘;最后将所有得到的乘值相加,即为第一用户和 第二用户之间的匹配度。
[0116] 进一步的,在一个实施例中,在步骤806中,可按照如下公式计算第一用户和第二 用户之间的匹配度: n m
[0117] match_score(a,b) = wy)u 551 (w..)7' match(x,y) x=i y=l
[0118] 其中,match_score(a, b)为第一用户a与第二用户b之间的匹配度,n为第一用 户a的标签个数,m为第二用户b的标签个数,a和P为常数。优选的,a和P相等,取 值都为0.5。
[0119] 当将第一用户a的兴趣标签匹配第二用户b的擅长标签时,match (x,y)为第一相 似度,Wx为第一用户a的兴趣标签对应的分值,Wy为第二用户b的擅长标签对应的分值;当 将第一用户a的擅长标签匹配第二用户b的兴趣标签时,match (x,y)为第二相似度,Wx为 第一用户a的擅长标签的对应的分值,Wy为第二用户b的兴趣标签对应的分值。
[0120] 在一个优选的实施例中,match (X,y)取值可为1或0,即:当第一用户的兴趣标签 和第二用户的擅长标签相同,或者第一用户的擅长标签和第二用户的兴趣标签相同时,则 取值为1,否则取值为〇。这样,可以简化运算,提高处理效率。
[0121] 在另一个实施例中,还可采用兴趣类别和擅长类别来计算两个用户之间的匹配 度。本实施例中,兴趣标签包括兴趣类别,擅长标签包括擅长类别;根据兴趣标签对应的分 值和擅长标签对应的分值生成两个用户之间的匹配度,则包括:根据兴趣类别对应的分值 和擅长类别对应的分值生成两个用户之间的匹配度。
[0122] 具体的,在一个实施例中,如图9所示,根据兴趣类别对应的分值和擅长类别对应 的分值生成两个用户之间的匹配度,包括:
[0123] 步骤902,将第一用户的兴趣标签匹配第二用户的擅长标签,获取第一用户的兴趣 标签与第二用户的擅长标签的第一相似度。
[0124] 步骤904,将第一用户的擅长标签匹配第二用户的兴趣标签,获取第一用户的擅长 标签与第二用户的兴趣标签的第二相似度。
[0125] 步骤906,根据第一用户的兴趣类别对应的分值、第二用户的擅长标类别对应的分 值、第一用户的擅长类别对应的分值、第二用户的兴趣类别对应的分值、第一相似度和第二 相似度计算第一用户和第二用户之间的匹配度。
[0126] 在一个实施例中,当用第一用户的兴趣标签去匹配第二用户的擅长标签时,则将 第一用户的兴趣类别对应的分值、第二用户的擅长类别对应的分值和第一相似度相乘;当 用第一用户的擅长标签去匹配第二用户的兴趣标签时,则将第一用户的擅长类别对应的分 值、第二用户的兴趣类别对应的分值和第二相似度相乘;最后将所有得到的乘值相加,即为 第一用户和第二用户之间的匹配度。
[0127] 进一步的,在一个实施例中,步骤906中,可按照如下公式计算所述第一用户和第 二用户之间的匹配度: n m
[0128] match _score{a ,b)= ZZ (h\. )u *(H'v)/; *match(x, x=l y=l
[0129] 其中,match_score(a,b)为第一用户a与第二用户b之间的匹配度,n为第一用户 a的类别个数,m为第二用户b的类别个数,a和P为常数;
[0130] 当将第一用户a的兴趣标签匹配第二用户b的擅长标签时,match (X,y)为所述第 一相似度,Wx为第一用户a的兴趣类别对应的分值,Wy为第二用户b的擅长类别对应的分 值;
[0131] 当将第一用户a的擅长标签匹配第二用户b的兴趣标签时,match (x,y)为所述第 二相似度,Wx为第一用户a的擅长类别的对应的分值,Wy为第二用户b的兴趣类别对应的 分值。
[0132] 在一个优选的实施例中,match (x,y)取值可为1或0, S卩:当第一用户的兴趣标签 和第二用户的擅长标签相同,或者第一用户的擅长标签和第二用户的兴趣标签相同时,则 取值为1,否则取值为0。这样,可以简化运算,提高处理效率。
[0133] 本实施例中,还可采用兴趣类别对应的分值和擅长类别对应的分值来参与计算两 个用户之间的匹配度。进一步的,还可结合采用标签词参与计算得到的匹配度和采用类别 参与计算的匹配度来得到两个用户之间的综合匹配度,最终根据两个用户之间的总和匹配 度来选取匹配度最高的预设数量的用户进行推荐。如,对于一个用户集合B={bl,b2, b3,… ,bn}和用户a进行匹配,得到用户集合B中每个用户与用户a之间的匹配度,最后选取其中 匹配度最高的1〇〇个用户推荐给用户a。本实施例中,结合类别和标签词来参与计算,能够 提高推荐的准确度,这种将兴趣和擅长交叉匹配的方式能够避免用户推荐的盲目性,从而 减少冗余信息的推送,节省了网络资源。
[0134] 如图10所示,在一个实施例中,还提供了一种用户推荐装置,包括:
[0135] 兴趣标签读取模块1002,用于读取用户的兴趣标签和兴趣标签对应的分值。
[0136] 擅长标签读取模块1004,用于读取用户的擅长标签和擅长标签对应的分值。
[0137] 匹配度生成模块1006,用于根据兴趣标签对应的分值和擅长标签对应的分值生成 两个用户之间的匹配度。
[0138] 用户推荐模块1008,用于根据匹配度选取待推荐用户进行推荐。
[0139] 在另一个实施例中,如图11所示,在图10所示实施例的基础上,用户推荐装置还 包括:
[0140] 兴趣标签挖掘模块1001,用于收集用户的线上行为数据,根据线上行为数据挖掘 用户的兴趣标签。
[0141] 进一步的,在一个实施例中,如图12所示,兴趣标签挖掘模块1001包括:
[0142] 第一分词模块1001a,用于对线上行为数据中的文档进行分词。
[0143] 第一分值计算模块1001b,用于计算分词后得到的标签词对应的分值为标签词的 词频与用户的所有标签词的词频的比率。
[0144] 兴趣标签选取模块1001c,用于根据标签词对应的分值选取标签词作为用户的兴 趣标签。
[0145] 在另一个实施例中,如图13所示,在图12所示实施例的基础上,兴趣标签挖掘模 块1001还包括:
[0146] 第一归类模块1001d,用于对分词后得到的标签词进行归类。
[0147] 第一类别分值计算模块lOOle,用于根据标签词对应的分值计算标签词所属类别 对应的分值。
[0148] 兴趣类别选取模块IOOlf,用于根据标签词所属类别对应的分值选取类别作为用 户的兴趣类别。
[0149] 如图14所示,在另一个实施例中,用户推荐装置还包括:
[0150] 第一擅长标签挖掘模块1003,用于收集用户的专业相关数据,根据专业相关数据 挖掘用户的擅长标签。
[0151] 进一步的,在一个实施例中,如图15所示,第一擅长标签挖掘模块1003包括:
[0152] 第二分词模块1003a,用于对专业相关数据中的文档进行分词。
[0153] 第二分值计算模块1003b,用于计算分词后得到的标签词对应的分值为标签词的 词频与用户的所有标签词的词频的比率。
[0154] 第一擅长标签选取模块1003c,用于根据标签词对应的分值选取标签词作为用户 的擅长标签。
[0155] 在另一个实施例中,在图16所示,在图15所示实施例的基础上,第一擅长标签挖 掘模块1003还包括 :
[0156] 第二归类模块1003d,用于对分词后得到的标签进行归类。
[0157] 第二类别分值计算模块1003e,用于根据标签词对应的分值计算标签词所属类别 对应的分值。
[0158] 第一擅长类别选取模块1003f,用于根据标签词所述类别对应的分值选取类别作 为用户的擅长类别。
[0159] 在一个实施例中,如图17所示,用户推荐装置还包括:
[0160] 第二擅长标签挖掘模块1005,用于收集用户的专业相关数据和个人信息,根据专 业相关数据和个人信息挖掘用户的擅长标签。
[0161] 进一步的,在一个实施例中,如图18所示,第二擅长标签挖掘模块1005包括:
[0162] 第三分词模块1005a,用于对专业相关数据中的文档进行分词。
[0163] 词频概率计算模块1005b,用于计算分词得到的标签词对应的词频概率为标签词 的词频与用户的所有标签词的词频的比率。
[0164] 置信度计算模块1005c,用于根据个人信息获取对应的标签词,以及根据个人信息 计算获取的标签词所对应的置信度。
[0165] 第三分值计算模块1005d,用于对标签词对应的词频概率和置信度进行拟合,得到 标签词对应的分值。
[0166] 第二擅长标签选取模块1005e,用于根据标签词对应的分值选取标签词作为用户 的擅长标签。
[0167] 在另一个实施例中,如图19所示,在图18所示实施例的基础上,第二擅长标签挖 掘模块1005还包括 :
[0168] 第三归类模块1005f,用于对分词后得到的标签进行归类。
[0169] 第三类别分值计算模块1005g,用于根据标签词对应的分值计算标签词所属类别 对应的分值。
[0170] 第二擅长类别选取模块1005h,用于根据标签词所述类别对应的分值选取类别作 为用户的擅长类别。
[0171] 具体的,在一个实施例中,如图20所示,匹配度生成模块1006包括:
[0172] 第一匹配模块1006a,用于将第一用户的兴趣标签匹配第二用户的擅长标签,获取 第一用户的兴趣标签与第二用户的擅长标签的第一相似度;以及用于将第一用户的擅长标 签匹配第二用户的兴趣标签,获取第一用户的擅长标签与第二用户的兴趣标签的第二相似 度。
[0173] 第一匹配度计算模块1006b,用于根据第一用户的兴趣标签对应的分值、第二用户 的擅长标签对应的分值、第一用户的擅长标签对应的分值、第二用户的兴趣标签对应的分 值、第一相似度和第二相似度计算第一用户和第二用户之间的匹配度。
[0174] 进一步的,在一个实施例中,第一匹配度计算模块1006b用于按照如下公式计算 所述第一用户和第二用户之间的匹配度:
[0175]

【权利要求】
1. 一种用户推荐方法,所述方法包括: 读取用户的兴趣标签和所述兴趣标签对应的分值; 读取用户的擅长标签和所述擅长标签对应的分值; 根据所述兴趣标签对应的分值和所述擅长标签对应的分值生成两个用户之间的匹配 度; 根据所述匹配度选取待推荐用户进行推荐。
2. 根据权利要求1所述的方法,其特征在于,所述方法还包括: 收集用户的线上行为数据,根据所述线上行为数据挖掘用户的兴趣标签。
3. 根据权利要求2所述的方法,其特征在于,所述根据线上行为数据挖掘用户的兴趣 标签,包括: 对所述线上行为数据中的文档进行分词; 计算分词后得到的标签词对应的分值为标签词的词频与用户的所有标签词的词频总 和的比率; 根据所述标签词对应的分值选取标签词作为用户的兴趣标签。
4. 根据权利要求3所述的方法,其特征在于,所述根据线上行为数据挖掘用户的兴趣 标签,还包括: 对所述分词后得到的标签词进行归类; 根据所述标签词对应的分值计算标签词所属类别对应的分值; 根据所述标签词所属类别对应的分值选取类别作为用户的兴趣类别。
5. 根据权利要求1所述的方法,其特征在于,所述方法还包括: 收集用户的专业相关数据,根据所述专业相关数据挖掘用户的擅长标签; 所述专业相关数据包括问答社区数据、专业论坛数据中的至少一种。
6. 根据权利要求5所述的方法,其特征在于,所述根据专业相关数据挖掘用户的擅长 标签,包括: 对所述专业相关数据中的文档进行分词; 计算分词后得到的标签词对应的分值为标签词的词频与用户的所有标签词的词频总 和的比率; 根据所述标签词对应的分值选取标签词作为用户的擅长标签。
7. 根据权利要求6所述的方法,其特征在于,所述根据专业相关数据挖掘用户的擅长 标签,还包括: 对所述分词后得到的标签进行归类; 根据所述标签词对应的分值计算标签词所属类别对应的分值; 根据所述标签词所属类别对应的分值选取类别作为用户的擅长类别。
8. 根据权利要求1所述的方法,其特征在于,所述方法还包括: 收集用户的专业相关数据和个人信息,根据所述专业相关数据和个人信息挖掘用户的 擅长标签; 所述专业相关数据包括问答社区数据、专业论坛数据中的至少一种。
9. 根据权利要求8所述的方法,其特征在于,所述根据专业相关数据和个人信息挖掘 用户的擅长标签,包括: 对所述专业相关数据中的文档进行分词; 计算分词得到的标签词对应的词频概率为所述标签词的词频与用户的所有标签词的 词频总和的比率; 根据所述个人信息获取对应的标签词,以及根据所述个人信息计算获取的标签词所对 应的置信度; 对标签词对应的词频概率和置信度进行拟合,得到所述标签词对应的分值; 根据所述标签词对应的分值选取标签词作为用户的擅长标签。
10. 根据权利要求9所述的方法,其特征在于,所述根据专业相关数据和个人信息挖掘 用户的擅长标签,还包括: 对所述分词后得到的标签进行归类; 根据所述标签词对应的分值计算标签词所属类别对应的分值; 根据所述标签词所属类别对应的分值选取类别作为用户的擅长类别。
11. 根据权利要求1所述的方法,其特征在于,所述根据兴趣标签对应的分值和擅长标 签对应的分值生成两个用户之间的匹配度,包括: 将第一用户的兴趣标签匹配第二用户的擅长标签,获取所述第一用户的兴趣标签与所 述第二用户的擅长标签的第一相似度; 将第一用户的擅长标签匹配第二用户的兴趣标签,获取所述第一用户的擅长标签与第 二用户的兴趣标签的第二相似度; 根据所述第一用户的兴趣标签对应的分值、第二用户的擅长标签对应的分值、第一用 户的擅长标签对应的分值、第二用户的兴趣标签对应的分值、所述第一相似度和第二相似 度计算第一用户和第二用户之间的匹配度。
12. 根据权利要求11所述的方法,其特征在于,按照如下公式计算所述第一用户和第 二用户之间的匹配度:
其中,match_score(a, b)为第一用户a与第二用户b之间的匹配度,n为第一用户a的 标签个数,m为第二用户b的标签个数,α和β为常数; 当将第一用户a的兴趣标签匹配第二用户b的擅长标签时,match (X,y)为所述第一相 似度,Wx为第一用户a的兴趣标签对应的分值,Wy为第二用户b的擅长标签对应的分值; 当将第一用户a的擅长标签匹配第二用户b的兴趣标签时,match (X,y)为所述第二相 似度,Wx为第一用户a的擅长标签的对应的分值,Wy为第二用户b的兴趣标签对应的分值。
13. 根据权利要求1所述的方法,其特征在于,所述兴趣标签包括兴趣类别,所述擅长 标签包括擅长类别;所述根据兴趣标签对应的分值和所述擅长标签对应的分值生成两个用 户之间的匹配度,包括 : 根据所述兴趣类别对应的分值和擅长类别对应的分值生成两个用户之间的匹配度。
14. 根据权利要求13所述的方法,其特征在于,所述根据兴趣类别对应的分值和擅长 类别对应的分值生成两个用户之间的匹配度,包括: 将第一用户的兴趣标签匹配第二用户的擅长标签,获取所述第一用户的兴趣标签与所 述第二用户的擅长标签的第一相似度; 将第一用户的擅长标签匹配第二用户的兴趣标签,获取所述第一用户的擅长标签与第 二用户的兴趣标签的第二相似度; 根据所述第一用户的兴趣类别对应的分值、第二用户的擅长类别对应的分值、第一用 户的擅长类别对应的分值、第二用户的兴趣类别对应的分值、所述第一相似度和第二相似 度计算第一用户和第二用户之间的匹配度。
15. 根据权利要求14所述的方法,其特征在于,按照如下公式计算所述第一用户和第 二用户之间的匹配度: JL-l V-I
其中,match_score(a, b)为第一用户a与第二用户b之间的匹配度,n为第一用户a的 类别个数,m为第二用户b的类别个数,α和β为常数; 当将第一用户a的兴趣标签匹配第二用户b的擅长标签时,match (X,y)为所述第一相 似度,Wx为第一用户a的兴趣类别对应的分值,Wy为第二用户b的擅长类别对应的分值; 当将第一用户a的擅长标签匹配第二用户b的兴趣标签时,match (X,y)为所述第二相 似度,Wx为第一用户a的擅长类别的对应的分值,Wy为第二用户b的兴趣类别对应的分值。
16. -种用户推荐装置,其特征在于,所述装置包括: 兴趣标签读取模块,用于读取用户的兴趣标签和所述兴趣标签对应的分值; 擅长标签读取模块,用于读取用户的擅长标签和所述擅长标签对应的分值; 匹配度生成模块,用于根据所述兴趣标签对应的分值和所述擅长标签对应的分值生成 两个用户之间的匹配度; 用户推荐模块,用于根据所述匹配度选取待推荐用户进行推荐。
17. 根据权利要求16所述的装置,其特征在于,所述装置还包括: 兴趣标签挖掘模块,用于收集用户的线上行为数据,根据所述线上行为数据挖掘用户 的兴趣标签。
18. 根据权利要求17所述的装置,其特征在于,所述兴趣标签挖掘模块包括: 第一分词模块,用于对所述线上行为数据中的文档进行分词; 第一分值计算模块,用于计算分词后得到的标签词对应的分值为标签词的词频与用户 的所有标签词的词频的比率; 兴趣标签选取模块,用于根据所述标签词对应的分值选取标签词作为用户的兴趣标 签。
19. 根据权利要求18所述的装置,其特征在于,所述兴趣标签挖掘模块还包括: 第一归类模块,用于对所述分词后得到的标签词进行归类; 第一类别分值计算模块,用于根据所述标签词对应的分值计算标签词所属类别对应的 分值; 兴趣类别选取模块,用于根据所述标签词所属类别对应的分值选取类别作为用户的兴 趣类别。
20. 根据权利要求16所述的装置,其特征在于,所述装置还包括: 第一擅长标签挖掘模块,用于收集用户的专业相关数据,根据所述专业相关数据挖掘 用户的擅长标签; 所述专业相关数据包括问答社区数据、专业论坛数据中的至少一种。
21. 根据权利要求20所述的装置,其特征在于,所述第一擅长标签挖掘模块包括: 第二分词模块,用于对所述专业相关数据中的文档进行分词; 第二分值计算模块,用于计算分词后得到的标签词对应的分值为标签词的词频与用户 的所有标签词的词频的比率; 第一擅长标签选取模块,用于根据所述标签词对应的分值选取标签词作为用户的擅长 标签。
22. 根据权利要求21所述的装置,其特征在于,所述第一擅长标签挖掘模块还包括: 第二归类模块,用于对所述分词后得到的标签进行归类; 第二类别分值计算模块,用于根据所述标签词对应的分值计算标签词所属类别对应的 分值; 第一擅长类别选取模块,用于根据所述标签词所述类别对应的分值选取类别作为用户 的擅长类别。
23. 根据权利要求16所述的装置,其特征在于,所述装置还包括: 第二擅长标签挖掘模块,用于收集用户的专业相关数据和个人信息,根据所述专业相 关数据和个人信息挖掘用户的擅长标签; 所述专业相关数据包括问答社区数据、专业论坛数据中的至少一种。
24. 根据权利要求23所述的装置,其特征在于,所述第二擅长标签挖掘模块包括: 第三分词模块,用于对所述专业相关数据中的文档进行分词; 词频概率计算模块,用于计算分词得到的标签词对应的词频概率为所述标签词的词频 与用户的所有标签词的词频的比率; 置信度计算模块,用于根据所述个人信息获取对应的标签词,以及根据所述个人信息 计算获取的标签词所对应的置信度; 第三分值计算模块,用于对标签词对应的词频概率和置信度进行拟合,得到所述标签 词对应的分值; 第二擅长标签选取模块,用于根据所述标签词对应的分值选取标签词作为用户的擅长 标签。
25. 根据权利要求24所述的装置,其特征在于,所述第二擅长标签挖掘模块还包括: 第三归类模块,用于对所述分词后得到的标签进行归类; 第三类别分值计算模块,用于根据所述标签词对应的分值计算标签词所属类别对应的 分值; 第二擅长类别选取模块,用于根据所述标签词所述类别对应的分值选取类别作为用户 的擅长类别。
26. 根据权利要求16所述的装置,其特征在于,所述匹配度生成模块包括: 第一匹配模块,用于将第一用户的兴趣标签匹配第二用户的擅长标签,获取所述第一 用户的兴趣标签与所述第二用户的擅长标签的第一相似度;以及用于将第一用户的擅长标 签匹配第二用户的兴趣标签,获取所述第一用户的擅长标签与第二用户的兴趣标签的第二 相似度; 第一匹配度计算模块,用于根据所述第一用户的兴趣标签对应的分值、第二用户的擅 长标签对应的分值、第一用户的擅长标签对应的分值、第二用户的兴趣标签对应的分值、所 述第一相似度和第二相似度计算第一用户和第二用户之间的匹配度。
27. 根据权利要求26所述的装置,其特征在于,所述第一匹配度计算模块用于按照如 下公式计算所述第一用户和第二用户之间的匹配度:
其中,match_score(a, b)为第一用户a与第二用户b之间的匹配度,n为第一用户a的 标签个数,m为第二用户b的标签个数,α和β为常数; 当将第一用户a的兴趣标签匹配第二用户b的擅长标签时,match (X,y)为所述第一相 似度,Wx为第一用户a的兴趣标签对应的分值,Wy为第二用户b的擅长标签对应的分值; 当将第一用户a的擅长标签匹配第二用户b的兴趣标签时,match (X,y)为所述第二相 似度,Wx为第一用户a的擅长标签的对应的分值,Wy为第二用户b的兴趣标签对应的分值。
28. 根据权利要求16所述的装置,其特征在于,所述兴趣标签包括兴趣类别,所述擅长 标签包括擅长类别;所述匹配度生成模块还用于根据所述兴趣类别对应的分值和擅长类别 对应的分值生成两个用户之间的匹配度。
29. 根据权利要求28所述的装置,其特征在于,所述匹配度生成模块包括: 第二匹配模块,用于将第一用户的兴趣标签匹配第二用户的擅长标签,获取所述第一 用户的兴趣标签与所述第二用户的擅长标签的第一相似度;以及用于将第一用户的擅长标 签匹配第二用户的兴趣标签,获取所述第一用户的擅长标签与第二用户的兴趣标签的第二 相似度; 第二匹配度计算模块,用于根据所述第一用户的兴趣类别对应的分值、第二用户的擅 长类别对应的分值、第一用户的擅长类别对应的分值、第二用户的兴趣类别对应的分值、所 述第一相似度和第二相似度计算第一用户和第二用户之间的匹配度。
30. 根据权利要求29所述的装置,其特征在于,所述第二匹配度计算模块用于按照如 下公式计算所述第一用户和第二用户之间的匹配度:
其中,match_score(a, b)为第一用户a与第二用户b之间的匹配度,n为第一用户a的 类别个数,m为第二用户b的类别个数,α和β为常数; 当将第一用户a的兴趣标签匹配第二用户b的擅长标签时,match (X,y)为所述第一相 似度,Wx为第一用户a的兴趣类别对应的分值,Wy为第二用户b的擅长类别对应的分值; 当将第一用户a的擅长标签匹配第二用户b的兴趣标签时,match (X,y)为所述第二相 似度,Wx为第一用户a的擅长类别的对应的分值,Wy为第二用户b的兴趣类别对应的分值。
【文档编号】G06F17/30GK104376010SQ201310354181
【公开日】2015年2月25日 申请日期:2013年8月14日 优先权日:2013年8月14日
【发明者】程刚 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1