学習させることで、どんどん賢くなっていくLUISをbotサービスで活用するには:認識系API活用入門(終)(3/3 ページ)
コグニティブサービスのAPIを用いて、「現在のコグニティブサービスでどのようなことができるのか」「どのようにして利用できるのか」「どの程度の精度なのか」を検証していく連載。最終回となる今回は、LUIS(Language Understanding Intelligent Service)とMicrosoft Bot Frameworkを組み合わせてbotサービスを作成します。
botサービスを実際に試してみる
実際にAPIがどの程度の精度で返してくれるのかを検証してみましょう。
なお、他社サービスの言語解析+botサンプルをブラウザなどで簡単に検証をすることは難しいため、今回は他社サービスとの比較はありません。
プロジェクトを実行して、サービスが立ち上がったらBot Framework Emulatorを起動し、サービスに接続します。
学習済みのパターンを試す
まずはトレーニングにも使用したパターンをテストしてみます。「今日の東京の天気」「明日の北海道の天気は?」「明後日の沖縄の天気を教えて」と入力してみます。
問題なくLUISが解析して、天気予報も取得できています。
トレーニングに使った都道府県以外も試してみましょう。お天気Webサービスは主要都市もパラメータとして対応していますので、都道府県や主要都市で質問してみます。
こちらも問題なくLUISが解析して、天気予報も取得できています。ちょっと意地悪に、「今日」「明日」「明後日」を平仮名にして質問してみます。
こちらも問題なくLUISが解析して、天気予報も取得できています。ここまでのところは問題なさそうです。
学習していないパターンを試す
では、日付が先で都道府県が後の文章ではなく、逆に都道府県が先で日付が後の「東京の今日の天気」といったパターンもテストしてみます。
「もう一度お願いします。」や「その場所の天気予報が取得できませんでした。」と返ってきました。都道府県が先で日付が後のパターンではうまくLUISが解析できていないようです。
失敗したパターンで再度、学習させる
これは失敗なので、失敗したパターンについて再度Intentsの画面に戻ってUtteranceとEntityの結び付けを行い、トレーニングを行います。
トレーニングさせたら、テストしてみます(※必ずテストの前にトレーニングを行ってください)。
今度はうまくいきそうです。
botアプリケーションから使えるようにするにはPublishが必要なので、Publishを行います。
学習させることで、どんどん賢くなっていく
実際にbotアプリケーションで試してみましょう。
今度はうまくいきました。このように、LUISはユーザーがトレーニングを行うことによって、どんどん賢くなっていきます。
いかがでしたでしょうか。今回は、Intentも1つ、Entityも2つというかなりシンプルな検証でしたが、実際の業務としてユーザーとインタラクティブに複雑かつ多様なことをさせようと思うと、IntentもEntityも増えますので、アプリケーションも複雑になってきます。しかしトレーニングを行うことによって賢くなっていくのもLUISの魅力です。まさに小さな子どもがどんどん言葉を覚えていく過程に似ています。
コグニティブサービスを新しいビジネスのきっかけに
全7回の連載にお付き合いいただきありがとうございました。今回をもちまして連載は終了です。
本連載ではMicrosoftのコグニティブサービスを中心にそのAPIの呼び出し方や他社サービスとの精度の違いなどについて紹介してきましたが、今もAIやコグニティブサービスは日進月歩の状態です。半年後、1年後には今とはきっと状況も変わっていることでしょう。今は無理なことでも将来はできるようになっているかもしれません。この連載が皆さんの新しいビジネスのきっかけになれば幸いです。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- LUIS(自然言語解析サービス)
LUISはマイクロソフトが提供する自然言語解析サービス。ユーザーが「何をしたいのか」(インテント)とそれに付随する情報(エンティティ)を取り出せる。 - LUISを使って頭の悪いLINE Botを作ってみよう!
LUIS(自然言語解析サービス)とロケスマWeb(お店発見Webサービス)とGoogle Geocoding APIを使って、ユーザーが探しているお店を教えてくれるLINE Botを作ってみよう! - WebhookやHubotを使ってチャットとSubversion、Redmine、Jenkinsを連携させる基本設定とは
OSSのチャット基盤であり、Dockerコンテナとして簡単に導入できるRocketChatを使った、コミュニケーション基盤の作り方を学ぶ連載。最終回は、RocketChatと他のアプリケーション(Subversion、Redmine、Jenkins、Zabbix、fluentdなど)と連携させる方法を紹介します。