CN112487303A - 一种基于社交网络用户属性的主题推荐方法 - Google Patents
一种基于社交网络用户属性的主题推荐方法 Download PDFInfo
- Publication number
- CN112487303A CN112487303A CN202011345609.4A CN202011345609A CN112487303A CN 112487303 A CN112487303 A CN 112487303A CN 202011345609 A CN202011345609 A CN 202011345609A CN 112487303 A CN112487303 A CN 112487303A
- Authority
- CN
- China
- Prior art keywords
- user
- topic
- users
- list
- traversing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000001914 filtration Methods 0.000 claims abstract description 25
- 239000011159 matrix material Substances 0.000 claims abstract description 13
- 238000007781 pre-processing Methods 0.000 claims abstract description 11
- 230000011218 segmentation Effects 0.000 claims abstract description 7
- 238000002372 labelling Methods 0.000 claims abstract description 5
- 238000012545 processing Methods 0.000 claims description 58
- 238000012216 screening Methods 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 6
- 238000012549 training Methods 0.000 claims description 6
- 230000009193 crawling Effects 0.000 claims description 3
- 239000003550 marker Substances 0.000 claims description 3
- 238000012552 review Methods 0.000 claims description 3
- 229940033040 utopic Drugs 0.000 claims description 3
- 229910000831 Steel Inorganic materials 0.000 claims description 2
- 239000010959 steel Substances 0.000 claims description 2
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000005065 mining Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000017105 transposition Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于社交网络用户属性的主题推荐方法。本发明方法首先获取用户的微博内容并预处理,过滤用户,标注数据集;采用LDA模型求出用户微博的主题概率分布,得到最初的主题分布,求得不同性别在不同主题下的变异因子,与主题分布结合得到主题因子;再计算用户与友邻关系的亲密度,评价友邻用户的影响力,得到置信度;利用分词软件提取个人描述和标签的关键词,转换成向量矩阵,求得相似性因子;最后将上述三个因子融合得到用户主题模型。本发明方法利用大数据时代获取数据的便利性,提取用户基本资料、用户关系数据和用户微博,针对三个因素构建动态权重主题模型,预测用户的主题分布并进行标注,提高了推荐准确度。
Description
技术领域
本发明属于计算机应用与互联网技术领域,涉及一种基于社交网络用户属性的主题推荐方法。
背景技术
社交网站作为新型的互联网应用,为人们提供了信息交流和分享的便捷平台,近些年,随着社交网络的兴起,Facebook,twitter,微博等社交平台的崛起,社交网络发展迅速,大量用户涌入社交平台,形成了复杂的网络结构。
社交媒体的发展已经改变了人们的生活方式,人们更倾向于在社交网络上关注自己的兴趣爱好,分享自己的喜欢的事物,除此以外,用户的友邻关系也能给主题挖掘带来相当大的价值。从数以亿计的用户发表的短文本和网络结构中提取出精确的主题信息,对个性化推荐,舆情引导,营销策略规划有重要的指导意义,产生了巨大的商业价值。
社交网络主题推荐方法是为了确定社交用户的兴趣倾向的一种主题挖掘方法,可以将社交用户的历史推文概括性地转换为特定的主题,使一些商家或平台能更加直观的了解用户的喜好,制定合理的营销策略。本专利的目的是挖掘社交用户的主题信息,为商家用户推荐、舆论引导打下基础。
目前的社交用户主题推荐方法包括两个方面:主题建模和兴趣挖掘,社交网络。首先,Raghuram等利用用户特征,推文特征和时间序列特征对社交用户主题进行分类,虽然作者加入了时间维度,使得分类结果更准确,但是对于用户属性的提取太简单,而且分类结果不具有普适性。其次,Piao等认为社交网络不仅仅存在主动发推文的活跃用户,还有一些只消费关注者信息,不发表任何推文的群体,称为“被动用户”,作者将这些“被动用户”的个人简介和维基百科结合,提取用户兴趣,由于推特和微博在个人信息上的处理截然不同,该方法容易被简介中与兴趣无关的个人描述误导。
发明内容
本发明目的是解决现有技术中的不足,提供一种基于社交网络用户属性的主题推荐方法。
本发明方法包括以下步骤:
步骤(1).获取用户的微博内容,对微博进行预处理,为后续向量化做准备;
步骤(2).过滤用户,剔除不活跃的用户和僵尸用户,标注数据集;
步骤(3).采用LDA模型求出用户微博的主题概率分布,得到最初的主题分布;
步骤(4).利用若干已标记的微博训练集求得不同性别在不同主题下的变异因子,与步骤(3)的主题分布结合得到主题因子;
步骤(5).计算用户与友邻关系的亲密度,评价友邻用户的影响力,得到置信度;
步骤(6).利用分词软件提取个人描述和标签的关键词,转换成向量矩阵,求得相似性因子;
步骤(7).将上述三个因子融合得到用户主题模型。
步骤(1)具体是:
(1.1)利用爬虫工具爬取微博数据T、用户属性U和用户友邻关系R到关系型数据库中;
(1.2)对微博数据T进行预处理,使用正则表达式过滤特殊的字符和字段,将英文统一为小写;
所述的特殊的字符和字段,包括“@XXX”、“[表情符号]”、超链接;其中,“@XXX”表示微博正文或评论中提到某一用户或对用户说的话,以引起该用户注意;“[表情符号]”是指微博中特有的表情,代表发帖人内心的想法,可以是开心,难受,惊恐等;超链接一般指http和https协议下的链接,通过点击链接可以转到第三方页面,如:https://weibo.com/;
(1.3)定义字典DictUser,用户User的Id为键,预处理完成的微博数据W为键对应的值;
(1.4)将字典DictUser转换成缓存,以便后续使用。
步骤(2)具体是:
(2.1)过滤用户标签或个人描述为空的用户;
(2.2)过滤不符合规则的用户性别;
(2.3)过滤不活跃用户或一段时间未上线用户;活跃度NT表示用户最近一年内发布、转发和评论微博总数;NMonth表示一年中活跃的月份数,是指用户在一年中最早发微博和最晚发微博的时间间隔;如果Active小于阈值σA,属于不活跃用户,活跃度的阈值σA=15~30;如果超过一年未发布、转发和评论微博,则属于未上线用户;
(2.4)过滤粉丝数小于粉丝阈值σF的用户,设定σF=30~100;
(2.5)采用人工标注的方法生成标记数据集Utopic={User,Topic},User表示用户,Topic表示标注的主题信息。
步骤(3)具体是:
(3.1)使用现有的LDA模型进行主题预测,包括Python的第三方库Gensim;
(3.2)设定LDA模型的参数,对步骤(1)中得到的字典DictUser进行遍历,利用DictUser中用户User对应的微博数据W对LDA模型建模;
(3.5)判断字典中的用户User是否都处理完毕:如果处理完毕,则停止遍历;否则,重复执行步骤(3.2)~(3.4),得到Dicttopic={User,PrT};其中,User=(user1,user2,…,userK),PrT=(prt1,prt2,…,prtK),userk表示第k个用户,prtk表示第k个用户的初始主题分布,k=1,2,…,K,K是用户的个数。
步骤(4)具体是:
(4.1)选取多个已标记主题信息的男性和女性用户集合,建立用户列表User_Var=(vuser1,user2,…,vuserJ),其中,vuserj第j个用户,j=1,2,…,J,J为选取的用户个数;
(4.3)判断用户列表是否都处理完毕:如果处理完毕,则停止遍历;否则,重复执行步骤(4.2),得到DictInf={User_Var,Inf},其中键是选取的标记用户,值是求得的影响力;
(4.4)遍历主题列表Topics,Topics=(topic1,topic2,…,topicL),其中topicl表示第l个主题,l=1,2,…,L,L为已标记的所有主题个数;
计算某一个主题信息下的男性用户和女性用户的平均值meantopic;
(4.5)计算某一个主题信息下的男性用户和女性用户的标准差值standardtopic;
(4.7)判断主题列表中的主题是否处理完毕:如果处理完毕,则停止遍历;否则,重复执行步骤(4.4)~(4.6),得到变异系数集合V(Gender)=[v1,v2,…,vL];
(4.8)利用正则化公式,更新变异系数集合V(Gender),将值的范围控制在(0,1)内:
(4.10)判断字典是否处理完毕:如果处理完毕,则停止遍历;否则,重复执行步骤(4.9),得到最终更新完毕的Dicttopic={User,PrT}。
步骤(5)具体是:
(5.1)遍历待提取主题的用户列表Users,使用步骤(4.2)中的公式计算用户影响力,过滤低于阈值σU的用户,σU=0.4~0.5,得到后续迭代更新所需要的初始种子用户集合SeedU=(seedu1,seedu2,…,seeduP)和对应的影响力值seedup表示第p个种子用户,p=1,2,…,P,P为种子用户的个数;
(5.9)遍历用户列表Users,如果是非种子用户,对关注列表做以下操作;
(5.10)遍历关注列表,如果关注用户followu的邻居neighb与其有相同的主题信息,则累加邻居用户得分;
(5.13)判断关注列表的用户是否处理完毕:如果处理完毕,则停止遍历;否则,重复执行步骤(5.10)~(5.12),得到某个用户的置信度集合其中表示第s个关注用户的置信度,s=1,2,…,S,S为关注用户个数;
(5.14)判断用户列表的用户是否处理完毕:如果处理完毕,则停止遍历;否则,重复执行步骤(5.9)~(5.13),得到所有用户的置信度集合γ=(γ1,γ2,…,γK);γk表示第k个用户的置信度,k=1,2,…,K;
(5.15)迭代更新种子用户,在原来的用户得分上加入关注者的用户得分。
步骤(6)具体是:
(6.1)遍历用户列表Users,对个人描述和标签做预处理,采用步骤(1.2)的方法过滤特殊字符、字段,利用jieba分词工具分词,进行词性筛选,选取某一类词作为关键词列表KW=(kw1,kw2,…,kwG),其中kwg表示第g个词,g=1,2,…,G,G为关键词的个数;
(6.2)利用Word2Vec对关键词进行向量化,使用Tencent_AILab_ChineseEmbedd-ing作为语料库,得到关键词向量矩阵KM=(km1,km2,…,kmR),其中kmr表示第r个向量,r=1,2,…,R,R为矩阵的向量个数;
(6.3)对主题列表的主题进行向量化,得到主题向量化矩阵TM=(tm1,tm2,…,tmR);
(6.6)判断用户列表中的用户是否处理完毕:如果处理完毕,则停止遍历;否则,重复执行步骤(6.1)~(6.5),得到用户的相似度因子集合α={α1,α2,…,αk}。
步骤(7)具体是:
(7.1)遍历用户列表Users,将步骤(6.6)得到的相似度因子与步骤(4.9)的主题概率分布结合,对于每一个主题值如果通过步骤(6.4)的映射θg得到的主题topicg与某一个初始主题相同,则进行如下操作:其中,num表示在某一个主题下相同的个数;
(7.2)遍历用户userk的主题列表,对每个主题做步骤(7.1)的操作,判断是否处理完毕:如果处理完毕,则停止遍历;否则,继续执行,得到更新后的主题值:
(7.3)如果关注者与用户处于相同的主题,则进行如下操作:
userk和users在相同整体下,则func(userk,users)=1,否则func(userk,users)=0;
(7.4)遍历用户userk的主题列表,对每个主题做步骤(7.3)的操作,判断是否处理完毕:如果处理完毕,则停止遍历;否则,继续执行,得到更新后的主题值:
(7.6)判断用户列表的用户是否处理完毕,如果是,则停止遍历;否则,重复执行步骤(7.1)~(7.5),得到主题分布集合Inte=(inte1,inte2,…,inteK)。
至此,社交用户的主题信息推荐完毕。
本发明方法利用大数据时代获取数据的便利性,提取用户基本资料、用户关系数据和用户微博。在分析用户推文的基础上加入两个新的元素,一是用户的性别、个人描述等基本属性,二是用户的网络特征,针对以上三个因素构建动态权重主题模型,预测用户的主题分布并进行标注。本发明利用用户的友邻结构、个人属性,提高了推荐准确度。
附图说明
图1本发明方法流程图;
图2微博信息预处理流程图;
图3过滤用户和标注用户流程图;
图4利用LDA生成初始主题分布流程图;
图5利用标注数据集求变异因子流程图;
图6亲密度计算和影响力评价流程图;
图7向量化个人描述和标签流程图;
图8将三个因子融合成最终的主题模型流程图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
如图1所示,基于社交网络用户属性的主题推荐算法,将个人描述和标签向量化,与主题求得相似性作为相似性因子,定义为α,利用用户的性别求得不同主题下的变异因子,与初始主题分布结合得到变异因子β,利用社交用户的友邻关系,量化用户间亲密度和影响力,求得置信度因子γ,最后将三者融合得到用户主题模型。
该方法包含以下步骤:
步骤(1).获取用户的微博内容,对微博进行预处理,为后续向量化做准备;如图2所示,具体步骤是:
步骤(1.1)利用爬虫工具爬取微博数据T、用户属性U和用户友邻关系R到关系型数据库中;
步骤(1.2)对微博数据T进行预处理,使用正则表达式过滤特殊的字符和字段,将英文统一为小写;
特殊的字符和字段包括“@XXX”、“[表情符号]”、超链接;其中,“@XXX”表示微博正文或评论中提到某一用户或对用户说的话,以引起该用户注意;“[表情符号]”是指微博中特有的表情,代表发帖人内心的想法,可以是开心,难受,惊恐等;超链接一般指http和https协议下的链接,通过点击链接可以转到第三方页面,如:https://weibo.com/;
(1.3)定义字典DictUser,用户User的Id为键,预处理完成的微博数据W为键对应的值;
(1.4)将字典DictUser转换成缓存,以便后续使用。
步骤(2).过滤用户,剔除不活跃的用户和僵尸用户,标注数据集;如图3所示,具体步骤是:
步骤(2.1)过滤用户标签或个人描述为空的用户;
步骤(2.2)过滤不符合规则的用户性别:过滤用户性别属性值为0的用户,定义1为男性,2为女性,0为性别不明;
步骤(2.3)过滤不活跃用户或一段时间未上线用户;活跃度NT表示用户最近一年内发布、转发和评论微博总数;NMonth表示一年中活跃的月份数,是指用户在一年中最早发微博和最晚发微博的时间间隔;如果Active小于阈值σA,属于不活跃用户,活跃度的阈值20;如果超过一年未发布、转发和评论微博,则属于未上线用户;
步骤(2.4)过滤粉丝数小于粉丝阈值50的用户;
步骤(2.5)采用人工标注的方法生成标记数据集Utopic={User,Topic},User表示用户,Topic表示标注的主题信息。
步骤(3).采用LDA模型求出用户微博的主题概率分布,得到最初的主题分布;如图4所示,具体步骤是:
步骤(3.1)使用现有的LDA模型进行主题预测,包括Python的第三方库Gensim;
步骤(3.2)设定LDA模型的参数,包括:预测主题个数,迭代次数,随机种子数,对步骤(1)中得到的字典DictUser进行遍历,利用字典DictUser中用户User对应的微博数据W对LDA建模,包含原创,转发和评论,将每个用户的所有博文当成LDA的语料库,求得主题的分布以及概率值;
步骤(3.5)判断字典中的用户User是否都处理完毕:如果处理完毕,则停止遍历;否则,重复执行步骤(3.2)~(3.4),得到Dicttopic={User,PrT};其中,User=(user1,user2,…,userK),PrT=(prt1,prt2,…,prtK),userk表示第k个用户,prtk表示第k个用户的初始主题分布,k=1,2,…,K,K是用户的个数。
步骤(4).利用若干已标记的微博训练集求得不同性别在不同主题下的变异因子,与步骤(3)的主题分布结合得到主题因子;如图5所示,具体步骤是:
步骤(4.1)选取多个已标记主题信息的男性和女性用户集合,建立用户列表User_Var=(vuser1,user2,…,vuserJ),其中,vuserj第j个用户,j=1,2,…,J,J为选取的用户个数;
步骤(4.3)判断用户列表是否都处理完毕:如果处理完毕,则停止遍历;否则,重复执行步骤(4.2),得到DictInf={User_Var,Inf},以键值对形式存储,键是选取的标记用户,值是求得的影响力,范围是(0,MAX_INT),MAX_INT表示计算机中能表示的最大整型数字;
步骤(4.4)遍历主题列表Topics,Topics=(topic1,topic2,…,topicL),其中topicl表示第l个主题,l=1,2,…,L,L为已标记的所有主题个数;
计算某一个主题信息下的男性用户和女性用户的平均值meantopic;
步骤(4.5)计算某一个主题信息下的男性用户和女性用户的标准差值standardtopic;
步骤(4.7)判断主题列表中的主题是否处理完毕:如果处理完毕,则停止遍历;否则,重复执行步骤(4.4)~(4.6),得到变异系数集合V(Gender)=[v1,v2,…,vL];
步骤(4.8)利用正则化公式,更新变异系数集合V(Gender),将值的范围控制在(0,1)内:
步骤(4.10)判断字典是否处理完毕:如果处理完毕,则停止遍历;否则,重复执行步骤(4.9),得到最终更新完毕的Dicttopic={User,PrT},以键值对形式存储。
步骤(5).计算用户与友邻关系的亲密度,评价友邻用户的影响力,得到置信度;如图6所示,具体步骤是:
步骤(5.1)遍历待提取主题的用户列表Users,使用步骤(4.2)中的公式计算用户影响力,过滤低于阈值0.45的用户,得到后续迭代更新所需要的初始种子用户集合SeedU=(seedu1,seedu2,…,seeduP)和对应的影响力值seedup表示第p个种子用户,p=1,2,…,P,P为种子用户的个数;
步骤(5.9)遍历用户列表Users,如果是非种子用户,对关注列表做以下操作;
步骤(5.10)遍历关注列表,如果关注用户followu的邻居neighb与其有相同的主题信息,说明两者具有相同爱好,邻居用户的用户得分对目标用户的主题信息具有一定贡献,因此累加邻居用户得分;
步骤(5.13)判断关注列表的用户是否处理完毕:如果处理完毕,则停止遍历;否则,重复执行步骤(5.10)~(5.12),得到某个用户的置信度集合其中表示第s个关注用户的置信度,s=1,2,…,S,S为关注用户个数;
步骤(5.14)判断用户列表的用户是否处理完毕:如果处理完毕,则停止遍历;否则,重复执行步骤(5.9)~(5.13),得到所有用户的置信度集合γ=(γ1,γ2,…,γK),集合中的每个元素代表该用户的邻居主题对于其主题信息的贡献程度;γk表示第k个用户的置信度,k=1,2,…,K;
步骤(5.15)迭代更新种子用户,在原来的用户得分上加入关注者的用户得分。
步骤(6).利用分词软件提取个人描述和标签的关键词,转换成向量矩阵,求得相似性因子;如图7所示,具体步骤是:
步骤(6.1)遍历用户列表Users,对个人描述和标签做预处理,采用步骤(1.2)的方法过滤特殊字符、字段,利用jieba分词工具分词,进行词性筛选,包括名词、动名词、动词、形容词、副词等,本实施例选取名词作为关键词列表KW=(kw1,kw2,…,kwG),因为名词最具有主题信息代表性,其中kwg表示第g个词,g=1,2,…,G,G为关键词的个数;
步骤(6.2)利用Word2Vec对关键词进行向量化,使用Tencent_AILab_ChineseEmbedd-ing作为语料库,该语料库包含腾讯新闻,百度百科,维基百科等,覆盖范围广,得到关键词向量矩阵KM=(km1,km2,…,kmR),其中kmr表示第r个向量,r=1,2,…,R,R为矩阵的向量个数;
步骤(6.3)对主题列表的主题进行向量化,得到主题向量化矩阵TM=(tm1,tm2,…,tmR);
步骤(6.6)判断用户列表中的用户是否处理完毕:如果处理完毕,则停止遍历;否则,重复执行步骤(6.1)~(6.5),得到用户的相似度因子集合α={α1,α2,…,αk}。
步骤(7).将上述三个因子融合得到用户主题模型;如图8所示,具体步骤是:
步骤(7.1)遍历用户列表Users,将步骤(6.6)得到的相似度因子与步骤(4.9)的主题概率分布结合,其中已经与β相加,对于每一个主题值如果通过步骤(6.4)的映射θg得到的主题topicg与某一个初始主题相同,则进行如下操作:其中,num表示在某一个主题下相同的个数;
步骤(7.2)遍历用户userk的主题列表,对每个主题做步骤(7.1)的操作,判断是否处理完毕:如果处理完毕,则停止遍历;否则,继续执行,得到更新后的主题值:
步骤(7.3)如果关注者与用户处于相同的主题,则进行如下操作:
userk和users在相同整体下,则func(userk,users)=1,否则func(userk,users)=0;
步骤(7.4)遍历用户userk的主题列表,对每个主题做步骤(7.3)的操作,判断是否处理完毕:如果处理完毕,则停止遍历;否则,继续执行,得到更新后的主题值:
步骤(7.6)判断用户列表的用户是否处理完毕,如果是,则停止遍历;否则,重复执行步骤(7.1)~(7.5),得到主题分布集合Inte=(inte1,inte2,…,inteK)。
至此,社交用户的主题信息推荐完毕。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (8)
1.一种基于社交网络用户属性的主题推荐方法,其特征在于,该方法包括以下步骤:
步骤(1).获取用户的微博内容,对微博进行预处理;
步骤(2).过滤用户,剔除不活跃的用户和僵尸用户,标注数据集;
步骤(3).采用LDA模型求出用户微博的主题概率分布,得到最初的主题分布;
步骤(4).利用已标记的微博训练集求得不同性别在不同主题下的变异因子,与主题分布结合得到主题因子;
步骤(5).计算用户与友邻关系的亲密度,评价友邻用户的影响力,得到置信度;
步骤(6).利用分词软件提取个人描述和标签的关键词,转换成向量矩阵,求得相似性因子;
步骤(7).将上述三个因子融合得到用户主题模型。
2.如权利要求1所述的一种基于社交网络用户属性的主题推荐方法,其特征在于,步骤(1)具体是:
(1.1)利用爬虫工具爬取微博数据T、用户属性U和用户友邻关系R到关系型数据库中;
(1.2)对微博数据T进行预处理,使用正则表达式过滤特殊的字符和字段,将英文统一为小写;
(1.3)定义字典DictUser,用户User的Id为键,预处理完成的微博数据W为键对应的值;
(1.4)将字典DictUser转换成缓存。
3.如权利要求2所述的一种基于社交网络用户属性的主题推荐方法,其特征在于,步骤(2)具体是:
(2.1)过滤用户标签或个人描述为空的用户;
(2.2)过滤不符合规则的用户性别;
(2.3)过滤不活跃用户或一段时间未上线用户;活跃度NT表示用户最近一年内发布、转发和评论微博总数;NMonth表示一年中活跃的月份数,是指用户在一年中最早发微博和最晚发微博的时间间隔;如果Active小于阈值σA,属于不活跃用户,活跃度的阈值σA=15~30;如果超过一年未发布、转发和评论微博,则属于未上线用户;
(2.4)过滤粉丝数小于粉丝阈值σF的用户,设定σF=30~100;
(2.5)采用人工标注的方法生成标记数据集Utopic={User,Topic},User表示用户,Topic表示标注的主题信息。
4.如权利要求3所述的一种基于社交网络用户属性的主题推荐方法,其特征在于,步骤(3)具体是:
(3.1)使用现有的LDA模型进行主题预测;
(3.2)设定LDA模型的参数,对步骤(1)中得到的字典DictUser进行遍历,利用DictUser中用户User对应的微博数据W对LDA模型建模;
(3.5)判断字典中的用户User是否都处理完毕:如果处理完毕,则停止遍历;否则,重复执行步骤(3.2)~(3.4),得到Dicttopic={User,PrT};其中,User=(user1,user2,…,userK),PrT=(prt1,prt2,…,prtK),userk表示第k个用户,prtk表示第k个用户的初始主题分布,k=1,2,…,K,K是用户的个数。
5.如权利要求4所述的一种基于社交网络用户属性的主题推荐方法,其特征在于,步骤(4)具体是:
(4.1)选取多个已标记主题信息的男性和女性用户集合,建立用户列表User_Var=(vuser1,user2,…,vuserJ),其中,vuserj第j个用户,j=1,2,…,J,J为选取的用户个数;
(4.3)判断用户列表是否都处理完毕:如果处理完毕,则停止遍历;否则,重复执行步骤(4.2),得到DictInf={User_Var,Inf},其中键是选取的标记用户,值是求得的影响力;
(4.4)遍历主题列表Topics,Topics=(topic1,topic2,…,topicL),其中topicl表示第l个主题,l=1,2,…,L,L为已标记的所有主题个数;
计算某一个主题信息下的男性用户和女性用户的平均值meantopic;
(4.5)计算某一个主题信息下的男性用户和女性用户的标准差值standardtopic;
(4.7)判断主题列表中的主题是否处理完毕:如果处理完毕,则停止遍历;否则,重复执行步骤(4.4)~(4.6),得到变异系数集合V(Gender)=[v1,v2,…,vL];
(4.8)利用正则化公式,更新变异系数集合V(Gender),将值的范围控制在(0,1)内:
(4.10)判断字典是否处理完毕:如果处理完毕,则停止遍历;否则,重复执行步骤(4.9),得到最终更新完毕的Dicttopic={User,PrT}。
6.如权利要求5所述的一种基于社交网络用户属性的主题推荐方法,其特征在于,步骤(5)具体是:
(5.1)遍历待提取主题的用户列表Users,计算用户影响力,过滤低于阈值σU的用户,σU=0.4~0.5,得到后续迭代更新所需要的初始种子用户集合SeedU=(seedu1,seedu2,…,seeduP)和对应的影响力值seedup表示第p个种子用户,p=1,2,…,P,P为种子用户的个数;
(5.9)遍历用户列表Users,如果是非种子用户,对关注列表做以下操作;
(5.10)遍历关注列表,如果关注用户followu的邻居neighb与其有相同的主题信息,则累加邻居用户得分;
(5.13)判断关注列表的用户是否处理完毕:如果处理完毕,则停止遍历;否则,重复执行步骤(5.10)~(5.12),得到某个用户的置信度集合其中表示第s个关注用户的置信度,s=1,2,…,S,S为关注用户个数;
(5.14)判断用户列表的用户是否处理完毕:如果处理完毕,则停止遍历;否则,重复执行步骤(5.9)~(5.13),得到所有用户的置信度集合γ=(γ1,γ2,…,γK);γk表示第k个用户的置信度,k=1,2,…,K;
(5.15)迭代更新种子用户,在原来的用户得分上加入关注者的用户得分。
7.如权利要求6所述的一种基于社交网络用户属性的主题推荐方法,其特征在于,步骤(6)具体是:
(6.1)遍历用户列表Users,对个人描述和标签做预处理,采用步骤(1.2)的方法过滤特殊字符、字段,利用jieba分词工具分词,进行词性筛选,选取某一类词作为关键词列表KW=(kw1,kw2,…,kwG),其中kwg表示第g个词,g=1,2,…,G,G为关键词的个数;
(6.2)利用Word2Vec对关键词进行向量化,使用Tencent_AILab_ChineseEmbedd-ing作为语料库,得到关键词向量矩阵KM=(km1,km2,…,kmR),其中kmr表示第r个向量,r=1,2,…,R,R为矩阵的向量个数;
(6.3)对主题列表的主题进行向量化,得到主题向量化矩阵TM=(tm1,tm2,…,tmR);
(6.6)判断用户列表中的用户是否处理完毕:如果处理完毕,则停止遍历;否则,重复执行步骤(6.1)~(6.5),得到用户的相似度因子集合α={α1,α2,…,αk}。
8.如权利要求7所述的一种基于社交网络用户属性的主题推荐方法,其特征在于,步骤(7)具体是:
(7.1)遍历用户列表Users,将步骤(6.6)得到的相似度因子与步骤(4.9)的主题概率分布结合,对于每一个主题值如果通过步骤(6.4)的映射θg得到的主题topicg与某一个初始主题相同,则进行如下操作:其中,num表示在某一个主题下相同的个数;
(7.2)遍历用户userk的主题列表,对每个主题做步骤(7.1)的操作,判断是否处理完毕:如果处理完毕,则停止遍历;否则,继续执行,得到更新后的主题值:
(7.3)如果关注者与用户处于相同的主题,则进行如下操作:
userk和users在相同整体下,则func(userk,users)=1,否则func(userk,users)=0;
(7.4)遍历用户userk的主题列表,对每个主题做步骤(7.3)的操作,判断是否处理完毕:如果处理完毕,则停止遍历;否则,继续执行,得到更新后的主题值:
(7.6)判断用户列表的用户是否处理完毕,如果是,则停止遍历;否则,重复执行步骤(7.1)~(7.5),得到主题分布集合Inte=(inte1,inte2,…,inteK)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011345609.4A CN112487303B (zh) | 2020-11-26 | 2020-11-26 | 一种基于社交网络用户属性的主题推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011345609.4A CN112487303B (zh) | 2020-11-26 | 2020-11-26 | 一种基于社交网络用户属性的主题推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112487303A true CN112487303A (zh) | 2021-03-12 |
CN112487303B CN112487303B (zh) | 2022-04-22 |
Family
ID=74934818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011345609.4A Active CN112487303B (zh) | 2020-11-26 | 2020-11-26 | 一种基于社交网络用户属性的主题推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112487303B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116644239A (zh) * | 2023-07-19 | 2023-08-25 | 中国标准化研究院 | 一种重大服务质量事件信息监控方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183833A (zh) * | 2015-08-31 | 2015-12-23 | 天津大学 | 一种基于用户模型的微博文本推荐方法及其推荐装置 |
US9275148B1 (en) * | 2011-09-23 | 2016-03-01 | Shauki Elassaad | System and method for augmented browsing and knowledge discovery |
CN105740342A (zh) * | 2016-01-22 | 2016-07-06 | 天津中科智能识别产业技术研究院有限公司 | 一种基于社会关系主题模型的社交网络朋友推荐方法 |
US20160203221A1 (en) * | 2014-09-12 | 2016-07-14 | Lithium Technologies, Inc. | System and apparatus for an application agnostic user search engine |
US20170103402A1 (en) * | 2015-10-13 | 2017-04-13 | The Governing Council Of The University Of Toronto | Systems and methods for online analysis of stakeholders |
CN107526850A (zh) * | 2017-10-12 | 2017-12-29 | 燕山大学 | 基于多重个性化特征混合架构的社交网络好友推荐方法 |
CN108596205A (zh) * | 2018-03-20 | 2018-09-28 | 重庆邮电大学 | 基于地域相关因子与稀疏表示的微博转发行为预测方法 |
CN109002490A (zh) * | 2018-06-26 | 2018-12-14 | 腾讯科技(深圳)有限公司 | 用户画像生成方法、装置、服务器及存储介质 |
CN111274485A (zh) * | 2020-01-20 | 2020-06-12 | 北京工业大学 | 一种基于社区发现的个性化推荐方法 |
US10831814B2 (en) * | 2005-10-26 | 2020-11-10 | Cortica, Ltd. | System and method for linking multimedia data elements to web pages |
-
2020
- 2020-11-26 CN CN202011345609.4A patent/CN112487303B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10831814B2 (en) * | 2005-10-26 | 2020-11-10 | Cortica, Ltd. | System and method for linking multimedia data elements to web pages |
US9275148B1 (en) * | 2011-09-23 | 2016-03-01 | Shauki Elassaad | System and method for augmented browsing and knowledge discovery |
US20160203221A1 (en) * | 2014-09-12 | 2016-07-14 | Lithium Technologies, Inc. | System and apparatus for an application agnostic user search engine |
CN105183833A (zh) * | 2015-08-31 | 2015-12-23 | 天津大学 | 一种基于用户模型的微博文本推荐方法及其推荐装置 |
US20170103402A1 (en) * | 2015-10-13 | 2017-04-13 | The Governing Council Of The University Of Toronto | Systems and methods for online analysis of stakeholders |
CN105740342A (zh) * | 2016-01-22 | 2016-07-06 | 天津中科智能识别产业技术研究院有限公司 | 一种基于社会关系主题模型的社交网络朋友推荐方法 |
CN107526850A (zh) * | 2017-10-12 | 2017-12-29 | 燕山大学 | 基于多重个性化特征混合架构的社交网络好友推荐方法 |
CN108596205A (zh) * | 2018-03-20 | 2018-09-28 | 重庆邮电大学 | 基于地域相关因子与稀疏表示的微博转发行为预测方法 |
CN109002490A (zh) * | 2018-06-26 | 2018-12-14 | 腾讯科技(深圳)有限公司 | 用户画像生成方法、装置、服务器及存储介质 |
CN111274485A (zh) * | 2020-01-20 | 2020-06-12 | 北京工业大学 | 一种基于社区发现的个性化推荐方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116644239A (zh) * | 2023-07-19 | 2023-08-25 | 中国标准化研究院 | 一种重大服务质量事件信息监控方法 |
CN116644239B (zh) * | 2023-07-19 | 2023-10-13 | 中国标准化研究院 | 一种重大服务质量事件信息监控方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112487303B (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | Multi-label maximum entropy model for social emotion classification over short text | |
CN110046228B (zh) | 短文本主题识别方法和系统 | |
CN110096575B (zh) | 面向微博用户的心理画像方法 | |
Wu et al. | Personalized microblog sentiment classification via multi-task learning | |
CN109508385B (zh) | 一种基于贝叶斯网的网页新闻数据中的人物关系分析方法 | |
CN111767725A (zh) | 一种基于情感极性分析模型的数据处理方法及装置 | |
Yang et al. | Microblog sentiment analysis via embedding social contexts into an attentive LSTM | |
CN112084333B (zh) | 一种基于情感倾向分析的社交用户生成方法 | |
Vamshi et al. | Topic model based opinion mining and sentiment analysis | |
CN109145090B (zh) | 一种基于深度学习的微博用户情感影响力分析方法 | |
Kang et al. | Deep recurrent convolutional networks for inferring user interests from social media | |
US20220058464A1 (en) | Information processing apparatus and non-transitory computer readable medium | |
Liu et al. | Correlation identification in multimodal weibo via back propagation neural network with genetic algorithm | |
Wijesekara et al. | Source credibility analysis on Twitter users | |
Zou et al. | Collaborative community-specific microblog sentiment analysis via multi-task learning | |
Ghobakhloo et al. | Design of a personalized recommender system using sentiment analysis in social media (case study: banking system) | |
Dinh et al. | A proposal of deep learning model for classifying user interests on social networks | |
CN112487303B (zh) | 一种基于社交网络用户属性的主题推荐方法 | |
Modupe et al. | Post-authorship attribution using regularized deep neural network | |
Baboo et al. | Sentiment analysis and automatic emotion detection analysis of twitter using machine learning classifiers | |
Guo et al. | Web table column type detection using deep learning and probability graph model | |
Zhu | Rumour detection based on deep hybrid structural and sequential representation networks | |
Ugheoke et al. | Detecting the gender of a tweet sender | |
Ling | Coronavirus public sentiment analysis with BERT deep learning | |
Kamel et al. | Robust sentiment fusion on distribution of news |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |