具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图1为本发明所述相关文章的推荐处理方法的一种流程图。参见图1,该流程包括:
步骤101、根据给定文章的内容特征检索出候选相关文章。
步骤102、根据每篇候选相关文章的用户特征,确定每篇候选相关文章的用户相关性。
步骤103、针对所述给定文章,优先推荐所述相关性分数高的候选相关文章。
本发明中,所述相关性可以用相关性分数来表示,也可以用其他值来表示,例如用等级值表示。本文实施例中所述用户相关性以用户相关性分数表示,所述内容相关性以内容相关性分数表示。
上述步骤101和102可以从已经存在的文章数据库和用户数据库中检索需要的候选相关文章的数据以及获取需要的用户特征数据。也可以自建和维护专用的文章数据库和用户数据库,从该专用的文章数据库中检索候选相关文章的数据,从该专用的用户数据库中获取需要的用户特征数据。
所述建立和维护文章数据库的具体过程包括:
步骤a1、建立文章数据库。
步骤a2、从互联网中筛选出待推荐的文章,将待推荐文章的特征数据存储到所述文章数据库中。
本步骤a2的具体实时中,可以从本网站系统甚至其他相关网站系统的所有文章中进行质量筛选,过滤掉质量较低的文章。之所以要进行筛选过滤处理,是因为UGC文章相对新闻文章具有很多特点:例如数量多、用语规范程度相对较差、相互转载重复信息多、作弊和垃圾信息很多等。因此如果用UGC作为推荐文章,则需要对其进行有效过滤,选取质量高的文章。所述具体的文章筛选过滤方法例如可以包括:
(a21)根据文章标题可读性进行判别和筛选,即对文章标题的格式、语言规范化程度、语义信息量等进行打分,根据打分高低对文章进行筛选。
(a22)根据文章内容可读性进行判别和筛选,即对文章内容的格式、语言规范化程度、语义信息量等进行打分,根据打分高低对文章进行筛选。
(a23)对作弊垃圾类文章进行筛选,即筛选去掉包含广告推广、政治色情类等内容的文章。
筛选出待推荐的文章后,将待推荐文章的特征数据存储到所述文章数据库中。所述文章特征数据包括文章质量分数、文章作者、文章类别、文章词向量空间、文章主题词等。本发明可以根据实际应用需要,设计多种数据存储格式,比如以文章类别建立索引、文章主题词建立文章索引,按文章ID建立数据索引等。另外,索引文章的排列次序可以按照文章的质量分数排序,这样可以在保证质量的前提下提高查询速度。
步骤a3、根据互联网中文章数据的变化,更新和排重所述文章数据库中的待推荐文章的特征数据。
本步骤a3的具体实施中,可以定期对文章数据库中的文章特征数据进行更新和排重处理。由于每天互联网会产生大量内容,在各种网站、社区内信息更新特别快,因此需要定期对推荐文章数据进行更新;另外不同用户相互转载和分享,造成重复信息量较多,需要进行排重处理。所述数据更新操作可根据不同的文章类别选择不同的更新策略,例如针对时效性高的文章,可根据时间跨度进行删除,针对时效性不高的文章,可以根据文本质量分数高低排序删除。所述排重过程可以包括标题排重和文章指纹排重,对于重复的两篇文章可根据文章作者的属性等级、文章是否转载等因素判定,优先保留作者等级高的文章和非转载文章。
所述文章指纹排重是指通过文章指纹排除内容重叠的文章。计算文章指纹的方式有很多,比如计算一篇文章的SimHash值,其比特重复度越高,就说明文章越相似。
在对所述文章数据库进行查询时,可以指根据查询指令,快速检索到相关文章,比如通过文章类别快速检索到属于该类别的所有文章或者部分文章。
所述建立和维护用户数据库的具体过程包括:
步骤b1、建立用户数据库。
步骤b2、在所述用户数据库中存储用户属性信息和用户关系链信息。
所述用户属性信息包括:用户等级、年龄、性别、兴趣、地域、职业等信息。用户的关系链信息包括:即时通讯中用户的好友关系、微博的收听关系(有些微博中是关注关系)、文章转载关系、评论回复关系等,所述关系链信息取决与相关文章推荐的具体应用场景等。
步骤b3、根据用户数据的变化,更新所述用户数据库中的用户属性信息和用户关系链信息。之所以需要进行数据更新是由于网站系统每天新用户加入,用户个人信息变更、用户关系链变化等,因此需要定期或实时向用户数据库中导入最新的用户数据。
在所述步骤101中,根据给定文章的内容特征从所述文章数据库中检索出候选相关文章。例如可以通过给定文章的关键词检索出候选相关文章,在关键词检索不到候选相关文章时,可以确定给定文章的类别,通过类别检索候选相关文章,在实施过程中可采用其中一种或者多种方式,其具体的检索方法可以采用现有技术的各种检索方法,本文不再赘述。候选相关文章的数量可通过文章质量分数阈值或者文章总数来控制,例如文章质量分数小于所述阈值则不选择为候选相关文章,或者根据文章质量分数进行排序,只选择前N个文章作为候选相关文章,N为候选相关文章的总数。
在本发明的具体实施方式中,步骤102中可以只确定所述每篇候选相关文章的用户相关性分数;也可以进一步确定每篇候选相关文章与所述给定文章的内容相关性,具体可以用内容相关性分数来表示该内容相关性,并在所述步骤103中,进一步将每篇候选相关文章的所述内容相关性分数和用户相关性分数进行组合加权,得到综合相关性分数;针对所述给定文章,优先推荐所述综合相关性分数高的候选相关文章。
本发明所述的给定文章可以是用户当前阅读的文章,此时对应的给定用户为文章的读者和/或文章的作者。所述的给定文章也可以是当前没有被阅读的文章,此时对应的给定用户为文章的作者,针对这些没有被阅读的文章利用本发明的方法,由后台为这些没有被阅读的文章推荐相关文章,一旦被阅读,则可直接显示已经确定好的推荐结果,或者再从这些推荐结果中筛选与读者最相关的文章。
所述候选相关文章的用户相关性分数可以为:用户属性相关性分数;或者为:与给定用户的关系链相关性分数;或者为:用户属性相关性分数和与给定用户的关系链相关性分数进行组合加权的分数。
下面的实施方式介绍既确定所述每篇候选相关文章的用户属性相关性分数和关系链相关性分数,又确定每篇候选相关文章与给定文章的内容相关性分数的具体实施方式:
本实施例中,步骤102中具体包括以下步骤121至步骤123:
步骤121、确定每篇候选相关文章与所述给定文章的内容相关性分数p1。具体的确定方法例如可以为:抽取主题词、词向量空间等内容特征,采用后述几种参数的任一种或任意种的加权和来确定所述内容相关性分数p1,这几种参数包括:词向量空间余弦相似度、词向量空间的SimHash大小、主题词与文章的BM25值等。至于这几种参数的具体确定方法可以采用现有技术的方法,本发明不再赘述。
步骤122、确定所述每篇候选相关文章的用户属性相关性分数p2。具体的确定方法为:预存用户属性对应的相关性评分标准,从所述用户数据库中查询候选相关文章的作者属性,根据候选相关文章的作者属性和对应的相关性评分标准确定候选相关文章的用户属性相关性分数p2。所述用户属性数据包括用户等级、年龄、性别、兴趣、地域、职业等信息,例如可以根据作者的用户等级进行评分,其用户属性相关性分数实质上就是用户等级相关性分数:例如普通用户评分为1,社区名人用户评分为2,VIP用户评分为3。例如,也可以根据作者的职业信息进行评分,如果作者的职业与给定用户(如当前文章的读者或当前文章的作者)不属于同一大类则评分为1,如果属于同一大类则评分为2,如果属于同一小类则评分为3。所述用户属性对应的评分标准可根据不同的推荐场景下用户属性特征的差异性进行调整。
步骤123、确定每篇候选相关文章与给定用户的用户关系链相关性分数p3。此处所述给定用户为所述给定文章的读者或作者,该p3具体的确定方法为:预存关系链距离对应的评分标准,从所述用户数据库中查询关系链数据,确定所述给定用户与候选相关文章作者的关系链距离,根据所述给定用户与候选相关文章作者的关系链距离和对应的评分标准确定每篇候选相关文章与所述给定用户的关系链相关性分数p3。
所述关系链距离可以包括下面几种关系链距离中的任一种或任意种组合:
用户好友关系中的距离、微博用户收听关系(有些微博中是关注关系)中的距离、文章转载关系中的距离、评论回复关系中的距离等。
所述用户好友关系中的距离是指好友之间的好友层次关系。例如若所述给定用户是候选相关文章的作者的好友,即一层好友关系,则所述关系链距离分数为1;若该给定用户是该候选相关文章的作者的好友的好友,即二层好友关系,则所述关系链距离分数为1/2;若该给定用户是该候选相关文章的作者的好友的好友的好友,即三层好友关系,则所述关系链距离分数为1/3,以此类推。
微博用户收听关系(或关注关系)中的距离是指微博用户之间加收听(或加关注)的层次关系。如果有直接的收听(或关注)关系,即一层收听(或关注)关系,则所述关系链距离分数为1;二层收听(或关注)关系,则所述关系链距离分数为1/2;三层收听(或关注)关系,则所述关系链距离分数为1/3,以此类推。
类似的,所述文章转载关系中的距离是指所述相关文章被用户转载的关系层次,所述评论回复关系中的距离是指所述相关文章被用户评论回复的关系层次,其关系链距离分数的原则是距离越近分数越高,距离越远分数越低。
至于上述关系链距离分数的具体的评分标准可根据不同的推荐场景下用户关系的差异性进行调整。如果所述关系链距离包括上述两种或两种以上关系链距离,则总的关系链距离分数可以是每种关系链距离分数的组合加权值。
上述步骤102中确定出了每篇候选相关文章的内容相关性分数p1、用户属性相关性分数p2、以及用户关系链相关性分数p3。
在后续的步骤103中,需要针对每篇候选相关文章,将其三种相关性分数p1、p2和p3进行组合加权,得到每篇候选相关文章的综合相关性分数p。此处可以采用线性组合加权计算方式,具体的计算公式为:p=∑λipi,其中λi为各种相关性分数对应的权重因子。权重因子λi的大小根据实际推荐需求决定,比如在用户关联紧密的互动社区系统内,用户相关性分数的权重因子可以加大,在用户关联较弱的新闻网站,用户相关性分数的权重因子可以降低。
在所述步骤103推荐了给定文章的相关文章之后,还可以进一步包括:搜集所推荐的相关文章的点击反馈信息,根据所述点击反馈信息调整所述各相关性分数对应的权重因子的比重,其目的在于在线推荐效果调优,以得到更准确的推荐结果。例如,根据日志可以统计不同用户的点击偏好,获取用户对内容相关性和用户相关性的不同偏重,以此来调整对应权重因子的比重。比如有的用户偏重于看内容相近的文章,则调高内容相关性权重因子的比重;有的用户偏重于看名人的文章,则调高该用户与该名人的关系链相关性权重因子的比重;有的用户偏重于看好友的文章,则调高该用户与其好友的关系链相关性权重因子的比重。再例如,根据日志也可以通过机器学习的方式训练出相关性加权模型,在给定文章特征和用户特征的情况下,预测该用户对候选文章的相关性分数。
另外,在步骤103中,还可以进一步包括:根据应用场景对所推荐的相关文章的推荐结果信息进行选择展示。例如所述在给定文章的网页中展示的推荐结果信息可以是:
推荐文章的文章内容相关信息,如文章标题文章的关键内容等;
推荐文章的文章属性相关信息,如文章类别、文章的访问热度等;
推荐文章的作者相关信息,如文章作者的名称、等级、地域等。
具体展示上述哪一种推荐结果信息,可以根据具体的应用场景进行选择和调整。
与上述方法对应,本发明还公开了一种相关文章的推荐处理系统。图2为本发明所述相关文章的推荐处理系统的一种实施例示意图,参见图2,该系统包括:
特征检索模块201,用于根据给定文章的内容特征检索出候选相关文章;
相关性确定模块202,用于根据所述每篇候选相关文章的用户特征,确定所述每篇候选相关文章的用户相关性分数;
推荐控制模块203,用于针对所述给定文章,优先推荐所述相关性分数高的候选相关文章。
图3为本发明所述相关文章的推荐处理系统的又一种实施例示意图。在该实施例中,所述相关性确定模块202包括:用户属性相关性确定单元221和关系链相关性确定单元222。所述用户属性相关性确定单元221用于确定候选相关文章的用户属性相关性分数p2;所述关系链相关性确定单元222用于确定候选相关文章与给定用户的关系链相关性分数p3。在该实施例中,所述推荐控制模块203中进一步包括相关性组合加权单元231,用于对一种以上的相关性分数进行组合加权,此处是对每篇候选相关文章的所述用户属性相关性分数p2和所述关系链相关性分数p3进行组合加权,得到综合相关性分数p;所述推荐控制模块针对所述给定文章,优先推荐所述综合相关性分数高的候选相关文章。
在另一种实施例中,所述相关性确定模块202可以只包括所述用户属性相关性确定单元221,或者也可以只包括所述关系链相关性确定单元222,此实施例中,所述推荐控制模块203中可以不包括所述相关性组合加权单元231。
图4为本发明所述相关文章的推荐处理系统的再一种实施例示意图。在该实施例中,所述相关性确定模块202中进一步包括:内容相关性确定单元223,用于确定每篇候选相关文章与所述给定文章的内容相关性分数p1;由于本实施例中相关性确定模块202中还包括所述用户属性相关性确定单元221和/或关系链相关性确定单元222,因此所述推荐控制模块203中进一步包括:相关性组合加权单元231,用于将每篇候选相关文章的一个以上的相关性分数进行组合加权,如本实施例中对候选相关文章与给定文章的内容相关性分数p1、及其用户属性相关性分数p2和/或其与给定用户的关系链相关性分数p3进行组合加权,得到综合相关性分数p;所述推荐控制模块针对所述给定文章,优先推荐所述综合相关性分数高的候选相关文章。
图5为本发明所述相关文章的推荐处理系统的再一种实施例示意图。在该实施例中,所述推荐控制模块203中进一步包括权重反馈控制单元232和/或推荐结果信息控制单元233。所述权重反馈控制单元232用于搜集所推荐相关文章的点击反馈信息,根据所述点击反馈信息调整所述相关性组合加权单元中各相关性分数对应权重因子的比重。所述推荐结果信息控制单元233用于根据应用场景对所述推荐文章的推荐结果信息进行选择展示。例如所述在给定文章的网页中展示的推荐结果信息可以是:
推荐文章的文章内容相关信息,如文章标题文章的关键内容等;
推荐文章的文章属性相关信息,如文章类别、文章的访问热度等;
推荐文章的作者相关信息,如文章作者的名称、等级、地域等。
具体展示上述哪一种推荐结果信息,可以由所述推荐结果信息控制单元根据具体的应用场景进行选择和调整。
本发明可以从已有的第三方文章数据库中检索相关文章数据,从已有的第三方用户数据库中查询相应的用户特征信息;也可以自建和维护文章数据库和用户数据库,并从该自建的文章数据库中检索所述相关文章数据,从该自建的用户数据库中查询相应的用户特征信息。因此,本发明在一种实施例中,可以包括推荐文章数据模块和/或用户数据模块,用于建立和维护推荐文章数据库和用户数据库。图6为本发明所述相关文章的推荐处理系统的再一种实施例示意图。参见图6,该实施例中包括推荐文章数据模块204和用户数据模块205。
所述推荐文章数据模块204具体包括:
文章筛选单元241,用于从互联网中筛选出待推荐的文章;
数据更新和排重单元242,用于更新和排重所述待推荐文章的特征数据;
文章数据存储单元243,即文章数据库,用于存储待推荐文章的特征数据;
文章数据查询单元244,与所述特征检索模块和相关性确定模块相连,用于根据所述特征检索模块和相关性确定模块的查询指令,从所述文章数据存储单元中查询相关的文章特征数据。
所述用户数据模块205具体包括:
用户数据存储单元251,即用户数据库,用于存储用户属性信息和用户关系链信息;
数据更新单252元,用于更新所述用户属性信息和用户关系链信息;
用户数据查询单元253,与所述相关性确定模块相连,用于根据所述相关性确定模块的查询指令,从所述用户数据存储单元中查询相关的用户属性信息和/或用户关系链信息。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。