(57)【特許請求の範囲】
【請求項１】
データの間の類似度にもとづいて、入力されたキーワードに応じたデータを出力するデータ出力装置であって、
複数の異なる属性のデータと、前記複数の異なる属性のデータを全て単一の属性のデータに変換した上で各データ間の類似度を計算するための類似度計算式とを記憶するデータベースと、
前記入力されたキーワードに応じたデータを前記データベースから抽出するデータ抽出手段と、
前記データ抽出手段が抽出したデータを出力するデータ出力手段と、
前記データ出力手段が出力したデータに応じて、ユーザによってなされた選択操作を示す情報を含むフィードバック情報を入力するフィードバック情報入力手段と、
前記フィードバック情報入力手段が入力したフィードバック情報にもとづいて、前記データベースに記憶されているデータと前記入力されたキーワードとの間の類似度を計算するための類似度計算式を更新し、更新後の類似度計算式を前記データベースに記憶する類似度更新手段とを備え、
前記データ抽出手段は、前記データベースに記憶されている類似度計算式であって、前記キーワードに応じた類似度計算式の計算結果にもとづいて、前記キーワードに応じたデータを抽出する
ことを特徴とするデータ出力装置。
【請求項２】
類似度更新手段は、フィードバック情報入力手段が入力したフィードバック情報によって示されるユーザによって選択操作がなされたデータと、入力されたキーワードとの間の類似度を計算するための類似度計算式を更新する
請求項１記載のデータ出力装置。
【請求項３】
データ抽出手段は、データベースに記憶されている類似度計算式を用いて、入力されたキーワードにもとづくベクトルとユーザによって選択操作がなされたデータにもとづくベクトルとを線形変換し、線形変換後のベクトルの内積によって示される各データ間の類似度を計算し、
類似度更新手段は、前記類似度計算式において、前記入力されたキーワードにもとづくベクトルと、フィードバック情報によって示される前記ユーザによって選択操作がなされたデータにもとづくベクトルとを、それぞれのベクトルに応じて線形変換するための行列を更新する
請求項１または請求項２記載のデータ出力装置。
【請求項４】
データベースは、属性がグラフのデータと属性が文書のデータとを含む複数の複合データを記憶し、
前記データベースに記憶されている前記複数の複合データに含まれる前記グラフのデータと前記文書のデータとの組のうち、所定の条件を満たす組のデータを類似するデータであると設定する類似組設定手段を含み、
類似度更新手段は、前記類似組設定手段によって類似するデータであると設定された組に含まれるデータの間の類似度を計算するための類似度計算式を更新する
請求項１から請求項３のうちいずれか１項記載のデータ出力装置。
【請求項５】
データベースは、属性がグラフのデータと属性が文書のデータとを含む複数の複合データを記憶し、
フィードバック情報入力手段が入力したフィードバック情報にもとづいて、入力されたキーワードと、ユーザによって選択操作がなされたデータとの組のデータを類似するデータであると設定する類似組設定手段を含み、
類似度更新手段は、前記類似組設定手段によって類似するデータであると設定された組に含まれるデータの間の類似度を計算するための類似度計算式を更新する
請求項１から請求項３のうちいずれか１項記載のデータ出力装置。
【請求項６】
データの間の類似度にもとづいて、入力されたキーワードに応じたデータを出力するデータ出力方法であって、
複数の異なる属性のデータと、前記複数の異なる属性のデータを全て単一の属性のデータに変換した上で各データ間の類似度を計算するための類似度計算式とを記憶するデータベースから、前記入力されたキーワードに応じたデータを抽出し、
抽出したデータを出力し、
出力したデータに応じて、ユーザによってなされた選択操作を示す情報を含むフィードバック情報を入力し、
入力したフィードバック情報にもとづいて、前記データベースに記憶されているデータと前記入力されたキーワードとの間の類似度を計算するための類似度計算式を更新し、更新後の類似度計算式を前記データベースに記憶し、
新たにキーワードが入力された場合に、更新されて前記データベースに記憶されている類似度計算式であって、前記キーワードに応じた類似度計算式の計算結果にもとづいて、前記キーワードに応じたデータを抽出する
ことを特徴とするデータ出力方法。
【請求項７】
コンピュータに、データの間の類似度にもとづいて、入力されたキーワードに応じたデータを出力させるためのデータ出力プログラムであって、
コンピュータに、
複数の異なる属性のデータと、前記複数の異なる属性のデータを全て単一の属性のデータに変換した上で各データ間の類似度を計算するための類似度計算式とを記憶するデータベースから、前記入力されたキーワードに応じたデータを抽出するデータ抽出処理と、
前記データ抽出処理で抽出したデータを出力するデータ出力処理と、
前記データ出力処理で出力したデータに応じて、ユーザによってなされた選択操作を示す情報を含むフィードバック情報を入力するフィードバック情報入力処理と、
前記フィードバック情報入力処理で入力したフィードバック情報にもとづいて、前記データベースに記憶されているデータと前記入力されたキーワードとの間の類似度を計算するための類似度計算式を更新し、更新後の類似度計算式を前記データベースに記憶する類似度更新処理とを実行させ、
前記データ抽出処理で、前記データベースに記憶されている類似度計算式であって、前記キーワードに応じた類似度計算式の計算結果にもとづいて、前記キーワードに応じたデータを抽出させる
ためのデータ出力プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ間の類似度を計算するための類似度計算式を更新し、更新結果に応じてデータを出力するためのデータ出力装置、データ出力方法およびデータ出力プログラムに関する。
【背景技術】
【０００２】
ユーザの操作に応じて予め登録されている複数のデータの間の類似度を更新する、つまりデータの類似度を学習するシステムがある。特許文献１には、データの間の類似度として、ユーザの操作にもとづいてデータ空間の計量を学習するシステム（つまり、ユーザの操作に応じて、ある空間におけるデータ間の距離を更新するシステム）が記載されている。特許文献１に記載されたシステムは、ユーザの操作に応じた情報を入力するフィードバック入力装置、計量学習装置、および最適化された計量を適用したデータ分析装置などから構成されている。
【０００３】
特許文献１に記載されたシステムは次のように動作する。ユーザの指示に応じて、データ分析として、例えば文書のクラスタリング（分類）を行う場合に、当該システムは、まず、最適化されていない計量を用いて文書の分析を行い、分析結果を出力する。
【０００４】
ユーザによって分析結果が参照され、さらに操作が行われた場合に、フィードバック入力装置は、ユーザによって行われた操作に応じた情報を計量学習装置が扱うことのできる形に変換する。計量学習装置は、計量学習を実行する。また、特許文献１に記載されたシステムは能動学習機能を有する。これによりシステムからユーザに、計量学習において学習結果に影響を与えるような重要な情報提示を行い、フィードバックの生成や計量学習の効率を上げる。
【０００５】
ユーザによって行われた操作に応じて与えられるフィードバックの種類は、計量学習の方法に直結する。特許文献１に記載されたシステムでは、Ｍａｈａｌａｎｏｂｉｓ行列を最適化する場合に、Ｍａｈａｌａｎｏｂｉｓ距離に関するフィードバック（データ間の距離を遠ざける、近づけるなど）や、行列要素（属性重要度や属性間関連度）についての直接のフィードバックなどが用いられる。
【０００６】
非特許文献１にはフィードバックの種類が３つの組みのデータである場合に、計量学習を行う方法が記載されている。フィードバックは、３点間の類似度、非類似度に対して与えられる。計量はＭａｈａｌａｎｏｂｉｓ行列で定義される。非特許文献１には、分類モデルを構築する場合に、複数のＭａｈａｌａｎｏｂｉｓ行列を用いると、分類精度が向上することが記載されている。
【０００７】
非特許文献２には、画像検索の際にユーザのクエリに応じた画像を抽出する際に、距離計量ではなく、類似度を学習し、画像抽出の精度を向上させるシステムが記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】国際公開第２００９／１０４３２４号パンフレット
【非特許文献】
【０００９】
【非特許文献１】Ｋｉｌｉａｎ  Ｑ．  Ｗｅｉｎｂｅｒｇｅｒ、Ｌａｗｒｅｎｃｅ  Ｋ．  Ｓａｕｌ、“Ｆａｓｔ  Ｓｏｌｖｅｒｓ  ａｎｄ  Ｅｆｆｉｃｉｅｎｔ  Ｉｍｐｌｅｍｅｎｔａｔｉｏｎｓ  ｆｏｒ  Ｄｉｓｔａｎｃｅ  Ｍｅｔｒｉｃ  Ｌｅａｒｎｉｎｇ”、ＩＣＭＬ  ２００８、ｐｐ．１１６０−１１６７
【非特許文献２】Ｇａｌ  Ｃｈｅｃｈｉｋ、Ｕｒｉ  Ｓｈａｌｉｔ、Ｖａｒｕｎ  Ｓｈａｒｍａ、Ｓａｍｙ  Ｂｅｎｇｉｏ、“Ａｎ  Ｏｎｌｉｎｅ  Ａｌｇｏｒｉｔｈｍ  ｆｏｒ  Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｍａｇｅ  Ｓｉｍｉｌａｒｉｔｙ  Ｌｅａｒｎｉｎｇ”、［ｏｎｌｉｎｅ］、ＮＩＰＳ２００９、［平成２２年５月１９日検索］、インターネット＜ＵＲＬ：http://books.nips.cc/papers/files/nips22/NIPS2009_0844.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、特許文献１に記載されているシステム、非特許文献１に記載されている方法、および非特許文献２に記載されているシステムでは、データの属性が異なることが考慮されていない。従って、特許文献１に記載されているシステム、および非特許文献２に記載されているシステムでは、異なる属性のデータ間の距離を計量することができない。非特許文献１に記載されている方法では、異なる属性のデータ間の類似度を更新することができない。
【００１１】
よって、特許文献１に記載されているシステム、および非特許文献２に記載されているシステムで更新される距離は、同一の属性のデータ間の距離に限定され、距離の更新の効率を高めることができない。また、非特許文献１に記載されている方法で更新される類似度は、同一の属性のデータ間の類似度に限定され、類似度の更新の効率を高めることができない。
【００１２】
そこで、本発明は、異なる属性のデータの間の類似度を計算するための類似度計算式を更新し、更新結果に応じてデータを出力するためのデータ出力装置、データ出力方法およびデータ出力プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明によるデータ出力装置は、データの間の類似度にもとづいて、入力されたキーワードに応じたデータを出力するデータ出力装置であって、複数の異なる属性のデータと、複数の異なる属性のデータを全て単一の属性のデータに変換した上で各データ間の類似度を計算するための類似度計算式とを記憶するデータベースと、入力されたキーワードに応じたデータをデータベースから抽出するデータ抽出手段と、データ抽出手段が抽出したデータを出力するデータ出力手段と、データ出力手段が出力したデータに応じて、ユーザによってなされた選択操作を示す情報を含むフィードバック情報を入力するフィードバック情報入力手段と、フィードバック情報入力手段が入力したフィードバック情報にもとづいて、データベースに記憶されているデータと入力されたキーワードとの間の類似度を計算するための類似度計算式を更新し、更新後の類似度計算式をデータベースに記憶する類似度更新手段とを備え、データ抽出手段は、データベースに記憶されている類似度計算式であって、キーワードに応じた類似度計算式の計算結果にもとづいて、キーワードに応じたデータを抽出することを特徴とする。
【００１４】
本発明によるデータ出力方法は、データの間の類似度にもとづいて、入力されたキーワードに応じたデータを出力するデータ出力方法であって、複数の異なる属性のデータと、複数の異なる属性のデータを全て単一の属性のデータに変換した上で各データ間の類似度を計算するための類似度計算式とを記憶するデータベースから、入力されたキーワードに応じたデータを抽出し、抽出したデータを出力し、出力したデータに応じて、ユーザによってなされた選択操作を示す情報を含むフィードバック情報を入力し、入力したフィードバック情報にもとづいて、データベースに記憶されているデータと入力されたキーワードとの間の類似度を計算するための類似度計算式を更新し、更新後の類似度計算式をデータベースに記憶し、新たにキーワードが入力された場合に、更新されてデータベースに記憶されている類似度計算式であって、キーワードに応じた類似度計算式の計算結果にもとづいて、キーワードに応じたデータを抽出することを特徴とする。
【００１５】
本発明によるデータ出力プログラムは、コンピュータに、データの間の類似度にもとづいて、入力されたキーワードに応じたデータを出力させるためのデータ出力プログラムであって、コンピュータに、複数の異なる属性のデータと、複数の異なる属性のデータを全て単一の属性のデータに変換した上で各データ間の類似度を計算するための類似度計算式とを記憶するデータベースから、入力されたキーワードに応じたデータを抽出するデータ抽出処理と、データ抽出処理で抽出したデータを出力するデータ出力処理と、データ出力処理で出力したデータに応じて、ユーザによってなされた選択操作を示す情報を含むフィードバック情報を入力するフィードバック情報入力処理と、フィードバック情報入力処理で入力したフィードバック情報にもとづいて、データベースに記憶されているデータと入力されたキーワードとの間の類似度を計算するための類似度計算式を更新し、更新後の類似度計算式をデータベースに記憶する類似度更新処理とを実行させ、データ抽出処理で、データベースに記憶されている類似度計算式であって、キーワードに応じた類似度計算式の計算結果にもとづいて、キーワードに応じたデータを抽出させることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、異なる属性のデータの間の類似度を計算するための類似度計算式を統一的に更新するので、データ検索結果などのデータ出力の精度を効率よく高めることができる。
【図面の簡単な説明】
【００１７】
【図１】本発明による類似度学習装置の実施形態の構成例を示す説明図である。
【図２】類似度適用データベースに保存されているデータの例を示す説明図である。
【図３】フィードバック変換部の構成例を示す説明図である。
【図４】類似度学習装置の実現例を示す説明図である。
【図５】本実施形態の類似度学習装置の動作を示すフローチャートである。
【図６】本発明の概要を示すブロック図である。
【発明を実施するための形態】
【００１８】
本発明による類似度学習装置１００の実施形態について、図面を参照して説明する。図１は、本発明による類似度学習装置１００の実施形態の構成例を示す説明図である。
【００１９】
図１に示すように、本発明による類似度学習装置１００は、フィードバック変換部２００、類似度学習部３００、および類似度適用データベース４００を含み、ユーザインタフェース５００に接続されている。
【００２０】
類似度適用データベース４００には、互いに類似している複数のデータの組、および非類似のデータの組が保存されている。図２は、類似度適用データベース４００に保存されているデータの例を示す説明図である。図２に示す例では、類似度適用データベース４００に、文書データｘｄｉ、ｘｄｊ、およびｘｄｋと、画像データｘｐｉ、ｘｐｊ、およびｘｐｋと、音声データｘｖｉ、ｘｖｊ、およびｘｖｋとが保存されていることが示されている。そして、図２には、文書データｘｄｉと画像データｘｐｉとが類似していることが示され、画像データｘｐｋと音声データｘｖｉとが非類似であることが示され、音声データｘｖｊと文書データｘｄｊとが類似していることが示されている。また、図２には、文書データｘｄｉと文書データｘｄｋとが類似していることが示され、文書データｘｄｉと文書データｘｄｊとが非類似であることが示され、画像データｘｐｉと画像データｘｐｊとが非類似であることが示され、音声データｘｖｉと音声データｘｖｋとが類似していることが示され、音声データｘｖｊと音声データｘｖｋとが非類似であることが示されている。以下、互いに類似するデータの組を類似組といい、互いに非類似のデータの組を非類似組という。
【００２１】
なお、各データは、類似度適用データベース４００において、属性に応じた属性空間に（表現で）保存されているとする。具体的には、図２に示すように、文書データｘｄｉ、ｘｄｊ、およびｘｄｋが文書空間に保存され、画像データｘｐｉ、ｘｐｊ、およびｘｐｋが画像空間に保存され、音声データｘｖｉ、ｘｖｊ、およびｘｖｋが音声空間に保存されているとする。
【００２２】
図３は、フィードバック変換部２００の構成例を示す説明図である。図３に示すように、フィードバック変換部２００は、類似−非類似抽出部２１０と、類似−非類似選択部２２０とを含む。
【００２３】
ユーザインタフェース５００は、データの検索や分類のためにユーザによって入力されたキーワードを類似度適用データベース４００に送信する。類似度適用データベース４００は、ユーザインタフェース５００によって送信されたキーワードに応じたデータをユーザインタフェース５００に送信する。ユーザインタフェース５００は、類似度適用データベース４００が送信したデータを表示する。ユーザインタフェース５００は、ユーザによってユーザインタフェース５００に入力されたキーワードと、表示したデータに応じてユーザによってなされた選択操作とを示すフィードバックデータを類似度適用データベース４００に送信する。類似度適用データベース４００は、ユーザインタフェース５００によって送信されたフィードバックデータを保存する。
【００２４】
また、類似度適用データベース４００は、ユーザインタフェース５００によって送信されたフィードバックデータをフィードバック変換部２００に入力する。フィードバック変換部２００は、入力されたフィードバックデータに応じた類似組のデータの集合Ｓおよび非類似組のデータの集合Ｄを類似度適用データベース４００から抽出する。フィードバック変換部２００は、入力されたフィードバックデータと、類似度適用データベース４００から抽出した集合Ｓおよび集合Ｄを類似度学習部３００に入力する。
【００２５】
類似度学習部３００は、フィードバック変換部２００が入力したフィードバックデータ、集合Ｓおよび集合Ｄにもとづいて、各データ間の類似度を計算するための類似度計算式を更新する。
【００２６】
類似度学習部３００の動作について説明する。ある空間ａから別の空間へのデータｘのマッピングを式（１）に定義する。
φａ（ｘａ）・・・式（１）
式（１）に示すように、あるデータｘは、φの像空間にマップされる。そして、異なる空間のデータである空間ａのデータｘｉと空間ｂのデータｘｊとの間の類似度σａｂ（ｘｉ，ｘｊ）は以下の式（２）で定義される。
σａｂ（ｘｉ，ｘｊ）＝σ（φａ（ｘａｉ），φｂ（ｘｂｊ））・・・式（２）
ここで、ｘａｉは、ｘｉが空間ａのデータであることを示し、ｘｂｊは、ｘｊが空間ｂのデータであることを示している。また、σ（ｘ，ｙ）は２つのベクトル間の類似度を算出するための関数である。
【００２７】
なお、データｘｉ，ｘｊがそれぞれ異なる空間のデータにもとづくベクトルであるとして式（１）および式（２）を用いてデータｘｉとデータｘｊとの間の類似度を定義したが、同じ空間のデータの間の類似度も、式（１）および式（２）を用いて定義してもよいし、異なる空間にある同じデータの間の類似度を式（１）および式（２）を用いて定義してもよい。
【００２８】
式（１）に定義したマッピングの簡単な例に、線形変換がある。線形変換を用いた場合に、マッピングは以下の式（３）で示される
φａ（ｘａ）＝Ｗａｘａ・・・式（３）
そして、式（４）に示すように、データｘとデータｙとの類似度もマップされた空間における内積で定義できる。
σ（ｘ，ｙ）＝ｘＴｙ・・・式（４）
【００２９】
式（３）および式（４）を用いると、式（２）に示す空間ａのデータｘｉと空間ｂのデータｘｊとの間の類似度を計算するための類似度計算式を以下の式（５）で表すことができる。
σａｂ（ｘｉ，ｘｊ）＝σ（Ｗａｘａｉ，Ｗｂｘｂｊ）＝ｘａｉＴＷａＴＷｂｘｂｊ・・・式（５）
【００３０】
上述した各式を用いて、異なる空間のデータの間の類似度を計算するための類似度計算式の更新（類似度学習問題）は以下に示す式（６）の枠組みで定式化される。
【００３１】
【数１】
0005533272.tif 000002
【００３２】
式（６）において、要素が３つである集合Ｔの各要素のデータには、符号ｉ、ｊまたはｋが付されている。そして、ｉが付されたデータとｊが付されたデータとの間の類似度は、ｉが付されたデータとｋが付されたデータとの間の類似度よりも高い。また、Ｌｏｓｓ（｛ζ｝）は損失関数であり、Ｒｅｇｕｌａｒｉｚａｔｉｏｎ（｛φ｝）は正規化関数であり、Ｃは損失関数と正規化関数との間のトレードオフを決定する定数であり、ζは、非負の変数である。正規化関数には、φの様々なノルムが用いられる。
【００３３】
損失関数Ｌｏｓｓ（｛ζ｝）について説明する。損失関数Ｌｏｓｓ（｛ζ｝）は、以下に示す式（７）で定義される。
【００３４】
【数２】
0005533272.tif 000003
ここで、Ｃｉｊｋは、予め与えられた定数である。
【００３５】
式（７）において、ｌｏｓｓ（ζｉｊｋ）は、スカラー量を引数とするロス関数であり、一般のロス関数（例えば、ヒンジロス、２次ロス、およびＬ１ノルムロス）である。なお、ｌｏｓｓ（ζｉｊｋ）がヒンジロスである場合の例を式（８）に示し、２次ロスである場合の例を式（９）に示す。
ｌｏｓｓ（ζｉｊｋ）＝ζｉｊｋ＋・・・式（８）
ｌｏｓｓ（ζｉｊｋ）＝ζｉｊｋ２・・・式（９）
なお、式（８）におけるζｉｊｋ＋は、ζｉｊｋが負の値である場合に０となり、ζｉｊｋが正の値である場合にζｉｊｋとなる関数である。
【００３６】
そして、類似度が組で与えられる場合に、類似度学習問題は、その組を用いて以下に示す式（１０）で定式化される。
【００３７】
【数３】
0005533272.tif 000004
【００３８】
式（１０）に示す式が用いられる場合のロス関数の例として、式（１１）にヒンジロスの例を示し、式（１２）に２次ロスの例を示す。
ｌｏｓｓ（ζｉｊ∈Ｓ）＝（ζＳ−ζｉｊ）＋
ｌｏｓｓ（ζｉｊ∈Ｄ）＝（ζｉｊ−ζＤ）＋
・・・（式１１）
ｌｏｓｓ（ζｉｊ∈Ｓ）＝（ζＳ−ζｉｊ）２
ｌｏｓｓ（ζｉｊ∈Ｄ）＝（ζｉｊ−ζＤ）２
・・・（式１２）
【００３９】
式（１１）および式（１２）において、ζＳおよびζＤはユーザによって与えられる定数であり、ζＳは類似組のデータの間の類似度を示す定数であり、ζＤは非類似組のデータの間の類似度を示す定数である。
【００４０】
類似度学習部３００は、以上に述べた類似度学習問題を、類似度を決める関数や、損失関数、正則項の選択によって、線形計画問題や２次計画問題、非線形計画問題として解くことができる。具体的には、類似度学習部３００は、問題に応じて、一般の最適化問題ソルバや、公知の勾配法の解法を用いて上記問題を解く。
【００４１】
次に、マッピングに式（３）に示す線形変換を用い、類似度を式（５）に示す内積を用いて定義し、損失関数に式（１１）に示すヒンジロスを用い、正規化関数にＬ２ノルムを用いた場合に、類似度学習部３００が類似度学習問題を解決する（つまり式（５）に示す類似度を計算するための類似度計算式におけるＷａ，Ｗｂを更新する）例について説明する。
【００４２】
ここでは、空間ａのデータｘｉと空間ｂのデータｘｊとの間の類似度を計算するための類似度計算式を更新する場合を例に説明する。なお、データｘｉは、ユーザによってユーザインタフェース５００に入力されたキーワードであるとし、データｘｊは、類似度適用データベース４００が記憶している画像のデータであるとする。
【００４３】
そうすると、空間ａのデータｘｉと空間ｂのデータｘｊとの間の類似度を計算するための類似度計算式を更新する類似度学習問題は式（１３）のように示される。
【００４４】
【数４】
0005533272.tif 000005
【００４５】
そして、類似度学習部３００は、式（１３）に示す問題と同時に、同じ空間内のデータ間の類似度を計算するための類似度計算式を更新する類似度学習問題ＳｕｂＰｒｏｂｌｅｍ（ａ，ａ）とＳｕｂＰｒｏｂｌｅｍ（ｂ，ｂ）とを解く。そして、各データ間全体の類似度を計算するための類似度計算式を更新する類似度学習問題は以下の式（１４）のように示される。
【００４６】
【数５】
0005533272.tif 000006
【００４７】
類似度学習部３００は、類似度学習問題ＳｕｂＰｒｏｂｌｅｍ（ａ，ａ）およびＳｕｂＰｒｏｂｌｅｍ（ｂ，ｂ）の目的化関数の重み付き和を全体の目的化関数とし、すべての制約条件を満たすように式（１４）に示す問題を解く。
【００４８】
上述した制約条件の例として、所定のデータ間が類似していることが自明である場合に、当該所定のデータが類似していることとすることが考えられる。具体的には、同じ符号が付されたデータ間の類似度は、異なる符号が付されたデータ間の類似度よりも高いことを前提条件とし、当該前提条件を制約条件に用いる。
【００４９】
類似度学習部３００は、あるデータ間の類似度および信頼度が高い場合に、当該類似度および当該信頼度を用いて類似組または非類似組を生成して、データ間の類似度を計算するための類似度計算式の更新の精度を高めることができる。具体的には、例えば、新聞記事のように信頼度の高い媒体を用いて、当該媒体における文書のデータと当該文書の添付画像のデータとを含む類似組を生成し、生成した類似組を含む集合Ｓを用いてデータ間の類似度を計算するための類似度計算式を更新してもよい。
【００５０】
なお、一般に、文書のデータと当該文書の添付画像のデータとの類似度が高い場合に、当該文書のデータおよび当該文書の添付画像のデータの信頼度は高いと考えられる。従って、類似度学習部３００は、新聞記事のように信頼度の高い媒体を用いてデータ間の類似度を計算するための類似度計算式を更新した場合に、信頼度が高い類似組を生成することができる。
【００５１】
また、類似度学習部３００は、多量の文書と画像との組から、共起度などにもとづいて統計的に類似すると推定される類似組を抽出することができる。さらに、類似度学習部３００は、例えば、文書と画像に付されたコメントとの単語の共起度にもとづいて、類似組を抽出することができる。そして、類似度学習部３００は、抽出した類似組を含む集合Ｓを用いてデータ間の類似度を計算するための類似度計算式を更新してもよい。
【００５２】
類似度学習部３００は、ユーザによってウェブ検索サイトに入力されたキーワードと、入力されたキーワードに応じて提示したウェブサイトのうち、ユーザによって選択操作がなされたウェブサイトを示す情報とにもとづいて、当該キーワードと当該ウェブサイトが提供する文書のデータや画像のデータとの間の類似度を計算するための類似度計算式を更新してもよい。
【００５３】
類似度学習部３００は、以下のように、フィードバックデータを抽出して類似度学習を高効率化することが考えられる。
（ａ）公知の数理計画法で用いられるように、制約条件を満たさないフィードバックデータを重点的に抽出する。具体的には式（１５）を計算する。
σａｂ（ｘｉ，ｘｊ）−σａｂ（ｘｉ，ｘｋ）・・・式（１５）
そして、計算結果の値が小さい順に、所定の数の組を抽出する。なお、全ての組について式（１５）に示す計算を行うのではなく、例えば、ユーザによって指定された組（類似組のはずであるが類似度が低い組や、類似度が低いはずであるが現在の類似度（Ｗの初期値またはＷを用いないで計算された内積を類似度として計算した結果）が高い組）を組み合わせて式（１５）の計算結果の値が小さい組を抽出する。
【００５４】
（ｂ）公知の実験計画法を用いて類似組または非類似組を抽出し、抽出した組にもとづいて制約条件を生成する。
【００５５】
（ｃ）上述した（ａ）の方法および（ｂ）の方法を組み合わせる。具体的には、（ｂ）の方法で予め抽出した組に（ａ）の方法を適用して組を抽出したり、（ａ）の方法で抽出した組と、（ｂ）の方法で抽出した組との和集合に含まれる組を抽出したりする。
【００５６】
図４は、類似度学習装置１００の実現例を示す説明図である。図４に示す例では、類似度学習装置１００におけるフィードバック変換部２００、および類似度学習部３００はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１によって実現され、類似度適用データベース４００は、ハードディスク１０６およびＣＰＵ１０１によって実現され、ユーザインタフェース５００は、入出力インタフェース１０５によって実現される。また、そして、ＣＰＵ１０１は、ＲＯＭ１０２またはハードディスク１０６に記憶され、ＲＡＭ１０３に一時的に記憶されたプログラムに従って処理を実行する。
【００５７】
次に、図１に示す類似度学習装置１００の動作について、図面を参照して説明する。図５は、本実施形態の類似度学習装置１００の動作を示すフローチャートである。
【００５８】
類似度適用データベース４００は、自データベースに保存している類似組のデータおよび非類似組のデータに線形変換φを適用する（ステップＳ１００）。なお、類似度適用データベース４００は、初回のステップＳ１００の処理で、全ての属性空間における最低次元への線形変換を行う。その場合、各空間のデータに次元圧縮を行うが、次元圧縮を行う場合には、固有値の大きい順に固有ベクトルを並べて、最低次元への変換を求める。
【００５９】
なお、類似度適用データベース４００は、後述するステップＳ５００の処理で類似度学習部３００によって類似度を計算するための類似度計算式が更新された場合に、更新された当該類似度計算式に応じた線形変換を類似組のデータおよび非類似組のデータに適用する。
【００６０】
類似度適用データベース４００は、ユーザによってユーザインタフェース５００に入力されたキーワードに応じたデータを抽出して、ユーザインタフェース５００に送信する（ステップＳ２００）。そして、類似度適用データベース４００は、ユーザインタフェース５００によって送信されたキーワードと、ユーザによってなされた操作とを示すフィードバックデータを保存し、フィードバック変換部２００に入力する（ステップＳ３００）。
【００６１】
フィードバック変換部２００は、フィードバック変換部２００は、入力されたフィードバックデータに応じた類似組のデータの集合Ｓおよび非類似組のデータの集合Ｄを類似度適用データベース４００から抽出する（ステップＳ４００）。フィードバック変換部２００は、入力されたフィードバックデータと、類似度適用データベース４００から抽出した集合Ｓおよび集合Ｄを類似度学習部３００に入力する。
【００６２】
類似度学習部３００は、フィードバック変換部２００によって入力された集合Ｓに含まれる類似組のデータおよび集合Ｄに含まれる非類似組のデータにもとづいて、類似度を計算するための類似度計算式を更新し、更新結果を類似度適用データベース４００に保存する（ステップＳ５００）。なお、類似度学習部３００は、フィードバック変換部２００が集合Ｓおよび集合Ｄを抽出する毎に類似度を計算するための類似度計算式を更新する処理を行ってもよいし、所定の時間間隔や、集合Ｓに含まれるデータの組および集合Ｄに含まれるデータの組のうち、予め決められた条件に合致する組を抽出して類似度を計算するための類似度計算式を更新する処理を行ってもよいし、予め決められたタイミング（例えば、予め決められた時刻）に定期的に類似度を計算するための類似度計算式を更新する処理を行ってもよい。
【００６３】
本実施形態によれば、ユーザによって入力されたキーワードや操作結果に応じて各データの間の類似度を計算するための類似度計算式を更新し、更新した類似度計算式を用いてデータを出力することができる。
【００６４】
また、本実施形態によれば、ユーザによってユーザインタフェース５００に一の属性のキーワード（例えば、属性が文書である文字のキーワード）が入力された場合に、当該一の属性のデータおよび他の属性のデータとの類似度にもとづいて、複数の属性のデータを統一した順序で（例えば、文書の属性のデータ、画像の属性のデータ、および音声の属性のデータを区別することなく類似度の高い順序で）、出力することができる。
【００６５】
さらに、本実施形態によれば、属性毎に類似度を計算するための類似度計算式を更新する場合に比べて、類似度を計算するための類似度計算式の更新効率を高めることができる。その理由は、属性毎に類似度を計算するための類似度計算式を更新する場合には、ある属性のデータが不足したりして、類似度を計算するための類似度計算式の更新が困難になる場合があるからである。本実施形態では、複数の異なる属性のデータを統一的に扱って類似度を計算するための類似度計算式を更新するので、そのような問題は生じない。
【００６６】
また、本実施形態によれば、類似度学習部３００は、複数の異なる属性のデータ間の類似度を計算する類似度計算式を用いるので、類似度学習問題の制約条件となる類似組および非類似組をより多く生成することができる。また、例えば、ユーザによって選択操作がなされる頻度が他の属性のデータよりも低い画像データと、他の属性のデータとの類似度を計算するための類似度計算式を、当該画像データに含まれている説明文等を用いて更新することができる。つまり、ユーザによって選択操作がなされる頻度が他の属性のデータよりも低いデータと他のデータとの類似度を計算するための類似度計算式を、高い効率で更新することができる。従って、本実施形態によれば、複数の異なる属性のデータ間の類似度を計算するための類似度計算式を更新するように構成されているので、一の属性のデータ間の類似度をそれぞれ計算する類似度計算式をそれぞれ更新する場合よりも、高い効率で類似度計算式を更新することができる。
【実施例１】
【００６７】
データ分析において、分析結果を示すグラフの説明文を自動的に生成したり、説明文を推薦したりするシステムに本発明による類似度学習装置を適用した実施例について説明する。
【００６８】
（ａ）類似度学習
ユーザインタフェース５００は、事前に類似度適用データベース４００に、過去に作成された分析結果を示すグラフと当該グラフの説明文を含む複合データである分析レポートのデータを入力する。そして、類似度適用データベース４００は、分析レポートや、当該分析レポートが掲載されたウェブサイトのデータを用いて、類似度学習部３００によって既に更新された類似度計算式を記憶しているとする。
【００６９】
類似度適用データベース４００は、入力された分析レポートに含まれる説明文に公知の形態素解析の方法を適用して、当該説明文に含まれる文書を数値化（ベクトル表現化）する。また、類似度適用データベース４００は、入力された分析レポートに含まれるグラフに公知の特徴量抽出方法を適用して、当該グラフを数値化（ベクトル表現化）する。
【００７０】
フィードバック変換部２００が、文書とグラフとの類似組および非類似組を生成する方法について説明する。まず、クリックログ（ユーザによってユーザインタフェース５００になされた選択操作の履歴）を用いずに、文書とグラフとの類似組および非類似組を生成する方法について説明する。
【００７１】
フィードバック変換部２００は、分析レポートにおける説明文が文書単位（例えば、説明文の全体において、１文または１段落を文書単位としてもよいし、例えば、説明文の箇所に応じて、１文または１段落を文書単位としてもよい）で明示的にグラフの内容を引用している場合に、当該文書と明示的に内容を引用しているグラフとは類似しているとして、当該文書と当該グラフとを含む類似組を生成する。また、フィードバック変換部２００は、当該文書が明示的に複数のグラフの内容を引用している場合に、当該文書と当該複数のグラフとを含む類似組を生成する。また、フィードバック変換部２００は、当該複数のグラフを含む類似組を生成する。
【００７２】
フィードバック変換部２００は、分析レポートにおける説明文において、一の文書が明示的に引用しているグラフと、明示的に引用していないグラフとを含む非類似組を生成する。また、フィードバック変換部２００は、当該一の文書と、他の文書、および当該他の文書が明示的に内容を引用しているグラフとを含む非類似組を生成する。
【００７３】
フィードバック変換部２００は、分析レポートにおけるグラフに含まれるコメントまたはタグと、当該グラフとを含む類似組を生成する。また、フィードバック変換部２００は、一のグラフに含まれる複数のコメントを含む類似組を生成する。フィードバック変換部２００は、一のグラフと他のグラフとを含む非類似組、および一のグラフと他のグラフに含まれるコメントまたはタグとを含む非類似組を生成する。
【００７４】
入力された分析レポートにおける説明文にグラフの内容が引用されていない場合、分析レポートにおけるグラフにコメントやタグが対応付けられていない場合、または分析レポートにおけるグラフにコメントやタグが含まれていない場合に、フィードバック変換部２００は、当該分析レポートにおいて貼り付けられた間の距離が所定の長さよりも短い文書とグラフまたは文書とを含む類似組を生成し、貼り付けられた間の距離が所定の長さよりも短い文書とグラフまたは文書とを含む非類似組を生成する。なお、フィードバック変換部２００は、生成した類似組に距離に応じた類似度を設定してもよい。つまり、フィードバック変換部２００は、距離が近い組の類似度を距離が遠い組の類似度よりも高く設定してもよい。また、フィードバック変換部２００は、一の説明文における文書と他の説明文における文書およびグラフとを含む非類似組を生成し、一のグラフと他のグラフおよび他のグラフの内容を引用する文書とを含む非類似組を生成する。
【００７５】
次に、クリックログを用いて、文書とグラフとの類似組および非類似組を生成する方法について説明する。フィードバック変換部２００は、入力されたフィードバックデータに含まれるキーワードと、分析レポートに含まれる文書およびグラフのうち、ユーザによって選択操作がなされた文書またはグラフとを含む類似組を生成する。また、フィードバック変換部２００は、入力されたフィードバックデータによって示されるキーワードと、分析レポートに含まれる文書およびグラフのうち、ユーザによって選択操作がなされなかった文書またはグラフとを含む非類似組を生成する。フィードバック変換部２００は、入力されたフィードバックデータによって示されるユーザによってなされた操作にもとづいて、当該ユーザに連続して選択された分析レポートのそれぞれに含まれる文書およびグラフを含む類似組を生成する。そして、類似度学習部３００は、フィードバック変換部２００によって生成された類似組（具体的には、例えば、入力されたキーワードと選択操作がなされたデータ）を含む集合Ｓにもとづいて、類似度を計算するための類似度計算式を更新する。
【００７６】
類似−非類似選択部２２０が、フィードバック変換部２００（より具体的には、類似−非類似抽出部２１０）によって生成された類似組の集合および非類似組の集合から、ノイズ除去や類似度学習問題の解決の高効率化のために制約条件として扱う集合を選択する方法について説明する。
【００７７】
１．方法１
線形変換の行列の初期値、または線形変換を用いない類似度（ベクトル間の内積またはベクトル間の内積をｃｏｓｉｎｅのようにベクトルの長さで正規化した値）を用いて、一の分析レポートに含まれる文書間およびグラフ間の類似度が高い分析レポートの信頼度を高く設定する。そして、類似−非類似選択部２２０は、文書とグラフとの間の類似度が高い類似組に含まれる当該文書を含む類似組に含まれる文書と、当該類似組に含まれる当該グラフを含む類似組に含まれるグラフとの類似度を調べる。そして、類似−非類似選択部２２０は、調べた類似度が所定の値以上である類似度である場合に、調べた類似度が所定の値未満である場合に比べて、当該類似組の信頼度を高く設定する。また、類似−非類似選択部２２０は、文書とグラフとの間の類似度が低い非類似組に含まれる当該文書を含む非類似組に含まれる文書と、当該非類似組に含まれる当該グラフを含む非類似組に含まれるグラフとの類似度を調べる。そして、類似−非類似選択部２２０は、調べた類似度が所定の値未満である類似度である場合に、調べた類似度が所定の値以上である場合に比べて、当該非類似組の信頼度を高く設定する。そうすると、類似−非類似選択部２２０は、信頼度が高い類似組および非類似組を選択することが可能になる。
【００７８】
２．方法２
類似−非類似抽出部２１０が、実験計画法を用いて、文書のデータの集合から重要な文書のデータを抽出する。また、類似−非類似抽出部２１０が、実験計画法を用いて、グラフ（画像であってもよい）のデータの集合から重要なグラフのデータを抽出する。類似−非類似抽出部２１０は、抽出した文書のデータとグラフのデータとの類似度を調べて、調べた類似度に応じて、文書のデータとグラフのデータとを含む類似組または非類似組を生成する。そして、類似−非類似選択部２２０は、上述した方法１を用いて信頼度を推定し、推定した信頼度が所定の値以上である類似組または非類似組を抽出する。なお、類似−非類似選択部２２０は、類似度を計算するための類似度計算式に予め信頼できる初期行列が与えられている場合に、上述した方法２を用いて、重要な文書とグラフとを含む類似組および非類似組を抽出することができる。また、類似−非類似選択部２２０は、上述した類似度学習部３００が、フィードバックデータを抽出して類似度学習を高効率化する方法を用いて、類似組および非類似組を選択することができる。
【００７９】
なお、ユーザによって選択操作がなされたグラフは、ユーザによって興味が持たれている、または重要であると推定されるので、類似−非類似選択部２２０は、当該グラフを含む類似組または非類似組を他の組に優先して選択する。
【００８０】
類似度学習部３００は、フィードバック変換部２００が生成または選択した類似組または非類似組の類似度を学習する。そして、類似度学習部３００は、類似度学習の結果（マッピングや線形変換）を類似度適用データベース４００に保存する。
【００８１】
（ｂ）新規な分析レポートに含まれるグラフに対するコメントや文書の推薦
ユーザインタフェース５００は、類似度適用データベース４００に、新規な分析レポートのデータを入力する。そして、類似度適用データベース４００は、入力された分析レポートに含まれるグラフの特徴ベクトルを抽出する。類似度適用データベース４００は、抽出した特徴ベクトルにマッピングおよび線形変換を適用する。そして、類似度学習部３００は、マッピングおよび線形変換を適用された当該特徴ベクトルと、入力された分析レポートに含まれている文書との類似度を計算する。データベース類似度適用部４００は、計算結果の類似度が高い順に、ユーザインタフェース５００に、文書を当該グラフの説明文に推薦する文書としてユーザへの提示を指示する。
【００８２】
（ｃ）検索への適用
類似度学習部３００は、ユーザによってユーザインタフェース５００に入力されたキーワードを文書として扱い、分析レポートに含まれている文書およびグラフとの類似度を計算する。データベース類似度適用部４００は、計算結果の類似度が高い順に、ユーザインタフェース５００に、文書またはグラフを検索結果としてユーザへの提示を指示する。
【実施例２】
【００８３】
データのクラスタリングに本発明による類似度学習装置を適用した実施例について説明する。
【００８４】
データのクラスタリングを行うシステムにおいて、異なる属性のデータをクラスタリングの対象とする場合を例に説明する。ユーザインタフェース５００は、データの分類のためにユーザによって入力されたキーワードを類似度適用データベース４００に送信する。類似度適用データベース４００は、ユーザインタフェース５００によって送信されたキーワードに応じたデータをユーザインタフェース５００に送信する。ユーザインタフェース５００は、類似度適用データベース４００が送信したデータを表示する。ユーザインタフェース５００は、ユーザによってユーザインタフェース５００に入力されたキーワードと、表示したデータに応じてユーザによってなされた操作とを示すフィードバックデータを類似度適用データベース４００に送信する。
【００８５】
ここで、例えば、文書の属性のデータと画像の属性のデータとが類似度適用データベース４００に保存され、属性が文書であるデータをユーザに提示した場合に、ユーザインタフェース５００には、ユーザによって、当該ユーザによって入力されたキーワードと提示したデータとが類似していることや非類似であること、提示した一のデータと属性が文書である他のデータとが類似していることや非類似であること、および提示した一のデータと属性が画像であるデータとが類似していることや非類似であることを示す操作がなされる。
【００８６】
そして、類似度適用データベース４００は、ユーザインタフェース５００によって送信されたフィードバックデータを保存する。
【００８７】
また、類似度適用データベース４００は、ユーザインタフェース５００によって送信されたフィードバックデータをフィードバック変換部２００に入力する。フィードバック変換部２００は、入力されたフィードバックデータに応じた類似組のデータの集合Ｓおよび非類似組のデータの集合Ｄを類似度適用データベース４００から抽出する。フィードバック変換部２００は、入力されたフィードバックデータと、類似度適用データベース４００から抽出した集合Ｓおよび集合Ｄを類似度学習部３００に入力する。
【００８８】
類似度学習部３００は、入力された集合Ｓおよび集合Ｄにもとづいて、各データ間の類似度を計算するための類似度計算式を更新する。
【００８９】
次に、本発明の概要について図面を参照して説明する。図６は、本発明の概要を示すブロック図である。図６に示すように、本発明によるデータ出力装置（図１に示す類似度学習装置１００に相当）は、データベース１０（図１に示す類似度適用データベース４００に相当）と、データ抽出手段２０（図１に示すフィードバック変換部２００に相当）と、データ出力手段３０（図１に示す類似度適用データベース４００に相当）と、フィードバック情報入力手段４０（図１に示す類似度適用データベース４００に相当）と、類似度更新手段５０（図１に示す類似度学習部３００に相当）とを含む。
【００９０】
データベース１０は、複数の異なる属性のデータと、各データ間の類似度を計算するための類似度計算式とを記憶する。データ抽出手段２０は、入力されたキーワードに応じたデータをデータベース１０から抽出する。データ出力手段３０は、データ抽出手段２０が抽出したデータを出力する。フィードバック情報入力手段４０は、データ出力手段３０が出力したデータに応じて、ユーザによってなされた選択操作を示す情報を含むフィードバック情報を入力する。類似度更新手段５０は、フィードバック情報入力手段４０が入力したフィードバック情報にもとづいて、データベース１０に記憶されているデータと入力されたキーワードとの間の類似度を計算するための類似度計算式を更新し、更新後の類似度計算式をデータベース１０に記憶する。
【００９１】
そして、データ抽出手段２０は、データベース１０に記憶されている類似度計算式であって、入力されたキーワードに応じた類似度計算式の計算結果にもとづいて、キーワードに応じたデータを抽出する。
【００９２】
そのような構成によれば、類似度更新手段５０が、異なる属性のデータの間の類似度を計算するための類似度計算式を統一的に更新するので、データ検索結果などのデータ出力の精度を効率よく高めることができる。
【００９３】
また上記の実施形態では、以下の（１）〜（４）に示すようなデータ出力装置も開示されている。
【００９４】
（１）類似度更新手段５０が、フィードバック情報入力手段４０が入力したフィードバック情報によって示されるユーザによって選択操作がなされたデータと、入力されたキーワードとの間の類似度を計算するための類似度計算式を更新するデータ出力装置。
【００９５】
（２）データ抽出手段２０が、データベース１０に記憶されている類似度計算式を用いて、入力されたキーワードにもとづくベクトルとユーザによって選択操作がなされたデータにもとづくベクトルとを線形変換し、線形変換後のベクトルの内積によって示される各データ間の類似度を計算し、類似度更新手段５０が、類似度計算式において、入力されたキーワードにもとづくベクトルと、フィードバック情報によって示されるユーザによって選択操作がなされたデータにもとづくベクトルとを、それぞれのベクトルに応じて線形変換するための行列を更新するデータ出力装置。
【００９６】
（３）データベース１０が、属性がグラフのデータと属性が文書のデータとを含む複数の複合データを記憶し、データベース１０に記憶されている複数の複合データに含まれるグラフのデータと文書のデータとの組のうち、所定の条件を満たす組のデータを類似するデータであると設定する類似組設定手段（図１に示すフィードバック変換部２００に相当）を含み、類似度更新手段５０が、類似組設定手段によって類似するデータであると設定された組に含まれるデータの間の類似度を計算するための類似度計算式を更新するデータ出力装置。
【００９７】
（４）データベース１０が、属性がグラフのデータと属性が文書のデータとを含む複数の複合データを記憶し、フィードバック情報入力手段４０が入力したフィードバック情報にもとづいて、入力されたキーワードと、ユーザによって選択操作がなされたデータとの組のデータを類似するデータであると設定する類似組設定手段（図１に示すフィードバック変換部２００に相当）を含み、類似度更新手段５０が、類似組設定手段によって類似するデータであると設定された組に含まれるデータの間の類似度を計算するための類似度計算式を更新するデータ出力装置。
【産業上の利用可能性】
【００９８】
本発明を、複数の属性の情報を検索することができる情報検索装置や、当該情報検索装置に搭載されるプログラムに適用可能である。また、複数の属性のデータを用いてクラスタリングのようなデータ分析をするデータ分析装置や、当該データ分析装置に搭載されるプログラムに適用可能である。
【符号の説明】
【００９９】
１０    データベース
２０    データ抽出手段
３０    データ出力手段
４０    フィードバック情報入力手段
５０    類似度更新手段
１００  類似度学習装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０５  入出力インタフェース
１０６  ハードディスク
２００  フィードバック変換部
２１０  類似−非類似抽出部
２２０  類似−非類似選択部
３００  類似度学習部
４００  類似度適用データベース
５００  ユーザインタフェース
【図１】
0005533272.tif 000007
【図２】
0005533272.tif 000008
【図３】
0005533272.tif 000009
【図４】
0005533272.tif 000010
【図５】
0005533272.tif 000011
【図６】
0005533272.tif 000012