OpenSearch Industry Algorithm Edition は、教育検索における中核となる課題に対処します。これらの課題には、数千万件のエントリに増加する質問ライブラリ、ピーク時の同時実行数の急増、複数分野にわたるクエリエラー、および画像とテキスト入力を組み合わせたクエリが含まれます。このページでは、クエリ処理パイプライン、主要機能、および本番 K12 デプロイメントからの検証済みのパフォーマンス結果について説明します。
教育検索における課題
テスト問題検索には、汎用検索エンジンが課題を抱える特有の問題があります。
| 課題 | 説明 |
|---|---|
| 規模と成長 | 質問ライブラリには数千万件のテスト問題が含まれる可能性があり、増加し続けるため、データベースに持続的な負荷がかかります。 |
| ピーク時の同時実行数 | ほとんどの検索は、朝の学習セッションや試験期間など、同時に発生するため、高い同時実行負荷と高い検索レイテンシーを引き起こします。 |
| 複数分野にわたるクエリエラー | 問題は、数学、言語、科学、その他の科目など、多岐にわたります。科目認識型のクエリ分析がなければ、数学のクエリが他の分野からの無関係な結果を表示する可能性があります。 |
| マルチモーダル入力 | 学生は問題を撮影し、画像検索で検索します。パイプラインは、画像とテキストの両方をクエリ入力として処理する必要があります。 |
| 多言語コンテンツ | ライブラリには英語やその他の言語のコンテンツが含まれており、クエリ時に多言語処理が必要です。 |
| 精度要件 | 検索精度は学習成果に直接影響するため、関連性が高くなければなりません。 |
仕組み
クエリが到着すると、OpenSearch はドキュメントの取得とランキングの前に、それを6段階のパイプラインで実行します。
| ステージ | 発生する事柄 |
|---|---|
| スペル修正 | 処理が開始される前に、クエリ内のタイプミスと OCR エラーが修正されます。 |
| 分野カテゴリ予測 | クエリは科目分野 (例: 数学) に分類されます。予測された分野はソート式に供給され、分野に関連する結果を向上させます。 |
| トークン化 | クエリは取得のために意味のあるトークンに分割されます。 |
| 用語重み分析 | 各トークンには、重要度スコア 7 (高)、4 (中)、または 1 (低) が割り当てられます。スコアが 1 のトークンは、ノイズを低減するために取得から除外されます。 |
| シノニム書き換え | トークンはシノニムルールを使用して拡張されます。たとえば、「square centimeters」は「cm²」を同義語として含むように書き換えられます。 |
| テキストベクトル化 | クエリは密ベクトルとしてエンコードされ、キーワード取得と並行して意味的マッチングを可能にします。これにより、キーワード検索の精度とベクトル検索のコンテキストの関連性が組み合わされ、正確な用語が異なる場合でも結果がクエリの意図と一致します。 |
例: クエリ「What is the area of the following triangle in square centimeters?」の場合、パイプラインは以下を生成します。
| ステージ | 出力 |
|---|---|
| 分野カテゴリ予測 | 数学 |
| 用語重み分析 | 1 7 1 7 1 4 7 7 1 |
| シノニム書き換え | square centimeters → (cm ^ 2) |
| テキストベクトル化 | -0.100582, -0.0540699, -0.0417337, 0.0602, ... |
主要機能
テスト問題専用アナライザ
OpenSearch には、テスト問題クエリ専用に構築されたアナライザが含まれています。上記で説明した6段階のパイプライン全体を適用します。ご自身のクエリ用語をアップロードして、ご利用の質問ライブラリ向けにカスタム語彙でアナライザを拡張します。
カテゴリ予測
カテゴリ予測は、各クエリを科目分野と質問タイプに分類します。クエリに画像が含まれている場合、モデルは画像情報と光学文字認識 (OCR) の結果を取り込み、分野と質問タイプを決定します。
予測されたカテゴリスコアはソート式に直接供給されます。カテゴリがクエリの予測された分野と一致するドキュメントは、より高いソートスコアを受け取り、上位にランク付けされます。
カテゴリ予測は、質問内でフィールドタイプも識別し、質問の説明と回答オプションを区別します。
用語の重み分析
形態素の重み付けは、クエリ内の各トークンに重要度スコアを割り当てます。
| スコア | 意味 | 取得への影響 |
|---|---|---|
| 7 | 高い重要度 | ドキュメント取得に常に使用されます |
| 4 | 中程度の重要度 | ドキュメント取得に使用されます |
| 1 | 低い重要度 | 取得から除外されます |
モデルは、どの用語が質問にとって意味的に中心的であり、どの用語が構造的なコネクタであるかを学習するシーケンスラベリングモデルを使用して、ユーザー行動データに基づいてトレーニングされます。
例: クエリ「The factors of 35 are () and the multiples of 24 within 100 are ()」の場合:
| トークン | 重み |
|---|---|
| factors | 7 |
| multiples | 7 |
| 35 | 4 |
| 24 | 4 |
| その他のトークン (are, of, within など) | 1 |
OpenSearch は「factors」と「multiples」を主要な取得用語として使用し、「35」と「24」を副次的な用語として使用します。低重みトークンは除外され、これにより、取得される関連ドキュメントの数が増加し、ノイズが低減されます。
OCR は画像から質問以外の要素 (ウォーターマーク、ページ番号、パブリッシャー名) をキャプチャすることがよくあります。形態素の重み付けはこれらの要素にスコア 1 を割り当て、取得を妨げないようにします。
クエリ書き換えとシノニム拡張
クエリ書き換えは、単一のパスで複数の介入 (介入辞書、スペル修正、シノニム拡張、形態素の重み付け調整) を適用します。これらの介入は組み合わせ可能です。たとえば、「cubic meters」が「tons」を同等の単位として含むようにシノニム辞書を構成し、同時に、形態素の重み付けを適用して、同じクエリ内の低関連性の構造トークンを抑制します。
カスタムソート
OpenSearch は、再現率の幅とランキング精度のバランスを取るために、2段階ソートを使用します。
粗いソート: すべてのマッチするドキュメントを取得し、形態素の重み付けスコアを組み合わせた基本関連性スコアを使用して、上位N候補を選択します。
詳細ソート: 形態素の重み付けスコア、カテゴリ予測スコア、および質問の品質や最新性などの追加のビジネスシグナルを組み込んだカスタムソート式を使用して、上位N候補を再ランキングします。
ソート式の構成方法:
必要な信号を組み合わせたソート式を記述し、それをアプリケーションに割り当てます。テスト問題検索の典型的な式は、3つのコンポーネントを組み合わせます。
| 信号 | ソース | 効果 |
|---|---|---|
| 用語の重みスコア | 用語重み分析出力 | 高重要度クエリトークンに一致する結果を向上させます |
| カテゴリ予測スコア | カテゴリ予測出力 | 科目分野がクエリと一致する結果を向上させます |
| ビジネスシグナル | カスタムフィールド (例: 質問品質評価) | ドメイン固有のランキングロジックを適用します |
これにより、基盤となるインデックスを変更することなく、取得の幅とランキング精度の間のトレードオフを調整できます。
パフォーマンス結果
K12 コンテンツを実行しているオンライン教育プラットフォームは、Elasticsearch ベースの検索サービスから OpenSearch に移行しました。このプラットフォームは数千万人のユーザーにサービスを提供し、独自のライブラリとサードパーティコンテンツで構成される約8000万のテスト問題の質問ライブラリを持っています。
OpenSearch への切り替え後:
| メトリック | 以前 | 以後 |
|---|---|---|
| 検索精度 (絶対改善) | ベースライン | +5% |
| 検索レイテンシー | 100~300 ms | 50 ms |
| データ同期スループット | — | >4,000 TPS |
以前と以後: 検索結果の品質
クエリ: 「張恵燕は、宋代の宋詩のスタイルは楽府に似ている可能性が高いと述べています。」
| 順位 | OpenSearch 以前 | OpenSearch 以後 |
|---|---|---|
| 1位 | 張恵は歌舞団のソロ歌手です。彼女の給与は月額 5,800 人民元です。2006年6月、張恵は上海での劇団の3回の公演に参加し、3,800 人民元の報酬を受け取りました... | 張恵燕は、宋代の宋詩のスタイルは楽府に似ている可能性が高いと述べています。 |
| 2位 | 張恵燕の音楽への愛は... | 張恵燕は、宋代の宋詩のスタイルは楽府に似ている可能性が高いと述べています。() |
| 3位 | 以下のドキュメントのうち、張恵氏が中国の音楽定期刊行物に公開した記事で引用されているドキュメントはどれですか? | 以下のオプションのうち、張恵燕が述べた宋代の宋詩のスタイルに似ている可能性が高いのはどれですか? |
OpenSearch 以前の結果は、「張恵燕」という完全なエンティティではなく、「張恵」(共通名) に一致しています。OpenSearch への切り替え後、上位3つの結果はすべてクエリに意味的に関連しています。