2014-01-26 25 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

相關問題