如何在python中创建术语文档

时间:2018-11-02 14:22:59

标签: python machine-learning information-retrieval imdb inverted-index

我从imdb数据集中获得了16000条记录

Movie_Name         Synops 
Alien Predator     ['great','17th', 'abigail', 'by', 'century', 'is']
Shark Exorcist     ['demonic', 'devil', 'great', 'hell', 'holy', 'nun']
Jurassic Shark     ['abandoned', 'an', 'and', 'beautiful', 'abigail',]

我不知道如何为Synops列中的每个单词制作术语文档

"great": Alien Predator,Shark Exorcist
"17th"  :Alien Predator
"abigail":Alien Predator,Jurassic Shark
.....

2 个答案:

答案 0 :(得分:0)

首先将其放入字典或JSON中。一旦有了。

dataset = {
"Alien Predator":['great','17th', 'abigail', 'by', 'century', 'is'],
"Shark Exorcist":['demonic', 'devil', 'great', 'hell', 'holy', 'nun'],
"Jurassic Shark":['abandoned', 'an', 'and', 'beautiful', 'abigail',],
}

您可以从此处轻松查询值。

search_word = "great"
d = [movie for movie, synops in dataset.items() if search_word in synops]

回馈['Alien Predator', 'Shark Exorcist']

您可以将它们添加到词典中以获得完整的结果。

final_dict = {}
final_dict[search] = d

那应该给你。

>>> final_dict
{'great': ['Alien Predator', 'Shark Exorcist']}

现在,您可以使用一些for循环和所需关键字列表来实现相同功能,然后自己完成任务。

答案 1 :(得分:0)

data = {
    "Alien Predator": ['great','17th', 'abigail', 'by', 'century', 'is'],
    "Shark Exorcist": ['demonic', 'devil', 'great', 'hell', 'holy', 'nun'],
    "Jurassic Shark": ['abandoned', 'an', 'and', 'beautiful', 'abigail',]
}

result = {}
for movie_name, keywords in data.items():
    for keyword in keywords:
        result.setdefault(keyword, []).append(movie_name)
print(result)

结果(为清楚起见添加了换行符):

{
'great': ['Alien Predator', 'Shark Exorcist'], 
'17th': ['Alien Predator'], 
'abigail': ['Alien Predator', 'Jurassic Shark'], 
'by': ['Alien Predator'], 
'century': ['Alien Predator'], 
'is': ['Alien Predator'], 
'demonic': ['Shark Exorcist'], 
'devil': ['Shark Exorcist'], 
'hell': ['Shark Exorcist'], 
'holy': ['Shark Exorcist'], 
'nun': ['Shark Exorcist'], 
'abandoned': ['Jurassic Shark'], 
'an': ['Jurassic Shark'],
'and': ['Jurassic Shark'], 
'beautiful': ['Jurassic Shark']
}