Azure FunctionsとCognitive Serviceを利用したLineBotを作成しました。
※この記事は2017年4月19日時点での情報になります。
ソースや環境構築方法については下記を参照してください。
さて、どういったLineBotを作ったかというと画像を投稿すると画像から文字を抽出して文章として返却するというBotです。画像から文字を抽出する部分はComupter Vision APIを利用しています。試してみた内容からOCRの精度はかなりいいです。画像の画質にもよりますが英語と日本語で試してみてワープロ文字なんかは識字率は95%くらいはあります。また、英語と日本語が混在する場合でも指定した言語だけを抜き出すなんてこともできます。ただ、手書きの識字は弱いですね。
さらに抽出した文章が英文の場合、日本語に翻訳して返却するという進化版のBotも作成しました。今回Text Translate APIを利用してみたのですが翻訳精度はちょっと残念です。Google翻訳APIを利用することも視野に入れて改良したいと思います。
Azure FunctionsのWebhook+APIを利用して作成しました。Functions自体は各APIのIFとしての役割がメインです。
今回利用したAPIは下記のとおりです。
- Line API
- Computer Vision API (Cognitive Service)
- Text Translator API(Cognitive Service)
APIのリクエストを受けて他のAPIにリクエストを投げてと頭で考えると少し複雑ですがシーケンス図にして各種APIの呼び出し順を整理すれば案外簡単に作成できます。
今回紹介したLineBotはこちらの勉強会で発表しました。
スライドはこちら。
よければ友達登録して試してみたください。
※対象のBotは告知なく利用できなくなりますので予めご承知おきください。
コメント