銀河鉄道

Intent Classification(意図分類)|チャットボットが自然に会話するために必要なもの

サムネイル
[What's AI?]Intent Classification
実は地味な
Intent Classification

Intent ?

日本語で言えば、
意図(Intent)を
分類すること

AIの意図分類(Intent Classification)って何?

ボットが一つの窓口でいろんな質問に答えようとする時。

まずやらなあかんのが「これって何の話?」って見分けること。

たとえば、こんな質問が飛んでくるとして。

  • 「今の天気は?」
    • → 天気APIを叩く系
  • 「ありがとう」
    • → 雑談として処理
  • 「PDFを読んで教えて」
    • → 自社文書の検索
  • 「明日の会議予定ある?」
    • → スケジュール確認

これを一つの入口で全部受け付けて、正しい返しをするには、まず“分類”せんと始まらんわけや。

チャットボットでの Intent Classification のやり方

チャットボット界では、大きく分けてこんな方法が使われてる。

Rule-based(ルールベース)

「ありがとう」「よろしく」みたいなキーワードで条件分岐。
手作業やけどシンプルで速い。精度はまあまあ。

MLモデル(機械学習)

過去の会話ログを学習させて、「これは雑談」「これは質問」って自動で判断。
精度は高いけど、学習データと保守がちょい重め。

LLM利用(ChatGPTなど)

プロンプトで「これって何系の質問?」って分類させる。
ラクやけどAPIコストがかかる。

ハイブリッド型

最初はRuleでふるいにかけて、あいまいなやつだけLLMに回す。
速さと精度のバランスが良くて、実用的なやり方。

実例:GoogleやLINE Botでも採用されてる

たとえばDialogflow(Google AssistantやLINE BOTで使われるやつ)も、

  • ユーザーの入力を「Intent」として分類
  • そのIntentに応じた処理や返事を実行
  • GUIで「どんな言葉がどのIntentか」設定できる

つまりIntent分類って、**会話設計の“心臓部”**なんよ。

よくある誤解と実際の構造

意外と多いのが、「AIなら勝手にええ感じにやってくれるやろ!」って思い込み。

でもな、現実はぜんっぜんちゃうねん。

みんなの期待実際にやってること
勝手に意図を読み取ってくれるやろ?ルールや分類器で「これは雑談」「これは質問」って一つずつ設計してる
適当に答えてくれるんちゃう?DB検索とかRAGとかで、構造設計しながら返してる
文脈もずっと覚えてるはずログを残して順番や構造まで管理してる
どんなファイルでも答えてくれるやろ?PDFごとにインデックス作って、フィルターも実装してる

裏では、
地味に分類してるんだ

魔法感を作るための「地道な構造設計」

AIが自然に見える裏には、こんだけの設計が詰まってる。

  • ルールで意図分類
  • 質問文をチャンク分割
  • ベクトル検索
  • 結果の整形
  • 文章の生成
  • ログ出力と構造管理

ここまでして、ようやく「あっ、なんか自然に答えてくれた」ってなるわけ。

まとめ

意図分類は、複数の機能を持たせたボットには絶対必要な設計やで。

結局、ボットにとって「これは質問?お願い?それとも世間話?」ってのは、教えられんとわからん世界。
そしてその“教え”をどうデザインするかが、チャットボット設計の奥深いところ。

ひとことで言うと
けっこう大変なんだってこと

著者

author
月うさぎ

編集後記:
この記事の内容がベストではないかもしれません。

記事一覧