初めに
この記事では、IBM Watson 「Language Translator」サービスを使用して、実際に翻訳させてみた記事になります。プログラミング言語はPythonを使用しました。
Goole翻訳やDeepL翻訳等の無料で使用できる翻訳サービスもありますが、5,000文字に制限されます。
Watson Language Translatorなら、ライトプラン(無料プラン)を使用すると、月間1,000,000文字の制限がありますが、1回あたり5,000文字の制限は無く使用できます。
手順
手順1. Watson Speech to Text インスタンスの作成
1. IBM Cloud アカウントの作成
IBM Cloudのアカウントが無い場合は、アカウントを作成します。
1-1.https://cloud.ibm.com にブラウザでアクセスします。
1-2.「アカウントの作成」のリンクをクリックします。
1-3. アカウント作成画面になるので、画面の指示に従い、アカウントを作成してください。
2. Watson Speech to Text インスタンスの作成
2-1. IBM Cloud の Webコンソールから、「カタログ」をクリックします。
2-2. 検索欄に、「language translator」と入力すると、候補がでてくるので、「Language Translator」を選択します。
2-3. 料金プランは「ライト」を選択。使用条件の同意にチェックをつけ、「作成」ボタンをクリックします。
2-4. インスタンスが作成されたら、「サービス資格情報」をクリックし、「apiKey」と「url」の情報を控えてください。コードを記載するときに必要になります。
手順3. Watson SDK の導入
3-1. 以下のpipコマンドで「ibm-watson」インストールします。
pip install ibm-watson
手順4.コーディングと実行
4-1. 以下のようなコードを記載します。
※{APIKey}、{url}は、手順2-4で控えた値に置き換えてください。
import json
import sys
from ibm_watson import LanguageTranslatorV3
from ibm_cloud_sdk_core.authenticators import IAMAuthenticator
with open(sys.argv[1]) as f:
text = f.read()
authenticator = IAMAuthenticator(
'{APIKey}')
language_translator = LanguageTranslatorV3(
version='2018-05-01',
authenticator=authenticator
)
language_translator.set_service_url(
'{url}')
result = language_translator.translate(
text=text,
model_id='ja-en').get_result() # model_idを'en-ja'にすれば、日本語から英語の翻訳になります。
print(result['translations'][0]['translation'])
4-2. 翻訳したいテキストファイルのパスを引数にして、記載したプログラムを実行します。翻訳結果が表示されます。
python translate.py {fille_path}
[実行例]
・サンプルテキスト
IBM Watson を使用して、日本語を英語に翻訳してみた。
ライトプランを使えば、無料でお試しできるのがうれしい。
6000文字の文書でもOKでした。
・実行結果
python translate.py sample.txt
I tried to translate the Japanese into English using IBM Watson.
I'm glad to use a light plan to try it free of charge.
It was OK in the 6000 character document.