Python 字典值 split() 中无法解压太多值?

bla*_*ite 0 python text for-loop nltk python-2.7

我有一本字典,名为speech_dictwherekey是文件名,value是演讲(通常大约 10,000 个单词)。我试图找出每个单词的词干;这是通过模块中的一些功能来完成的nltk。这是我的代码:

from __future__ import print_function
from nltk.stem import *
from nltk.stem.snowball import SnowballStemmer

stemmer = SnowballStemmer("english")

spee_dict = speech_dict

for key,value in spee_dict:
    for i in value.split():
        i = stemmer.stem(i)
        i = i.decode('utf-8')
        spee_dict[key].add(i)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

ValueError: too many values to unpack

中存储了大约 900 个键speech_dict,总共需要检查大约 350 万个单词。我怎样才能做到这一点?

编辑:

好吧,Delgan 帮我添加了词干词。现在我怎样才能删除原来的词呢?

我有这个:

for key,value in spee_dict.items():
    for i in value.split():
        i_stemmed = stemmer.stem(i)
        i_stemmed = i_stemmed.decode('utf-8')
        spee_dict[key] += i_stemmed
        spee_dict[key] - I
Run Code Online (Sandbox Code Playgroud)

-Unicode 不支持该操作数。

Del*_*gan 5

如果您正在寻找字典的键和值对,则必须使用.items().

for key, value in spee_dict.items():
Run Code Online (Sandbox Code Playgroud)

如果不这样做,您只是在遍历键。因此,由于键不是元组,这会引发错误,因为您无法解压它。