• 看看咱是如何用MATLAB白嫖遥遥领先于同行的神仙级翻译工具 — DeepL


    伙伴们不用惊讶,标题仅仅是借用余大嘴的专用修饰语“遥遥领先于同行”而已,但讲DeepL翻译器遥遥领先于同行也不为过,下图是官方给出的采用盲测的方式与其他同类产品的对比图,这应该不是吹牛X:
    图1 DeepL与其他大厂翻译效果测评 (来源: deepl.com/quality.html)如此优秀的翻译神器,怎能有不用MATLAB白嫖一下的道理呢?

    动手吧!

    令人遗憾的是DeepL在亚洲仅开放了日本和新加坡这两个国家的用户可公开调用其API,而咱们即便是付费也够不着,当然大厂除外了。不过话说条条道路通罗马,此路不通就另辟蹊径呗。

    怎么另辟蹊径法呢?这里咱们需要用到一款名叫RapidAPI平台,通过它咱们可以轻松地实现对DeepL API的调用,下面就一起来看看整个注册和调用流程吧!

    首先,在浏览器中网址:rapidapi.com,点击sign in登录,选择使用GitHub账号登录即可。如果没有GitHub账号,就选择sign up使用邮箱注册一个账号登录即可。

    登录之后,点击菜单栏上API Hub,如果没有此选项直接在浏览器中输入:rapidapi.com/hub,亦可,并在Search for APIs的查询栏里输入deepl,选择第一个候选项即可,如下图:
    在这里插入图片描述点击进入DeepL Translator设置页面,如下:
    在这里插入图片描述选则basic即可,此处部署需要准备一张可用的VISA卡,且卡中余额不等少于0.5美元,因为rapidapi会先扣除0.5美元以测试信用卡是否可用,7天后若没有用光免费限额,将退还扣除的0.5美元。

    然后点击Endpoints找到对应编程语言选择相应的示例代码即可测试,相应的X-RapidAPI-Key会直接显示在示例代码中,调用时直接用此Key即可。但遗憾的是并没matlab的示例代码,因此咱才计划自己写一个,源代码如下:

    %% Web Access using Data Import and Export API
    
    apiKey     = ''; % 此处为你自己的APIkey
    
    payload.text   = 'This is a example text for translation.'; % 待翻译内容
    payload.source = 'EN';                  % text所对应的语言简写,当前为英文
    payload.target = 'ZH';                  % 待翻译成的语言简写,当前为中文
    
    %% 以下内容无需做过多修改
    url        = 'https://deepl-translator.p.rapidapi.com/translate';
    apiHost    = 'deepl-translator.p.rapidapi.com';
    
    options    = weboptions('RequestMethod','post',...
        'ContentType','json',...
        'HeaderFields',{'content-type','application/json';...
        'X-RapidAPI-Host',apiHost;...
        'X-RapidAPI-Key',apiKey});
    
    try
        outputs    = webwrite(url,payload,options);
        if isfield(outputs,'error')
            outputs = [];
        else
            disp('翻译结果如下:');
            disp(outputs.text);
            len = size(outputs.alternative_texts,1);
            if ~isequal(len,0)
                disp('其他备选翻译结果如下:');
                for k = 1:len
                    disp(outputs.alternative_texts{k,1});
                end
            end
        end
    
    catch
        outputs    = [];
    end
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37

    执行效果图如下:
    在这里插入图片描述今天的分享就到此结束,后续再整个用AppDesigner开发的GUI版。

    祝伙伴们生活、工作愉快,有缘再见!!!

    参考资料:
    [1] www.deepl.com
    [2] rapidapi.com/splintPRO/api/deepl-translator

  • 相关阅读:
    Window 窗口函数 (Spark Sql)
    域渗透 | kerberos认证及过程中产生的攻击
    Protocol Buffers定义消息类型
    Spring在多线程环境下如何确保事务一致性
    【考研数学】概率论与数理统计 —— 第六章 | 数理统计基本概念(2,三个重要的抽样分布)
    uniapp heckbox-group实现多选
    编译器优化丨Cache优化
    【Golang星辰图】图像和多媒体处理的创新之路:Go语言的无限潜能
    Python图像处理算法实战【1】超详细整理 | 新手入门实用指南 | 图像处理基础
    前端工程化之模块化基础
  • 原文地址:https://blog.csdn.net/rz1314/article/details/128102641