将混乱的单词减少为单词种子

时间:2017-04-24 04:35:50

标签: python api seed

例如,spotify API歌曲类型:

['alternative rock', 'comic', 'funk rock', 'garage rock', 'indie rock', 'pop rock', 'post-grunge', 'rock']   

['g funk', 'gangster rap', 'hip hop', 'pop rap', 'rap', 'west coast rap']   

['canadian pop', 'dance pop', 'pop', 'pop christmas']      

三个列表代表三种歌曲的类型。但是这种类型看起来相当混乱,我可以很容易地提取" "流派种子",即三首歌

rock
rap
pop
分别

我怎样才能将这些混乱的单词减少为单词种子? THX

1 个答案:

答案 0 :(得分:1)

好吧,如果你有一个种子列表,我们可以,例如,计算一个种类中每个种子的出现次数,并返回一个最大权重的种子。 假设种子列表被称为“种子”,而种类列表被称为“种类”。我们应该交叉检查所有种子类型组合,并增加一些结构的重量。

def max_seed_return (seeds, genres):
    # appending weigths to dictionary
    weights= {seed:0 for seed in seeds}
    for genre in genres:
        for seed in seeds:
            if seed in genre:
            weights[seed]+=1
    max_weight, result = 0, None
    # getting result genre with biggest weigth
    for seed, seed_weight in weights.items:
        if seed_weight>max_weight:
            max_weight=seed_weight
            result=seed
    #returns it or None if no seeds is found in genres
    return result