Pythonで文章翻訳を試してみる

こんにちは、いつものtaanatsuです。
今回は、翻訳というものをやってみたいと思います。

それではやっていきましょうか!

やってみたいこと

文章を翻訳したい!

見つけたもの

EasyNMTというライブラリ。
これを使ってみます。

環境準備

今回もvenvを使っていきます

python3 -m venv venv
source venv/bin/activate

必要モジュールのインストール

pip install -U easynmt

protobufのバージョン指定があるので、合わせてあげる

pip install -U protobuf~=3.20.0

Pythonのコード

「main.py」として保存したとします。

from easynmt import EasyNMT
model = EasyNMT('mbart50_m2m')

sentence = 'はじめましてこんにちは。今日はいい天気ですね!'

print(model.translate(sentence, target_lang='en', max_new_tokens=1000))

え!?これだけ!?
これだけです。
すごいですよね。

実行

python main.py  

初回はモデルデータのダウンロード(2〜3GB)が入ります。
その後プロンプトに以下の文字が出ると思います。

Hello, it's good weather today!

いい感じですね!

英語を日本語にしてみる

from easynmt import EasyNMT
model = EasyNMT('mbart50_m2m')

sentence = 'Hello, it\'s good weather today!'

print(model.translate(sentence, target_lang='ja', max_new_tokens=1000))

こんにちは、今日は天気がいいです!

翻訳されました!

まとめ

今回は簡易的な翻訳ツールを試してみました。
モデルのロードなど結構遅いのでそのあたりの高速化も考えてみたいですね。

それでは、また次回!