Python 处理NLTK Stanford POS标记器输出
我正在使用NLTK Stanford Pos Tagger和我自己的模型来标记文本文件中的句子行。我的标记器的输出如下所示: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中删除单词,并在
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()返回字符串列表。非常感谢。现在剩下的问题是堵塞。我可以用下面的代码对过滤后的句子进行词干分析吗。你的代码没有进入你的评论。可能太长了。