Dialogflow でチャットボットを構築してデプロイする(概要)

この記事では、Google Cloud で Dialogflow を使用して chatbot をビルド、保護、スケーリングする方法を説明する、複数のパートからなるシリーズのチュートリアルの概要を説明します。このチュートリアルは、自分のデータからチャットボットを構築することに関心があるデベロッパーやエンジニアに有用です。

会話型のユーザー インターフェースには現代のコンピュータと同じくらい古い歴史があります。ELIZA は、は MIT 人工知能研究所で 1964 年から 1966 年にかけて開発された初期の自然言語処理コンピュータ システムでした。自然言語処理コンピュータ システムの 1 つに chatbot があります。会話型 chatbot の顕著なバージョンとして、ユーザーの質問を理解して答えを返すことができる、質問応答システムが挙げられます。たとえば、IBM の Watson は自然言語で出した質問に答えることができる質問応答システムです。

最近、Q&A chatbot は、Siri、Cortana、Google アシスタントなどのプロダクトの出現とともに著しく発展しました。次の図に、典型的な会話型ボットシステムのアーキテクチャの概要を示しています。

chatbot システムのアーキテクチャ

このシステム アーキテクチャは、次のコンポーネントから構成されます。

  • マルチ チャンネル統合: 複数のチャンネルに接続し、音声とテキストの両方の形式に対応する会話型インターフェース。
  • 会話管理: このコンポーネントはインターフェースの中心であり、通常、次の機能を提供します。

    • 音声入力(STT)とテキスト読み上げ(TTS): 音声やテキストで通信する機能を含む会話型インターフェース。
    • 仮想エージェント: エージェントによって、ユーザーの会話から抽出された意図または動機に基づいて会話の流れを管理します。優れた会話型インターフェースは、線形会話と非線形会話を処理できるエージェント システムを含みます。
  • フルフィルメント インターフェース: 仮想エージェントを外部システムに接続するために必要である堅牢なフルフィルメント インターフェースなしでは、会話型インターフェース システムは完結しません。このインターフェースでは、会話を継続または完了するために、外部システムに接続して動的な情報を取得する必要があります。

Dialogflow は、一度ビルドすればどこにでもデプロイできるエンドツーエンド開発スイートです。ウェブサイトやモバイルアプリ、一般的なメッセージング プラットフォーム、モノのインターネット(IoT)デバイス向けの会話型インターフェースの作成に使用できます。また、Dialogflow は、チャットボットや会話型インタラクティブ音声レスポンス(IVR)など、ユーザーと企業の間の自然で豊かな対話を可能にするインターフェースの構築に使用できます。

チャットボット構築の一部として、トピックを作成するためにデータを前処理して、指定されたトピックに関連する類義語を抽出、保存します。このデータは Dialogflow エージェントにアップロードされ、トピックはエンティティにアップロードされます。エンティティは、自然言語の入力から有用なデータを特定して抽出するための Dialogflow のメカニズムです。エンティティが配置されたら、エージェントにインテントを作成して、ユーザーの入力をレスポンスにマッピングします。インテントごとに、そのインテントをトリガーするユーザーの発言の例、その発言から抽出される要素、応答方法を定義します。

Dialogflow は、Webhook としてデプロイされるフルフィルメント コードを使用して、インテントごとに外部システムに接続します。会話中にフルフィルメントを使用することで、Dialogflow の自然言語処理によって抽出された情報を使用して、動的なレスポンスを生成、またはバックエンドでアクションをトリガーできます。

最後に、Dialogflow の JavaScript API を使用してチャットボットと対話するカスタムのユーザー インターフェースをデプロイします。

次のステップ

このシリーズのチュートリアルは次の内容を含みます。