【问题标题】:NLTK available languages for stopwordsNLTK 可用于停用词的语言
【发布时间】:2019-07-01 14:24:18
【问题描述】:

我想知道在哪里可以找到 NLTK 停用词支持的语言(及其键)的完整列表。

我在https://pypi.org/project/stop-words/ 中找到了一个列表,但它不包含每个国家/地区的密钥。因此,尚不清楚您是否可以通过简单的stopwords.words("Bulgarian") 检索列表。事实上,这会引发错误。

我查看了 NLTK 站点,有 4 个文档与“停用词”匹配,但没有一个文档描述了这一点。 https://www.nltk.org/search.html?q=stopwords&check_keywords=yes&area=default

他们的书中什么也没说: http://www.nltk.org/book/ch02.html#stopwords_index_term

那么,你知道我在哪里可以找到密钥列表吗?

【问题讨论】:

  • 程序员相信语言的谎言:“语言”与“国家”有某种联系。不知何故,在美国使用的语言包括英语、西班牙语、纳瓦霍语、切罗基语等这一事实并没有被注册,更不用说没有名为“比利时语”或“伯利兹语”的语言了。

标签: python nlp nltk stop-words


【解决方案1】:

当您使用以下方法导入停用词时:

from nltk.corpus import stopwords
english_stopwords = stopwords.words(language)

您正在根据 fileid(语言)检索停用词。为了查看所有可用的停用词语言,您可以使用以下方法检索文件 ID 列表:

from nltk.corpus import stopwords
print(stopwords.fileids())

在 nltk v3.4.5 的情况下,这将返回 23 种语言:

['arabic', 
 'azerbaijani', 
 'danish', 
 'dutch', 
 'english', 
 'finnish', 
 'french', 
 'german', 
 'greek',
 'hungarian', 
 'indonesian', 
 'italian', 
 'kazakh', 
 'nepali', 
 'norwegian', 
 'portuguese', 
 'romanian', 
 'russian', 
 'slovene', 
 'spanish', 
 'swedish', 
 'tajik', 
 'turkish']

【讨论】:

    【解决方案2】:
    os.listdir('/root/nltk_data/corpora/stopwords/')
    
    ['hungarian',
     'swedish',
     'kazakh',
     'norwegian',
     'finnish',
     'arabic',
     'indonesian',
     'portuguese',
     'turkish',
     'azerbaijani',
     'slovene',
     'spanish',
     'danish',
     'nepali',
     'romanian',
     'greek',
     'dutch',
     'README',
     'tajik',
     'german',
     'english',
     'russian',
     'french',
     'italian']
    

    【讨论】:

    • downvoted:这种方法不跨平台,也不兼容环境。
    • 这不是一个好方法。另外,README 不是一种语言。
    【解决方案3】:

    首先检查你是否下载了nltk包。
    如果没有,您可以使用以下方式下载它:

    import nltk
    nltk.download()
    

    在此之后,您可以在以下路径中找到停用词语言文件。

    C:/Users/username/AppData/Roming/nltk_data/corpora/stopwords
    

    它支持21种语言(我几天前安装了nltk,所以这个数字必须是最新的)。您可以在

    中将文件名作为参数传递

    nltk.corpus.stopwords.words('langauage')

    【讨论】:

    • 太棒了!谢谢,我不知道位置。我可以使用某些语言,但不能使用其他语言:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-17
    • 2022-09-30
    • 1970-01-01
    • 2016-06-19
    • 2014-05-10
    • 2019-01-12
    • 1970-01-01
    相关资源
    最近更新 更多