system: [SYSTEM]

user: 5. 实证分析 5.1. 数据来源及获取 本文利用已有的在2014-05-03至2014-05-11采集的50，168条微博博文内容作为训练数据，在此基础之上，进行关键词提取，并达到最终构建基于关联规则的推荐系统的目标。 5.2. 数据预处理 微博博文内容存在很大的随意性、缩略性，并且其中涉及的词汇在jieba自带的字典中并不一定存在，例如对“易烊千玺”、“张继科”、“幻城”这样的词汇无法很好的进行分词。所以，人工构建微博专用词典weibodict.txt。在分词的过程中，将微博专用词典加入，以增加分词的准确性。部分分词结果如表1。 由表1可知，按照词频降序排列得到的结果噪音很大，“的”“了”“是”这种词对于主题的获取意义不大，但出现次数较多；而“小米”“同桌的你”“房价”这种词对于反映用户兴趣是十分重要的，应突出其关键位置，所以需要进行下一步去停用词的处理。并且经前人分析可知，在一段话中最能代表主题含义的是名词和动词。所以，对结果进行需再一次加工，只提取出于主题相关的名词和动词。处理结果如表2。 接下来，基于以上结果利用TF-IDF算法进行全文特征词提取，选取15个特征词，确定博文所涉及主题。利用词云的形式进行展示如图1。 我们可以总结出，所采集的全部文本涉及的主题分别是房价、魅族、小米、火箭队、林书豪、恒大、韩剧、雾霾、同桌的你、公务员、贪官、转基因。当然我们还需要知道，每一个用户ID所涉及的主题内容，接下来，对每一个用户ID进行上述预处理，并进行关键词提取，部分结果如表3。 利用上述结果，接下来便可以进行推荐系统的构造。 5.3. 推荐系统 5.3.1. 协同过滤推荐算法 上一章节，基于关键词把博文分成了12类，在本章中，首先计算用户发表博文类别的频率作为用户 Table 1 Word frequency table of weib 词汇 出现次数 的 182，815 了 65，653 是 43，093 不 18，657 小米 18，285 同桌的你 12，601 房价 10，924 我们 10，770 公务员 10，032 ... ... 表1. 微博词频表 Table 2 Word frequency tabl 词汇 出现次数 词性 小米 18，285 n 同桌的你 12，601 n 中国 12，404 ns 房价 10，924 n 公务员 10，032 n 转基因 8894 n 小米 18，285 n 同桌的你 12，601 n 中国 12，404 ns ... ... ... 表2. 词频表 Table 3 System resulting data of standard experimen 用户ID 主题词 1750763123 同桌的你 3477580923 恒大 3962426507 恒大 3811084974 贪官 2091273435 公务员 1974576991 公务员 3259396652 小米 3342224310 小米 2211601325 林书豪 ... ... 表3. 用户ID及其对应主题词 Table 4 The favorite degree of user to example 类别1 类别2 类别3 类别4 类别5 用户1 0.5 0.2 0.1 0.15 0.15 用户2 0.1 0.7 0 0.2 0 用户3 0 0.15 0.2 0.25 0.4 用户4 0.1 0.3 0.2 0 0.6 表4. 用户对类别喜爱程度样例 图1. 词云图 对该类别的喜爱程度，如表4，在用户1发表的微博中，类别1的微博占到了50%，那么该用户对类别1的喜爱程度为0.5，而用户3并没有发表过关于类别1的博文，那么他对类别1的喜爱程度是0。 根据用户对各类别的喜好程度，向用户推荐数据存储库中用户感兴趣类别的相关微博。另外，基于用户本身对于物品的喜爱程度，本文根据余弦公式找出当前用户的相似用户，然后将相似用户喜欢的物品推荐给当前用户。计算上来说就是把一个用户对当前所有物品的评分作为一个输入向量，计算所有用户之间的相似度，从而找出与该用户相似的用户。根据这个相似用户对物品的喜爱程度来预测当前用户对没有评分的物品的喜爱程度。如图所示，用户喜欢物品和物品，用户喜欢物品、物品和物品，计算出用户与用户相似，就把用户喜欢的物品推荐给用户。 应用协同过滤的优点在于该技术并不需要知道关于要推荐的物品的任何信息，避免了系统提供详细信息且实时更新的物品描述信息，节省了成本。但是另一方面，如果想根据物品的特性和用户的特殊偏好非常直观的选择推荐物品，单纯的用协同过滤方法是不可能实现的，因此，下面我们将采用基于内容的推荐算法进一步为用户推荐。 5.3.2. 基于关联规则的推荐算法 一些文献会做出基于物品(微博内容)的推荐算法，但是在本文中考虑到用户发表一篇微博并不一定代表他同样希望关注相似的微博，因此，文本对于微博的推荐主要采取基于关联规则的推荐算法，挖掘微博主题之间的关联性，分析用户的潜在兴趣。关联规则中涉及两个重要的概念：1) 最小支持度，级事件A和事件B同时发生的频率；2) 最小置信度：即事件A、B同时发生的频率与事件A发生的频率之比 [ 9 ] 。 该算法具体示例如下，如表5~8所示，五个用户分别对5类微博感兴趣，每个用户的兴趣集合形成了各个项集，计算出项集中的各个项的支持度形成一阶候选项集，假如设置该算法的阈值为3，大于该阈值的频繁项集被选出，小于该阈值的频繁项集被淘汰。那么B、C、E三个类将形成一阶频繁项集，而要研究哪些兴趣类别可能会同时出现则依照阈值选取出了二阶频繁项集，即兴趣类别B、C，B、E，C、E会被同时关注。同理，三阶频繁项集为B、C、E，在此不再过多说明。 本文各类别的支持度、规则支持度、可部署性如表9。 从结果分析可以得出，关注“小米”的用户占25.2%，其中会有14.7%的用户同时关注“魅族”，那么还未关注的用户占10.5%，此项关联所占用户群体比例较大，14.7%的规则关联度也比较高，剩下的10.5%的可部署性的用户推荐是合理、可行的；从“房价”与“贪官”这一项集得到的指标显示，该项集的关联性较强，具有比较大的推荐价值。而“房地产”与“林书豪”这个推荐组合虽然支持度与其项集的可部署性较高，但是共同关注这两个主题的用户较少，因此，没有太大的推荐价值。 本章基于前面章节做出的文本分析介绍了两种适用的推荐算法，分别是基于物品的推荐算法与基于关联规则的推荐算法，并做出了分析。 Table 5 User’s interest se ID 项集 001 A C D 002 B C E 003 A B C E 004 B E 005 B C 表5. 用户兴趣集 Table 6 The first-order candidates se ID 项集 001 A C D 002 B C E 003 A B C E 004 B E 005 B C 表6. 一阶候选项集 Table 7 The first-order candidates se 项集 支持度 {B} 4 {C} 4 {E} 3 表7. 一阶大项集 Table 8 The second-order candidates se 项集 支持度 {B C} 3 {B E} 3 {C E} 2 表8. 二阶候选项集 Table 9 The index of recommended result 前项 后项 支持度 规则支持度 可部署性 小米 魅族 30.2% 14.7% 10.5% 房地产 林书豪 30.4% 5.3% 25.1% 雾霾 房地产 15.3% 17.0% 7.3% 房价 贪官 30.4% 19.4% 11.0% 小米 公务员 30.2% 15.5% 14.7% … … … … … 表9. 推荐结果指标