(57)【特許請求の範囲】
【請求項１】
類似検索対象のベクトルデータを指定する対象データ指定部と、複数のベクトルデータを蓄積するベクトルデータベースと、そのベクトルデータベースに蓄積された複数のベクトルデータの中から上記対象データ指定部により指定された類似検索対象のベクトルデータに類似するベクトルデータを重みベクトルに基づいて検索する類似検索エンジンと、その類似検索エンジンにより検索された類似するベクトルデータを表示する検索結果表示部と、利用者の操作に基づいて上記検索結果表示部に表示されたベクトルデータが正解か不正解かを判定すると共に、不正解である場合に望ましいベクトルデータが指定される正解選択部と、上記対象データ指定部により指定された類似検索対象のベクトルデータ、上記類似検索エンジンにより検索された類似するベクトルデータ、および上記正解選択部により不正解である場合に指定された望ましいベクトルデータに基づいて上記重みベクトルを改訂する３ベクトル重み再計算部と、対象データ指定部により指定されたベクトルデータのうちの類似検索の対象にする条件属性を利用者の操作に基づいて指定される対象属性選択部を備え、類似検索エンジンは、上記対象属性選択部により指定された条件属性のみに関してベクトルデータベースに蓄積された複数のベクトルデータの中から上記対象データ指定部により指定されたベクトルデータに類似するベクトルデータを重みベクトルに基づいて検索することを特徴とする類似検索装置。
【請求項２】
類似検索対象の条件属性を有するベクトルデータを指定する対象データ指定部と、条件属性および参照属性を有する複数のベクトルデータを蓄積するベクトルデータベースと、そのベクトルデータベースに蓄積された複数のベクトルデータの中から上記対象データ指定部により指定された類似検索対象のベクトルデータに類似するベクトルデータを条件属性に関する重みベクトルに基づいて検索する類似検索エンジンと、その類似検索エンジンにより検索された類似するベクトルデータを表示する検索結果表示部と、利用者の操作に基づいて上記検索結果表示部に表示されたベクトルデータが正解か不正解かを判定すると共に、不正解である場合に望ましいベクトルデータが指定される正解選択部と、上記対象データ指定部により指定されたベクトルデータに上記正解選択部による正解のベクトルデータの参照属性または不正解である場合の望ましいベクトルデータの参照属性を付加して上記ベクトルデータベースに蓄積する新規データ追加部と、上記対象データ指定部により指定された類似検索対象のベクトルデータ、上記類似検索エンジンにより検索された類似するベクトルデータ、および上記正解選択部により不正解である場合に指定された望ましいベクトルデータに基づいて上記重みベクトルを改訂する３ベクトル重み再計算部と、対象データ指定部により指定されたベクトルデータのうちの類似検索の対象にする条件属性を利用者の操作に基づいて指定される対象属性選択部を備え、類似検索エンジンは、上記対象属性選択部により指定された条件属性のみに関してベクトルデータベースに蓄積された複数のベクトルデータの中から上記対象データ指定部により指定されたベクトルデータに類似するベクトルデータを重みベクトルに基づいて検索することを特徴とする類似検索装置。
【請求項３】
類似検索対象のベクトルデータを指定する対象データ指定部と、複数のベクトルデータを蓄積するベクトルデータベースと、そのベクトルデータベースに蓄積された複数のベクトルデータの中から上記対象データ指定部により指定された類似検索対象のベクトルデータに類似するベクトルデータを重みベクトルに基づいて検索する類似検索エンジンと、その類似検索エンジンにより検索された類似するベクトルデータを表示する検索結果表示部と、利用者の操作に基づいて上記検索結果表示部に表示されたベクトルデータが正解か不正解かを判定すると共に、不正解である場合に望ましいベクトルデータが指定される正解選択部と、上記対象データ指定部により指定された類似検索対象のベクトルデータ、上記類似検索エンジンにより検索された類似するベクトルデータ、および上記正解選択部により不正解である場合に指定された望ましいベクトルデータに基づいて上記重みベクトルを改訂する３ベクトル重み再計算部と、利用者の操作に基づいて重み改訂モードが、１回の類似検索エンジンによる検索の実行毎に重みベクトルを改訂するオンラインモード、数回の類似検索エンジンによる検索の実行後に重みベクトルを改訂するオフラインモード、または全く重みベクトルを改訂しないノーモードに指定され、その指定された重み改訂モードに応じて重みベクトルの改訂処理を制御する重み改訂制御部を備えたことを特徴とする類似検索装置。
【請求項４】
類似検索対象の条件属性を有するベクトルデータを指定する対象データ指定部と、条件属性および参照属性を有する複数のベクトルデータを蓄積するベクトルデータベースと、そのベクトルデータベースに蓄積された複数のベクトルデータの中から上記対象データ指定部により指定された類似検索対象のベクトルデータに類似するベクトルデータを条件属性に関する重みベクトルに基づいて検索する類似検索エンジンと、その類似検索エンジンにより検索された類似するベクトルデータを表示する検索結果表示部と、利用者の操作に基づいて上記検索結果表示部に表示されたベクトルデータが正解か不正解かを判定すると共に、不正解である場合に望ましいベクトルデータが指定される正解選択部と、上記対象データ指定部により指定されたベクトルデータに上記正解選択部による正解のベクトルデータの参照属性または不正解である場合の望ましいベクトルデータの参照属性を付加して上記ベクトルデータベースに蓄積する新規データ追加部と、上記対象データ指定部により指定された類似検索対象のベクトルデータ、上記類似検索エンジンにより検索された類似するベクトルデータ、および上記正解選択部により不正解である場合に指定された望ましいベクトルデータに基づいて上記重みベクトルを改訂する３ベクトル重み再計算部と、利用者の操作に基づいて重み改訂モードが、１回の類似検索エンジンによる検索の実行毎に重みベクトルを改訂するオンラインモード、数回の類似検索エンジンによる検索の実行後に重みベクトルを改訂するオフラインモード、または全く重みベクトルを改訂しないノーモードに指定され、その指定された重み改訂モードに応じて重みベクトルの改訂処理を制御する重み改訂制御部を備えたことを特徴とする類似検索装置。
【請求項５】
類似検索対象のベクトルデータを指定する対象データ指定部と、複数のベクトルデータを蓄積するベクトルデータベースと、そのベクトルデータベースに蓄積された複数のベクトルデータの中から上記対象データ指定部により指定された類似検索対象のベクトルデータに類似するベクトルデータを重みベクトルに基づいて検索する類似検索エンジンと、その類似検索エンジンにより検索された類似するベクトルデータを表示する検索結果表示部と、利用者の操作に基づいて上記検索結果表示部に表示されたベクトルデータが正解か不正解かを判定すると共に、不正解である場合に望ましいベクトルデータが指定される正解選択部と、上記対象データ指定部により指定された類似検索対象のベクトルデータ、上記類似検索エンジンにより検索された類似するベクトルデータ、および上記正解選択部により不正解である場合に指定された望ましいベクトルデータに基づいて上記重みベクトルを改訂する３ベクトル重み再計算部と、評価用データを用い、改訂前の重みベクトルと改訂後の重みベクトルとを評価比較し、妥当な重みベクトルを選択する重みベクトル評価部を備えたことを特徴とする類似検索装置。
【請求項６】
類似検索対象の条件属性を有するベクトルデータを指定する対象データ指定部と、条件属性および参照属性を有する複数のベクトルデータを蓄積するベクトルデータベースと、そのベクトルデータベースに蓄積された複数のベクトルデータの中から上記対象データ指定部により指定された類似検索対象のベクトルデータに類似するベクトルデータを条件属性に関する重みベクトルに基づいて検索する類似検索エンジンと、その類似検索エンジンにより検索された類似するベクトルデータを表示する検索結果表示部と、利用者の操作に基づいて上記検索結果表示部に表示されたベクトルデータが正解か不正解かを判定すると共に、不正解である場合に望ましいベクトルデータが指定される正解選択部と、上記対象データ指定部により指定されたベクトルデータに上記正解選択部による正解のベクトルデータの参照属性または不正解である場合の望ましいベクトルデータの参照属性を付加して上記ベクトルデータベースに蓄積する新規データ追加部と、上記対象データ指定部により指定された類似検索対象のベクトルデータ、上記類似検索エンジンにより検索された類似するベクトルデータ、および上記正解選択部により不正解である場合に指定された望ましいベクトルデータに基づいて上記重みベクトルを改訂する３ベクトル重み再計算部と、評価用データを用い、改訂前の重みベクトルと改訂後の重みベクトルとを評価比較し、妥当な重みベクトルを選択する重みベクトル評価部を備えたことを特徴とする類似検索装置。
【請求項７】
類似検索対象のベクトルデータを指定する対象データ指定部と、複数のベクトルデータを蓄積するベクトルデータベースと、そのベクトルデータベースに蓄積された複数のベクトルデータの中から上記対象データ指定部により指定された類似検索対象のベクトルデータに類似するベクトルデータを重みベクトルに基づいて検索する類似検索エンジンと、その類似検索エンジンにより検索された類似するベクトルデータを表示する検索結果表示部と、利用者の操作に基づいて上記検索結果表示部に表示されたベクトルデータが正解か不正解かを判定すると共に、不正解である場合に望ましいベクトルデータが指定される正解選択部と、上記対象データ指定部により指定された類似検索対象のベクトルデータ、上記類似検索エンジンにより検索された類似するベクトルデータ、および上記正解選択部により不正解である場合に指定された望ましいベクトルデータに基づいて上記重みベクトルを改訂する３ベクトル重み再計算部と、対象データ指定部により指定されたベクトルデータまたはベクトルデータベースに蓄積されたベクトルデータの条件属性に欠落がある場合に、類似検索エンジンによりその欠落がある条件属性に基づいて仮類似度を計算させると共に、その欠落がある重みベクトルと欠落がない重みベクトルとその仮類似度とに基づいて矯正類似度を計算させて、その矯正類似度を利用して検索させるデータ欠落対処部を備えたことを特徴とする類似検索装置。
【請求項８】
類似検索対象の条件属性を有するベクトルデータを指定する対象データ指定部と、条件属性および参照属性を有する複数のベクトルデータを蓄積するベクトルデータベースと、そのベクトルデータベースに蓄積された複数のベクトルデータの中から上記対象データ指定部により指定された類似検索対象のベクトルデータに類似するベクトルデータを条件属性に関する重みベクトルに基づいて検索する類似検索エンジンと、その類似検索エンジンにより検索された類似するベクトルデータを表示する検索結果表示部と、利用者の操作に基づいて上記検索結果表示部に表示されたベクトルデータが正解か不正解かを判定すると共に、不正解である場合に望ましいベクトルデータが指定される正解選択部と、上記対象データ指定部により指定されたベクトルデータに上記正解選択部による正解のベクトルデータの参照属性または不正解である場合の望ましいベクトルデータの参照属性を付加して上記ベクトルデータベースに蓄積する新規データ追加部と、上記対象データ指定部により指定された類似検索対象のベクトルデータ、上記類似検索エンジンにより検索された類似するベクトルデータ、および上記正解選択部により不正解である場合に指定された望ましいベクトルデータに基づいて上記重みベクトルを改訂する３ベクトル重み再計算部と、対象データ指定部により指定されたベクトルデータまたはベクトルデータベースに蓄積されたベクトルデータの条件属性に欠落がある場合に、類似検索エンジンによりその欠落がある条件属性に基づいて仮類似度を計算させると共に、その欠落がある重みベクトルと欠落がない重みベクトルとその仮類似度とに基づいて矯正類似度を計算させて、その矯正類似度を利用して検索させるデータ欠落対処部を備えたことを特徴とする類似検索装置。
【請求項９】
重みベクトルの値を表示すると共に、利用者の指示に基づいてその重みベクトルの値を改訂する重み表示設定部を備えたことを特徴とする請求項１から請求項８のうちのいずれか１項記載の類似検索装置。
【請求項１０】
重み表示設定部は、スライドバーまたは棒グラフのようにグラフィカルに表示することを特徴とする請求項９記載の類似検索装置。
【請求項１１】
対象属性選択部は、条件属性名を表示したオンオフスイッチのようにグラフィカルに表示することを特徴とする請求項１または２記載の類似検索装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、蓄積されたデータ群の中から、対象となるデータに類似するデータを検索する類似検索装置に関するものである。
【０００２】
【従来の技術】
図１８は例えば“インクリメンタル  インスタンスベースト  ラーニング  オブ  インデペンデント  アンド  グレイデッド  コンセプト  デスクリプションズ”  ディ  エイハ，  プロスィーディングズ  オブ  ザ  シックスス  インターナショナル  ワークショップ  オン  マシン  ラーニング，１９８７年（“Ｉｎｃｒｅｍｅｎｔａｌ  Ｉｎｓｔａｎｃｅ−ｂａｓｅｄ  Ｌｅａｒｎｉｎｇ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  ａｎｄ  Ｇｒａｄｅｄ  Ｃｏｎｃｅｐｔ  Ｄｅｓｃｒｉｐｔｉｏｎｓ”Ｄ．Ａｈａ，Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  Ｓｉｘｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｗｏｒｋｓｈｏｐ  ｏｎ  Ｍａｃｈｉｎｅ  Ｌｅａｎｉｎｇ，１９８７）および“ア  ニアレスト  ハイパーレクタングル  ラーニング  メソッド”エス  ザルツバーグ，マシン  ラーニング，６，２５１頁−２７６頁，１９９１年（“Ａ  Ｎｅａｒｅｓｔ  Ｈｙｐｅｒｒｅｃｔａｎｇｌｅ  Ｌｅａｒｎｉｎｇ  Ｍｅｔｈｏｄ”，Ｓ．Ｓａｌｚｂｅｒｇ，Ｍａｃｈｉｎｅ  Ｌｅａｎｉｎｇ，６，ｐｐ２５１−２７６，１９９１）に示された従来の類似検索装置を示すブロック図である。
【０００３】
図において、１は新しい目的にあたる検索対象のベクトルデータを指定する対象データ指定部、４は図２にその例を示すように、データベースとして蓄えられたベクトルデータ群であるベクトルデータベース（以下、ベクトルＤＢと略す）である。３は対象データ指定部１により指定されたベクトルデータと類似するベクトルデータをベクトルＤＢ４から探し出す類似検索エンジン、５は類似検索エンジン３がデータ間の類似度を算出するために用いるベクトルデータの各属性に付けられた重みをそれぞれの要素とする重みベクトル、６は類似検索エンジン３による検索結果を表示する検索結果表示部である。
【０００４】
２１は類似検索エンジン３が示した類似するベクトルデータが利用者にとって正解であるかどうかを指定する回答指定部、２２は対象データ指定部１により指定された検索対象のベクトルデータ、類似検索エンジン３により最も類似するとして選び出されたベクトルデータの２ベクトルの各要素の値を利用して重みベクトルの新しい値を計算する２ベクトル重み再計算部である。９は２ベクトル重み再計算部２２により計算された重みベクトルの新しい値を重みベクトル５に反映させる重み改訂部、１１は対象データ指定部１により指定された検索対象のベクトルデータに回答指定部２１により利用者が指定する結果値を付け加えて、新しいベクトルデータとしてベクトルＤＢ４に追加する新規データ追加部である。
【０００５】
次に動作について説明する。
例えば、電子カルテや医療画像データベースなどの医療情報、設計図などの設計情報に代表されるように、発生するデータを蓄積しその中から新しい目的に見合ったデータを選び出して参照する場合に、データをベクトルデータの形に整理してデータベースに蓄え、新しい目的を表すベクトルデータとデータベース中の各データとの類似度を算出して、データベースの中で最も類似するデータを参照するという、ベクトルデータの類似検索技術が応用されている。
【０００６】
例えば、図２はベクトルデータのデータベースを示す説明図であり、病院で診療を受けた患者の診療録を表わしている。図において、「患者ＩＤ」から「のど痛」までの属性は、各々の患者の診療データを表わしており、検索の条件を記述するための属性という意味でここでは「条件属性」と呼ぶ。属性「病名」は、その診療データをもとに過去に下された診断結果を表わし、検索の結果参照される属性という意味で「参照属性」と呼ぶ。
新しい患者が現れ、その条件属性の値が例えば各々順に、（１２３，村山，４５，公務員，３５．８，なし，あり，なし）であった場合に、類似検索装置がデータベースの中から条件属性に類似するベクトルデータ、例えば、（１２５，鈴木，２５，会社員，３６．２，なし，あり，なし，花粉症）を選び出し、その参照属性の値「花粉症」を参考にして新しい患者の病名を決定するという問題が類似検索技術の応用問題の例である。
【０００７】
次に図１８に示した類似検索装置の動作について図１９から図２１を参照しながら説明する。
説明を容易にするために、ベクトルＤＢ４における条件属性の次元数をｎ、参照属性の次元数を１とする。ここで参照属性の数が１であることはこの技術の本質ではなく、多数であってもよい。
まず、ステップＳＴ２１では、重みベクトルの算出に要するベクトル群を初期化する。即ち、類似検索エンジン３において、ｎ次元ベクトルの重みベクトルＷ＝（ｗ1 ，…，ｗn ），累積重みベクトルＷｃｕｍ＝（ｗｃｕｍ1 ，…，ｗｃｕｍn ），重み合計ベクトルＷｔｏｔａｌ＝（ｗｔｏｔａｌ1 ，…，ｗｔｏｔａｌn ）の全要素を０に初期化する。
【０００８】
ステップＳＴ２２からステップＳＴ３０において、対象データを次々に選んで類似検索の処理を行うが、この過程を通して重みベクトルが改訂されてゆく。
ステップＳＴ２２では、対象データ指定部１が類似検索の対象となるベクトルデータをひとつ選択する。このｎ次元ベクトルデータをＸ＝（ｘ1 ，ｘ2 ，…，ｘn ）と呼ぶ。ステップＳＴ２３では、類似検索エンジン３がベクトルＤＢ４からベクトルデータを一つ取り出す。このｎ＋１次元ベクトルデータをＹ＝（ｙ1 ，ｙ2 ，…，ｙn ，ｙn+1 ）と呼び、ｙ1 からをｙn を条件属性の値、ｙn+1 を参照属性の値とする。
【０００９】
ステップＳＴ２４では、類似検索エンジン３がＸとＹの類似度ｓｉｍ（Ｘ，Ｙ）の算出処理を行う。ここで類似度算出式は、
ｓｉｍ（Ｘ，Ｙ）＝−√｛Σi=1 ，…，n ｗi ・δ（ｘi ，ｙi ）2 ｝（１）
ここで、
0003664834.tif 000002
つまり、ｓｉｍ（Ｘ，Ｙ）はＸとＹの重み付き距離の符号を反転したものである。
ステップＳＴ２５では、ＹをベクトルＤＢ４の他のベクトルデータに変える処理を行い、また、ステップＳＴ２３およびステップＳＴ２４の処理を繰り返す。そうしてベクトルＤＢ４の全ベクトルデータをＹとして調べ終わるとステップＳＴ２６へ進む。
【００１０】
ステップＳＴ２６では、既にステップＳＴ２３からステップＳＴ２５で調べ終わったベクトルＤＢ４中の全ベクトルデータの中から、ｓｉｍ（Ｘ，Ｙ）を最大にするベクトルデータＹmax を選び出す。ここで類似度ｓｉｍ（Ｘ，Ｙ）の最大値を与えるＹのベクトルデータが複数個ある場合には、それらの中のどれでも良く、例えば、最初のベクトルデータとしても良いし、ランダムに選んでも良い。
【００１１】
ステップＳＴ２７では、Ｘに最も類似するベクトルデータとしてＹmax が正しい選択であったかどうかを判定する。
ステップＳＴ２７における判定処理の詳細を図２０に示す。ステップＳＴ２７１では、Ｙmax を検索結果表示部６に表示し、利用者がその参照属性の値ｙmax n+1 を参考にして、Ｘの参照属性の値ｘn+1 、例えば診断結果を決定する。
ステップＳＴ２７２では、回答指定部２１が、新たに定められたｘn+1 とｙmax n+1 とを比較し、これらが一致していればステップＳＴ２７３で類似検索の判定結果として「正解」を返し、一致していなければステップＳＴ２７４で「不正解」を返す。
【００１２】
図１９に戻り、ステップＳＴ２８では、Ｘおよびｙmax のベクトルデータを用いて重みベクトルＷの値を再計算し、更新する。
ステップＳＴ２８における処理の詳細を図２１に示す。ステップＳＴ２８１では、２ベクトル重み再計算部２２が重みベクトルの値Ｗを次の代入式に従って再計算する。
Ｗｔｏｔａｌi ：＝Ｗｔｏｔａｌi ＋△                          （３）
但し、△は重み増分パラメータ
0003664834.tif 000003
ステップＳＴ２８２では、重み改訂部９が上記再計算された新しい重みベクトルＷを設定し、次回以降の類似度計算に改訂後の重みベクトルが用いられるようにする。
【００１３】
図１９に戻り、ステップＳＴ２９では、新規データ追加部１１がＸ＝（ｘ1 ，ｘ2 ，…，ｘn ）とステップＳＴ２７１で決定されたＸの参照属性の値ｘn+1 とを合わせてベクトルＤＢ４の新しいベクトルデータとして保存する。
以上のステップＳＴ２２からステップＳＴ２９までで実現される類似検索、重みベクトルの改訂、新規データの追加の処理を、ステップＳＴ３０における判定を実施しなから類似検索をかけるべき全ての検索対象のベクトルデータについて繰り返す。
【００１４】
【発明が解決しようとする課題】
従来の類似検索装置は以上のように構成されているので、
（ａ）２ベクトル重み再計算部２２では、式（３）から式（５）に示したように、類似検索装置による類似検索結果が回答指定部２１において正解であった場合にも重みベクトル５の改訂を行うので、改訂前の重みベクトル５で正解のベクトルデータを選出できる状態であったのに、その状態を変更してしまうため、類似検索の精度が向上しにくいという課題があった。
（ｂ）重みベクトル５の値を利用者に表示することができないため、利用者が重みベクトル設定の状態を簡単に参照することができないという課題があった。
（ｃ）重みベクトル５の改訂は、類似検索装置による処理に全て委ねられているため、利用者である人間が自分の知識に基づいてその値を変更し、類似検索装置による処理と協調して重みベクトル５をチューニングしていくことができないという課題があった。
（ｄ）類似検索には固定的に条件属性の全てを用いて条件指定を行っており、その中から条件指定に用いるべき条件属性を選択的に指定することができないという課題があった。
（ｅ）類似検索に用いる重みベクトル５は唯一であり、異なる重みベクトル群を使い分けることができないという課題があった。
（ｆ）ベクトルＤＢ４の全てのベクトルデータは全ての条件属性の値を備えていることが必要であり、ＤＢの拡張を行って過去のベクトルデータに無かった属性が増えた場合や、元々入力データに欠落があった場合などに生じるＤＢ中のベクトルデータの欠落に対して類似検索エンジン３が対処することができないという課題があった。
（ｇ）類似検索を１件実行する度に重みベクトル５が逐次更新されていくため、類似検索装置がシステムとして不安定になるという課題があった。
（ｈ）新しい重みベクトル５の値は無条件で採用され、結果として以前の重みベクトル５に比べて類似検索の精度が悪くなる場合もあり得るという課題があった。
【００１５】
この発明は上記のような課題を解決するためになされたもので、類似検索の精度を向上させ、重みベクトル設定の状況を利用者が容易に確認し、変更でき、また、類似検索装置による自動変更と協調的に変更でき、検索の条件指定に相応しい条件属性を利用者が選択でき、複数の重みベクトル設定を使い分けることを可能にし、データべース中にベクトルデータの欠落があっても対処を可能とするような類似検索装置を得ることを目的とする。
また、この発明は利用者の検索作業を安定的に実施しながら重みの改訂を行い、重みの改訂においては新旧の重みの適切な評価の結果を受けて精度が向上するように改訂できる類似検索装置を得ることを目的とする。
【００１６】
【課題を解決するための手段】
請求項１記載の発明に係る類似検索装置は、類似検索対象のベクトルデータを指定する対象データ指定部と、複数のベクトルデータを蓄積するベクトルデータベースと、そのベクトルデータベースに蓄積された複数のベクトルデータの中から上記対象データ指定部により指定された類似検索対象のベクトルデータに類似するベクトルデータを重みベクトルに基づいて検索する類似検索エンジンと、その類似検索エンジンにより検索された類似するベクトルデータを表示する検索結果表示部と、利用者の操作に基づいて上記検索結果表示部に表示されたベクトルデータが正解か不正解かを判定すると共に、不正解である場合に望ましいベクトルデータが指定される正解選択部と、上記対象データ指定部により指定された類似検索対象のベクトルデータ、上記類似検索エンジンにより検索された類似するベクトルデータ、および上記正解選択部により不正解である場合に指定された望ましいベクトルデータに基づいて上記重みベクトルを改訂する３ベクトル重み再計算部と、対象データ指定部により指定されたベクトルデータのうちの類似検索の対象にする条件属性を利用者の操作に基づいて指定される対象属性選択部を備え、類似検索エンジンは、上記対象属性選択部により指定された条件属性のみに関してベクトルデータベースに蓄積された複数のベクトルデータの中から上記対象データ指定部により指定されたベクトルデータに類似するベクトルデータを重みベクトルに基づいて検索するものである。
【００１７】
請求項２記載の発明に係る類似検索装置は、類似検索対象の条件属性を有するベクトルデータを指定する対象データ指定部と、条件属性および参照属性を有する複数のベクトルデータを蓄積するベクトルデータベースと、そのベクトルデータベースに蓄積された複数のベクトルデータの中から上記対象データ指定部により指定された類似検索対象のベクトルデータに類似するベクトルデータを条件属性に関する重みベクトルに基づいて検索する類似検索エンジンと、その類似検索エンジンにより検索された類似するベクトルデータを表示する検索結果表示部と、利用者の操作に基づいて上記検索結果表示部に表示されたベクトルデータが正解か不正解かを判定すると共に、不正解である場合に望ましいベクトルデータが指定される正解選択部と、上記対象データ指定部により指定されたベクトルデータに上記正解選択部による正解のベクトルデータの参照属性または不正解である場合の望ましいベクトルデータの参照属性を付加して上記ベクトルデータベースに蓄積する新規データ追加部と、上記対象データ指定部により指定された類似検索対象のベクトルデータ、上記類似検索エンジンにより検索された類似するベクトルデータ、および上記正解選択部により不正解である場合に指定された望ましいベクトルデータに基づいて上記重みベクトルを改訂する３ベクトル重み再計算部と、対象データ指定部により指定されたベクトルデータのうちの類似検索の対象にする条件属性を利用者の操作に基づいて指定される対象属性選択部を備え、類似検索エンジンは、上記対象属性選択部により指定された条件属性のみに関してベクトルデータベースに蓄積された複数のベクトルデータの中から上記対象データ指定部により指定されたベクトルデータに類似するベクトルデータを重みベクトルに基づいて検索するものである。
【００１８】
請求項３記載の発明に係る類似検索装置は、類似検索対象のベクトルデータを指定する対象データ指定部と、複数のベクトルデータを蓄積するベクトルデータベースと、そのベクトルデータベースに蓄積された複数のベクトルデータの中から上記対象データ指定部により指定された類似検索対象のベクトルデータに類似するベクトルデータを重みベクトルに基づいて検索する類似検索エンジンと、その類似検索エンジンにより検索された類似するベクトルデータを表示する検索結果表示部と、利用者の操作に基づいて上記検索結果表示部に表示されたベクトルデータが正解か不正解かを判定すると共に、不正解である場合に望ましいベクトルデータが指定される正解選択部と、上記対象データ指定部により指定された類似検索対象のベクトルデータ、上記類似検索エンジンにより検索された類似するベクトルデータ、および上記正解選択部により不正解である場合に指定された望ましいベクトルデータに基づいて上記重みベクトルを改訂する３ベクトル重み再計算部と、利用者の操作に基づいて重み改訂モードが、１回の類似検索エンジンによる検索の実行毎に重みベクトルを改訂するオンラインモード、数回の類似検索エンジンによる検索の実行後に重みベクトルを改訂するオフラインモード、または全く重みベクトルを改訂しないノーモードに指定され、その指定された重み改訂モードに応じて重みベクトルの改訂処理を制御する重み改訂制御部を備えたものである。
【００１９】
請求項４記載の発明に係る類似検索装置は、類似検索対象の条件属性を有するベクトルデータを指定する対象データ指定部と、条件属性および参照属性を有する複数のベクトルデータを蓄積するベクトルデータベースと、そのベクトルデータベースに蓄積された複数のベクトルデータの中から上記対象データ指定部により指定された類似検索対象のベクトルデータに類似するベクトルデータを条件属性に関する重みベクトルに基づいて検索する類似検索エンジンと、その類似検索エンジンにより検索された類似するベクトルデータを表示する検索結果表示部と、利用者の操作に基づいて上記検索結果表示部に表示されたベクトルデータが正解か不正解かを判定すると共に、不正解である場合に望ましいベクトルデータが指定される正解選択部と、上記対象データ指定部により指定されたベクトルデータに上記正解選択部による正解のベクトルデータの参照属性または不正解である場合の望ましいベクトルデータの参照属性を付加して上記ベクトルデータベースに蓄積する新規データ追加部と、上記対象データ指定部により指定された類似検索対象のベクトルデータ、上記類似検索エンジンにより検索された類似するベクトルデータ、および上記正解選択部により不正解である場合に指定された望ましいベクトルデータに基づいて上記重みベクトルを改訂する３ベクトル重み再計算部と、利用者の操作に基づいて重み改訂モードが、１回の類似検索エンジンによる検索の実行毎に重みベクトルを改訂するオンラインモード、数回の類似検索エンジンによる検索の実行後に重みベクトルを改訂するオフラインモード、または全く重みベクトルを改訂しないノーモードに指定され、その指定された重み改訂モードに応じて重みベクトルの改訂処理を制御する重み改訂制御部を備えたものである。
【００２０】
請求項５記載の発明に係る類似検索装置は、類似検索対象のベクトルデータを指定する対象データ指定部と、複数のベクトルデータを蓄積するベクトルデータベースと、そのベクトルデータベースに蓄積された複数のベクトルデータの中から上記対象データ指定部により指定された類似検索対象のベクトルデータに類似するベクトルデータを重みベクトルに基づいて検索する類似検索エンジンと、その類似検索エンジンにより検索された類似するベクトルデータを表示する検索結果表示部と、利用者の操作に基づいて上記検索結果表示部に表示されたベクトルデータが正解か不正解かを判定すると共に、不正解である場合に望ましいベクトルデータが指定される正解選択部と、上記対象データ指定部により指定された類似検索対象のベクトルデータ、上記類似検索エンジンにより検索された類似するベクトルデータ、および上記正解選択部により不正解である場合に指定された望ましいベクトルデータに基づいて上記重みベクトルを改訂する３ベクトル重み再計算部と、評価用データを用い、改訂前の重みベクトルと改訂後の重みベクトルとを評価比較し、妥当な重みベクトルを選択する重みベクトル評価部を備えたものである。
【００２１】
請求項６記載の発明に係る類似検索装置は、類似検索対象の条件属性を有するベクトルデータを指定する対象データ指定部と、条件属性および参照属性を有する複数のベクトルデータを蓄積するベクトルデータベースと、そのベクトルデータベースに蓄積された複数のベクトルデータの中から上記対象データ指定部により指定された類似検索対象のベクトルデータに類似するベクトルデータを条件属性に関する重みベクトルに基づいて検索する類似検索エンジンと、その類似検索エンジンにより検索された類似するベクトルデータを表示する検索結果表示部と、利用者の操作に基づいて上記検索結果表示部に表示されたベクトルデータが正解か不正解かを判定すると共に、不正解である場合に望ましいベクトルデータが指定される正解選択部と、上記対象データ指定部により指定されたベクトルデータに上記正解選択部による正解のベクトルデータの参照属性または不正解である場合の望ましいベクトルデータの参照属性を付加して上記ベクトルデータベースに蓄積する新規データ追加部と、上記対象データ指定部により指定された類似検索対象のベクトルデータ、上記類似検索エンジンにより検索された類似するベクトルデータ、および上記正解選択部により不正解である場合に指定された望ましいベクトルデータに基づいて上記重みベクトルを改訂する３ベクトル重み再計算部と、評価用データを用い、改訂前の重みベクトルと改訂後の重みベクトルとを評価比較し、妥当な重みベクトルを選択する重みベクトル評価部を備えたものである。
【００２２】
請求項７記載の発明に係る類似検索装置は、類似検索対象のベクトルデータを指定する対象データ指定部と、複数のベクトルデータを蓄積するベクトルデータベースと、そのベクトルデータベースに蓄積された複数のベクトルデータの中から上記対象データ指定部により指定された類似検索対象のベクトルデータに類似するベクトルデータを重みベクトルに基づいて検索する類似検索エンジンと、その類似検索エンジンにより検索された類似するベクトルデータを表示する検索結果表示部と、利用者の操作に基づいて上記検索結果表示部に表示されたベクトルデータが正解か不正解かを判定すると共に、不正解である場合に望ましいベクトルデータが指定される正解選択部と、上記対象データ指定部により指定された類似検索対象のベクトルデータ、上記類似検索エンジンにより検索された類似するベクトルデータ、および上記正解選択部により不正解である場合に指定された望ましいベクトルデータに基づいて上記重みベクトルを改訂する３ベクトル重み再計算部と、対象データ指定部により指定されたベクトルデータまたはベクトルデータベースに蓄積されたベクトルデータの条件属性に欠落がある場合に、類似検索エンジンによりその欠落がある条件属性に基づいて仮類似度を計算させると共に、その欠落がある重みベクトルと欠落がない重みベクトルとその仮類似度とに基づいて矯正類似度を計算させて、その矯正類似度を利用して検索させるデータ欠落対処部を備えたものである。
【００２３】
請求項８記載の発明に係る類似検索装置は、類似検索対象の条件属性を有するベクトルデータを指定する対象データ指定部と、条件属性および参照属性を有する複数のベクトルデータを蓄積するベクトルデータベースと、そのベクトルデータベースに蓄積された複数のベクトルデータの中から上記対象データ指定部により指定された類似検索対象のベクトルデータに類似するベクトルデータを条件属性に関する重みベクトルに基づいて検索する類似検索エンジンと、その類似検索エンジンにより検索された類似するベクトルデータを表示する検索結果表示部と、利用者の操作に基づいて上記検索結果表示部に表示されたベクトルデータが正解か不正解かを判定すると共に、不正解である場合に望ましいベクトルデータが指定される正解選択部と、上記対象データ指定部により指定されたベクトルデータに上記正解選択部による正解のベクトルデータの参照属性または不正解である場合の望ましいベクトルデータの参照属性を付加して上記ベクトルデータベースに蓄積する新規データ追加部と、上記対象データ指定部により指定された類似検索対象のベクトルデータ、上記類似検索エンジンにより検索された類似するベクトルデータ、および上記正解選択部により不正解である場合に指定された望ましいベクトルデータに基づいて上記重みベクトルを改訂する３ベクトル重み再計算部と、対象データ指定部により指定されたベクトルデータまたはベクトルデータベースに蓄積されたベクトルデータの条件属性に欠落がある場合に、類似検索エンジンによりその欠落がある条件属性に基づいて仮類似度を計算させると共に、その欠落がある重みベクトルと欠落がない重みベクトルとその仮類似度とに基づいて矯正類似度を計算させて、その矯正類似度を利用して検索させるデータ欠落対処部を備えたものである。
【００２４】
請求項９記載の発明に係る類似検索装置は、重みベクトルの値を表示すると共に、利用者の指示に基づいてその重みベクトルの値を改訂する重み表示設定部を備えたものである。
【００２５】
請求項１０記載の発明に係る類似検索装置は、重み表示設定部を、スライドバーまたは棒グラフのようにグラフィカルに表示するようにしたものである。
【００２６】
請求項１１記載の発明に係る類似検索装置は、対象属性選択部を、条件属性名を表示したオンオフスイッチのようにグラフィカルに表示するようにしたものである。
【００３１】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態１．
図１はこの発明の実施の形態１による類似検索装置を示すブロック図であり、図において、１は検索対象の条件属性を有するベクトルデータを指定する対象データ指定部、２はベクトルデータの条件属性のうちのどの条件属性を対象として類似検索を行うかを指定する対象属性選択部、４は図２にその例を示したようにデータベースとして蓄えられた条件属性および参照属性を有する複数のベクトルデータを蓄積するベクトルデータベース（以下、ベクトルＤＢと略す）である。３は対象データ指定部１により指定された対象データと類似するベクトルデータをベクトルＤＢ４から検索する類似検索エンジン、５は類似検索エンジン３がデータ間の類似度を算出するために用いられるベクトルの各条件属性に付けられた重みをそれぞれの要素とする重みベクトル、６は類似検索エンジン３による検索結果を表示する検索結果表示部である。
【００３２】
７は検索結果表示部６に示された類似するベクトルデータが利用者が判断して正解であるかどうか、さらに不正解ならば正解として本来どのベクトルデータを選択するべきであったかを指定する正解選択部、８は対象データ指定部１により指定された検索対象のベクトルデータ、類似検索エンジン３により最も類似するとして選び出されたベクトルデータ、正解選択部７により利用者が選択した本来の正解にあたるベクトルデータの３ベクトルの各要素の値を利用して重みベクトルの新しい値を計算する３ベクトル重み再計算部である。９は３ベクトル重み再計算部８により計算された重みベクトルの新しい値を重みベクトル５に反映させる重み改訂部、１０は重みベクトル５の各重みの値を表示し、利用者からの修正を受け付ける重み表示設定部、１１は対象データ指定部１により指定された検索対象のベクトルデータに正解選択部７による正解のベクトルデータまたは指定された望ましいベクトルデータの参照属性を付加して、新しいベクトルデータとしてベクトルＤＢ４に追加する新規データ追加部である。
【００３３】
１５は重みの改訂をオンラインで実施するかどうかを指定する重み改訂モード、１２は重み改訂モード１５を利用者により設定されると共に、その設定された重み改訂モード１５に従い重み改訂処理を制御する重み改訂制御部、１３は利用者が正解選択部７を用いて類似検索作業を行った結果を蓄積する選択結果記録部、１４は選択結果記録部１３が蓄積した履歴データである選択結果ログである。１６は重みベクトル５を記録および保存する重みベクトル保存部、１８は保存された重みベクトル群である重みデータベース（以下、重みＤＢと略す）、１９は重みＤＢ１８の重みベクトル群の中から類似検索に用いる重みベクトル５を選択する重みベクトル選択部、１７は異なる重みベクトル５を比較および評価し、妥当な重みベクトルを選択する重みベクトル評価部である。２０はデータに欠落があるベクトルデータをも類似検索の対象とするための処理を実行するデータ欠落対処部である。
【００３４】
次に動作について説明する。
従来技術の説明と同様、説明を容易にするためにベクトルＤＢ４における条件属性の次元数をｎ、参照属性の次元数を１とする。ここで参照属性の数が１であることはこの発明の本質ではなく、多数であってもよい。
図３はこの発明の実施の形態１による類似検索装置の動作を示すフローチャートであり、まず、ステップＳＴ１では、利用者により重み改訂制御部１２を用いて重み改訂モード１５を設定する。ここで重み改訂モード１５の値とその意味を図４に示す。重み改訂モード１５は、Ｏｎ−Ｉｔｒｖ，Ｏｎ−Ｎｏｎｉｔｒｖ，Ｏｆｆ−Ｉｔｒｖ，Ｏｆｆ−Ｎｏｎｉｔｒｖ，Ｎｏの値をとる。Ｏｎ−ＩｔｒｖとＯｎ−Ｎｏｎｉｔｒｖは改訂がオンラインモードで行われること、Ｏｆｆ−ＩｔｒｖとＯｆｆ−Ｎｏｎｉｔｒｖは改訂がオフラインモードで行われること、さらに、Ｏｎ−ＩｔｒｖとＯｆｆ−Ｉｔｒｖは改訂がインタラクティブモードで行われること、Ｏｎ−ＮｏｎｉｔｒｖとＯｆｆ−Ｎｏｎｉｔｒｖは改訂が非インタラクティブモードで行われること、Ｎｏは重みの改訂がノーモード、即ち、重みの改訂が行われないことをそれぞれ表している。
そして、オンラインモードは、１回の類似検索エンジン３による検索の実行毎に重みベクトルを改訂するものであり、オフラインモードは、数回の類似検索エンジン３による検索の実行後に重みベクトルを改訂するものであり、さらに、ノーモードは、全く重みベクトルを改訂しないものである。
【００３５】
図３のステップＳＴ２では、図５にその詳細を示すように重みベクトルを選択、または、新たに作成する。
図５において、ステップＳＴ２０１では、対象属性選択部２により重みベクトルの新規定義を行うのかどうかについて利用者の指示を受け、新規定義の場合はステップＳＴ２０２，ステップＳＴ２０３に示す重みベクトルの新規定義処理へと進み、新規定義でない場合、即ち、既に定義された重みベクトルの選択が指示された場合にはステップＳＴ２０４，ステップＳＴ２０５に示す重みベクトルの選択処理へと進む。
【００３６】
図６は重みＤＢ１８を示す説明図であり、図において、テーブルの横１行が重みベクトルにあたる。「検索目的」属性はその重みベクトルをどういう目的の検索に用いるかを利用者が指定した内容であり、「保存日」はその重みベクトルを重みベクトル保存部１６が重みＤＢ１８に記録保存した日時、「Ｃｏｕｎｔ」は重みの改訂処理がこれまでに何回実行されたかを示す整数、「患者ＩＤ」から「のど痛」までの属性はベクトルＤＢ４の条件属性に対応したもので、それぞれの属性の累積重みを表す値を格納したものである。
【００３７】
図５に戻って、ステップＳＴ２０２では、対象属性選択部２が利用者に図７に示すような新規検索目的の定義ウィンドウを表示し、利用者のマウスクリックによる指定に従って、類似検索に用いる条件属性を決定する。図７では「熱」，「せき」，「鼻水」，「のど痛」の属性が、検索目的「症状」のために用いられる条件属性として選択されている状態を示している。ステップＳＴ２０３では類似検索エンジン３が重みベクトルＷおよび実行回数Ｃｏｕｎｔの初期化を行うが、初期化の値としては以下に従う。
0003664834.tif 000004
【００３８】
ステップＳＴ２０４では、重みベクトル選択部１９が利用者に図６に示したようなベクトルＤＢ４の中から重みベクトル５を選択させ、ステップＳＴ２０５で類似検索エンジン３がその選択された内容を変数に代入する。例えば、検索目的「症状」、保存日「９６．１０．３」の重みベクトル５を選択した場合、値は以下のように設定される。
Ｃｏｕｎｔ：＝８
ｗi は図８に示す通り
以上に示したように、ステップＳＴ２を終了した後は、実行回数Ｃｏｕｎｔと重みベクトルＷに値が設定されている。以後、ステップＳＴ２で検索目的「症状」、保存日「９６．１０．３」の重みベクトル５を選択した場合を例にとって説明を続ける。
【００３９】
図３のステップＳＴ３では、対象データ指定部１が類似検索の対象となるベクトルデータＸ＝（ｘ1 ，ｘ2 ，…，ｘn ）を一つ選択する。ここで、ｘからｘn は条件属性の値である。ステップＳＴ４では、類似検索エンジン３がベクトルＤＢ４からベクトルデータＹ＝（ｙ1 ，ｙ2 ，…，ｙn ，ｙn+1 ）を一つ取り出す。ここで、ｙからｙn は条件属性の値、ｙn+1 は参照属性の値である。ステップＳＴ５では、類似検索エンジン３がベクトルデータＸとＹの類似度ｓｉｍ（Ｘ，Ｙ）の算出処理を行う。その詳細を図９に示す。
【００４０】
ステップＳＴ５０１では、データ欠落対処部２０が、ベクトルデータＸおよびＹに欠落データがあるかどうかを判定する。例えば、図１０に示したベクトルＤＢ４の例では、患者ＩＤが１０５のデータの「せき」および「鼻水」条件属性の属性値に欠落があり、「−」が記録されているが、このデータをベクトルデータＹとして選んだ場合には、これら２つの条件属性データが欠落であると判定する。また、ベクトルデータＸとして例えば（１６２，田中，−，建設業，３９．５，あり，−，なし）のベクトルデータが指定されている場合ならば、Ｘの「年齢」および「鼻水」条件属性の属性値に欠落があると判定する。
【００４１】
条件属性の属性値に欠落がない場合、即ち、ステップＳＴ５０２では、類似検索エンジン３が重みベクトル５に設定された各条件属性の重みに従って次式のように類似度を算出する。
ｓｉｍ（Ｘ，Ｙ）＝−√｛Σi=1 ，…，n ｗi ・δ（ｘi ，ｙi ）2 ｝（８）
但し、重みｗi の値が−である場合、即ち、現在の検索目的に応じた条件属性の選択に漏れた属性群に対してはｗi ＝０として取り扱う（従って、この場合はδ（ｘi ，ｙi ）の値を計算する必要はない）。
【００４２】
また、条件属性の属性値に欠落がある場合、即ち、ステップＳＴ５０３では、類似検索エンジン３が次式のように仮類似度を算出する。
ｔｅｍｐ．ｓｉｍ（Ｘ，Ｙ）＝−√｛Σi=1 ，…，n ｗi ・δ（ｘi ，ｙi ）2 ｝（９）
但し、重みｗi の値が−である場合、即ち、現在の検索目的に応じた条件属性の選択に漏れた属性群に対してはｗi ＝０として取り扱う（従って、この場合はδ（ｘi ，ｙi ）の値を計算する必要はない）。
また、ｘi またはｙi にデータの欠落がある場合には、仮にｗi ＝０であるものとして取り扱い、δ（ｘi ，ｙi ）の値の計算処理を実行しない。
さらに、ステップＳＴ５０３では、上記のように算出された仮類似度を元に、データ欠落対処部２０が次式のように矯正類似度を算出する。
ｓｉｍ（Ｘ，Ｙ）＝｛Σi=1 ，…，n ｗi ／Σ*j=1 ，…，n ｗj ）・ｔｅｍｐ．ｓｉｍ（Ｘ，Ｙ）  （１０）
但し、Σ*j=1，…，n ｗj は、第ｊ属性には条件属性のデータの欠落がないもののみに関するｗj の総和とし、また、Σ*j=1，…，n ｗj ＝０である場合は、ｓｉｍ（Ｘ，Ｙ）＝０とする。
図３のステップＳＴ６では、ベクトルデータＹをベクトルＤＢ４の他のデータに代える処理を行い、ステップＳＴ４，ステップＳＴ５の処理を繰り返す。そして、ベクトルＤＢ４の全データをベクトルデータＹとして調べ終わるとステップＳＴ７へ進む。
【００４３】
ステップＳＴ７では、既に、ステップＳＴ４からステップＳＴ６で調べ終わったベクトルＤＢ４中の全データの中から、ｓｉｍ（Ｘ，Ｙ）を最大にするベクトルデータＹmax を選び出す。ここで類似度ｓｉｍの最大値を与えるＹのベクトルデータが複数個ある場合には、それらの中の任意のものをベクトルデータＹmax とする。
ステップＳＴ８では、図１１にその詳細を示すように、ベクトルデータＸに最も類似するデータとしてベクトルデータＹmax が正しい選択であったかどうかを判定すると同時に、正しくなかった場合には、本来何を選択すべきであったかという正解のベクトルデータＺを指定する処理を行う。
【００４４】
次にステップＳＴ８の詳細を説明する。図１１のステップＳＴ８０１では、検索結果表示部６がベクトルデータＹmax の参照属性値Ｙmaxn+1を表示し、利用者に提示する。ステップＳＴ８０２では、利用者が何らかの行為（例えば診断）の結果として決定したベクトルデータＸの参照属性値Ｘn+1 とベクトルデータＹmaxn+1の参照属性値を比較し、一致したかどうかを判定する。
一致した場合は、正解選択部７により、ステップＳＴ８０３で判定結果として「正解」を返す。一方一致しなかった場合、ステップＳＴ８０４に進み、検索結果表示部６はさらにベクトルＤＢ４中のＹmax 以外のべクトルデータＹをｓｉｍの値が高い順にリストアップして利用者に提示する。利用者はこのリストの中から正解選択部７により正解のベクトルデータＺを選択する。そして、ステップＳＴ８０５に進み、判定結果として「不正解」を返す。
【００４５】
図３のステップＳＴ９では、図１２にその詳細を示すように選択結果ログ１４を出力する。
図１２のステップＳＴ９０１では、重み改訂制御部１２により重み改訂モード１５がオフラインモードになっているかどうかを判定し、オフラインモードの場合にのみステップＳＴ９０２において選択結果ログ１４を選択結果記録部１３から出力する。
選択結果ログ１４は、例えば図１３に示したようなデータであり、重みベクトルを指定する「検索目的」、べクトルデータＸにあたる「対象データ」、べクトルデータＸに最も類似するベクトルデータである「正解データ」から構成される履歴を蓄積していくものであるが、「正解データ」については正解選択部７による判定結果が「正解」の場合にはベクトルデータＹmax 、「不正解」の場合にはベクトルデータＺを採用する。
【００４６】
図３のステップＳＴ１０，ステップＳＴ１１では、正解選択部７による判定結果が「不正解」であった場合にのみ、ベクトルデータＸ、ベクトルデータＹmax 、ベクトルデータＺを用いて重み改訂の処理を行う。その詳細を図１４を用いて次に説明する。
図１４のステップＳＴ１１０１では、重み改訂制御部１２により重み改訂モードがインタラクティブモードであるかどうかのチェックを行う。インタラクティブでなければ、ステップＳＴ１１０５に進む。
ステップＳＴ１１０５では、累積重みベクトルＷｃｕｍ、累積度数の値Ｃｏｕｎｔをそれぞ次の代入式に従って３ベクトル重み再計算部８が再計算し、重み改訂部９が改訂処理を行う。
Ｗｃｕｍi ：＝Ｗｃｕｍi ＋δ（ｘi ，ｙmaxi）2 −δ（ｘi ，ｚi ）2 （１１）
Ｃｏｕｎｔ：＝Ｃｏｕｎｔ＋１                                （１２）
【００４７】
ステップＳＴ１１０１で重み改訂モードがインタラクティブである場合は、ステップＳＴ１１０２に進む。
ステップＳＴ１１０２およびステップＳＴ１１０３は、重み表示設定部１０による動作であり、ステップＳＴ１１０２では、例えば図１５に示すように現在の重みを利用者に提示し、ステップＳＴ１１０３で利用者が例えばスライドバーを移動させたり、数値入力することにより重みを手動改訂する。図１５の例では、各属性の重みの値として式（１３）で定められるような重みベクトル値Ｗを提示し、利用者の設定値は式（１４）を用いて累積重みベクトルＷｃｕｍに換算する。
Ｗi ＝Ｗｃｕｍi ／Ｃｏｕｎｔ                                （１３）
Ｗｃｕｍi ＝Ｗi ・Ｃｏｕｎｔ                                （１４）
ステップＳＴ１１０５では、手動改訂された累積重みベクトルＷｃｕｍの値を元に、前述したのと全く同様に、式（１１），式（１２）に従って重みを改訂する。
【００４８】
図３に戻って、ステップＳＴ１２では、新規データ追加部１１がベクトルデータＸ＝（ｘ1 ，ｘ2 ，…，ｘn ）に、正解選択部７により指定されたベクトルデータＹmax の参照属性値ｙn+1 またはベクトルデータＺの参照属性値ｚn+1 を参考にして決められたＸの参照属性値ｘn+1 を付加して、ベクトルＤＢ４に新しいデータとして保存する。
以上のステップＳＴ３からステップＳＴ１２までで実現される類似検索、重みベクトルの改訂および新規データの追加の処理を、ステップＳＴ１３における判定を実施しながら、類似検索をかけるべき全ての対象データについて繰り返す。
【００４９】
ステップＳＴ１４では、重み改訂制御部１２により重み改訂モードがオフラインモードであるかどうかを判定し、オフラインモードであればステップＳＴ１５に進んでオフライン処理で重みの改訂を行った後、ステップＳＴ１６に進み、オフラインモードでなければ直接ステップＳＴ１６に進む。ステップＳＴ１６では、重みベクトル保存部１６がその時点での累積重みベクトルＷｃｕｍと重み更新の累積度数Ｃｏｕｎｔの値を、検索目的、保存日時と共に重みＤＢ１８に記録保存する。
【００５０】
ステップＳＴ１５では、重み改訂制御部１２の制御により、図１６にその詳細を示すような手順でオフラインモードでの重み改訂処理を行う。
図１６において、ステップＳＴ１５０１では、重み改訂制御部１２が選択結果ログ１４からログデータとして、検索目的、対象ベクトルデータＸ、正解のベクトルデータＺの１対を読み出した上で、ステップＳＴ４からステップＳＴ７により対象のベクトルデータＸに最も類似するベクトルデータＹmax を選出するが、その処理は図３および図９で既に説明したのと全く同様である。
【００５１】
ステップＳＴ１５０２では、ベクトルデータＹmax とベクトルデータＺの同一性を確認する。同一でない場合はステップＳＴ１１に進んで重み改訂を行うが、その処理は既に図３および図１４で説明したのと全く同様である。
重み改訂制御部１２は、ステップＳＴ１５０３の判断を行いながら、選択結果ログ１４に記録された全ての履歴についてオフラインの重み改訂処理を行うように制御する。
【００５２】
重み改訂制御部１２は、ステップＳＴ１５０４において、重みベクトル評価部１７を用いて次の処理を行う。即ち、重みＤＢ１８に前回保存された重みベクトルの値と現在のオフライン改訂後の重みベクトルとの重み設定に従って、全ての選択結果ログ１４についてシステムが選び出したベクトルデータＹmax と正解のベクトルデータＺがどれだけ一致するかという正解率を算出し、その正解率の高い方を改めて重みベクトルの値とする。このように選択結果ログ１４に残された履歴を評価用データとして用い、重みベクトルが改訂後に検索精度を上げるかどうかを評価した上で、検索精度が下がることのないように重みを設定する。
【００５３】
上記実施の形態１で用いられた重みベクトルの改訂式（１１）は一例を示すものであり、ベクトルデータＸ、ベクトルデータＹmax 、ベクトルデータＺを用いてその他の式により重みベクトルの訂正を行っても良い。
また、上記実施の形態１における式（９），式（１０）を用いた矯正類似度の算出方法は一例を示すものであり、他の式により矯正類似度を算出しても良い。
また、上記実施の形態１における図７，図１５に示したユーザインタフェースは一例を示すものであり、他の画面構成であっても良い。
また、上記実施の形態１では、検索の対象となるベクトルデータＸに症状と病名からなる医療上の診療データの例を用いて説明したが、類似検索装置は医療応用に限らず一般にベクトルデータの類似検索において同様の効果を奏する。特に、その他のベクトルデータの一例としては、図１７に示すように、検査画像を解析して得られる特徴量を条件属性として検査画像のファイル名の類似検索を行うような場合がある。
【００５４】
以上のように、この実施の形態１によれば、以下のような効果が得られる。
（ａ）正解選択部７および３ベクトル重み再計算部８を用いて、類似検索装置の実施した類似検索の結果が不正解であった場合にのみ、検索対象のベクトルデータ、類似検索装置が最も類似するデータとして選出したベクトルデータ、利用者が正解として選んだベクトルデータの３つのベクトルデータを用いて重みを改訂するので、類似検索装置の類似検索の結果が正解の場合にまで重みを変更してしまうことがなく、検索精度が向上する。
（ｂ）重み表示設定部１０を用いて利用者に対してグラフィカルな表現を用いて重みベクトルを提示することができるので、利用者が重み設定の状態を容易に理解することができる。
（ｃ）重み改訂制御部１２が重み改訂を利用者との協調作業により、インタラクティブに実施させることができるので、利用者の経験に基づく主観的な判断を組み込みながら類似検索の重みベクトルをチューニングして行くことができる。
（ｄ）対象属性選択部２が利用者による条件属性の選択を可能にするので、類似検索に用いる条件属性を利用者の意志に従って選択指定することができる。
（ｅ）重みＤＢ１８、重みベクトル選択部１９、重みベクトル保存部１６を用いて複数の重みベクトルの設定を保存管理できるので、検索目的などに応じて重みベクトルを使い分けることができる。
（ｆ）データ欠落対処部２０により、検索対象あるいはベクトルＤＢ４中のデータの属性値に欠落があっても、それを矯正する類似度を算出することができ、類似検索エンジン３がデータの欠落に対処できる。
（ｇ）重み改訂制御部１２、選択結果記録部１３が、重みを逐次更新する代わりに選択結果ログ１４を蓄え、オフラインで重みの改訂を実施することができるので、類似検索作業の実施中には重みベクトルを固定しておくことが可能になり、システムの不安定要因を除くことができる。
（ｈ）重みベクトル評価部１７が以前の重みベクトルと現在の重みベクトルの類似検索精度を評価し、精度の高い方を選ぶことができるので、無条件に重みベクトルを更新する場合に比べて精度の劣化を防止することができる。
【００５５】
【発明の効果】
以上のように、本願発明によれば、利用者の操作に基づいて検索結果表示部に表示されたベクトルデータが正解か不正解かを判定すると共に、不正解である場合に望ましいベクトルデータが指定される正解選択部と、対象データ指定部により指定されたベクトルデータ、類似検索エンジンにより検索されたベクトルデータ、および正解選択部により不正解である場合に指定されたベクトルデータに基づいて重みベクトルを改訂する３ベクトル重み再計算部とを備えるように構成したので、類似検索エンジンが検索したベクトルデータが正解であったかどうかの単なる判定だけでなく、不正解の場合には本来ならばどのベクトルデータを検索結果とすることが望ましかったのかを利用者が正解選択部により指定することにより、３ベクトル重み再計算部が３つのべクトルデータから重みベクトルを改訂することができる効果がある。また、この３ベクトル重み再計算部は類似検索エンジンが正解のベクトルデータを検索した際には重みベクトルの改訂を全く行わないが、これにより重みべクトルの設定がうまく行っている時には重みを固定することができ、精度の悪化を防止することができる効果がある。
【００５６】
本願発明によれば、利用者の操作に基づいて検索結果表示部に表示されたベクトルデータが正解か不正解かを判定されると共に、不正解である場合に望ましいベクトルデータが指定される正解選択部と、対象データ指定部により指定されたベクトルデータに正解選択部による正解のベクトルデータの参照属性または不正解である場合の望ましいベクトルデータの参照属性を付加してベクトルデータベースに蓄積する新規データ追加部と、対象データ指定部により指定されたベクトルデータ、類似検索エンジンにより検索されたベクトルデータ、および正解選択部により不正解である場合に指定されたベクトルデータに基づいて重みベクトルを改訂する３ベクトル重み再計算部とを備えるように構成したので、類似検索エンジンが検索したベクトルデータが正解であったかどうかの単なる判定だけでなく、不正解の場合には本来ならばどのベクトルデータを検索結果とすることが望ましかったのかを利用者が正解選択部により指定することにより、３ベクトル重み再計算部が３つのべクトルデータから重みベクトルを改訂することができる効果がある。また、この３ベクトル重み再計算部は類似検索エンジンが正解のベクトルデータを検索した際には重みベクトルの改訂を全く行わないが、これにより重みべクトルの設定がうまく行っている時には重みを固定することができ、精度の悪化を防止することができる効果がある。
さらに、新規データ追加部により、対象データ指定部により指定されたベクトルデータに正解選択部による正解のベクトルデータの参照属性または不正解である場合の望ましいベクトルデータの参照属性を参考にして決められた参照属性値を付加してベクトルデータベースに蓄積することができる効果がある。
【００５７】
本願発明によれば、重みベクトルの値を表示すると共に、利用者の指示に基づいてその重みベクトルの値を改訂する重み表示設定部を備えるように構成したので、重み表示設定部が重みベクトルの値を表示し、また、利用者はこの重み表示設定部を用いて類似検索装置が現在用いている重みベクトルの設定を改訂することができ、重みベクトルの状態を把握できると共に、希望通りに設定することができる効果がある。
【００５８】
本願発明によれば、重み表示設定部を、スライドバーまたは棒グラフのようにグラフィカルに表示するように構成したので、利用者が直感的にベクトルの状態を把握することができ、新しい状態の重みベクトルの設定を容易に行うことができる効果がある。
【００６０】
本願発明によれば、対象データ指定部により指定されたベクトルデータのうちの類似検索の対象にする条件属性を利用者の操作に基づいて指定される対象属性選択部を備え、類似検索エンジンは、対象属性選択部により指定された条件属性のみに関してベクトルデータを検索するように構成したので、類似検索の対象にする条件属性を利用者の意志に応じて設定できる効果がある。
【００６１】
本願発明によれば、対象属性選択部を、条件属性名を表示したオンオフスイッチのようにグラフィカルに表示するように構成したので、条件属性の選択を、マウスで選択するなど条件属性の選択を容易にすることができる効果がある。
【００６２】
本願発明によれば、利用者の操作に基づいて、１回の類似検索エンジンによる検索の実行毎に重みベクトルを改訂するオンラインモードと、数回の類似検索エンジンによる検索の実行後に重みベクトルを改訂するオフラインモードと、全く重みベクトルを改訂しないノーモードとに指定され、その指定されたモードに応じて重みベクトルの改訂処理を制御する重み改訂制御部を備えるように構成したので、利用者が重み改訂モードをオンラインモード、オフラインモード、ノーモードに切り替えることができ、その重み改訂制御部の重み改訂モードに従って、重み改訂の処理を切り替えることができる効果がある。
【００６４】
本願発明によれば、評価用データを用い、改訂前の重みベクトルと改訂後の重みベクトルとを評価比較し、妥当な重みベクトルを選択する重みベクトル評価部を備えるように構成したので、重みベクトル評価部が、類似検索の精度を比較するためのテストデータである評価用データを用いて、改訂前の重みベクトルと改訂後の重みベクトルを用いた場合の類似検索後の正解率から精度を比較し、その結果に応じてより良い重みベクトルを選択し、採用することができる効果がある。
【００６９】
本願発明によれば、対象データ指定部により指定されたベクトルデータまたはベクトルデータベースに蓄積されたベクトルデータの条件属性に欠落がある場合に、類似検索エンジンによりその欠落がある条件属性に基づいて仮類似度を計算させると共に、その欠落がある重みベクトルと欠落がない重みベクトルとその仮類似度とに基づいて矯正類似度を計算させて、その矯正類似度を利用して検索させるデータ欠落対処部を備えるように構成したので、データ欠落対処部が欠落していない部分の条件属性から算出される部分的な類似度指標を元に、類似検索の条件指定の対象になる全属性を用いた類似度に換算し、欠落のないベクトルデータが示す類似度と比較することができる効果がある。
【図面の簡単な説明】
【図１】  この発明の実施の形態１による類似検索装置を示すブロック図である。
【図２】  ベクトルＤＢを示す説明図である。
【図３】  この発明の実施の形態１による類似検索装置の動作を示すフローチャートである。
【図４】  重み改訂モードを示す説明図である。
【図５】  重みベクトルの選択および作成処理の詳細を示すフローチャートである。
【図６】  重みＤＢを示す説明図である。
【図７】  条件属性の選択画面を示す説明図である。
【図８】  重みベクトルを示す説明図である。
【図９】  類似度算出処理の詳細を示すフローチャートである。
【図１０】  データの欠落を含むベクトルＤＢを示す説明図である。
【図１１】  類似検索結果の判定および正解選択処理の詳細を示すフローチャートである。
【図１２】  選択結果ログの出力処理の詳細を示すフローチャートである。
【図１３】  選択結果ログを示す説明図である。
【図１４】  重み改訂処理の詳細を示すフローチャートである。
【図１５】  重み設定の提示および手動改訂の画面を示す説明図である。
【図１６】  オフライン重み改訂処理の詳細を示すフローチャートである。
【図１７】  他のベクトルＤＢを示す説明図である。
【図１８】  従来の類似検索装置を示すブロック図である。
【図１９】  従来の類似検索装置の動作を示すフローチャートである。
【図２０】  従来の類似検索装置の結果判定処理の詳細を示すフローチャートである。
【図２１】  従来の類似検索装置の重み改訂処理の詳細を示すフローチャートである。
【符号の説明】
１  対象データ指定部、２  対象属性選択部、３  類似検索エンジン、４  ベクトルデータベース、５  重みベクトル、６  検索結果表示部、７  正解選択部、８  ３ベクトル重み再計算部、９  重み改訂部、１０  重み表示設定部、１１新規データ追加部、１２  重み改訂制御部、１３  選択結果記録部、１４  選択結果ログ、１５  重み改訂モード、１６  重みベクトル保存部、１７  重みベクトル評価部、１８  重みデータベース、１９  重みベクトル選択部、２０  データ欠落対処部。
【図１】
0003664834.tif 000005
【図２】
0003664834.tif 000006
【図３】
0003664834.tif 000007
【図４】
0003664834.tif 000008
【図５】
0003664834.tif 000009
【図６】
0003664834.tif 000010
【図７】
0003664834.tif 000011
【図８】
0003664834.tif 000012
【図９】
0003664834.tif 000013
【図１０】
0003664834.tif 000014
【図１１】
0003664834.tif 000015
【図１２】
0003664834.tif 000016
【図１３】
0003664834.tif 000017
【図１４】
0003664834.tif 000018
【図１５】
0003664834.tif 000019
【図１６】
0003664834.tif 000020
【図１７】
0003664834.tif 000021
【図１８】
0003664834.tif 000022
【図１９】
0003664834.tif 000023
【図２０】
0003664834.tif 000024
【図２１】
0003664834.tif 000025