Python 结构复杂的词干词

Python 结构复杂的词干词,python,nltk,Python,Nltk,我有一个元组列表。这些元组包含一个标签和一个列表。看起来是这样的: [('neg', ['watching', 'by', 'myself', 'tweetdebate', 'not', ...]), ('pos', ['here', 'we', 'go', 'tweetdebate', 'tweetdebate', ...])] 这是可以接受的 for label, words in labeled_words: 我怎样才能使这些单词变为小写词干呢 我猜在循环中是这样的(词干分析器是Por

我有一个元组列表。这些元组包含一个标签和一个列表。看起来是这样的:

[('neg', ['watching', 'by', 'myself', 'tweetdebate', 'not', ...]), ('pos', ['here', 'we', 'go', 'tweetdebate', 'tweetdebate', ...])]
这是可以接受的

for label, words in labeled_words:
我怎样才能使这些单词变为小写词干呢

我猜在循环中是这样的(词干分析器是PorterStemmer()):

这不起作用:

labeled_words = [( label, [stemmer.stem(word.lower()) for words]) for label, words in labeled_words ]

谢谢您的时间。

这主要是一个“如何使用循环和变量”的问题。最重要的是不要试图修改您正在迭代的列表。相反,建立一个新的列表

我想这就是你想要的:

labeled_words = [('neg', ['watching', 'by', 'myself', 'tweetdebate', 'not']), ('pos',     ['here', 'we', 'go', 'tweetdebate', 'tweetdebate'])]
stemmedWords = []
for label, words in labeled_words:
    stemmed = []
    for word in words:
        stemmed.append(porter2.stem(word))
    stemmedWords.append((label,stemmed))
输出如下所示:

>>> stemmedWords
[('neg', ['watch', 'by', 'myself', 'tweetdeb', 'not']), ('pos', ['here', 'we', 'go', 'tweetdeb', 'tweetdeb'])]

这主要是一个“如何处理循环和变量”的问题。最重要的是不要试图修改您正在迭代的列表。相反,建立一个新的列表

我想这就是你想要的:

labeled_words = [('neg', ['watching', 'by', 'myself', 'tweetdebate', 'not']), ('pos',     ['here', 'we', 'go', 'tweetdebate', 'tweetdebate'])]
stemmedWords = []
for label, words in labeled_words:
    stemmed = []
    for word in words:
        stemmed.append(porter2.stem(word))
    stemmedWords.append((label,stemmed))
输出如下所示:

>>> stemmedWords
[('neg', ['watch', 'by', 'myself', 'tweetdeb', 'not']), ('pos', ['here', 'we', 'go', 'tweetdeb', 'tweetdeb'])]

我不确定你在问什么,因为我不确定
stemmer.stem
应该做什么。您希望输入和输出的示例是什么?正如@Joey Lesh的示例stemmer.stem应该在标记的单词中对每个单词进行词干处理。作为python新手编辑:正如@Joey Lesh的示例stemmer.stem应该在带标签的单词中为每个单词添加词干。作为python新手,我没有注意到值的不变性。我需要做一个需要的。谢谢你的时间。我不知道你在问什么,因为我不知道
stemmer.stem
应该做什么。您希望输入和输出的示例是什么?正如@Joey Lesh的示例stemmer.stem应该在标记的单词中对每个单词进行词干处理。作为python新手编辑:正如@Joey Lesh的示例stemmer.stem应该在带标签的单词中为每个单词添加词干。作为python新手,我没有注意到值的不变性。我需要做一个需要的。谢谢你抽出时间。