0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

oneWEXの操作メモ_ランカー⑴

Last updated at Posted at 2019-11-12

はじめに

こちらは、oneWEXの主要機能の一つ、ランカーについての記事です。

ランカーとは

ランカーとは、コレクション内で、ある一つの文書に対して、類似文書を検索する機能です。
・文書全体がクエリーとなることが特徴です
・ランカー内では、検索結果のランキング精度向上のために機械学習が使われています

以下は、コレクション内の文書へのランカーの適用手順です。
分析画面において文書表示時に「類似文書」ボタンをクリックすると、選択した文書に対し類似度が高い順に文書がランキング形式で表示され、類似文書検索が可能となります。

image.png
image.png
image.png

ランカー利用の利点

具体例をあげながら、ランカーを使用する利点を説明します。

保険会社の例

保険金の請求内容を調査し、詳細な支払額を決定する業務にoneWEXのランカーを適用するユースケースを考えます
請求内容には、請求者のプロフィールや医者の診断内容も含まれます
判断のために、過去の支払い事例を調査し参照します
・業務を手作業で行う場合
過去に支払いをした事例に対して、類似文章を検索する場合のクエリー(年齢、症状、添付情報などの検索キーワード)を自分で考えなければならず、多くの試行錯誤を要します
・oneWEXのランカーを使用する場合
検索のためのクエリーを考える必要がないので、検索にかかる時間が削減されます
文書のすべてのデータが過去の事例との類似性の判断に使用されるので、検索の関連性が向上します

国土交通省のデータへの応用

今回の「ランカーの操作手順」のご説明の際は、国土交通省のオープンデータを用いて類似資料検索するユースケースを考えます

ランカーの操作概略

1.ランカーの作成
あらかじめユーザーは教師データを用意しランカーに読みこませます。類似度を決定するためには、学習データの各データ項目に対して、重みづけ(どのデータ項目が文書間の類似度を決定するためにより重要なのかを定義すること)が必要です。
ランカー内ではトレーニングが行われ、この重み付けを定義したモデルが作成されます。
このトレーニングはユーザーにはブラックボックスです。

2.ランカーの適用
ユーザーが、類似度検索が必要な新たなデータを読み込ませてコレクションを作成します。
ランカー作成の際に作成されたコレクション・テンプレートを適用させることで、コレクション作成後に類似度検索が可能になります。

image.png

ランカー内部の学習の仕組み

ランカーの中で行われている学習は本来ブラックボックスですが、以下では学習の仕組みをイメージで説明します。
※あくまでイメージです。

ランカーでは、類似度を決定するために、学習データの各データ項目に対して、重みづけ(どのデータ項目が文書間の類似度を決定するためにより重要なのかを定義すること)が必要です。
本資料では、ある医療カルテデータを教師データとして使用しランカー内部の学習の仕組みをご説明いたします(診断結果を、学習のための正解フィールドとします)
image.png

1.教師データからある文書を抜き出してクエリー文書として使用します
2.残りのデータから類似文書候補を選択します
どの文書が実際に選択されるのかは内部調査の挙動によって決められ、ユーザーには知らされません
この段階では診断結果の値は学習に使用されません
image.png

3.クエリー文書の診断結果を見て他の類似文書候補の診断結果の値を比較します。もし診断結果の値が合致していれば、その文書はクエリー文書と真に類似する「positive example」と見なされ、それ以外は「negative example」と
見なされます
トレーニング段階では、クエリー文書に対する候補文書が決定された後に正解フィールド(今回の場合、診断結果)の値がトレーニングに使用されます

image.png

4.前述までの1~3.と同じステップが、ランカー内部でクエリー文書が変えられながら繰り返されます

5.4.までの全結果を収集しランカーモデルをトレーニングします
positive exampleを参照しながら、学習データの各データ項目に対して、類似度の決定における重要度の重みづけをランカーが行います
image.png

※(補足)
用意できる教師データには大きく二種類があります。

・属性タイプ:正解フィールドが属性で現されているデータタイプです。この場合は同じ属性値を持つ文書が類似文書と見なされます

image.png

・IDタイプ:正解フィールドにIDが含まれているタイプです。この場合は同じID値を持つ文書が類似文書と見なされます

image.png

ランカーの操作手順

以下、ランカーの操作手順を説明します。

oneWEXランカーはAdmin Console画面から操作します
image.png

今回、以下のような国土交通省のデータを教師データとして使用します
image.png

データ・セットの作成

Admin Console画面からデータ・セットの追加を行います
image.png

データ・セット名を命名します
image.png

教師データCSVファイルを読み込むためのインポーターを追加します
image.png

インポーターを命名します
image.png

教師ファイルをアップロードします
image.png

CSVファイルの解析方法を指定し確認します
image.png

image.png

インポートする列を選択します(日付に関するデータはタイプを「日付」に指定します)
image.png

インポートを開始します
image.png

インポートが完了したことを確認します
image.png

(参考)日付データがある場合は、ランカーの設定画面において日付形式を指定します。データ内の日付のフォーマットに従って日付フォーマットの形式を設定します
image.png

(参考)日付形式の設定の変更を適用させるために、概説画面に移動しインポートを開始します
image.png

ランカーの作成

Admin Console画面を開き、リソースタブを選択し、「ランカーの追加」ボタンをクリックします
image.png

ランカーの名称を決定します
image.png

先ほど作成したデータ・セットをリストに追加します
image.png

機械学習とランキングに用いるフィールドやコレクション・テンプレート名を設定します。コレクション・テンプレートは後のコレクション作成時に使用します
image.png

ランカーのトレーニング用のフィールドを設定・選択します
トレーニングにおいて学習させる必要のないデータはフィールドから外します(ただし、分析に使用するフィールドはのちのコレクション作成時に別途選択します)

image.png

image.png

適切な値を設定して進みます
image.png

image.png

image.png

学習を開始させ新規モデルを作成します
image.png

データ・セットを比率で分割します。今回はデフォルトの比率を使用します
image.png

image.png

モデルの作成には数分かかることがあります
image.png

モデルが作成されたことを確認し、モデルをデプロイします
デプロイ操作により、作成したモデルがコレクションに適用可能になります
image.png

image.png

モデルがデプロイされたのち、Admin Console画面で作成したランカーを確認します
image.png

image.png

ランカーを適用させたコレクションの作成

Admin Console画面でコレクションを作成します

image.png

ランカー作成時に作成されたコレクション・テンプレートを適用します
image.png

コレクション名を命名します
image.png

データ・セットを選択します(ランカーの作成時と同じデータ・セットを使用しても問題ありません)
コレクション・フィールドの各項目を適切な値に設定します
image.png

image.png

以下の設定も適切な値を選択します
image.png

image.png

image.png

「今すぐ索引付けを実行」を選択し、コレクションを保存します(索引付けには数分かかることがあります)

image.png

索引付けが完了するまで表示画面には「0%索引付き」と表示されますが、内部で索引付けは進んでいます。完了したら「100%索引付き」と表示されます
image.png

索引付け完了後、コレクション一覧に作成したコレクションが表示されていることを確認します
image.png

ランカーを適用させたコレクションで分析を行います。Content Miner画面で作成したコレクションを選択し分析を実行します
image.png

image.png

任意の文書を指定し「類似文書」ボタンを選択します。結果、指定した文書に類似度が高い順に文書がランキングされます
image.png
image.png
image.png

ランカー適用前後で文書の類似検索ランキングが変化していることがわかります

適用前
image.png
image.png
適用後
image.png

ランカーの精度の向上

ランカーの精度向上を行います。学習に意味のある教師データを用意します
Admin Console画面のリソース画面からすでに作成されているランカーを選択し、詳細画面の右下の「学習データ・セットの更新」欄の「CSVのアップロード」から用意した教師データを追加します
image.png

追加教師データをインポートしファイルが追加されたことを確認します
image.png
image.png
image.png

新規モデルを作成します
image.png

学習セットを更新します
image.png

新規モデルの作成を実施します(完了まで数分かかることがあります)
image.png

新規モデル作成後、精度が向上したことを確認しデプロイします
image.png

新規モデルがデプロイされたことを確認します
ランカーをコレクションに適用する際、現在デプロイされているモデルのバージョンだけが適用可能です
ただし古いバージョンのモデルでも、再デプロイすることで適用可能になります
image.png

デプロイした新規モデルを既存のコレクションに適用するため、コレクションで索引の再作成を行います
image.png

最後に

oneWEXの主要機能の一つ、ランカーの概要や操作方法について書きました。

(oneWEXの操作メモ_ランカー⑵)では、ランカー操作時の考慮点をお伝えします。

0
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?