Python for Nationalities 中的智能词干/词形还原



我正在使用Python,我想找到一些词的词根,主要指国家。一些演示我需要的东西的例子是:

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

我已经对NLTK模块的Porter,Lancaster和Snowball词干进行了一些实验。但波特和雪球根本不会改变代币,而兰开斯特则过于激进。例如,美国的兰开斯特词干是"Am",这是相当糟糕的屠宰。我也用WordNet词形还原器玩过一些,但没有成功。

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

您可能想查看 Unicode 的 CLDR(Common Locale Data Repository):http://cldr.unicode.org/

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

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

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

查看那里的 territory.jsonlanguages.json 文件。

最新更新