Pythonでtextblobを用いた英語から日本語への文の翻訳

スポンサーリンク

Pythonでtextblobを用いた英語から日本語への文の翻訳を行ってみます。

今回はtextblobを用います。このライブラリ・モジュールはPythonの標準ライブラリではありませんので、事前にインストールする必要があります。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■textblobを用いた英語から日本語への文の翻訳

では、早速textblobを用いた英語から日本語への文の翻訳を行うため、スクリプトを書いていきます。

■コード

from textblob import TextBlob

blob = TextBlob("It was sunny today. The world is bright.")

print(blob.translate(from_lang='en', to='ja'))

「from import」でtextblobのTextBlobを呼び出します。その後、blobという変数を定義し、その中でTextBlob()を用います。括弧内には引数,パラメータとして、英語の文を渡します。

その後、blobに対してtranslate()を用います。括弧内には第1の引数,パラメータ(from_lang=)として、英語の文を翻訳するために、「en(English)」を渡します。次に第2の引数,パラメータ(to=)として、翻訳の目的地として「ja(Japanese)」を渡します。これで英語から日本語への文の翻訳が行われます。翻訳された文をprint()で出力します。

■実行・検証

このスクリプトを「py_translate_test.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。

実行してみると、textblobを用いたことで、英語から日本語への文の翻訳が行われ、翻訳された文をprint()で出力させることができました。

■備考

blobに対してtranslate()を用いる場合は、第1の引数,パラメータとして「from_lang=’起点となる言語’」を渡していますが、これが設定されていない場合は下記のエラーが出力されます。

Traceback (most recent call last):
  File "py_translate_test.py", line 5, in 
    print(blob.translate(to='ja'))
  File "C:\Users\user_\AppData\Roaming\Python\Python38\site-packages\textblob\blob.py", line 568, in translate
    return self.__class__(self.translator.translate(self.raw,
  File "C:\Users\user_\AppData\Roaming\Python\Python38\site-packages\textblob\translate.py", line 61, in translate
    self._validate_translation(source, result)
  File "C:\Users\user_\AppData\Roaming\Python\Python38\site-packages\textblob\translate.py", line 88, in _validate_translation
    if result.strip() == source.strip():
AttributeError: 'list' object has no attribute 'strip'

コメント

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