BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース MindMeldの対話型アプリケーション構築ガイド

MindMeldの対話型アプリケーション構築ガイド

ブックマーク

原文(投稿日:2017/02/03)へのリンク

対話型(会話型)AI企業のMindMeldが、対話型アプリケーションを作成するための課題と手順を説明した「The Conversational AI Playbook」を公開した。

最近、多くのメジャープレイヤーが、対話型アプリケーション構築のための初期ソリューションに参入している。研究者やSF小説および映画はずっと、人間が人と同じように機械と話せるようになる日がやってくると予想してきた。Amazon Alexa、Apple Siri、Google Assistant、Microsoft Cortanaなどのソリューションは、人間の会話を理解して基本的な質問に応答するアプリを作るためのアプリケーションとフレームワークを開発者に提供することで、そのニーズを満たそうとしている。

MindMeldは、ディープドメイン会話AIに基づいた会話アプリケーションを作成するためのプラットフォームを提供している。彼らは対話型アプリケーションを書くことに関心のある人向けに、ステップ・バイ・ステップのガイドを書いた。そこには、彼らがこの分野で長年培ってきたいくつかの原則とベストプラクティスが含まれている。

MindMeldは対話型アプリケーションを開発するための各種アプローチについて次のように説明している。

ルールエンジン。 このアプローチでは、開発者は、質問に対する適切な応答を選択するためのルールセットを多数作成する必要がある。もっとも素早いソリューションだが、もっとも制限がある。

ルールベースのフレームワークは、入ってきたメッセージをパースしたり分類したりするAI機能の提供しようとするものではありません。そのため開発者は、必要なメッセージ処理と対話ロジックをすべて自分でコーディングする必要があります。たとえ単純なアプリケーションであっても、一般的な対話型インターフェイスで様々な対話状態を処理するために何百ものルールが必要になるのは、珍しいことではありません。

ガイドでは、対話型アプリケーションのためのルールベースエンジンの例として、BotKitMicrosoft Bot Frameworkを挙げている。

自然言語処理(NLP)サービス。 このアプローチは、クラウドベースの自然言語処理(NLP: Natural Language Processing)サービスを使う。対話型アプリケーションを作るために必要なステップである自然言語を解釈するためのサービスを提供するが、MindMeldは他の目的にも役立つと考えている。

これらのサービスは大きな消費者向けインターネット企業によって一般的に提供されており、開発者にトレーニングデータをアップロードさせることで、いつのまにかサービスプロバイダー自身の対話型AIを改善するのに役立っています。

この分野には、Amazon LexFacebook wit.aiGoogle api.aiIBM Watson ConversationMicrosoft LUISSamsung Vivなどが含まれる。

機械学習。 より高度なソリューションの代表が機械学習ツールキットだ。データを解釈するために、高度なディープラーニングアルゴリズムを提供する。ガイドでは、対話型アプリケーションを作るための可能なソリューションとして、Apple GraphLab CreateGoogle TensorFlowMicrosoft Cognitive Toolkitにふれている。

対話型AIプラットフォーム。 機械学習に基づいたプラットフォームだが、対話型アプリケーションに最適化されている。そこには、「インテントの分類、エンティティの認識、エンティティの解決、質問応答、ダイアログ管理」のためのツールが含まれる。また、

クラウドベースのNLPサービスとは違って、対話型AIプラットフォームでは、トレーニングデータを共有クラウドインフラにアップロードする必要はありません。代わりに、データセットとトレーニングモデルはローカルで管理され、常にアプリケーション開発者の知的財産であることを保証します。こうして柔軟性があり多用途に使えるプラットフォームを提供します。

MindMeldはソリューション例についてのみ言及している。MindMeldのプラットフォームが他のソリューションと違う点について、彼らは質問にこう答えた。

wit.aiapi.ai、LUISといったサービスは、データサイエンスのバックグラウンドのないエンジニアが単純なNLPモデルを構築するのに役立つツールです。MindMeldはより高度な機械学習プラットフォームであり、データサイエンティストがはるかに高度な対話型インターフェイスを作ることを可能にします。たとえば、MindMeldを使うと、顧客は自らのコンテンツやプロダクトのカタログの深い理解をとらえたカスタムの知識グラフを作成することができます。MindMeldを使えば、数千あるいは数百万ものトレーニング例で訓練された高度なNLPモデルを構築することもできます。MindMeldはあらゆる知識ドメインに適応できる最先端の質問応答システムも提供します。WebベースのNLPサービス(wit.aiapi.ai、LUIS)はいずれもこのような機能を提供していません。

このガイドには、MindMeldのプラットフォームを使って対話型アプリケーションを作るための、10ステップの実装ガイドラインも含まれている。 一部のステップは他のソリューションにも適用できるだろう。以下に簡潔に説明する。

  1. 適切なユースケースを選択する。すべてのユースケースが対話型アプリケーションに適しているわけではない。ユースケースを選択する時は、実際の人間のやりとりと似ているかどうか、ユーザーの時間を節約するかどうか、ユーザーにとって便利かどうか、検討する必要がある。
  2. 理想的な対話をスクリプトにする。ユーザーがアプリケーションをどのように使うのか、どんな会話が実行可能なのか、アプリケーションのスコープを超えて質問するといったエッジケースも含めて検討する。
  3. ドメイン、インテント、エンティティ、ロールの階層を定義する。解釈される自然言語の基本要素を決定する。
  4. ダイアログステートハンドラーを定義する。ユーザーとの最初のやりとりから、必要とされる詳細を提供する最後のやりとりまで、ダイアログステップを決定する。
  5. 質問応答器の知識ベースを作成する。これが質問と応答を理解するために必要な情報リポジトリになる。
  6. 代表的なトレーニングデータを生成する。ドメインのより良い理解と実行可能な会話を開発するために、機械学習アルゴリズムが必要とするトレーニングデータセットを作成する。
  7. 自然言語処理分類器を訓練する。ユーザーが言及したドメイン、インテント、エンティティ、これらのエンティティが果たす役割を認識するよう、NLPエンジンをトレーニングする必要がある。
  8. 言語パーサーを実装する。このステップでは、エンティティ間の関係を正しく識別するように言語パーサーを構成し、解析木を作成する必要がある。
  9. 質問応答のパフォーマンスを最適化する。最高の結果が得られるように質問応答器を調整する。
  10. トレーニングしたモデルを本番環境にデプロイする。アプリケーションをローカルでテストしてから、本番環境にデプロイする。

対話型アプリケーションの作成に関する10のステップについて、詳しくはガイドを読むことをおすすめする。

 
 

Rate this Article

Relevance
Style
 
 

この記事に星をつける

おすすめ度
スタイル

BT