Python中的民族智能词干/ lematizing

时间:2017-02-03 15:07:25

标签: python nltk stemming lemmatization

我正在使用Python,我想找到一些词的根源,主要是指国家。一些证明我需要的例子是:

  • 西班牙语应该给我西班牙语。
  • 英语应该给我英格兰。
  • 美国人应该给我美国。
  • 尼日利亚应该给我尼日利亚。
  • 希腊人(复数)应该给我希腊。
  • 波多黎各人(复数)应该给我波多黎各。
  • 葡萄牙语应该给我葡萄牙。

我使用NLTK模块的Porter,Lancaster和Snowball编码器进行了一些实验。但Porter和Snowball根本不会改变令牌,而兰开斯特则过于咄咄逼人。例如,美国人的兰卡斯特词干是#34; Am&#34 ;,这是非常糟糕的屠杀。我也用WordNet lemmatizer玩了一些,但没有成功。

有没有办法获得上述结果,即使它只适用于国家?

1 个答案:

答案 0 :(得分:0)

您可能想要查看Unicode的CLDR(公共区域设置数据存储库): http://cldr.unicode.org/

它包含可能有用的地区和语言列表,因为您可以使用共享的标准ISO 639代码(en,de,fr等)将它们映射到一起。

这是一个有用的JSON存储库:

https://github.com/unicode-cldr/cldr-localenames-full/tree/master/main/en

查看 territories.json languages.json 文件。