
アドベントカレンダー2023#05: Dialogflow パラメーターとエンティティ
パラメーターとエンティティの基本
今日は、Dialogflowにおける重要な要素であるパラメーターとエンティティについて深掘りしました。残念ながら、実装までは至りませんでしたが、フレーズの解析において新しい発見があり、これが理解を一層深める手助けとなりました。(2023.12.06 後日談を追加しています)
フレーズの文法構造の分析
パラメーターとエンティティを理解するには、フレーズを、言い回しによって変わる箇所(変数)と、変わらない箇所(定数)に分けることが始まりとなります。
フレーズを定数と変数に区分するとは
例題:「今期のサービス別の予算と実績の分析を行う」
•定数:このフレーズの核心は「予算と実績の分析を行う」ことで、これは常に一貫しています。
•変数1(期間):「今期の」は他の期間表現、例えば「今月の」「今月までの」などに変わります。
•変数2(分析の対象):「サービス別の」は「エリア別の」などに変わります。
パラメーターとエンティティの適用
この例で示された「変数1」と「変数2」は、フレーズの中でパラメーターとして識別され、それぞれに該当する具体的なオプション(例:変数1の期間オプション、変数2の分析対象オプション)がエンティティとして定義されます。このやり方で、フレーズの変化に対応しつつ、正確な情報を抽出することができます。
設計の重要性
インテントの設計時に、役割(定数)を決定してから実装に入る必要があります。気軽に設定できてしまうので、ついつい作業してしまいがちですが、何を変数とするかを整理してから実装しないといけないですね。混沌とした作業や無駄なフレーズのトレーニングにつながるリスクがあります。何事も準備が大切。
現時点での実装はできず
エラーが発生し、パラメーターの実装には至らず。週末にまとまった時間が取れるまで、dialogflowの作業は一時停止し、他の事に集中することにしました。Cloud Functionsも初めてのことなので、色々急がねば。
後日談(2023/12/06)
実装できました。
Dialogflowは、エンティティやフレーズを登録すると、学習を進めるタイムラグがあり、学習中はフレーズからパラメーターを自動判定はしない。判断は、画面左上のギアのマークが回転していないこと。(重要)

エンティティをフレーズよりも先に作成し、ギアの回転が止まるのを待ち、フレーズを登録すると、そのタイミングで、フレーズからパラメーターを自動判定することに成功。
売上予測のIntents設定全体像
