1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

チャットボットの問題点

1
Posted at

チャットボットにおけるユーザー入力の曖昧さ

チャットボットの問題点の一つとして、ユーザー入力の曖昧さを十分に吸収できていない点がある。

特に、RAGを用いたチャットボットでは、ユーザーの質問文と検索対象の文書表現が一致しない場合、適切な情報を取得できず、回答精度が低下する。

この「曖昧さ」は、単なる表記揺れだけではなく、以下のように複数の要因に分解できる。


ユーザー入力の曖昧さの主な要因

1. 表現の曖昧さ

ユーザーが正式名称ではなく、略称・省略表現・日常的な言い換えで質問するケースである。

例えば、以下のような入力が該当する。

  • 「育休」
  • 「給付金いくら?」
  • 「パパ育休」
  • 「会社休んだらお金出る?」

一方で、制度文書や公的資料では、以下のような正式表現が使われる。

  • 育児休業
  • 育児休業給付金
  • 出生時育児休業
  • 支給額
  • 支給率
  • 支給上限額

このように、ユーザーの自然な表現と、資料内の制度上の表現にズレがあると、検索クエリと文書表現が一致せず、必要な情報を取得できない可能性がある。


2. 意図の曖昧さ

ユーザーが何を知りたいのかが明確でないケースである。

例えば、次のような質問がある。

育休について教えて

この質問だけでは、ユーザーが知りたい内容を特定できない。

考えられる意図は複数ある。

  • 育児休業を取得できる条件を知りたい
  • 育児休業の期間を知りたい
  • 育児休業給付金の金額を知りたい
  • 申請手続きを知りたい
  • 社内制度を知りたい
  • 社会保険料免除について知りたい

このような場合、単純にRAG検索を行うだけでは、検索範囲が広くなりすぎたり、ユーザーの意図と異なる文書を取得したりする可能性がある。


3. 複数論点の混在

一つの質問の中に、複数の論点が含まれているケースである。

例えば、次のような質問がある。

育休中の給付金と社会保険料と復職後の時短勤務について教えて

この質問には、少なくとも以下の3つの論点が含まれている。

  1. 育児休業給付金
  2. 社会保険料免除
  3. 復職後の短時間勤務制度

このような質問を一つの検索クエリとして扱うと、取得される文書が分散し、回答に必要な情報を十分に集められない可能性がある。

そのため、質問を論点ごとに分解し、それぞれに対して検索を行う必要がある。


4. 回答に必要な条件情報の不足

制度に関する質問では、ユーザーの属性や状況によって回答が変わることが多い。

例えば、次のような質問がある。

育休はいつから取れますか?

この質問に正確に回答するには、以下のような条件情報が必要になる場合がある。

  • 雇用形態
  • 入社時期
  • 子どもの生年月日
  • 休業開始予定日
  • 男性か女性か
  • 有期雇用か無期雇用か
  • 社内規程上の適用条件

このような前提情報が不足している場合、検索クエリを拡張するだけでは正確な回答にたどり着けない。

そのため、必要に応じてユーザーへ聞き返す仕組みが必要になる。


5. 公的制度と社内制度の混同

育児制度のような業務領域では、ユーザーが公的制度と社内制度を区別せずに質問することがある。

例えば、次のような質問がある。

育休中に会社からお金は出ますか?

この質問には、以下の2つの観点が含まれる可能性がある。

  • 雇用保険制度に基づく育児休業給付金
  • 会社独自の給与・手当・福利厚生制度

厚生労働省の資料だけを検索しても、会社独自の制度については回答できない。

一方で、社内規程だけを検索すると、公的な給付制度を見落とす可能性がある。

そのため、質問内容に応じて、検索対象を切り替える、または複数の情報源を組み合わせる必要がある。


対策の方向性

ユーザー入力の曖昧さに対応するには、原因ごとに対策を分けて考える必要がある。

要因 内容 主な対策
表現の曖昧さ 略称、省略、言い換え、表記揺れ Query Expansion、Query Rewrite、同義語辞書、Hybrid検索
意図の曖昧さ 何を知りたいのかが不明確 意図分類、選択肢提示、質問の具体化
複数論点の混在 1つの質問に複数テーマが含まれる 質問分解、Multi-query検索
条件情報の不足 回答に必要な前提情報が足りない 不足条件判定、聞き返し、スロット補完
公的制度と社内制度の混同 検索すべき情報源が不明確 情報源分類、検索先の切替、複数RAGの使い分け

Query ExpansionとAgent SDKの役割整理

表現の曖昧さに対する対策としては、LLMによるQuery ExpansionやQuery Rewriteが考えられる。

例えば、以下のような変換である。

ユーザー表現 補正後の検索表現
育休 育児休業
給付金いくら 育児休業給付金、支給額、支給率、上限額
パパ育休 出生時育児休業
いつまで 支給期間、対象期間

ただし、Agent SDKを用いる場合は注意が必要である。

Agent SDKでは、LLMが検索結果を確認しながら、必要に応じて検索クエリや検索手法を変更し、再探索することができる。

例えば、以下のような動きが可能である。

1回目: search_hybrid("育児休業給付金はいくらもらえますか")
2回目: search_bm25("育児休業給付金 支給率 67% 50%")
3回目: search_bm25("育児休業給付金 上限額 支給期間")

## ベンダー製チャットボットでLLM活用が限定的になりやすい理由

ベンダー製チャットボットでは、LLMの活用が限定的になっているケースがある。

その背景として、LLMを全面的に組み込むと、費用・品質・運用の見積もりが難しくなる点があると考えられる。

従来型のFAQチャットボットであれば、FAQ件数、利用ユーザー数、月額費用などをもとに比較的シンプルに提案できる。

一方で、LLMを利用する場合は、入力トークン数、出力トークン数、利用モデル、RAGで渡す文脈量、検索回数、再検索回数などによって費用が変動する。

特にAgentic RAGのように、LLMが検索クエリを変更しながら複数回探索する構成では、1問い合わせあたりの処理量が可変になる。

そのため、ベンダー側としては、固定価格での提案や運用費用の見積もりが難しくなりやすい。

また、LLMを用いると回答内容が動的に生成されるため、従来のFAQ型チャットボットと比べて、回答品質の保証や誤回答時の責任範囲も設計しにくい。

このため、ベンダー製チャットボットでは、まずはシナリオ型、FAQ検索型、キーワード検索型を中心に設計し、LLMの利用は限定的にしている可能性がある。
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?