2014-01-26 26 views
8

我使用带停用词的NLTK来检测文档的语言,使用Alejandro Nolla在http://blog.alejandronolla.com/2013/05/15/detecting-text-language-with-python-and-nltk/中描述的方法,它的工作原理合理。如何在NLTK中为停用词添加更多语言?

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

['丹麦语','荷兰语','英语','芬兰语','法语','德语','匈牙利语','意大利语','挪威语','葡萄牙语','russian','西班牙语','瑞典语','土耳其语']

如何扩展NLTK支持的语言列表?是否有其他可用的停用词表可供添加?是否有一个记录的方法,我可以用来创建一个添加我自己的停用词表?

+1

如果有人会发现它有用,我使用我现已解散的项目的额外的停用词列表可在Github上免费获得:https ://github.com/Xangis/extra-stopwords –

回答

5

谷歌搜索“罗马尼亚停用词”带来了很多资源。

如果你想自己做这个,你只需要找到所有类型的文本中常见的单词。 (你链接的文章对停用词的解释比较差。)优秀的候选人是文章,粒子(如果你的语言有它们,它们是孤立的),连词,代词和某些类型的副词。

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似乎有一个实现。 (该评论有其他名称比文章,不知道这是怎么回事)

+1

切线,http://www.enroweb.com/IMG/pdf/StopwordList_preprint.pdf的第2部分有一段很好的一段历史摘要。 – tripleee

+0

谢谢,这得到了问题的第二部分。任何想法如何去编辑/改变NLTK中的内容? –

+1

如果是https://github.com/mhawthorne/antonym/tree/master/lib/nltk-data/corpora/stopwords它只是一个简单的文本文件,每行一个字,文件名就是语言。 (这是某人的克隆,我猜,但是懒得追捕主人。此外,自述文件指出它是从另一个项目复制的。) – tripleee

相关问题