Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 分配权重以标识页面_Python_Algorithm_Dictionary_Machine Learning_Web Scraping - Fatal编程技术网

Python 分配权重以标识页面

Python 分配权重以标识页面,python,algorithm,dictionary,machine-learning,web-scraping,Python,Algorithm,Dictionary,Machine Learning,Web Scraping,我试图从一堆大学Url中找出包含教员名单的页面 我已经分析了教员页面列表,每个页面都有出现在其中的关键字列表,这些关键字将他们与其他URL(如名称、电话号码等)区分开来。我已经从所有教员名单页面中列出了所有这些关键词 为了给教员列表页面分配权重,我使用以下逻辑: 我用python创建了一个关键字生成器程序,它获取页面的URL,计算页面中每个单词的出现次数,并将其存储在python字典中,格式为name_of_Keyword:number_of_occurrences(key:value) 我在我

我试图从一堆大学Url中找出包含教员名单的页面

我已经分析了教员页面列表,每个页面都有出现在其中的关键字列表,这些关键字将他们与其他URL(如名称、电话号码等)区分开来。我已经从所有教员名单页面中列出了所有这些关键词

为了给教员列表页面分配权重,我使用以下逻辑:

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

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

  • 检查完所有URL后(完成循环后),我将主词典中每个关键字的值除以N(教员列表URL的数量)

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

  • 为了从其他页面识别教员列表页面,我使用以下逻辑:

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

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

  • 将相乘后获得的所有关键字的值相加(步骤2)

  • 如果总和超过某个阈值(通过实验和点击试验手动确定),则为教员页面

  • 即使使用此方法获得输出,它也有以下限制:

    • 我用蛮力来确定重量。它更多的是手工操作,而不是自学
    • 在寻找最小阈值方面有很多尝试和尝试
    • 该解决方案不是最优的,并且权重不能仅通过输入新的教师页面来改变。整个程序必须重新运行
    我有以下问题:

    • 我可以在当前方法中包含哪些更改
    • 是否有更优化的权重分配方法
    • 是否有任何学习算法可用于使权重分配更加自动化

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

        我正试图找出网页上有一个教师名单,从一个 一堆大学网址

        为了简化这个问题,我去掉了计算权重和和的部分,而是提出了一个算法,返回关于给定页面是否为教员页面的真/假响应


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

        谢谢您的回复!问题是,所有教员列表页面都没有相同的关键字集。一些大学在教员列表页面中有电子邮件id,而另一些大学在教员信息(即其他页面)中有提及。换句话说,每个教员列表页面都有几个关键字来区分它,这些关键字可能与其他教员列表页面重叠,也可能不重叠。因此,我觉得计算权重可能是解决这个问题的一种方法。实际上,在算法中计算权重,以确定给定页面是否为教员列表。一组权重可能对一页正确,但对另一页不正确。因为页面有如此多的差异,我会创建一个if/elif/elif/else链来检测不同类型的页面。我想做一个通用算法,这样它就可以识别任何页面。创建if/elif/else链只会将识别的页面限制为我手动分析的教员页面。他们还有其他方法吗?你在问一个开放式的问题。请提出一个更集中的问题,可以用几段话来回答。