IDL封装百度翻译API实现自动翻译和语种识别

本文仅提供封装后的IDL接口,不提供IDL源代码。


调用IDL接口时,需要输入开发者信息(APP ID、密钥),因为每个账号每个月都有免费额度,所以不能公开我的信息。大家可以到百度翻译API官网申请自己的账号:https://api.fanyi.baidu.com/

封装后的IDL接口提供2个函数,功能分别为文本翻译语种识别。其中,文本翻译包含通用文本翻译领域翻译。如果希望调用功能,需要申请开通对应的服务(https://api.fanyi.baidu.com/choose)。如下图为我个人账号开通的服务。

下载接口

下载baidu_fanyi.sav文件,链接:https://pan.baidu.com/s/1HMXE2phC2H8lKHIgfQWN4w?pwd=envi

 

文本翻译

接口说明

包含通用文本翻译领域翻译

语法格式

result = baidu_fanyi(input, output [, from=string], to=string, appid=string, key=string [, domain=string] [, timeout=value] [, /gb2312])

返回值

    • result:返回0或1。0表示翻译失败,1表示翻译成功。

参数

    • input:输入文本(字符串),支持输入数组。
    • output:输出翻译结果(如果翻译失败,则输出错误消息)

关键字 

关键字

数据类型

是否必填

说明

备注

from

字符串

源语言。默认为auto,即自动检测

见下图“常见语种列表”

to

字符串

翻译目标语言

appid

字符串

APPID。需在官网申请开发者账号

可在官网“管理控制台”查看

key

字符串

密钥。需在官网申请开发者账号

domain

字符串

领域翻译。若不输入,则进行通用文本翻译

见下图“domain领域支持范围”

timeout

整型值

超时时间。单位秒,默认为10

 

gb2312

布尔型

返回编码为GB2312的翻译结果。仅支持Windows系统

默认为UTF-8

 

图:常见语种列表(用于设置from和to关键字)

 

图:domain领域支持范围(用于设置domain关键字)

调用示例

将下载的baidu_fanyi.sav文件存放在英文路径中,比如C:\temp。

通用文本翻译(英译中)

;导入接口

IDL> restore, 'C:\temp\baidu_fanyi.sav'

 

;通用文本翻译(英译中)

IDL> result = baidu_fanyi(['hello','world'], output, to='zh', appid='输入自己的APPID', key='输入自己的密钥')

 

;打印翻译结果

IDL> print, result

           1

IDL> print, output, /implied_print

你好

世界

 

通用文本翻译(中译英)

;导入接口

IDL> restore, 'C:\temp\baidu_fanyi.sav'

 

;待翻译文本

IDL> input = ['7月哈尔滨站培训班正在报名中,', '欢迎大家来参加。']

 

;通用文本翻译(中译英)

IDL> result = baidu_fanyi(input, output, to='en', appid='输入自己的APPID', key='输入自己的密钥')

 

;打印翻译结果

IDL> print, result

           1

IDL> print, output, /implied_print

The training class for Harbin Station in July is currently being registered,

Welcome everyone to participate.

 

领域翻译(英译中,设置domain关键字)

;导入接口

IDL> restore, 'C:\temp\baidu_fanyi.sav'

 

;待翻译文本

IDL> input = ['ENVI Deep Learning is a separate add-on module for ENVI.', 'Its purpose is to train deep learning models using TensorFlow to identify features in an image based on their spatial and spectral properties.']

 

;领域翻译(英译中,domain=it表示信息技术领域)

IDL> result = baidu_fanyi(input, output, to='zh', appid='输入自己的APPID', key='输入自己的密钥', domain='it')

 

;打印翻译结果

IDL> print, result

           1

IDL> print, output, /implied_print

ENVI深度学习是ENVI的一个单独的附加模块。

其目的是使用TensorFlow训练深度学习模型,以基于图像的空间和光谱特性来识别图像中的特征。

 

语种识别

接口说明

语法格式

result = baidu_language(input, output, appid=string, key=string [, timeout=value])

返回值

    • result:返回0或1。0表示识别失败,1表示识别成功。

参数

    • input:输入文本(字符串),支持输入数组。
    • output:输出识别结果(如果识别失败,则输出错误消息)。

关键字

关键字

数据类型

是否必填

说明

备注

appid

字符串

APPID。需在官网申请开发者账号

可在官网“管理控制台”查看

key

字符串

密钥。需在官网申请开发者账号

timeout

整型值

超时时间。单位秒,默认为10

 

 

调用示例

将下载的baidu_fanyi.sav文件存放在英文路径中,比如C:\temp。

语种识别

;导入接口

IDL> restore, 'C:\temp\baidu_fanyi.sav'

 

;语种识别(识别英语)

IDL> result = baidu_language(['hello','world'], output, appid='输入自己的APPID', key='输入自己的密钥')

 

;打印识别结果

IDL> print, result

           1

IDL> print, output

en

 

posted @ 2024-06-26 09:51  ENVI-IDL技术殿堂  阅读(111)  评论(0编辑  收藏  举报