【副業実験記#11】Python+DeepL翻訳のAPIで日本語を英語に翻訳してみた話

子育てSEパパのIT×AI×副業ラボ_副業実験記_11 副業実験記

つづき。


はじめに

引き続き、雑学動画自動生成ツールを自作できないか、検討してみているお話です。

今回は、オンライン翻訳サービスであるDeepL翻訳のAPIについて、日本語を英語に翻訳できるか検証してみた話です。

雑学動画自動生成ツールで「Stable Diffusion web UI」を使い背景画像を生成する予定ですが、画像生成の指示は、日本語より英語の方が求めている画像を生成できそうでした。

そこで、日本語の雑学テキストをDeepL翻訳APIで英語に翻訳し「Stable Diffusion web UI」に渡すことで、テキストの内容に寄った背景画像を生成したいと思ってます。

検証準備

Pythonのインストール

「Python」で雑学動画自動生成ツールを作るつもりなので、検証でも同様に使います。

詳細は以下の記事にまとめていますので、ご興味ある方は、そちらをご覧ください。

PyCharmのインストール

Pythonでの開発を楽にしてくれる統合開発環境「PyCharm」を使います。

Pythonで雑学動画自動生成ツールを作る際に使うつもりなので、検証でも同様に使います。

詳細は以下の記事にまとめていますので、ご興味ある方は、そちらをご覧ください。

検証用Pythonプロジェクトおよびvenvの作成

検証用「Pythonプロジェクト」を作成します。

PyCharmで簡単に作成できます。

Pythonプロジェクトを作成したら、その中で「venv」(Python仮想環境)を作成しておきます。

詳細は以下の記事にまとめていますので、ご興味ある方は、そちらをご覧ください。

Pythonパッケージのインストール

今回は、以下のパッケージを使用します。

Noパッケージ説明
1deeplDeepL翻訳APIをPythonから簡単に使えるようにしてくれる公式ライブラリです。

このライブラリ経由で、DeepL翻訳APIを使います。

検証用Pythonプロジェクトでvenvを起動し、パッケージをインストールします。

ターミナルでコマンド実行してインストールする方法やPyCharm上で画面を操作してインストールする方法がありますが、今回は、PyCharm上で画面を操作し、venvにパッケージをインストールします。

もちろん、「requests」のようなHTTP通信ライブラリを使ってHTTPリクエストを送る方法でも、翻訳できます。

DeepL翻訳アカウントの登録

DeepL翻訳APIを使うには、まず、DeepL翻訳アカウントに登録する必要があります。

詳細は以下の記事にまとめていますので、ご興味ある方は、そちらをご覧ください。

DeepL翻訳APIキーの取得

DeepL翻訳APIを使うには、DeepL翻訳アカウント登録後、「DeepL翻訳APIのプラン」に登録する必要があります。

いくつかプランがありますが、今回は無料プランである「DeepL API Free」プランでAPIキーを取得します。

この無料プランの場合、1か月あたりの翻訳可能文字数は、500,000文字(50万文字)です。

詳細は以下の記事にまとめていますので、ご興味ある方は、そちらをご覧ください。

検証してみた

DeepL翻訳APIを使用した日本語から英語翻訳の流れ

以下の流れで日本語を英語に翻訳するようでした。

  1. DeepL翻訳APIキーをもとに翻訳用オブジェクトを作成する
  2. 翻訳用オブジェクトに、翻訳したい日本語テキスト・翻訳元言語(日本語)・翻訳先言語(アメリカ英語)を渡して、翻訳する

DeepL翻訳APIを使用した日本語から英語翻訳の試し

では実際に、日本語を英語に翻訳してみます。

DeepL翻訳APIを使ったPythonサンプルコード

import deepl

# APIキー(https://www.deepl.com/ja/account/ で取得)
auth_key = "**********"

# 翻訳する日本語
text = "今日はいい天気ですね。"

# 翻訳実行
translator = deepl.Translator(auth_key)
result = translator.translate_text(text, source_lang="JA", target_lang="EN-US")

print(result.text)

translate_textメソッドの引数「target_lang」でアメリカ英語(EN-US)を指定しています。イギリス英語(EN-GB)の指定も可能です。

また、translate_textメソッドの引数「source_lang」 は省略可能ですが、明示しておくと誤判定を防げます。

Pythonサンプルコード実行結果

It's a beautiful day.

コードも短く、簡単に、問題なく日本語を英語に翻訳することができました。

DeepL翻訳APIには、上記でご紹介した翻訳用のメソッド以外に、API使用状況取得メソッド(get_usage)もあります。

そのAPI使用状況を取得して、利用上限文字数を超えそうな場合に警告を出したり、利用上限文字数を超えた場合にエラーハンドリングして別の翻訳機能を使えるようにしたりすることもできそうでした。

おわりに

「DeepL翻訳API」を使って、日本語を英語に翻訳できることが分かりました。

この「DeepL翻訳API」を使って、日本語の雑学テキストを英語に翻訳し、「Stable Diffusion web UI」に渡して、テキストの内容に寄った背景画像を生成したいと思います。

ということで、次の技術やツールの検証に移ろうと思います。

(今回も検証用のコードは、ChatGPT(GPT-4oモデル)に出力してもらったものを微修正したものです)


今回の記事も、同じように副業に悩んでいる人、手探りで取り組んでいる人にとって、何かの参考になれば嬉しいです。

これからも記録を続けていく予定なので、よければフォローしてもらえると嬉しいです。


つづき。

タイトルとURLをコピーしました