分配权重以识别页面

时间:2016-04-26 17:08:13

标签: python algorithm dictionary machine-learning web-scraping

我正在尝试识别一系列具有大学网址的教师名单的网页。

我已经分析了教师页面列表,每个页面都有关键字列表,这些关键字出现在其中,区别于其他网址(如指定,电话号码等)。我已从所有教师列表页面列出了所有此类关键字。

要为教师列表页面分配权重,我使用以下逻辑:

我在python中创建了一个关键字生成器程序,该程序获取页面的URL,计算页面中每个单词的出现次数,并将其以name_of_keyword的形式存储在python字典中:number_of_occurances(key:value)

  1. 我在我的程序中输入了 n 教师列表网址列表。
  2. 然后,每个URL都会发送到关键字生成器程序,该程序返回该URL中每个单词的出现次数。
  3. 主程序中有一个python字典,其中每个关键字(从关键字生成器返回)的出现次数被添加到主字典中的相应关键字。 (主要词典中的关键词是我从分析教师列表页面中找到的关键词。)

  4. 在浏览完所有网址后(完成循环后),我将主词典中每个关键字的值除以N(教师列表网址数量)。< / p>

  5. 主词典中每个关键字的值是每个关键字的最终权重。

  6. 要从其他页面识别教师列表页面,我使用以下逻辑:

    1. 将URL发送到关键字生成器程序,以获取该URL中每个关键字的出现次数(让我们称之为此URL字典)。

    2. 将URL字典的每个关键字与前一个方法中找到的主字典中的相应关键字相乘(其中包含每个关键字的权重。如果URL字典中有任何关键字,则不存在主词典,乘以0)。

    3. 添加乘以后获得的所有关键字的值(步骤2)。

    4. 如果总和超过某个阈值(通过实验和命中和试验手动确定),则它是教师页面。

    5. 即使我使用此方法获取输出,它也有以下限制:

      • 我在确定重量时使用蛮力。它更加手动,而不是学习它自己。
      • 有很多命中和试验,以及寻找最低门槛的实验。
      • 解决方案不是最佳的,只需输入新的教师页面就无法更改权重。整个程序必须再次运行。

      我有以下问题:

      • 我可以将所有更改纳入我当前的方法中吗?
      • 是否有更优化的权重分配方式?
      • 是否有可用于使权重分配更自动的学习算法?

1 个答案:

答案 0 :(得分:0)

听起来你正在寻找一个答案,当另一个答案就足够了。一方面,您正在尝试计算每个页面的权重,以表示该页面是教师页面的置信度,但另一方面,您正在寻找一个简单的二进制真/假答案:

  

我正在尝试识别具有来自a的教师列表的页面   一堆大学网址。

因此,为了简化问题,我将删除有关计算权重和总和的部分,而是提出一种算法,该算法返回关于给定页面是否是教师页面的真/假响应。

这可以像扫描三个项目一样简单:姓名,电子邮件地址和电话号码。如果一个页面包含多个这些项目,那么它就是一个教师成员列表。也许不是一个很长的清单,但不过是一个清单。