著录项信息
专利名称 | 一种问答社区中的问题推荐方法及系统 |
申请号 | CN201210095917.5 | 申请日期 | 2012-04-01 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2013-10-23 | 公开/公告号 | CN103365899A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0;;;H;0;4;L;2;9;/;0;8查看分类表>
|
申请人 | 腾讯科技(深圳)有限公司 | 申请人地址 |
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 深圳市世纪光速信息技术有限公司 | 当前权利人 | 深圳市世纪光速信息技术有限公司 |
发明人 | 勇凤伟;何晓宁;邹烷;贺海军;阳昕;周建勋;王钰琨;郭奇 |
代理机构 | 北京华沛德权律师事务所 | 代理人 | 刘杰 |
摘要
本发明适用于互联网技术领域,提供了一种问答社区中的问题推荐方法及系统,所述方法包括下述步骤:将待推荐问题的问题关键词列表与预设的每一用户的带权重问题关键词列表进行匹配,获取与该每一用户对应的匹配成功的问题关键词的权重之和,将该问题关键词列表分别与预设的每一用户的所有带权重领域关键词列表进行匹配,获取该每一用户对应的所有的匹配成功的领域关键词的权重之和中的最大值,结合与同一用户对应的匹配成功的问题关键词的权重之和以及领域关键词的权重之和中的最大值,获取该待推荐问题与该用户的相关度,将该待推荐问题推送给相关度最高的一个或者多个用户,使得问答社区中用户对问题的回答率得到提高,且用户体验效果得到提升。
1.一种问答社区中的问题推荐方法,其特征在于,所述方法包括下述步骤:
获取待推荐问题的问题关键词列表;
将所述问题关键词列表与预设的每一用户的带权重问题关键词列表进行匹配,获取与所述每一用户对应的匹配成功的问题关键词的权重之和,其中,用户的带权重问题关键词列表用于反映用户回答或者拒绝回答具有列表中任一关键词的问题的频率;
将所述问题关键词列表分别与预设的每一用户的所有带权重领域关键词列表进行匹配,获取与所述每一用户对应的所有的匹配成功的领域关键词的权重之和中的最大值;
结合与同一用户对应的匹配成功的问题关键词的权重之和以及领域关键词的权重之和中的最大值,获取所述待推荐问题与所述用户的相关度;
根据所述待推荐问题与每一用户的相关度,将所述待推荐问题推送给相关度最高的一个或者多个用户。
2.如权利要求1所述的方法,其特征在于,在执行所述将所述问题关键词列表与预设的每一用户的带权重问题关键词列表进行匹配的步骤之前,所述方法还包括:
获取每一用户曾经回答和拒绝回答的问题列表,将所述问题列表按时间排序,提取排序后的问题列表中出现次数大于1的问题关键词,并生成所述用户的问题关键词列表;
根据预设的问题关键词的权重获取关系,获取所述用户的带权重问题关键词列表。
3.如权利要求1所述的方法,其特征在于,在执行所述将所述问题关键词列表分别与预设的每一用户的所有带权重领域关键词列表进行匹配的步骤之前,所述方法还包括:
获取指定领域的所有问题中出现次数大于预设数值的领域关键词的集合;
获取所述集合中的每一个关键词在所述指定领域的所有问题中出现的第一频率,并获取所述每一个关键词在所有领域的所有问题中出现的第二频率;
根据所述每一个关键词第一频率及所述第二频率,获取该指定领域的每一个关键词的权重,并形成所述指定领域的带权重领域关键词列表。
4.如权利要求1所述的方法,其特征在于,所述将所述问题关键词列表与预设的每一用户的带权重问题关键词列表进行匹配,获取与所述每一用户对应的匹配成功的问题关键词的权重之和的步骤具体包括:
将所述待推荐问题的问题关键词列表与预设的所有用户中的一个用户的带权重问题关键词列表进行匹配,获取同时存在于所述关键词列表及所述带权重问题关键词列表中的匹配成功的问题关键词;
基于所述带权重问题关键词列表,获取与所述匹配成功的问题关键词对应的权重;
将所述与所述匹配成功的问题关键词对应的权重相加,获取与所述一个用户对应的匹配成功的问题关键词的权重之和;
更新所述一个用户为预设的所有用户中的下一个用户,重复执行上述步骤,直至获取与所述预设的所有用户中的每一用户对应的匹配成功的问题关键词的权重之和后,退出。
5.如权利要求1所述的方法,其特征在于,所述将所述问题关键词列表分别与预设的每一用户的所有带权重领域关键词列表进行匹配,获取与所述每一用户对应的所有的匹配成功的领域关键词的权重之和中的最大值的步骤具体包括:
a.获取预设的所有用户中的一个用户回答过的所有问题所涉及的领域;
b.根据预设的所有领域中每一领域的带权重领域关键词列表,获取与所述所涉及的领域对应的所述用户的所有带权重领域关键词列表;
c.将所述待推荐问题的问题关键词列表与所述用户的所有带权重领域关键 词列表中的一个带权重领域关键词列表进行匹配,获取同时存在于所述问题关键词列表及所述一个带权重领域关键词列表中的匹配成功的领域关键词;
d.基于所述每一个带权重领域关键词列表,获取与所述每一个带权重领域关键词列表对应的匹配成功的领域关键词的权重之和;
e.更新所述用户的所有带权重领域关键词列表中的一个带权重领域关键词列表为所述用户的所有带权重领域关键词列表中的下一个带权重领域关键词列表,重复上述步骤c至d,直至获取与所述用户的的每一个带权重领域关键词列表对应的匹配成功的领域关键词的权重之和之后,执行步骤f;
f.获取所述权重之和中的最大值;
g.更新所述一个用户为预设的所有用户中的下一个用户,重复执行上述步骤a至f,直至获取与所述预设的所有用户中的每一用户对应的匹配成功的领域关键词的权重之和中的最大值。
6.如权利要求1所述的方法,其特征在于,所述问题关键词的权重为范围属于[-1,1]的实数,所述领域关键词的权重为范围属于(0,1]的实数。
7.一种问答社区中的问题推荐系统,其特征在于,所述系统包括:
关键词列表获取主单元,用于获取待推荐问题的问题关键词列表;
权重之和获取单元,用于将所述问题关键词列表与预设的每一用户的带权重问题关键词列表进行匹配,获取与所述每一用户对应的匹配成功的问题关键词的权重之和,其中,用户的带权重问题关键词列表用于反映用户回答或者拒绝回答具有列表中任一关键词的问题的频率;
最大值获取单元,用于将所述问题关键词列表分别与预设的每一用户的所有带权重领域关键词列表进行匹配,获取与所述每一用户对应的所有的匹配成功的领域关键词的权重之和中的最大值;
相关度获取单元,用于结合与同一用户对应的匹配成功的问题关键词的权重之和以及领域关键词的权重之和中的最大值,获取所述待推荐问题与所述用户的相关度;以及问题推送单元,用于根据所述待推荐问题与每一用户的相关度,将所述待推荐问题推送给相关度最高的一个或者多个用户。
8.如权利要求7所述的系统,其特征在于,所述系统还包括:
列表生成单元,用于获取每一用户曾经回答和拒绝回答的问题列表,将所述问题列表按时间排序,提取排序后的问题列表中出现次数大于1的问题关键词,并生成所述用户的问题关键词列表;以及
带权重列表获取单元,用于根据预设的问题关键词的权重获取关系,获取所述用户的带权重问题关键词列表。
9.如权利要求7所述的系统,其特征在于,所述系统还包括:
集合获取单元,用于获取指定领域的所有问题中出现次数大于预设数值的领域关键词的集合;
频率获取单元,用于获取所述集合中的每一个关键词在所述指定领域的所有问题中出现的第一频率,并获取所述每一个关键词在所有领域的所有问题中出现的第二频率;以及带权重领域列表生成单元,用于根据所述每一个关键词第一频率及所述第二频率,获取该指定领域的每一个关键词的权重,并生成所述指定领域的带权重领域关键词列表。
10.如权利要求7所述的系统,其特征在于,所述权重之和获取单元具体包括:
匹配关键词获取单元,用于将所述待推荐问题的问题关键词列表与预设的所有用户中的一个用户的带权重问题关键词列表进行匹配,获取同时存在于所述关键词列表及所述带权重问题关键词列表中的匹配成功的问题关键词;
权重获取单元,用于基于所述带权重问题关键词列表,获取与所述匹配成功的问题关键词对应的权重;以及
权重之和获取子单元,用于将所述与所述匹配成功的问题关键词对应的权重相加,获取与所述一个用户对应的匹配成功的问题关键词的权重之和;以及
更新单元,用于更新所述一个用户为预设的所有用户中的下一个用户,触发所述匹配关键词获取单元,直至获取与所述预设的所有用户中的每一用户对应的匹配成功的问题关键词的权重之和后,退出。
一种问答社区中的问题推荐方法及系统\n技术领域\n[0001] 本发明属于互联网技术领域,尤其涉及一种问答社区中的问题推荐方法及系统。\n背景技术\n[0002] 目前,在互联网问答社区中,经常需要向用户自动推荐问题,现有的推荐方法主要分为两类,即协同推荐方法和基于属性的推荐方法。在协同推荐方法中,系统查找与待推荐用户相似的用户,并根据这些用户曾经所选择的项目,将合适的项目推荐给该用户;或者参考与待推荐项目相似的项目,并根据曾经选择过这些项目的用户,为合适的用户推荐该项目。如电子商城可以根据用户的历史购买行为找出他可能感兴趣的商品并为他推荐。而在基于属性的方法中,会根据用户的某些属性进行推荐,比如,可以根据用户的身高和体重为用户推荐饮食,或者根据用户的财务状况为其推荐理财产品。\n[0003] 然而,在问答社区中,一个用户提出自己感兴趣的问题,并由能够回答该问题的用户为其进行解答,由于问题被解答之后不再需要懂得该问题的用户继续解答,因此很少存在多个用户共同解答一个问题,或者说很少存在一个问题被多个用户解答,因此基于协同推荐的方法不适用于这种情形。而基于用户属性进行推荐的方法更适用于问题推荐。在问答社区中,用户的属性一般包括他回答过的问题数量,他的活跃程度,以及问题的长度等。\n不过,目前的问题推荐方法或者侧重于给用户推送他回答过的问题,以保证他能够回答该问题;或者侧重于尽可能给用户推荐他没有回答过的问题,使得他不会感到厌烦。前者会导致同样的问题总被同样的用户收到,使得系统无法得到其他人的答案,并且容易使被推送用户厌烦,后者则导致用户收到过多的他无法回答的问题。\n发明内容\n[0004] 本发明实施例的目的在于提供一种问答社区中的问题推荐方法及系统,旨在解决在问答社区中对用户进行问题推荐时,存在向用户推荐的问题单一以及推送用户不感兴趣的问题的情况,导致问答社区中对问题的回答率不高和用户体验效果不佳的问题。\n[0005] 本发明实施例是这样实现的,一种问答社区中的问题推荐方法,所述方法包括下述步骤:\n[0006] 获取待推荐问题的问题关键词列表;\n[0007] 将所述问题关键词列表与预设的每一用户的带权重问题关键词列表进行匹配,获取与所述每一用户对应的匹配成功的问题关键词的权重之和;\n[0008] 将所述问题关键词列表分别与预设的每一用户的所有带权重领域关键词列表进行匹配,获取与所述每一用户对应的所有的匹配成功的领域关键词的权重之和中的最大值;\n[0009] 结合与同一用户对应的匹配成功的问题关键词的权重之和以及领域关键词的权重之和中的最大值,获取所述待推荐问题与所述用户的相关度;\n[0010] 根据所述待推荐问题与每一用户的相关度,将所述待推荐问题推送给相关度最高的一个或者多个用户。\n[0011] 本发明实施例的另一目的在于提供一种问答社区中的问题推荐系统,所述系统包括:\n[0012] 关键词列表获取主单元,用于获取待推荐问题的问题关键词列表;\n[0013] 权重之和获取单元,用于将所述问题关键词列表与预设的每一用户的带权重问题关键词列表进行匹配,获取与所述每一用户对应的匹配成功的问题关键词的权重之和;\n[0014] 最大值获取单元,用于将所述问题关键词列表分别与预设的每一用户的所有带权重领域关键词列表进行匹配,获取与所述每一用户对应的所有的匹配成功的领域关键词的权重之和中的最大值;\n[0015] 相关度获取单元,用于结合与同一用户对应的匹配成功的问题关键词的权重之和以及领域关键词的权重之和中的最大值,获取所述待推荐问题与所述用户的相关度;以及[0016] 问题推送单元,用于根据所述待推荐问题与每一用户的相关度,将所述待推荐问题推送给相关度最高的一个或者多个用户。\n[0017] 本发明实施例通过将待推荐问题的问题关键词列表与预设的每一用户的带权重问题关键词列表进行匹配,获取与该每一用户对应的匹配成功的问题关键词的权重之和,将该问题关键词列表分别与预设的每一用户的所有带权重领域关键词列表进行匹配,获取该每一用户对应的所有的匹配成功的领域关键词的权重之和中的最大值,并结合与同一用户对应的匹配成功的问题关键词的权重之和以及领域关键词的权重之和中的最大值,获取该待推荐问题与该用户的相关度,将该待推荐问题推送给相关度最高的一个或者多个用户,解决了在问答社区中对用户进行问题推荐时,存在向用户推荐的问题单一以及推送用户不感兴趣的内容的情况,导致问答社区中对问题的回答率不高和用户体验效果不佳的问题,避免了向用户推荐的问题单一及属于用户不感兴趣的问题,从而提高了用户对问答社区中问题的回答率,也提升了用户在问答社区中的体验效果。\n附图说明\n[0018] 图1是本发明第一实施例提供的问答社区中的问题推荐方法的实现流程图;\n[0019] 图2是本发明第二实施例提供的获取用户的带权重问题关键词列表方法的实现流程图;\n[0020] 图3是本发明第三实施例提供的问答社区中的问题推荐系统的结构图;\n[0021] 图4是本发明第三实施例提供的最大值获取单元的具体结构图。\n具体实施方式\n[0022] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。\n[0023] 本发明实施例通过利用预设的每一用户的带权重问题关键词列表及预设的每一用户的所有带权重领域关键词列表,获取与该每一用户对应的匹配成功的问题关键词的权重之和及该每一用户对应的所有的匹配成功的领域关键词的权重之和中的最大值,结合与同一用户对应的匹配成功的问题关键词的权重之和以及领域关键词的权重之和中的最大值,获取该待推荐问题与该用户的相关度,对该相关度从高到低排序,对相关度高的预设个数的用户进行问题的推荐,从而在问答社区中对用户进行问题推荐时,能够较准确地推荐给用户感兴趣的问题等,使得用户的体验更佳。\n[0024] 以下结合具体实施例对本发明的具体实现进行详细描述:\n[0025] 实施例一:\n[0026] 图1示出了本发明第一实施例提供的问答社区中的问题推荐方法的实现流程,详述如下:\n[0027] 在步骤S101中,获取待推荐问题的问题关键词列表。\n[0028] 在具体实施过程中,当有新问题提出后,希望能够回答该问题的用户对该新问题进行解答,然而由于不知道哪些领域和/或哪些用户等能够对该新问题进行解答,或者由于能够解答该新问题的用户无法得知其能够解答的问题被提出,则利用本发明实施例提供的问题推荐方法可以先获取该提出的问题的关键词列表,具体地为提取该提出的问题中,能够反映该问题内容信息的关键词等,根据该关键词列表最终可以将该新问题推荐给合适的用户解答。其中,该问题关键词列表为与该待推荐问题的内容相关的关键词的集合,也即该相关的关键词从反映该待推荐问题所包含的内容信息。\n[0029] 在步骤S102中,将该问题关键词列表与预设的每一用户的带权重问题关键词列表进行匹配,获取与该每一用户对应的匹配成功的问题关键词的权重之和。\n[0030] 在执行步骤S102之前,该问答社区中的问题推荐方法还包括:\n[0031] 获取用户曾经回答和拒绝回答的问题列表,将该问题列表按时间排序,提取排序后的问题列表中出现次数大于1的问题关键词,并生成该用户的问题关键词列表;\n[0032] 根据预设的问题关键词的权重获取关系,获取该用户的带权重问题关键词列表。\n[0033] 其中,上述获取每一用户的带权重问题关键词列表的步骤的具体实施过程如下述实施例二,在此不再赘述。\n[0034] 该步骤S102具体包括:\n[0035] 将该待推荐问题的问题关键词列表与预设的所有用户中的一个用户的带权重问题关键词列表进行匹配,获取同时存在于该关键词列表及该带权重问题关键词列表中的匹配成功的问题关键词;\n[0036] 基于该带权重问题关键词列表,获取与该匹配成功的问题关键词对应的权重;\n[0037] 将该与该匹配成功的问题关键词对应的权重相加,获取与该一个用户对应的匹配成功的问题关键词的权重之和;\n[0038] 更新该一个用户为预设的所有用户中的下一个用户,重复执行上述步骤,直至获取与该预设的所有用户中的每一用户对应的匹配成功的问题关键词的权重之和后,退出。\n[0039] 作为本发明一实施例,假设待推荐问题的问题关键词列表为{a1,a2,a3},该预设的所有用户为3个用户,分别为U1、U2、U3,且U1对应的带权重问题关键词列表为{U11、T11,U12、T12,...},U2对应的带权重问题关键词列表为{U21、T21,U22、T22,...},U3对应的带权重问题关键词列表为{U31、T31,U32、T32,...},其中U11等为关键词,T11为关键词U11的权重,经过上述匹配后:\n[0040] 对于U1,将该待推荐问题的问题关键词列表与U1的带权重问题关键词列表进行匹配,假设得到该待推荐问题的问题关键词列表中的a1与U1的带权重问题关键词列表中的U11匹配,那么与U1对应的匹配成功的问题关键词的权重之和为T11;\n[0041] 对于U2,将该待推荐问题的问题关键词列表与U2的带权重问题关键词列表进行匹配,假设得到该待推荐问题的问题关键词列表中的a1、a2分别对应与U2的带权重问题关键词列表中的U23、U24匹配,那么与U2对应的匹配成功的问题关键词的权重之和为(T23+T24);\n[0042] 对于U3,将该待推荐问题的问题关键词列表与U3的带权重问题关键词列表进行匹配,假设得到该待推荐问题的问题关键词列表中的a1,a2,a3分别对应与U3中的U33、U35、U36匹配,那么与U2对应的匹配成功的问题关键词的权重之和为(T33+T35+T36)。\n[0043] 在本发明实施例中,该用户的带权重问题关键词列表反映了用户回答或者拒绝回答具有该关键词的的问题的频率,因而使用本发明中的问题推荐方法计算得到的匹配成功的问题关键词的权重之和,衡量了用户回答该问题的意愿。当用户多次回答带某一关键词的问题时,这一关键词在该用户的关键词列表会具有一个高权重;反之,当用户多次拒绝回答带某一关键词的问题时,这个词的权重就会降低直至-1,在获取待推荐问题与每个用户的问题关键词列表的匹配度或者称权重之后,可以把问题推荐给权重之和较大或者说有希望回答的用户。\n[0044] 在步骤S103中,将该问题关键词列表分别与预设的每一用户的所有带权重领域关键词列表进行匹配,获取与该每一用户对应的所有的匹配成功的领域关键词的权重之和中的最大值。\n[0045] 在执行步骤S103之前,该问答社区中的问题推荐方法还包括:\n[0046] 获取指定领域的所有问题中出现次数大于预设数值的领域关键词的集合;\n[0047] 获取该集合中的每一个关键词在该指定领域的所有问题中出现的第一频率,并获取该每一个关键词在所有领域的所有问题中出现的第二频率;\n[0048] 根据该每一个关键词第一频率及该第二频率,获取该指定领域的每一个关键词的权重,并生成该指定领域的带权重领域关键词列表。\n[0049] 在具体实施过程中,若对于指定领域c,提取在c中出现次数大于等于某一数值的领域关键词的集合W={w1,w2,...wn},该数值可以根据实际情况选取,比如可以取10等整数,该领域关键词是指与该指定领域中c中所有问题的内容相关的关键词的集合,也即该相关的关键词从反映该领域c中所有问题所包含的内容信息,对W中每个关键词wi,i=1,\n2,...,n,进行如下计算:\n[0050] 记在所有领域发表过的问题总数为N,该所有领域包括领域a、b、c等,记N个问题中包含关键词wi的问题数为di,记某一领域c中的问题总数为Nc,记该领域c中包含关键词wi的问题数为Nci,则为关键词wi分配一个权重参数cwi,根据下述公式(1)获取cwi,其中,Nci/Nc表示每一个关键词在该指定领域的所有问题中出现的第一频率,di/N表示该每一个关键词在所有领域的所有问题中出现的第二频率,\n[0051] cwi=log((Nci/Nc)×(N/di))×log(N/di), (1)[0052] 如果cwi≤0,则从W中去掉wi,否则,保留该wi。\n[0053] 之后,还可以对每一个关键词的权重wi进行归一化处理,获取更新后的该指定领域c的带权重领域关键词列表,也即对集合W中的每个关键词进行如上计算之后,取集合W中所有词的cwi的最大值,记为max_cw,并对所有的cwi进行归一化运算:用old_cwi表示归一化之前的cwi,则归一化之后的cwi=old-_cwi/max_cw。集合W中的所有词wi和相关权重cwi构成领域c的带权重关键词列表。\n[0054] 综合上述步骤,则可以获取所有领域中每一个领域的带权重关键词列表,也可以称为带权重领域关键词列表,该带权重领域关键词列表与单一用户无关,而是与所有用户相关。\n[0055] 其中,该带权重领域关键词列表中的每一个关键词的权重为范围在(0,1]中的实数,表示某个关键词与此领域有关的程度。\n[0056] 该步骤S103具体包括:\n[0057] a.获取预设的所有用户中的一个用户回答过的所有问题所涉及的领域;\n[0058] b.根据预设的所有领域中每一领域的带权重领域关键词列表,获取与该所涉及的领域对应的该用户的所有带权重领域关键词列表;\n[0059] c.将该待推荐问题的问题关键词列表与该用户的所有带权重领域关键词列表中的一个带权重领域关键词列表进行匹配,获取同时存在于该问题关键词列表及该一个带权重领域关键词列表中的匹配成功的领域关键词;\n[0060] d.基于该带权重领域关键词列表,获取与该带权重领域关键词列表对应的匹配成功的领域关键词的权重之和;\n[0061] e.更新该用户的所有带权重领域关键词列表中的一个带权重领域关键词列表为该用户的所有带权重领域关键词列表中的下一个带权重领域关键词列表,重复上述步骤c至d,直至获取与该用户的的每一个带权重领域关键词列表对应的匹配成功的领域关键词的权重之和之后,执行步骤f;\n[0062] f.获取该权重之和中的最大值;\n[0063] g.更新该一个用户为预设的所有用户中的下一个用户,重复执行上述步骤a至f,直至获取与该预设的所有用户中的每一用户对应的匹配成功的领域关键词的权重之和中的最大值。\n[0064] 作为本发明一实施例,假设待推荐问题的问题关键词列表为{a1,a2,a3},预设的所有领域为{q1,q2,q3,q4},q1对应的领域关键词列表为{U11、T11,U12、T12,...},q2对应的领域关键词列表为{U21、T21,U22、T22,...},q3对应的领域关键词列表为{U31、T31,U32、T32,...},q4对应的领域关键词列表为{U41、T41,U42、T42,...},该预设的所有用户为3个用户,分别为U1、U2、U3,且假设U1回答过的所有问题所涉及的领域为{q2},且U2回答过的所有问题所涉及的领域为{q1,q3},且U3回答过的所有问题所涉及的领域为{q2,q3,q4},其中U11等为关键词,T11等为关键词U11的权重,则经过上述匹配后,\n[0065] 对于U1,将U1回答过的所有问题所涉及的领域为{q2}与预设的所有领域为{q1,q2,q3,q4}进行匹配,则对应的带权重领域关键词列表为q2所对应的带权重领域关键词列表{U21、T21,U22、T22,...},假设得到该待推荐问题的问题关键词列表中的a1与U1的带权重问题关键词列表中的U11匹配,那么与U1对应的匹配成功的问题关键词的权重之和为T11,则U1的带权重领域关键词列表对应的匹配成功的领域关键词的权重之和的最大值也为T11;\n[0066] 对于U2,将U2回答过的所有问题所涉及的领域为{q1,q3}与预设的所有领域为{q1,q2,q3,q4}进行匹配,则对应的匹配领域分别为q1,q3,q1,q3所对应的带权重领域关键词列表分别{U11、T11,U12、T12,...}、{U31、T31,U32、T32,...},假设得到该待推荐问题的问题关键词列表中的a1、a2分别对应与U2的带权重问题关键词列表{U11、T11,U12、T12,...}中的U13、U14匹配,且该待推荐问题的问题关键词列表中的a1分别对应与U2的带权重问题关键词列表{U31、T31,U32、T32,...}中的U33、U34匹配,那么与U2对应的匹配成功的问题关键词的权重之和有两个,分别为(T13+T14)、(T33+T34),若进一步判断得知(T13+T14)大于(T33+T34),则U2的带权重领域关键词列表对应的匹配成功的领域关键词的权重之和的最大值也为(T13+T14);\n[0067] 对于U3,将U3回答过的所有问题所涉及的领域为{q2,q3,q4}与预设的所有领域为{q1,q2,q3,q4}进行匹配,则对应的匹配领域分别为q2,q3,q4,q2,q3,q4所对应的带权重领域关键词列表分别{U21、T21,U22、T22,...}、{U31、T31,U32、T32,...}、{U41、T41,U42、T42,...},将该待推荐问题的问题关键词列表与U3的带权重问题关键词列表进行匹配,假设得到该待推荐问题的问题关键词列表中的a2分别对应与U3的带权重问题关键词列表{U11、T11,U12、T12,...}中的U13匹配,且该待推荐问题的问题关键词列表中的a3分别对应与U3的带权重问题关键词列表{U21、T21,U22、T22,...}中的U23、U24匹配,且该待推荐问题的问题关键词列表中的a1,a3分别对应与U3的带权重问题关键词列表{U31、T31,U32、T32,...}中的U33、U35、U36匹配,那么与U2对应的匹配成功的问题关键词的权重之和为(T13)、(T23+T24)、(T33+T35+T36),若进一步判断得知(T33+T35+T36)大于(T23+T24)大于(T13),则U3的带权重领域关键词列表对应的匹配成功的领域关键词的权重之和的最大值也为(T33+T35+T36)。\n[0068] 从而,经过上述步骤,获取了与该预设的所有用户中的每一用户对应的匹配成功的领域关键词的权重之和中的最大值。\n[0069] 在本发明实施例中,该带权重领域关键词列表反映了某一领域中关键词的热度情况,当执行步骤S104之后,对于某一用户,如果获得了该用户所涉及的问题所属领域中对应的一个领域的权重之和最大,则说明了该用户即使没有回答过该领域的问题,也很有可能能够回答该领域的问题,这样就使得带推荐问题可能推荐给历史上回答该问题最多的人之外的人,也即该用户,也使得一个问题有更多的候选推荐用户,用户有更多的选择问题。\n[0070] 在步骤S104中,结合与同一用户对应的匹配成功的问题关键词的权重之和以及领域关键词的权重之和中的最大值,获取该待推荐问题与该用户的相关度。\n[0071] 其中,该步骤S104具体包括:\n[0072] 将同一用户对应的匹配成功的问题关键词的权重之和以及领域关键词的权重之和中的最大值进行相加;\n[0073] 将相加后所得的数值作为该待推荐问题与该用户的相关度。\n[0074] 在步骤S105中,根据该待推荐问题与每一用户的相关度,将该待推荐问题推送给相关度最高的一个或者多个用户。\n[0075] 在具体实施过程中,获取该待推荐问题与每一用户的相关度之后,若存在多个用户,则可以获取与该多个用户对应的多个相关度,可以对该多个相关度进行从高到低排序,获取排在前几位的相关度对应的几位用户,将待带推荐的问题推荐给该几位用户,该接收问题推荐的用户个数可以根据实际需要设定。\n[0076] 在本发明实施例中,当基于该待推荐的问题,获取的用户的问题关键词列表得分或称权重之和较低,而用户的领域关键词列表得分或者称权重之和的最大值较高时,说明该用户回答过与该待推荐的问题类似的问题,并且该类似的问题所属领域与该待推荐的问题所属领域相关,表示该用户有很大可能会回答该待推荐的问题,这样就使得问题可能推荐给历史上回答该问题最多的人之外的人,使得一个问题有更多的候选推荐用户,也使用户有更多的选择问题。\n[0077] 在本发明实施例中,每个待推荐的问题与用户的相关度由该用户的带权重问题关键词列表与该带推荐问题的匹配程度和该用户回答过的问题所涉及的领域的领域关键词列表与该带推荐问题的匹配程度结合而成,使得在向用户推荐问题时,避免了同样的用户收到同样的问题,而无法得到其他用户的回答答案,也避免了用户收到过多他无法回答的问题而感到厌烦等,比如,由于引入了用户的关键词的负权重,该方法可以在给用户推送新鲜问题的同时,避免推送他不感兴趣的问题。如果用户对某类问题不进行解答,其中的关键词权重就会逐渐降低,从而系统将不会为用户推荐该类问题,由于该推荐问题的方法利用到领域关键词表,还会尝试为用户推荐该领域的其它问题。\n[0078] 实施例二:\n[0079] 图2示出了本发明第二实施例提供的获取用户的带权重问题关键词列表的方法的实现流程,当利用该问答社区中的问题推荐方法向某一用户推荐新问题之前,需要获取该用户的带权重问题关键词列表,详述如下:\n[0080] 在步骤S201中,获取用户曾经回答和拒绝回答的所有问题,将该所有问题按发生时间先后排序。\n[0081] 在步骤S202中,提取排序后的问题中出现次数大于1的问题关键词,并形成该用户的问题关键词列表。\n[0082] 在步骤S203中,设置该问题关键词列表中的每一关键词的初始权重为0。\n[0083] 在具体实施过程中,首先收集某一用户U曾经回答和拒绝回答的问题列表Q,将Q中的问题按发生时间先后排序,提取Q中出现次数大于1的问题关键词的集合,作为问题关键词列表,设置该问题关键词列表为W={w1,w2,...,wn},并为每个关键词wi,其中i=1,\n2,...,n,设置一个实数参数或称初始权重Ulrwi,其中i=1,2,...,n,Ulrwi初始值为0,且设置一个学习速率常数RATE,根据实际经验可以得知RATE的取值范围为(0,1),比如,可以设置RATE=0.02。\n[0084] 在步骤S204中,获取该排序后的所有问题中第一个问题的问题标签以及该问题关键词列表的所有关键词的问题参数。\n[0085] 在步骤S205中,结合该第一问题的问题标签、该所有关键词的初始权重、问题参数以及根据预设的权重获取关系,获取该问题关键词列表中第一关键词的第一权重。\n[0086] 在步骤S206中,更新该第一关键词的初始权重为该第一关键词的第一权重。\n[0087] 在具体实施过程中,对Q中的第一个问题,进行如下计算:\n[0088] 记下该第一个问题的标签label,如果用户U回答了该问题,则问题标签label=1,否则label=0。如果关键词wi出现在该第一个问题中,则问题参数xi=1,否则xi=0。则对集合W中的每个关键词wi,都可以获取对应的问题参数,可以按照下述公式或者称预设的权重获取关系(2)、(3)、(4)计算得到delta_wi:\n[0089]\n[0090]\n[0091] delta_wi=(label-p)×RATE×xi, (4)[0092] 对于关键词wi,按照赋值方法old_Ulrwi=Ulrwi,Ulrwi=old_Ulrwi+delta_wi更新与关键词wi相应的初始权重为第一权重Ulrwi。\n[0093] 在步骤S207中,判断是否遍历了该问题关键词列表中的所有关键词,是,则转至执行步骤S209,否,则执行步骤S208。\n[0094] 在步骤S208中,将该问题关键词列表的下一个关键词作为第一关键词。\n[0095] 在具体实施过程中,当更新了该问题关键词列表的第一个关键词在该第一问题中所占的权重之后,需要继续更新其他关键词在该第一问题中的权重,直至更新该问题关键词列表中的所有关键词的权重,之后,继续更新该关键词列表中的所有关键词在下一个问题中所占的权重。\n[0096] 在步骤S209中,判断是否遍历了所有问题,是则执行步骤S211,之后退出,否则执行步骤S210。\n[0097] 在步骤S210中,将该排序后的所有问题中的下一问题作为第一个问题。\n[0098] 在步骤S211中,获取更新后的问题关键词列表中所有关键词的权重。\n[0099] 具体地,利用上述步骤可以求出W中的每个关键词wi在该第一个问题中的权重。在更新了每一个关键词wi对应的参数Ulrwi之后,将更新后的Ulrwi作为下一个问题中关键词wi的初始参数,也即,对Q中的下一个问题,如果该下一个问题中出现了该wi,则以该wi对应的更新后的Ulrwi值作为初始值重新执行上述步骤,继续更新该Ulrwi,直至该关键词wi在Q中某个问题最后一次出现时,更新后的Ulrwi值作为关键词wi的最终实数参数值。当然如果对Q中的下一个问题,wi不再出现,则wi对应的最终实数参数值Ulrwi则为最后一次更新后值。从而,利用上述步骤最终可以求出该用户U的问题关键词W的带权重问题关键词列表ULRW={Ulrw1,Ulrw2,...,Ulrwn},Ulrwi表示用户U与关键词wi的权重,i=1,2,...,n。\n[0100] 在步骤S212中,根据包含该列表的中一个关键词的问题数目在所有问题中出现的频率,及该其中一个关键词所占的字节数,继续更新该列表中所有关键词的权重。\n[0101] 在步骤S213中,对更新后的该问题关键词列表归一化后输出。\n[0102] 在本发明实施例中,还接着对W中的每个关键词wi,继续做如下计算:\n[0103] 记全部用户发表过的问题总数为N,全部用户发表过的问题中包含关键词wi的问题数为di,则为关键词wi分配一个参数idfi=ln(N/di),其中ln为自然对数函数,也为关键词wi分配一个参数bytei,记为该关键词在计算机内存中占用的字节数,该bytei为已知,继续计算用户U与关键词wi的相关权重为Uwi,Uwi=Ulrwi*idfi*ln(bytei),则根据上述计算可以获取在所有问题中,用户U与每一个关键词wi的相关权重Uwi,记为列表UW={Uw1,Uw2,...,Uwn},取集合UW中所有Uwi,i=1,2,...,n的绝对值的最大值,记为max_Uw,并对所有的Uwi进行归一化运算,old_Uwi表示归一化之前的Uwi,则归一化之后的Uuwi=old_Uwi /max_Uw。\n[0104] 综上该,集合W中的所有关键词wi和该wi对应的相关权重Uwi构成了用户U的带权重问题关键词列表,其中,问题关键词的权重为范围在[-1,1]中的实数,正值表示用户接受该关键词的程度,负值则表示用户拒绝该关键词的程度。\n[0105] 在本发明实施例中,根据用户回答和拒绝的问题情况可知,若某一问题关键词对应的权重值越高,则说明该用户有能力或者有意愿回答包含该问题关键词的问题等,否则,该用户可能对该问题不太感兴趣甚至拒绝回答包含该问题关键词的问题等,从而用户的带权重问题关键词列表从一定程度上反映了用户在社区问答中处理问题的情况,则该问答社区的管理人员等则可以根据该用户的问答情况,有针对性地向用户推荐问题,使得用户能够及时地获取感兴趣的问题,也有助于提升用户的使用体验等。\n[0106] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该的程序可以存储于一计算机可读取存储介质中,该的存储介质,如ROM/RAM、磁盘、光盘等。\n[0107] 实施例三:\n[0108] 图3示出了本发明第三实施例提供的问答社区中的问题推荐系统的结构,为了便于说明,仅示出了与本发明实施例相关的部分。\n[0109] 该问答社区中的问题推荐的系统包括关键词列表获取主单元31、权重之和获取单元32、最大值获取单元33、相关度获取单元34以及问题推送单元35,其中:\n[0110] 关键词列表获取主单元31,用于获取待推荐问题的问题关键词列表。\n[0111] 在本发明实施例中,当有新问题提出后,希望能够回答该问题的用户对该新问题进行解答,然而由于不知道哪些领域和/或哪些用户等能够对该新问题进行解答,或者由于能够解答该新问题的用户无法得知其能够解答的问题被提出,则利用本发明实施例提供的问题推荐方法可以利用关键词列表获取主单元31先获取该提出的问题的关键词列表,根据该关键词列表最终可以将该新问题推荐给合适的用户解答。其中,该问题关键词列表为与该待推荐问题的内容相关的关键词的集合,也即该相关的关键词从反映该待推荐问题所包含的内容信息。\n[0112] 权重之和获取单元32,用于将该问题关键词列表与预设的每一用户的带权重问题关键词列表进行匹配,获取与该每一用户对应的匹配成功的问题关键词的权重之和。\n[0113] 在本发明实施例中,在触发权重之和获取单元32之前,该问答社区中的问题推荐系统还包括:\n[0114] 列表生成单元,用于获取每一用户曾经回答和拒绝回答的问题列表,将该问题列表按时间排序,提取排序后的问题列表中出现次数大于1的问题关键词,并生成该用户的问题关键词列表;以及\n[0115] 带权重列表获取单元,用于根据预设的问题关键词的权重获取关系,获取该用户的带权重问题关键词列表。\n[0116] 其中,问题关键词的权重为范围在[-1,1]中的实数,正值表示用户接受该关键词的程度,负值则表示用户拒绝该关键词的程度。而获取每一用户的带权重问题关键词列表的步骤的具体实施过程如上述实施例二,在此不再赘述。\n[0117] 另外,该权重之和获取单元32具体包括:\n[0118] 匹配关键词获取单元321,用于将该待推荐问题的问题关键词列表与预设的所有用户中的一个用户的带权重问题关键词列表进行匹配,获取同时存在于该关键词列表及该带权重问题关键词列表中的匹配成功的问题关键词;\n[0119] 权重获取单元322,用于基于该带权重问题关键词列表,获取与该匹配成功的问题关键词对应的权重;\n[0120] 权重之和获取子单元323,用于将该与该匹配成功的问题关键词对应的权重相加,获取与该一个用户对应的匹配成功的问题关键词的权重之和;以及\n[0121] 更新单元324,用于更新该一个用户为预设的所有用户中的下一个用户,触发该匹配关键词获取单元,直至获取与该预设的所有用户中的每一用户对应的匹配成功的问题关键词的权重之和后,退出。\n[0122] 在本发明实施例中,该用户的带权重问题关键词列表反映了用户回答或者拒绝回答具有该关键词的的问题的频率,因而使用本发明中的问题推荐方法计算得到的匹配成功的问题关键词的权重之和,衡量了用户回答该问题的意愿。当用户多次回答带某一关键词的问题时,这一关键词在该用户的关键词列表会具有一个高权重;反之,当用户多次拒绝回答带某一关键词的问题时,这个词的权重就会降低直至-1,在获取待推荐问题与每个用户的问题关键词列表的匹配度或者称权重之后,可以把问题推荐给最权重之和较大或者说有希望回答的用户。\n[0123] 最大值获取单元33,用于将该问题关键词列表分别与预设的每一用户的所有带权重领域关键词列表进行匹配,获取与该每一用户对应的所有的匹配成功的领域关键词的权重之和中的最大值。\n[0124] 在本发明实施例中,在触发最大值获取单元33之前,该问答社区中的问题推荐系统包括:\n[0125] 集合获取单元,用于获取指定领域的所有问题中出现次数大于预设数值的领域关键词的集合;\n[0126] 频率获取单元,用于获取该集合中的每一个关键词在该指定领域的所有问题中出现的第一频率,并获取该每一个关键词在所有领域的所有问题中出现的第二频率;以及[0127] 带权重领域列表生成单元,用于根据该每一个关键词第一频率及该第二频率,获取该指定领域的每一个关键词的权重,并生成该指定领域的带权重领域关键词列表。\n[0128] 在本发明实施例中,利用集合获取单元、频率获取单元以及带权重领域列表生成单元可以获取所有领域中每一个领域的带权重关键词列表,也可以称为带权重领域关键词列表,该带权重领域关键词列表与单一用户无关,而是与所有用户相关。该带权重领域关键词列表中的每一个关键词的权重为范围在(0,1]中的实数,标示某个关键词与此领域有关的程度。\n[0129] 如图4所示,该最大值获取单元33具体包括涉及领域获取单元41、领域关键词获取单元42、匹配关键词获取单元43、权重之和获取单元44、第一更新单元45、最大值获取子单元46以及第二更新单元47,其中:\n[0130] 涉及领域获取单元41,用于获取预设的所有用户中的一个用户回答过的所有问题所涉及的领域;\n[0131] 领域关键词获取单元42,用于根据预设的所有领域中每一领域的带权重领域关键词列表,获取与该所涉及的领域对应的该用户的所有带权重领域关键词列表;\n[0132] 匹配关键词获取单元43,用于将该待推荐问题的问题关键词列表分别与该用户的所有带权重领域关键词列表中的一个带权重领域关键词列表进行匹配,分别获取同时存在于该问题关键词列表及该一个带权重领域关键词列表中的匹配成功的领域关键词;\n[0133] 权重之和获取单元44,用于基于该带权重领域关键词列表,获取与该带权重领域关键词列表对应的匹配成功的领域关键词的权重之和;\n[0134] 第一更新单元45,用于更新该用户的所有带权重领域关键词列表中的一个带权重领域关键词列表为该用户的所有带权重领域关键词列表中的下一个带权重领域关键词列表,触发该匹配关键词获取单元43,直至获取与该用户的的每一个带权重领域关键词列表对应的匹配成功的领域关键词的权重之和之后,触发最大值获取子单元46;\n[0135] 最大值获取子单元46,用于获取该权重之和中的最大值;以及\n[0136] 第二更新单元47,用于更新该一个用户为预设的所有用户中的下一个用户,触发该涉及领域获取单元41,直至获取与该预设的所有用户中的每一用户对应的匹配成功的领域关键词的权重之和中的最大值。\n[0137] 在本发明实施例中,该带权重领域关键词列表反映了某一领域中关键词的热度情况,对于某一用户,如果获得了该用户所涉及的问题所属领域中对应的一个领域的权重之和最大,则说明了该用户即使没有回答过该领域的问题,也很有可能能够回答该领域的问题,这样就使得带推荐问题可能推荐给历史上回答该问题最多的人之外的人,也即该用户,也使得一个问题有更多的候选推荐用户,用户有更多的选择问题。\n[0138] 相关度获取单元34,用于结合与同一用户对应的匹配成功的问题关键词的权重之和以及领域关键词的权重之和中的最大值,获取该待推荐问题与该用户的相关度。\n[0139] 问题推送单元35,用于根据该待推荐问题与每一用户的相关度,将该待推荐问题推送给相关度最高的一个或者多个用户。\n[0140] 在本发明实施例中,相关度获取单元34将同一用户对应的匹配成功的问题关键词的权重之和以及领域关键词的权重之和中的最大值进行相加,将相加后所得的数值作为该待推荐问题与该用户的相关度。获取该待推荐问题与每一用户的相关度之后,则利用问题推送单元35可以获取与该多个用户对应的多个相关度,对该多个相关度进行从高到低排序,获取排在前几位的相关度对应的几位用户,将待带推荐的问题推荐给该几位用户,该接收问题推荐的用户个数可以根据实际需要设定。\n[0141] 在本发明实施例中,该问答社区中的问题推荐系统通过在向用户推荐问题时,能够根据该用户的带权重问题关键词列表与该带推荐问题的匹配程度和该用户回答过的问题所涉及的领域的领域关键词列表与该带推荐问题的匹配程度,来获取该问题与用户的相关程度,从而将问题推荐给相关程度较高的用户,使得用户对问答社区中问题的回答率得到提高,用户在问答社区中的体验效果得到提升。\n[0142] 本发明实施例通过将待推荐问题的问题关键词列表与预设的每一用户的带权重问题关键词列表进行匹配,获取与该每一用户对应的匹配成功的问题关键词的权重之和,将该问题关键词列表分别与预设的每一用户的所有带权重领域关键词列表进行匹配,获取该每一用户对应的所有的匹配成功的领域关键词的权重之和中的最大值,并结合与同一用户对应的匹配成功的问题关键词的权重之和以及领域关键词的权重之和中的最大值,获取该待推荐问题与该用户的相关度,将该待推荐问题推送给相关度最高的一个或者多个用户,解决了问答社区中对问题的回答率不高和用户体验效果不佳的问题,提高了用户对问答社区中问题的回答率,也提升了用户在问答社区中的体验效果。\n[0143] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
法律信息
- 2017-10-20
- 2015-03-04
实质审查的生效
IPC(主分类): G06F 17/30
专利申请号: 201210095917.5
申请日: 2012.04.01
- 2013-11-20
专利申请权的转移
登记生效日: 2013.10.29
申请人由腾讯科技(深圳)有限公司变更为深圳市世纪光速信息技术有限公司
地址由518044 广东省深圳市福田区振兴路赛格科技园2栋东403室变更为518057 广东省深圳市南山区粤海街道科技中一路腾讯大厦16层
- 2013-10-23
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2008-09-03
|
2008-02-02
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |