いつものLINEが翻訳アプリに?~LINEで翻訳Botをつくってみた~

いつものLINEが翻訳アプリに?~LINEで翻訳Botをつくってみた~

みなさん、こんにちは。
アステリアのキクチです。

寒い日が続きますね。
巷ではインフルエンザが流行っていますが、みなさんは大丈夫ですか?

キクチも毎日娘に強制されていますが、一番の予防はやはり「手洗い・うがい」だそう。
寒さが一層厳しくなってきましたがみなさんも体調崩されないようにお気をつけください!

「LINE」「Google Cloud Platform」連携アダプターで翻訳Botを作ってみた

さて、今回の体験記では、すでにリリースされている2つのアダプター

LINEアダプター LINEアダプター
GoogleCloudPlatformアダプター GoogleCloudPlatformアダプター

こちらのアダプターを組み合わせて、簡単な翻訳Botを作ってみたのでご紹介したいと思います。

なぜ翻訳Botかって?
最近、弊社アステリアにも外国籍の社員が増えてきて、彼らとももっと会話したい!と思っているのですが、英語があまり得意ではないキクチにはなかなかハードルが高く…
気軽にコミュニケーションを取とりたいという想いで作ってみたのが、皆さんお使いのLINEを使った翻訳アプリ!
ASTERIA Warpを使えば、こんなものもサクッと作れちゃいます!

それぞれのアダプターについては、すでに以前のブログで紹介しているので詳細は割愛しますが、一般的に利用されているLINEが簡単に翻訳Botに変身しちゃうんです!

翻訳Botの処理手順

さて、まずは今回開発した翻訳Botの処理手順を確認していきます。

翻訳Botの処理手順

  1. ユーザーが英語の文章を含んだ「画像」もしくは英語の「テキスト」メッセージを送信
  2. LINEからのWebhookを受け取り、メッセージ内容が「テキスト」か「画像」の場合に翻訳処理実行
  3. メッセージ内容が「画像」の場合にはGoogleのVisionAPIを利用して画像内容を文字列に変換
  4. 文字列に変換したデータをGoogleのTranslationAPIを利用して日本語に変換
  5. 変換した文字列を送信元のユーザーに返信

こんな流れになります。
開発したフローを見てみましょう。

メインのフローはフローテンプレート「LINE公式アカウント 友達情報の受信/返信」を利用してちょっと手を加えています

LINE公式アカウント 友だち情報の受信/返信

Webhook受信

LINEから送られてきたWebhookをメッセージ種別に応じて振り分けていますが、重要なのは受け取ったデータをどうやって翻訳するか、ですね。

実際のデータ取得、翻訳処理はこんなフローで呼び出しています。

翻訳データ->OCR実行->翻訳実行->reply

メッセージ種別を判定しなくてはならないので少し複雑そうに見えるかもしれませんが、例えば実際に画像解析を行っている内容は

OCR解析

これだけですし、取得したテキストの翻訳も、

翻訳

これだけです。

個別の処理はとてもシンプルですね。

あとは、LINEアダプターのブログでも事前準備としてご紹介していましたが、初めに呼び出されるフロー(今回だと「Webhook受信」フロー)にURLトリガーをセットしておきます。

これで準備完了です。

実際に画像データやテキストを送信してみましょう。

まずは、こんな画像。

CHALLENGE OF EXISTING GRAPH DATABASES

英語のセミナーでのスライドのひとコマです。
もちろん、スピーカーも英語でした。

絵を見ればなんとなーくどんなことを話しているかは理解できるものの、
ほんとに「なんとなーく」になってしまします…汗

この画像を開発したLINEの翻訳Botに送ってみると…

画像翻訳Bot画面

おぉ、きちんと翻訳されたメッセージが返ってきました!

既存のグラフデータベースの課題

画像と合わせて翻訳を読んでみると、それなりに理解できるような気がしますね!

もちろん単純なテキストメッセージも…

He who runs after two hares will catch neither.

「He who runs after two hares will catch neither.」

…“二兎を追う者は一兎をも得ず“的な。

2匹のウサギを追いかけている彼はどちらも捕まえません。

なんだか、すごく説明口調ですが、翻訳出来ていそうな気がします。

うん、画像もテキストも翻訳出来ていますね!!

最後に

いかがですか?
こんなLINEBotがあれば、海外の街角でお店を探すときなどに看板の写真サッと撮るだけで翻訳してくれるので、「これは何のお店なんだろう…!?」なんてドキドキする必要は無くなるかもしれません。

また、今回のフロー開発については、LINE公式アカウント(旧LINE@)側の準備から含めても1時間くらいしかかかっていません。
お手軽に機能を追加できてしまうのもASTERIA Warpだからこそですね!

でも、今回注目していただきたいのはASTERIA Warpは「翻訳」や「画像読み取り」といった重要なことは“何も”していないということです。

今回の処理の中でASTERIA Warpは「LINE」から「Google Vision API」へデータを渡す、「Google Translation API」から「LINE」へデータを渡す、といったデータの通り道にしかなっていません。
ただ、様々なアプリケーション開発の中で手間がかかってくるのが、「AからBへどうやってデータを渡す」のか、といった部分ではないでしょうか。
一番手間のかかる部分を簡単に構築できる、また思いついたアイデアを簡単に試せるというのもASTERIA Warpの魅力です!

今回はGoogle Cloud PlatformのAPIを利用しましたが、AzureやAWSのAPIもフローに手を加えるだけで利用できるのでぜひサンプルフローで試してみてくださいね。

フローダウンロード

今回のフローはこちらからダウンロードしてお使いいただけます↓

フローダウンロード

 



クラウド版

手ぶら de ASTERIA Warp
体験 5日間を申し込んで
簡単データ連携を体験してみよう!

サーバー準備の手間なくデータ連携ツール「ASTERIA Warp」の
全ての機能を5日間お試しいただけます。

今すぐ体験してみる 書籍の詳細についてはこちらをご覧ください。
基礎と実践 使い方マニュアル
著者:菊地 雄大

著者:
菊地 雄大

ASTERIA Warpのプリセールスエンジニア&体験セミナー講師。関係各所から舞い込んでくるASTERIA Warpに関するご依頼になんとか応えながら日々鍛えてもらっています!

「ASTERIA Warp、データ分析、クラウド、業務効率化、最新技術」人気!ホワイトペーパーダウンロード受付中!今すぐチェック
ASTERIA Warpと色々つないでみた特集!記事はこちら>

ASTERIA Warp 関連サイトのご紹介

X ASTERIA Warp Developer Network(ADN)サイト

技術情報をお探しの方

ASTERIA Warp Developer Network
(ADN)サイト

ASTERIA Warp製品の技術情報やTips、また情報交換の場として「ADNフォーラム」をご用意しています。

X ASTERIA Warpユーザーグループ(AUG)

ASTERIA Warpデベロッパーの方

ASTERIA Warp オンラインコミュニティ
ADN slack

ASTERIA Warpデベロッパー同士をつなげ、技術情報の共有やちょっとしたASTERIA Warpの疑問解決の場とすることを目的としたコミュニティです。

X ASTERIA Warpユーザーサイト

ASTERIA Warpユーザーの方

ASTERIA Warpユーザーサイト
Login

製品更新版や評価版のダウンロード、各種ドキュメントのご提供、また 技術的なお問合せもこちらで受付ています。

X ASTERIA Warpパートナーサイト

ASTERIA Warpパートナーの方

ASTERIA Warpパートナーサイト
Login

パートナーライセンスの発行や各種ドキュメントのご提供をしています。

ページ先頭へ