intent-detection について
自動営業ボットの開発者向けに、見込み顧客の関心、異議、質問、配信停止要求などの検出方法を扱うスキルです。ルール、機械学習、ハイブリッド分類に加え、確信度に応じたフォールバックやエスカレーション、継続的な改善を説明します。
主な機能
- 01営業会話でよくある意図の認識
- 02ルールと機械学習を組み合わせた分類
- 03複数意図と文脈依存の意図への対応
- 04確信度に応じたフォールバックとエスカレーション
- 05配信停止要求の優先的なコンプライアンス対応
- 06指標と誤分類の見直しによる検出改善
活用シーン
- 01見込み顧客の意図に応じたボット応答の選択
- 02配信停止要求の検出と即時対応
- 03曖昧なメッセージの確認または担当者への引き継ぎ
- 04誤分類を分析して意図モデルを改善
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ louisblythe/ sales-skills --skill intent-detectionインストール後、Claude Code で/intent-detectionを入力して読み込まれたか確認します。
詳細
セールスボットのインテント検出
自動セールスボット向けのインテント検出システム構築に精通しています。見込み顧客が関心を示しているのか、異議を唱えているのか、質問をしているのか、あるいは別のインテントを表明しているのかを正確に認識するシステムの設計を支援します。
初期評価
ガイダンスを提供する前に、以下を把握してください。
-
コンテキスト
- ボットはどのチャネルで動作していますか?(SMS、メール、チャット、音声)
- ボットの主な目標は何ですか?(見込み顧客の選別、商談の予約、見込み顧客の育成)
- どの CRM/ツールを使用していますか?
-
現状
- 既存のインテント検出システムはありますか?
- どのインテントを検出しようとしていますか?
- 現在の正解率はどのくらいですか?
-
目標
- インテント検出の改善によって、何を達成したいですか?
- 誤分類によって、どこで問題が生じていますか?
基本原則
1. インテントが応答を決める
- インテントを正しく検出すれば、適切な応答が可能になります
- 誤ったインテント = 誤った応答 = 機会損失
- これがボットの知能の基盤です
2. 現実の言葉遣いは複雑です
- 人は明確なカテゴリーに分けて話すわけではありません
- 1つのメッセージに複数のインテントが含まれることがあります
- コンテキストによって意味が変わります
3. 信頼度のしきい値が重要です
- すべての分類の信頼度が同じとは限りません
- 信頼度が低い場合は、フォールバックを実行する必要があります
- 判断に迷った場合は、エスカレーションするか、質問してください
4. 継続的な改善
- インテントモデルはメンテナンスしなければ性能が低下します
- 新しいパターンは絶えず現れます
- 誤分類から学びましょう
よくあるセールスインテント
肯定的なインテント
関心あり:
- 「詳しく教えてください」
- 「面白そうですね」
- 「どのような仕組みですか?」
- 「資料を送ってください」
購入の準備ができている:
- 「ぜひ進めたいです」
- 「申し込み方法を教えてください」
- 「次のステップは何ですか?」
- 「契約書を送ってください」
ミーティングの依頼:
- 「電話で話す予定を組めますか?」
- 「火曜日なら空いています」
- 「デモを設定しましょう」
- 「さらに詳しく相談したいです」
否定的なインテント
関心がない:
- 「興味ありません」
- 「間に合っています」
- 「リストから削除してください」
- 「結構です」
配信停止:
- 「停止」
- 「配信停止」
- 「もう連絡しないでください」
- 「STOP」(SMS のコンプライアンス対応)
担当者が違う:
- 「この件は担当していません」
- 「電話番号をお間違えです」
- 「これは私の担当分野ではありません」
- 「別の人に連絡してください」
中立的/情報関連のインテント
質問:
- 「費用はいくらですか?」
- 「導入にはどのくらい時間がかかりますか?」
- 「X と連携できますか?」
- 「何が含まれていますか?」
異議:
- 「高すぎます」
- 「すでに別のソリューションを導入しています」
- 「今は適切なタイミングではありません」
- 「上司に相談する必要があります」
情報の依頼:
- 「導入事例を送ってください」
- 「推薦者を紹介してもらえますか?」
- 「デモを見せてもらえますか?」
- 「どの業界を対象にしていますか?」
コンテキストに依存するインテント
タイミングに関するもの:
- 「また今度」
- 「次の四半期に連絡してください」
- 「今は無理ですが、連絡は続けてください」
- 「3か月後にまた確認してください」
紹介・委任:
- 「同僚に話してください」
- 「アシスタントを CC に入れてください」
- 「[名前]に話してみてください」
- 「ご紹介します……」
インテント分類の構築
アプローチ 1:ルールベース
仕組み:
- インテントごとにキーワードやフレーズを定義する
- 受信メッセージをルールに照合する
- シンプルで、透明性が高く、メンテナンスしやすい
ルールの例:
INTERESTED:
- contains: ["interested", "tell me more", "sounds good", "learn more"]
NOT_INTERESTED:
- contains: ["not interested", "no thanks", "pass", "all set"]
OPT_OUT:
- exact: ["stop", "unsubscribe", "remove"]
- contains: ["stop texting", "stop calling", "remove me"]
メリット:
- 実装やデバッグが簡単
- 学習データが不要
- 完全な透明性がある
デメリット:
- 表現の違いを見落とす
- ニュアンスに対応できない
- 継続的な更新が必要
アプローチ 2:ML ベース
仕組み:
- ラベル付きの例で分類器を学習させる
- モデルがパターンを学習する
- 新しい表現にも一般化できる
一般的なアプローチ:
- 従来の ML(Naive Bayes、SVM)
- ディープラーニング(BERT、トランスフォーマー)
- API ベース(OpenAI、Claude など)
メリット:
- 表現の違いにより適切に対応できる
- ニュアンスを検出できる
- データの蓄積に伴って改善する
デメリット:
- 学習データが必要
- 透明性が低い
- 予想外の失敗が起きる可能性がある
アプローチ 3:ハイブリッド
両方の長所を活用:
- 明確なケース(配信停止、明示的な関心)にはルールを使用する
- ニュアンスを含むケース(婉曲的な異議、暗示された関心)には ML を使用する
- エスカレーションに信頼度のしきい値を設定する
フローの例:
1. Check compliance rules first (OPT_OUT keywords)
2. Check explicit intent rules
3. If no rule match, run ML classification
4. If ML confidence < threshold, flag for human review
インテント検出アーキテクチャ
メッセージ処理フロー
Incoming Message
↓
Preprocessing (normalize, clean)
↓
Rule-Based Check (compliance, explicit)
↓
ML Classification (nuanced intents)
↓
Confidence Check
↓
High Confidence → Automated Response
Low Confidence → Human Review or Clarifying Question
主なコンポーネント
前処理:
- テキストを正規化する(小文字化、特殊文字の削除)
- SMS の略語に対応する
- 短縮形を展開する
- ノイズを除去する
ルールエンジン:
- キーワードのマッチング
- 正規表現パターン
- 優先順位付け
ML 分類器:
- 特徴量の抽出
- インテントの予測
- 信頼度のスコアリング
後処理:
- 信頼度のしきい値
- 複数インテントへの対応
- エスカレーションロジック
複雑さへの対応
複数のインテント
メッセージの例: 「興味はありますが、Q2 までは予算がありません。料金情報を送ってもらえますか?」
含まれるインテント:
- 興味がある
- 時期に関する懸念
- 情報のリクエスト
アプローチ:
- すべてのインテントを検出する
- 優先順位に基づいて応答を優先する
- 最も重要で対応可能なインテントに対処する
- ほかのインテントにも触れる
曖昧なメッセージ
例: 「たぶん」 「少し考えさせてください」 「興味深いですね」
アプローチ:
- 信頼度スコアを下げる
- 明確化の質問をする
- または、フォローアップシーケンスを開始する
- パターン分析のために記録する
コンテキストに依存するインテント
同じメッセージでも、インテントが異なる場合:
- 「費用はいくらですか?」(デモの後=購入の兆候)
- 「費用はいくらですか?」(最初の接点=情報収集)
アプローチ:
- 分類に会話のコンテキストを含める
- 段階に応じて異なるモデルやルールを使う
- 会話の状態を記録する
信頼度とフォールバック
信頼度のしきい値を設定する
信頼度が高い(>0.85):
- 自動応答する
- 次のステップに進む
信頼度が中程度(0.6-0.85):
- より控えめな表現で自動応答する
- 応答がうまくいかなかった場合は、確認用にフラグを立てる
信頼度が低い(<0.6):
- 明確化の質問をする
- 人間にエスカレーションする
- 安全なフォールバック応答を返す
フォールバック戦略
明確化の質問: 「正しく理解したいので確認させてください。詳しく知りたいですか、それとも別の機会にご連絡するほうがよろしいですか?」
無難な確認: 「ご返信ありがとうございます。適切な情報をお伝えできるよう、確認して改めてご連絡します。」
人間へのエスカレーション: 「よいご質問ですね。チームの担当者から直接ご連絡するようにします。」
コンプライアンスに関する考慮事項
必ず検出するインテント
SMS(TCPA/ACMA):
- STOP、UNSUBSCRIBE、CANCEL、END、QUIT
- 直ちに検出する必要があります
- 直ちに対応する必要があります(以後メッセージを送信しない)
メール(CAN-SPAM/GDPR):
- 配信停止のリクエスト
- データ削除のリクエスト
- 定められた期間内に対応する必要があります
実装
優先度 1 のルール:
OPT_OUT (immediate action, no exceptions):
- STOP
- UNSUBSCRIBE
- REMOVE
- CANCEL
- Any message containing "stop texting"
これらのルールは、ほかの処理よりも先に実行される必要があります。
テストと改善
パフォーマンスの測定
精度指標:
- 適合率(予測されたインテントのうち、正しかった割合)
- 再現率(実際のインテントのうち、検出された割合)
- F1 スコア(適合率と再現率のバランス)
- 混同行列(混同されているインテント)
ビジネス指標:
- 応答の適切さの割合
- エスカレーション率
- 検出されたインテント別のコンバージョン
- 顧客満足度
テストセットの作成
実際の例を収集する:
- 実際の会話からサンプルを抽出する
- 手動でラベル付けする
- エッジケースを含める
テストセットのカテゴリ:
- 明確なインテント(正しく判定できるはずのもの)
- 曖昧なインテント(明確化が必要な場合があるもの)
- 複数のインテント(すべてを検出するもの)
- エッジケース(一般的でない言い回し)
継続的な改善
定期的なレビュー:
- 誤分類のサンプルを毎週確認する
- パターンを特定する
- ルールを更新するか、モデルを再トレーニングする
フィードバックループ:
- ボットの応答が失敗したときを記録する
- インテントの検出結果と照合する
- 根本原因を修正する
実装チェックリスト
フェーズ 1:基盤
- インテントの分類体系を定義する
- コンプライアンスルール(配信停止)を設定する
- 基本的なルールマッチングを実装する
- フォールバック応答を作成する
フェーズ 2:機能強化
- トレーニングデータを収集する
- ML 分類を実装する
- 信頼度のしきい値を設定する
- エスカレーションロジックを構築する
フェーズ 3:最適化
- 複数インテントの検出を実装する
- コンテキスト認識を追加する
- フィードバックループを構築する
- 監視して改善する
確認すべき質問
さらに詳しい情報が必要な場合は、以下を確認してください。
- ボットはどのチャネルで動作しますか?
- 検出すべき最も重要なインテントは何ですか?
- ラベル付きのトレーニングデータはありますか?
- 現在の精度はどのくらいですか?
- 誤分類によって最も大きな問題が生じているのはどこですか?
関連スキル
- sentiment-analysis:感情のトーンを把握するためのスキル
- conversational-flow-management:適切に応答するためのスキル
- objection-recognition:特定の異議の種類を検出するためのスキル
- compliance-handling:規制要件に対応するためのスキル