Ranking Model Tuning アプリを使用してカスタムのランク付けモデルを作成する
適用対象:2016 2019 Subscription Edition SharePoint in Microsoft 365
標準のランク付けモデルが、持っている関連性の要件を満たしていない場合は、クラシック検索エクスペリエンス用のカスタム ランク付けモデルを作成できます。 ランク付けモデルチューニングアプリを使用すると、以前よりも簡単にこれを行うことができます。 アプリは、既存のランク付けモデルをコピーするためのユーザー インターフェイスを提供し、クエリのセットの結果を判断し、ランク機能を追加または削除し、これらの機能の重みを調整します。 最後に、変更を評価し、結果に満足したときに新しいランク付けモデルを公開できます。
カスタム ランク付けモデルを作成する理由
ほとんどの場合、SharePoint Server のランク付けモデルは検索結果のランク付けに適しており、クエリ ルールを使用して検索結果のランク付けに影響を与えることもあります。 ただし、標準のランク付けモデルで提供されない検索結果に特定の関連性が必要な場合は、カスタムランク付けモデルを作成できます。
一般的なユース ケースを次に示します。
- サイト上のアイテムのランク付けに影響を与える必要があると思われる特定の管理プロパティを追加しました。
例: 食品店が新しい管理プロパティ "グルテンフリー" を追加し、検索結果のランク付け計算にこの管理プロパティを含めたいと考えています。
- 標準ランク付けモデル内の 1 つ以上の管理プロパティに、既定で取得されるランク付けよりも重みを付ける必要があります。
例: 会計会社は、Excel ブック (ファイルの種類) に、標準のランク付けモデルを使用する場合よりも高いランク付け重みを持たせたいと考えています。
重要
カスタム ランク付けモデルの作成はかなり複雑であり、これを軽く受け取るべきではありません。 良い結果を得るために、かなりの数のクエリの判断などのタスクに時間を費やします。
ランク付けモデルとランク付けモデルの詳細については、以下を参照してください。
SharePoint Server 用のアプリを取得する
重要
SharePoint Server 2013 の場合は、2014 年 3 月から SharePoint Server 2013 の累積的な更新プログラムをインストールすることをお勧めします。
アプリをインストールし、SharePoint ファームを準備して、すべての SharePoint Server アプリと同じ標準プロセスを使用してアプリを許可します。 SharePoint 用アプリのインストールと管理。
アプリを使用するには、Search サービス アプリケーション管理者である必要があります。
カスタム ランク付けモデルの作成 - メインの手順
- アプリ アイコン [ ] をクリックして、アプリの開始ページに移動します。
カスタム ランク付けモデルを作成するには、次の主要な手順に従います。 モデルを微調整するときに、さまざまな手順を行ったり来たりすることを想定します。
手順 1: 既存のランク付けモデルをコピーし、名前を付ける
アプリを起動すると、使用可能なすべてのランク付けモデルの一覧が表示されます。 最初に使用する場合、これは SharePoint で提供される標準ランク付けモデルのセットになります。 これらのランク付けモデルは 基本モデルでマークされ、許可される唯一のアクションは をコピーすることです 。 カスタム ランク付けモデルを作成するには、既存のモデルをコピーし、コピーを変更します。 アプリを使用して作成されたすべてのモデルは [基本モデルではない] とマークされ、 編集、 発行、または 削除することもできます。
SharePoint で提供されるほとんどの標準ランク付けモデルには、線形ステージとニューラル ステージがあります。 このアプリでは、線形ステージの調整とカスタマイズが容易であるため、ランク付けモデルの線形ステージのみをカスタマイズできます。
カスタム ランク付けモデルの基礎として 、2 つの線形ステージを含む検索 ランク付けモデルを使用することをお勧めします。これにより、ランク付けモデルを再調整してカスタマイズする方が簡単になります。
既存のランク付けモデルの一覧で、コピーするモデルを選択します。
右側の矢印をクリックし、[コピー] を選択 します。
[ ランク付けモデルの編集] ページで、新しいランク付けモデルの名前を入力します。
クエリをテストする結果ソースを選択します。
手順 2: 判定セットを追加する
ランク付けモデルには、1 つ以上の判定セットを追加できます。 判定セットは、通常、一般的なクエリ、ビジネスにとって重要なクエリ、または現在のランク付けモデルで十分に処理されないクエリで構成されます。 [ ランク付けモデルの編集] ページの [ ジャッジ クエリ] で、[ 判定セットの追加] を選択します。
- [ 判断セットの編集] ページで、次のオプションを 1 つ以上選択します。
オプション | 説明 |
---|---|
判定されたクエリをインポートする |
クエリに対して返されるドキュメントのクエリとラベルのセットが既にある場合は、それらをインポートできます。 アップロードするファイルを選択し、[クエリの インポート] をクリックします。 インポート ファイルは、次のスキーマを持つ XML 型である必要があります。 <QuerySet Name="testRM - JudgementSet"><Query QueryString="query1" ><Judgements><Document Url="docUrl1" Label="Excellent" /><Document Url="docUrl2" Label="Good" /><Document Url="docUrl3" Label="Fair" /><Document Url="docUrl4" Label="Bad" /></Judgements></Query></QuerySet> 4 つのラベルを使用して、クエリの結果の望ましい値を示すことができます。 優れた、 良い、 公平、 および悪い。 |
サンプリングされたクエリを追加する |
サイトで検索がアクティブになっている場合は、アプリで既存のクエリ ログからランダムなクエリ セットを選択させることができます。 アプリは、より一般的なクエリを選択します。 ボックスにサンプリングするクエリの数を指定し、[クエリの 追加] をクリックします。 |
クエリを手動で追加する |
アプリに直接クエリを入力し、1 行に 1 つのクエリを入力し、[ クエリの追加] をクリックします。 この方法ですべてのクエリを追加することも、既存のクエリ セットにクエリを手動で追加することもできます。 |
- ラベルを含む判定クエリをインポートした場合は、[ 完了 ] をクリックして判定セットを保存します。 クエリ ログからクエリを追加した場合、または手動でクエリの判断を開始できる場合は、手順 3 を参照してください。
関連性メトリックが、特定のサイトに対してランク付けモデルがどれだけ優れているかを示す信頼できるインジケーターであることを確認するには、次のことを確認します。
判定セットには十分なクエリがあります。 クエリが多いほど、これらのクエリの上位 10 のより多くのドキュメントがより適切になります。
予想されるクエリの範囲から代表的な組み合わせがあります。
手順 3: セット内のクエリの結果を判断する
次に、すべてのクエリを実行し、それぞれの結果を評価します。 インデックス内の特定のドキュメントが特定のクエリの検索結果としてどの程度関連性が高いか、または望ましいかを判断します。 ドキュメントが関連性が高い、または望ましいと思うほど、ランク付けされたリストが高くなる可能性があります。
注:
前の手順で既に判定済みのクエリをインポートした場合、結果には既に評価が設定されているため、この手順をスキップできます。
[ 判定セットの編集] ページで、クエリごとにクエリ テキストをクリックし、[ 判定結果] を選択します。
[ クエリの評価 ] ページには、基本モデルの結果と現在の モデル の 結果の 2 つの結果セットが並んで表示されます。 新しいランク付けモデルに変更を加える前に、2 つの結果セットは同じになります。
各結果について、結果を評価し、星の数を 1 から 5 に選択して評価 (ラベル) を付けます。 アクセスできないドキュメントには、1 つ星のオプション "リンクが壊れています" を使用できます。
ランク付けモデルに対して最初の一連の変更を行った後、このビューで 2 つの結果セットを並べて比較できます。 現在のランク付けモデルと基本モデル、または新しいモデルの最後に保存されたバージョンを比較します。 これにより、行ったさまざまなカスタマイズの効果を評価できます。
クエリの結果を評価したら、[ 次のクエリ ] をクリックして、判定セットを続行します。
[ 完了] を クリックしてセットを保存します。
判定セット内のクエリを確認して評価すると、そのセットの判定範囲が表示されます。 モデルに変更を加えた後、さまざまな判定セットの新しいランク付けモデルでどの程度の関連性が向上したかを確認できます。
この列 | 次の情報を表示します |
---|---|
クエリ テキスト |
判定セット内のクエリ。 |
判定範囲 |
現在の上位 10 個の評価済みのドキュメント URL の割合。 手記: 関連性メトリックは、判定範囲が高い場合にのみ信頼できます。 カバレッジを増やすには、クエリの結果をより多く判断します。 |
関連性とベースのランク付け |
ランク付けモデルを変更した後、この図は、基本モデルと比較して、新しいランク付けモデルでクエリの関連性がどれだけ向上したかを示しています。 スコアが 0.00% の場合、そのクエリの 2 つのモデルに違いはありません。 スコアが負の場合、関連性は低下しています。 |
保存済みモデルと保存済みモデルの比較 |
アプリは、作業中にランク付けモデルの下書きバージョンを保持します。 現在のドラフト バージョンと、新しいランク付けモデルの最後に保存されたバージョンを比較できます。 この図は、最後に保存されたバージョンと比較して、モデルの現在のドラフトとの関連性がどれだけ向上したか、または減少したかを示しています。 |
アプリで使用される関連性のメトリックは、上位 5 つの結果に対して計算された "割引累積ゲイン" です。
手順 4: ランク機能を追加し、重みを調整する
既存のランク付けモデルをコピーすると、新しいランク付けモデルには、基本モデルと同じランク機能と重みが含まれます。 追加のランク付け機能として管理プロパティを追加したり、既存の機能を削除したり、既存の機能の重みを調整したりできます。
注:
既に作成および構成されている管理プロパティのみを選択できます。 新しいプロパティの作成や、検索可能または並べ替え可能なプロパティの設定など、管理プロパティの管理は、このアプリの範囲外です。
手順 4a: ランク機能を追加する
[ ランク付けモデルの編集] ページの [ 機能の追加と調整] で、[ カスタマイズする機能の追加] をクリックします。
[ ランク付け機能を追加してカスタマイズする ] ページで、次の種類のランク付け機能を選択します。
ランク付け機能の種類 | 説明 |
---|---|
判定されたクエリに基づく推奨機能 |
アプリは、十分な数の判定されたドキュメントに対して特徴ベクトルが抽出されたときに追加する機能を提案できます。 提案は、自動チューニングによって提供される関連性ジャグメントと強い相関関係 (負または正) を持つランク機能になります。 このオプションは、このランク付けモデルに対して自動チューニングを少なくとも 1 回実行した後にのみ使用できます。 自動チューニングの詳細については、この記事の後半を参照してください。 |
検索可能なテキスト管理プロパティ |
検索結果のランク付け計算で使用する管理プロパティを選択します。 プロパティ値でクエリ用語の近接性が重要であることを選択した場合は、後でフィーチャの近接度の重みを入力できます。 アプリでは、バリアント isExact=1 と isDiscounted=1 が使用されます。 |
並べ替え可能な数値管理プロパティ |
静的ランク機能とも呼ばれます。 管理プロパティの型は Integer である必要があります。 アプリは Rational 変換を使用します。 管理プロパティを選択し、プロパティの既定値を入力します。 項目に値が明示的に設定されていない場合、既定値が使用されます。 |
特定の値を持つ並べ替え可能なプロパティ |
バケット化された静的ランク機能とも呼ばれます。 管理プロパティを選択し、プロパティの既定値を入力します。 値を持つ: この数値は、チューニングされている特定のバケットです。 |
ベース モデルからのランク付け機能 |
既存のフィーチャの重みを調整するには、このオプションを使用します。 既存のランク機能を選択します。 |
- [ 機能の追加] をクリックします。 手順を繰り返して、カスタマイズする機能をさらに追加します。 選択したランク付け機能が [ ランク付けモデルの編集] ページに表示されます。
モデルからフィーチャを削除することもできます。
ランク付け機能とランク機能の集計の詳細については、「 SharePoint での関連性を向上させるためにランク付けモデルをカスタマイズする」を参照してください。
手順 4b: 重みを調整する
最初は、基本モデルの既存のランク特徴を除き、新しい特徴の重みはゼロです。 ランク機能に別の相違点を与えるために、自動チューニングまたは手動チューニングを使用できます。
自動チューニング:
自動チューニングでは、判定セットに対して提供される判定を使用して、関連性を最大化する方法で特徴の重みを自動的に設定します。 自動チューニング オプションは、少なくとも 10 個のクエリがあり、それぞれ少なくとも 10 個の判断がある場合に使用できます。 判断が多いほど、自動チューニングの信頼性が高くなります。
[ 自動チューニング ] タブで、[ 自動チューニングの重み付け ] ボタンをクリックします。
注:
autotune オプションにはかなりの計算量が含まれており、10 個のクエリの判定セットに約 5 分かかる場合があります。
手動チューニング:
手動チューニングを使用すると、個々のランク機能の重みを設定または変更できます。 非常に大きな値 (負または正) は避けてください。
[ 手動チューニング ] タブで、[重み] ボックスに値を入力または変更して、フィーチャーの 重みを 設定または変更します。
[ 重みを保存] をクリックして、このモデルに関連付けられているすべての判定セットに対して評価を実行します。
変更を評価する手順 5 を参照してください。
手順 5: 変更を評価する
アプリを使用すると、カスタム ランク付けモデルによって関連性がどのように変化するかを評価できます。 これは、 重要と考えるクエリに特に役立ちます。
重要
カスタム ランク付けモデルを作成すると、そのランク付けモデルを使用するすべてのクエリに影響します。 多くのクエリに対するカスタム ランク付けモデルの効果をテストします。
[手動チューニング] リストの下の [サンプル クエリ] ボックスにクエリを入力して、特定のクエリの結果を表示します。 結果を基本モデル または 最後に保存したモデルと左側で比較し、結果を現在のモデルと右側に比較できます。 必要に応じて、このページから判定セットにクエリを追加することもできます。
判定セットに対して評価を実行することで、特定の設定の効果を評価することもできます。 [ ジャッジ クエリ] の下の判定セットの一覧で、セットの右側にある矢印をクリックし、メニューから [ 関連性の評価 ] を選択します。
注:
ランク機能の重みを変更すると、結果の順序に影響が出て、関連性が向上することを願います。 再注文の結果として、まだ判断されていない新しいドキュメントは、クエリの上位 10 件の結果を入力する可能性があります。 その場合、 判定 範囲の値は判定セットに対して下がり、追加の判断を行う必要があります。
- 機能の追加、削除、チューニングが完了したら、変更を保存します。 新しいカスタム ランク付けモデルは、開始した使用可能なランク付けモデルの一覧に表示されます。 [ 基本モデルではない] としてマークされます。
手順 6: ランク付けモデルを発行する
新しいランク付けモデルは、アプリを追加したサイトで既定で使用できます。 カスタム ランク付けモデルをより広く使用する場合は、公開する必要があります。
[ ランク付けモデルの選択 ] の一覧で、右側の矢印をクリックし、メニューから [発行 ] を選択します。
次のいずれかのオプションを選びます。
現在のサイト (既定で利用可能)
現在のサイト コレクション
すべてのサイト コレクション (Search Service アプリケーション全体)
- [発行] をクリックします。
ランク付けモデルを発行すると、ランク付けモデルを識別する GUID が取得されます。 検索結果 Web パーツを構成する場合や、プログラムによってクエリの RankingModelId プロパティを設定する場合など、検索で GUID を使用できます。