(58)【調査した分野】(Int.Cl.,DB名)
前記生成部は、前記検索部が検索した第2情報の提供先となる利用者の属性、または、第2情報の利用目的の少なくともいずれか一方に応じたモデルを用いて、前記第1情報の第1メタ情報の分散表現を生成する
ことを特徴とする請求項1〜4のうちいずれか1つに記載の検索装置。
前記特定部は、前記検索部が検索した第2情報の提供先となる利用者の属性、または、第2情報の利用目的の少なくともいずれか一方に応じて、前記生成部により生成された分散表現との類似範囲を変更する
ことを特徴とする請求項1〜5のうちいずれか1つに記載の検索装置。
前記検索部は、前記検索部が検索した第2情報の提供先となる利用者の属性、または、第2情報の利用目的の少なくともいずれか一方に応じて、前記第1情報との類似範囲を変更する
ことを特徴とする請求項1〜6のうちいずれか1つに記載の検索装置。
前記検索部は、前記特定部により特定されたメタ情報と各第2情報の特徴を示す第2メタ情報との一致度に基づいて、前記第2情報の順位付けを行い、順位が所定の閾値よりも高い第2情報のうち、前記第1情報と類似する第2情報を検索する
ことを特徴とする請求項1〜7のうちいずれか1つに記載の検索装置。
前記検索部は、前記特定部により特定された複数のメタ情報が属するカテゴリのうち、最も多くのメタ情報が属するカテゴリを特定し、特定したカテゴリに属する第2メタ情報と対応付けられた第2情報の中から、前記第1情報と類似する情報を検索する
ことを特徴とする請求項1〜10のうちいずれか1つに記載の検索装置。
前記特定部は、所定のメタ情報のうち、分散表現が、前記生成部により生成された分散表現からのユークリッド距離またはコサイン類似度が所定の範囲内となるメタ情報を特定する
ことを特徴とする請求項1〜11のうちいずれか1つに記載の検索装置。
【発明を実施するための形態】
【0010】
以下に、本願に係る検索装置、検索方法および検索プログラムを実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る検索装置、検索方法および検索プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0011】
[実施形態]
〔1−1.検索装置の一例〕
まず、
図1を用いて、検索装置が実行する抽出処理の一例について説明する。
図1は、実施形態に係る検索装置が実行する抽出処理の一例を示す図である。
図1では、検索装置10は、インターネット等の所定のネットワークNを介して、利用者U01が使用する端末装置100と通信可能である。なお、検索装置10は、任意の利用者が使用する任意の数の端末装置100と通信可能であってよい。
【0012】
検索装置10は、利用者U01が検索クエリとして入力した第1情報と類似する第2情報を検索し、検索した第2情報を検索結果として端末装置100へと送信する検索処理を実行する。例えば、検索装置10は、サーバ装置やクラウドシステム等の情報処理装置により実現される。
【0013】
端末装置100は、利用者U01が使用する端末装置であり、例えば、スマートフォンやタブレット等といった携帯移動端末装置やPC(Personal Computer)端末、サーバ装置等により実現される。例えば、端末装置100は、任意の情報を表示可能な画面を有し、検索装置10から配信を受付けた検索結果、すなわち、第2情報を表示することで、利用者U01が入力した第1情報と類似する第2情報を表示する。
【0014】
なお、後述するように、検索装置10は、インターネット等のネットワークNを介して、任意のサーバと任意の情報を送受信することができるものとする。例えば、検索装置10は、ブログ、マイクロブログ、ウェブページ、メッセージ、静止画像、動画像、音声等といった各種コンテンツの投稿を受付けると、受付けたコンテンツを公開することで、コンテンツに関する各種の情報を世間一般に拡散させる各種のSNS(Social Networking Service)を提供するサーバ装置や、電子商取引やオークションに関するサービスを提供するサーバ装置等、各種のウェブコンテンツを配信するウェブサーバと通信可能であるものとする。
【0015】
〔1−2.情報の一例〕
ここで、以下の説明においては、検索装置10は、検索クエリとして入力された画像と類似する画像を検索する検索処理を行うものとする。例えば、検索装置10は、第1情報である画像(以下、「クエリ画像」と記載する。)を端末装置100から受付けると、検索対象となる画像(以下、「検索対象画像」と記載する。)、すなわち、第2情報である画像の中から、クエリ画像と類似する画像を検索し、検索結果を端末装置100へと送信する。
【0016】
より具体的には、検索装置10は、検索対象となる画像と、画像の特徴を示す第3情報(以下、「メタ情報」と記載する。)とをあらかじめ対応付けて記憶している。ここで、メタ情報は、対応付けられた画像の特徴を示す情報であり、例えば、対応付けられた画像に含まれる撮像対象を示す情報等、画像が有する意味的な特徴を示すテキストである。このような検索装置10は、クエリ画像を受付けると、メタ情報を考慮して、検索対象画像の中から、クエリ画像と類似する画像を検索する。そして、検索装置10は、検索した画像を端末装置100へと送信する。
【0017】
〔1−3.検索処理について〕
ここで、画像検索を行う処理として、クエリ画像と特徴量が類似する画像を検索する手法が考えられる。しかしながら、このような手法では、画像の色や形状等、外観的な特徴が類似する画像も類似画像として抽出されるため、クエリ画像とは意味合いが異なる画像、すなわち、セマンティックが異なる画像が抽出される恐れがある。例えば、クエリ画像に「赤い色の靴」が撮像されている場合、色彩や形状が類似する「赤い色の靴下」や「赤い色の靴のオーナメント」が撮像されている画像が類似画像として抽出される恐れがある。
【0018】
ここで、検索対象画像に何が撮像されているかといった情報を示すタグをあらかじめ付与しておくといった手法が考えられる。しかしながら、このような手法では、検索クエリとしてクエリ画像が入力された場合には、クエリ画像に何が撮像されているかを示すテキストを利用者が検索クエリとして入力する必要がある。
【0019】
そこで、検索装置10は、以下の検索処理を実行する。まず、検索装置10は、第1情報の特徴を示す分散表現を生成する。続いて、検索装置10は、検索対象となる第2情報の特徴を示す第3情報の中から、分散表現が生成された分散表現と類似する第3情報を特定する。そして、検索装置10は、特定された第3情報が特徴を示す第2情報の中から、第1情報と類似する情報を検索する。例えば、検索装置10は、特定された第3情報に基づいて、第2情報の順位付けを行い、順位が所定の閾値よりも高い第2情報のうち、第1情報と類似する第2情報を検索する。
【0020】
より具体的には、検索装置10は、クエリ画像の特徴を示す分散表現を生成する。また、検索装置10は、検索対象画像の特徴を示すメタ情報の中から、分散表現がクエリ画像の特徴と類似するメタ情報を特定する。そして、検索装置10は、特定したメタ情報が特徴を示す検索対象画像の中から、クエリ画像と類似する画像を選択する。例えば、検索装置10は、特定したメタ情報が付与された検索対象画像や、特定したメタ情報との類似度が所定の閾値を超える検索対象画像を抽出し、抽出した検索対象画像の中から、外観的な特徴がクエリ画像と類似する画像を検索結果として端末装置100に配信する。
【0021】
すなわち、検索装置10は、分散表現空間上において、セマンティックな特徴がクエリ画像のセマンティックな特徴と類似するメタ情報を、クエリ画像のセマンティックな特徴を示すと推定されるメタ情報として特定する。そして、検索装置10は、特定したメタ情報を用いて、検索対象画像の中から、セマンティックな特徴がクエリ画像と類似する検索対象画像を抽出する。その後、検索装置10は、抽出した検索対象画像のうち、撮像対象の色彩や形状がクエリ画像と類似する検索対象画像を検索し、検索結果を端末装置100へと送信する。
【0022】
〔1−4.検索処理の一例〕
次に、
図1を用いて、検索装置10が実行する検索処理の一例について説明する。なお、検索装置10は、検索対象画像と、検索対象画像に像が含まれる撮像対象の特徴や検索対象画像の意味的な特徴を示すメタ情報とをあらかじめ対応付けて記憶しているものとする。
【0023】
例えば、検索装置10は、利用者U01が使用する端末装置100から、クエリ画像Q1を受付ける(ステップS1)。このような場合、検索装置10は、クエリ画像Q1に像が含まれる撮像対象の特徴や、画像の意味的な特徴等、クエリ画像のセマンティックな特徴を示す分散表現#Q1を生成する(ステップS2)。ここで、分散表現とは、クエリ画像Q1から生成され、クエリ画像Q1の特徴を示す多次元量である。
【0024】
例えば、検索装置10は、ILSVRC(ImageNet Large Scale Visual Recognition Challenge)等における技術を用いて、画像から撮像対象の特徴を抽出するように学習が行われたモデルを用いて、クエリ画像Q1に像が含まれる撮像対象の特徴を示す分散表現、すなわち、クエリ画像Q1の意味的な特徴を示す分散表現を生成する。なお、このようなモデルは、例えば、畳み込みニューラルネットワーク(CNN: Convolutional Neural Network)等のニューラルネットワークにより実現されてもよい。また、検索装置10は、クエリ画像Q1のフィッシャーベクターに基づいて、クエリ画像Q1に像が含まれる撮像対象の分類を行うモデルを用いて、クエリ画像Q1の分散表現を生成してもよい。このような処理の結果、検索装置10は、例えば、「赤いブーツの写真」等といった被写体の特徴を示す分散表現#Q1を生成する。
【0025】
続いて、検索装置10は、検索対象画像のメタ情報の中から、分散表現がクエリ画像Q1の分散表現#Q1と類似するメタ情報を特定する(ステップS3)。例えば、検索装置10は、メタ情報についての何らかな表現となる分散表現をあらかじめ生成する。このような分散表現は、例えば、検索対象画像のメタ情報が有する意味的な特徴を示す分散表現等が適用可能である。なお、分散表現は、メタ情報が有する意味的な特徴以外にも、メタ情報から認識されうる任意の情報を表現するものであればよい。より具体的な例を挙げると、分散表現は、メタ情報から認識される任意の情報(例えば、メタ情報の内容や、メタ情報の種別等)に基づいて、メタ情報を分類することができる情報である。なお、以下の説明では、分散表現の一例として、メタ情報の意味的な特徴とともに、撮像対象等といった画像の見た目から特定可能な何らかの特徴をも示す分散表現を生成する処理の一例について説明する。
【0026】
続いて、検索装置10は、分散表現#Q1と類似するメタ情報の分散表現を特定する。例えば、検索装置10は、メタ情報の分散表現を含む分散表現空間上において、分散表現#Q1とユークリッド距離が所定の範囲内となる分散表現#1〜#4を特定する。そして、検索装置10は、特定した分散表現#1〜#4と対応するメタ情報#1〜#4を特定する。このような処理の結果、例えば、検索装置10は、「赤いブーツの写真」等といったクエリ画像Q1の意味的な特徴と類似する特徴を示すメタ情報#1〜#4を特定することとなる。なお、検索装置10は、分散表現#Q1とコサイン類似度が所定の範囲内となる分散表現を特定してもよい。
【0027】
続いて、検索装置10は、メタ情報を集約した集約情報を用いて、検索対象となる画像の順位付けと足切とを実行する(ステップS4)。例えば、検索装置10は、Bag−of−Wordsの技術を用いて、メタ情報#1〜#4の意味的な特徴を集約した集約情報#Q1を生成する。なお、例えば、検索装置10は、特定したメタ情報#1〜#4が属するカテゴリのうち、特定したメタ情報#1〜#4が最も多く属するカテゴリを示す情報を集約情報#Q1としてもよい。
【0028】
また、検索装置10は、検索対象画像である画像#P1〜#P4と、各画像#P1〜#P4の意味的な特徴を示すメタ情報#P1〜#P4とをあらかじめ記憶する。このような場合、検索装置10は、画像とメタ情報#P1〜#P4との組を、メタ情報#P1〜#P4と集約情報#Q1との類似度の順に並べ替え、上位から所定の数の組を抽出する。すなわち、検索装置10は、top−kアルゴリズムを用いて、メタ情報と集約情報#Q1との類似度が所定の閾値よりも高い画像を抽出する。
【0029】
例えば、メタ情報#P1〜#P4と集約情報#Q1との類似度が、メタ情報#P3、メタ情報#P4、メタ情報#P1、メタ情報#P2の順に高く、かつ、メタ情報の類似度が高い方から順に3つの画像を抽出する場合、検索装置10は、メタ情報#P3と対応する画像#P3、メタ情報#P4と対応する画像#P4、およびメタ情報#P1と対応する画像#P1を抽出する。このような処理の結果、例えば、検索装置10は、「赤い履物の写真」や「ブーツの写真」等、分散表現#Q1が示すクエリ画像Q1の意味的な特徴と類似する特徴を有する画像を抽出することとなる。
【0030】
そして、検索装置10は、類似度の順位が高い画像の中から、画像としての特徴量、すなわち、画像の外観的な特徴を示す特徴量がクエリ画像Q1と類似する画像を検索する(ステップS5)。例えば、検索装置10は、フィッシャーベクター等の技術を用いて、クエリ画像Q1の画像特徴量#Q1を生成し、画像#P3から画像特徴量#P3を生成し、画像#P4から画像特徴量#P4を生成し、画像#P1から画像特徴量#P1を生成する。そして、検索装置10は、画像特徴量#P3、#P4、#P1と画像特徴量#Q1との類似度をそれぞれ算出し、算出した類似度が所定の閾値を超える画像特徴量を特定する。すなわち、検索装置10は、クエリ画像Q1と意味的な特徴が類似する画像#P1〜#P4を特定する際よりも低レベルな類似判定(セマンティックではない類似判定)を行う。
【0031】
その後、検索装置1は、特定した画像特徴量と対応する画像をクエリ画像Q1の類似画像として端末装置100へと配信する(ステップS6)。なお、例えば、検索装置10は、画像#P3、#P4、#P1を、画像特徴量#P3、#P4、#P1と画像特徴量#Q1との類似度に応じて順位づけし、順位づけした順に画像#P3、#P4、#P1を並べたウェブページを類似画像の検索結果として端末装置100へ配信してもよい。
【0032】
このように、検索装置10は、分散表現空間上において、分散表現がクエリ画像Q1のセマンティックな特徴を示す分散表現と類似するメタ情報を検索し、検索したメタ情報に対応する画像を検索対象画像から抽出する。すなわち、検索装置10は、画像である第1情報の被写体の特徴を示す分散表現を生成し、画像である第2情報の被写体の特徴を示すテキストである第3情報の中から、分散表現が、第1情報から生成された分散表現と類似する第3情報を特定する。そして、検索装置10は、特定された第3情報が特徴を示す第2情報の中から、外観の特徴が第1情報と類似する情報を検索する。
【0033】
この結果、検索装置10は、意味的な特徴が異なる画像(すなわち、セマンティックノイズとなる画像)を検索結果から除外することができるので、検索結果の利用者の意図を反映させる結果、画像の検索精度を向上させることができる。
【0034】
〔2.検索処理のバリエーション〕
上述した説明では、検索処理の一例として、クエリ画像と画像の特徴およびセマンティックな特徴が類似する画像(すなわち、画像の見た目から特定することができるセミセマンティックな特徴が類似する画像)を抽出し、抽出した画像のうち外観的な特徴がクエリ画像と類似する画像を検索する処理について記載した。しかしながら、上述した説明は、あくまで一例であり、実施形態は、これに限定されるものではない。以下、検索処理のバリエーションの一例について説明する。
【0035】
〔2−1.情報の種別について〕
例えば、検索装置10は、画像以外にも、動画像、テキスト、ウェブページ、音声等、任意のコンテンツを第1情報、第2情報および第3情報としてもよい。また、検索装置10は、第1情報とは異なる種別のコンテンツを第2情報としてもよい。例えば、検索装置10は、クエリ画像を入力した際に、クエリ画像と類似する動画像やウェブページ等の任意の情報を出力してよい。また、第3情報は、例えば、第1情報が画像や動画像である場合に、画像の特徴的な部分を示す画像やサムネイル画像、同じ撮像対象を異なる位置から撮像した画像等、第2情報を補助する同種の情報であってもよく、異なる種別の情報であってもよい。
【0036】
例えば、検索装置10は、検索対象となる動画像と、動画像の意味を示すメタ情報とを対応付けて記憶する。このようなメタ情報は、例えば、動画像に撮像された被写体の意味的な特徴のみならず、動画像の外観的な特徴、監督や出演者の氏名、ドラマやサスペンス等といったジャンル等、動画像の各種特徴を示すメタ情報である。一方、検索装置10は、クエリ画像を受信すると、受信した検索クエリの意味的な特徴を示す分散表現を生成し、分散表現がクエリ画像の分散表現と類似するメタ情報を特定する。そして、検索装置10は、特定したメタ情報と類似するメタ情報が対応付けられた動画像を抽出し、抽出した動画像のうち、外観的な特徴がクエリ画像と類似する動画像を検索する。
【0037】
また、他の例では、検索装置10は、検索クエリとして、映画のPV(Promotion Video)を受付けた場合、PVの意味的な分散表現を生成し、分散表現がPVの分散表現と類似するメタ情報を特定する。そして、検索装置10は、特定したメタ情報との関連性が高い動画像(例えば、映画コンテンツ)を抽出し、抽出した動画像のうち、検索クエリであるPVとの外観的な関連性が高い動画像を検索してもよい。
【0038】
また、他の例では、検索装置10は、メタ情報として、検索対象画像を補助する補助画像を記憶する。このような補助画像は、例えば、検索対象画像の撮像対象を異なる位置から撮影した画像や、異なるタイミングで撮影した画像である。例えば、検索対象画像が人物の顔である場合、補助画像は、同一人物の異なる表情を撮像した画像等であってもよい。また、例えば、検索対象画像が所定の地域の航空写真である場合、補助画像は、その地域の地上からの写真や地図等であってもよい。すなわち、第3情報は、検索対象画像に含まれる撮像対象の情報を補完する情報を含む画像等、検索対象となる第2情報とはドメインが異なる情報であれば、任意の情報が採用可能である。
【0039】
このような補助画像を記憶する場合、検索装置10は、誰の顔であるか、横顔であるか、被写体となる人物の性別、年代等といった意味的な特徴を示す分散表現をあらかじめ生成しておく。そして、検索装置10は、補助画像のうち、分散表現がクエリ画像の分散表現と類似する補助画像を特定し、特定した補助画像が対応付けられた検索対象画像の中から、外観的な特徴がクエリ画像と類似する画像を検索してもよい。
【0040】
すなわち、検索装置10は、検索クエリとなる第1情報の特徴を示す分散表現を生成し、検索対象情報である第2情報の特徴を示すメタ情報である第3情報の中から、分散表現が生成された分散表現と類似する第3情報を特定し、特定された第3情報が特徴を示す第2情報の中から、第1情報と類似する情報を検索するのであれば、任意の種別の情報を、第1情報、第2情報および第3情報として採用可能である。
【0041】
また、検索装置10は、上述したように、第3情報として、第1情報とは種別が異なる情報を特定してもよい。例えば、検索装置10は、画像を第1情報および第3情報とし、検索対象画像の意味的な特徴を示すテキストをメタ情報、すなわち、第3情報として採用してもよい。
【0042】
なお、第1情報の種別と第3情報の種別とが異なる場合であっても、第1情報の意味的な特徴を示す分散表現と、第3情報の意味的な特徴を示す分散表現とを比較することにより、第1情報と意味的な特徴が類似する第3情報を特定することが可能である。また、第1情報の分散表現と第3情報の分散表現とは、複数の特徴のうち、共通する一部の特徴を示しているのであれば、完全に同一の特徴を示す情報でなくともよい。
【0043】
〔2−2.分散表現について〕
ここで、検索装置10は、分散表現を用いて検索クエリとして受付けた第1情報を分類することができるのであれば、任意の手法により第1情報の特徴を示す分散表現を生成してよい。同様に、検索装置10は、分散表現を用いてメタ情報の分類を行うことができるのであれば、任意の手法によりメタ情報の分散表現をあらかじめ生成しておいてよい。このように、分散表現を用いて第1情報と、メタ情報とをそれぞれ分類することができるのであれば、分類後の第1情報と分類後のメタ情報との対応付けを行うことにより、第1情報と意味的な特徴が類似するメタ情報を特定することができる。
【0044】
すなわち、検索装置10は、第1情報の特徴が属する分類を示す分散表現を生成する。そして、検索装置10は、第3情報の特徴が属する分類を示す分散表現、すなわち、メタ情報の分散表現の中から、生成された分散表現と類似する分散表現を特定し、特定した分散表現と対応する第3情報を特定してもよい。
【0045】
なお、検索装置10は、意味的な特徴が類似する第1情報と第3情報や、同じ分野に属する第1情報と第3情報とから、類似する分散表現を生成するように学習が行われたモデルを用いて、分散表現の生成を行ってもよい。例えば、検索装置10は、クエリ画像が靴の画像である場合、意味が履物の分野に属するテキスト(例えば、「ブーツ」や「スニーカー」等)の分散表現と類似する分散表現をクエリ画像から生成するように学習が行われたモデルを用いて、クエリ画像の分散表現を生成すればよい。
【0046】
すなわち、検索装置10は、ある第1情報から、その第1情報の意味を示す第3情報の分散表現と類似する分散表現を生成するように学習が行われたモデルを用いるのであれば、任意のモデルを用いて、分散表現の生成を行ってよい。このようなモデルは、例えば、畳み込みニューラルネットワークやフィッシャーベクターを用いて生成することが可能である。
【0047】
また、検索装置10は、任意の手法により、分散表現が第1情報の分散表現と類似する第3情報を特定してよい。例えば、検索装置10は、分散表現の各要素が1または0で表現される場合、ハミング距離が第1情報の分散表現と所定の範囲内となる分散表現を特定し、特定した分散表現と対応する第3情報を特定してもよい。また、検索装置10は、第3情報のうち、第1情報から生成された分散表現からのユークリッド距離またはコサイン類似度が所定の範囲内となる分散表現と対応する第3情報を特定してもよい。
【0048】
例えば、クエリ画像やメタ情報等から意味の特徴を示す分散表現を生成する場合、分散表現の生成手法によっては、分散表現のノルムが意味の特徴を示す場合と、意味の特徴を示さない場合とが存在する。ここで、ノルムが意味の特徴を示す場合、コサイン類似度に基づいて類似度を判定すると、適切な第3情報の特定を行うことができない恐れがある。そこで、検索装置10は、ノルムに意味の特徴が現れるような手法で第1情報から分散表現を生成する場合は、第1情報から生成した分散表現と分散表現空間上におけるユークリッド距離が所定の閾値以下となる分散表現と対応する第3情報を特定すればよい。また、検索装置10は、ノルムに意味の特徴が現れない手法で第1情報から分散表現を生成する場合は、第1情報から生成した分散表現と分散表現空間上におけるコサイン類似度が所定の閾値以上となる分散表現と対応する第3情報を特定すればよい。
【0049】
なお、検索装置10は、検索クエリとなる第1情報や、検索対象となる第2情報の特徴を示す第3情報の分散表現であれば、第1情報や第3情報から特定可能な任意の数の任意の特徴を有する分散表現を生成および比較してよい。例えば、検索装置10は、第1情報が画像である場合は、画像の見た目、撮像対象、画像の撮像年月日等、任意の情報のうち任意の組み合わせを示す分散表現を生成してよい。また、検索装置10は、第1情報と同様の特徴を示す分散表現を第3情報から生成してもよく、第1情報とは異なる特徴を示す分散表現を第3情報から生成してもよい。
【0050】
〔2−3.複数の検索クエリについて〕
ここで、検索装置10は、複数の検索クエリを受付けてもよい。具体的には、検索装置10は、複数の第1情報の特徴を示す1つの分散表現を生成し、分散表現が生成された分散表現と類似する第3情報を特定し、特定した第3表現が特徴を示す第2情報の中から、検索クエリとして受付けた複数の第1情報と類似する情報を検索してもよい。
【0051】
例えば、検索装置10は、複数のクエリ画像を受付けた場合、各クエリ画像のそれぞれから、各クエリ画像の特徴を示す分散表現を生成し、生成した分散表現を集約することで、各クエリ画像の特徴を示す1つの分散表現を生成する。ここで、検索装置10は、各クエリ画像から生成した分散表現を単純に連結してもよく、各分散表現のテンソル積を算出してもよい。そして、検索装置10は、分散表現が生成した1つの分散表現と類似する第3情報を特定し、特定した第3情報が特徴を示す第2情報の中から、各クエリ画像との類似度が所定の条件を満たす第2情報を検索してもよい。
【0052】
〔2−4.検索について〕
また、上述した説明においては、検索装置10は、分散表現が第1情報の分散表現と類似する第3情報を特定し、特定した第3情報が特徴を示す第2情報の中から、第1情報と類似する情報を検索した。しかしながら、実施形態は、これに限定されるものではない。検索装置10は、第1情報と意味的な特徴と外観的な特徴とが類似する第3情報を検索するのであれば、任意の検索処理を実行して良い。
【0053】
例えば、検索装置10は、分散表現が第1情報から生成された分散表現と類似する複数の第3情報を特定し、特定された複数の第3情報を集約した情報が特徴を示す第2情報の中から、第1情報と類似する情報を検索してもよい。例えば、検索装置10は、特定された複数の第3情報が属するカテゴリのうち、最も多くの第3情報が属するカテゴリを特定し、特定したカテゴリに属する第3情報が特徴を示す第2情報の中から、第1情報と類似する情報を検索してもよい。また、検索装置10は、複数の第3情報のうち、対応付けられた第2情報が最も多い第3情報を特定し、特定した第3情報と対応付けられた第2情報のうち、第1情報と類似する情報を検索してもよい。
【0054】
〔2−5.利用者属性を考慮した処理について〕
ここで、電子商取引における商品の画像検索を考慮すると、利用者U01の属性に応じて類似画像とする範囲を変更することで、より適切な検索処理を実現できると予測される。例えば、クエリ画像に撮像された商品とは異なる種別の商品が撮像された画像を含めたとしても、利用者U01が移り気な性格である場合は、クエリ画像に撮像された商品とは異なる種別の商品に対する利用者U01の興味を生じさせる結果、販売機会を向上させることができると予測される。一方、利用者U01が移り気な性格ではない場合は、クエリ画像に撮像された商品と同じ種別の商品の画像のみを検索結果とすることで、販売機会を向上させることができると予測される。
【0055】
また、利用者U01の属性によっては、クエリ画像が有する意味の特徴が変化するとも考えられる。例えば、利用者U01の性別や年代等といったデモグラフィック属性や、利用者U01の好み等といったサイコグラフィック属性によっては、クエリ画像が有する意味の特徴が変化すると考えられる。
【0056】
また、検索処理の目的が、電子商取引の対象となる商品を検索する場合、電子商取引の対象となる商品の説明を補強する画像を検索する場合、ネット上に投稿された画像を検索する場合とでは、画像が有する意味的な特徴のうち、異なる特徴に基づいて分散表現の生成や類似画像の検索を行った方が良いとも考えられる。また、このような検索処理の目的によっては、類似画像とする範囲を変更した方が良いとも考えられる。
【0057】
そこで、検索装置10は、分散表現同士の類似範囲や、第1情報と第3情報との類似範囲を、利用者U01の属性や画像の使用態様に応じて動的に変更してもよく、第1情報から分散表現を生成する際に使用するモデルを動的に変更してもよい。
【0058】
例えば、検索装置10は、検索結果となる第2情報の提供先となる利用者U01の属性、または、第2情報の利用目的の少なくともいずれか一方に応じたモデルを用いて、前記第1情報から分散表現を生成してもよい。例えば、検索装置10は、入力された画像が有する意味的な特徴のうちそれぞれ異なる特徴を分散表現に反映させる複数のモデルの中から、利用者U01の性別や年代に応じて、クエリ画像の分散表現を生成する際に使用するモデルを選択し、選択したモデルを用いて分散表現の生成を行ってもよい。また、検索装置10は、複数のモデルの中から、検索結果となる画像の利用目的に応じて、クエリ画像の分散表現を生成する際に使用するモデルを選択し、選択したモデルを用いて分散表現の生成を行ってもよい。
【0059】
また、例えば、検索装置10は、利用者U01の属性、または、第2情報の利用目的の少なくともいずれか一方に応じて、第1情報から生成された分散表現と第3情報との類似範囲を変更してもよい。例えば、検索装置10は、利用者U01の属性が移り気である場合は、第1情報の分類情報と類似すると判定する第3情報の分類情報の範囲を拡大し、利用者U01の属性が移り気ではない場合は、第1情報の分類情報と類似すると判定する第3情報の分類情報の範囲を縮小してもよい。すなわち、検索装置10は、利用者U01の属性や検索結果となる画像の利用目的に応じて、クエリ画像と意味的な特徴が類似すると判定するメタ情報の範囲を変更してもよい。
【0060】
また、例えば、検索装置10は、利用者U01の属性、または、第2情報の利用目的の少なくともいずれか一方に応じて、第1情報と第2情報との類似範囲を変更してもよい。例えば、検索装置10は、利用者U01の属性が移り気である場合は、第1情報と類似すると判定する第2情報の範囲を拡大し、利用者U01の属性が移り気ではない場合は、第1情報と類似すると判定する第2情報の範囲を縮小してもよい。
【0061】
〔2−6.意味的な特徴について〕
ここで、検索装置10は、クエリ画像等の第1情報から、第1情報の意味的な特徴を示す分散表現を生成した。ここで、第1情報の意味的な特徴とは、例えば、第1情報がテキストである場合は、テキストが有するトピックスであってもよく、第1情報が画像や動画像である場合は、被写体となる物体、風景、現象等の特徴であってもよい。また、例えば、第1情報の意味的な特徴とは、第1情報が映画等の動画像である場合、監督、出演者、脚本家、ジャンル等といった第1情報に付随する情報の特徴であってもよい。また、第1情報の意味的な特徴とは、第1情報が音楽コンテンツである場合は、例えば、曲名、作曲家、演奏者等の特徴であってもよい。
【0062】
すなわち、第1情報の意味的な特徴とは、第1情報が利用者U01に対して伝えようとする情報の内容や、第1情報から想起される付随的な情報の内容等を含む概念である。より具体的には、第1情報の意味的な特徴とは、テキストの書体、画像の外観、音声の波形等、利用者U01に対して情報を伝達するために用いられる情報形式以外の特徴を含む概念である。
【0063】
同様に、第2情報の意味的な特徴を示す第3情報とは、第2情報が利用者U01に対して伝えようとする情報の内容や、第1情報から想起される付随的な情報の内容等を含む概念である。また、第3情報の意味的な特徴を示す分散表現とは、第3情報が利用者U01に対して伝えようとする情報の内容や、第3情報から想起される付随的な情報の内容等を含む概念である。
【0064】
〔3.検索装置の構成〕
以下、上記した検索処理を実現する検索装置10が有する機能構成の一例について説明する。なお、以下の説明では、検索装置10は、第1情報としてクエリ画像を受付けると、第2情報として、分散表現がクエリ画像の分散表現と類似するタグ情報を特定し、第3情報として、特定したタグ情報と対応する画像の中からクエリ画像と類似する画像を検索する処理を実行するものとする。
【0065】
図2は、実施形態に係る検索装置の構成例を示す図である。
図2に示すように、検索装置10は、通信部20、記憶部30、および制御部40を有する。
【0066】
通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、端末装置100との間で情報の送受信を行う。
【0067】
記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、生成モデルデータベース31、分散表現データベース32、および画像データベース33(以下、「各データベース31〜33」と総称する場合がある)を記憶する。
【0068】
生成モデルデータベース31には、クエリ画像から分散表現を生成する際に用いるモデルが登録されている。例えば、
図3は、実施形態に係る生成モデルデータベースに登録される情報の一例を示す図である。
図3に示すように、生成モデルデータベース31には、「モデルID(Identifier)」および「モデルデータ」といった項目を有する情報が登録される。ここで、「モデルID」とは、モデルを識別する識別子である。また、「モデルデータ」とは、モデルのデータであり、例えば、CNNにおける各ノード間の接続関係や伝播係数を示すデータである。
【0069】
なお、
図3に示す情報以外にも、モデルに関する情報であれば、任意の情報が生成モデルデータベース31に登録されていてよい。例えば、生成モデルデータベース31には、各モデルが、利用者U01の属性がどのような属性の際に選択されるモデルであるか、検索結果となる画像がどのような利用目的の際に選択されるモデルであるか等といった情報が登録されていてもよい。
【0070】
なお、生成モデルデータベース31に登録されるモデルは、例えば、畳み込みニューラルネットワークや、フィッシャーベクター等の技術を用いて、画像から画像が有する特徴を示す分散表現を生成するように学習等が行われたモデルである。また、生成モデルデータベース31に登録される各モデルは、利用者U01の属性や、検索結果として検索される画像の利用目的等に応じて最適化がなされたモデルである。
【0071】
例えば、
図3に示す例では、生成モデルデータベース31には、モデルID「モデルID#1」およびモデルデータ「モデルデータ#1」が対応付けて登録されている。このような情報は、例えば、モデルID「モデルID#1」が示すモデルのデータがモデルデータ「モデルデータ#1」である旨を示す。なお、
図3に示す例では、「モデルID#1」や「モデルデータ#1」といった概念的な値について記載したが、実際には、識別子となる文字列や、モデルのデータ等が登録されることとなる。
【0072】
図2に戻り、説明を続ける。分散表現データベース32には、メタ情報の分散表現が登録される。すなわち、分散表現データベース32には、第1情報であるクエリ画像の分散表現と類似する分散表現を検索する分散表現空間が登録されている。例えば、
図4は、実施形態に係る分散表現データベースに登録される情報の一例を示す図である。
図4に示すように、分散表現データベース32には、「メタ情報」および「分散表現」といった項目を有する情報が登録される。ここで、「メタ情報」は、検索対象となる画像(すなわち、第3情報)に対して実際に付与されたメタ情報のみならず、検索対象となる画像に対して付与される可能性のあるメタ情報をも含む。また、「分散表現」は、対応付けられたメタ情報の意味的な特徴を示す分散表現であり、検索対象となる画像の見た目から特定可能な意味的な特徴(すなわち、セミセマンティックな特徴)を示す分散表現である。
【0073】
例えば、
図4に示す例では、分散表現データベース32には、メタ情報「メタ情報#T01」および分散表現「分散表現#T01」が対応付けて登録されている。このような情報は、メタ情報「メタ情報#T01」の意味的な特徴を示す分散表現が分散表現「分散表現#T01」である旨を示す。なお、
図4に示す例では、「メタ情報#T01」や「分散表現#T01」といった概念的な値について記載したが、実際には、検索対象となる画像の意味的な特徴を示す単語や所定の数値等といったテキストがメタ情報として登録され、対応付けられたメタ情報の意味的な特徴を示す多次元量が分散表現として登録されることとなる。
【0074】
図2に戻り、説明を続ける。画像データベース33には、検索対象となる画像が登録されている。例えば、
図5は、実施形態に係る画像データベースに登録される情報の一例を示す図である。
図5に示すように、画像データベース33には、「画像ID」、「画像データ」、および「メタ情報」といった項目を有する情報が登録される。ここで、「画像ID」とは、画像を識別するための識別子である。また、「画像データ」とは、検索対象となる画像のデータである。また、「メタ情報」とは、対応付けられた画像の意味的な特徴を示す単語や数値等のメタ情報である。
【0075】
例えば、
図5に示す例では、画像データベース33には、画像ID「画像ID#01」、画像データ「画像データ#01」、およびメタ情報「メタ情報#P1(メタ情報#T01、メタ情報#T03・・・)」が対応付けて登録されている。このような情報は、画像ID「画像ID#01」が示す画像の画像データが画像データ「画像データ#01」であり、画像ID「画像ID#01」が示す画像の意味的な特徴を示すメタ情報がメタ情報「メタ情報#P1」である旨を示す。ここで、「メタ情報#P1」は、「メタ情報#T01」や「メタ情報#T03」を含む情報、または、「メタ情報#T01」や「メタ情報#T03」を集約した情報であるものとする。
【0076】
なお、
図5に示す例では、「画像ID#01」や「画像データ#03」といった概念的な値について記載したが、実際には、画像を識別するための数値や文字列、任意の形式の画像の画像データ等が登録されることとなる。
【0077】
図2に戻り、説明を続ける。制御部40は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、検索装置10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部40は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
【0078】
図2に示すように、制御部40は、受付部41、生成部42、特定部43、検索部44、出力部45、および収集部46を有する。例えば、受付部41は、端末装置100からクエリ画像を受付ける。このような場合、検索装置10は、検索処理を実行することで、クエリ画像と類似する類似画像検索を実行する。
【0079】
生成部42は、第1情報の特徴を示す分散表現を生成する。具体的には、生成部42は、クエリ画像等の第1情報の意味的な特徴を示す分散表現、すなわち、第1情報の特徴が属する分類を示す分散表現を生成する。例えば、生成部42は、クエリ画像に含まれる被写体の特徴を示す分散表現を生成する。なお、生成部42は、画像の見た目から特定可能な分散表現であって、画像の意味的な特徴を示す分散表現(例えば、撮像対象等)を示す分散表現、すなわち、セミセマンティックな特徴を示す分散表現を生成するのであれば、任意の情報を示す分散表現を生成してよい。
【0080】
例えば、生成部42は、利用者U01の特徴や検索結果となる画像の利用目的に応じて、生成モデルデータベース31に登録されたモデルの中から、クエリ画像の分散表現を生成するために用いるモデルを選択する。より具体的には、生成部42は、生成モデルデータベース31に登録されたモデルの中から、利用者U01の特徴や検索結果となる画像の利用目的に応じて最適化がなされたモデルを選択し、選択したモデルを用いて、クエリ画像の意味的な特徴を示す分散表現を生成する。なお、生成部42は、例えば、複数のクエリ画像を受付けた場合は、クエリ画像ごとに分散表現を生成する。
【0081】
特定部43は、検索対象となる第2情報の特徴を示す第3情報の中から、分散表現が第1情報から生成された分散表現と類似する第3情報を特定する。より具体的には、と特定部43は、テキスト等、第1情報であるクエリ画像とは種別が異なるメタ情報を第3情報として特定する。
【0082】
例えば、特定部43は、生成部42が生成したクエリ画像の分散表現を受付ける。このような場合、特定部43は、分散表現データベース32に登録された分散表現のうち、生成部42が生成した分散表現と類似する分散表現を特定し、特定した分散表現と対応付けられたメタ情報を分散表現データベース32から特定する。すなわち、特定部43は、メタ情報の特徴が属する分野等、メタ情報の意味的な特徴を示す分散表現の中から、生成部42により生成された分散表現と類似する1つまたは複数の分散表現を特定し、特定した分散表現と対応するメタ情報を特定する。
【0083】
例えば、特定部43は、生成部42が生成した分散表現と、分散表現データベース32に登録された各分散表現とのユークリッド距離やコサイン類似度を算出し、算出した距離や類似度が所定の範囲内となる分散表現を特定する。すなわち、特定部43は、クエリ画像の分散表現と類似する分散表現を特定する。そして、特定部43は、特定した分散表現と対応付けられたメタ情報を特定する。
【0084】
このようなメタ情報は、検索結果となる画像の被写体の特徴等、検索結果となる画像の意味的な特徴を示すテキストである。特定部43は、上述した処理を実行することで、検索結果となる画像のうち、クエリ画像と意味的な特徴が類似する画像のメタ情報を特定することができる。より具体的には、特定部43は、検索結果となる画像の意味的な特徴を示すテキスト等のメタ情報であって、分散表現がクエリ画像の分散表現と類似するメタ情報を特定することができる。
【0085】
なお、特定部43は、検索結果となる画像の提供先となる利用者U01の属性、または、画像の利用目的の少なくともいずれか一方に応じて、分散表現との類似範囲を変更してもよい。例えば、特定部43は、利用者U01が移り気である場合は、クエリ画像の分散表現と類似する分散表現の範囲(例えば、ユークリッド距離)を基準となる閾値よりも大きい第1の閾値まで拡大する。また、特定部43は、利用者U01が移り気ではない場合は、クエリ画像の分散表現と類似する分散表現の範囲を、基準となる閾値よりも小さい第2の閾値まで縮小する。この結果、特定部43は、利用者U01の属性や画像の利用目的の少なくともいずれか一方に応じて、メタ情報のうち、クエリ画像と意味的な特徴が類似すると判定するメタ情報の範囲を動的に変更することができる。
【0086】
検索部44は、特定された第3情報が特徴を示す第2情報の中から、第1情報と類似する情報を検索する。より具体的には、検索部44は、特定部43により特定されたメタ情報に基づいて、検索結果となる画像の順位付けを行い、順位が所定の閾値よりも高い画像のうち、クエリ画像と外観の特徴が類似する画像を画像データベース33から検索する。
【0087】
例えば、検索部44は、特定部43が特定したメタ情報を複数受付けた場合は、受付けたメタ情報の集約処理を実行する。例えば、検索部44は、各メタ情報の分散表現を連結した集約情報を生成する。また、他の例では、検索部44は、特定部43が特定したメタ情報が属するカテゴリのうち、特定部43が特定したメタ情報が最も多く属しているカテゴリを特定する。そして、検索部44は、特定したカテゴリを示す分散表現を集約情報としてもよい。そして、検索部44は、画像データベース33に登録された各画像のメタ情報と、集約情報との類似度を算出する。
【0088】
また、検索部44は、画像データベース33に登録された画像のうち、算出した類似度が高い方から順に所定の数の画像を特定する。なお、検索部44は、メタ情報と、集約情報との類似度が所定の閾値以上となる画像のみを特定してもよい。そして、検索部44は、特定した画像の中からクエリ画像と外観的な特徴が類似する画像を検索する。例えば、検索部44は、特定した画像の画像特徴量と、クエリ画像の画像特徴量とを比較し、画像特徴量の類似度が高い方から順に所定の数の画像を特定する。なお、検索部44は、画像特徴量の類似度が所定の閾値以上となる画像のみを特定してもよい。そして、検索部44は、特定した画像を出力部45に通知する。
【0089】
なお、検索部44は、利用者U01の属性や、画像の利用目的の少なくともいずれか一方に応じて、クエリ画像との類似範囲を変更してもよい。例えば、検索部44は、画像データベース33に登録された画像から特定する画像の数を多くしてもよく、メタ情報と集約情報との類似度、あるいは、画像特徴量の類似度の閾値を変更してもよい。
【0090】
出力部45は、検索処理の結果となる画像を利用者U01に提供する。例えば、出力部45は、画像特徴量の類似度が高い方から順に、検索部44により検索された複数の画像を配置したウェブページを検索結果として生成する。そして、出力部45は、生成したウェブページを端末装置100へと送信する。
【0091】
収集部46は、検索対象となる画像とメタ情報との組を収集する。例えば、収集部46は、SNSサーバやウェブサーバ等から、画像とその画像が有する意味的な特徴を示すテキスト、すなわちメタ情報との組を検索対象データとして収集する。そして、収集部46は、収集した画像とメタ情報との組を画像データベース33に登録する。
【0092】
そこで、収集部46は、電子商取引やオークションに関するウェブページ中に配置された画像とテキストとの組を取得する。例えば、
図6は、検索対象データを収集する処理の一例を示す図である。例えば、
図6に示すウェブページWP01は、電子商取引やオークションにおいて、所定の取引対象の販売を行うウェブページである。このようなウェブページWP01には、所定の取引対象の画像である「画像#1」や、所定の取引対象を説明するテキストである「説明文#1」が含まれている。また、ウェブページWP01には、所定の取引対象が属するカテゴリを示すテキスト「カテゴリ#1」や、所定の取引対象を検索する際に用いた検索クエリ「検索クエリ#1」が含まれている。
【0093】
このような電子商取引やオークション等に関するのウェブページWP01において、「説明文#1」、「カテゴリ#1」、「検索クエリ#1」等といったテキストは、所定の取引対象の特徴を示す情報であると考えられる。また、このようなウェブページWP01に配置された「画像#1」は、取引対象を被写体とする画像、すなわち、取引対象を示す画像であると考えられる。すると、ウェブページWP01において、「画像#1」と「説明文#1」、「カテゴリ#1」または「検索クエリ#1」との組は、画像とタグ情報との組と見做すことができる。
【0094】
そこで、収集部46は、
図6に例示するように、ウェブページWP01に配置された「画像#1」、「説明文#1」、「カテゴリ#1」、および「検索クエリ#1」を抽出する。また、収集部46は、形態素解析等といった文章解析技術を用いて、「説明文#1」、「カテゴリ#1」、「検索クエリ#1」のそれぞれの意味を示すメタ情報を生成する。なお、収集部46は、「説明文#1」、「カテゴリ#1」、「検索クエリ#1」のそれぞれをそのままメタ情報としてもよい。そして、収集部46は、「画像#1」に対し、「説明文#1」、「カテゴリ#1」および「検索クエリ#1」のそれぞれから生成したメタ情報を対応付けた検索データD01を生成し、生成した検索データD01を画像データベース33に登録する。
【0095】
また、収集部46は、所定のモデルを用いて、画像データベース33に登録したメタ情報の意味的な特徴を示す分散表現を生成する。そして、収集部46は、生成したメタ情報と、メタ情報の分散表現との組を分散表現データベース32に登録する。なお、収集部46は、分散表現を用いて、メタ情報を分類することができるのであれば、任意のモデルを用いてメタ情報から分散表現を生成してよい。なお、収集部46は、インターネット上からテキストや画像等、任意の情報をメタ情報として収集し、収集したメタ情報と、そのメタ情報の分散表現とを対応付けて分散表現データベース32に登録してもよい。
【0096】
また、収集部46は、テキストのみならず、ウェブページにおいて主となる画像を補佐する画像をメタ情報として収集してもよい。すなわち、収集部46は、第1情報と同じ種別の情報を第3情報としてもよい。例えば、
図7は、検索対象データを収集する処理のバリエーションを示す図である。
【0097】
例えば、
図7に示すウェブページWP02には、所定の取引対象の画像である「画像#2」に加えて、「画像#2−1」や「画像#2−2」が含まれている。このような「画像#2−1」や「画像#2−2」は、「画像#2」と同じ取引対象を示す画像であって、「画像#2」とは異なる画像、すなわち、「画像#2」が有する意味的な特徴を補佐する情報であると考えられる。このような「画像#2−1」や「画像#2−2」は、「画像#2」の意味的な特徴を示す情報、すなわち、タグ情報として用いてもよいと考えられる。
【0098】
そこで、収集部46は、
図7に例示するように、ウェブページWP02に配置された「画像#2」とともに、「画像#2−1」や「画像#2−2」を収集する。そして、収集部46は、収集した「画像#2−1」や「画像#2−2」を「画像#2」のメタ情報として画像データベース33に登録する。また、収集部46は、畳み込みニューラルネットワークやフィッシャーベクター等の技術を用いて、「画像#2−1」や「画像#2−2」の意味的な特徴を示す分散表現を生成し、生成した分散表現を分散表現データベース32に登録してもよい。
【0099】
〔4.検索処理の一例〕
次に、
図8を用いて、検索装置10が実行する検索処理の流れの一例について説明する。
図8は、実施形態に係る検索装置が実行する検索処理の流れの一例を示すフローチャートである。例えば、検索装置10は、クエリ画像を受付ける(ステップS101)。このような場合、検索装置10は、クエリ画像の意味的な特徴を示す分散表現を生成する(ステップS102)。続いて、検索装置10は、分散表現がクエリ画像の分散表現と類似するメタ情報を特定し(ステップS103)、特定したメタ情報に基づいて、検索対象となる画像の順位付けを行う(ステップS104)。そして、検索装置10は、順位が所定の閾値よりも上位の画像から、クエリ画像と類似する画像を検索し(ステップS105)、検索した画像を出力して(ステップS106)、処理を終了する。
【0100】
〔5.変形例〕
上記では、検索装置10による検索処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、検索装置10が実行する検索処理のバリエーションについて説明する。
【0101】
〔5−1.実現手法について〕
例えば、検索装置10は、第1情報の分散表現を生成する処理、分散表現が第1情報の分散表現と類似する第3情報を特定する処理、および特定した第3情報が特徴を示す第2情報の中から第1情報と類似する情報を検索する処理を実行するように、ニューラルネットワークの学習を行い、学習したニューラルネットワークを用いて、上述した検索処理を実現してもよい。また、検索装置10は、検索処理に含まれる各処理の一部を実行するニューラルネットワークを組み合わせて使用することで、上述した検索処理を実現してもよい。
【0102】
〔5−2.分散表現空間について〕
ここで、所定の分野に属する第3情報の分散表現が多数存在する際に、第1情報の分散表現と類似する第3情報の分散表現を検索した場合は、ロバストな結果を得ることができない場合がある。そこで、検索装置10は、分散表現を用いたカテゴリ分けの処理を検索処理に適用してもよい。
【0103】
例えば、検索装置10は、第3情報の分散表現をあらかじめ生成し、生成した分散表現に基づいて、第3情報のカテゴリ分類を行う。そして、検索装置10は、第1情報を受付けると、受付けた第1情報の分散表現を生成し、生成した分散表現を用いて、第1情報が属する第3情報のカテゴリを特定する。その後、検索装置10は、特定したカテゴリと対応する第2情報(例えば、特定したカテゴリに属する第3情報が対応付けられた画像)のうち、第1情報と類似する情報を検索してもよい。
【0104】
〔5−3.レコメンドについて〕
上述した説明では、検索装置10は、利用者U01が検索クエリとして入力した第1情報と類似する第2情報を検索結果として配信した。しかしながら、実施形態は、これに限定されるものではない。例えば、検索装置10は、利用者U01の入力や行動等に基づく第1情報と類似する第2情報を、利用者U01に対するレコメンド情報として配信してもよい。
【0105】
例えば、検索装置10は、利用者U01によるウェブコンテンツの閲覧履歴や電子商取引等における購買履歴等に応じて、利用者U01が好意を有している商品の画像を特定する。このような場合、検索装置10は、特定した画像をクエリ画像として類似する商品の画像を検索し、検索結果となる画像をリコメンド情報として利用者U01に配信してもよい。
【0106】
また、他の例では、検索装置10は、利用者U01によるウェブコンテンツの閲覧結果に基づいて、利用者U01が興味を有している映画のPVを特定する。このような場合、検索装置10は、特定したPVの映画の監督によって撮影された他の映画等、特定したPVと類似する動画像を検索処理によって検索し、検索した動画像をリコメンド情報として利用者U01に配信してもよい。
【0107】
〔5−4.装置構成〕
検索装置10は、端末装置100と情報の送受信を行うフロントエンドサーバと、上述した抽出処理を実行するバックエンドサーバにより実現されてもよい。このような場合、バックエンドサーバは、生成部42、特定部43、検索部44、および収集部46を有する情報処理装置により実現される。また、フロントエンドサーバは、受付部41と出力部45とを有する情報処理装置により実現される。また、バックエンドサーバは、さらに複数の情報処理装置が協調して動作することで実現されてもよい。
【0108】
また、記憶部30に格納された各データベース31〜33は、検索装置10の内部ではなく、例えば、外部のストレージサーバ等に格納されていてもよい。
【0109】
〔5−5.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0110】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0111】
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0112】
〔6.プログラム〕
また、上述してきた実施形態に係る検索装置10は、例えば
図9に示すような構成のコンピュータ1000によって実現される。
図9は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
【0113】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD、フラッシュメモリ等により実現される。
【0114】
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
【0115】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
【0116】
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0117】
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0118】
例えば、コンピュータ1000が検索装置10として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部40の機能を実現する。
【0119】
〔7.効果〕
上述したように、検索装置10は、第1情報の特徴を示す分散表現を生成する。また、検索装置10は、検索対象となる第2情報の特徴を示す第3情報の中から、分散表現が第1情報の分散表現と類似する第3情報を特定する。そして、検索装置10は、特定された第3情報が特徴を示す第2情報の中から、第1情報と類似する情報を検索する。
【0120】
このように、検索装置10は、検索対象となる第2情報のうち、分散表現が第1情報と類似する第3情報と対応する第2情報の中から、第1情報と類似する情報を検索する。このような処理の結果、例えば、検索装置10は、第1情報と意味的な特徴が類似する第2情報の中から、第1情報と類似する情報を検索するので、利用者U01の意図を反映した検索を実現する結果、検索精度を向上させることができる。
【0121】
また、検索装置10は、第3情報として、第1情報とは種別が異なる情報を特定する。例えば、検索装置10は、第1情報の特徴が属する分類を示す分散表現を生成する。そして、検索装置10は、第3情報の特徴が属する分類を示す分散表現の中から、第1情報の分散表現と類似する分散表現を特定し、特定した分散表現と対応する第3情報を特定する。このため、検索装置10は、メタ情報等、第1情報とは種別が異なる情報が検索対象となる第2情報に対応付けられている場合でも、検索精度を向上させることができる。
【0122】
また、検索装置10は、第1情報の意味的な特徴を示す分散表現を生成し、第2情報の意味的な特徴を示す第3情報の中から、分散表現が第1情報の分散表現と類似する第2情報を特定する。このため、検索装置10は、第1情報と意味的な特徴が類似する第2情報の中から、第1情報と類似する情報を検索することができる。
【0123】
また、検索装置10は、画像である第1情報の特徴を示す分散表現を生成し、画像である第2情報の特徴を示すテキストである第3情報の中から、分散表現が第1情報の特徴と類似する第3情報を特定する。このため、検索装置10は、画像検索の精度を向上させることができる。
【0124】
また、検索装置10は、検索した第2情報の提供先となる利用者の属性、または、第2情報の利用目的の少なくともいずれか一方に応じたモデルを用いて、第1情報から分散表現を生成する。また、検索装置10は、検索した第2情報の提供先となる利用者の属性、または、第2情報の利用目的の少なくともいずれか一方に応じて、第1情報の分散表現との類似範囲を変更する。また、検索装置10は、検索した第2情報の提供先となる利用者の属性、または、第2情報の利用目的の少なくともいずれか一方に応じて、第1情報との類似範囲を変更する。このため、検索装置10は、利用者の意図を検索処理により反映させることができる結果、検索精度をさらに向上させることができる。
【0125】
また、検索装置10は、特定された第3情報に基づいて、第2情報の順位付けを行い、順位が所定の閾値よりも高い第2情報のうち、第1情報と類似する第2情報を検索する。このため、検索装置10は、例えば、第1情報と意味的な特徴がより類似する第2情報を優先的に検索結果に含めることができる。
【0126】
また、検索装置10は、画像である第1情報の被写体の特徴を示す分散表現を生成する。また、検索装置10は、画像である第2情報の被写体の特徴を示すテキストである第3情報の中から、分散表現が第1情報の分散表現と類似する第3情報を特定する。そして、検索装置10は、特定部により特定された第3情報が特徴を示す第2情報の中から、外観の特徴が第1情報と類似する情報を検索する。このため、検索装置10は、画像検索の精度を向上させることができる。
【0127】
また、検索装置10は、分散表現が第1情報の分散表現と類似する複数の第3情報を特定し、特定された複数の第3情報を集約した情報が特徴を示す第2情報の中から、第1情報と類似する情報を検索する。例えば、検索装置10は、特定された複数の第3情報が属するカテゴリのうち、最も多くの第3情報が属するカテゴリを特定し、特定したカテゴリに属する第3情報が特徴を示す第2情報の中から、第1情報と類似する情報を検索する。このため、検索装置10は、第1情報と特徴が総合的に類似する第2情報を検索することができる。
【0128】
また、検索装置10は、第3情報のうち、第1情報の分散表現からのユークリッド距離またはコサイン類似度が所定の範囲内となる分散表現と対応する第3情報を特定する。このため、検索装置10は、第1情報と特徴が類似する第3情報が特徴を示す第2情報を検索することができる。
【0129】
また、検索装置10は、畳み込みニューラルネットワーク又はフィッシャーベクターを用いて、第1情報の特徴を示す分散表現を生成する。このため、検索装置10は、第1情報の分散表現と第3情報の分散表現とを精度良く比較することができる。
【0130】
また、検索装置10は、複数の第1情報の特徴を示す1つの分散表現を生成し、複数の第1情報と類似する情報を検索する。このため、検索装置10は、第1情報と特徴が総合的に類似する第2情報を検索することができる。
【0131】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0132】
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、特定部は、特定手段や特定回路に読み替えることができる。