我正在使用带有停用词的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支持的语言列表?是否还有其他可以添加的停用词列表?是否有一个文档化的方法可用于创建添加我自己的禁用词列表?
答案 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似乎有一个实现。 (评论的其他名称不是文章;不确定是什么。)