【Python】みんなの自動翻訳@TexTra®の使い方

11/16/2022

Python

t f B! P L

みんなの自動翻訳@TexTra®について

みんなの自動翻訳@TexTra®は国立研究開発法人情報通信研究機構(NICT)が開発した最近話題の翻訳サービスで、 DeepLやみらい翻訳等の別サービスと比較してもかなり質がよく、APIが無料で使えるという点が素晴らしいです。

問題点としては、ログインしないとサービスそのものが使えないことです。これでは使いたいときにサッと使えないので改善してほしいです。 また、他サービスと比較して少し翻訳速度が遅い気がします。 

それでも翻訳の精度は非常によく、使わないともったいないサービスだと思います。

試しにWeb上で使ってみる

まずは試しに翻訳をしてみます。トップページを開き、 左側にあるサイトにユーザー登録して翻訳機能を使ってみるを選択して、アカウント登録をします。

アカウント登録後、ログインしたままの状態で、自動翻訳(ロボットのマーク)をクリックしてWeb上で翻訳をすることができます。

ためしに翻訳してみました。惜しい部分もありますがなかなか良いと思います。

PythonでWeb APIを使う

API keyとAPI secretの発行

ログインした状態で、WebAPI(雲のマーク)をクリックします。

自動翻訳リクエストより一覧を選択します。

言語の一覧が表示されるので、必要なものをAPI欄のiマークをクリックします。
今回は汎用NT 【英語 - 日本語】を選択しました。

すると、リクエストURLAPI keyAPI secretが表示されます。 忘れずにメモしておきましょう。

Pythonで実行

Python環境が構築されていることを前提とします。 APIのアクセスにはOAuthを使用する必要があります。今回はrequests_oauthlibを使用します。

pipを使用して、requestsとrequests_oauthlibをインストールします。

pip install requests requests_oauthlib

Pythonコードの例です。{ここに〇〇を入力}のところに先ほどメモしたKeyなどを入力してください。

import requests
from requests_oauthlib import OAuth1

name = '{ここにユーザー名を入力}'
api_key = '{ここにAPI Keyを入力}'
api_secret = '{ここにAPI Secretを入力}'

url = '{ここにURLを入力}'

# 翻訳したいテキストを入力
text = """
I am a cat. I don't have a name yet.
I have no idea where I was born. All I remember is that I used to cry in a dimly lit, damp place.
"""

data = {
'key': api_key,
'name': name,
'type': 'json',
'text': text,
'split' : '0',
'history' : '2',
}

result = requests.post(url, data=data, auth=OAuth1(api_key, api_secret)).json()

print(result['resultset']['result']['text'])

うまいこと翻訳することができました。

まとめ

今回は巷で話題の高性能翻訳サービスのAPIをPythonから使ってみました。
そのうち、この翻訳サービスを使ったブラウザアドオン等、作ってみようかと思います。