デモ環境 検索テストレポート
実施日: 2025年12月18日
対象インデックス: company-knowledge
ドキュメント数: 617件(102ソース)
Azure AI Search: Free tier
1. テスト概要
デモ用データ(643チャンク)をAzure AI Search Freeプランにアップロードし、検索機能の品質を評価するための包括的なテストを実施した。
テスト環境
| 項目 |
値 |
| Search Endpoint |
https://kitanihon-rag.search.windows.net |
| Index Name |
company-knowledge |
| Embedding Model |
text-embedding-3-large (3072次元) |
| Query Expansion |
GPT-4.1 (2025-12-18より変更) |
| 回答生成モデル |
GPT-4.1 |
| 平均レスポンス時間 |
~100ms |
2. テスト結果サマリー
2.1 全体結果
| テストスイート |
テスト数 |
成功率 |
| 基本検索テスト |
51 |
100% |
| 追加テスト(類義語・質問形式) |
28 |
92.9% |
| ユーザーシナリオテスト |
32 |
100% |
| 日常表現テスト |
74 |
100% |
| 関連性・精度テスト |
15 |
100% |
| 口語体・くだけた表現テスト |
33 |
90.9% |
| 合計 |
233+ |
95%以上 |
2.2 クエリ拡張効果(GPT-4.1)
| テストタイプ |
拡張なし |
拡張あり |
改善幅 |
| 類義語検索成功率 |
22.2% |
74.1% |
+51.9pt |
| 口語体・くだけた表現 |
60.6% |
90.9% |
+30.3pt |
3. 基本検索テストクエリ一覧
3.1 就業規則カテゴリ
育児休業
介護休業
年次有給休暇
服務規律
懲戒処分
出張旅費
慶弔見舞金
3.2 安全衛生カテゴリ
安全衛生
AED
交通安全
応急処置
高所作業
構内歩行
危険予知
ヒヤリハット
3.3 業務マニュアルカテゴリ
電話応対
来客対応
名刺交換
報告書作成
会議準備
日報
3.4 品質管理カテゴリ
品質検査
工程管理
不良品対応
3.5 システム操作カテゴリ
勤怠入力
経費精算
4. 類義語・口語表現テストクエリ
4.1 クエリ拡張で改善されたケース
| 入力クエリ |
拡張後 |
結果 |
| パワハラ |
パワーハラスメント, 職場いじめ, ハラスメント |
✅ |
| セクハラ |
セクシュアルハラスメント, 性的嫌がらせ |
✅ |
| 育休 |
育児休業, 育児休暇, 子育て支援 |
✅ |
| 産休 |
産前産後休業, 出産休暇 |
✅ |
| 有休 |
年次有給休暇, 年休 |
✅ |
| 残業 |
時間外労働, 時間外勤務 |
✅ |
| ボーナス |
賞与, 一時金, 特別手当 |
✅ |
| カイゼン |
改善, 業務改善 |
✅ |
| 5S |
整理, 整頓, 清掃, 清潔, しつけ |
✅ |
| クルマ |
車, 自動車, 車両 |
✅ |
| ケータイ |
携帯, 携帯電話, スマートフォン |
✅ |
| コンプラ |
コンプライアンス, 法令遵守 |
✅ |
| サラリー |
賃金, 報酬, 給与, 給料 |
✅ |
| 給料日 |
賃金支払日, 給与支給日 |
✅ |
| 契約社員 |
有期契約, 有期雇用 |
✅ |
4.2 改善の余地があるケース
| 入力クエリ |
理由(推測) |
| OJT |
インデックスにOJT関連コンテンツがない |
| リスケ |
日程変更系のドキュメントが少ない |
| 手取り |
給与明細の詳細がない |
| 正社員 |
雇用形態の定義文書がない |
| パート |
短時間労働の規定がない |
| アルバイト |
臨時雇用の規定がない |
| ノー残業 |
働き方改革系のコンテンツがない |
5. 口語体・くだけた表現テスト(GPT-4.1)
実施日: 2025年12月18日
モデル: GPT-4.1(同日デプロイ)
テスト数: 33件
成功率: 拡張なし 60.6% → 拡張あり 90.9%(+30.3ポイント)
5.1 テスト結果一覧
| クエリ |
拡張なし |
拡張あり |
改善 |
| バイト休みたい |
❌ |
✅ |
📈 |
| サボりたい |
❌ |
✅ |
📈 |
| クビになった |
❌ |
✅ |
📈 |
| 給料上げて |
✅ |
✅ |
|
| 休み増やして |
✅ |
✅ |
|
| 定時で帰りたいんだけど |
✅ |
✅ |
|
| ボーナスいつ |
❌ |
❌ |
|
| 休みくれ |
✅ |
✅ |
|
| 辞めたい |
✅ |
✅ |
|
| 病気で休む |
✅ |
✅ |
|
| フレックス使える |
❌ |
✅ |
📈 |
| テレワークしたい |
❌ |
❌ |
|
| メンタルやばい |
❌ |
✅ |
📈 |
| パワハラされた |
❌ |
✅ |
📈 |
| セクハラ受けた |
✅ |
✅ |
|
| ちょっと体調悪い |
❌ |
✅ |
📈 |
| もう無理 |
✅ |
✅ |
|
| 上司とうまくいかない |
✅ |
✅ |
|
| 仕事きつい |
✅ |
✅ |
|
| お金足りない |
✅ |
✅ |
|
| しんどい |
✅ |
✅ |
|
| なんぼ貰える |
✅ |
✅ |
|
| いつまで働くん |
❌ |
✅ |
📈 |
| 給料日まだ |
✅ |
✅ |
|
| 明日休み |
❌ |
✅ |
📈 |
| 金くれ |
✅ |
✅ |
|
| 休ませろ |
✅ |
✅ |
|
| 異動させて |
❌ |
✅ |
📈 |
| 明日から来ない |
✅ |
✅ |
|
| 子供できた |
✅ |
✅ |
|
| 結婚する |
✅ |
✅ |
|
| 親が入院 |
✅ |
✅ |
|
| 引っ越しする |
❌ |
❌ |
|
5.2 クエリ拡張で改善された例(10件)
| 入力(口語) |
GPT-4.1による拡張 |
マッチ先 |
| バイト休みたい |
アルバイト, 休暇申請, 欠勤届 |
休暇関連規程 |
| サボりたい |
欠勤, 無断欠勤, 休暇 |
服務規律 |
| クビになった |
解雇, 退職, 雇用終了 |
退職規程 |
| フレックス使える |
フレックスタイム, 時差出勤, 勤務時間 |
勤務時間規程 |
| メンタルやばい |
メンタルヘルス, ストレス, 健康相談 |
安全衛生 |
| パワハラされた |
パワーハラスメント, 職場いじめ, 相談窓口 |
ハラスメント規程 |
| ちょっと体調悪い |
体調不良, 病気休暇, 欠勤 |
休暇規程 |
| いつまで働くん |
定年, 退職年齢, 雇用期間 |
定年規程 |
| 明日休み |
休暇, 有給休暇, 欠勤届 |
休暇規程 |
| 異動させて |
人事異動, 配置転換, 転勤 |
人事規程 |
5.3 失敗ケース分析
| 入力 |
問題 |
改善案 |
| ボーナスいつ |
賞与支給日のドキュメントなし |
賞与規程を追加 |
| テレワークしたい |
在宅勤務規程なし |
テレワーク規程を追加 |
| 引っ越しする |
転居届のドキュメントなし |
届出関連規程を追加 |
5.4 カテゴリ別成功率
| カテゴリ |
テスト数 |
拡張なし |
拡張あり |
| 若者言葉・スラング |
5 |
40% |
100% |
| タメ口・砕けた表現 |
5 |
60% |
80% |
| 略語・俗語 |
5 |
20% |
60% |
| 曖昧な表現 |
5 |
60% |
100% |
| 方言・地域表現 |
3 |
67% |
100% |
| 命令形 |
3 |
67% |
100% |
| 省略表現 |
5 |
80% |
100% |
| その他 |
2 |
50% |
100% |
5.5 考察
GPT-4.1 + クエリ拡張の効果:
- 口語表現 → 公式な業務用語への変換が高精度
- 例: 「クビになった」→「解雇、退職、雇用終了」
- 例: 「メンタルやばい」→「メンタルヘルス、ストレス、健康相談」
- 例: 「いつまで働くん」(関西弁)→「定年、退職年齢」
難しいケースでも90.9%の精度を達成し、実用レベルのRAGシステムとして十分な性能を確認。
6. ユーザーシナリオテストクエリ
6.1 新入社員シナリオ
入社手続き
社員証
名刺
電話の取り方
敬語
社内ルール
5.2 育児・介護シナリオ
育児休業 取得方法
介護休業 申請
育休 期間
復職
時短勤務
5.3 安全管理シナリオ
怪我をした
AED 使い方
火災 避難
地震 対応
労災
5.4 日常業務シナリオ
有給 申請
残業 申請
出張 精算
経費 請求
会議室 予約
6. 日常表現テストクエリ
6.1 休暇関連
休みを取りたい
明日休みたい
有給使いたい
休暇の申請方法
連休取れる?
6.2 勤怠関連
遅刻した
早退したい
残業していい?
休日出勤
代休
振替休日
6.3 手当・給与関連
給料日いつ
ボーナスいつ
交通費
住宅手当
扶養手当
6.4 トラブル対応
ハラスメント
パワハラ相談
セクハラ被害
いじめ
嫌がらせ
7. テスト実行方法
7.1 基本検索テスト
cd /path/to/KnowledgeYardV2
source .env
python tests/demo_search_test.py
7.2 類義語テスト(クエリ拡張比較)
source .env
python -c "
import os
import sys
sys.path.insert(0, '.')
import requests
from app.api.services.query_expansion import expand_query
endpoint = os.environ['AZURE_SEARCH_ENDPOINT']
key = os.environ['AZURE_SEARCH_API_KEY']
index = 'company-knowledge'
url = f'{endpoint}/indexes/{index}/docs/search?api-version=2024-07-01'
headers = {'Content-Type': 'application/json', 'api-key': key}
# テストクエリ
test_queries = ['パワハラ', 'セクハラ', '育休', 'ボーナス', '5S']
for query in test_queries:
# 拡張なし
payload1 = {'search': query, 'queryType': 'simple', 'top': 5}
resp1 = requests.post(url, headers=headers, json=payload1, timeout=10)
count1 = len(resp1.json().get('value', []))
# 拡張あり
_, expanded_terms = expand_query(query)
expanded_query = ' '.join(expanded_terms[:3])
payload2 = {'search': expanded_query, 'queryType': 'simple', 'top': 5}
resp2 = requests.post(url, headers=headers, json=payload2, timeout=10)
count2 = len(resp2.json().get('value', []))
print(f'{query}: 拡張なし={count1}件, 拡張あり={count2}件')
"
7.3 クエリ拡張単体テスト
source .env
python -c "
import sys
sys.path.insert(0, '.')
from app.api.services.query_expansion import expand_query
test_queries = ['パワハラ', '育休', 'ボーナス', 'サラリー', '5S']
for q in test_queries:
_, terms = expand_query(q)
print(f'{q} → {terms}')
"
8. クエリ拡張機能について
8.1 仕組み
ユーザー入力: "パワハラ"
↓
[クエリ拡張 (GPT-4.1)]
↓
拡張キーワード: ["パワーハラスメント", "職場いじめ", "ハラスメント", ...]
↓
[Azure AI Search]
↓
検索結果: 関連ドキュメント
8.2 設定
| 環境変数 |
値 |
説明 |
ENABLE_QUERY_EXPANSION |
1 |
クエリ拡張を有効化 |
ENABLE_QUERY_EXPANSION |
0 または未設定 |
クエリ拡張を無効化 |
8.3 関連ファイル
app/api/services/query_expansion.py - 拡張処理ロジック
app/api/prompts/query_expansion.txt - 同義語マッピングを含むプロンプト
search/search_client.py - 検索時の拡張呼び出し
8.4 コスト考慮
- モデル: GPT-4.1 (2025-12-18より変更)
- 料金: 入力 $2.00/100万トークン, 出力 $8.00/100万トークン
- GPT-4oとの比較: 20%コスト削減、性能向上
- 1クエリあたり: 約100〜200トークン → 約0.03円以下
- 対策オプション:
- キャッシュ機能の追加
- 頻出クエリの事前拡張辞書
- 必要に応じてクエリ拡張を無効化
9. 結論
9.1 強み
- ✅ 基本的な検索クエリは100%の成功率
- ✅ クエリ拡張により類義語検索が22.2%→74.1%に改善
- ✅ 口語体・くだけた表現でも60.6%→90.9%に改善(GPT-4.1)
- ✅ 日常表現での検索も100%成功
- ✅ レスポンス時間は約100msと高速
- ✅ GPT-4.1採用でGPT-4o比20%コスト削減+性能向上
9.2 改善点(追加推奨ドキュメント)
| カテゴリ |
不足しているドキュメント |
対応クエリ例 |
| 働き方改革 |
テレワーク規程 |
テレワークしたい |
| 届出関連 |
転居届、住所変更届 |
引っ越しする |
| 賞与規程 |
賞与支給日、計算方法 |
ボーナスいつ |
| 雇用形態 |
正社員、パート、アルバイト規程 |
正社員って何 |
| 教育訓練 |
OJTマニュアル |
OJTとは |
9.3 推奨事項
- 不足しているカテゴリのドキュメントを追加
- 本番運用時はクエリ拡張のキャッシュ機能を検討
- ユーザーフィードバックを収集して同義語マッピングを拡充
付録: テストファイル一覧
| ファイル |
目的 |
tests/demo_search_test.py |
基本検索テスト(7カテゴリ51件) |
tests/demo_advanced_test.py |
類義語・質問形式・あいまいテスト |
tests/demo_coverage_test.py |
カバレッジ・エッジケーステスト |
tests/demo_scenario_test.py |
ユーザーシナリオテスト(8シナリオ32件) |
tests/demo_colloquial_test.py |
口語・類義語テスト |
tests/demo_everyday_test.py |
日常表現テスト |
tests/demo_relevance_test.py |
関連性・精度テスト |