IDL封裝百度翻譯API實現自動翻譯和語種識別

ENVI-IDL技术殿堂發表於2024-06-26

本文僅提供封裝後的IDL介面,不提供IDL原始碼。


呼叫IDL介面時,需要輸入開發者資訊(APP ID、金鑰),因為每個賬號每個月都有免費額度,所以不能公開我的資訊。大家可以到百度翻譯API官網申請自己的賬號:https://api.fanyi.baidu.com/

封裝後的IDL介面提供2個函式,功能分別為文字翻譯語種識別。其中,文字翻譯包含通用文字翻譯領域翻譯。如果希望呼叫功能,需要申請開通對應的服務(https://api.fanyi.baidu.com/choose)。如下圖為我個人賬號開通的服務。

IDL封裝百度翻譯API實現自動翻譯和語種識別

下載介面

下載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

IDL封裝百度翻譯API實現自動翻譯和語種識別

圖:常見語種列表(用於設定from和to關鍵字)

IDL封裝百度翻譯API實現自動翻譯和語種識別

圖: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

相關文章