Web crawler 如何定义主题相关爬虫的词典?

Web crawler 如何定义主题相关爬虫的词典?,web-crawler,text-mining,Web Crawler,Text Mining,我想知道什么是定义字典来计算特定网站相关性的最佳方法。至少,带单词的词典似乎是衡量通过链接找到的新网站相关性的重要方法(例如,如果网站链接到,但不包含任何有关足球的单词,则可能与我的足球爬虫无关) 我有以下想法,但都有很大的缺点: 手工编写字典->你可能会忘记很多单词,这非常耗时 将第一个网站中最重要的单词作为字典->很多单词可能会丢失 将所有网站上最重要的单词作为词典中的词条,并根据相关性对它们进行加权(例如,仅相关0.4的网站不会像相关0.8的网站那样对词典产生如此大的影响)->看起来相当

我想知道什么是定义字典来计算特定网站相关性的最佳方法。至少,带单词的词典似乎是衡量通过链接找到的新网站相关性的重要方法(例如,如果网站链接到,但不包含任何有关足球的单词,则可能与我的足球爬虫无关)

我有以下想法,但都有很大的缺点:

  • 手工编写字典->你可能会忘记很多单词,这非常耗时
  • 将第一个网站中最重要的单词作为字典->很多单词可能会丢失
  • 将所有网站上最重要的单词作为词典中的词条,并根据相关性对它们进行加权(例如,仅相关0.4的网站不会像相关0.8的网站那样对词典产生如此大的影响)->看起来相当复杂,可能会导致意外的结果

最后一种方法对我来说似乎是最好的,但也许有更好、更常见的方法?

我建议您从已知站点列表中构建一个常用词词典。假设你有100个网站,你知道他们都在谈论足球。您可以构建内容的单格图和双格图(或n-gram)地图,并将其用作基线,从中测量与您所做的每个新观察相关的某种类型的“偏差”。注意,为了消除不相关的单词,您必须删除常见的停止词;英语中有很多,下面是一个列表:

N-gram是单词或单词组合的频率计数。Unigrams创建一个映射,其中关键字是单词,值是每个单词的出现次数。二元图通常是由两个连续的单词组合而成,并用它们作为键,三叉图和n元图也是如此


你可以从你的已知站点中获取前n-gram,并将它们与你当前正在评估的站点的前n-gram进行比较。它们越相似,站点就越有可能具有相同的主题。

我建议您从已知站点列表中构建一个常用词词典。假设你有100个网站,你知道他们都在谈论足球。您可以构建内容的单格图和双格图(或n-gram)地图,并将其用作基线,从中测量与您所做的每个新观察相关的某种类型的“偏差”。注意,为了消除不相关的单词,您必须删除常见的停止词;英语中有很多,下面是一个列表:

N-gram是单词或单词组合的频率计数。Unigrams创建一个映射,其中关键字是单词,值是每个单词的出现次数。二元图通常是由两个连续的单词组合而成,并用它们作为键,三叉图和n元图也是如此

你可以从你的已知站点中获取前n-gram,并将它们与你当前正在评估的站点的前n-gram进行比较。它们越相似,网站就越可能有相同的主题