はじめに

この記事ではDeepL API(DeepL Pro)を使って日本語を翻訳を試してみたいと思います。

最近DeepLの翻訳の精度が良いと話題になっていましたが、これまでAPIの利用は日本語には対応してきませんでした。
ところがDeepL社の2020月6月16日のプレスリリースで日本語対応したとの発表がありました。そこで早速DeepL APIから日本語の翻訳を試してみます。

DeepL APIについて

DeepL APIは有料で公式サイトの右上のメニューからDeepL Proを選んで登録することが出来ます。
DeepL Proには「個人向け」「チーム向け」「開発者向け」と3つのタイプがありますが、DeepL APIが利用できるのは一番右の「開発者向け」です。

DeepL APIの料金体系は、現在の基本料金は月々¥630です。翻訳済みの文字数は、1,000,000文字につき ¥2,500で課金されます。1か月に翻訳できる文字数の上限は10,000,000で、料金の上限額は¥25,630( = ¥630 + ¥25,000)です。

APIのドキュメントはこちらにまとまっています。シンプルな構造のURLを作って投げるだけなので、とても使いやすい設計になっていると思います。

DeepL APIをPythonで利用してみる

今回はrequestsを使ってURLを投げます。

 pip install requests
Requirement already satisfied: requests in /usr/local/lib/python3.6/dist-packages (2.23.0)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.6/dist-packages (from requests) (1.24.3)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.6/dist-packages (from requests) (2020.4.5.1)
Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.6/dist-packages (from requests) (2.9)
Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests) (3.0.4)
import requests
# ここはご自分で発行されたKEYを入れてください
YOUR_API_KEY = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
# 翻訳したい入力テキスト
TEXT = \
'Deepblueでは、機械学習やデータ分析にチャレンジしたいインターン・社員を募集しています。
弊社は2019年10月に設立したばかりのベンチャー企業です。
現在3名の社員と9名のインターンで、統計・機械学習を活用して解決できる課題に取り組んでいます。
我々の課題はお客様から依頼を受けてデータを分析をするだけに留まりません。
様々な産業分野において統計・機械学習を活用したサービスの開発も積極的に行っております。'
# URLクエリに仕込むパラメータの辞書を作っておく
params = {
            "auth_key": YOUR_API_KEY,
            "text": TEXT,
            "source_lang": 'JA', # 入力テキストの言語を日本語に設定(JPではなくJAなので注意)
            "target_lang": 'EN'  # 出力テキストの言語を英語に設定
        }
# パラメータと一緒にPOSTする
request = requests.post("https://api.deepl.com/v2/translate", data=params)

JSONで結果が返ってくるので、翻訳された文と取り出すには以下のように書けばよいです。

result = request.json()
print(result["translations"][0]["text"])

Deepblue is looking for interns and employees who want to take on the challenge of machine learning and data analysis.
We are a new venture company founded in October 2019.
We currently have 3 employees and 9 interns working on a problem that can be solved using statistics and machine learning.
Our challenge is not just to analyze data for our clients.
We are also actively developing services that utilize statistics and machine learning in a variety of industries.

きちんと翻訳できていそうですね。

HTMLの処理もそのうちできるようになるらしい

※現在(2020年6月16日時点)では日本語には対応していないようです。

DeepLのAPIではHTMLに埋め込まれている自然言語の部分だけ翻訳する機能もあるのですが、今回は試せなかったので気になる方はAPIのドキュメントのこの部分を読んで頂けるとよいと思います。
機会があればこちらのブログでも紹介してみたいと思います。