Smart stemming/lemmatizing in Python 民族
Smart stemming/lemmatizing in Python for Nationalities
我正在与 Python 合作,我想找到一些主要指国家的词的词根。一些证明我需要的例子是:
- 西班牙语应该给我西班牙。
- English should give me England.
- 美国人应该给我美国。
- 尼日利亚应该给我尼日利亚
- Greeks(复数)应该给我 Greece。
- 波多黎各人(复数)应该给我波多黎各。
- 葡萄牙语应该给我葡萄牙。
我对 NLTK 模块的 Porter、Lancaster 和 Snowball 词干提取器进行了一些试验。但是波特和雪球根本不换代币,而兰开斯特太激进了。比如American的Lancaster词干是"Am",很烂butchered.I 也用WordNet lemmatizer玩过一些,没成功。
有没有办法得到上述结果,即使它只适用于国家?
您可能想查看 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 文件。
我正在与 Python 合作,我想找到一些主要指国家的词的词根。一些证明我需要的例子是:
- 西班牙语应该给我西班牙。
- English should give me England.
- 美国人应该给我美国。
- 尼日利亚应该给我尼日利亚
- Greeks(复数)应该给我 Greece。
- 波多黎各人(复数)应该给我波多黎各。
- 葡萄牙语应该给我葡萄牙。
我对 NLTK 模块的 Porter、Lancaster 和 Snowball 词干提取器进行了一些试验。但是波特和雪球根本不换代币,而兰开斯特太激进了。比如American的Lancaster词干是"Am",很烂butchered.I 也用WordNet lemmatizer玩过一些,没成功。
有没有办法得到上述结果,即使它只适用于国家?
您可能想查看 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 文件。