← 前のページに戻る

陰の実力者?「カテゴリリスト」の書き方を、もう少し詳しく

Written By

(ベーシック)

#カテゴリリスト
name: アクセス
def: アクセス,送迎,タクシー, 駐車場に関する問い合わせ.

name: 施設・サービス
def: 施設,設備,バー,カフェ,レストラン, ジム, フィットネスセンター, コインランドリー,ネット環境,WiFi,ビジネスセンター, 荷物預かり, 製氷機,自販機,フロント内線番号,FAX,喫煙,タバコ,平面図,館内図に関する問い合わせ

name: 客室
def: 部屋,客室,客室タイプ,洋室,和室,客室概要,に関する問い合わせ


(キーワード補足後)
#カテゴリリスト
name: アクセス
def: アクセス,送迎,タクシー, 駐車場, OO駅, OOインター, OOの旅お得チケット, OO温泉周遊バス, に関する問い合わせ.

name: 施設・サービス
def: 施設,設備,バー,夕凪, カフェ,しらかば, レストラン, リストランテ翠, Midori, ジム, フィットネスセンター, コインランドリー,ネット環境,WiFi,ビジネスセンター, 荷物預かり, 製氷機,自販機,フロント内線番号,FAX,喫煙,タバコ,平面図,館内図に関する問い合わせ

name: 客室
def: 部屋,客室,客室タイプ,洋室,和室,貴賓室,翡翠,紺青,konjou,萌黄,moegi,客室概要,に関する問い合わせ

カテゴリリストは、アサインメントプロンプトに使用するコンポーネントです。

アサインメントプロンプトとは、AIチャットボットが質問を受けた際、回答するまでのプロセスのうちで最初に通る関門です。その働きは、病院で急患を受け付ける時と似ています。急患(質問)の様子をチェックして、どの医者・科(カテゴリプロンプト)に対応してもらうのが最適かを決める。それがアサインメントプロンプトであり、その割り振りを決めるためのチェックリストが、カテゴリリストです。

カテゴリ名と定義が並んだだけのタンタンとしたもので、データセットや振る舞いなどの他のコンポーネントに比べて一見味気ない存在ですが、私は密かにこれを「陰の実力者」と呼んでいます…😎

カテゴリリストはチェックリストですから、「カテゴリ名(name: )」と「定義(def: )」の二要素をリスト化すれば事足ります。上のサンプルはそのような作りになっています。前半(ベーシック)は、別投稿でお見せしているサンプルからの抜粋です。これでかなりの質問がカバーできるはずですが、回答の精度を上げるためには、def: に固有名詞やキーワードを追加していくのがお勧めです。

たとえば、この旅館に”リストランテ翠”(みどり)というイタリアンレストランや、紺青(こんじょう)という名前のお部屋があったとします。その場合、以下のような質問がユーザーから来るかも知れません。

・みどりはいつから?
・How large is Konjou?

「リストランテみどりは」、とか、「the Room Konjou」といったもう少し親切な質問なら、前半のベーシックなカテゴリリストであっても、AIは適切なカテゴリを類推できると思います。しかし、上記のような、いきなり「みどりは」「Konjou」と名指しした質問ですと、さすがのAIも迷いそうです (…みどりとは?新緑の時期についての質問?Konjouって、根性??)。結果的に、 質問が「その他」カテゴリに割り振られた挙句、「分かりません」と回答したり、はたまた的外れな回答を出す可能性が高くなってしまいます。そして残念なことに、AIコンシェルジュがユーザーから受け取る実際の質問には、名指しタイプがとても多いのです。

ですが、サンプル後半の「キーワード補足後」のカテゴリリストを使ったらどうでしょう?AIは、「みどり」「Konjou」をカテゴリリストから容易に見つけ出すことができるので、受け取った質問を、問題なく「施設・サービス」「客室」カテゴリに分類することができます!そして、それぞれのカテゴリプロンプトのデータセットの中に、リストランテ翠の営業時間や、客室”紺青”の間取り情報が含まれていれば、それらを参照して適切な回答を返すことができるのです。めでたしめでたしですね!

各カテゴリプロンプトのデータセットをどんなに充実させても、質問が実際にそのカテゴリプロンプトに割り振られなければ、せっかくのデータは活用されません。アサインメントプロンプトの「カテゴリリスト」は、いわばチャットボットの回答の成否を握る、超重要人物なのです。陰の実力者と呼びたくなる気持ち、分かっていただけましたでしょうか・・・?