チャットボット開発に必須の用語 一覧

あらすじ

私は2016年の終わりに初期のGoogle Homeデバイス(Googleからいただきました)を手に入れたラッキーなGDE(Google Developers Expert )の一人でした。

私は自分でプラットフォームを拡張し、それが簡単で楽しいことに驚きました。

そして、小さな会社から大企業まで、この新メディアに興味があることを感じてます。

私たち開発者にとって、これは本当に作る(ハック)のが楽しいプラットフォームです。

あなたもぜひ入手して、アプリを作ってみてください。

その前に、チャットボット・エコシステムを理解するために必要なボキャブラリーを紹介したいと思います。

Google Assistantプラットフォームに焦点を当てていますが、殆どのボットのプロバイダーは同じ用語を使っています。

Google Home & Google Assistant

Google HomeとGoogle Assistant

Google Home とGoogle アシスタントについては、以下だけを覚えて下さい。

Google アシスタント

賢いパーソナルアシスタント。何かを尋ねたり、頼んだりできます。

Google Home

声で操作するスピーカー。Googleアシスタントによって起動する。

OK, Google

Google HomeはGoogleアシスタントによって動きます。

GoogleアシスタントはGoogle Homeデバイス、Google Allo、Android TV、Android Wear 2.0+ などを起動させる基礎となるランタイムです。

GoogleアシスタントはどのAndroidデバイス、またはあなたが作ったハードウエアにさえ連携でき、以下のような自然な方法で対話します。

  • Google HomeやAndroid TVを通じてあなたのデバイスと話す。
  • Google アシスタントを通じて話したりテキストを送信する。

Googleアシスタントがユーザーと対話するためにはActions(Actions on Google)が必要です。

気象情報をチェックするAction、ニュースフィード用のAction、部屋の電気をつけたり消したりするActionなど…

例えば、私はクリスマスツリーのライトをつけたり消したりするActionを使っています。

GoogleアシスタントにおいてAcitonを開発するには、Action SDKかDialogflowなどのオンラインツールを使うか、もしくは両方を組み合わせてもできます。

Dialogflow

DialogflowはActions on Googleや他のプラットフォーム、Facebookメッセンジャー、マイクロソフトCortana、Slack、Twitter、その他数々のプラットフォームで対話アプリを作り、デプロイするするオンライン・アプリケーションです。

簡単なのでプログラミングのスキルがほぼ不要です。

また、対話アプリのためのインテント、エンティティ、コンテキストを作り管理することができます。

Dialogflow

Actions SDK

Actions SDK

公式Google Actions SDKでは、基本的に以下のことができます。

  • メタデータと共にActionパッケージを提供する。
  • ‘Invocation’(呼び出し)と’ダイアログ’のコンポーネントをコード化する。

このSDKはAction作成のために低レベルAPIを提供します。

このAPIはインテントを作り登録したり、SSMLのインストラクションをエージェントに送信し、エージェントが応答できるようにします。

対話アプリを作るとき、(Googleアシスタントに限らず)特定の専門用語やコンセプトを理解しなければなりません。

ありがたいことに、殆どのチャットボット・プロバイダー(Google、Amazon、Microsoft)は音声合成に同じコンセプトと標準SSMLを使用することに合意しています。

これらのコンセプトを見ていきましょう

Actions simulator(アクション・シミュレータ)

Actions SimulatorはあなたのActionsをテストできる公式オンラインツールです。

テストしデバッグするのに良い方法ではありますが、物理的なデバイス(AndroidかiOSスマホ上のGoogle HomeかGoogle アシスタント)を使う事を私はお勧めします。 

アクション・シミュレータ

ASR→NLP→NLU→NLG→TTS

これらはおそらく、最も混乱しやすいコンセプトですので、易しい言葉で分かりやすく説明していきます。

ASK

Automatic Speech Recognition(自動音声認識)は、音声シグナルを入力データとして認識し、人が話す言葉を解読する機能です。

NLP

Natural Language Processing(自然言語処理)は、人の言語(英語、フランス語…etc)を機械が処理(構文解析、テキスト分類など)する能力を表す総称です。

NLU

または Natural Language Understanding(自然言語理解) NLPの一分野で、セマンティックな処理や分析、エンティティの抽出などをします。  NLUは入力データを組み立てるのでマシンが簡単に理解します。

NLG

または Natural Language Generation(自然言語生成) 構築されたデータを人が読める言語に変換するステップ

TTS

またはText ‐To- Speech Synthesis 単純に言えば、NLGで生成されたテキストを音声に変換する機能。

誰かがNLUについて話していたら、おそらくASR→NLP→NLU→NLG→TTSのことでしょう。

エージェント(別名:アクション)

これはあなたが作る(もしくはDialogflowで作る)プログラムです。

ユーザーのインテント(要求)を処理し、フルフィルメントの応答を実行します。

コンテキスト

コンテキストは基本的にディスカッション・スレッドで、2人以上の参加者による意見の交換です。

ボットのロジックを組み立てる時、あなたの「会話の状態」がコンテキストであり、ここがあなたが重要な情報(エンティティ)を特定の処理やリクエストのために保管する場所です。

インテント(別名:発話)

インテントはユーザーの意図を表します。

現実の会話では話者の意図は、その話した内容により定義づけられます。

会話アプリでも同じ流れで、あなたは示されたインテントのためにベースとなる文章のセットを用意します。

例えば、何かを食べる、何かを頼む、誰かに電話する、などです。

あなたのエージェントは、これらの文章から学習します。

たとえあなたが同じフレーズを話したり書いたりしなくても、あなたが何を行いたいのか分かるほどインテリジェントであるべきです。

Dialogflowはマシンラーニングを使い、エージェントがあなたを理解するように訓練するのでとても優秀です。

エンティティ(別名:スロット)

人の言語を処理し理解するために、現在殆どのチャットボットにはNLPとNLUが使われています。

NLUのお陰で、チャットボットはユーザーのインテントから重要な情報を抽出することができます。

この抽出された情報がエンティティ(またはスロット)と呼ばれるものです

エンティティは特定のユースケースにおいて定義されます。

例えば、製品名や車のモデル名のリストなどです。

またエンティティは一般的な概念、例えばセレブリティ、日時、色、GPSアドレス、Amounts with unit、地理などを表現することもできます。

これらの一般的な概念はナレッジグラフとオントロジーのお陰でほとんどのNLUエンジンにより自動的に抽出されます。

Conversational UI(対話UI)

これはグラフィカルUI(GUI)がなくても対話できる、ユーザーインターフェースの今風の言い方で、音声UIとも呼ばれます。

フルフィルメント

これは通常、ユーザーのインテントを処理するロジックの事を指します。

言い換えると、チャットボットのロジックが存在するコードです。

あなたはこのコードをホストし、インターネット上に配置するのでチャットボットのプラットフォーム(Google アシスタント、Alexa等)が接続でき、(HTTPSを通じて)リクエストすることができます。

以上が、Google アシスタントのAction開発のために開発者として知っておくべき最小限のボキャブラリーです。

原文

https://chatbotslife.com/intelligent-chatbots-vocabulary-101-6aa4f646cb7c

チャットボットライフとの提携により、翻訳し掲載しています。
チャットボットライフとは、最新のボット、AI、NLP、ツール等を扱うメディアです。