【问题标题】:How to get language expansion in Textblob python language detection library如何在 Textblob python 语言检测库中获得语言扩展
【发布时间】:2019-02-04 19:24:56
【问题描述】:

我需要一个语言检测脚本。我尝试了 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

【问题讨论】:

    标签: python textblob


    【解决方案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'
    

    可能还有你在做的任何事情都会遇到的大多数其他语言..

    【讨论】:

    • 太棒了!感谢分享
    • 它显示错误消息:文件“C:\Users\makta\anaconda3\lib\urllib\request.py”,第 649 行,在 http_error_default 中引发 HTTPError(req.full_url, code, msg, hdrs , fp) HTTPError: Not Found
    • @tursunWali 似乎问题出在 textblob,and is reported here。您可以尝试改用另一个翻译库,它可能有类似的detect_language() 方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-30
    • 1970-01-01
    • 2015-01-29
    相关资源
    最近更新 更多