News/口語翻訳APIの利用方法

口語翻訳APIの利用方法

今回は、各国の言語を相互に翻訳できる口語翻訳APIについて解説します。

昨今、様々な言語を翻訳するサイトやサービスは数多く存在しますが、 RECAIUS口語翻訳サービスでは、 独自のサーバーと翻訳エンジンを用いて私たちが普段日常会話をしているのと遜色無い自然な翻訳を行うのが特徴です。

Flow.png

今回はこの口語翻訳APIの利用方法を、サンプルを通して説明したいと思います。

利用の流れ

前回の記事で、RECAIUSAPIサービスを利用するには必ず認証APIが必要だという事を記載しましたが、 今回の口語翻訳APIを利用する際にもこの認証APIが必要となります。

1.認証トークンの取得
2.口語翻訳APIサービスの関数の呼び出し
3.認証トークンの破棄

上記の手順で処理を実装します。

説明にあたって口語翻訳APIのJavaサンプルアプリケーションを用意しましたので、このサンプルに沿って進めます。

※デベロッパー登録を事前に済ませておいて下さい。
※手順1, 3の認証トークンの取得と破棄については本記事では割愛します。
(詳細は認証APIの利用方法の記事を御覧下さい。)

口語翻訳APIサンプル(日本語を英語に翻訳したい場合)

以下、サンプルアプリケーションのソースコードに沿って解説します。
具体的な行数も示しますので併せて参照して下さい。

URLパス

今回は認証API, 口語翻訳API2種類のAPIを利用します。
このため通信先のURLも2種類用意する必要があります。(23行目26行目)
それぞれURLパスが異なるので注意して下さい。

パラメータ

29〜51行目は 認証API, 口語翻訳APIを利用する際に必要となるパラメータです。
詳しい説明は実際に使用している箇所で説明します。

整文機能

70〜91行目整文機能を有効にするかどうかを事前に入力してもらうための処理になっています。
整文機能とは、翻訳する元になる文章から冗長な文節を取り除く機能を指します。

例)
 元の文章 「えーっと、東京タワーはどこですか?」
 整文後の文章「東京タワーはどこですか?」

元の文章から「えーっと、」という翻訳には不要な部分が取り除かれます。

トークンの取得

97〜144行目で認証トークンを取得します。 処理自体は認証APIの利用方法時と同じ内容です。

ただし、101行目で指定しているサービス名を示す文字列が口語翻訳APIを表す"machine_translation"になっています。

口語翻訳APIの呼び出し

150行目から口語翻訳処理が始まります。
リクエストボディには以下のパラメータを指定します。

キー 説明
mode spoken_language 翻訳モードを指定します。
現在は口語翻訳を示す"spoken_language"のみ対応しています。
query 任意の文字列 翻訳元の文字列を指定します。
今回は"えーっと、東京タワーはどこですか?"を指定しています。
src_lang ja 翻訳元の言語を表します。
今回は日本語を翻訳するので"ja"を指定します。
tgt_lang en 翻訳したい言語を表します。
今回は英語に翻訳したいので"en"を指定します。
arrange true または false 整文機能の有無を指定します。
今回のサンプルでは事前に入力した値に応じて有効、無効が切り替わるようにしています。
結果の受け取り

186行目以降で翻訳結果を取得しています。 整文機能"arrange"の有無によって得られる結果が異なります。

・整文が無効の場合

"data": {
    "translations": [
        {
            "translatedText": "Hey, where Tokyo Tower is?"
        }
    ]
}

"data"配下の"translations"配列内に翻訳結果"translatedText"が格納されます。
これは元の文章「えーっと、東京タワーはどこですか?」がそのまま翻訳された結果となっています。

・整文が有効の場合

"data": {
    "arrangements": [
        {
            "arrangedText": " 東京タワーはどこですか?", 
            "srcText": " えーと、東京タワーはどこですか?"
        }
    ], 
    "translations": [
        {
            "translatedText": "Where is Tokyo Tower?"
        }
    ]
}

整文機能を有効にしている場合は"data"配下に"arrangements"配列が追加され、 整文前の元の文章"srcText"と、整文した結果の文章"arrangedText"が得られます。 翻訳には不要な「えーっと、」という文節が取り除かれているのが分かります。

"translations"配列内には整文後の「東京タワーはどこですか」に対する翻訳結果が格納されます。 整文機能を無効にしていた場合と比べて「Hey, 」(=えーっと、)の部分が無いのが分かります。

最後に

今回のサンプルは会話(音声)ではなくテキストを翻訳させていますが、実際の利用シーンを考えると自分で話した言葉を外国語に翻訳して相手とコミュニケーションを取るといった使い方が一般的になるかと思います。
RECAIUSAPIサービスには話した音声をテキストに変換する音声認識APIも用意しています。 これを利用すれば、自分で話した日本語を文章にして口語翻訳APIを通して英語に変換するといった処理も可能となります。 また逆に、外国人の話した会話を日本語に直して聞くといった事もできます。 RECAIUSAPIサービスを通して、グローバルコミュニケーションのツールとして活用してみてはいかがでしょうか。

更新情報はTwitterでもお知らせしますので、是非Twitterのフォローをよろしくお願いします。
@recaius_dev_jp