zoukankan      html  css  js  c++  java
  • 简化的HITS算法与原理示例

    HITS算法,首先要做的是判别与主题相关的网页集合,要分别为每个提交给搜索引擎的用户查询判定出一个主题相关网页集。如果网页满足下面的条件,便可判定它们是与主题相关的:

    a)这些网页属于一个网页集合,且网页集合中含有与用户查询最相关的文本。

    b)这些网页链向满足a条件的网页,或是满足a条件的网页链向该网页。

    这里有一个重要的链接假设是部分基于“链接——内容”假设的。也就是说,如果一个网页与主题相关的网页有链接关系,即使它并不含有与主题相匹配的文本信息(至少从用户查询文本来看是这样的),该网页也可能是与主题相关的。

    即使是根据文本内容判定出来的相关网页,有些时候也并不相关,因为在实践中很难判定主题相关性,尤其是那些本身就有歧义的查询。一个经典的例子就是 “美洲虎”。用户可能是想要查询动物,或以该词命名的汽车的相关信息。结果,返回的与主题相关的网页却是不全的,且只是部分相关的。但Kleinberg 的试验表明,这并不是一个严重问题。

    算法的第二部分是为主题相关集合中的每个页面算出其中心度和权威度。算法使用了与PageRank算法中相似的投票方法,同时也采用了逆向投票机 制,使得每个网页都可以给链向它的网页投票。HITS算法的结果是为每个网页赋予一个中心度和一个权威度,而不是像前面所说的那样,只是将它们区分为中心 网页和权威网页。

    简化的HITS算法:

    第一阶段:找出与查询相关或主题相关的网页集合

    1.根据搜索引擎中用户输入的文本查询,找出t个与该查询最为相关的文本网页,其中t是预先设定的参数;

    2.向集合中添加所有与匹配网页存在着链接关系(链向或者被链向)的网页;

    3.移除所有的站内链接;

    第二阶段:初始化每个网页的中心度和权威度

    4.为每个网页赋予一个权威权重X和中心权重y,如X=y=1;

    第三阶段:重复投票过程

    5.统计每个网页的入链网页的中心度之和,计算出每个网页的权威权重;

    6.统计每个网页的出链网页的权威度之和,计算出每个网页的中心权重;

    7.将所有网页的中心度都除以最高中心度以将其标准化,将所有网页的权威度都除以最高权威度以将其标准化;

    8.重复第5步到第7步n次,而Kleinberg在一些言论当中是建议重复20次;

    第四阶段:报告结果

    9.返回一张排好序的网页列表,列表中的网页有些具有较高的中心度,有些则具有较高的权威度,这样用户自己就可以选出他们认为是最好的那种类型的网页(Kleinberg建议选择前5—10个中心网页和前5-10个权威网页)。

  • 相关阅读:
    Codeforces1420E. Battle Lemmings 题解 动态规划
    C++使用partial_sum求前缀和
    HDU6171 Admiral 题解 折半搜索
    HDU3017 Treasure Division 题解 折半搜索
    使用re.split 按标点+空格的一种分割办法
    实现CString的Format功能,支持跨平台
    转载一篇makefile,说的很详细
    Microsoft C++ 异常: std::system_error std::thread
    源码一样,运行结果不一致的解决办法
    记录一次阿里的电话面试
  • 原文地址:https://www.cnblogs.com/shihao/p/2320462.html
Copyright © 2011-2022 走看看