您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 用PU学习算法做文本挖掘
用PU学习算法做文本挖掘这个方向国内也有类似,甚至可能更前瞻的基于社交化数据挖掘,提炼出个性化推荐。火花无线,一家O2O的无线新秀所推出的美食推荐应用,麻花,就是一个典型案例。作为一部分基础数据,该应用挖掘了新浪微博上有关餐厅的微博分享,并汇集成热门餐厅。我们来看一下麻花是怎样在新浪微博等SNS上做数据挖掘的。图12-3麻花界面示意图为了给用户最个性化和最高价值的过程中,该应用进一步通过互粉关系,把互粉用户所推荐的内容提高权重,推荐给用户,从而提高推荐餐馆的相关度和增加搜索结果的可信度。说起来很简单,但是在这里比较关键的是如何从用户的某条微博中发现地点和判断用户是对该地点做出评论。不是每条包含地点的微博都是对地点的推荐。比如“我在贝塔咖啡吃午饭”或者“今天去福地听讲座”这些微博虽然提到了地点,但只能算是一个“check-in”,并不是对这些地点的评价。图12-4麻花用户微博推荐示意图“在整个个性化推荐过程中,建模是个关键环节”,先前在淘宝搜索任职,而现任火花无线的高级研究员王嵬说到,“建模的目的是将现实的事物映射成计算机能理解的事物,而数据挖掘的相关算法就是进行有效映射的思路、方法和工具。通常我们建立的模型对现实事物的映射的失真越小,那么得到的结果会越好,反之越差。”以麻花美食的评论过滤系统为例。我们需要通过建模在所有爬取的微博内容中找出对餐厅有评论性质的微博。这里的数据模型使用了PU学习文本分类算法。正例和无标记样本学习(LearningfromPositiveandUnlabeledexamples)一般称为LPU或PU学习。PU学习是一种常用的半监督的二元分类模型,它的目的是通过已标注的正例数据和大量的未标注数据训练出一个用于区分正反分类的分类器。PU学习的实现方式分为二步第一步是通过标注好的正例数据在未标注数据里找出反例数据;第二步是通过标注的正例数据和找出的反例数据建立一个二元分类器。麻花美食最开始得到的分类器是非常糟糕的,查找到的原因有以下几类:在寻找到的反例数据与现实的失真过大,比如正例数据在未标注数据里的比例仅为20%而反例数据占80%,结果通过第一步找出的反例数据跟已标注的正例数据的比例与现实的比例相差悬殊;找出的反例数据覆盖的并不全面,出现了偏科问题;在PU学习的第二步最初采用了一种不能容忍此类失真的算法,结果导致最后训练出的分类器达不到要求。其实这就是在模型建立的过程中某个环节对现实事物的映射出现了严重失真从而导致整个模型对现实事物的映射严重失真。最后在麻花美食的评论过滤系统里通过对以上三类失真的修复之后让分类器的F1值达到了82.14%。这里的F1值是在web信息检索中常用的评价值。Web信息检索中最重要的两个概念是准确率和召回率。准确率(PrecisionRate)是检索出的相关文档中正确的数字和检索出的总相关文档数字的比率;召回率(RecallRate,也叫查全率)是检索出的相关文档数和文档库中所有相关文档数的比率,而F1值是准确率和召回率的调和平均值。下面是关于F的通用公式。recallprecisionrecallprecisionF22)1(当=1时,所表示的就是F1的公式recallprecisionrecallprecisionF21
本文标题:用PU学习算法做文本挖掘
链接地址:https://www.777doc.com/doc-5502867 .html