ブログ

IBM Watson Language Translator を使用して翻訳させてみた

初めに

この記事では、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.「アカウントの作成」のリンクをクリックします。
image.png

1-3. アカウント作成画面になるので、画面の指示に従い、アカウントを作成してください。
image.png

2. Watson Speech to Text インスタンスの作成

2-1. IBM Cloud の Webコンソールから、「カタログ」をクリックします。
image.png

2-2. 検索欄に、「language translator」と入力すると、候補がでてくるので、「Language Translator」を選択します。
2022-01-25_14h28_34.png

2-3. 料金プランは「ライト」を選択。使用条件の同意にチェックをつけ、「作成」ボタンをクリックします。
2022-01-25_14h30_20.png

2-4. インスタンスが作成されたら、「サービス資格情報」をクリックし、「apiKey」と「url」の情報を控えてください。コードを記載するときに必要になります。
2022-01-25_14h32_01.png

手順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.

pagetop