首页> 中国专利> 基于用户兴趣挖掘的微博词云生成方法及访问支持系统

基于用户兴趣挖掘的微博词云生成方法及访问支持系统

摘要

本发明公开一种基于用户兴趣挖掘的微博词云生成方法及微博消息访问支持系统,该方法包括:给定当前登录用户所关注用户新发布的微博消息集,从中抽取出关键词集;分别基于用户关系、基于关键词的相似度计算当前登录用户对该关键词集中关键词的兴趣度,并将两种计算所得的兴趣度融合,计算最终兴趣度;从所述关键词集中选择兴趣度最高的k个关键词;在一个区域内显示所选择出的k个关键词。该系统包括用户信息获取模块、词云生成器等关键模块。本发明能够使用户更加高效地从微博消息中获取其感兴趣的信息。

著录项

  • 公开/公告号CN103793481A

    专利类型发明专利

  • 公开/公告日2014-05-14

    原文格式PDF

  • 申请/专利权人 中国科学院软件研究所;

    申请/专利号CN201410020292.5

  • 发明设计人 汪美玲;陶秋铭;周翔;李梅;赵琛;

    申请日2014-01-16

  • 分类号G06F17/30(20060101);

  • 代理机构北京君尚知识产权代理事务所(普通合伙);

  • 代理人余长江

  • 地址 100190 北京市海淀区中关村南四街4号

  • 入库时间 2024-02-20 00:07:10

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-01-03

    未缴年费专利权终止 IPC(主分类):G06F17/30 授权公告日:20170215 终止日期:20190116 申请日:20140116

    专利权的终止

  • 2017-02-15

    授权

    授权

  • 2014-06-11

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20140116

    实质审查的生效

  • 2014-05-14

    公开

    公开

说明书

技术领域

本发明涉及微博技术领域,尤其涉及一种基于用户兴趣挖掘的微博词云生成方法及微博消息访问支持系统。

背景技术

微博(Microblog,微型博客)是一种基于用户关系的信息分享、传播及获取平台。在微博系统中,用户可以向微博发布消息,实现消息的即时分享。同时,用户还可以关注其他用户以收听他们发布的微博消息。

在实际的微博系统中,一个用户通常会关注很多其他用户,因此一个用户每天、甚至每小时都能收到大量其关注用户新发布的微博消息,这些微博消息一般以列表的形式分页展示给该用户。在当前的商业化微博系统中,由于用户在阅读这些新微博消息之前无法了解其概要内容,用户需对全部新微博消息进行逐条阅读以避免错过任何其感兴趣的信息。对用户来说,这样做是极其耗时的。

微博消息的词云(Word Cloud for Microblogs,简称微博词云)为微博用户提供了一种访问新微博消息的途径。具体来说,一组新微博消息的词云将微博消息中所包含的一些关键词以可视化的方式呈现给用户,使用户在阅读微博消息之前便可以了解这些微博消息的概要内容,并且微博词云中的关键词以超链接的形式展现,使用户点击其感兴趣的关键词便可到达包含该关键词的新微博消息集,继而用户便可以阅读相应的新微博消息。

获取工作、学习、生活、娱乐等多方面有趣的信息,已成为越来越多用户使用微博系统的重要目的。当前,人们生成微博词云的核心思想是基于词频排序,即在一组新微博消息中出现频率较高的关键词优先在词云中显示,基于这种思想所生成出来的微博词云能够较好地反映微博消息所包含的流行话题,但不能较好地覆盖用户可能感兴趣的信息。因此,提供一种能够生成出更好覆盖用户兴趣的微博词云的方法,并提供相应的微博消息访问支持系统是十分必要的,可以使用户能够从微博系统中更高效地获取其感兴趣的信息。

发明内容

本发明提供一种基于用户兴趣挖掘的微博词云生成方法,在生成词云时,分析用户的兴趣并以此确定哪些关键词在词云中优先显示,使微博词云中包含更多该用户可能感兴趣的关键词;在该微博词云生成方法的基础上,本发明提供一种微博消息访问支持系统,使用户可以在阅读全部新微博消息之前先通过微博词云发现其感兴趣的关键词,然后再通过点击微博词云中其感兴趣的关键词快速访问相应的微博消息,节省用户获取信息的时间。

本发明提供的基于用户兴趣挖掘的微博词云生成方法,包括如下步骤:

1)给定当前登录用户所关注用户新发布的微博消息集,从所述微博消息集中抽取出关键词集;

2)分别基于用户关系、基于关键词的相似度计算所述当前登录用户对所述关键词集中各个关键词的兴趣度,并将计算所得的两种兴趣度融合,得到最终兴趣度;

3)根据兴趣度的值从所述关键词集中选择k个关键词,其中k为事先给定的正整数,并在一个区域内显示所选择出的k个关键词,以将所述k个关键词构成的微博词云可视化地呈现给用户。

进一步地,步骤1)抽取关键词集的方法是:令初始关键词集为空,对所述微博消息集中每条微博消息的文本进行分词,去掉其中与该微博消息的主要内容无关的词语,包括助词、介词、连词、语气词和叹词,保留反映该微博消息的主要内容的词语,包括描述事件、主题、人物和地点的词语,并将所保留的全部关键词加入关键词集中;

进一步地,步骤2)计算所述兴趣度的步骤包括:

2a)基于用户关系计算所述当前登录用户u对所述关键词集中任意关键词w的兴趣度,其基本思想是u与对w感兴趣的其他微博用户越相似,u对w越有可能具有较高的兴趣度:

首先,对于u及其任意关注用户v,将用户基本信息、所关注用户或者发布、评价、转发的微博消息中所包含的关键词作为特征,以特征集合为依据,利用集合之间的相似关系计算u与v之间的相似度s1(u,v);

其次,根据一个关键词在一个用户过去一段时间内发布、评价、转发的微博消息中所出现的频率计算v对w的兴趣因子p(v,w),该时间段可由所述当前登录用户配置;

最后,对于u所关注的全部用户,根据u与这些用户的相似度以及这些用户对w的兴趣因子,计算u对w的兴趣度,其公式如下:

其中U表示u所关注的全部用户的集合;

2b)基于关键词的相似度计算所述当前登录用户u对所述关键词集中任意关键词w的兴趣度,其基本思想是w与u之前感兴趣的关键词越相似,u对w越有可能具有较高的兴趣度:

首先,对于u之前发布、评价、转发的微博消息中所包含的任意关键词w',依据关键词所出现在的微博消息集合之间的相似关系,计算w与w'之间的相似度s2(w,w');

其次,根据一个关键词在一个用户过去一段时间内发布、评价、转发的微博消息中所出现的频率计算u对w'的兴趣因子p(u,w'),该时间段可由所述当前登录用户配置;

最后,对于u发布、评价、转发的全部微博消息中所包含的关键词,根据w与这些关键词的相似度以及u对这些关键词的兴趣因子,计算u对w的兴趣度,其公式如下:

其中W(u)表示u发布、评价、转发的全部微博消息中所包含的关键词的集合;

2c)将基于用户关系计算的兴趣度与基于关键词的相似度计算的兴趣度融合,计算u对w的最终兴趣度,其公式如下:

f(u,w)=λ·fr(u,w)+(1-λ)·fs(u,w),其中0≤λ≤1是权重系数。

进一步地,步骤3)选择的k个关键词是兴趣度最高的k个关键词,k远远小于所述关键词集的大小。

进一步地,步骤3)在一个区域内显示所选择出的k个关键词的步骤包括:

3a)按照兴趣度大小、字母顺序或随机顺序排列各个关键词;

3b)依据兴趣度大小决定各个关键词显示时的字体大小,计算关键词w的字体大小z(w)的公式如下:

其中fmin与fmax分别表示k个关键词中的最小兴趣度与最大兴趣度,zmin与zmax分别表示显示的最小字体与最大字体。

本发明提供的采用上述方法的微博消息访问支持系统,包括如下模块:

微博消息获取模块,用于获取当前登录用户所关注的用户在一段时间内所新发布的微博消息的集合;

用户信息获取模块,用于获取下列信息中的一种或多种:所述当前登录用户的基本信息,所述当前登录用户所关注的用户,所述当前登录用户之前发布、评价、转发的微博消息,所述当前登录用户的关注用户的基本信息,所述当前登录用户的关注用户所关注的用户,所述当前登录用户的关注用户之前发布、评价、转发的微博消息;

选择词管理模块,用于存储和显示所述当前登录用户当前在微博词云中已选择的关键词集合,简称为用户当前已选择词集:初始化用户当前已选择词集为空,当所述当前登录用户在微博词云中点击一个关键词时,此模块将该关键词保存在用户当前已选择词集中并将该新词集显示给所述当前登录用户;当所述当前登录用户取消选择用户当前已选择词集中的一个关键词时,此模块将该关键词从用户当前已选择词集中删除并将该新词集显示给所述当前登录用户;

词云生成器,用于接受所述微博消息获取模块所获取到的微博消息集,所述用户信息获取模块所获取到的用户信息,以及选择词管理模块所存储的用户当前已选择词集,针对微博消息集中包含用户当前已选择词集中全部关键词的微博消息的集合(当用户当前已选择词集为空时,该集合等于整个微博消息集),利用用户信息、使用基于用户兴趣挖掘的微博词云生成方法生成一个微博词云,将该微博词云显示给所述当前登录用户,并返回所述当前登录用户在微博词云中所点击的关键词;

消息显示模块,用于接受所述微博消息获取模块所获取到的微博消息集和选择词管理模块所存储的用户当前已选择词集,向所述当前登录用户按照时间顺序显示微博消息集中包含用户当前已选择词集中全部关键词的微博消息的集合(当用户当前已选择词集为空时,该集合等于整个微博消息集)。

进一步地,所述词云生成器包括:

同步控制模块,用于监控输入的各项数据是否有变化,若有变化,则使用变化后的数据生成微博词云;

词抽取模块,用于从包含用户当前已选择词集中全部关键词的输入微博消息的集合(当用户当前已选择词集为空时,该集合等于整个输入微博消息集)中抽取出反映该微博消息集内容的关键词集;

用户兴趣挖掘模块,用于根据用户信息计算所述当前登录用户对所述关键词集中各个关键词的兴趣度;

词选择模块,用于从所述关键词集中选择兴趣度最高的k个关键词;

词显示模块,用于在一个区域内将所选出的k个关键词显示给所述当前登录用户,监控所述当前登录用户对所显示的关键词的点击,并返回用户所点击的关键词。

相应的,用户使用所述微博消息访问支持系统访问微博消息的流程如下:

S1:所述系统显示全部微博消息,即当前登录用户所关注的用户在一段时间内所新发布的微博消息,针对全部微博消息的集合生成微博词云,令用户当前已选择词集为空并显示该词集;

S2:所述当前登录用户点击微博词云中的一个关键词;

S3:所述系统将用户所点击的关键词保存在用户当前已选择词集中并显示该新词集;

S4:所述系统显示全部微博消息中包含用户当前已选择词集中全部关键词的微博消息,针对所显示的微博消息的集合生成微博词云;

S5:所述当前登录用户为如下三种情况之一:

S5-1:继续在微博词云中点击关键词,转到S2;

S5-2:取消关键词的选择,转到S6;

S5-3:阅读微博消息,转到S8;

S6:所述当前登录用户对用户当前已选择词集中一个关键词取消选择;

S7:所述系统将用户所取消的关键词从用户当前已选择词集中删除并显示该新词集,转到S4;

S8:所述当前登录用户阅读所述系统所显示的微博消息。

与现有技术相比,本发明有如下有益效果:

本发明基于用户兴趣挖掘生成微博词云,通过分析用户的兴趣使用户所收到的一组新微博消息的词云覆盖更多用户可能感兴趣的信息;基于这种微博词云生成方法,本发明为用户提供一种微博消息访问支持系统,在该系统上,用户从微博词云中发现其感兴趣的关键词之后,通过点击相应的关键词便可以到达更小范围的新微博消息,进而更加高效地从微博消息中获取其感兴趣的信息。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简要地介绍。显然,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明的基于用户兴趣挖掘的微博词云生成方法的实施例的流程示意图。

图2是本发明的微博消息访问支持系统的实施例的结构示意图。

图3是本发明的微博消息访问支持系统的实施例中词云生成器的结构示意图。

图4是用户使用本发明的微博消息访问支持系统的实施例访问微博消息的流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1是本发明的基于用户兴趣挖掘的微博词云生成方法的实施例的流程示意图。如图1所示,本实施例包括如下步骤:

(1)给定当前登录用户所关注用户新发布的一个微博消息集,抽取出一个关键词集:令初始关键词集为空,对所述微博消息集中每条微博消息的文本进行分词,去掉其中与该微博消息的主要内容无关的词语,包括助词、介词、连词、语气词和叹词,保留反映该微博消息的主要内容的词语,包括描述事件(例如“股市暴跌”)、主题(例如“足球”)、人物(例如“柯南”)和地点(例如“马尔代夫”)的词语,并将所保留的全部关键词加入关键词集中,在具体实现中,微博消息中所嵌入的标签即hashtag(例如以“#”或“”开头的词)也被看作关键词,因为hashtag一般也描述了如上四类信息;

(2)计算所述当前登录用户对所述关键词集中各个关键词的兴趣度,并根据兴趣度的值从所述关键词集中选择k个关键词,其中k为事先给定的正整数且k远远小于所述关键词集的大小:

(2a)基于用户关系计算所述当前登录用户u对所述关键词集中任意关键词w的兴趣度,其基本思想是u与对w感兴趣的微博用户越相似,u对w越有可能具有较高的兴趣度:

首先,对于u及其任意关注用户v,将用户基本信息、所关注用户、之前发布、评价、转发的微博消息中所包含的关键词作为特征,以特征集合为依据,利用集合之间的相似关系计算u与v之间的相似度s1(u,v),在具体实现中,以用户过去三个月内发布、评价、转发的微博消息中所包含的关键词为特征、按照Jaccard相似性计算s1(u,v)如下:

其中W(·)表示一个微博用户过去三个月内发布、评价、转发的微博消息中所包含的关键词的集合;

其次,根据一个关键词在一个用户过去一段时间内发布、评价、转发的微博消息中所出现的频率计算v对w的兴趣因子p(v,w),该时间段可由所述当前登录用户配置,在具体实现中,将该时间段默认设为三个月,并按照关键词出现的比例计算p(v,w)如下:

其中N(v,w)表示关键词w在用户v过去三个月内发布、评价、转发的微博消息中所出现的次数,M(v)表示用户v过去三个月内发布、评价、转发的微博消息中全部关键词出现的数量;

最后,对于u所关注的全部用户,根据u与这些用户的相似度以及这些用户对w的兴趣因子,计算u对w的兴趣度,其公式如下:

其中U表示u所关注的全部用户的集合;

(2b)基于关键词的相似度计算所述当前登录用户u对所述关键词集中任意关键词w的兴趣度,其基本思想是w与u之前感兴趣的关键词越相似,u对w越有可能具有较高的兴趣度:

首先,对于u发布、评价、转发的微博消息中所包含的任意关键词w',依据关键词所出现在的微博消息集合之间的相似关系,计算w与w'之间的相似度s2(w,w'),在具体实现中,按照Jaccard相似性计算s2(w,w')如下:

其中I(·)表示一个关键词所出现在的所述当前登录用户或其关注用户过去三个月内发布、评价、转发的微博消息的集合;

其次,根据一个关键词在一个用户过去一段时间内发布、评价、转发的微博消息中所出现的频率计算u对w'的兴趣因子p(u,w'),该时间段可由所述当前登录用户配置,在具体实现中,将该时间段默认设为三个月,并按照关键词出现的比例计算p(u,w')如下:

其中N(u,w')表示关键词w'在用户u过去三个月内发布、评价、转发的微博消息中所出现的次数,M(u)表示用户u过去三个月内发布、评价、转发的微博消息中全部关键词出现的数量;

最后,对于u发布、评价、转发的全部微博消息中所包含的全部关键词,根据w与这些关键词的相似度以及u对这些关键词的兴趣因子,计算u对w的兴趣度,其公式如下:

>fs(u,w)=ΣwW(u)s2(w,w)·p(u,w);>

(2c)将基于用户关系计算的兴趣度与基于关键词的相似度计算的兴趣度融合,计算u对w的最终兴趣度,其公式如下:

f(u,w)=λ·fr(u,w)+(1-λ)·fs(u,w),其中0≤λ≤1是权重系数,在具体实现中取λ=0.5,表示两种兴趣度具有相同的权重值;

(2d)从所述关键词集中选择兴趣度最高的k个关键词;

(3)在一个区域内显示所选择出的k个关键词:

(3a)按照兴趣度大小、字母顺序或随机顺序排列各个关键词;

(3b)依据兴趣度大小决定各个关键词显示时的字体大小,计算关键词w的字体大小z(w)的公式如下:

其中fmin与fmax分别表示k个关键词中最小兴趣度与最大兴趣度,zmin与zmax分别表示显示的最小字体与最大字体,在具体实现中取zmin=10,zmax=16。

图2是本发明的微博消息访问支持系统的实施例的结构示意图,该系统采用了图1所示的基于用户兴趣挖掘的微博词云生成方法的实施例。下面参考图2对本发明的微博消息访问支持系统的实施例的结构进行说明。

如图2所示,本实施例包括微博消息获取模块、用户信息获取模块、选择词管理模块、词云生成器和消息显示模块。其中:

所述微博消息获取模块,用于获取当前登录用户所关注的用户在一段时间内所新发布的微博消息的集合。在具体实现中,本实施例的微博消息获取模块从微博Feed系统获取当前登录用户所关注的用户在从所述当前登录用户上次登出微博系统到当前时间点的时间段内所新发布的微博消息:在所述当前登录用户此次登录微博系统时一次性获取其所关注的用户在从其上次登出微博系统到当前时间点的时间段内所新发布的微博消息,并在所述当前登录用户在线期间,监控其所关注的用户是否新发布了微博消息,若是,则获取该微博消息。

所述用户信息获取模块用于获取下列信息中的一种或多种:所述当前登录用户的基本信息,所述当前登录用户所关注的用户,所述当前登录用户之前发布、评价、转发的微博消息,所述当前登录用户的关注用户的基本信息,所述当前登录用户的关注用户所关注的用户,所述当前登录用户的关注用户之前发布、评价、转发的微博消息。在具体实现中,本实施例的用户信息获取模块从微博Feed系统获取所述当前登录用户及其关注用户之前发布、评价、转发的微博消息:在所述当前登录用户此次登录微博系统时一次性获取上述微博消息,并在所述当前登录用户在线期间,监控所述当前登录用户及其关注用户是否新发布、评价、转发了微博消息,若是,则获取该微博消息。

选择词管理模块,用于存储和显示所述当前登录用户当前在微博词云中已选择的关键词集合,简称为用户当前已选择词集:初始化用户当前已选择词集为空,当所述当前登录用户在微博词云中点击一个关键词时,此模块将该关键词保存在用户当前已选择词集中并将该新词集显示给所述当前登录用户;当所述当前登录用户取消选择用户当前已选择词集中的一个关键词时,此模块将该关键词从用户当前已选择词集中删除并将该新词集显示给所述当前登录用户。在具体实现中,将用户当前已选择词集中的关键词以横向列表形式、按照用户点击的先后次序显示在靠近微博词云的区域,以方便用户对用户当前已选择词集的操作;其中显示的每个关键词都对应一个关闭按钮,使用户可以取消对已选关键词的选择。

所述词云生成器,用于接受所述微博消息获取模块所获取到的微博消息集、所述用户信息获取模块所获取到的用户之前发布、评价、转发的微博消息以及选择词管理模块所存储的用户当前已选择词集,针对微博消息集中包含用户当前已选择词集中全部关键词的微博消息的集合(当用户当前已选择词集为空时,该集合等于整个微博消息集),利用用户之前发布、评价、转发的微博消息、使用上述基于用户兴趣挖掘的微博词云生成方法的实施例生成一个微博词云,将该微博词云显示给所述当前登录用户,并返回所述当前登录用户在微博词云中所点击的关键词。

图3是本发明的微博消息访问支持系统的实施例中微博词云生成器的结构示意图。如图3所示,本实施例的词云生成器包括同步控制模块、词抽取模块、用户兴趣挖掘模块、词选择模块和词显示模块。其中:

所述同步控制模块,用于监控输入的各项数据是否有变化,若有变化,则使用变化后的数据生成微博词云。

所述词抽取模块,用于从包含用户当前已选择词集中全部关键词的输入微博消息的集合(当用户当前已选择词集为空时,该集合等于整个输入微博消息集)中抽取出反映该微博消息集内容的关键词集,包括表示事件、主题、人物和地点的词语。在具体实现中,将已经进行关键词抽取的微博消息和从中抽取出的关键词存储到数据库中,当对一条微博消息抽取关键词时,首先检查该微博消息是否已经在数据库中,若在,则不需要对其进行关键词抽取,而是直接从数据库中获取相应的关键词,若不在,则对该微博消息进行关键词抽取,并将抽取的结果保存到数据库中。

所述用户兴趣挖掘模块,用于根据用户之前发布、评价、转发的微博消息计算所述当前登录用户对所述关键词集中各个关键词的兴趣度。

所述词选择模块,用于从所述关键词集中选择兴趣度最高的k个关键词。

所述词显示模块,用于在一个区域内将所选出的k个关键词显示给所述当前登录用户,监控所述当前登录用户对所显示的关键词的点击,并返回用户所点击的关键词。在具体实现中,将所选出的关键词显示在用户主页中、靠近微博消息显示区域右侧的一个矩形区域内。

所述消息显示模块,用于接受所述微博消息获取模块所获取到的微博消息集和选择词管理模块所存储的用户当前已选择词集,用于向所述当前登录用户按照时间顺序显示微博消息集中包含用户当前已选择词集中全部关键词的微博消息的集合(当用户当前已选择词集为空时,该集合等于整个微博消息集)。在具体实现中,本实施例的消息显示模块在所述当前登录用户在线期间,监控所述微博消息获取模块所获取到的微博消息集是否有变化,若有变化,则使用变化后的微博消息集更新微博消息的显示。

图4是用户使用图2所示的微博消息访问支持系统的实施例访问微博消息的流程示意图。如图4所示,流程如下:

S1:所述系统显示全部微博消息的集合,即当前登录用户所关注的用户在从所述当前登录用户上次登出微博系统到当前时间点的时间段内所新发布的微博消息的集合,针对该微博消息集生成微博词云,令用户当前已选择词集为空并显示该词集;

S2:所述当前登录用户点击微博词云中的一个关键词;

S3:所述系统将用户所点击的关键词保存在用户当前已选择词集中并显示该新词集;

S4:所述系统显示全部微博消息的集合中包含用户当前已选择词集中全部关键词的微博消息集,针对该微博消息集生成微博词云;

S5:所述当前登录用户为如下三种情况之一:

S5-1:继续在微博词云中点击关键词,转到S2;

S5-2:取消关键词的选择,转到S6;

S5-3:阅读微博消息,转到S8;

S6:所述当前登录用户对用户当前已选择词集中一个关键词取消选择;

S7:所述系统将用户所取消的关键词从用户当前已选择词集中删除并显示该新词集,转到S4;

S8:所述当前登录用户阅读所述系统所显示的微博消息。

以上所阐述的仅为本发明较佳实施例,不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所做的等同变化,仍属于发明所涵盖的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号