为字符串中的每个单词指定归因于该字符串的分数

时间:2016-12-07 17:50:25

标签: python python-3.x

我坚持这个问题的一部分。我需要阅读大约8k评论的文本文件,但它们的格式化以便于处理。句子前面的数字,例如

这部电影很有趣,写得很好。

该句子中的每个单词的得分应为3,并将其放入哈希表中,其中包含单词,分数和出现次数。

def main():
    fin = open("movieReviews.txt")
    # read lines from file one at a time
    count = 0
    for line in fin:
       # tokenize each review
        reviewToken = line.split()

        if reviewToken[0].isdigit():
            count = count + 1    

    print(count)

我只是坚持如何在一个句子中为每个单词指定句子长度不同的值。

1 个答案:

答案 0 :(得分:1)

我将它分成两个词典,一个用于分数,一个用于保持计数

with open(filename) as f:
    counts = {}
    scores = {}
    for line in f:
        i, *line = line.split()
        for word in line:
            if word not in counts:
                counts[word] = 0
            if word not in scores:
                scores[word] = 0
            count[word] += 1
            scores[word] += int(i)

通过scores模块中countsdefaultdict成为collections,您可以使其更加紧凑。