如何在Textblob python语言检测库中获得语言扩展

时间:2019-02-04 19:24:56

标签: python textblob

我需要一个语言检测脚本。我尝试了Textblob库,该库现在为我提供了该语言的两个字母缩写。如何获得完整的语言扩展?

这会检测到该语言,并用两个字母的缩写表示该语言

from textblob import TextBlob
b = TextBlob("cómo estás")
language = b.detect_language()
print(language)

实际结果:es
预期结果:西班牙语

我从此链接中获得了语言列表及其缩写。
https://developers.google.com/admin-sdk/directory/v1/languages

1 个答案:

答案 0 :(得分:1)

您使用的代码为您提供了两个字母的缩写,符合ISO 639-2国际协议。您可以查找这些对应关系的列表(例如this page,并建立一种仅输入一个并输出另一个的方法,但是鉴于您使用python进行编程,已经有人为您完成了此操作。

我推荐pycountry-用于此类任务的通用库,其中还包含许多其他标准。用于此问题的示例:

from textblob import TextBlob
import pycountry
b = TextBlob("நீங்கள் எப்படி இருக்கிறீர்கள்")
iso_code = b.detect_language()  
# iso_code = "ta"
language = pycountry.languages.get(alpha_2=iso_code)
# language = Language(alpha_2='ta', alpha_3='tam', name='Tamil', scope='I', type='L')
print(language.name)

,并按预期打印Tamil。同样适用于西班牙语:

>>> pycountry.languages.get(alpha_2='es').name
'Spanish'

以及您可能正在做的任何其他大多数语言。.