如何使用 python 为关键字分配权重

How to assign weights to keywords using python

有HTML个标签归类的关键词,需要给标签赋权,分别计算每个关键词的总权重。

H1 tag keywords: ['jquery']
    
H2 tag keywords:['aws', 'jquery']

p tag keywords:['country', 'jquery', 'aws']

需要为标签分配权重(示例格式)

H1 - 10
H2 -  5
p  -  3

从关键字中获取计算权重(只需要总计)

jquery  : 10 + 5 + 3 = 18
aws     : 5 + 3 = 8
country : 3 = 3

有很多不同的方法可以解决这个问题,虽然这不是最优雅的方法,但如果我们假设您有不同的 h1、h2 和 p 列表,您可以执行以下操作:

h1list = [e.text for e in soup.find_all('h1')]
h2list = [e.text for e in soup.find_all('h2')]
plist = [e.text for e in soup.find_all('p')]

weightsdict = { 'h1': 10, 'h2': 5, 'p':3 }
stringtoeval = ['jquery', 'aws', 'country']

for s in stringtoeval:
     print(s, weightsdict['h1']*h1list.count(s)+weightsdict['h2']*h2list.count(s)+weightsdict['p']*plist.count(s))