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

Jas*_*ion 12 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支持的语言列表?是否还有其他可以添加的停用词列表?是否有一个文档化的方法可以用来创建添加我自己的禁用词列表?

tri*_*eee 6

谷歌搜索"罗马尼亚词汇"带来了大量的资源.

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

自动构建信息检索系统的停用词列表(Rachel Tsz-Wai Lo,Ben He,Iadh Ounis;格拉斯哥大学,2008)(PDF)文档是一种查找停用词的自动方法.我没有看过方法或结果.

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

  • 为了澄清,我所要做的就是将每行包含一个单词的名为"romanian"的文件复制到我的NLTK数据目录中,然后NLTK将其拾起并开始使用它.在我的情况下它是〜/ nltk_data/corpora/stopwords / (2认同)