http://blog.csdn.net/xiewenbo/article/details/7707985
新浪微博兴趣图谱研究是文本挖掘和社区分析的综合,用户兴趣既有文本信息又有社交行为,需要从这两方面去挖掘,新浪微博有标签的功能,但是存在标签是否有效的问题,因此需要从自标签和用户文本信息两个方面综合分析,确定用户的兴趣。
构建微博用户兴趣可用的信息源有:
文本内容——用户原创微博、用户转发微博、评论微博、回复内容
自标签——用户自己定义的标签
社交行为——参加的群组、圈子等等
[张俊林]标签传播算法http://ajktsy3rlm.l17.yunpan.cn/lk/QXK9MJG35yd7g
算法思想是用与用户有密切关系的标签作为自己的标签,迭代,直到用户标签不再变化
基本思路:
-初始阶段
为途中每个节点赋予一个独一无二的标签L
-多轮迭代
通过社交关系(即图的边)将标签向其他节点传播
某个节点node将根据与其有边联系的其它节点的标签来决定自己此轮应该赋予哪个标签(更新标签L)
-将其邻居节点的标签中出现次数最多的那个标签赋予自己(count)
-如果邻居节点的标签数目一样多,无法找出最多个数标签
-则随机赋予一个标签即可
-直到图中的节点标签都不再改变(稳定),迭代结束
对于一个密集连接子图,即最后达到所有节点的标签是一样的(圈子/群组形成)
算法流程
多轮迭代
STEP1: 找到与节点A有变联系的邻居节点,形成邻居节点集合S,S中的这些节点代表了与用户A有过互动行为的用户集合,同时A也放入集合S中
STEP2:统计集合S所有用户中出现过的不同标签的频次,用户A本身初始的标签按照频次f参与计数(count),即给用户本身的标签一个较大的初始频次
STEP3:将第二步获得的标签按照其频次和标签的IDF值使用类似TF: IDF(单词的信息含量)计算框架的方式计算其权重,并按照权重得分高低排序,取TOP K标签作为节点A的新标签集合(更新,重排)
迭代终止条件
次数or不再变化
我想的思路:
利用TextRank算法对用户的文本信息进行挖掘,然后与自标签进行比较,如果用户的文本信息不包含标签的内容(相似度较低)认为标签为无效标签,这种思路挖掘的标签主要是根据用户端文本信息挖掘的。
TextRank算法http://ajktr4ncqh.l17.yunpan.cn/lk/QXK9tGfNCE3TI
源码可以参考fudanNLP中的关键词提取算法