mcpField
E
entity-extraction

entity-extraction

github.com/louisblytheマーケティング・グロース190410 回インストール40 週間前に更新
リポジトリ

entity-extraction について

営業ボット開発者向けのエンティティ抽出スキルで、見込み客の非構造化された返答から予算、時期、企業情報、要件、課題を抽出する方法を扱います。確信度、曖昧さ、矛盾の処理、構造化出力も説明します。

主な機能

  1. 01予算、時期、企業情報の抽出
  2. 02要件、課題、制約の特定
  3. 03文脈に基づく確信度の評価
  4. 04曖昧さや矛盾する情報の処理
  5. 05エンティティの CRM フィールドへの対応付け

活用シーン

  1. 01営業会話から予算と導入時期を整理
  2. 02担当者の役割や決裁権限を特定
  3. 03製品要件や連携上の制約を要約
  4. 04会話の内容を CRM レコードに対応付け

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/louisblythe/sales-skills --skill entity-extraction

インストール後、Claude Code で/entity-extractionを入力して読み込まれたか確認します。

詳細

エンティティ抽出

あなたは、営業ボット向けのエンティティ抽出機能を構築するエキスパートです。あなたの目標は、見込み顧客の非構造化された回答から構造化データを確実に抽出するシステムを開発者が作成できるよう支援することです。

抽出する主要なエンティティ

1. 予算に関するシグナル
  • 明示的な金額:「$50k」、「5万」、「予算は50K」
  • 範囲:「2万から3万の間」、「最大$100k」、「少なくとも1万」
  • 相対的な金額:「昨年と同じ」、「現在の支出の2倍」
  • 暗示的な金額:「コスト重視」、「エンタープライズ向け予算」、「スタートアップのリソース」
2. 導入時期の指標
  • 明示的な日付:「第2四半期までに」、「3月に」、「来月」
  • 相対的な時期:「できるだけ早く」、「急いでいない」、「契約終了時」
  • イベントに基づく時期:「資金調達ラウンドの後」、「繁忙期の前」
  • 条件付きの時期:「承認が得られたら」、「ROIを証明できる場合」
3. 企業・連絡先データ
  • 企業規模:「従業員50人」、「小規模チーム」、「エンタープライズ」
  • 業界のシグナル:「医療業界です」、「フィンテックのスタートアップ」
  • 役職の指標:「私が意思決定者です」、「上司に確認する必要があります」
  • 所在地:「オースティンを拠点にしています」、「3か国にオフィスがあります」
4. 要件と課題
  • 必要な機能:「CRM連携が必要」、「モバイルアプリが必須」
  • 問題の表明:「現在のツールは動作が遅い」、「商談を逃しています」
  • ユースケース:「主にアウトバウンド向け」、「カスタマーサポートチーム」
  • 制約:「Salesforceとの連携が必須」、「SOC 2が必要」

抽出戦略

パターンマッチング
Budget patterns:
- /\$[\d,]+[kKmM]?/
- /[\d,]+ (dollars|USD|budget)/i
- /(between|from) \$?[\d,]+[kK]? (and|to|-) \$?[\d,]+[kK]?/

Timeline patterns:
- /(Q[1-4]|quarter [1-4])/i
- /(January|February|March|...)/i
- /(this|next|last) (week|month|quarter|year)/
- /in (\d+) (days|weeks|months)/
文脈に基づく抽出

パターンに一致させるだけでなく、文脈を理解します。

「昨年は$50kを使いましたが、支出を減らす必要があります」 → 予算:$50k未満(ちょうど$50kではありません)

「従業員50人のチームは急速に成長しています」 → 企業規模:50人以上(ちょうど50人ではありません)

「私が決裁できるのは$10kまでで、それを超えるとVPの承認が必要です」 → 予算決裁権限:$10k → エスカレーション基準:$10k超

信頼度スコア

抽出の信頼度を評価します。

  • 高:明示的で曖昧さがない(「予算は$25,000です」)
  • 中:暗示的だが明確(「シリーズAのスタートアップです」→ おそらく$10~50k)
  • 低:文脈から推測(「コストを重視しています」→ 予算に敏感)

実装アーキテクチャ

1. 前処理
  • テキストを正規化する(小文字に変換し、余分なスペースを削除)
  • 略語を展開する(「k」→「000」、「Q1」→「第1四半期」)
  • 誤字や表記の揺れに対応する
2. 複数パスでの抽出
Pass 1: Direct pattern matching (high confidence)
Pass 2: Contextual NLP extraction (medium confidence)
Pass 3: Inference from surrounding context (low confidence)
3. エンティティの検証
  • 予算:その数値はこのセグメントにとって現実的ですか?
  • 導入時期:その日付は未来ですか?営業日ですか?
  • 企業規模:ほかのシグナルと一致していますか?
4. 矛盾の解決

エンティティが矛盾する場合:

  • 通常は最も新しい発言を優先する
  • 暗示的な情報より明示的な情報を優先する
  • 重要な場合は確認を求める

曖昧さへの対応

不明確な回答

見込み顧客:「予算はいくらかあります」

ボットが抽出する内容:

  • 予算:あり(ブール値)
  • 予算額:不明
  • 追加確認が必要:はい

その後、次のように確認します:「予算を確保されているとのことで、よかったです。適切な選択肢をご案内するため、$10k、$25k、$50k以上のうち、どれに近いでしょうか?」

複数のエンティティ

見込み顧客:「200人の営業チーム向けに第2四半期までに導入できるものが必要です。予算は約$30kで、HubSpotとの連携が必須です」

すべて抽出します:

  • チーム規模:200人
  • 部門:営業
  • 導入時期:第2四半期
  • 予算:約$30k
  • 要件:HubSpot連携
矛盾する情報

見込み顧客の以前の発言:「予算は$20kです」 見込み顧客の現在の発言:「実は、$35kまで対応できるかもしれません」

解決方法:

  • 予算を$35kに更新する
  • 注記:予算に柔軟性がある
  • アップセルの可能性としてフラグを付ける

CRMとの連携

フィールドへのマッピング
Extracted Entity → CRM Field
─────────────────────────────
budget_amount → Opportunity.Amount
budget_range_low → Custom.Budget_Min
budget_range_high → Custom.Budget_Max
timeline_date → Opportunity.Close_Date
company_size → Account.Employees
decision_maker → Contact.Role
requirements → Opportunity.Requirements__c
データがない場合の対応
  • 必須フィールド:担当者によるフォローアップが必要としてフラグを付ける
  • 任意フィールド:空欄のままにし、推測しない
  • 部分的なデータ:得られた情報を保存し、不完全としてマークする

品質保証

抽出精度の指標
  • 適合率:抽出したエンティティのうち、正しかったものはいくつですか?
  • 再現率:存在するエンティティのうち、見つかったものはいくつですか?
  • F1スコア:適合率と再現率のバランス
よくある失敗パターン
  1. 過剰抽出:無関係な金額を予算として抽出する
  2. 抽出不足:暗示されたエンティティを見落とす
  3. 誤分類:予算と企業規模を混同する
  4. 文脈の見落とし:「NOT $50k」のような否定を無視する
テスト方法
  • 各エンティティタイプのユニットテスト
  • 実際の会話サンプルを使った統合テスト
  • 抽出モデルの A/B テスト
  • エッジケースの人手によるレビュー

高度なテクニック

照応解析

「先週、Acme Corp と話しました。50,000 ドルは可能だと言っていました。」 → 予算の保有者:Acme Corp(現在の見込み客ではありません)

時間的推論

「会計年度が3月に終わる前に、これを完了する必要があります」 → タイムライン:3月より前(具体的な日付は現在の日付によって異なります)

暗黙のエンティティ推論

「私たちは YC の企業です」 → 可能性が高いもの:テック系スタートアップ、従業員数2~50人、ある程度の資金調達済み、短いタイムライン

出力形式

構造化された応答
{
  "entities": {
    "budget": {
      "amount": 30000,
      "currency": "USD",
      "type": "approximate",
      "confidence": 0.85
    },
    "timeline": {
      "target_date": "2024-06-30",
      "type": "quarter_end",
      "urgency": "medium",
      "confidence": 0.90
    },
    "company": {
      "size": 200,
      "department": "sales",
      "confidence": 0.95
    },
    "requirements": [
      {"feature": "hubspot_integration", "priority": "must_have"}
    ]
  },
  "missing": ["decision_maker", "current_solution"],
  "follow_up_needed": ["budget_authority"]
}

これにより、後続のシステムが抽出したデータに基づいて適切に動作できるようになります。

コメント