iT邦幫忙

2021 iThome 鐵人賽

DAY 13
0
AI & Data

我不太懂 AI,可是我會一點 Python 和 Azure系列 第 13

Day 13 Azure cognitive service: Translator- 讓 Azure 幫你翻譯

Azure cognitive service: Translator- 讓 Azure 幫你翻譯

Translator 是 Azure 提供的雲端翻譯服務,可以透過 REST API 翻譯字串。

申請 Azure 翻譯工具

  1. 進入https://portal.azure.com/#home
  2. 點選建立資源

  1. 搜尋並選擇 translator


4. 自行命名。
5. 找到可以選擇定價層 Free F0 的區域,並選擇 Free F0。

  1. 給予標籤
  2. 檢閱 + 建立

金鑰與端點

  • 進入https://portal.azure.com/#home
  • 點選所有資源。
  • 點選剛剛建立的翻譯工具 translator。
  • 點選金鑰與端點
  • 複製金鑰
  • 複製文字翻譯的 Web API: https://api.cognitive.microsofttranslator.com/

還有另一個文件翻譯的 API,其實也能做到文字翻譯的功能,但其主要功能是翻譯文件,可以把放在 Azure blob 的文件翻譯後,存入Azure blob。

示範程式

這邊就相對簡單了,利用requests套件對 translator API 傳送需要翻譯的字串。


import requests    

string = "무엇을 합니까?"

TRANS_KEY = "YOUR TRANSLATOR SUBSCRIPTION KEY"
trans_url = "https://api.cognitive.microsofttranslator.com/translate"

params = {"api-version": "2.0", "to": ["zh-Hant"]}

headers = {
    "Ocp-Apim-Subscription-Key": TRANS_KEY,
    "Content-type": "application/json",
    "Ocp-Apim-Subscription-Region": "eastus2",
}

# 字串需要包成 dict ,可以把不同的字串分別包裝成 dict,放入 list 之中 

body = [{"text": string}]

req = requests.post(trans_url, params=params, headers=headers, json=body)
response = req.json()

ans = []
for i in response:
    ans.append(i["translations"][0]["text"])
language = response[0]["detectedLanguage"]["language"]

print("language is {}".format(language))
print("translation is {}".format(ans))

印出的結果為:

language is ko
translation is 做什麼?

我一開始是想隨便找首韓文歌的歌詞,試著翻譯看看,但怎麼翻譯都怪怪的,於是問問我家的韓文系書券。她說,歌詞比較像詩,有些歌詞的意思不是字面上的翻譯,需要稍微轉個彎,才是作詞者的意思,就算是她看得時候也得稍微想一下。好吧~~不要為難 Azure。


翻譯完,知道意思了,還可以再更進一步,讓 Azure 教你怎麼念!下一篇,介紹 Text-to-Speech 。


上一篇
Day 12 Azure cognitive service: OCR- 光學字元辨識
下一篇
Day 14 Azure cognitive service: Text-to-Speech- Azure 唸給你聽
系列文
我不太懂 AI,可是我會一點 Python 和 Azure30

尚未有邦友留言

立即登入留言