何通
豆瓣算法组实习生
除了豆瓣,其实还有很多地方出现了标签:
如果我们利用了物品的标签,就可能可以:
会有千奇百怪的噪音:
我对电影标签的清洗步骤:
我以为机器初步清理后, 便可以进行人工清洗了。
可是编辑的反馈居然是这样的:
人工清理的一大目的是去冗余,比如从一群同义词和近义词中选出一个代表用词。
但是剩下的词还是太多了。
假设:意义相近的标签比较容易共同出现在一些物品上。
举个栗子:
医疗剧,医务剧,医疗,医务,医学
这些标签常常共同出现在一个物品上。
近义词也不一定要有相同汉字,例如
神鬼,玄幻,鬼片,灵异
吸毒,大麻,嬉皮,嬉皮士,摇滚
这样的例子还有很多个。
经过尝试,用skmeans对于标签来聚类的效果并不好,可能是因为如下的原因:
关联规则可以过滤噪音。
LeftHandSide | RightHandSide | Confidence |
---|---|---|
波洛 | 英剧 | 0.9400000 |
波洛 | 推理 | 0.9700000 |
医务 | 医疗 | 0.6377953 |
医疗 | 医务 | 0.5142857 |
棒球 | 体育 | 0.6202532 |
棒球 | 励志 | 0.5886076 |
这里出现的就是标签之间的关系了,最右边是置信度,即条件概率
P( RightHandSide | LeftHandSide )
P( 英剧 | 波洛 ) = 0.94
P( 推理 | 波洛 ) = 0.97
etc...
使用这个置信度构图。
构建成图之后,我就使用Gephi软件进行处理。
利用其计算“模块化”的功能,即Community Detection,分析出图中相互关系比较密切的节点。
节点构成了一个个群体,每个群体就是一群近义词了。
一些效果的展示:
两性,中产阶级,中年,伦理,出轨,外遇,婚外恋,婚外情,小三,母子,恋母,情迷,艾滋,艾滋病
医务,医务剧,医学,医疗,医疗剧,美剧
吉他,吸毒,大麻,嬉皮,嬉皮士,摇滚,摇滚乐,毒品,民谣,颓废,药物,金属,嗑药,飞片儿
天才,数学,物理,理论,科学,科学家,量子物理,物理学
平行世界,平行宇宙,平行时空,平行空间,时光倒流,时空穿梭,时空穿越,时间旅行,穿梭时空,穿越,穿越剧,穿越时空
这样人工清洗就更方便了。
标签是用户对物品特征的补充说明
我们一般都是怎么进行描述的呢?
接下来我们对这些标签建立层次结构。
下图是一个在del.icio.us上建立标签树的部分结果:
首先,按照标签出现的总次数来衡量标签的抽象程度。
使用条件概率决定两个标签之间是否有从属关系
一个标签只能属于排它之前的标签
当标签公路出现时,有
我们就认为公路是从属于旅行的一个标签
如果一个标签基本不从属于其他的标签,我们就直接将它连接到根节点。
这时候就有了一棵标签树。
惊喜推荐,即防止不断在小范围内推荐物品。
利用豆瓣“书影音”俱全的特性,进行跨种类推荐:
Fast unfolding of communities in large networks, Tool made by the authors
Laplacian Dynamics and Multiscale Modular Structure in Networks
Collaborative Creation of Communal Hierarchical Taxonomies in Social Tagging Systems
Evaluating Similarity Measures for Emergent Semantics of Social Tagging
Contact Me:
Blog:Programet
Email:hetong007@gmail.com
Weibo:严酷的魔王
LinkedIn:Tong He