如何在NLTK中为停用词添加更多语言?

时间:2014-01-26 18:58:28

标签: python nlp nltk stop-words

我正在使用带有停用词的NLTK,使用Alejandro Nolla在http://blog.alejandronolla.com/2013/05/15/detecting-text-language-with-python-and-nltk/描述的方法来检测文档的语言,并且它运行得相当好。

我还在使用NLTK停用词包中未包含的一些其他语言,例如捷克语和罗马尼亚语,并且它们会像其他语言一样得到错误的匹配。这些是停用词中的语言:

['danish','dutch','english','finnish','french','german','hungarian','italian','norwegian','portuguese','russian','spanish ','瑞典','土耳其']

如何扩展NLTK支持的语言列表?是否还有其他可以添加的停用词列表?是否有一个文档化的方法可用于创建添加我自己的禁用词列表?

1 个答案:

答案 0 :(得分:6)

谷歌搜索“罗马尼亚词汇”会带来大量资源。

如果您想自己这样做,您只需找到所有类型的文字中常见的单词。 (你链接到的文章对停止词是什么有一个相当差的解释。)好的候选人是文章,粒子(如果你的语言有它们,它们是孤立的),连词,代词和某些类型的副词。

Automatically Building a Stopword List for an Information Retrieval System (Rachel Tsz-Wai Lo, Ben He, Iadh Ounis; University of Glasgow, 2008)(PDF)记录了一种查找停用词的自动方法。我没有看过方法或结果。

https://github.com/berkmancenter/mediacloud/blob/master/script/mediawords_generate_stopwords.pl似乎有一个实现。 (评论的其他名称不是文章;不确定是什么。)