nltk.word_tokenize 和 nltk.pos_tag 支持哪些语言

Mic*_*ael 12 nlp nltk

我需要对多种语言的文本进行名称实体提取:西班牙语、葡萄牙语、希腊语、捷克语、中文。

是否有这两个函数所有支持的语言的列表?有没有一种方法可以使用其他语料库来包含这些语言?

小智 14

NLTK 分词器支持的语言列表如下:

  • “捷克”
  • “丹麦语”
  • “荷兰语”
  • '英语'
  • “爱沙尼亚语”
  • '芬兰'
  • '法语'
  • '德语'
  • '希腊语'
  • “意大利语”
  • '挪威'
  • '抛光'
  • '葡萄牙语'
  • '俄语'
  • '斯洛文尼亚',
  • '西班牙语'
  • '瑞典'
  • '土耳其'

它对应于存储在 C:\Users\XXX\AppData\Roaming\nltk_data\tokenizers\punkt 中的 pickles(在 Windows 中)。这是您在标记化时使用“语言”键输入的内容,例如

nltk.word_tokenize(text, language='italian')
Run Code Online (Sandbox Code Playgroud)


Suz*_*ana 4

默认情况下,这两个函数仅支持英文文本。它实际上并没有在文档中,但您可以通过查看源代码来看到它:

  1. pos_tag()函数从此文件加载标记器: 'taggers/maxent_treebank_pos_tagger/english.pickle'。(看这里

  2. word_tokenize()函数使用 Treebank 分词器,它使用正则表达式对文本进行分词,如(英语)Penn Treebank 语料库中一样。(看这里