微博用户标签自动生成算法

转载 2015年07月06日 17:47:25

文章来源:http://www.itongji.cn/article/04031ZR013.html


1. 问题描述

现有每个用户发送、评论、转发的微博内容, 要求从这些微博中为每个用户抽取适合的标签。 例如我的微博中经常提到“SVM”,“文本分类”,“协同过滤”等, 则给我打上标签“数据挖掘”。 要求算法尽量自动化, 不需要或需要很少人工干预。

2. 解决方案

有三种计算方法可尝试, 个人由于工作原因暂时不能一一实现,有兴趣的读者可进行实现比较

2.1 借助百度百科的开放分类

百度百科有个比较好的特性是在词条释义下面会列出该词条隶属的开放分类, 如词条“SVM”隶属的开放分类有数据挖掘, 机器学习等。

可以利用这个特性, 为用户相关微博中含有的词,抓取开放分类当做用户的标签。 具体流程:

1)维护一个词条->相关百度百科开放分类列表的缓存池

2)将用户相关微博分词,统计词频,过滤停用词,取较高频的有效词

3)取分词后的每个有效词条

4)若该词条在百度百科开放分类缓存池中,从缓存中取得该词条相关分类

5)若该词条不在百度百科开放分类缓存池中,以该词条为检索词抓取百度百科,得到相关开放分类列表返回,同时将结果放进缓存

6)重复3-5直到为用户的相关词条都生成开放分类列表

7)合并分类列表,取开放分类中较高频的K个分类作为该用户标签

2.2 利用概念层次结构图计算

假设把人的知识结构分成概念层次,越高的层次上概念越宽泛,如“计算机”,“汽车”,“电视剧”等, 越低的层次概念越细化,如“贝叶斯信任网络”,“奔驰600商务型”,“潜伏”等。  本算法的核心在于抽取出概念层次“不高不低”的词作为标签, 也就是说抽取的词概念既不要太宽泛,也不要太细化, 例如上述例子中,“计算机”,“汽车”,“电视剧”等词过于宽泛; 而“贝叶斯信任网络”,“奔驰600商务型”,“潜伏”又过于细化, 理想情况下, 抽取出“数据挖掘”,“奔驰”,“谍战剧”是最合适的。那么如何做到这一点呢?

可以利用词和词之间的相关性, 构建由词到词的关联图, 图中每个节点代表一个词, 每条边代表由词A到词B的一个关联,说明词A和词B在概念上有一定相关性。 具体构建方法可应用类似于apriori的关联规则挖掘算法, 利用不同词在同一用户微博中的共现频率,结合置信度、支持度、提升度等限制条件计算出这样的图。

当上述关联图计算完成后, 会有如下规律: 对于概念层次较高的词, 该词在图中节点的出度会很大(即该词会和很多词相关联),如“电视剧”可能关联到众多电视剧名, 电视剧类型; 对于概念层次较低的词,该词在图中节点的出度会很小(即该词会和很少词相关联),如“潜伏”可能只关联到几个相似的电视剧名和“谍战片”等少数电视剧类型。

于是可以按照所有词节点的出度进行排序统计, 结合人工review, 选出出度不高不低的词节点,作为合法标签存储。

有了合法标签, 根据用户相关微博计算他的标签就容易了, 第一步分词统计词频, 第二步遍历用户微博中的原始词,如果是合法标签,则为用户打上标签。 如果遍历过后发现为这个用户打的标签太少, 则搜索词条相关图中和用户相关原始词相关,并且是合法标签的词作为标签。

2.3 利用协同过滤思想进行计算

如果系统中已有较多用户打上了一些标签, 则可以根据他们的标签相似性、相关微博相似性进行协同过滤计算标签,具体流程如下:

根据用户已有标签和相关微博生成代表这个用户的关键词向量

计算和该用户有相似向量的有标签用户

统计该用户的相似用户都打了什么标签,按照频率高低排序,选择K个高频标签


标签传播算法(Label Propagation)及Python实现

标签传播算法(Label Propagation)及Python实现zouxy09@qq.comhttp://blog.csdn.net/zouxy09 一、半监督学习       半监督学习(Sem...
  • zouxy09
  • zouxy09
  • 2015年10月13日 22:03
  • 43021

《推荐系统》基于标签的用户推荐系统

1:联系用户兴趣和物品的方式 2:标签系统的典型代表 3:用户如何打标签 4:基于标签的推荐系统 5:算法的改进 源代码查看地址:github查看 一:联系用户兴趣和物品的方式     ...
  • Gamer_gyt
  • Gamer_gyt
  • 2016年06月16日 11:17
  • 19238

文本标签提取算法

目前想到方法 1,现有分词系统提出关键词,比如ansj,hannlp,word等 2,基于tfidf 算权重 3,基于textrank算法,部分分词系统采取textrank 算法 4,基于语言...
  • lb521200200
  • lb521200200
  • 2016年12月14日 23:07
  • 1741

带文本的标签自动生成font标签

某天测试自己写的网站的时候突然发现一些按钮的点击功能失效,在控制台发现该a链接中的文本,被两个font标签包裹着,导致不能处罚到a链接。 后来发现是因为html在申明的时候是这样写的,导致浏览器自动...
  • Eliosa
  • Eliosa
  • 2017年03月24日 17:26
  • 559

大数据用户画像算法分析

  • 2015年03月19日 11:48
  • 2.42MB
  • 下载

推荐系统 用户画像 标签聚类 个性化搜索

最近在做短视频推荐,和别的部门配合着做,我们部门做用户画像这一部分。回头看看,我们部门以前做的用户画像只能称之为“所谓的用户画像”。如果一个人不懂用户画像还好指挥来指挥去真的让人无言,不知道其他公司的...
  • banbuduoyujian
  • banbuduoyujian
  • 2016年12月18日 16:51
  • 2367

用户标签设计

http://blog.csdn.net/lili72 背景: 需要更加符合实际的了解用户对产品的使用情况,取每天流水数据,统计分析一个时间段用户的行为特点:    用户地区属性:最近3...
  • lili72
  • lili72
  • 2014年12月09日 23:35
  • 1853

计算两组标签/关键词 相似度算法

写作背景标签在互联网行业有大量的应用,给博客打标签,给商品打标签,给新闻打标签。通常每篇文章会打上多个标签,好的标签系统给后期的数据分析可以带来巨大的利处。最近想做一个基于内容的新闻简单推荐系统,其中...
  • whzhaochao
  • whzhaochao
  • 2016年02月05日 11:03
  • 4080

微博相关性分类算法

微博相关性判断算法          关于微博的分类算法,可以采用机器学习的方法,比如支持向量机,亦可以采用词典匹配法。 支持向量机:          在一些情况下的确能够取得一定的效果,但是...
  • zhuhuangtianzi
  • zhuhuangtianzi
  • 2014年02月25日 14:03
  • 1886

标签传播算法在微博用户兴趣图谱的应用

2012-06-28 21:57:20 http://hui.csdn.net/MeetingInfo.aspx?mid=111 (据主办方说之后会有PPT和现场视频放出) ...
  • xiewenbo
  • xiewenbo
  • 2012年07月02日 11:37
  • 4011
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:微博用户标签自动生成算法
举报原因:
原因补充:

(最多只允许输入30个字)