この記事で伝えたいこと
- わかりにくかったところと、どう対処したかを記述していきます。
- マニュアルなど、ちゃんと読んでればわかるけど、なんとなくササっと使ってみたい人向けです。
- これから使ってみる人の参考になれば幸いです。
構築時の内容
以下3つのサービスを使って、[AI Chatbot]を作成しました。
- 言語理解AIのAPI: LUIS (https://azure.microsoft.com/ja-jp/services/cognitive-services/language-understanding-intelligent-service/)
- Botパッケージ: Microsoft Bot Framework (https://dev.botframework.com/)
- Botの置き場所のaPaaS: Azure Web Apps (https://azure.microsoft.com/ja-jp/services/app-service/web/)
- 実装言語: Node.js
構築の全体像。たぶん他の方がやっている構成とほとんど一緒だと思います。
「LUIS」でつまずいたポイント
- そもそもどういうものなの?
- 学習させたLUIS Applicationにテキストを渡すと、JSONで言語認識結果を返すAPIを作ることができます。
- Intent,Entityに何入れるの?
- なんとなくの意味として、Intentは意図、Entityは単語を表します。
- ざっくりの理解だと、「***ってなに?」「***とはなんですか?」という文章を同じ意図ですよ、と認識するのがIntentで、「***」というところがEntityになります。最初はそれをLUISさんへ一個ずつ入力して教育するような感じです。
- Intentは何個まで入れられるの?
- いまは最大20個です(2016.11時点)。これから増えるかもです。 調子に乗ってるとすぐに20個に達してしまうので、ここはグループ化の見積もりを最初にしておくと良いかもしれません。
- LUIS画面で最初は何したらいい?
- [My application]を作成したら、まずはIntentの+ボタン押してIntentNameと例文を入力して、から始めるとわかりやすいかと思います。
- 学習させた後は?
- [Publish]というところでAPIを発行/更新することができます。教育させたのに、Botの反応が変わらないな~と思ったら、publishしてない、ってことがあったりしました。
「bot framework」でつまずいたポイント
- Configurationの設定
- Message endpointはずれていると、反応がなくなるので注意です。結構躓きます。構築してみてBotの反応なかったらEndpointのパスを疑ってみてください。
Azure Webapps
- git pushが出来れば、あとは普通に使えました
- Azure portalのブレードのメニューは結構変わったりするのと、英語から日本語への翻訳がわかりにくい表現になってたりするので、一回使ってみて理解するのがよいかと思います。マニュアル探すのも大変なので。
全般
結構、頻繁にUpdateがあるので、公式サイトはそれなりにチェックしておいたほうがよいかと。 自分がお試し利用中でも、突然日本語化対応されたりとか、BotFrameworkがWebappsと仲良くなったりとかしてました。
- 使ってみてよかったか?
- Watson APIやGoogleAPIもありますが、BotFrameworkやWebappsが一社のサービスで構築できるので、作りやすさは感じました。性能に関しては、そこまで使い込んでないのでよくわかりません。