Python 处理NLTK Stanford POS标记器输出

Python 处理NLTK Stanford POS标记器输出,python,nltk,stanford-nlp,Python,Nltk,Stanford Nlp,我正在使用NLTK Stanford Pos Tagger和我自己的模型来标记文本文件中的句子行。我的标记器的输出如下所示: sentences = [((Word,WordTag),....(Word,WordTag)] Im处理印尼语,在完成Pos标记后,Im执行2步: 停止字删除 堵塞 我在文本文件(stopword.txt)中有一个stopword列表,并对句子进行词干处理。 到目前为止,我已经完成了标记部分。我不知道如何在句子中过滤单词,如果在stopword.txt中删除单词,并在

我正在使用NLTK Stanford Pos Tagger和我自己的模型来标记文本文件中的句子行。我的标记器的输出如下所示:

sentences = [((Word,WordTag),....(Word,WordTag)]
Im处理印尼语,在完成Pos标记后,Im执行2步:

  • 停止字删除
  • 堵塞
  • 我在文本文件(
    stopword.txt
    )中有一个stopword列表,并对句子进行词干处理。 到目前为止,我已经完成了标记部分。我不知道如何在
    句子中过滤单词,如果在
    stopword.txt中删除单词,并在
    句子中干掉单词

    到目前为止,我已尝试使用以下代码删除该单词,但仍然没有删除该单词及其单词标记:

    stopWords = getStopWordList('id_stopword.txt')
    filtered_sentences = [w for w in sentences if not w in stopWords]
        filtered_sentences = []
        for w in sentences:
            if w not in stopWords:
                filtered_sentences.append(w)
    

    我必须假设函数
    getStopWordList()
    正确返回字符串列表。(你证实了吗?)

    您发布的代码不会运行,因为它有缩进错误。但是缩进的部分并不重要,因为你不需要它。很明显,它只是重复前面这行的逻辑。所以我忽略了它

    要进行筛选,您需要更改以下内容:

    filtered_sentences = [w for w in sentences if not w in stopWords]
    
    为此:

    filtered_sentences = [(w,t) for (w,t) in sentences if not w in stopWords]
    

    是的,getStopWordList()返回字符串列表。非常感谢。现在剩下的问题是堵塞。我可以用下面的代码对过滤后的句子进行词干分析吗。你的代码没有进入你的评论。可能太长了。