论文部分内容阅读
近年来,国内外以Twitter、FaceBook、新浪微博、腾讯微博为代表的微博客类社交平台逐渐兴起,成为人们日常生活中重要的信息发布与获取平台。这类社交网络为人们提供了便捷的搜集发布信息的渠道以及高效的寻找志同道合朋友的平台。据统计,新浪微博自2009年8月成立以来,其注册用户已突破6亿人次,月活跃用户高达2.82亿,用户平均日发送微博达1亿多条。微博以极快的速度取代用户日常使用的各种信息获取工具,并渗透到用户生活的方方面面。微博用户在日常使用微博的过程中,不仅会收到各类官方媒体发布的信息,还会收到其关注的自媒体、大V发布的信息。信息来源渠道多信息数量大,用户往往疲于应对。目前,用户面对的主要矛盾是微博推送的海量信息与短暂的阅读时间之间的矛盾。如何在兼顾信息丰富性的基础上,降低信息的冗余度,为用户提供即丰富又精简的信息流成为当下亟需解决的问题。现有的微博信息检索算法往往更多的关注如何快速为用户呈现信息,而忽视信息的多样性,如EarlyBird算法、TI算法等。本文在微博信息快速呈现的基础上更多的关注微博信息的多样性,旨在为用户提供数量尽量精简同时兼顾多样性的微博信息集。本文根据微博数据的特点,将用户对多样化微博数据的需求抽象成多查询多样化问题。其中,用户个性化定制信息的需求通过多查询来体现,用户对低信息冗余度的需求通过多样化来体现。本文首先定义了多样性阈值λ。然后定义了微博间的coverλ关系,即微博与微博之间、微博与微博集之间、微博集合与微博集合之间的互相包含关系。通过微博之间coverλ关系的定义,我们只需要寻找到对微博全集构成coverλ关系的微博子集,即表示该子集在多样性阈值λ下可代表微博全集。本文将对多查询多样性问题的求解转化为求解可对微博全集构成coverλ关系的最小微博子集。该问题即被转化为一类求最优化的问题。接着,本文介绍了基于动态规划的微博查询算法用于寻找在多样化阈值λ条件下可覆盖微博全集的最小微博子集,并对其进行了有效性证明、时间复杂度和空间复杂度计算。然后,本文通过改进基于动态规划的微博查询算法的递归方向和问题子结构,提出了基于双向动态规划的微博查询算法,理论上减少了中间状态的数量,降低了算法运行的时间。本文利用归纳法证明了基于双向动态规划的微博查询算法的有效性,并且对其时间复杂度和空间复杂度进行了分析。最后,本文设计了实验分别实现了基于动态规划的微博查询算法和基于双向动态规划的微博查询算法。在相同的数据源以及多样性阈值λ下,通过统计这两种算法运行过程中计算的状态量以及算法运行的时间,从空间复杂度和时间复杂度这两个角度对两种算法进行了全方位的比较。本文实验表明,基于双向动态规划的微博查询算法具有更好的时间效率。对于后续的研究工作,本文从流数据处理、分布式数据处理等方面提出了设想。