みんなの自動翻訳@TexTra®について
みんなの自動翻訳@TexTra®は国立研究開発法人情報通信研究機構(NICT)が開発した最近話題の翻訳サービスで、 DeepLやみらい翻訳等の別サービスと比較してもかなり質がよく、APIが無料で使えるという点が素晴らしいです。
問題点としては、ログインしないとサービスそのものが使えないことです。これでは使いたいときにサッと使えないので改善してほしいです。 また、他サービスと比較して少し翻訳速度が遅い気がします。
それでも翻訳の精度は非常によく、使わないともったいないサービスだと思います。
試しにWeb上で使ってみる
まずは試しに翻訳をしてみます。トップページを開き、
左側にあるサイトにユーザー登録して翻訳機能を使ってみる
を選択して、アカウント登録をします。
アカウント登録後、ログインしたままの状態で、自動翻訳
(ロボットのマーク)をクリックしてWeb上で翻訳をすることができます。
ためしに翻訳してみました。惜しい部分もありますがなかなか良いと思います。
PythonでWeb APIを使う
API keyとAPI secretの発行
ログインした状態で、WebAPI
(雲のマーク)をクリックします。
自動翻訳リクエスト
より一覧
を選択します。
言語の一覧が表示されるので、必要なものをAPI
欄のi
マークをクリックします。
今回は汎用NT 【英語 - 日本語】
を選択しました。
すると、リクエストURL
、API key
、API 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から使ってみました。
そのうち、この翻訳サービスを使ったブラウザアドオン等、作ってみようかと思います。