(57)【要約】セマンティックオブジェクトの特徴付け、および、データベースディレクトリのインデックス化と検索でのその使用について提示する。概して、セマンティックオブジェクトの第１の表現またはビューを表現する第１のバイナリハッシュコードを生成し、同一のセマンティックオブジェクトの第２の表現またはビューを第２のバイナリハッシュコードの形式で特徴付けしたバージョンと比較すると、第１および第２のバイナリハッシュコードが、オブジェクトが同一のオブジェクトであることを示す類似度を表す。一実装において、セマンティックオブジェクトは人名に対応し、第１および第２の表現またはビューが２つ異なる言語に対応する。従って、ユーザは、一方の言語による情報のデータベースを他方の言語による検索クエリで検索することができる。
2013521574.tif 000002
【特許請求の範囲】
【請求項１】
セマンティックオブジェクトの第１の表現またはビューを、前記セマンティックオブジェクトを表現する第１のバイナリハッシュコードの形式で特徴付けし、前記セマンティックオブジェクトを表現する第２のバイナリハッシュコードの形式における同一のセマンティックオブジェクトの第２の表現またはビューの特徴付けしたバージョンと比較すると、前記第１および第２のバイナリハッシュコードが、前記オブジェクトが同一のオブジェクトであることを示す類似度を表すようにするコンピュータ実行プロセスであって、前記プロセスは、
同性質のセマンティックオブジェクトのペアを入力するステップであって、前記同性質のセマンティックオブジェクトのペアは、前記第１および第２の表現またはビューで提示される同一のセマンティックオブジェクトを含む、入力するステップと、
同性質のセマンティックオブジェクトの各ペアのそれぞれのセマンティックオブジェクトを特徴抽出にかけ、前記セマンティックオブジェクトを表現する特徴ベクトルを作成するステップと、
前記同性質のセマンティックオブジェクトのペアを表現する特徴ベクトルに基づき、前記第１の表現またはビューに対する所定数の変換と、前記第２の表現またはビューに対する同数の変換とを確立するステップであって、前記第１または第２の表現またはビューの内の一方に対して確立される変換は、前記表現またはビューを表すセマンティックオブジェクトを表現する特徴ベクトルに適用されると、前記セマンティックオブジェクトを表現する前記第１のバイナリハッシュコードを作成し、前記第１または第２の表現またはビューの内の他方に対して確立された変換を、前記他方の表現またはビューを表す同一のセマンティックオブジェクトを表現する特徴ベクトルに適用する時に作成される前記セマンティックオブジェクトを表現する前記第２のバイナリハッシュコードと、前記第１のバイナリハッシュコードは実質上類似する、確立するステップと、
前記第１の表現またはビューに対して確立された変換を使用して、前記第１の表現またはビューを表すセマンティックオブジェクトを、前記セマンティックオブジェクトを表現する前記第１のバイナリハッシュコードとして特徴付けするステップと
を含む処理動作をコンピュータを使用して実行することを含むことを特徴とするプロセス。
【請求項２】
前記第１の表現またはビューに対して確立された変換を使用して、前記第１の表現またはビューを表すセマンティックオブジェクトを、前記セマンティックオブジェクトを表現する第１のバイナリハッシュコードの形式で特徴付けするステップの処理動作は、
前記セマンティックオブジェクトを、前記第１の表現またはビューを表す同性質のセマンティックオブジェクトの各ペアにおける前記セマンティックオブジェクトに適用されるものと同じ特徴抽出にかけ、前記セマンティックオブジェクトを表現する特徴ベクトルを作成するステップと、
前記第１の表現またはビューに対して確立された変換のそれぞれについて、前記変換を前記セマンティックオブジェクトを表現する特徴ベクトルに適用し、その結果をバイナリ化し、前記セマンティックオブジェクトを表現する前記第１のバイナリハッシュコードのビットを作成するステップと、
前記作成されたビットを所定の順序で連結し、前記セマンティックオブジェクトを表現する前記第１のバイナリハッシュコードを作成するステップと
の動作を含むことを特徴とする請求項１に記載のプロセス。
【請求項３】
同性質のセマンティックオブジェクトの各ペアのそれぞれのセマンティックオブジェクトを特徴抽出にかけ、前記セマンティックオブジェクトを表現する特徴ベクトルを作成するステップの処理動作は、バイナリ特徴ベクトルまたは実数値特徴ベクトルの内の１つを作成するステップの動作を含むことを特徴とする請求項１に記載のプロセス。
【請求項４】
同性質のセマンティックオブジェクトの各ペアのそれぞれのセマンティックオブジェクトを特徴抽出にかけ、前記セマンティックオブジェクトを表現する特徴ベクトルを作成するステップの処理動作は、次元縮小技術を使用して低次元の表現を作成するステップの動作を含むことを特徴とする請求項３に記載のプロセス。
【請求項５】
前記同性質のセマンティックオブジェクトのペアを表現する特徴ベクトルに基づき、第１の表現またはビューに対する所定数の変換と、第２の表現またはビューに対する同数の変換とを確立するステップの処理動作は、
正準相関分析を使用して、前記第１および第２の表現またはビューのそれぞれの候補の変換を計算するステップと、
前記第１の表現またはビューに対する第１の変換セットを、前記第１の表現またはビューについて計算された候補の変換から確立し、前記第２の表現またはビューに対する第２の変換セットを、前記第２の表現またはビューについて計算された候補の変換から確立するステップであって、セマンティックオブジェクトの同性質のペアのそれぞれに対して、前記第１の変換セットを、前記第１の表現またはビューを表すセマンティックオブジェクトの前記同性質のペアのセマンティックオブジェクトを表現する特徴ベクトルに適用し、かつ、前記第２の変換セットを、前記第２の表現またはビューを表すセマンティックオブジェクトの前記同性質のペアのセマンティックオブジェクトを表現する特徴ベクトルに適用すると、セマンティックオブジェクトの前記同性質のペアの全てについて作成される、結果として得られる第１および第２のバイナリハッシュコードの間の総ハミング距離を最小化する、確立するステップと
の動作を含むことを特徴とする請求項１に記載のプロセス。
【請求項６】
前記同性質のセマンティックオブジェクトのペアを表現する特徴ベクトルに基づき、第１の表現またはビューに対する所定数の変換と、第２の表現またはビューに対する同数の変換とを確立するステップの処理動作は、
前記第１の変換セットを、作成される前記第１のバイナリハッシュコードのビットのほぼ半分が第１の二進値を表し、かつ残りのビットが他方の二進値を表すという制約を示すように、確立するステップと、
前記第２の変換セットを、作成される前記第２のバイナリハッシュコードのビットのほぼ半分が前記第１の二進値を表し、かつ残りのビットが他方の二進値を表すという制約を示すように、確立するステップと
の動作をさらに含むことを特徴とする請求項５に記載のプロセス。
【請求項７】
前記同性質のセマンティックオブジェクトのペアを表現する特徴ベクトルに基づき、第１の表現またはビューに対する所定数の変換と、第２の表現またはビューに対する同数の変換とを確立するステップの処理動作は、
前記第１の変換セットを、作成される前記第１のバイナリハッシュコードのビットが無相関であるという制約を示すように確立するステップと、
前記第２の変換セットを、作成される前記第２のバイナリハッシュコードのビットが無相関であるという制約を示すように確立するステップと
をさらに含むことを特徴とする請求項６に記載のプロセス。
【請求項８】
検索可能なデータベースを作成するためのコンピュータ実行プロセスであって、前記データベース内の項目は、第１の表現またはビューを表すセマンティックオブジェクトであり、前記データベースに含まれるセマンティックオブジェクトと同一であるが第２の表現またはビューを表すセマンティックオブジェクトを、前記検索可能なデータベースに対して検索クエリとして提示すると、前記検索クエリの前記セマンティックオブジェクトに対応する、前記第１の表現またはビューを表すセマンティックオブジェクトの識別を含む出力を行い、前記プロセスは、
前記第１の表現またはビューに対する所定数の変換と、前記第２の表現またはビューに対する同数の変換とを確立するステップであって、前記第１または第２の表現またはビューの内の一方に対して確立される変換を、前記表現またはビューを表すセマンティックオブジェクトを表現する特徴ベクトルに適用すると、前記セマンティックオブジェクトを表現する前記第１のバイナリハッシュコードを作成し、前記第１または第２の表現またはビューの内の他方に対して確立された変換を、前記他方の表現またはビューを表す同一のセマンティックオブジェクトを表現する特徴ベクトルに適用する時に作成される前記セマンティックオブジェクトを表現する第２のバイナリハッシュコードと、前記第１のバイナリハッシュコードは実質上類似する、確立するステップと、
前記第１の表現またはビューに対して確立された変換を使用して、前記データベースに含まれる前記セマンティックオブジェクトのそれぞれを、前記セマンティックオブジェクトを表現する前記第１のバイナリハッシュコードの形式で特徴付けするステップであって、前記データベースに含まれるセマンティックオブジェクトを特徴付ける前記第１のバイナリコードは、前記データベース内の他のセマンティックオブジェクトを特徴付ける前記第１のバイナリコードと実質上異なる、特徴付けするステップと、
前記データベースに含まれる前記セマンティックオブジェクトのそれぞれを特徴付ける前記第１のバイナリハッシュコードを、前記データベースにおける、それぞれに対応するセマンティックオブジェクトにそれぞれ関連付けるステップと
を含む処理動作をコンピュータを使用して実行することを含むことを特徴とするプロセス。
【請求項９】
検索クエリが第２の表現またはビューを表すデータベースに入力される時は常に、
前記検索クエリを表現する特徴ベクトルを生成するステップと、
前記第２の表現またはビューに対して確立される変換のそれぞれについて、前記変換を前記検索クエリを表現する特徴ベクトルに適用し、その結果をバイナリ化し、前記検索クエリを表現する前記第２のバイナリハッシュコードのビットを作成するステップと、
前記作成されたビットを所定の順序で連結して、前記検索クエリを表現する前記第２のバイナリハッシュコードを作成するステップと、
前記検索クエリを表現する前記第２のバイナリハッシュコードに対して所定の類似度を表す第１のバイナリハッシュコードを有する、前記データベースに含まれるセマンティックオブジェクト（単数または複数）を発見するステップと、
前記検索クエリを表現する前記第２のバイナリハッシュコードに対して所定の類似度を表すことが発見された第１のバイナリハッシュコードを有する、前記データベースに含まれる一致するセマンティックオブジェクト（単数または複数）の識別を出力するステップと
を含む処理動作をさらに含むことを特徴とする請求項８に記載のプロセス。
【請求項１０】
前記検索クエリを表現する第２のバイナリハッシュコードに対して所定の類似度を表す第１のバイナリハッシュコードを有する、前記データベースに含まれるセマンティックオブジェクト（単数または複数）を発見するステップの処理動作は、
前記検索クエリを表現する前記第２のバイナリハッシュコードと前記データベースに含まれる前記セマンティックオブジェクトのそれぞれに関連する前記第１のバイナリハッシュコードとの間のハミング距離の値をそれぞれ計算するステップと、
第１のバイナリハッシュコードと前記検索クエリを表現する前記第２のバイナリハッシュコードとの間の最小であるハミング距離を表す第１のバイナリハッシュコードを有する、前記データベースに含まれる前記セマンティックオブジェクト（単数または複数）を発見するステップと
の動作を含むことを特徴とする請求項９に記載のプロセス。
【請求項１１】
前記検索クエリを表現する第２のバイナリハッシュコードに対して所定の類似度を表す第１のバイナリハッシュコードを有する、前記データベースに含まれるセマンティックオブジェクト（単数または複数）を発見するステップの処理動作は、
前記検索クエリを表現する前記第２のバイナリハッシュコードと前記データベースに含まれる前記セマンティックオブジェクトのそれぞれに関連する前記第１のバイナリハッシュコードとの間のハミング距離の値をそれぞれ計算するステップと、
第１のバイナリハッシュコードと前記検索クエリを表現する前記第２のバイナリハッシュコードとの間の、ハミング距離の閾値よりも小さいハミング距離を表す第１のバイナリハッシュコードを有する、前記データベースに含まれる前記セマンティックオブジェクト（単数または複数）を発見するステップと
の動作を含むことを特徴とする請求項９に記載のプロセス。
【請求項１２】
前記データベースに入力される検索クエリは、単一のセマンティックオブジェクトに組み合わされた複数のセマンティックオブジェクトを含み、前記データベースに含まれる前記セマンティックオブジェクトの内の少なくとも一部が、単一のセマンティックオブジェクトに組み合わされた複数のセマンティックオブジェクトであることを特徴とする請求項９に記載のプロセス。
【請求項１３】
前記データベースに入力された検索クエリは、複数のセマンティックオブジェクトを含み、前記特徴ベクトルの生成、変換の適用およびバイナリ化、連結、発見ならびに出力の処理動作を、前記検索クエリの前記複数のセマンティックオブジェクトのそれぞれに対して繰り返し、前記プロセスは、
重み付き二部グラフを構築するステップであって、前記検索クエリのセマンティックオブジェクトのそれぞれは、前記グラフの第１のノードセットを形成し、前記検索クエリのセマンティックオブジェクトのそれぞれに対して出力された識別された一致するセマンティックオブジェクト（単数または複数）が前記グラフの第２のノードセットを形成する、構築するステップと、
前記第１のノードセットに関連する前記セマンティックオブジェクトのそれぞれのバイナリハッシュコードと、前記第２のノードセットに関連する前記セマンティックオブジェクトのそれぞれのバイナリハッシュコードとの間の類似度を、既知でない場合にそれぞれ計算するステップと、
前記第１のノードセットに関連する各セマンティックオブジェクトと、前記第２のノードセットに関連するセマンティックオブジェクトとの間に、それらのバイナリハッシュコードに基づくセマンティックオブジェクト間の類似度が閾値と交差する場合に、エッジを割り当てるステップであって、前記エッジの重みを前記類似度と等しく設定する、割り当てるステップと、
前記グラフにおける最大重み付き二部グラフマッチングを求めるステップと、
前記マッチングの重みを計算するステップと、
前記マッチングの重みを、前記第１および第２のノードセット間のノード数の差に基づき正規化するステップと
の処理動作をさらに含むことを特徴とする請求項９に記載のプロセス。
【請求項１４】
前記データベースに含まれるセマンティックオブジェクトのそれぞれを特徴付ける前記第１のバイナリハッシュコードを、前記データベースにおける、それぞれに対応するセマンティックオブジェクトにそれぞれ関連付けるステップの処理動作は、
前記データベースに含まれる前記セマンティックオブジェクトに対応するデータベースディレクトリを含むハッシュテーブルを確立するステップと、
前記データベースに含まれる前記セマンティックオブジェクトのそれぞれを特徴付ける前記第１のバイナリハッシュコードを前記ハッシュテーブルに追加するステップと、
前記データベースに含まれる前記セマンティックオブジェクトのそれぞれを特徴付ける前記第１のバイナリハッシュコードを、前記ハッシュテーブル内における、それぞれに対応するデータベースディレクトリエントリに関連付けるステップと
の動作を含むことを特徴とする請求項８に記載のプロセス。
【請求項１５】
第１の言語による人の名前を前記名前を表現する第１のバイナリハッシュコードの形式で特徴付けし、第２の言語による同一の名前を前記名前を表現する第２のバイナリハッシュコードの形式で特徴付けしたバージョンと比較すると、前記第１および第２のバイナリハッシュコードは、それらの名前が同一の名前であることを示す類似度を表すコンピュータ実行プロセスであって、
同性質の名前のペアを入力するステップであって、前記同性質の名前の各ペアは、前記第１および第２の言語で提示される人の名前を含み、同性質の名前の各ペアは異なる名前に対応する、入力するステップと、
同性質の名前の各ペアを特徴抽出にかけ、前記名前を表現するバイナリ特徴ベクトルを作成するステップと、
前記同性質の名前のペアを表現する特徴ベクトルに基づき、前記第１の言語に対する所定数の変換と、前記第２の言語に対する同数の変換とを確立するステップであって、前記第１または第２の言語の内の一方に対して確立された変換を、前記言語による名前を表現する特徴ベクトルに対して適用すると、前記名前を表現する前記第１のバイナリハッシュコードを作成し、前記第１または第２の言語の内の他方に対して確立された変換を、前記他方の言語による同一の名前を表現する特徴ベクトルに適用する時に作成し、前記名前を表現する前記第２のバイナリハッシュコードと、前記第１のバイナリハッシュコードが実質上類似する、確立するステップと、
前記第１の言語に対して確立された変換を使用して、第１の言語による人の名前を前記名前を表現する前記第１のバイナリハッシュコードとして特徴付けるステップと
を含む処理動作をコンピュータを使用して実行することを含むことを特徴とするプロセス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セマンティックオブジェクトの特徴付けおよび検索に関する。
【背景技術】
【０００２】
検索エンジンとは、最も一般的な表現では、１つまたは複数のデータベースに含まれる情報にインデックスを付けるソフトウェアプログラムである。このインデックス化された情報はデータベースのディレクトリ内に記憶されることが多い。そして、検索エンジンは、ユーザに検索クエリを入力させ、その内の用語を採用してディレクトリを介してデータベース内の関連情報を探索する。探索された関連情報はユーザに報告される。
【０００３】
インデックス化される情報のタイプは考え得る任意のものとすることができる。これにはウェブページ、文書、ラベル付き画像などがある。典型的には、情報は特定の言語によるもので、検索クエリも同一の言語で提示される。
【０００４】
加えて、多くの場合、インデックス化された情報の項目は、一般的にセマンティックオブジェクトと称することができ、リストアップされたオブジェクトを介して素早くかつ効果的な検索を行なう方法でディレクトリにおいて特徴付けされる。そのような場合、検索クエリは典型的には、特徴付けされたディレクトリエントリと比較される前に、同じ様式で特徴付けされる。
【発明の概要】
【０００５】
この要約は、以下の「発明を実施するための形態」でさらに述べる概念を選択して簡略化した形式で紹介するために提供するものである。この要約は、請求の主題の重要な特徴または主要な特徴を確認することを意図しておらず、請求の主題の範囲を決定する際の助けとして使用されることも意図していない。
【０００６】
本明細書に記載されるセマンティックオブジェクトの特徴付けおよび検索に関する実施形態は、一般に、まず、同性質のセマンティックオブジェクトのペアを入力する動作を含む。同性質のセマンティックオブジェクトのペアを、第１および第２の表現またはビューで提示される同一のセマンティックオブジェクトとして定義する。例えば、セマンティックオブジェクトが人名に対応する場合、同性質の名前のペアは、２つの異なる言語、および潜在的には２つの異なる文字体系で提示される同一の名前とすることができる。同性質のオブジェクトの各ペアのそれぞれのセマンティックオブジェクトは、特徴抽出により、セマンティックオブジェクトを表現する特徴ベクトルを作成する。次に、相関および最適化の方法を採用し、同性質のセマンティックオブジェクトのペアを表現する特徴ベクトルに基づき、第１の表現またはビューに対する所定数の変換と、第２の表現またはビューに対する同数の変換とを確立する。一般に、第１または第２の表現またはビューの内の一方に対して確立された変換は、当該表現またはビューを表すセマンティックオブジェクトを表現する特徴ベクトルに適用する場合、セマンティックオブジェクトを表現する第１のバイナリハッシュコードを作成するが、第１または第２の表現またはビューの内の他方に対して確立された変換を、他方の表現またはビューを表す同一のセマンティックオブジェクトを表現する特徴ベクトルに適用される時に作成する、当該セマンティックオブジェクトを表現する第２のバイナリハッシュコードと、第１のバイナリハッシュコードは実質上類似する。
【０００７】
第１の表現またはビューに対して確立された変換を使用して、データベースに含まれる、第１の表現またはビューを表すセマンティックオブジェクトを、セマンティックオブジェクトを表現する第１のバイナリハッシュコードの形式で特徴付けする。次に、データベースに含まれるセマンティックオブジェクトを特徴付ける第１のバイナリハッシュコードを、データベースディレクトリ内のその対応するセマンティックオブジェクトにそれぞれ関連付けする。
【０００８】
前述の第２の表現またはビューを表す検索クエリを入力すると、検索クエリを表現する特徴ベクトルを生成する。次に第２の表現またはビューに対して確立された変換のそれぞれを、検索クエリ特徴ベクトルに適用し、結果をバイナリ化し、検索クエリを表現する第２のバイナリハッシュコードのビットを作成する。変換により作成されたビットを、次に、所定の順序で連結し、検索クエリを表現する第２のバイナリハッシュコードを作成する。次に、検索クエリを表現する第２のバイナリハッシュコードに対して所定の類似度を表す第１のバイナリハッシュコードを有する、データベースに含まれるセマンティックオブジェクト（単数または複数）を発見する。次に、その一致するセマンティックオブジェクト（単数または複数）の識別を出力する。
【図面の簡単な説明】
【０００９】
本開示の特定の特徴、態様、および利点は、以下の説明、添付の請求項、および添付の図面を顧慮することで、より良く理解されるであろう。
【００１０】
【図１】セマンティックオブジェクトの特徴付けのためのプロセスの一実施形態を全体的に概説するフロー図である。
【図２】第１の表現またはビューに対して確立された変換を使用して、第１の表現またはビューを表すセマンティックオブジェクトを第１のバイナリハッシュコードとして特徴づける動作を含む、図１のプロセスの一部の一実装を全体的に概説するフロー図である。
【図３】人の名前を特徴付けするためのプロセスの一実施形態を全体的に概説するフロー図である。
【図４】第１の言語に対して確立された変換を使用して、第１の言語による人名を第１のバイナリハッシュコードとして特徴付けする動作を含む図３のプロセスの一部の一実装を全体的に概説するフロー図である。
【図５】各言語それぞれについて、同性質の名前の各ペアにおけるそれぞれの名前を特徴抽出にかけ、名前を表現するバイナリ特徴ベクトルを作成する動作を含む図３のプロセスの一部の一実装を全体的に概説するフロー図である。
【図６】同性質のセマンティックオブジェクトのペアを表現する特徴ベクトルに基づき、第１の表現またはビューに対する所定数の変換と、第２の表現またはビューに対する同数の変換とを確立する動作を含む図１のプロセスの一部の一実装を全体的に概説するフロー図である。
【図７】データベースのディレクトリをインデックス化するためのプロセスの一実施形態を全体的に概説するフロー図である。
【図８】データベースに含まれるセマンティックオブジェクトを特徴付ける第１のバイナリハッシュコードを、データベース内の対応するセマンティックオブジェクトに関連付けする動作を含む図７のプロセスの一部の一実装を全体的に概説するフロー図である。
【図９】特徴付けされた検索クエリを使用してデータベースの特徴付けされたディレクトリを検索するためのプロセスの一実施形態を全体的に概説するフロー図である。
【図１０】特徴付けされた複数部分セマンティックオブジェクト検索クエリを使用してデータベースの特徴付けされたディレクトリを検索するためのプロセスの一実施形態を全体的に概説するフロー図である。
【図１１】本明細書に記載されるセマンティックオブジェクトの特徴付けおよび検索の実施形態を実装する例示のシステムを構成する汎用コンピューティング装置を示す図である。
【発明を実施するための形態】
【００１１】
セマンティックオブジェクトの特徴付け、および、データベースディレクトリのインデックス化と検索でのその使用についての以下の説明において、本明細書の一部を形成する添付の図面に対する参照がなされ、図面には、例として、特徴付けを実践することができる特定の実施形態を示す。他の実施形態を利用しても良いこと、また、本技術の範囲から逸脱することなく構造的変更がなされても良いことは理解されるであろう。
【００１２】
１．０  セマンティックオブジェクトの特徴付け 
一般に、セマンティックオブジェクトの特徴付けはコンピュータに実装される技術であって、セマンティックオブジェクトの第１の表現またはビューを第１のバイナリハッシュコードの形式で特徴付けし、同一のセマンティックオブジェクトの第２の表現またはビューを第２のバイナリハッシュコードの形式で特徴付けしたバージョンと比較すると、オブジェクトが同一のオブジェクトであることを示す類似度を、第１および第２のバイナリハッシュコードが表すようにする技術である。
【００１３】
図１を参照すると、本セマンティックオブジェクトの特徴付けの一実施形態では、まず、同性質のセマンティックオブジェクトのペアを入力する動作を含む（１００）。１つのペアの同性質のセマンティックオブジェクトを、第１および第２の表現またはビューで提示される同一のセマンティックオブジェクトとして定義する。例えば、セマンティックオブジェクトが人名に対応する場合、同性質の名前のペアは２つの異なる言語で提示される同一の名前とすることができる。さらに、ある言語で該言語に関連する文字体系を採用する場合、該言語で示される人名をその関連する文字体系で提示することができる。なお、採用される同性質のペアの数は含まれるセマンティックオブジェクトのタイプに依存する。人名の場合、１万から１万５千のペアが適切なペアの数であることが分かっている。
【００１４】
同性質のオブジェクトの各ペアのそれぞれのセマンティックオブジェクトを、次に特徴抽出にかけ、セマンティックオブジェクトを表現する特徴ベクトルを作成する（１０２）。この特徴抽出については、本説明の後の章でより詳細に記載する。相関および最適化の方法を採用して、同性質のセマンティックオブジェクトのペアを表現する特徴ベクトルに基づき、第１の表現またはビューに対する所定数の変換と、第２の表現またはビューに対する同数の変換とを確立する（１０４）。この手続きについても、後の章でより詳細に記載する。しかし、一般に、第１または第２の表現またはビューの内の一方に対して確立される変換は、その表現またはビューを表すセマンティックオブジェクトを表現する特徴ベクトルに適用すると、該セマンティックオブジェクトを表現する第１のバイナリハッシュコードを作成する。第１もしくは第２の表現またはビューの内の他方に対して確立された変換を、他方の表現またはビューを表す同一のセマンティックオブジェクトを表現する特徴ベクトルに適用すると作成されるセマンティックオブジェクトを表現する第２のバイナリハッシュコードと、第１のバイナリハッシュコードは実質上類似する。なお、一実装において、正準相関分析を相関法として採用する。
【００１５】
次に、第１の表現またはビューに対して確立される変換を使用して、第１の表現またはビューを表すセマンティックオブジェクトを、該セマンティックオブジェクトを表現する第１のバイナリハッシュコードとして特徴付ける（１０６）。図２を参照すると、一実装において、この最後の動作には、まず、セマンティックオブジェクトを、第１の表現またはビューを表した同性質のセマンティックオブジェクトの各ペアにおけるセマンティックオブジェクトに適用されるものと同じ特徴抽出にかけ、セマンティックオブジェクトを表現する特徴ベクトルを作成する動作（２００）が含まれる。次に、第１の表現またはビューに対して確立された変換の内の前回選択されなかった変換を選択する（２０２）。選択された変換を、セマンティックオブジェクトを表現する特徴ベクトルに適用し、その結果をバイナリ化し、セマンティックオブジェクトを表現する第１のバイナリハッシュコードのビットを作成する（２０４）。次に、第１の表現またはビューに対して確立された全ての変換を選択しかつ処理したかどうかを判定する（２０６）。全ての変換を選択および処理していない場合、動作（２０２）を、（２０６）を介して繰り返す。全ての変換を選択かつ処理すると、各変換により作成されたビットを所定の順序で連結し、セマンティックオブジェクトを表現する第１のバイナリハッシュコードを作成する（２０８）。
【００１６】
上に示したように、セマンティックオブジェクトの特徴付けは、セマンティックオブジェクトが人名であること、表現またはビューが２つの異なる言語（および、場合により２つの異なる文字体系タイプ）であることに関与して良い。そのような実装には重要な利点がある。例えば、特徴付けを使用してデータベースディレクトリをインデックス化および検索するという文脈においては、データベースディレクトリは英語であるが、ユーザが英語以外の言語でさらには異なる文字体系を採用する言語の検索クエリを使用してデータベースを検索することを望むことが想定される。セマンティックオブジェクトの特徴付けをそのようなクロス言語検索に適用し、第１の言語によるデータベースディレクトリでの名前を、その名前についての言語および文字体系独自の表現を使用して特徴付ける。そして、第２の言語および可能性のある異なる文字体系による検索クエリを、同一の言語および文字体系独自の様式で特徴付けすることができる。このため、ユーザは第２の言語によるクエリをサブミットし、データベースの言語による一致結果を取得することができる。従って、データベースの言語との任意の非精通性または２つの言語間の発音上の相違は無視される。
【００１７】
ここで、セマンティックオブジェクトが人名であり、表現またはビューが２つの異なる言語（および、場合により２つの異なる文字体系タイプ）であるセマンティックオブジェクトの特徴付けの一実装について説明する。一般に、本実装では、第１の言語による人名を該名前を表現する第１のバイナリハッシュコードの形式で特徴付けし、第２の言語による同一の名前を該名前を表現する第２のバイナリハッシュコードの形式で特徴付けしたバージョンと比較すると、第１および第２のバイナリハッシュコードが、それらの名前が同一の名前であることを示す類似度を表すようにする。
【００１８】
さらに特に、図３を参照すると、本実装では、まず、同性質の名前のペアを入力する動作（３００）を含み、同性質の名前のペアを、第１および第２の言語（および、場合により異なる文字体系）で提示される同一の名前として定義する。次に、同性質の名前の各ペアのそれぞれの名前を特徴抽出にかけ、該名前を表現する特徴ベクトルを作成する（３０２）。そして、上述の相関および最適化の方法を採用して同性質の名前のペアを表現する特徴ベクトルに基づき、第１の言語に対する所定数の変換と、第２の言語に対する同数の変換とを確立する（３０４）。両言語の内の一方に対して確立された変換は、その言語による名前を表現する特徴ベクトルに適用されると、該名前を表現する第１のバイナリハッシュコードを作成する。他方の言語に対して確立された変換を該他方の言語による同一の名前を表現する特徴ベクトルに適用すると作成される、該名前を表現する第２のバイナリハッシュコードと、第１のバイナリハッシュコードは実質上類似する。
【００１９】
次に、第１の言語に対して確立される変換を使用して、第１の言語による名前を、該名前を表現する第１のバイナリハッシュコードとして特徴付ける（３０６）。ここで図４を参照すると、一実装において、この最後の動作には、まず名前を、第１の言語による同性質の名前の各ペアにおける名前に適用されるものと同じ特徴抽出にかけ、名前を表現する特徴ベクトルを作成する動作（４００）が含まれる。次に、第１の表現またはビューに対して確立された変換の内前回選択されなかった変換を選択される（４０２）。選択された変換を、人名を表現する特徴ベクトルに適用し、その結果をバイナリ化し、名前を表現する第１のバイナリハッシュコードのビットを作成する（４０４）。次に、第１の言語に対して確立された全ての変換を選択しかつ処理したかどうかを判定する（４０６）。全ての変換を選択および処理していない場合、動作（４０２）を、（４０６）を介して繰り返す。全ての変換を選択および処理すると、各変換により作成されたビットを所定の順序で連結し、人名を表現する第１のバイナリハッシュコードを作成する（４０８）。
【００２０】
ここで、上述のセマンティックオブジェクトの特徴付けおよび検索の態様について、以下の章でより詳細に説明する。
【００２１】
１．１  特徴ベクトル
同一のセマンティックオブジェクトの２つの表現／ビューを直接使用するのではなく、フォーマット、言語、文字体系などに関して独自の特徴表現を採用する。そのような独自の表現を取得するために、特徴ベクトルを各オブジェクトのビューごとに形成する。オブジェクトに適切な任意の特色付けの方法を採用して特徴ベクトルを生成することができる。例えば、人名の場合、文字ｎグラムを特徴として抽出しバイナリ化して、バイナリ特徴ベクトルを形成することができる。なお、利用可能な可能性のある特色付けの方法はこれだけではない。例えば、名前から抽出された音節を特徴として使用することも可能であり、特徴ベクトルをバイナリ化するのではなく実数で構成することもできる。主成分分析または任意の他の次元縮小技術を特徴ベクトルに対して使用することにより、低次元の表現を求めることも可能である。
【００２２】
2013521574.tif 000003
【００２３】
さらに特に、図５を参照すると、同性質の名前の各ペアにおけるそれぞれの名前を特徴抽出にかけ、名前を表現するバイナリ特徴ベクトルを作成する動作には、各言語それぞれについて、最初にその言語による所定数の名前から所定の特徴を抽出して、その言語に特有の特徴のセットを作成する動作（５００）が含まれる。次に、抽出された特徴について所定の順序を確立する（５０２）。次に、作成されている特徴ベクトルのビット位置を、確立された順序で各抽出された特徴と同等とみなす（５０４）。対象としている言語による同性質の名前の各ペアから前回選択されなかった名前を選択し（５０６）、対象としている言語に特有の特徴のセット内にある特徴に対応する、選択された名前に存在する所定の特徴のそれぞれを識別する（５０８）。そして、選択された名前の中に発見された特徴に対応するビット位置に第１の二進値を割り当て、かつ、選択された名前の中に発見されない特徴に対応するビット位置に第２の二進値を割り当てるように、選択された名前の特徴ベクトルを生成する（５１０）。次に、対象としている言語による同性質の名前の各ペアから、名前が選択され処理されたかどうを判定する（５１２）。名前が選択され処理されていないと判定された場合、動作（５０６）を、（５１２）を介して繰り返す。そうでない場合、対象としている言語について手続きは終了し、他方の言語による名前を処理する。
【００２４】
2013521574.tif 000004
【００２５】
一実装において、Ｋビットのハッシュ関数は、例えば、セマンティックオブジェクトの第１の表現またはビューにはｇ、セマンティックオブジェクトの第２の表現またはビューにはｈとすると、以下のようにＫ個の１ビットハッシュ関数で構成される。
【００２６】
【数１】
2013521574.tif 000005
【００２７】
【数２】
2013521574.tif 000006
【００２８】
後に説明するように、各１ビットハッシュ関数を、セマンティックオブジェクトを入力として取るように設計し、それを＋１または−１（または、同じように１または０）のどちらかにハッシュする。Ｋ個の１ビットハッシュ関数のそれぞれを用いてオブジェクトをハッシュし、ビットを１つに連結することにより、オブジェクトを表現するＫビットバイナリコードを作成する。セマンティックオブジェクトをバイナリコードとして表現することには、従来のハミング距離計算を使用して２つのバイナリ表現の間の類似度を判定することができるなど、多くの利点がある。後により詳細に説明するように、これにより検索をより速くより効率的に行い、特に大きなデータベースでは影響がある。
【００２９】
訓練データ内の同性質のオブジェクト（例えば、名前）間のハミング距離を最小化するハッシュ関数ｇおよびｈを求めることが課題である。より詳細には、同性質のオブジェクトで構成される訓練データから上述のＫ個の１ビットハッシュ関数を学習することが、タスクである。このタスクは以下の最適化問題として提示することができる。
【００３０】
【数３】
2013521574.tif 000007
【００３１】
これは、計算上簡素化された最小化の定式では、
【００３２】
【数４】
2013521574.tif 000008
【００３３】
となり、ここで、Ｎは同性質のオブジェクトのペアの数であり、ｘiは対象としている同性質のオブジェクト（例えば、英語バージョンの人名）の第１のビューについての特徴ベクトルであり、ｙiは対象としている同性質のオブジェクト（例えば、カンナダ語バージョンの人名）の他方のビューについての特徴ベクトルである。
【００３４】
加えて、ハッシュ関数は、制約として符号化されるある有利な特性を有することが望ましい。第一に、ハッシュ関数は、得られるバイナリハッシュコードの作成されたビットの内、約５０％が＋１となり、残りが−１となる、集約的な結果を出すことができる。以下の通りである。
【００３５】
【数５】
2013521574.tif 000009
【００３６】
かつ
【００３７】
【数６】
2013521574.tif 000010
【００３８】
さらに、有利なことに、得られるバイナリハッシュコードの作成されるビットは無相関である。従って、
【００３９】
【数７】
2013521574.tif 000011
【００４０】
かつ
【００４１】
【数８】
2013521574.tif 000012
【００４２】
ここで、
【００４３】
【数９】
2013521574.tif 000013
【００４４】
かつ
【００４５】
【数１０】
2013521574.tif 000014
【００４６】
である。
【００４７】
計算上さらに簡単に１ビットハッシュ関数を得るために、線形緩和を採用し、以下のようになる。
【００４８】
【数１１】
2013521574.tif 000015
【００４９】
かつ
【００５０】
【数１２】
2013521574.tif 000016
【００５１】
ここで、ＡおよびＢは変換を表す。
【００５２】
従って、最終的な形式では、最適化問題は以下のように定式化することができる。
【００５３】
【数１３】
2013521574.tif 000017
【００５４】
これは、さらに上述の集約される制約および無相関のビット制約を受け、ここで以下のように定式化することができる。
【００５５】
【数１４】
2013521574.tif 000018
【００５６】
かつ
【００５７】
【数１５】
2013521574.tif 000019
【００５８】
変換ＡおよびＢは、２つの異なる表現またはビュー（例えば、２つの異なる言語）による類似するオブジェクト（例えば、人名）が、Ｋビットのハッシュ関数によって類似するバイナリハッシュコードにマッピングされる、というものである。そのような変換を、上述の同性質のオブジェクト訓練セットおよび相関法を使用して、学習することが可能である。
【００５９】
一実施形態において、特徴ベクトルのグループのそれぞれの同性質のオブジェクトのペアを、同一のセマンティックオブジェクトの２つの表現またはビューとしてみなすことにより、正準相関分析（ＣＣＡ）を採用して変換ＡおよびＢを求めることが可能である。より詳細には、２つのビューを有する多変量データのサンプルを考えると、ＣＣＡは、２つのビューの予測の間の相関が最大になるように各ビューについて線形変換を求める。多変量データのサンプル
【００６０】
【数１６】
2013521574.tif 000020
【００６１】
を考える。ここで、
【００６２】
【数１７】
2013521574.tif 000021
【００６３】
および
【００６４】
【数１８】
2013521574.tif 000022
【００６５】
はオブジェクトの２つのビューである。
【００６６】
【数１９】
2013521574.tif 000023
【００６７】
かつ
【００６８】
【数２０】
2013521574.tif 000024
【００６９】
とする。ＸおよびＹを集約する、すなわち、ゼロ平均を持つと仮定する。ａおよびｂは２つの方向であるとする。すると、Ｘを方向ａに投影して、
【００７０】
【数２１】
2013521574.tif 000025
【００７１】
を得ることができる。ここで、
【００７２】
【数２２】
2013521574.tif 000026
【００７３】
である。同様に、Ｙを方向ｂに射影して射影関数
V={vi}Ni=1
を求める。ここで、
【００７４】
【数２３】
2013521574.tif 000027
【００７５】
である。ＣＣＡの目的は、射影関数ＵおよびＶを最大限に相関するように、方向のペア（ａ；ｂ）を求めることである。これを、以下の最適化問題を解決することにより達成する。
【００７６】
【数２４】
2013521574.tif 000028
【００７７】
上述の方程式１３の目的関数は、以下の一般固有値問題を解決することにより最大化可能である。
【００７８】
【数２５】
2013521574.tif 000029
【００７９】
【数２６】
2013521574.tif 000030
【００８０】
次の基底ベクトルは、基本制約の直交性を目的関数に加えることにより求めることができる。基底ベクトルの数はｍｉｎ｛Ｒａｎｋ（Ｘ），Ｒａｎｋ（Ｙ）｝程度に高くすることができるが、実際は、より少ない数の最初に生成された基底ベクトル（「最上」基底ベクトルと称する）を使用し、これは射影関数の相関がこれらのベクトルには高く、残りのベクトルには低いためである。加えて、最上基底ベクトルの内、方程式（１２）を順次最大化するものを採用し、上述の集約的および無相関のビット制約に適合させることが望ましい。この目的のため、ＡおよびＢを、ＣＣＡにより計算される第１のＫ個（Ｋ＞０（例えば、３２））の基底ベクトルとする。従って、ＡおよびＢは次のように表すことができる。
【００８１】
【数２７】
2013521574.tif 000031
【００８２】
かつ
【００８３】
【数２８】
2013521574.tif 000032
【００８４】
2013521574.tif 000033
【００８５】
上記を考慮して図６を参照すると、一実装において、同性質のセマンティックオブジェクトを表現する特徴ベクトルに基づき、第１の表現またはビューに対する所定数の変換と、第２の表現またはビューに対する同数の変換を確立する動作には、まず、ＣＣＡを使用して第１および第２の表現またはビューのそれぞれの候補の変換を計算する動作が含まれる（６００）。そして、第１の表現またはビューに対する第１の変換セットを、第１の表現またはビューについて計算された候補の変換から確立し、第２の表現またはビューに対する第２の変換セットを、第２の表現またはビューについて計算された候補の変換から確立する（６０２）。確立された変換は、セマンティックオブジェクトの同性質のペアごとに、第１の変換セットを、第１の表現またはビューを表すセマンティックオブジェクトの同性質のペアのセマンティックオブジェクトを表現する特徴ベクトルに適用し、かつ、第２の変換セットを、第２の表現またはビューを表すセマンティックオブジェクトの同性質のペアのセマンティックオブジェクトを表現する特徴ベクトルに適用すると、セマンティックオブジェクトの同性質のペアの全てについて作成され、結果と生じる第１および第２のバイナリハッシュコードの間の総ハミング距離を最小化するようにする。加えて、第１の変換セットを、作成される第１のバイナリハッシュコードのビットのほぼ半分が第１の二進値を表し、かつ残りのビットが他方の二進値を表すという制約を示すように確立する。同様に、第２の変換セットを、作成される第２のバイナリハッシュコードのビットのほぼ半分が第１の二進値を表し、かつ残りのビットが他方の二進値を表すという制約を示すように確立する。さらに、第１の変換セットを、作成される第１のバイナリハッシュコードのビットが無相関であるという制約を示すように確立し、かつ、第２の変換セットうぃ、作成される第２のバイナリハッシュコードが無相関であるという制約を示すように確立する。
【００８６】
１．３  バイナリハッシュコードの生成
同性質のオブジェクト訓練ペアから計算された変換ＡおよびＢを、１ビットハッシュ関数として採用し、変換を作成するために使用される表現／ビュー（例えば、言語）に関連するセマンティックオブジェクト（例えば、人名）を表現する特徴ベクトルから、バイナリハッシュコードを作成する。従って、上述の例において、Ａを使用して、人の英語での名前を表現する特徴ベクトルからバイナリハッシュコードを作成することができ、Ｂを使用して、人のカンナダ語での名前を表現する特徴ベクトルからバイナリハッシュコードを作成することができる。
【００８７】
2013521574.tif 000034
【００８８】
2013521574.tif 000035
【００８９】
【数２９】
2013521574.tif 000036
【００９０】
ここで、
【００９１】
【数３０】
2013521574.tif 000037
【００９２】
の時、
【００９３】
【数３１】
2013521574.tif 000038
【００９４】
【数３２】
2013521574.tif 000039
【００９５】
ここで、
【００９６】
【数３３】
2013521574.tif 000040
【００９７】
の時、
【００９８】
【数３４】
2013521574.tif 000041
【００９９】
2013521574.tif 000042
【０１００】
【数３５】
2013521574.tif 000043
【０１０１】
なお、バイナリ化ｓｇｎ関数は、必要に応じて、ｊ＜０の時に−１値の代わりに０ビット値を返すことができる。
【０１０２】
２．０  ディレクトリのインデックス化および検索
上述の様式で作成される各バイナリハッシュコードは、ハッシュコードの作成に使用される変換に関連する表現またはビュー（例えば、言語）によるセマンティックオブジェクト（例えば、人名）のデータベースディレクトリに、加えることができる。これにより、検索可能なデータベースを作成するが、このデータベースおいては、データベース内の項目が第１の表現またはビューを表すセマンティックオブジェクトであり、第２の表現またはビューを表すセマンティックオブジェクトを、該検索可能なデータベースに対して検索クエリとして提示すると、検索クエリのセマンティックオブジェクトに対応する、データベースからの任意のセマンティックオブジェクトの識別を含む出力が行われる。
【０１０３】
上記は、最初にデータベースのディレクトリをインデックス化することにより達成することができる。一般に、セマンティックオブジェクトのディレクトリ（例えば、人名のディレクトリ）を前提とすると、一実施形態において、以下のようにインデックス化が可能である。まず、ディレクトリ内のリストアップされた各オブジェクトについて、その特徴ベクトルを上述のように形成する。次に、対になった２つの表現／ビュー（例えば、英語−カンナダ語）の内のディレクトリの特定の表現／ビュー（例えば、英語）に対して展開されたＫビットハッシュ関数を、各オブジェクトについてＫビットバイナリコードを計算するために使用する。このハッシュ関数は、他方の表現／ビュー（例えば、カンナダ語）のバイナリコードの計算に使用される随伴する関数を有する。そして、各オブジェクトのリストを、オブジェクトに関連するオブジェクトのバイナリコードと共に、キーとしてハッシュテーブルに挿入する。
【０１０４】
より詳細には、図７を参照すると、第１の表現またはビュー用に確立された変換を使用して、第１の表現またはビューを表す、データベースに含まれるセマンティックオブジェクトを、該セマンティックオブジェクトを表現する第１のバイナリハッシュコードの形式で特徴付ける（７００）。なお、本手続きの一実装を、図２およびそれに付随する説明において概説する。次に、データベースに含まれるセマンティックオブジェクトを特徴付ける第１のバイナリハッシュコードを、データベース内の対応するセマンティックオブジェクトにそれぞれ関連付ける（７０２）。図８を参照すると、一実装において、この最後の動作には、まず、データベースに含まれるセマンティックオブジェクトに対応するデータベースディレクトリのエントリを有するハッシュテーブルを確立する動作（８００）が含まれる。次に、データベースに含まれるセマンティックオブジェクトそれぞれを特徴付ける第１のバイナリハッシュコードを、ハッシュテーブルに追加し（８０２）、それぞれを、ハッシュテーブル内のその対応するデータベースディレクトリエントリに関連付ける（８０４）。
【０１０５】
ディレクトリ内のセマンティックオブジェクトのリストを、上述のようにインデックス化すると、ディレクトリはクエリを使用した検索が可能となる。このクエリは、表現／ビューのどちらか（例えば、英語またはカンナダ語）とすることができる。より詳細には、クエリを入力し、クエリの表現／ビューに適切な手続きを使用して、最初に特徴ベクトルをクエリから生成する。次に、クエリの表現／ビューに対して当てられるＫビットハッシュ関数を使用して、クエリの特徴ベクトルからＫビットバイナリコードを計算する。次に、ハッシュテーブル内の各キーに対するクエリのＫビットバイナリコードの類似度を計算する。なお、クエリが、ディレクトリのインデックス化に使用されるＫビットハッシュ関数に関連する同一の表現またはビュー（例えば、英語）である上記の例においては、これは、単一言語による検索と等しく、スペル訂正の目的に有用である。
【０１０６】
上記を考慮して図９を参照すると、一実装において、検索クエリを上述の第２の表現またはビューを表すデータベースに入力すると（９００）、該検索クエリを表現する特徴ベクトルが生成される（９０２）。そして、第２の表現またはビューに対して確立された変換の内の前回選択されなかった変換を選択する（９０４）。選択された変換を、検索クエリの特徴ベクトルに適用し、その結果をバイナリ化し、検索クエリを表現する第２のバイナリハッシュコードのビットを作成する（９０６）。次に、全ての変換を選択したかどうかを判定する（９０８）。全ての変換を選択していない場合、動作（９０４）を、（９０８）を介して繰り返す。全ての変換を選択しかつ適用すると、変換により作成されたビットを、所定の順序で連結し、検索クエリを表現する第２のバイナリハッシュコードを作成する（９１０）。次に、検索クエリを表現する第２のバイナリハッシュコードに対して所定の類似度を表す第１のバイナリハッシュコードを有する、データベースに含まれるセマンティックオブジェクト（単数または複数）を発見する（９１２）。検索クエリを表現する第２のバイナリハッシュコードに対して所定の類似度を表すことが発見された第１のバイナリハッシュコードを有する、一致するセマンティックオブジェクト（単数または複数）の識別を出力する（９１４）。
【０１０７】
なお、類似度には任意の適切な測定値を採用することが可能であるが、一実装において、ハミング距離を測定値として使用する。ハミング距離を使用することは、クエリおよびインデックスキーの両方がバイナリコードであるため、適切であり、ハミング距離を使用して、素早くかつ容易に２つのバイナリコードを比較することが可能である。ディレクトリ内のセマンティックオブジェクトおよびクエリをバイナリコードとして表現すること、ならびに、ハミング距離を類似度の測定値として使用することには、かなりの利点がある。ディレクトリ内に数百万のオブジェクトをリストアップする場合でも、ハミング距離をクエリと各キーの間で別々に計算する総当たりの比較を採用することが可能であり、全体の手続きに１秒かからないであろう。従って、ディレクトリの検索は速く、別段必要が無い限り、より高機能の類似度測定値および比較の方法を採用する必要はない。次に、クエリと各キーの間で計算される類似度を、最も近接するマッチングキー（単数または複数）の識別に使用する。一実装において、最も近接したマッチングキーだけを識別する（または、関連がある場合は最も近接する複数のマッチングキー）。しかし、代替の実装において、クエリに対する類似度が類似閾値と交差する全てのキーを識別する。なお、ハミング距離の場合、距離が所定の距離以下である全てのキーを識別することができる。閾値は、関係するセマンティックオブジェクトのタイプおよび検索に求められる精度に依存する。一実装において、類似閾値を、上位の５から１０個の結果が識別されて出力されるように、設定することができる。
【０１０８】
３．０  複数部分オブジェクトの特徴付けおよび検索
ここまで、本明細書に記載されるセマンティックオブジェクトの特徴付けでは、単一部分セマンティックオブジェクトの特徴付けを扱っている。例えば、単一の単語から成る名前などである。しかし、これを拡張させて、複数の単語から成る名前などの、複数部分オブジェクトを扱うことができる。一般的な例としては、人の姓と名がある。これは２つの単語から成る名前を構成する。人名を探してディレクトリを検索する場合、そのフルネームの使用を有利とすることができる。
【０１０９】
一実装において、オブジェクトを構成する複数の部分を、それらの部分を組み合わせることによる単一の部分オブジェクトと見なすことができる。例えば、人の姓と名は簡単に１つの単語に組み合わせ、その形式で特徴付けすることが可能である。複数の部分オブジェクトが組み合わされて、複数の部分クエリを用いて単一の部分形式で特徴付けされる、ディレクトリにおける検索を実行するためには、そのクエリの部分を、特徴付けおよびサブミットする前に組み合わせる。
【０１１０】
しかし、代替の実施形態において、複数の部分セマンティックオブジェクトの各部分を、特徴付けし、別々にインデックス化する。そして、複数の部分オブジェクトのクエリの個々の部分を別々に特徴付けし、各部分について戻される類似度測定値を組み合わせて全体の類似度測定値を作成する。一実装において、これを、複数部分オブジェクトのクエリの各部分について戻される類似度測定値から重み付き二部グラフを構築することにより達成する。
【０１１１】
図１０を参照すると、この後者の実施形態の一実装において、複数のセマンティックオブジェクトから構成される検索クエリを入力する（１０００）。次に、上述した図９の手続きを、検索クエリの複数のセマンティックオブジェクトのそれぞれに対して実行する。従って、検索クエリ内の各セマンティックオブジェクトに対して、一致するセマンティックオブジェクト（単数または複数）の識別を出力する（１００２）。次に、重み付き二部グラフを構築する（１００４）。このグラフでは、検索クエリのセマンティックオブジェクトのそれぞれが、第１のノードセットを形成し、また、検索クエリのセマンティックオブジェクトのそれぞれに対して出力され識別された一致するセマンティックオブジェクト（単数または複数）が、第２のノードセットを形成する。加えて、第１のノードセットに関連する各セマンティックオブジェクトと、第２のノードセットに関連するセマンティックオブジェクトとの間には、それらのセマンティックオブジェクトバイナリハッシュコードに基づく該セマンティックオブジェクト間の計算された類似度が閾値と交差する場合に、エッジを割り当てる。エッジの重みを、エッジが接続するノード間の類似度と等しく設定する。グラフを構築すると、グラフにおける最大重み付き二部グラフマッチングを求め（１００６）、このマッチングの重みを計算する（１００８）。次に、マッチングの重みを、第１のノードセットと第２のノードセットの間のノード数の差に基づき正規化する（１０１０）。
【０１１２】
2013521574.tif 000044
【０１１３】
ｗをグラフＧにおける最大重み付き二部マッチングの重みとする。ＥとＨとの間の類似度は、以下のように定義することができる。
【０１１４】
【数３６】
2013521574.tif 000045
【０１１５】
方程式（３６）の右辺の分子には、かなりの数の高品質のマッチングを個々のレベルで有する名前のペアが好ましく、一方、分母は不均衡な長さを有するペアには不利に働く。
【０１１６】
なお、実際は、ＩとＪは両者とも小さく、従って最大重み付き二部マッチングは非常に簡単に求めることができる。さらに、二部グラフにおける最大のエッジの重みは無視できるほど小さい。従って、実際には貪欲マッチングアルゴリズムでも十分である。
【０１１７】
４．０  コンピューティング環境
ここで、本明細書に記載されるセマンティックオブジェクトの特徴付けおよび検索の実施形態の一部を実装することができる、適切なコンピューティング環境の簡単な概要について説明する。技術的な実施形態は、多数の汎用または専用のコンピューティングシステム環境または構成を用いて操作可能である。適切な周知のコンピューティングシステム、環境、および／または、構成の例に含まれるものには、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップの装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたは装置の内のいずれかを含む分散コンピューティング環境、などがあるが、これに限定しない。
【０１１８】
図１１には、適切なコンピューティングシステム環境の例を示す。コンピューティングシステム環境は、適切なコンピューティング環境の単なる一例にすぎず、本明細書に記載される実施形態の使用または機能性の範囲について任意の制限を示唆することを意図しない。また、コンピューティング環境は、例示の動作環境において例示される構成要素の内の任意の１つまたは組み合わせに関する任意の依存性または要件を有するものとして解釈されるべきでもない。図１１を参照すると、本明細書に記載される実施形態を実装するための一例のシステムには、コンピューティング装置１０などのコンピューティング装置を含む。最も基本的な構成において、コンピューティング装置１０には典型的には、少なくとも１つの処理装置１２およびメモリ１４を含む。コンピューティング装置の厳密な構成およびタイプに依存して、メモリ１４は揮発性（ＲＡＭなど）、不揮発性（ＲＯＭ、フラッシュメモリなど）またはその２つの何らかの組み合わせとすることができる。この最も基本的な構成を、図１１に点線１６で示す。加えて、装置１０は、追加の特徴／機能性を有することができる。例えば、装置１０は、磁気また光のディスクまたはテープを含むがこれに限定されない追加の記憶装置（着脱可能および／または着脱不能）を含むことができる。そのような追加の記憶装置を、着脱可能記憶装置１８および着脱不能記憶装置２０により図１１に示す。コンピュータ記憶媒体には、揮発性および不揮発性、着脱可能および着脱不能の、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータなどの情報を記憶するための任意の方法または技術で実装される媒体を含む。メモリ１４、着脱可能記憶装置１８、および着脱不能記憶装置２０は、全てコンピュータ記憶媒体の例である。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、もしくは他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）もしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または、所望の情報の記憶に使用可能、かつ、装置１０がアクセス可能な任意の他の媒体、を含むがこれに限定しない。任意のそのようなコンピュータ記憶媒体は装置１０の一部とすることができる。
【０１１９】
装置１０はまた、装置と他の装置との通信を可能にする通信接続（単数または複数）２２を含むことができる。装置１０はまた、キーボード、マウス、ペン、音声入力装置、タッチ入力装置、カメラ、などの入力装置（単数または複数）２４を有しても良い。ディスプレイ、スピーカ、プリンタなどの出力装置（単数または複数）２６を、含むことができる。これらの装置全ては、従来技術において周知であり、ここで詳細に検討する必要はない。
【０１２０】
本明細書に記載されるセマンティックオブジェクトの特徴付けおよび検索の実施形態は、プログラムモジュールなどの、コンピューティング装置により実行されるコンピュータ実行可能命令の一般的な文脈でさらに説明することができる。一般に、プログラムモジュールには、特定のタスクを実行または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造など、を含む。本明細書に記載される実施形態はまた、タスクを通信ネットワークを介してリンクされるリモート処理装置により実行する分散コンピューティング環境において実践することができる。分散コンピューティング環境において、プログラムモジュールを、メモリ記憶装置を含むローカルおよびリモート両方のコンピュータ記憶媒体に配置させることができる。
【０１２１】
５．０  他の実施形態
セマンティックオブジェクトと表現またはビューとの、上で説明した名前−言語の例以外のある他の例には、セマンティックオブジェクトがユーザによりクエリされるエンティティであり、２つの表現またはビューがこのエンティティに関連するウェブページからの画像特徴とテキスト特徴であるという場合を含む。従って、同一のセマンティックオブジェクトについて、マルチモーダル検索の操作を向上させるために使用可能な２つのビューが存在する。別の例は、セマンティックオブジェクトが文書であり、２つの表現またビューが第１の言語による文書と第２の言語による文書である場合である。２つの言語による配列された同性質の文書のセットからハッシュ関数を学習後、ハッシュ関数を使用してどちらかの言語による文書コレクションをクロス言語検索することが可能である。さらに別の例には、セマンティックオブジェクトが単語であり、その２つのビューがその単語の文字配列と音素配列であるものがある。発音辞書からハッシュ関数を学習後、該ハッシュ関数を使用して、テキスト中の未知語を探して辞書における最も近い音素配列を検索することができる。
【０１２２】
本記載全体にわたる、上述の実施形態の内のいずれかまたは全てを、所望の任意の組み合わせで使用して追加の混合実施形態を形成することができる。加えて、主題は、構造的特徴および／または方法論的動作に特有の言語で記載されたが、添付の請求項に定義される主題が、必ずしも上述の特定の特徴または動作に限定されないことは理解されるべきである。むしろ、上述の特定の特徴および動作は、請求項を実装する例示の形式として開示される。
【図１】
2013521574.tif 000046
【図２】
2013521574.tif 000047
【図３】
2013521574.tif 000048
【図４】
2013521574.tif 000049
【図５】
2013521574.tif 000050
【図６】
2013521574.tif 000051
【図７】
2013521574.tif 000052
【図８】
2013521574.tif 000053
【図９】
2013521574.tif 000054
【図１０】
2013521574.tif 000055
【図１１】
2013521574.tif 000056
【国際調査報告】
2013521574.tif 000057
2013521574.tif 000058