(81)【指定国】
AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JP,KE,KG,KN,KP,KR,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT,TZ,UA,UG,US
ユーザが所望する文書を識別するシステムが概説される。埋め込み空間内の文書のカタログを識別するデータベースが提供される。前記データベースは、前記埋め込み空間内の文書の各対の間の相違点の所定の尺度に対応する、前記文書の各対の間の距離を識別する。本システムは、前記埋め込み空間の一部である最初の候補空間から、ユーザに向けて、文書の最初の収集物を提示する。本システムは、次に、ユーザによる相対的フィードバックに応答して決定される前記埋め込み空間上の幾何学的制約を用いて、前記候補空間を精緻化する。各繰り返しにおいて、本システムは、ユーザに向けて、当時最新の候補空間から文書の部分集合を識別する。ユーザは、当該識別に基づいて、相対的フィードバックを提供する。一実施形態では、当該文書の部分集合は、前記当時最新の候補空間内の同様の集合の平均的な識別力よりも強い識別力を有する。
【発明を実施するための形態】
【0024】
以下の説明は、当業者が本発明を作製し、使用できるように提示され、特定の応用とその要件との関連で提供される。開示される実施形態の種々の変形は、当該当業者にとって容易に明白であり、そこに規定される一般的な原理は、本発明の技術思想及び技術的範囲から逸脱することなく他の応用及び実施形態に対して適用可能である。よって、本発明は、開示される実施形態に限定されることを意図するものではなく、ここに開示する原理及び特徴と整合する最も広い技術的範囲が許容される。
【0025】
本発明の実施形態において、システムは、幾つかの側面を有することができ、異なる実施形態は、それらの側面の全てを備える必要はない:1)最初の問い合わせを生成するモジュール、2)該最初の問い合わせを満足する一連の候補結果を取得するモジュール、3)候補結果間の距離或いは類似性を決定するモジュール、或いは、ベクトル空間に候補結果を埋め込むモジュール、4)候補結果の識別力のある集合を補助選択(sub-select)するモジュール、5)2次元内に候補結果を配置するモジュール、6)候補結果に関するユーザ入力を取得するモジュール、7)3の埋め込みまたは距離の尺度(measure)に関する幾何学的或いは距離の制約として符号化された該ユーザ入力に係る情報を組み込むために検索問い合わせを精緻化するモジュール、8)最初の問い合わせとユーザ入力から蓄積された該幾何学的或いは距離の制約を満足する一連の候補結果を繰り返し取得するモジュール。
【0026】
図8は、本発明に係るシステムの実施形態の種々の構成要素を示すブロック図である。該図は、埋め込みモジュール820を含む。埋め込みモジュール820は、埋め込み空間内へのソース文書の埋め込みを計算し、該文書の識別に関連して、文書カタログデータベース816内に埋め込み情報を書き込む。ユーザ相互作用モジュール822は、問い合わせ及び問い合わせ精緻化入力(例えば、関連性のあるフィードバック(relevance feedback))をユーザから受け取り、それらを問い合わせ処理モジュール824に提供する。一実施形態では、ユーザ相互作用モジュール822は、コンピュータ端末を含み、他の実施形態では、ユーザ相互作用モジュール822は、システムが外部のコンピュータ端末とそれを介して通信を行う特定のネットワーク接続部材だけを備える。問い合わせ処理モジュール824は、該問い合わせを、埋め込み空間上の幾何学的制約として解釈し、該幾何学的制約を満足する一連の候補文書を作り上げるために該カタログを狭めるか、さもなければ修正する。これらは、候補空間データベース826内に書き込まれる。ここで使用される候補空間は埋め込み空間でもあり、例えば、カタログ816の埋め込み空間の一部を構成してもよい。幾つかの実施形態では、問い合わせ処理モジュールは、また、埋め込み空間内で該候補文書の再埋め込みを実行してもよい。そして、識別力選択モジュール828は、候補空間826から識別力のある一連の文書を選択し、それらをユーザ相互作用モジュール822を介してユーザに提示する。そして、ユーザ相互作用モジュール822は、ユーザから更に精緻化された問い合わせを受け取るのもよい。尚、精緻化された問い合わせは、上述のように取り扱われる。或いは、ユーザ相互作用モジュール822は、ユーザのコミット(確約)表示を受け取るのもよい。この場合、システムは、ユーザの選択した文書に関する或る動作830、例えば、ユーザに対して該文書を開く、更なる検索の精緻化を行う、ユーザの選択した文書により表された製品の注文として該文書を処理する、ユーザの選択した文書により表されたディジタル製品の配送の注文として該文書を処理する、ユーザの選択した文書により表された製品を製造或いは配達されるための注文として該文書を処理する、或いは、ユーザの選択した文書により表されたディジタル・コンテンツを他人と共有するための要求として該文書を処理する等の動作を行う。
【0027】
ここで留意すべきは、幾つかの実施形態では、ユーザの精緻化入力は、候補空間上の更なる幾何学的制約を要求しなくてもよく、寧ろ、ユーザに提示するために現行の候補空間826から異なる識別力のある一連の文書の選択だけを伴ってもよい点である。また、種々の実施形態では、候補空間データベースは、別個のデータベースとして導入されていなくてもよく、寧ろ、文書カタログデータベース816と種々の方法で結合されていてもよい。また、幾つかの実施形態では、候補空間は、物理的より寧ろ含まれていてもよい。
【0028】
図9は、本発明に係るシステムが処理する種々のロジック段階を示すフローチャートである。最初に、ステップ910において、ディジタル文書(本開示で使用されるものは、画像、テキスト、ウェブページ、カタログ記入、及び、文書の部分等が含まれる)のカタログが埋め込み空間に埋め込まれ、データベース内に保存される。該文書のグループは、本開示では「カタログ」と呼ばれるが、該用語の使用は、該文書のグループが、小売店が提供するタイプのカタログに掲載されているかもしれない文書のグループに限定することを意図するものではない。該データベース内では、距離は、埋め込み空間内の文書の各対の間で識別され、当該文書の各対の間の相違点の所定の尺度(measure)に対応している。ステップ912において、最初の問い合わせが、該問い合わせ結果を満足する文書の最初の候補空間を生成するために、随意的に処理される。該最初の問い合わせは、例えば、通常のテキストによる問い合わせであってもよい。該最初の候補空間は、該文書のカタログの全範囲内にあり、随意的に、該全範囲よりは小さい。ステップ913において、ディジタル文書の最初の収集物が、該最初の候補空間から抽出される。該文書の最初の収集物は、該最初の候補空間の部分集合である。(本開示で使用される用語「部分集合」は、「適切な」部分集合のみを、そのように呼ぶ。) 以下の反復検索処理の便宜的な記載において、該最初の候補空間は、時々、“i=0”候補空間と呼ばれる場合がある。同様に、該文書の最初の収集物は、時々、“i=0”収集物と呼ばれる場合がある。一実施形態では、該文書の最初の収集物は、該カタログの識別力のある部分集合として選択されるが、別の実施形態では、該文書の最初の収集物は、識別力がない。ステップ914において、該文書の最初の収集物が、ユーザに向けて識別される。一実施形態では、該処理は、該最初の収集物内の文書の説明を、ユーザに対して可視的に表示することを含む場合がある。
【0029】
ステップ915において、反復検索処理が開始される。本開示では、説明の便宜上、繰り返しは、繰り返し1から始まる番号が連続的に付され、一般的に、各繰り返しは、繰り返し番号「i」で表される。時折、0番目の繰り返しに言及する場合があるが、それは、“i=0”候補空間及び“i=0”文書の収集物を参照している。
【0030】
i番目の繰り返しの開始前、ユーザには、前の繰り返し(i−1)からの文書の収集物が提示される。i=1の場合、該文書の収集物は、ステップ914からの該文書の最初(i=0)の収集物である。i>1の場合、該文書の収集物は、前の繰り返しのステップ923でユーザに提示された(i−1)番目の文書の収集物である。
【0031】
i番目の繰り返しの開始時に、ステップ916において、ユーザは、(i−1)番目の文書の収集物内の文書に関して相対的フィードバックを提供する。好ましくは、該相対的フィードバックは、(i−1)番目の収集物から該文書の部分集合をユーザが選択するという形をとる。但し、文書の選択は、ユーザがその文書が、検索目標に対して、(i−1)番目の収集物から選択しなかった文書より、関連性があると考えているということを示唆する。i番目の繰り返しにおいて選択された部分集合は、本開示では、i番目の選択部分集合と称され、選択されなかった(i−1)番目の収集物から文書は、時々、集合的に、i番目の非選択部分集合と称される。
【0032】
ステップ918において、本開示の他の箇所で説明される方法で、一連の幾何学的制約を、該相対的フィードバックから抽出する。i番目の繰り返しで抽出された該一連の幾何学的制約は、i番目の一連の幾何学的制約と称される。
【0033】
ステップ920において、該i番目の一連の幾何学的制約は、i番目の候補空間を形成するために、該埋め込み空間に適用される。そして、ステップ922において、i番目の候補文書の収集物が、該i番目の候補空間内の文書の部分集合として選択される。一実施形態では、該i番目の文書の収集物は、該i番目の候補空間内の識別力のある部分集合として選択されるが、別の実施形態では、該i番目の文書の収集物は、識別力がない。ステップ923において、該i番目の文書の収集物が、任意の更なる精緻化のために、ユーザに向けて提示される。ステップ924において、ユーザが候補結果の一つに満足した場合、ユーザはその結果に対するコミットを表示する。ユーザ入力が更なる精緻化を示す場合は、本ロジックは、検索ループの次の繰り返しのために、ステップ915に戻る。そうでない場合、ステップ926において、システムは、ユーザが選択した文書に関する動作を行う。
【0034】
ここで留意すべきは、少なくともステップ910,912,914は任意の順で起こり得る点である。一実施形態では、ステップ910が、バックグラウンドで、その余のステップとは分離して連続的に発生し、そして、その余のステップとは非同期に、埋め込み空間内の文書カタログを更新する。
【0035】
一般的に言って、
図9のロジックは、この中の全てのシーケンス及びフローチャートと同様、コンピュータシステムにアクセス可能なメモリに格納されたコンピュータプログラムを用いてプログラムされた該プロセッサを用いて実施可能であり、また、該プロセッサにより、フィールドプログラマブル集積回路を含む専用ロジックハードウェアにより、或いは、専用ロジックハードウェアとコンピュータプログラムの組み合わせにより実行可能である。該フローチャートの各ブロック、或いは、ロジックシーケンスの各段階は、ハードウェア或いはソフトウェアによって実施可能なロジックが、1以上のコンピュータシステム上で実行される1以上の演算処理を実施することを記述している。一実施形態では、該フローチャートの各ブロック、或いは、ロジックシーケンスの各段階は、ソフトウェアの個々のモジュールの機能を図解または記述している。別の実施形態では、該ステップのロジックは、2以上のモジュールに亘って分配されたソフトウェア・コード・ルーチンにより実行される。更に、本開示で使用される用語として、“モジュール”は、1以上の“サブモジュール”を含むことができ、該サブモジュール自体は、本開示では、“モジュール”を構成するものと見做される。本開示の全てのフローチャート及びロジックシーケンスと同様、該ステップの多くが、達成される機能に影響することなく、結合され、並列に実行され、或いは、別の順序で実行され得ることが分かる。幾つかのケースでは、該ステップの再配置が、或る別の変化が同様に生じる場合に限り、同じ結果を達成し得ることを、読者は分かるであろう。他のケースでは、該ステップの再配置が、或る条件が満たされる場合に限り、同じ結果を達成し得ることを、読者は分かるであろう。更に、本開示のフローチャート及びロジックシーケンスは、本発明の理解に役に立つ側面のみを表示していると分かる。また、特定の実施形態では、その実施形態のための他の機能を達成するための種々の追加的なステップが、開示されたステップの前、後、或いは間に実行し得ると理解できる。
【0036】
幾つかの実施形態では、新規或いは更新された制約の開発或いは保守がモバイル機器上で実行され、埋め込み空間内の文書カタログは、Wi−Fi(無線LAN)または携帯電話データリンクまたはその両者を含むネットワークによって該モバイル機器から分離したサーバ上に維持される。該全体的な配置は、(本開示の他の箇所で記載するその変形例を伴い)
図9のステップを依然として実行するが、該配置は、該2つのノード間における特有の極めて有利な機能の配分を具体化する。特に、本開示の他の箇所で指摘されているように、サーバではなく、電話やタブレット等のモバイル機器上で、制約管理の実行を可能にするには、該制約を維持し更新するのに必要なメモリ及び演算リソースは、十分に最小限である。
【0037】
図18は、本発明に係るシステムの斯かるモバイル機器の実施形態の種々の構成要素を示すブロック図である。当該実施形態では、サーバ1810は、そこへアクセス可能に、埋め込み空間に予め組み込まれた文書カタログ1816を有する。サーバ1810は、また、文書カタログ1816へのアクセスを有する候補空間識別モジュール1824を含む。該候補空間識別モジュールは、最初の問い合わせ、及び、当時最新の一連の制約を、文書カタログ1816内の文書に対して適用することよって、検索の各繰り返しにおいて候補空間を決定する。結果として生じた候補空間は、一時的に、候補空間データベース1826内に保存される。或る実施形態では、該候補空間データベースは、現実に存在する文書ではなく、文書カタログ1816内の文書に対するポインターを含む。サーバ1810は、また、識別力のある選択モジュール1828を随意的に含む。該識別力のある選択モジュール1828は、モバイル機器1812に送信するための候補空間1826からの識別力のある文書の収集物を選択する。
【0038】
モバイル機器1812は、ユーザ相互作用モジュール1822を含み、該ユーザ相互作用モジュール1822は、各繰り返しにおいてユーザに対して文書の収集物を提示し、該収集物に関するユーザのフィードバックを受け取る。ユーザ相互作用モジュール1822は、該ユーザのフィードバックを、制約データベース1834の中身を管理する制約管理モジュール1832に転送する。ユーザ相互作用モジュール1822がユーザのコミット(確約)表示を受け取った場合は、ユーザ相互作用モジュール1822は、
図8に関連して本開示の他の箇所で説明した動作等のユーザが選択した文書に関する或る動作を行う動作モジュール1830に通知する。
【0039】
図17は、一実施形態における制約データベース1834の内容を示す図である。制約データベース1834は、ラストイン・ファーストアウト・スタックを含み、該ラストイン・ファーストアウト・スタック内の各レベルは、検索の夫々の繰り返しに対応している。各i番目のレベルは、ユーザに提示された文書の収集物を見ることに応答したフィードバックのユーザのi番目の繰り返しから結論として生じた幾何学的制約を識別するための十分な情報を格納する。一実施形態では、検索の各繰り返しに対して効力のある全ての制約は、その繰り返し用のスタック・エントリーに記述されている。制約が累積的である別の実施形態では、各繰り返しで加えられた一連の制約だけが、その繰り返し用のスタック・エントリーに記述され、そのスタック・エントリーに適用可能な全ての他の制約は、その前の繰り返しに対応するスタック・エントリー内にそれらが存在することにより含まれている。一般的に言えば、各スタック・エントリーは、対応する繰り返しにおいて適用可能な一連の制約を“識別”する。
【0040】
図17の実施形態では、各i番目の繰り返し用のスタック・エントリーは、2つのフィールドのみを備え、1つ目のフィールド1710は、ユーザに提示された文書の収集物からユーザが選択したi番目の繰り返しの文書の全てを識別し、2つ目のフィールド1712は、i番目の繰り返しでユーザに提示されたが、ユーザが選択しなかった文書の全てを識別する。第1のフィールド1710で識別される文書は、本開示において時々、文書のi番目の選択部分集合と称され、第2のフィールド1712で識別される文書は、本開示において時々、ユーザが文書の収集物から選んだ文書のi番目の非選択部分集合と称される。該i番目の選択部分集合のユーザ選択は、選択した文書の方が、該i番目の非選択部分集合内の文書より、目標に対してより関連性があると、ユーザが考えていることを示唆している。
【0041】
図17の実施形態では、図解を明瞭にするために、各繰り返しにおいて、3つの文書だけがユーザに提示され、そして、ユーザは、それらの中の1つだけを選択する場合を想定する。繰り返し1では、文書A,B,Cがユーザに提示され、ユーザは文書Aを選択した。繰り返し2では、文書D,E,Fがユーザに提示され、ユーザは文書Dを選択した。繰り返し3では、文書G,H,Iがユーザに提示され、ユーザは文書Gを選択した。繰り返し4では、文書J,K,Lがユーザに提示され、ユーザは文書Jを選択した。システムは、該スタックの対応するレベル内で識別された文書の各対に対して、個別の幾何学的制約を規定するために、各エントリーを解釈する。但し、該対の一方の文書は、第1のフィールド1710内で識別され、該対の他方の文書は、第2のフィールド1712内で識別される。よって、該スタックのレベル1は、対(A,B)を用いて1つの制約を規定し、対(A,C)を用いて別の制約を規定する。該スタックのレベル2は、対(D,E)を用いて1つの制約を規定し、対(D,F)を用いて別の制約を規定する。以下、同様である。実際の制約は、該制約を満足するために、候補文書Xが、埋め込み空間内において、該対の第2文書に対するより、該対の第1文書に対して、より近接しなければならないというものである。よって、該スタックのレベル1は、候補文書Xは、埋め込み空間内において、文書Bに対するより、文書Aに対して、より近接しなければならず、更に、埋め込み空間内において、文書Cに対するより、文書Aに対して、より近接しなければならないことを規定する。当該制約は、本議論のために、以下のように簡潔化される。
d(X,A)<d(X,C)且つd(X,A)<d(X,B)、
但し、‘d’は埋め込み空間内における距離を意味する。同様に、該スタックのレベル2は、候補文書Xは、埋め込み空間内において、文書Eに対するより、文書Dに対して、より近接しなければならず、更に、埋め込み空間内において、文書Fに対するより、文書Dに対して、より近接しなければならないことを規定する。当該制約は、本議論のために、以下のように簡潔化される。
d(X,D)<d(X,F)且つd(X,D)<d(X,E)、
以下、同様である。第1のフィールド1710が、繰り返しiにおいてPi個の文書を識別し、第2のフィールド1712が、繰り返しiにおいてQi個の文書を識別した場合、各繰り返しiの内容によって、全部でPi×Qi個の制約が、第1のフィールド1710内の文書と第2のフィールド1712内の文書の各組み合わせに対して1つずつ、規定されることが分かる。各繰り返しにおいて追加される制約を表現する別の方法が利用できることは、別の実施形態において分かるであろう。
【0042】
図16は、
図18の実施形態におけるモバイル機器とサーバ間を通るメッセージの主要なタイプを示す図である。該実施形態では、モバイル機器1812は、サーバ1810に対してクライアントの役割を果たす。モバイル機器1812は、ユーザとの相互作用を管理し、制約データベース1834内の制約の更新及び維持を行う。サーバ1810は、カタログを維持するが、ユーザの検索に係る状態は保持しない(尚、サーバ1810は、該状態を後のオフライン処理のために記録してもよい。)
【0043】
最初に、ボックス1610において、モバイル機器1812は、ユーザからユーザ相互作用モジュール1822を介して、最初の問い合わせを受け取る。メッセージ1612により、モバイル機器1812は、サーバ1810に該最初の問い合わせを転送する。ボックス1614において、サーバ1810内の候補空間識別モジュール1824が、最初の候補空間を決定するために、該問い合わせを文書収集物1816に適用する。ボックス1616において、サーバ1810内の識別力のある選択モジュール1828が、当時最新の候補空間から識別力のある文書の収集物を決定する。但し、別の実施形態では、ボックス1616で選択された収集物が識別力のある必要は必ずしもない。メッセージ1618により、サーバ1810は該選択された収集物を、クライアントのモバイル機器1812に戻し、ボックス1614及び1616でサーバ1810が使用した制約または問い合わせを廃棄する。メッセージ1618は、ユーザに対する提示及び制約の維持に必要な全ての情報、例えば、文書画像、文書に関するメタ・データ、及び、埋め込み空間内でのそれらの埋め込みの指示等を含む。ボックス1620において、モバイル機器1812は、該収集物を、例えば、各文書の画像を表示することにより、ユーザに提示する。ボックス1622において、モバイル機器1812は、ユーザから相対的フィードバックを、ボックス1620においてユーザに提示された文書の1つ以上をユーザが選択するという形で、受け取る。ボックス1624において、制約管理モジュール1832は、該ユーザのフィードバックに基づいて新たな幾何学的制約を規定し、ボックス1626において、制約管理モジュール1832は、該新たな制約を用いて制約データベース1834を更新する。次に、メッセージ1628により、モバイル機器1812は、当時最新の一連の制約を、ボックス1610からの最初の問い合わせと共に、(検索状態に関する全ての関連する情報を含む)制約データベース1834から該サーバに送信する。処理はループしてボックス1614に戻り、サーバ1810が、次に候補空間を抽出するために、最初の問い合わせと当時最新の一連の幾何学的制約を文書収集物1816に適用する。
【0044】
以上のように、サーバ1810は、所与のユーザの検索に関してステートレス(クライアントのアプリケーションの状態を管理しないサーバ)である。これは、幾つかの利点がある。1)サーバに対する負荷が軽減される。2)問い合わせの相互作用の各繰り返しを異なるサーバに移行できるので、サーバを追加するだけで、拡張が簡単にできる。3)サーバがステートレスであるため、システムはより頑強となり、例えば、サーバが機能しなくても、状態はモバイル機器1812上で保持される。更に、制約データベース1834内に保存された制約は、現在及び以前の全ての繰り返しの間、ユーザのフィードバックを完全に符号化しているので、該制約は、最小限の記憶装置と管理を必要とするだけである。
【0045】
上述の如く、メッセージ1618は文書画像を含む。これらは通常は大きくないが、クライアント1812上でカタログ項目を保存する多くのキャッシング・スキームが実行されるということもあり得る。該キャッシング・スキームは、人気のある項目、或いは、人口統計情報または検索履歴に基づくユーザが興味を示すと予測される項目をキャッシュする方法を含む。また、項目は、後の検索の繰り返しにおいて、如何なる項目が、提示される必要があり得るかを予測することにより、クライアント1812上に、先取りされることもあり得る。
[ディジタル文書の埋め込み]
【0046】
本開示で使用される、埋め込みモジュール820によって、及び、ステップ910において、ディジタル文書が埋め込まれる“埋め込み空間”は、文書がその内部で示される幾何学的空間である。一実施形態では、該埋め込み空間はベクトル空間であり、該ベクトル空間では、文書の特徴は、原点に対する相対的なベクトル空間内の文書の“位置”を規定する。該位置は、典型的には、原点から該文書の位置に向かうベクトルとして示され、該空間は、ベクトル内の座標の数に基づく次元の数を有する。ベクトル空間は、ベクトルと、それらのベクトル上で実行され得る操作を取り扱う。別の実施形態では、該埋め込み空間は距離(メトリック)空間であり、該距離空間は、位置、次元、或いは、原点という概念を有しない。距離空間における文書間の距離は、特定の原点に対して相対的ではなく、相互に相対的に維持される。距離空間は、対象間の距離と結合した対象と、それらの対象上で実行され得る操作を取り扱う。現在の議論を目的として、これらの対象は、ベクトル空間及び距離空間上で動作する有効なアルゴリズムが多く存在しているという点で、有意義である。例えば、距離木(メトリック・ツリー)が、相互に“近接”する対象を即座に識別するのに利用できる。以下の議論では、我々は、対象を、ベクトル空間及び/または距離空間内に埋め込む。ベクトル空間との関連では、このことは、我々が、或るベクトル空間内で対象をベクトルにマッピングする機能を規定することを意味する。距離空間との関連では、このことは、我々が、これらの対象間のメトリック(或いは距離)を規定することを意味し、但し、該メトリック(或いは距離)は我々が一連の全ての当該対象を距離空間として扱うことを許容するものである。尚、ベクトル空間では、ユークリッド距離を含む様々な標準的な距離(発散)の尺度の使用が可能である点に注目すべきである。別の実施形態では、別のタイプの埋め込み空間が利用できる。
【0047】
本開示で用いられているように、“埋め込み”とは、文書を埋め込み空間内にマッピングする写像である。典型的には、写像は、埋め込まれる文書の潜在的に大量の特性を、入力として受け取る機能である。幾つかの埋め込みでは、写像は、人により生成され、理解されることができるのに対して、別の埋め込みでは、写像は、非常に複雑で、非直観的である。多くの実施形態では、後者のタイプの写像が、明確にプログラムされるのではなく、訓練例に基づく機械学習アルゴリズムによって開発される。
【0048】
先ず、ベクトル空間内の埋め込みを検討する。文書カタログをベクトル空間に埋め込むために、我々は、各文書とベクトルを関連付ける。該空間内での2つの文書間の距離は、ベクトル上の距離の標準的な尺度を用いて決定される。
【0049】
ベクトル空間内にディジタル文書を埋め込む目的は、直観的に類似する文書を相互に近くに配置することである。このことを達成する方法は多くある。例えば、テキスト文書を埋め込む一般的な方法は、バッグ・オブ・ワーズ(a bag of words)モデルの使用である。該バッグ・オブ・ワーズ・モデルは、辞書を維持している。辞書内の各語には、整数インデックスが付与されており、例えば、語“aardvark”にはインデックス1が付与され、語“zebra”にはインデックス60000が付与されている。各文書は、該文書内の各辞書語の発生数をカウントすることにより処理される。i番目のインデックスの値がi番目の辞書語のカウントとなるベクトルが生成される。この表示の変形として、該カウントが種々の方法で正規化される。斯かる埋め込みは、文書の内容ひいては文書の意味に関する情報を獲得する。類似する語の分布を備えるテキスト文書は、この埋め込み空間では相互に近接する。
【0050】
文書をベクトル空間に埋め込む多種多様な手段が存在する。例えば、画像は、例えばSIFT(scale invariant feature transform)を用いて共通に発生する特徴を識別するために処理される。該特徴は、そして破棄され、上述のバッグ・オブ・ワーズ埋め込みと類似の表示において利用される。特に興味深いのは、埋め込みが、ディープ・ニューラル・ネットワーク、或いは他のディープ・ラーニング(深層学習)技術を用いて生成される点である。例えば、ニューラル・ネットワークは、大量の訓練データ上で次元削減の度合いに対して最急降下法(gradient descent)を実行することで、適切な埋め込みを学習する。別実施例として、或る者はデータに基づいてカーネルを学習でき、該カーネルに基づいて距離を導出できる。同様に、或る者は、直接に距離を学習できる。これらのアプローチでは、一般に、文書、語、或いは、画像を高次元のベクトルにマッピングするために大規模なニューラル・ネットワークを使用する。或いは、或る者は、多次元スケーリング(Multi-Dimensional Scaling)、或いは、確率的近傍埋め込み(Stochastic Neighbor Embedding)等のアルゴリズムを備えた実施例を用いて埋め込みを学習してもよい。ベクトル空間内への埋め込みは、カーネルを介して暗黙に規定されてもよい。この場合、明白なベクトルは決して生成及び使用されず、寧ろ、ベクトル空間内の動作が、元の空間内でのカーネル操作を実施することで実行される。
【0051】
興味深い他の埋め込みは、例えば、写真が撮影された日時などの文書に関する日時の情報を獲得する。斯かるケースでは、異なる週の同じ曜日、或いは、異なる年の同じ月に画像が撮影された場合に、当該画像を近くに配置するカーネルが使用される。例えば、クリスマスの前後に撮られた写真は、別の年に撮られたものであって、それらのタイムスタンプ上では大きな差異があるとしても、類似すると考えられる。一般に、斯かるカーネルは、タイムスタンプ間の差を単に見ただけで利用可能なものを超越する情報を獲得する。
【0052】
同様に、地理的情報を獲得する埋め込みも興味深い。斯かる埋め込みは、文書に付随する地理的メタデータ、例えば、写真に付加されるジオタグ(geo-tag)を考慮する。斯かるケースでは、単に2つの地点のマイル差より多くの情報を獲得するカーネルまたは埋め込みが使用される。例えば、その場合、写真が、同じ都市、同じ建物、或いは、同じ国で撮影されたか否かを獲得する。
【0053】
しばしば、埋め込みは、文書を複数の方法で考慮する。例えば、製品に付随するメタデータ、当該製品の画像、及び、当該製品の評価のテキスト形式の内容によって、当該製品が埋め込まれる。斯かる埋め込みは、文書の各側面に対するカーネルを開発し、それらのカーネルを或る方法、例えば、1次結合により結合することにより達成される。
【0054】
多くのケースでは、文書間の直観的な関係を獲得するには、極めて高次元の空間が必要とされる。幾つかの斯かるケースでは、必要とされる次元は、任意の位置にではなく、当該空間内の多様体(曲面)上への文書の埋め込みを選択することで、削減し得る。
【0055】
最後に、文書カタログの異なる部分集合上では、異なる埋め込みが適切である場合がある点に注意する価値がある。例えば、検索手順の各繰り返しにおいて候補結果集合を再埋め込みするのが、最も効果的となり得る。斯かる方法では、該部分集合は、その部分集合内の変化或いは興味の最も重要な軸を獲得するために、再埋め込みされてもよい。
【0056】
ディジタル文書カタログを距離空間内に埋め込むには、そのカタログを距離(またはメトリック)と関連付ける必要がある。以下で、我々は、ディジタル文書間の距離を規定する幾つかの方法について議論する。
[ディジタル文書間の距離及び類似性]
【0057】
埋め込み空間内の2つの文書間の“距離”は、文書間の相違点の所定の大きさに“対応する”。好ましくは、距離は、該相違点の大きさの単調関数である。典型的には、距離は、該相違点の大きさに等しい。距離の例は、マンハッタン距離、ユークリッド距離、及び、ハミング距離を含む。
【0058】
ディジタル文書間の距離(または相違点)を測定する方法は広範囲に存在する。また、これらの方法は、距離の新たな尺度を生成するために結合されてもよい。重要な概念は、ディジタル文書間の直観的な関係は、斯かる類似性或いは距離の尺度を介して獲得され得る点である。例えば、幾つかの有用な距離の尺度は、同じ場所において同じ人物を含む画像を相互に近くに配置する。同様に、幾つかの有用な距離の尺度は、同じ話題を議論していえる文書を相互に近くに配置する。勿論、ディジタル文書が或る軸に沿って直観的に関連する場合の該軸は多く存在し、その結果、所定の文書と(当該距離に関して)近い一連の全ての文書は、極めて多様化し得る。例えば、アントニオとクレオパトラの間の関係を記述している歴史的テキストは、他の歴史的テキスト、エジプトに関するテキスト、ローマに関するテキスト、アントニオとクレオパトラについての映画、ラブストーリーと近い。これらのタイプの違いの夫々は、元の歴史的テキストと関係する異なる軸を構成する。
【0059】
斯かる距離は、様々な方法で規定され得る。1つの典型的な方法は、ベクトル空間への埋め込みを介する。他の方法は、カーネルを介して類似性を符号化することを含む。一連の文書に距離を結び付けることで、我々は、これらの文書を効率的に距離空間内に埋め込む。直観的に類似する文書は、距離空間内で近接する一方、直観的に非類似の文書は、相互に離間する。更に、カーネル及び距離関数は学習し得ることに注目すべきである。実際、検索過程の各繰り返しにおける文書の部分集合上の新たな距離関数を学習することは有用である。
【0060】
文書間の相違点を測定するために距離が使用される如何なる場合も、それに代えて文書間の類似性を測定するためにカーネルが使用され得ること、また、その逆も同様であることに注目すべきである。特に、結局我々は、例えば、制約の定義において、距離の使用に言及するであろう。しかしながら、カーネルは、その代わりに、それらを距離に変換する必要なく、直接に使用することができる。
【0061】
カーネルと距離は、種々の方法で結合することができる。該方法では、複数のカーネルまたは距離が利用され得る。各カーネルは、文書に関する異なる情報を獲得できる。例えば、1つのカーネルは、1つの宝石の視覚情報を獲得でき、その一方で、別のカーネルが価格を、更に別のカーネルがブランドを獲得する。
【0062】
更に、埋め込みは、特定の製品或いは内容のタイプのカタログ等の特定の分野に対して特有であり得る。例えば、紳士靴に特有の埋め込みを学習或いは開発することが適切であり得る。斯かる埋め込みは、紳士用シャツとの関連では情報価値の無い、紳士靴間の類似性を獲得する。
[データベース構成]
【0063】
本発明の実施形態で使用される、データベース816及び826等のデータベースは、一般に利用可能なデータを保存する手段、例えば、関係型データベース、ドキュメント・ストア(document store)、キーバリュー・ストア(key value store)、或いは、その他関連する技術を使用できる。各ケースにおいて、元の文書内容(または、それらに対するポインター)は、保存され、それらの高次元の表示、或いは、他の文書と関係する一連の距離の尺度と結合される。
【0064】
測定可能で高速な検索性能を達成するために、インデックス構造が重要である。文書がベクトル空間内に埋め込まれる場合、例えば、kd木を用いてインデックスが構築される。文書が距離メトリックと結び付けられ、距離空間内に埋め込まれる場合は、距離木が使用され得る。
【0065】
本開示で説明されるデータベースは、1以上の持続性のコンピュータ可読媒体上に格納される。本開示で使用されるように、データベースがコンピュータ可読媒体“上”或いは“内”に配置されるかの間の差異は意図的なものではない。更に、本開示で使用されるように、用語“データベース”は、必ずしも、或る1つの構造を意味するものではない。例えば、一体として考えられる2以上の別個のデータベースは、本開示で使用される用語としての“データベース”を構成する。
[最初の問い合わせ]
【0066】
ステップ912においてシステムに提示される最初の問い合わせは、種々の標準的な技術を用いて生成され、評価され得る。例えば、該問い合わせは、キーボード或いは発話を介して入力される一連のキーワードとして提示されてもよく、該問い合わせは、キーボード或いは発話を介して入力される自然言語の語句または文であってもよく、或いは、該問い合わせは、音声信号、画像、映像、または、テキストであって、類似の音声信号、画像、映像、または、テキストを探し出すための見本を表しているものであってもよい。斯かる最初の問い合わせが効率的に評価される手段、例えば、関係型データベースの検索、或いは、転置インデックスの使用等の種々の手段が知られている。
【0067】
最初の問い合わせは、単純に結果のランダム集合を戻すように設計されていてもよい。
【0068】
最初の問い合わせは、空であってもよい、つまり、何らの制約も課さない。
【0069】
最初の問い合わせに対する他のインターフェースは、ファセット検索を認める。ファセット検索は、ユーザに、一連の軸に沿った検索を制約するための手段を提供する。例えば、ファセット検索は、ユーザが許容可能な価格範囲を制約するのを許可するスライダーを提供する。
[候補結果の識別]
【0070】
最初の問い合わせ及びその後のユーザ入力から生成される検索制約は、一連の候補結果を識別するのに用いられる。これは、種々の手段を用いて達成できる。例えば、最初の問い合わせは、関係型データベースに対して行うことができ、それにより、結果がベクトル空間または距離空間内に埋め込まれる。これらの結果は、例えば、kd木または距離木を用いてインデックスが付与され、最初の問い合わせと該制約の両方を満足する候補を識別するために検索されてもよい。或いは、最初の問い合わせは、一連の埋め込まれた文書に適用される幾何学的制約に変換されてもよい。この場合、最初の問い合わせ及びユーザ入力によって示される制約の幾何学的表示は、結合され、適切なインデックスが、制約の両集合を満足する埋め込まれた文書を識別するのに使用される。
【0071】
本開示で使用されるように、埋め込み空間上の“幾何学的制約”は、個々の文書または文書の特徴をカタログに含めるまたは除外するだけではなく、埋め込み空間内に定式的に記載された制約である。好ましくは、幾何学的制約は、ユーザが見た少なくとも2つの文書に対する距離(または類似性)に基づいて規定される。例えば、斯かる制約は、“文書Bより文書Aにより類似する全ての文書”と表現されるかも知れない。
【0072】
ベクトル埋め込み空間において、例えば、制約は、超曲面を規定する特定の関数の形で記述できる。超曲面の一方側上の文書は該制約を満足し、他方側上の文書は該制約を満足しない。超平面は、内積またはカーネルによって規定されることができ、固定されたベクトルxと候補zに対してk(x,z)>0を必要とする。同様に、円錐形制約は、或る定数cに対してk(x,z)>cを必要とする。距離埋め込み空間において、制約は、例えば、文書間の距離の関数の形で記述できる。つまり、距離埋め込み空間では、幾何学的制約は、“文書Xから特定の距離内の全ての文書”、例えば、或いは、“文書Aに対する距離が、文書Bに対する距離より短い全ての文書”という形を取る。一実施形態では、距離空間に対して規定された超平面は、“m−超平面”の形を取り、それは、本開示で使用されているように、以下のように、距離空間内の2点a及びbによって規定される。
点a及びbにより指定されるm−超平面は、距離空間(X,d)を2つの集合A及びBに区分する。ここで、
A={x:X内のx、但し、d(a,x)<=e*d(a,b)*d(b,x)
+f*d(b,x)+h*d(a,b)+i}
B=X\A
但し、e、f、g、h及びiは、実数値の定数で、全てが0に等しいことはない。
幾何学的制約は、距離空間の区分AまたはBの特定の1つに配置されたそれらの文書にだけに対して満足されると考えられる。
【0073】
また、幾何学的制約は、より複雑な幾何学的制約を規定するために、例えば、和集合、共通集合などの集合演算を用いて結合してもよい。幾何学的制約は、上述の制約例の何れかの変換を行うことで、生成されてもよい。例えば、所与の文書x,y及びwに対して、d(x,z)*d(x,z)+d(y,z)<d(w,z)という距離の多項式関数を処理し、当該関数を満足する文書zだけが、該幾何学的制約を満足すると考えられる。
【0074】
カーネルは、距離とは無関係に用いることができ、制約は、カーネル、カーネルの多項式、カーネルの変形、或いは、カーネルの結合によって、直接的に表現できることに注目すべきである。
【0075】
或る実施形態では、ユーザの検索シーケンスの各繰り返しは、新たな制約を識別し、その繰り返しでの結果集合は、全ての制約の結合された効果によって規定される。例えば、制約が超曲面として示されている場合で、超曲面のサイドA上の候補だけが、制約を満足すると考えられる場合、所与の繰り返しでの結果集合は、全ての制約の超曲面のサイドAの共通集合の範囲内にある候補文書の全てであると考えられる。
【0076】
様々な実施形態において、制約(ユーザによって指示された通り、または、幾何学的制約に変換されたもの何れか)は、“ハード”または“ソフト”である。ハードな制約は、解が全てのハードな制約の条件を満足しなければならないという意味で、満足されなければならない制約である。ソフトな制約は、満足される必要はないが、候補解は、それらが満足しない各ソフトな制約に対してペナルティが課され得る制約である。特定の実施形態では、当該ペナルティの累積が大き過ぎると、解が拒絶され得る。幾つかの実施形態では、制約は緩和される。例えば、ハードな制約は、それらをペナルティと結び付けることで、ソフトな制約に変換されてもよく、また、ソフトな制約はペナルティが軽減されてもよい。
【0077】
幾何学的制約が表示される1つの方法は、全ての整理されていない文書の対のリストを維持することである。該リストの各エントリーは、aが1つの文書を表し、bが他の文書を表す場合において、対(a,b)となる。(対(b,a)も該リスト中に現れてもよい点に注意する。)各エントリーは、候補は、該対の第2の要素より、第1の要素により近いに違いないことを意味していると理解される。つまり、該対の2つの要素は、本開示において時々、“アンカー文書”と呼ばれる。例えば、文書cを所与とした場合、対(a,b)は、d(a,c)<d(b,c)という制約と結び付けられる。実数が各対に関連付けられる。ハードな制約の場合は、該実数は0または1で、1は制約が満足されなければならないことを意味し、0は制約が満足される必要のないことを意味する。或いは、ソフトな制約の場合は、該実数は、該制約に違反した場合に関連付けられるペナルティを表す任意の実数となる。この情報は、他の方法により、例えば、スパース表現を用いて維持することができる。1つの代替方法は、非ゼロ実数と関連付けられた対のみを維持する方法である。
【0078】
ユーザの相対的フィードバックからステップ918で導出される幾何学的制約の各集合の目標は、ユーザの望む目標により良く近づく新たな候補空間を形成するために、以前の候補空間を更に狭めるか、或いは、修正することである。各繰り返しにおいて、ユーザの望む目標についてシステムが有する情報は、ユーザの相対的フィードバックという形で提供され、該フィードバックは、文書の選択という形で提供される。よって、一般的に、幾何学的制約の各i番目の集合は、所定の集合的密接(collective closeness)の定義に応じて、i番目の候補空間内の文書が、(i−1)番目の候補空間内の文書よりは、埋め込み空間内において、i番目に選択された部分集合内の文書に対して集合的により近くなるように、i番目の候補空間を識別する。このことは、所定の集合的密接の定義が、埋め込み空間内において、d(A,X)<d(B,X)である場合に、少なくとも、候補文書Xが文書Bより文書Aに近いと考えられるように規定されていることを意味する。
【0079】
i番目に選択された部分集合またはi番目に選択されなかった部分集合またはその両者が1より多い文書を含む一実施形態では、所定の集合的密接の定義が、埋め込み空間内において、所与の選択されなかった部分集合内の最も近い文書より、所与の選択された部分集合内の最も遠い文書に近接している所与の候補空間内の文書の一部分(fraction)が、埋め込み空間内において、所与の選択されなかった部分集合内の最も近い文書より、所与の選択された部分集合内の最も遠い文書に近接している特定の以前の候補空間内の文書の一部分(fraction)より大きい場合に、所与の候補空間内の文書が、特定の以前の候補空間内の文書より、所与の選択された部分集合内の文書に集合的に近くなるように、更に規定されている。
【0080】
i番目に選択された部分集合またはi番目に選択されなかった部分集合またはその両者が1より多い文書を含む別の実施形態では、所定の集合的密接の定義が、所与の候補空間内の全ての文書Y、及び、i番目に選択された部分集合内の文書Aとi番目に選択されなかった部分集合内の文書Bの全ての文書の対(A,B)に亘って、d(A,Y)<d(B,Y)となる事例の回数が、特定の以前の候補空間内の全ての文書X、及び、全ての文書の対(A,B)に亘って、d(A,X)<d(B,X)となる事例の回数より小さく、各回数が、所与の候補空間内の文書Yの総数と特定の以前の候補空間内の文書Xの総数の間の何れの差に対しても正規化されている場合に、所与の候補空間内の文書が、特定の以前の候補空間内の文書より、所与の選択された部分集合内の文書に集合的に近くなるように、更に規定されている。
【0081】
i番目に選択された部分集合またはi番目に選択されなかった部分集合またはその両者が1より多い文書を含む更に別の実施形態では、所定の集合的密接の定義が、i番目に選択されなかった部分集合内の文書Bであって、i番目に選択されなかった部分集合内の全ての文書Bを平均化したものに対してより、i番目に選択された部分集合内の文書Aであって、i番目に選択された部分集合内の全ての文書Aを平均化したものにより近接している所与の候補空間内の文書Yの一部分(fraction)が、i番目に選択されなかった部分集合内の文書Bであって、i番目に選択されなかった部分集合内の全ての文書Bを平均化したものに対してより、i番目に選択された部分集合内の文書Aであって、i番目に選択された部分集合内の全ての文書Aを平均化したものにより近接している特定の以前の候補空間内の文書Xの一部分(fraction)より小さい場合に、所与の候補空間内の文書が、特定の以前の候補空間内の文書より、所与の選択された部分集合内の文書に集合的に近くなるように、更に規定されている。用語“平均(average)”は、本開示で使用されているように、平均(mean)とメジアン(median)の両方を含み、同様に、随意的に重み付けを含む。
【0082】
i番目に選択された部分集合またはi番目に選択されなかった部分集合またはその両者が1より多い文書を含む尚更に別の実施形態では、所定の集合的密接の定義が、所与の候補空間内の全ての文書Y、及び、i番目に選択された部分集合内の文書Aとi番目に選択されなかった部分集合内の文書Bの全ての文書の対(A,B)に亘って、d(A,Y)≧d(B,Y)となる各事例に関連付けられるペナルティの総計が、特定の以前の候補空間内の全ての文書X、及び、全ての文書の対(A,B)に亘って、d(A,X)≧d(B,X)となる各事例に関連付けられるペナルティの総計より小さく、所与の文書Wに対して、d(A,W)≧d(B,W)が満足される各事例が、各ペナルティ値と予め関連付けられている場合に、所与の候補空間内の文書が、特定の以前の候補空間内の文書より、所与の選択された部分集合内の文書に集合的に近くなるように、更に規定されている。“総計(aggregation)”または“総計〜となる(aggregate)”は、本開示で使用されているように、合計(sum)、百分率(percentage)、または、他の正規化を含み、それらにおいて、追加の正値を更に含んでも、全体の総計を減少させない。
【0083】
幾何学的制約を扱うことの利点は、或る実施形態において、制約を維持し、更新するのに必要なメモリ及び演算リソースが、制約数に依存し、カタログの大きさに依存しない点である。このことは、例えば、制約管理が、サーバ上ではなく、電話やタブレット等のモバイル機器上で、実施及び維持できることを可能にする。
[識別力のある結果集合]
【0084】
検索問い合わせは曖昧、または、不明確であってもよく、問い合わせを満足する文書は、極めて多様であってもよい。例えば、最初の問合せが“赤いドレス”の場合、結果は、着丈、襟ぐりの線、袖等が全く異なっていてもよい。モジュールのこの側面が、結果の識別力のある集合を補助選択する。当該結果の選択または非選択が、最も情報価値のあるフィードバックまたは制約を検索アルゴリズムに提供するように、目標が、ユーザに対して、直観的に結果の集合を提供する。このステップは、“情報価値のある”結果の集合、または、“多様な”結果の集合、または、“識別力のある”結果の集合を識別するステップと考えられる。ステップ918を実施する、識別力のある選択モジュール828が、様々な方法の何れかで識別力のある結果の部分集合を選択する。
【0085】
一実施形態において、結果の部分集合は、ユーザが選択可能な、様々な異なる種類のフィードバックを提供する時、識別力があると言ってもよい。例えば、参照としてここに組み込まれる、van Leuken他による“Visual Diversification of Image Search Results”, in WWW ’09 Proceedings of the 18th international conference on World wide web, pp. 341-350 (2009)にあるように様々な画像が選択されてもよい。この多様な集合は、ユーザに次の繰り返しで問い合わせを精緻化する様々な方法を提供するために、選択される。こうした集合を識別する方法には様々なものがある。例えば、“最も”多様な結果の集合を増分的に識別する最も遠い第1トラバーサル(traversal)を行ってもよい。最も遠い第1トラバーサルは、距離の測定のみを必要とし、埋め込みは必要としない。また、最も遠い第1トラバーサルは、結果の集合で初期化されても良く、その場合、後続の結果は、該初期化された集合と最も差異が大きくなる。
【0086】
識別力のある候補結果の部分集合を選択する他の手段には、結果の完全な集合における多様性の主要な軸を識別する、主成分分析(PCA:principal component analysis)や、カーネルPCAがある。識別力のある部分集合は、当該最も識別力のある軸に沿った複数の点に位置する文書を含んで構成される。
【0087】
識別力のある候補結果の部分集合を選択する他の手段としては、識別力のある候補結果の部分集合を選択するクラスタリング・アルゴリズムを用いることも考えられる。こうした手法では、k-means法またはk-medoids法等の、候補結果内の類似文書のクラスタを識別するクラスタリング・アルゴリズムを用いてもよい。ここに参照として組み込まれる、http://en.wikipedia.org/wiki/K-means_clustering(2015年4月29日検索)、及び、http://en.wikipedia.org/wiki/K-medoids(2015年4月29日検索)を参照のこと。次に、1以上の代表的な文書が、識別力のある補助集合を生成するために、各クラスタから選択される。特に、k-medoids法が使用される場合は、各クラスタのmedoidを、当該クラスタの代表の一つとして使用してもよい。
【0088】
更に、他の手段としては、ユーザによる所与の文書の選択または非選択から得られる、制約の集合を検討することも考えられる。この制約の集合は、それが生成するであろう候補結果の観点から検討してもよい。識別力のある部分集合は、該識別力のある部分集合内の文書の何れかを選択することによって作成される候補結果の集合ができるだけ異なるように選択される。
【0089】
本開示で使用される、一群の文書における特定の文書の集合の“識別力”とは、ユーザが該集合の何れかの文書を選択した結果として除外される、該グループ内の最小数の文書のことを指す。つまり、特定の集合内の異なる文書をユーザが選択した結果、該グループ内の様々な数の文書が除外される場合、該集合の“識別力”は、ここでは、当該数が最小であることと考えられる。尚、識別力のある文書の集合、または、1つの文書に対するユーザの選択がどの文書が除外されるかを決める際に用いられる数式の何れか、または、その両方は、識別力のある集合内の文書の何れかを選択することによって除外される一連の文書の和集合(union)が文書のグループ全体と等しくなるように、選択される。
【0090】
また、本開示で使用される、文書のグループ内の、サイズnの文書の集合の“平均識別力”とは、文書の該グループ内のサイズnの文書の全ての集合における、サイズnの文書の集合の識別力の平均である。また、本開示で使用されるように、第1集合の識別力が第2集合の識別力よりも大きい場合、1つの特定の文書の集合は、別の文書の集合と比較して“より識別力がある”と言える。
【0091】
より好ましくは、ステップ918を実施する選択モジュール828が、現在の候補空間826から、該候補空間のサイズN1の文書の集合の平均識別力よりも識別力のある、一連のN1>1の文書を選択する。更により好ましくは、ステップ918を実施する選択モジュール828が、現在の候補空間内のサイズN1の文書の他の集合の少なくとも90%、または、或る実施形態では、現在の候補空間内のサイズN1の文書の他の集合の全てと同じ識別力を有する集合を選択する。
【0092】
尚、全ての実施形態において識別力のある候補の部分集合を選択するステップ918を必ずしも実施する必要はない。ある実施形態では、ユーザ相互作用モジュール822が、ユーザに向けて、候補集合から無作為に、或いは、他の方法で選ばれた文書の部分集合を提示すれば十分である。そうした実施形態では、識別力選択モジュール828は、単純に選択モジュールで置き換えられる。
【0093】
選択された部分集合は、ソフトな制約を満足することで、識別力の釣り合いを採るよう選択しても良い。例えば、ソフトな制約が使用された場合、各文書は、違反した制約毎にペナルティに関連付けされる。また、選択された部分集合は、選択された部分集合の全ての候補に対する合計のペナルティを、当該部分集合の識別力でトレードオフするように選択してもよい。特に、最もペナルティの小さい文書は、それが識別力を低下させる場合であっても、優先的に選択された部分集合に含めてもよい。
【0094】
下記の幾つかの場合において、制約は、機械学習アルゴリズムを用いて管理及び更新がされる。特に、これには、能動的学習アルゴリズムや、バンディット・アルゴリズムが含まれる。これらのアルゴリズムは、各繰り返しにおいて、“情報価値のある”(或いは、識別力のある)例を識別する。これらのアルゴリズムを使って制約を管理する場合、情報価値のある例の識別は、識別力のある部分集合として、または、識別力のある部分集合を決定するための基準として使用してもよい。バンディット・アルゴリズムは、識別力のある例を識別することで、報酬の最大化(すなわち、目標文書の発見)をトレードオフしようとするので、特に興味深い。
【0095】
識別力のある部分集合を選択する上記技術の何れかを、最初の問い合わせの前または後の、ユーザに向けて提示される候補文書の最初の収集物の選択に用いることもできる。
[結果の提示]
【0096】
ユーザ相互作用モジュール822によるステップ920での、ユーザに対する、識別力のある結果の提示は、ユーザに問い合わせの制約を精緻化するフレームワークを提供することを目的としている。
【0097】
例えば、結果を2次元のグリッドとして提示しても良い。結果は、ユーザが、各結果間の基本的な距離(距離の尺度又は埋め込みを用いて規定されるような)を認識できるように、該グリッド上に配置される。これを行う一つの方法として、距離の尺度に関して互いに離れている結果を、確実に、グリッド上でも互いに離れて配置することが挙げられる。別の方法としては、例えば、多次元尺度構成法(MDS)(例として、参照としてここに組み込まれる、Jin Yang他による“Semantic Image Browser: Bridging Information Visualization with Automated Intelligent Image Analysis”, Proc. IEEE Symposium on Visual Analytics Science and Technology (2006)を参照のこと。)を用いて、埋め込み空間を2次元に投影することが挙げられる。更に別の方法として、当該軸に沿った埋め込み空間及び位置結果において、軸を補助選択することが挙げられる。
【0098】
他の考えられるレイアウトには、グリッド上にはない2次元組織(重なり合った複数の結果を含む可能性もある)、2次元組織に類似する3次元組織が含まれる。上記2次元及び3次元組織に類似する多次元組織は、1以上の軸の周囲を回転することが可能である。一般に、M>1とすると、M次元のレイアウトが使用可能である。埋め込み空間が複数の次元を有する実施形態では、提示レイアウトにおける次元数は、埋め込み空間における次元数と同じである必要はない。更に他のレイアウトには、レイアウトに基づく階層的な組織またはグラフが含まれる。
【0099】
レイアウト空間における文書の配置は、埋め込み空間内の複数の文書間の関係を示している。例えば、レイアウト空間の文書間の距離は、埋め込み空間の同じ文書間の距離と(線形ではないにせよ、単調に)一致する。また、埋め込み空間において3つの文書が同一線上に存在する場合、都合よく、それらはレイアウト空間でも同一線上に存在する。特に、システムがユーザの問い合わせ目標に最も近いと識別する候補文書(ここでは第1候補文書と称する)が存在するレイアウト空間における共線性(collinearity)は、第1候補文書が存在する埋め込み空間における共線性を示している。
【0100】
しかし、埋め込み空間は、典型的には、非常に大きい数の次元を有し、高次元の空間では、実際に同一線上に存在する点はほとんど無いと理解される。したがって、一実施形態において、レイアウト空間で同一線上に提示されている文書は、埋め込み空間では“実質的な”共線性を示しているに過ぎない。本開示で使用されるように、各文書が(ベクトル空間についての)空間に位置を有するように埋め込み空間が構成されている場合、埋め込み空間内の3つの文書によって形成される三角形の最大の角が160度より大きければ、当該3つの文書は埋め込み空間において“実質的に同一線上にある”と考えられる。各文書が埋め込み空間に位置を有さないが、(例えば距離空間に関して)互いに距離を持たないように埋め込み空間が構成されている場合、本開示で使用されているように、3つの文書のグループについて、埋め込み空間の当該グループの文書の各対間における最短の距離と2番目に短い距離の合計が、埋め込み空間の当該グループの文書の各対間における最大の距離と等しければ、当該3つの文書のグループは、同一線上にあると考えられる。最短の距離と2番目に短い距離の合計が最大の距離を超え、その差が10%未満であれば、当該3つの文書は“実質的に同一線上にある”と考えられる。本開示で使用されている、“共線性”及び“実質的に同一線上にある”は、一致または実質的な一致の自明な場合(trivial case)を含まない。
[ユーザ入力]
【0101】
ユーザ相互作用モジュール822は、ユーザに、様々な方法で入力を可能にするユーザインターフェース(UI)を提供する。例えば、ユーザが、1つの結果をクリックしてそれを選択する、或いは、1つの結果の方向にスワイプ(swipe)するとそれを非選択とする、としてもよい。同様に、ユーザが複数の結果を一度に選択、または、非選択してもよい。例えば、これを、各結果についてトグル選択(toggle selector)を用いて行ってもよい。また、ユーザが、ある結果の方向へスワイプして、当該結果の“その方向に”より近いという、結果への願望を示すことで、暗黙的に一連の結果を選択しても良い。この場合の“その方向へ”とは、第1結果とスワイプされている結果との差が拡大されることを意味する。すなわち、結果の次の集合は、スワイプされている結果により近いもので、且つ、“第1結果”よりは遠いものとなる。この概念は、ユーザに1つの結果“から(from)”別の結果“への(to)”スワイプを可能にすることで一般化しても良い。この場合、新しい結果は、“to”の結果により近く、且つ、“from”の結果からより遠いものとなる。
【0102】
また、UIによって、次の結果の集合が、提示されている他のどの結果よりも特定の結果に近いことを、特定することができる能力(例えば、ダブルクリックやピンチ等により)をユーザに提供することができる。すなわち、ユーザは、提示された結果の内1つを選択し、当該結果が他の提示されている全ての結果と比べて好ましいものであるということを示す。これは、各非選択の文書に関して、将来の候補が、(埋め込み空間において)当該非選択の文書よりも選択された文書により近いことを示す、一連の制約として符号化することができる。ユーザが複数の文書を選択し、それらが選択されていない文書よりも、ユーザの望む目標に“より関連性がある”ことを示す、この形のフィードバックは、ここでは、“相対的フィードバック(relative feedback)”と称する。これは、ユーザが関連性のある候補と関連性の無い候補を選択する必要のある、より伝統的な“絶対的フィードバック(categorical feedback)”とは区別される。しかし、多くの場合、関連性のある文書はめったにないため、ユーザの選択に利用できるような文書はない可能性がある。これに対して、本開示のシステムの実施形態では、目標に対して実際には厳密な関連性はないが、更なる検索を導く重要な情報を提供する、より関連性のある候補を、ユーザが特定する、相対的フィードバックが可能である。相対的フィードバック及び断定的フィードバックは何れも、“関連性のあるフィードバック(relevance feedback)”の形態と考えられる。
【0103】
相対的フィードバックを符号化する1つの方法としては、埋め込み空間上の一連の幾何学的な制約として符号化することが挙げられる。非選択の画像B毎に、制約をd(A,C)<d(B,C)の形で生成する。尚、Aは選択された画像、Cは制約を適用する候補画像である(dは埋め込み空間における距離)。次に、候補Cは、d(A,C)<d(B,C)を満足する場合にのみ、制約を満足する。この方法で、1回のクリックで複数の制約を生成する。これらの制約は結合してもよく、例えば、結合された制約は、それらの共通集合であり、更なる候補文書には、制約の内、候補が違反した制約の数の単調関数であるランク(rank)が与えられる(小さいランクほど、ユーザの目標との類似性が高いことを示す)としてもよい。或いは、制約は、夫々をペナルティと関連付けることでソフトな制約として使用してもよい。この場合、更なる候補文書に、該候補が違反した個々の制約の全てに関連付けされたペナルティの合計の単調関数であるランクを与えることができる。更に別の実施形態では、ランクは、制約の年齢(age)(繰り返しの検索においてどれ程早く制約が課されたか)に基づいて作成されてもよい。一実施形態では、これは、所与の制約が最初に課された繰り返しの数に基づいて、各所与の制約に関連付けされたペナルティを決定(或いは変更)することによって実現される。一実施形態では、ペナルティは、制約の年齢と共に増加するように設計してもよく、また、別の実施形態では、ペナルティは、制約の年齢と共に減少するように設計してもよい。
【0104】
このアプローチは、ユーザがより関連性のある複数の画像を選択できるように拡張してもよい。このフィードバックは、選択された画像の夫々が選択されていない画像の夫々よりも関連性があるというように解釈することもできる。一実施形態では、本システムは次に、1つの選択された文書と1つの選択されていない文書の各対に対応する異なる制約を生成する。P×Qの制約の合計が生成される。尚、Pは選択された文書の数であり、Qは選択されていない文書の数である。制約は、d(Ai,C)<d(Bj,C),i=1〜P、且つ、j=1〜Qの形としてもよい。
【0105】
UIは、逆の能力を提供することも考えられる。すなわち、UIは、ユーザに、より関連性のある画像ではなく、むしろ、より関連性のない画像を選択させるかもしれない。また、上記の内容は適切に変更される。
【0106】
また、UIは、次の結果の集合が、特定の選択に近いが、現在選択されている結果の集合よりも異なっていると特定する能力をユーザに提供することも可能である。
【0107】
更に、UIは、ユーザに、以前に追加された制約を削除する能力を提供することが可能である。一実施形態では、制約のスタック(或いは履歴)が維持される。UIは、ユーザに、制約をスタックから取り出すことで、以前追加された制約を削除する能力を提供する。また、特に、ユーザフィードバックの各ピースが、単純に好ましい画像として(すなわち、選択された画像は選択されていない画像よりも好ましい)提供される場合、UIは、一連の選択された画像を提示し、ユーザが1つの(以前選択された)画像とそれに関連する制約を削除する、或いは、画像(及びそれらと関連する制約)をスタックから順に取り出すことで以前の状態に戻ること可能にする。これは、“戻るボタン”または、ユーザインターフェース上のスタックを表示することで実現してもよい。
【0108】
また、UIが、ユーザに、類似の種々の画像の異なる集合が提供されることを特定する能力を提供しても良い。
【0109】
また、UIが、ユーザに、複数の様々な種類のフィードバックを提供する能力を提供しても良い。
[精緻化された問い合わせ]
【0110】
本システムは、次に、ユーザの入力を取り込み、精緻化された問い合わせを生成する。精緻化された問い合わせは、最初の問い合わせに関する情報、及び、これまでユーザによって成された精緻化の反復シーケンスから得られた情報が含まれる。この精緻化された問い合わせを、次の結果を、埋め込み空間の領域内に集中させる一連の幾何学的な制約として表現してもよい。同様に、精緻化された問い合わせを、共通集合が結果の精緻化された候補を規定する、一連の距離の制約として表現しても良い。また、全ての可能性のある結果の集合を通過する経路として表現しても良い。
【0111】
例えば、精緻化された問い合わせが、選択された候補の結果の内、1つの特定された距離内に存在する次の結果を求める制約を含んでもよい。或いは、精緻化された問い合わせが、(距離の尺度に関して)他の候補の結果よりも、ある候補の結果に近い次の結果を求める制約を含んでもよい。これらの制約は、様々な方法で以前に識別された制約と結合される。例えば、候補に、これらの制約の全てを満足するよう求めても良いし、或いは、全ての制約の内、ある数の制約を満足するよう求めても良く、或いは、ソフトな制約の場合、候補に対して、違反した制約毎にペナルティを課しても良い。
【0112】
制約の管理、及び、問い合わせの精緻化の他の方法としては、下記の機械学習アルゴリズムを使用することが挙げられる。
【0113】
ユーザが、矛盾した制約を特定することもできる。本発明に係るシステムは、不適切と判断した制約について、緩和、強化、削除、変更を行う能力を有するよう構成しても良い。
【0114】
制約を緩和する、或いは、削除する1つの方法としては、ユーザフィードバックを用いることが挙げられる。特に、UIは、ユーザに、以前追加された制約を削除する、或いは、履歴から制約を取り出す、すなわち、“戻る”手段を提供してもよい。
【0115】
本システムが制約を緩和又は強化する他の方法は、ソフトな制約に関連する。特に、幾何学的な制約が、ソフトな制約として扱われる、すなわち、ペナルティが各違反された制約に課される場合、これらのペナルティは、制約毎に異なっても構わない。具体的には、古い制約は、新しい制約より、小さいまたは大きいペナルティを有してもよい。ここで、新しい制約とは、最近の繰り返しで追加されたものであり、一方、古い制約とは、もっと前の繰り返しで追加されたものである。ソフトな制約がペナルティを伴って実施される場合はいつでも、候補の結果は、全ての制約に対して総計した、より小さい合計のペナルティを有する文書となってもよい。候補の結果の集合は、合計のペナルティがある所定の値よりも少ない全ての文書、或いは、最も小さい合計のペナルティを有するNの文書のみとなる。尚、Nは、予め定義された整数である。
[問い合わせを精緻化する機械学習]
【0116】
幾何学的な制約は、機械学習アルゴリズムを用いて更新及び維持することができる。こうした実施形態では、ユーザのフィードバックは、機械学習アルゴリズムに適用される訓練データとして扱われ、適用された結果によって、ユーザの求める目標のモデル(ここでは、仮説(hypothesis)とも称される)が生成される。尚、このモデルは、幾つかの場合では、幾何学的な制約であってもよい。しかし、結果として生じる制約は、典型的には、ユーザフィードバックに関して直接表現されない。すなわち、結果として得られるモデルが、候補の文書とユーザがフィードバックを提供した文書との間の距離に関して、明示的にテストを行うのであって、この関係は間接的或いは暗示的である。
【0117】
多くの機械学習アルゴリズムは、2以上のクラス(例えば、関連性の有無)に文書を分類することを学ぶが、アルゴリズムには、関連性に従って文書を順位付け(rank order)するものもある。そうしたアルゴリズムの例としては、ここに参照として組み込まれる、RankBoost(Freund他による“An Efficient Boosting Algorithm for Combination Preferences,” Journal of Machine Learning Research 4 (2003) 37頁)、或いは、Ranking Perception(Collins他による“Convolution Kernels for Natural Language” in Advances in Neural Information Processing Systems, pp. 625-632 (2001))が挙げられる。こうしたアルゴリズムは、順序付けの情報しか提供されない場合、フィードバックや訓練例を使用する。具体的には、こうしたアルゴリズムは、文書(例)が関連性の有無で分類されておらず、それらの相対的な関連性に関して順位付けされている場合は、訓練データを利用する。
【0118】
図9との関連で見た場合、順位付け学習アルゴリズムは、ステップ914で構築される幾何学的な制約を“仮説”または“モデル”と称する。したがって、順位付け学習アルゴリズムの場合、ステップ914での幾何学的な制約の構築は、以前の繰り返しからのフィードバックと結合されたユーザのフィードバックに基づいて、現在の仮説またはモデルを、訓練或いは更新することを伴う。ステップ920でユーザに向けて提示された候補の部分集合は、典型的には、現在の仮説に基づいて、ある限定された数の最も高いランクの文書である。これは、必ずしも、“識別力のある”部分集合ではない。しかし、学習アルリズムには、情報価値のある、或いは、識別力のある文書を、仮説の構築の過程の一部として、自然に識別するアルゴリズムもある。これらは、典型的には、関連性の有無でラベル付けされ、訓練集合に追加される時に、最もモデルを改善する文書である。こうした類の学習アルゴリズムは、識別力のある部分集合を選択するステップ918では、ステップ916で既に自然に識別された文書を選択するのみであり、ステップ920でユーザに向けて提示された候補の部分集合は、確かに識別力がある。
【0119】
幾何学的な制約を更新及び維持する機械学習アルゴリズムを使用する1つのアプローチは、サポートベクターマシンといった分類アルゴリズムを使用することである(例えば、ここに参照として組み込まれる、Tong他による、“Support Vector Machine Active Learning for Image Retrieval”, In Proceedings of the ACM International Conference on Multimedia, 12頁, ACM Press, 2001、或いは、Tieu他による“Boosting Image Retrieval”, International Journal of Computer Vision 56(1/2), pp. 17-36, 2004, 2003年7月16日受領を参照)。サポートベクターマシンは、埋め込み空間で単一の超平面を維持する。サポートベクターマシンの変形は、能動的学習を、各繰り返しにおいて、新たな制約を識別するだけでなく、候補文書の情報価値のある集合を選択するために使用する。
【0120】
或いは、いわゆる「オンライン学習アルゴリズム」(http://en.wikipwdia.org/wiki/Online_machine_lerning、2015年4月29日検索)、または、いわゆる「多腕バンディット」学習アルゴリズム(http://en.wikipedia.org/wiki/Multi-armed_bandit、2015年4月29日検索)を使用しても良く、何れも同じ結果を実現するために使用できる。これらの両文献を参照としてここに組み込む。
【0121】
オンライン学習アルゴリズム(本開示では当該用語を用いる)は、訓練データに基づいて増分的に更新されるモデルまたは仮説を維持する。すなわち、これらのアルゴリズムは、訓練データの完全な集合、または、本文脈で言うところの、ユーザフィードバックの完全な集合へのアクセスを必要としない。新たな訓練データが提示されると、これらのアルゴリズムは、以前に参照された訓練データで本システムを再訓練することなく、各自のモデルまたは仮説を更新することができる。むしろ、これらのアルゴリズムは、フィードバックの直近の集合にのみ基づいて増分的に更新されるモデルまたは仮説を維持する。このため、これらのアルゴリズムは、実質的に、必要とするメモリ及び/または計算資源がより少なくて済み、それにより、例えば、モバイル機器上で実施することが可能である。本明細書の文脈において、仮説を、幾何学的な制約を表すために用いてもよい。例えば、仮説は、埋め込み空間の超平面を表すこともあれば、商品の重みが大きい程、目標の商品に近いと理解されるカタログにおける、商品の重みの結合を表すこともある。ユーザのフィードバックは、オンライン学習アルゴリズムが学習に使用する訓練データとして解釈される。すなわち、オンライン学習アルゴリズムは、このフィードバックに基づいて自身の仮説(幾何学的な制約)を更新する。一実施形態では、オンライン学習アルゴリズムは“エキスパートの助言を伴う予測(Prediction with Expert Advice)”フレームワーク(ここに参照により組み込まれる、Cesa-Bianch他による“Prediction, Learning, and Games”, Cambridge University Press, 2006)を使用する。この場合、各カタログの商品(文書)は、エキスパートとして解釈され、重みを割り当てられる。最初は、これらの重みは全て同じである。関連付けされた距離と結合された時の各カタログの商品は、該カタログの順序を提供すると理解することができる。具体的には、カタログの商品Aについて、該カタログの他の全ての商品(例えば、Xとする)には、それらの距離に対応する番号、例えば、d(A,X)を割り当てても良い。次に、該カタログの商品は、当該番号、すなわち、d(A,X)を用いてソートされる。候補の集合に関して、カタログの商品(例えば、A)に対応する各エキスパートは、当該集合において自身が最も上位にランク付けする商品(例えばX)、すなわち、d(A,X)が最小である商品の選択を勧める。次に、各エキスパートの重みは、エキスパートが最も上位にランク付けした当該商品をユーザが選択したかどうかによって増減する。処理が繰り返し行われる中で、ユーザが検索している商品が正解である(すなわち、候補集合から正しい商品を勧める)頻度が他の商品よりも高くなり、それによって、最大の重みを得ることになる。この一般的なアプローチについて多くの変形が可能である。一般的に、オンライン学習アルゴリズムは、識別力のある部分集合を生み出す自然な手段を提供しない。しかし、オンライン学習アルゴリズムは、識別力のある部分集合を生み出す様々な他の手段と結合させることができ、当該他の手段には、PCAやクラスタリングに基づく手段、または、力まかせ検索を含む高度に識別力のある部分集合を選択可能なその他の手段が含まれる。
【0122】
多腕(multi-armed)バンディットアルゴリズムは、“エキスパートの助言を伴う予測”フレームワークと密接な関係がある。オンライン学習アルゴリズムと同様に、これらのアルゴリズムは、ユーザフィードバックに基づいて増分的に更新される仮説を維持する。ユーザフィードバックの完全な集合を維持するのではなく、これらのアルゴリズムは、直近のフィードバックだけに基づいて仮説を更新する。繰り返しになるが、これは、これらのアルゴリズムが必要とする計算資源がより少なくて済み、それにより、モバイル機器上で実施可能であることを意味している。これにより、制約を、別のサーバ上ではなくモバイル機器上で管理することが可能となる。これらのアルゴリズムは、更に、エキスパート(“腕(arm)”と称する)の集合を維持し、良品の識別を求める。(現在の設定における)主要な差異は、各ラウンドにおいて、これらのアルゴリズムが、プレイする1以上の“腕”(或いはエキスパート)を選択することである。本文脈において、“プレイ”とは、ユーザに対する提示を意味する。腕は、2つの目標、すなわち、良い腕をプレイすること、及び、どの腕が良いか学習すること、の均整をとるように選択される。例えば、ユーザが高い報酬に変換される腕の一つをクリックすると、ユーザフィードバックは、選択された腕に対する報酬として解釈される。こうしたアルゴリズムを、幾何学的な制約の維持及び更新、及び、候補の部分集合の選択に適合させる1つの方法を以下に説明する。明らかに、他の適合も効果的である。繰り返しになるが、カタログの各商品(文書)は、腕(エキスパート)に関連付けられる。各腕は、その報酬(すなわち、問い合わせへの解としての適合性)の見積もり、及び、当該見積もりに対する信頼区間(確実性の値)と関連付けられる。最初は、全ての報酬見積もりは等しく、全ての確実性は同一である。検索処理の各繰り返しにおいて、1以上の腕が“識別力のある集合”として選択され、ユーザに提示される。ユーザは候補の一つをクリックし、対応する腕に高い報酬が与えられる。他の候補には低い報酬が与えられる。対応する報酬見積もりが更新される。候補集合における各腕の確実性は、報酬の見積もりのために集められたデータが多いほど、増加する。ここで、アルゴリズムは、候補(腕)の別の集合を、当該集合が、報酬が高いか、または、報酬についての不確実性が大きいの何れか、或いは、その両方である腕を含むように選択する。処理が繰り返し行われる中で、ユーザの検索の目標が、高い報酬が得られるという確実性の高い見積もりを得て、最良の腕と識別される。
[次の結果の識別]
【0123】
検索対象の文書間の距離(非類似度)、または、当該文書のベクトル空間または多様体(manifold)への埋め込みが与えられる場合、様々なデータ構造が存在する。この様々なデータ構造は、文書カタログに索引を付けるために使用しても良く、それにより、迅速な検索が可能となる。こうしたデータ構造には、メトリック木、kd木、R木、普遍的な(universal)B木、X木、ball木、局所性鋭敏型ハッシュ、転置インデックスが含まれる。
【0124】
本システムは、精緻化された問い合わせに基づいて次の候補結果の集合を識別するために、こうしたデータ構造の組み合わせを用いる。
【0125】
幾何学的制約を使用する利点は、こうした効率的なデータ構造と共に使用して、カタログのサイズがほぼ直線である時間内に次の結果を識別することができる点である。
[学習距離]
【0126】
ユーザの行動データは、本発明に係るシステムによって収集され、検索経験の改善又は特殊化するために使用してもよい。特に、距離または類似性を表現する多くの方法は、パラメータで表されてもよく、これらのパラメータを調整することもできる。例えば、カーネルの1次結合を用いて規定された類似性は、ユーザの行動データに基づいて調整された当該1次結合の係数を有する。こうした方法で、本システムを、類似性の個々の(或いは集団(community)や文脈上の)概念に適合させる。
【0127】
同様に、こうしたカーネルや距離を、検索方法とは独立して学習してもよい。すなわち、様々な方法で収集されたデータについて、こうしたカーネルや距離を学習してもよい。このデータを、検索処理の間に獲得されたデータと結合してもよく、また、しなくてもよい。
【0128】
距離または類似性を学習するために、3層以上を有するニューラルネットワーク(neural network)等の深層学習の使用は特に興味深い。
【0129】
幾つかの実施形態において、距離は、具体的には特定の応用に関して学習される。例えば、潜在的なパートナーを探す方法(例えば出会い系サイトにおいて)を使用する実施形態では、顔の類似性を獲得するカーネルを学習する。当該実施形態では、人々のFacebookのプロフィールに基づいて興味の類似性を獲得するカーネルを学習する。これらのカーネル(または距離)は、具体的には、関連付けられた検索課題を扱うために学習され、当該課題以外では有用性がなくてもよい。
図19は、特に主題領域に関して距離が学習される実施形態の関連する部分を表している。
【0130】
図19を参照すると、ステップ1910において、主題領域が規定される。主題領域の例には、衣類、宝石、家具、靴、アクセサリー、休暇用賃貸、不動産、自動車、美術品、写真、ポスター、出版物、室内装飾、一般的な物理的製品、ディジタル製品、サービス、旅行パッケージ、或いは、他の無数の商品カテゴリの何れかが含まれる。ステップ1912において、主題領域内で検討される1以上の商品、及び、主題領域外で検討される1以上の商品が識別される。ステップ1914において、主題領域内にあると考えられる文書のみを含む訓練データベースが提供される。この訓練データベースは、第1商品は含むが、第2商品は含まない。ステップ1916において、埋め込みは、提供された訓練データにのみ依存して、すなわち、主題領域外にあると考えられる文書には基づかずに、学習される。機械学習アルゴリズムは、この埋め込みの学習に用いることができる。ステップ1918で、文書のカタログは、学習された埋め込みを用いて埋め込み空間に埋め込まれる。好ましくは、埋め込み空間に埋め込まれた文書のカタログ自体が、主題領域内の文書に限定される。後の処理は、
図9のステップ912または914、或いは、本開示に記載したような変形例で続けることができる。
[幾つかの例]
【0131】
図3は、2次元空間に埋め込まれた文書の集合を示している。描写の都合上、2次元としているが、本発明の側面は、大きな次元の空間内に文書を埋め込みことを想定している。空間310は、例えば文書321、322を含む。文書の各対は、間に距離330を有する。
【0132】
図4は、円形の幾何学的制約410に加えて、
図3の文書の集合を示している。円内の文書、例えば421、422等は、当該制約を満たすと考えられる。本発明の側面は、問い合わせ、及び、ユーザ入力をこうした幾何学的制約の形で表現する。制約を満足する文書は、問い合わせの現在の結果である。ユーザが更に入力を提供すると、新たな制約が追加されるか、既存の制約が追加または削除される。
【0133】
図5は、非円形の幾何学的制約510に加えて、
図3の文書の集合を示している。本発明の側面は、任意の形状の幾何学的制約、及び、当該制約の和集合、共通集合、差分を想定している。
【0134】
図6は、
図4の円形制約が、ユーザに入力に応答して更新される際の手段を示している。元の円形制約610は、半径を増加させることで変更されて円形制約620を生成するか、または、半径を減少させることで変更されて制約630を生成する。これらの変更は、ユーザの入力に応答して行われる。これらの制約を満足する文書の集合は、制約が変更されるに伴って変化し、ユーザへ提示するために検討された画像の集合が減少或いは拡張される。
【0135】
図7は、文書の識別力のある部分集合が、ユーザへの提示のために選択される際の手段を示している。強調表示されている711、712等の文書は、互いに、且つ、円形制約領域内に含まれる他の文書とは異なる。
【0136】
図10Aは、埋め込み空間内の文書の集合を示しており、この埋め込み空間では、問い合わせ処理モジュール824が収集物を円1020内の当該文書に限定し、第1結果文書1018を識別する。また、識別力のある選択モジュール828が、文書1010、1012、1014、1016を、ユーザに提示する識別力のある集合として選択する。埋め込み空間において、文書1012、1018、1016が実質的に同一線上にあり、文書1010、1018、1014が実質的に同一線上にあるということが分かる。
【0137】
図10Bは、本システムがレイアウト空間内で文書の集合をどのように提示するかを示している(破線は、目に見えるというよりは暗示されている)。文書の具体的な位置は、空間の次元が減少されていることもあって、埋め込み空間内のそれらとは必ずしも一致しない。しかし、埋め込み空間で実質的に同一線上にあった文書は、レイアウト空間で同一線上に存在する。特に、
図10Aの破線が埋め込み空間の次元を表し、当該破線に沿って候補の文書が異なる場合、
図10Bのレイアウト空間内の文書の配置は、これらの同じ次元を示している。また、レイアウト空間の共線性の各線に沿った文書間の相対距離も、埋め込み空間内の相対距離を示している。
【0138】
図11は、靴の検索が可能な一実施形態を示している。この実施形態は、モバイル機器1101上で実施される。この実施形態では、サーバ上でカタログが維持され、候補結果が識別される一方で、モバイル機器上で制約が維持される。靴同士の視覚的な類似性を獲得するよう訓練されたニューラルネットワークを適用することで、靴は、高次元の空間に埋め込まれる。靴に関するブランド等のメタデータを比較するカーネルを用いて、埋め込みに対する他の寄与がなされる。第1結果は、左上隅1102の大きな画像として目立つように表示される。埋め込み空間1103で、第1結果に最も近い(すなわち、最も類似している)靴は、第1結果に最も近い場所に表示する。次に、現在の制約を満足する識別力のある結果の集合が表示される。これらの制約は、異なる実施形態では、ハードまたはソフトな制約としても良く、或いは、一部はハードな制約で、他はソフトな制約としてもよい。尚、これらの結果は、かなりの多様性を保持している。例えば、埋め込み空間において最も遠い(かつ、第1結果からは最も遠く表示されている)靴1104は、色は異なるが、第1結果と同じブランドである。この実施形態は、制約のスタックを維持している。各制約は、候補に、ユーザに選択されなかった画像よりも選択された画像に近いことを求める。したがって、各繰り返しにおいて、複数の制約(例えば11)が追加されてもよい。一実施形態では、これらの制約は、各候補が違反された制約毎にペナルティを受ける点で、ソフトな制約として扱われる。候補の結果は、より小さなペナルティを持つものである。この実施形態において、選択された画像のスタックは、ユーザの選択で最も古いものは左に、新しいものほど右に、1105で表示される。ユーザは、このスタック内の何れかの画像をクリックすることができる。こうすることで、クリックされた画像の右の全ての画像(及びそれらの関連する制約)がスタックから取り出される。これは、クリックされた画像が選択される前に有効であった制約の集合によって規定される、以前の検索状態にユーザを戻す効果がある。
[従来のシステムに勝る利点]
【0139】
本開示に記載したアプローチの様々な実施形態は、従来のシステムと比較して、以下の利点の内、1以上を生み出す。
・一実施形態は、必ずしも文書の単一の固定された階層に限定されない。より具体的には、一実施形態は、文書カタログが記載される際に用いられる分類法の明確な決定を必要としない。また、文書を静的な階層にクラスタリングする必要もない。すなわち、ユーザが行う精緻化のシーケンスは、事前に規定された分類法または階層での限定或いは拡張を強いられる必要はない。
・一実施形態は、極めて柔軟にすることができ、画像、テキスト、音声、映像、及び、その他多くの種類のデータに適用してもよい。
・文書間の関係についての直観(intuition)は、分類法またはタグを用いるよりも、文書間の類似性または距離の概念を用いて表現し易い場合がある。
・候補結果の視覚的な方法での選択及び非選択は、モバイル機器やタブレット上での検索用の容易なインターフェースである。
・幾何学的な制約という観点から、問い合わせの精緻化を符号化することで、より柔軟なユーザ相互作用が可能となる。具体的には、一実施形態では、ユーザは、事前に定義されたタグ付けの概念体系や、制約を結合するために用いる問い合わせロジックに精通している必要はない。更に、一実施形態では、こうした幾何学的な制約は、将来のタグ付けまたは注釈付けの工程における誤りに対して、より強固であり得る。
・検索を増分的に精緻化する能力は、生産的なユーザ経験に役立つ。
・候補結果の識別力のある部分集合を使用することで、限られた表示空間をより効率的に利用できる。完全な結果の集合内の利用可能な情報の大部分を獲得し、ユーザが問い合わせを精緻化するための様々な選択肢を提供すると同時に、表示が乱雑になるのを最小限に抑えることができる。
・距離、埋め込み、類似性が機械学習されると、このアプローチを用いたシステムは、検索経験を個人、グループ、文化、文書カテゴリに特化する能力を提供することができる。
・内容に基づく画像検索(CBIR)技術と比較して、本発明の実施形態は、検索の増分的な精緻化に、より適していると言える。具体的には、ユーザは、写真を撮り、CBIRシステムを使って関係のある、または、類似性の高い写真を識別することができる。しかし、ユーザが結果に不満な場合は、CBIRシステムは検索目標を精緻化する方法を提供しない。
[実施例1]
【0140】
一実装例では、ユーザは、個人的な写真のカタログの検索が可能となる。最初に、任意の写真(第1結果)、例えば、最近写した、または、閲覧した写真がユーザに示される。これは、カタログの写真から成る3×3のグリッドの中心に表示される。写真の夫々は、第1結果に近い(下記で定義される)が、第1結果に関係する様々な軸に沿って、互いに異なるように選択される。例えば、第1結果が先週家で家族と撮った写真なら、他の写真は、例えば、a)去年家で家族と撮った、b)先週外で家族と撮った、c)先週家で家族なしで撮った等の写真かもしれない。幾つかの状況では、本システムは、第1結果の両側に、同じ軸に沿って存在するが、当該軸に沿った位置が互いに異なる2つの写真を配置してもよい。例えば、家族Aが第1結果よりも目立つように映っている写真を左側に、家族Aが第1結果よりも目立たないように映っている写真を右側に配置してもよい。
【0141】
ユーザは、次に第1結果となる9枚の写真の内、1つを選択する。これは、第1結果には“近い”が互いに異なる写真から成る、更新された3×3グリッドに配置される。
【0142】
どこかの時点で、ユーザが第1結果をダブルクリックすると、“近い”の定義が“より小さなスケール”(下記で定義)に変化する。ユーザが“ピンチアウト”の身振りをすると、“近い”の定義は、“より大きなスケール”に変化し、結果の集合が更新される。
【0143】
こうした方法で、ユーザは、特定の写真を発見するために写真のカタログをナビゲートすることができる。
【0144】
この実施例では、写真の類似性は、下記を含む複数の基準に基づいて判断される。
・写真のGPS位置
・写真の時間
・写真の色内容
・写真が屋内で撮られたか、屋外で撮られたか
・写真に人物が写っているか
・写真に写っているのか誰か
・写真に写っている人物は喜んでいるか、悲しんでいるか
・写真内で描写されている活動
・写真に含まれる物体
【0145】
上記基準に加えて、他の多くが挙げられる。これらの基準は、数字上の“距離”に、或いは、ある空間に写真を配置するベクトルとして、獲得される。後のケースでは、類似性または距離の標準的な概念、例えば、ドット積またはユークリッド距離を使用してもよい。一実施形態では、異なる軸に沿った距離が互いに比較できるように、正規化関数が適用できる。
【0146】
ユーザが写真のカタログをナビゲートする際、ユーザが検索している“スケール”が変化する。このスケールは、結果の集合における写真が第1結果に如何に“近い”かを規定する。より正確には、結果の集合内の全ての写真は、ある閾値よりも短い“距離”を持たなければならない。スケールが増加または減少するほど、この閾値が増加または減少する。
【0147】
上述の各ステップについて、この実施例を検討する。
・埋め込み:ユーザの個人的な写真のカタログにおける写真毎に、例えば、他の多くの項目の中でも、経度、緯度、時刻、曜日、顔の数、所定の活動が描写されているかに対応したインデックスを有するベクトルが生成される。
・最初の問い合わせ:この場合、最初の問い合わせは、空であり、すなわち、全ての写真が候補結果となり、ユーザに提示されるものは任意である。
・幾何学的制約としての最初の問い合わせ:最初の問い合わせは、幾何学的制約の空の集合を生成する。
・幾何学的制約は、埋め込まれた写真の集合に適用され、当該制約を満足する写真、すなわち、候補結果を識別する。
・9枚の写真の識別力のある部分集合が、最も遠い第1トラバーサルを用いて候補結果から選択される。
・9枚の写真は、3×3のグリッドでユーザに提示される。
・ユーザは、当該写真の内から1枚を選択し、当該選択した写真により近い写真を閲覧したいという要望を示す。
・ユーザによって選択された写真は、処理され、埋め込み空間で選択された写真を囲む球として表現できる、新たな幾何学的制約を生成する。この新たな制約は、現在の制約の集合に追加される。結合した制約は、これまで選択された全ての写真を囲む球の共通集合である。
[実施例2]
【0148】
別の実装例としては、装飾品(衣料、家具、アパート、宝石等)を検索する場合が挙げられる。この実装例では、ユーザは、最初の問い合わせとして、テキスト、発話、或いは、見本画像で検索する。例えば、ユーザは、テキスト入力で“茶色の財布”を検索する。検索エンジンは、可能性のある結果の多様な集合、例えば、様々な種類の、様々な色合いの茶色の財布を識別することによって応答する。これらの結果は、2次元的配列(例えばグリッド)にレイアウトされ、それにより、より類似した結果が互いの近くに配置され、より異なる結果が互いに比較的遠くに配置される。次に、ユーザは、1以上の画像を、例えば、ラジオボタンを使って選択する。画像の選択は、“検索方向”、または、それに沿って更なる結果が得られるかもしれない埋め込み空間におけるベクトルを規定するために、検索エンジンによって使用される。
【0149】
上述の各ステップに関してこの実施例を検討する。
・埋め込み:装飾品のカタログにおける各エントリについて、装飾品を区別するよう訓練された深層学習技術を用いて、ベクトルが生成される。
・最初の問い合わせ:この場合、最初の問い合わせは、更なる結果を、完全なカタログの一部内に狭めるテキスト検索である。この限定は、最初の候補結果の集合である。
・幾何学的制約としての最初の問い合わせ:最初の問い合わせは、幾何学的制約の空の集合を生成する。
・幾何学的制約は、限定された集合(すなわち、最初の候補結果)の埋め込まれた装飾品の集合に適用され、当該制約を満足する装飾品、すなわち、候補結果を識別する。
・9個のカタログのエントリの多様な集合が、最も遠い第1トラバーサルを用いて候補結果から選択される。
・9個のカタログのエントリが、ユーザに3×3のグリッドで提示される。
・ユーザは、カタログのエントリの内から1つを選択し、当該1つにより近い装飾品を閲覧したいという要望を示す。
・ユーザによって選択された装飾品は、処理され、埋め込み空間で選択された装飾品を囲む球として表現できる、新たな幾何学的制約を生成する。この新たな制約は、現在の制約の集合に追加される。結合した制約は、これまで選択された全ての装飾品を囲む球の共通集合である。
[幾つかの変形例]
【0150】
文書は、ベクトル空間または(距離を介した)距離空間といった埋め込み空間で符号化される。検索は、問い合わせの精緻化のシーケンスとして進む。問い合わせの精緻化は、ベクトル空間または距離空間に対して幾何学的制約として符号化される。識別力のある候補結果が表示され、ユーザに識別力のある制約を追加する能力を提供する。結果の選択または非選択等のユーザ入力は、幾何学的制約として符号化される。
【0151】
このアプローチの変形は読者にとって明らかである。例えば、最初の問い合わせが処理された後に文書が埋め込まれてもよく、当該問い合わせを満足する文書のみが埋め込まれてもよい。同様に、文書は、処理の何れかの時点で異なる埋め込みを用いて再埋め込みされてもよい。この場合、幾何学的制約は、新たな埋め込みにおいて再解釈される。
【0152】
幾何学的制約は、非幾何学的制約によって何れかの時点で増加させてもよい。この場合、候補の結果は、非幾何学的制約を満足するもののみを選択するよう、直接的にフィルターをかけることが可能である。この方法では、相互作用は、ファセット検索、テキスト、または、発話の入力で増加させることができる。処理の繰り返し毎に、幾何学的制約は、非幾何学的制約の集合と共に管理することができる。
【0153】
実装例は、下記の工程を経て処理することができる。
1.ユーザから見本画像(少なくとも1つ)の収集物を得る。
2.当該収集物の全ての画像を、見本画像から閾値Tより短い距離で識別する。
3.2で収集された画像の識別力のある部分集合を識別する。
4.画像の識別力のある部分集合を、2次元レイアウトで、ユーザに提示する。
5.ユーザが提示された画像の内の1つに満足した場合、この満足の表示を受け取り、選択された画像に関して望ましい動作を行う。
6.ユーザが満足しない場合、ユーザから、望ましい結果により近い、提示された画像の選択を得る。
7.見本画像の修正された収集物を生成する。
8.閾値Tを減少させる。
9.2へ進む。
【0154】
上記方法は、ユーザによるコンピュータシステムとの相互作用の観点と、コンピュータシステムによるユーザとの相互作用の観点の何れか、或いは、両方から見てもよい。
【0155】
該概念は、画像よりはむしろ、“ディジタル文書”を指すように一般化されてもよい。ディジタル文書には、画像に加えて、音声、映像、テキスト、html、複合媒体文書、ディジタルカタログの製品一覧が含まれる。
【0156】
また、該概念は、ステップ1で得られた最初の収集物を、別の情報検索システムまたは検索エンジン内における検索(問い合わせ)をユーザが実施した結果として獲得するように一般化されてもよい。
【0157】
また、該概念は、ステップ8で閾値を減少させる代わりに、ユーザインターフェースが、閾値を減少または増加させる、或いは、閾値を変化させない能力を提供すように一般化されてもよい。
【0158】
また、該概念は、ステップ1及び6で見本画像の収集物が2つあり、ステップ2で本システムが、第1集合の閾値T1よりも短く、且つ、第2集合の閾値T2よりも長い距離で画像を識別するように、一般化されてもよい。
【0159】
また、該概念は、ステップ6の1回の繰り返しで、少なくとも1つの軸の第1集合に沿ってユーザが1または複数の画像を選択し、ステップ6の別の繰り返しで、ユーザが少なくとも1つの軸の第2集合に沿って1または複数の画像を選択するように、一般化されてもよい。尚、軸の第2集合は、軸の第1集合には含まれていない少なくとも1つの軸を含む。
[使用例]
【0160】
図9の検索方法(本開示に記載する全ての変形を含む)は、様々な目的に使用され、その内の幾つかを以下に概説する。
【0161】
図12は、
図9の検索方法のフローチャートであり、当該検索方法は、衣類、宝石、家具、靴、アクセサリー、不動産、自動車、美術品、写真、ポスター、出版物、室内装飾等の物理的な製品の購入に使用される。本開示に記載の全ての変形は、
図12の方法で使用することができる。
【0163】
最初に、ステップ1210において、ディジタル文書のカタログが埋め込み空間に埋め込まれ、データベース内に保存される。該データベース内では、距離は、埋め込み空間内の文書の各対の間で識別され、当該文書の各対によって表される製品の間の相違点の所定の尺度に対応している。ステップ1212において、最初の問い合わせが、該問い合わせ結果を満足する文書の最初(i=0)の候補空間を生成するために、随意的に処理される。該最初の問い合わせは、例えば、通常のテキストによる問い合わせであってもよい。該最初の候補空間は、該文書のカタログの全範囲内にあり、随意的に、該全範囲よりは小さい。ステップ1213において、ディジタル文書の最初の収集物が、該最初の候補空間から抽出される。該文書の最初(i=0)の収集物は、該最初の候補空間の部分集合である。一実施形態では、該文書の最初の収集物は、該カタログの識別力のある部分集合として選択されるが、別の実施形態では、該文書の最初の収集物は、識別力がない。ステップ1214において、該文書の最初の収集物が、ユーザに向けて識別される。一実施形態では、該処理は、該最初の収集物内の文書の説明を、ユーザに向けて可視的に表示することが可能である。ステップ1215において、便宜上、繰り返し1と番号が付された繰り返しで始まる、反復検索処理が開始される。
【0164】
i番目の繰り返しの開始前、ユーザには、前の繰り返し(i−1)からの文書の収集物が提示される。i=1の場合、該文書の収集物は、ステップ1214からの該文書の最初(i=0)の収集物である。i>1の場合、該文書の収集物は、前の繰り返しのステップ1223でユーザに提示された(i−1)番目の文書の収集物である。
【0165】
i番目の繰り返しの開始時に、ステップ1216において、ユーザは、(i−1)番目の文書の収集物内の文書に関して相対的フィードバックを提供する。好ましくは、該相対的フィードバックは、(i−1)番目の収集物から該文書の部分集合をユーザが選択するという形をとる。但し、文書の選択は、ユーザがその文書で表される製品が、検索目標に対して、(i−1)番目の収集物から選択しなかった文書で表される製品より、関連性があると考えているということを示唆する。i番目の繰り返しにおいて選択された部分集合は、本開示では、i番目の選択部分集合と称され、(i−1)番目の収集物から選択されなかった文書は、時々、集合的に、i番目の非選択部分集合と称される。ステップ1218において、本開示の他の箇所で説明される方法で、一連の幾何学的制約を、該相対的フィードバックから抽出する。i番目の繰り返しで抽出された該一連の幾何学的制約は、i番目の一連の幾何学的制約と称される。
【0166】
ステップ1220において、該i番目の一連の幾何学的制約は、i番目の候補空間を形成するために、該埋め込み空間に適用される。そして、ステップ1222において、i番目の候補文書の収集物が、該i番目の候補空間内の文書の部分集合として選択される。一実施形態では、該i番目の文書の収集物は、該i番目の候補空間内の識別力のある部分集合として選択されるが、別の実施形態では、該i番目の文書の収集物は、識別力がない。ステップ1223において、該i番目の文書の収集物が、任意の更なる精緻化のために、ユーザに向けて提示される。ステップ1224において、ユーザ入力が更なる精緻化を望んでいることを示す場合、ロジックは、検索ループの次の繰り返しの為に、ステップ1215に戻る。そうでない場合は、ユーザはコミットを表示し、ステップ1226において、システムは、ユーザが選択した文書に関する動作を行う。
【0167】
図12の“動作を行う(take action)”ステップ1226では、(1)識別された目標物を選択するユーザ入力に応答して、システムは、商品をウィッシュリストへ追加する、当該商品をカートへ追加する、または、購入ダイアログへ進む(ステップ1228)、(2)システムは、恐らく後に、ユーザから支払いを受け付け、商品をユーザへ直接、或いは、FedExやUPS等の第3者の輸送会社または郵便業者を用いて発送する(ステップ1230)。支払いの受け付け及び発送のステップは、任意の順番で行うことができる。無料の製品に関しては、支払いは要求されなくてもよい。対応するサブモジュールは、動作モジュール830に含まれる(
図8)。
【0168】
図13は、映画、音楽、写真、本等のディジタル製品の購入に使われる、
図9の検索方法のフローチャートである。本開示に記載の全ての変形は、
図13の方法で使用することができる。
【0170】
最初に、ステップ1310において、ディジタル文書のカタログが埋め込み空間に埋め込まれ、データベース内に保存される。該データベース内では、距離は、埋め込み空間内の文書の各対の間で識別され、当該文書の各対によって表されるディジタル製品の間の相違点の所定の尺度に対応している。ステップ1312において、最初の問い合わせが、該問い合わせ結果を満足する文書の最初(i=0)の候補空間を生成するために、随意的に処理される。該最初の問い合わせは、例えば、通常のテキストによる問い合わせであってもよい。該最初の候補空間は、該文書のカタログの全範囲内にあり、随意的に、該全範囲よりは小さい。ステップ1313において、ディジタル文書の最初の収集物が、該最初の候補空間から抽出される。該文書の最初(i=0)の収集物は、該最初の候補空間の部分集合である。一実施形態では、該文書の最初の収集物は、該カタログの識別力のある部分集合として選択されるが、別の実施形態では、該文書の最初の収集物は、識別力がない。ステップ1314において、該文書の最初の収集物が、ユーザに向けて識別される。一実施形態では、該処理は、該最初の収集物内の文書の説明を、ユーザに向けて可視的に表示することが可能である。ステップ1315において、便宜上、繰り返し1と番号が付された繰り返しで始まる、反復検索処理が開始される。
【0171】
i番目の繰り返しの開始前、ユーザには、前の繰り返し(i−1)からの文書の収集物が提示される。i=1の場合、該文書の収集物は、ステップ1314からの該文書の最初(i=0)の収集物である。i>1の場合、該文書の収集物は、前の繰り返しのステップ1323でユーザに提示された(i−1)番目の文書の収集物である。
【0172】
i番目の繰り返しの開始時に、ステップ1316において、ユーザは、(i−1)番目の文書の収集物内の文書に関して相対的フィードバックを提供する。好ましくは、該相対的フィードバックは、(i−1)番目の収集物から該文書の部分集合をユーザが選択するという形をとる。但し、文書の選択は、ユーザがその文書で表されるディジタル製品が、検索目標に対して、(i−1)番目の収集物から選択しなかった文書で表されるディジタル製品より、関連性があると考えているということを示唆する。i番目の繰り返しにおいて選択された部分集合は、本開示では、i番目の選択部分集合と称され、(i−1)番目の収集物から選択されなかった文書は、時々、集合的に、i番目の非選択部分集合と称される。ステップ1318において、本開示の他の箇所で説明される方法で、一連の幾何学的制約を、該相対的フィードバックから抽出する。i番目の繰り返しで抽出された該一連の幾何学的制約は、i番目の一連の幾何学的制約と称される。
【0173】
ステップ1320において、該i番目の一連の幾何学的制約は、i番目の候補空間を形成するために、該埋め込み空間に適用される。そして、ステップ1322において、i番目の候補文書の収集物が、該i番目の候補空間内の文書の部分集合として選択される。一実施形態では、該i番目の文書の収集物は、該i番目の候補空間内の識別力のある部分集合として選択されるが、別の実施形態では、該i番目の文書の収集物は、識別力がない。ステップ1323において、該i番目の文書の収集物が、任意の更なる精緻化のために、ユーザに向けて提示される。ステップ1324において、ユーザ入力が更なる精緻化を望んでいることを示す場合、ロジックは、検索ループの次の繰り返しの為に、ステップ1315に戻る。そうでない場合は、ユーザはコミットを表示し、ステップ1326において、システムは、ユーザが選択した文書に関する動作を行う。
【0174】
図13の“動作を行う(take action)”ステップ1326では、システムが、随意的に且つ恐らく後に、ユーザから支払いを受け付け(ステップ1328)、電子メールやストリーミング等のデジタルコンテンツを配信する幾つかの手段を用いて、コンテンツをユーザへ提供する(または提供させる)(ステップ1330)。支払い受け付け及びコンテンツ提供のステップは、任意の順番で行うことができる。無料の製品に関しては、支払いは要求されなくても良い。対応するサブモジュールは、動作モジュール830に含まれる(
図8)。
図14は、ディジタル・コンテンツを識別するために使用され、次に物理的製品の製造に用いられる、
図9の検索方法のフローチャートである。ディジタル・コンテンツは、例えば、ポスター、Tシャツ、マグカップ等に印刷される画像のカタログで構成されていてもよい。本開示に記載の全ての変形は、
図14の方法で使用できる。
【0176】
最初に、ステップ1410において、ディジタル文書のカタログが埋め込み空間に埋め込まれ、データベース内に保存される。該データベース内では、距離は、埋め込み空間内の文書の各対の間で識別され、当該文書の各対によって表されるディジタル・コンテンツの間の相違点の所定の尺度に対応している。ステップ1412において、最初の問い合わせが、該問い合わせ結果を満足する文書の最初(i=0)の候補空間を生成するために、随意的に処理される。該最初の問い合わせは、例えば、通常のテキストによる問い合わせであってもよい。該最初の候補空間は、該文書のカタログの全範囲内にあり、随意的に、該全範囲よりは小さい。ステップ1413において、ディジタル文書の最初の収集物が、該最初の候補空間から抽出される。該文書の最初(i=0)の収集物は、該最初の候補空間の部分集合である。一実施形態では、該文書の最初の収集物は、該カタログの識別力のある部分集合として選択されるが、別の実施形態では、該文書の最初の収集物は、識別力がない。ステップ1414において、該文書の最初の収集物が、ユーザに向けて識別される。一実施形態では、該処理は、該最初の収集物内の文書の説明を、ユーザに対して可視的に表示することが可能である。ステップ1415において、便宜上、繰り返し1と番号が付された繰り返しで始まる、反復検索処理が開始される。
【0177】
i番目の繰り返しの開始前、ユーザには、前の繰り返し(i−1)からの文書の収集物が提示される。i=1の場合、該文書の収集物は、ステップ1414からの該文書の最初(i=0)の収集物である。i>1の場合、該文書の収集物は、前の繰り返しのステップ1423でユーザに提示された(i−1)番目の文書の収集物である。
【0178】
i番目の繰り返しの開始時に、ステップ1416において、ユーザは、(i−1)番目の文書の収集物内の文書に関して相対的フィードバックを提供する。好ましくは、該相対的フィードバックは、(i−1)番目の収集物から該文書の部分集合をユーザが選択するという形をとる。但し、文書の選択は、ユーザがその文書で表されるディジタル・コンテンツが、検索目標に対して、(i−1)番目の収集物から選択しなかった文書で表されるディジタル・コンテンツより、関連性があると考えているということを示唆する。i番目の繰り返しにおいて選択された部分集合は、本開示では、i番目の選択部分集合と称され、(i−1)番目の収集物から選択されなかった文書は、時々、集合的に、i番目の非選択部分集合と称される。ステップ1418において、本開示の他の箇所で説明される方法で、一連の幾何学的制約を、該相対的フィードバックから抽出する。i番目の繰り返しで抽出された該一連の幾何学的制約は、i番目の一連の幾何学的制約と称される。
【0179】
ステップ1420において、該i番目の一連の幾何学的制約は、i番目の候補空間を形成するために、該埋め込み空間に適用される。そして、ステップ1422において、i番目の候補文書の収集物が、該i番目の候補空間内の文書の部分集合として選択される。一実施形態では、該i番目の文書の収集物は、該i番目の候補空間内の識別力のある部分集合として選択されるが、別の実施形態では、該i番目の文書の収集物は、識別力がない。ステップ1423において、該i番目の文書の収集物が、任意の更なる精緻化のために、ユーザに向けて提示される。ステップ1424において、ユーザ入力が更なる精緻化を望んでいることを示す場合、ロジックは、検索ループの次の繰り返しの為に、ステップ1415に戻る。そうでない場合は、ユーザはコミットを表示し、ステップ1426において、システムは、ユーザが選択した文書に関する動作を行う。
【0180】
図14の“動作を行う(take action)”ステップ1426は、システムによって行われる以下のステップを伴う。
・選択されたデジタル・コンテンツを買い物かご、または、ウィッシュリストに追加する、或いは、そうしない場合は、選択された内容に基づき製品を購入するというユーザの意図を記録する(ステップ1428)。このステップでは、特定の種類の製品(例えば、マグカップやマウスパッド)についてのユーザの選択を記録してもよい。
・ユーザから支払いを受け付ける(ステップ1430)。
・選択された内容に基づき、例えば、物理的な人工物上に当該内容を再生することにより、物理的製品を製造する(ステップ1432)。
・ユーザに該物理的製品を発送する、或いは、配送業者によってそれを発送させる(ステップ1434)。
【0181】
支払いを受け付けるステップは、様々な実施形態において、製造ステップの後、または、発送ステップの後に行ってもよい。また、対応するサブモジュールは、動作モジュール830に含まれる(
図8)。好ましくは、上記実施形態の唯一の目的は、物理的製品の製造及び購入を可能にする内容を識別することである。
【0182】
図15は、共有のための内容の識別に使用される
図9の検索方法のフローチャートである。例えば、埋め込み空間内のディジタル文書は、ユーザの個人的な写真または他の媒体のカタログから構成されてもよい。本開示に記載の全ての変形は、
図15の方法で使用することができる。
【0184】
最初に、ステップ1510において、ディジタル文書のカタログが埋め込み空間に組み込まれ、データベース内に保存される。
図15の実施例では、該カタログは、例えば、ユーザの個人的な写真のライブラリである。該データベース内では、距離は、埋め込み空間内の文書の各対の間で識別され、当該文書の各対によって表される内容(content)の間の相違点の所定の尺度に対応している。ステップ1512において、最初の問い合わせが、該問い合わせ結果を満足する文書の最初(i=0)の候補空間を生成するために、随意的に処理される。該最初の問い合わせは、例えば、通常のテキストによる問い合わせであってもよい。該最初の候補空間は、該文書のカタログの全範囲内にあり、随意的に、該全範囲よりは小さい。ステップ1513において、ディジタル文書の最初の収集物が、該最初の候補空間から抽出される。該文書の最初(i=0)の収集物は、該最初の候補空間の部分集合である。一実施形態では、該文書の最初の収集物は、該カタログの識別力のある部分集合として選択されるが、別の実施形態では、該文書の最初の収集物は、識別力がない。ステップ1514において、該文書の最初の収集物が、ユーザに向けて識別される。一実施形態では、該処理は、該最初の収集物内の文書の説明を、ユーザに向けて可視的に表示することが可能である。ステップ1515において、便宜上、繰り返し1と番号が付された繰り返しで始まる、反復検索処理が開始される。
【0185】
i番目の繰り返しの開始前、ユーザには、前の繰り返し(i−1)からの文書の収集物が提示される。i=1の場合、該文書の収集物は、ステップ1514からの該文書の最初(i=0)の収集物である。i>1の場合、該文書の収集物は、前の繰り返しのステップ1523でユーザに提示された(i−1)番目の文書の収集物である。
【0186】
i番目の繰り返しの開始時に、ステップ1516において、ユーザは、(i−1)番目の文書の収集物内の文書に関して相対的フィードバックを提供する。好ましくは、該相対的フィードバックは、(i−1)番目の収集物から該文書の部分集合をユーザが選択するという形をとる。但し、文書の選択は、ユーザがその文書で表される内容が、検索目標に対して、(i−1)番目の収集物から選択しなかった文書で表される内容より、関連性があると考えているということを示唆する。i番目の繰り返しにおいて選択された部分集合は、本開示では、i番目の選択部分集合と称され、(i−1)番目の収集物から選択されなかった文書は、時々、集合的に、i番目の非選択部分集合と称される。ステップ1518において、本開示の他の箇所で説明される方法で、一連の幾何学的制約を、該相対的フィードバックから抽出する。i番目の繰り返しで抽出された該一連の幾何学的制約は、i番目の一連の幾何学的制約と称される。
【0187】
ステップ1520において、該i番目の一連の幾何学的制約は、i番目の候補空間を形成するために、該埋め込み空間に適用される。そして、ステップ1522において、i番目の候補文書の収集物が、該i番目の候補空間内の文書の部分集合として選択される。一実施形態では、該i番目の文書の収集物は、該i番目の候補空間内の識別力のある部分集合として選択されるが、別の実施形態では、該i番目の文書の収集物は、識別力がない。ステップ1523において、該i番目の文書の収集物が、任意の更なる精緻化のために、ユーザに向けて提示される。ステップ1524において、ユーザ入力が更なる精緻化を望んでいることを示す場合、ロジックは、検索ループの次の繰り返しの為に、ステップ1515に戻る。そうでない場合は、ユーザはコミットを表示し、ステップ1526において、システムは、ユーザが選択した文書に関する動作を行う。
【0188】
図15の“動作を行う(take action)”ステップ1526は、システムによって行われる以下のステップを伴う。
【0189】
・電子メール、ツイッター、Facebook等の共有の手段に関する情報をユーザから受け付ける(ステップ1528)
・第3者、または、当該商品を共有すべき第3者に関する情報をユーザから受け付ける(ステップ1530)。
・選択した1または複数の商品を共有する(ステップ1532)。
【0190】
共有手段に関する情報をユーザから受け付けるステップは、第3者または当該商品を共有すべき第3者に関する情報をユーザから受け付けるステップの前後どちらで行っても構わない。また、対応するサブモジュールは、動作モジュール830に含まれる(
図8)。繰り返しになるが、好ましくは、上記実施形態の唯一の目的は、共有される内容を識別することである。
[コンピュータ環境]
【0191】
図1は、本発明の複数の側面が実施される環境の例を示す。本システムは、インターネット等のネットワーク114を介して互いに接続する、ユーザコンピュータ110及びサーバコンピュータ112を備える。サーバコンピュータ112は、ベクトル空間における相対的距離、及び/または、位置等の埋め込み情報に関連付けされた文書を識別する、データベース816にアクセス可能である。また、様々な実施形態におけるユーザコンピュータ110は、同じ情報を識別するデータベース118にアクセス可能であってもなくてもよい。
【0192】
最初に、埋め込みモジュール820(例えば、サーバコンピュータ112、または、別のコンピュータシステム、または、当該コンピュータ上で走る処理)が、文書のカタログを、該文書についての埋め込み情報を抽出するために分析する。例えば、該文書が写真の場合、埋め込みモジュール820は、ニューラルネットワークを含んでもよく、当該写真から埋め込み画像情報を抽出する深層学習を使用してもよい。
【0193】
或いは、埋め込みモジュール820は、画像分類(所与の写真が置かれた軸)のライブラリを抽出してもよい。該画像の分類は、所与の写真において、当該所与の写真が該分類を満足するか(或いはどんな確率で満足するか)を認識するアルゴリズムにそれぞれ関連付けされている。次に、埋め込みモジュール820は、各写真に適用可能な埋め込み情報を決定するために、事前に構築されたライブラリを、現在ユーザコンピュータ110上にある写真等の新たに提供された写真のより小さい集合に適用してもよい。どちらにしても、埋め込みモジュール820は、データベース816に、埋め込み情報にそれぞれ関連付けられた、ユーザが検索するかもしれない文書のカタログの識別を書き込む。
【0194】
更に別の実施形態において、埋め込みモジュール820がデータベース816に書き込む埋め込み情報は、外部のソース(source)から提供されるか、または、手動で入力される。
【0195】
上述の繰り返し識別ステップは、様々な異なる方法で実施可能である。一実施形態では、ユーザが所望する文書を繰り返し検索する際に、全ての計算は、サーバコンピュータ112上で行われる。ユーザコンピュータ110を操作するユーザは、全ての結果を、ブラウザだけで参照する。この実施形態では、ユーザコンピュータ110が、自身にアクセス可能な文書カタログデータベース118を必ずしも備えている必要はない。別の実施形態では、サーバコンピュータ112は、自身が持つ、埋め込み空間内の文書のデータベース118全体(または、当該データベースの部分集合)を、ユーザコンピュータ110へ送信する。ユーザコンピュータ110は、当該データベースを自身のデータベース118に書き込む。斯かる一実施形態では、ユーザが所望する文書を繰り返し検索する際全ての計算は、ユーザコンピュータ110上で行われる。他にも多くの構成が同様に可能である。
[コンピュータハードウェア]
【0196】
図2は、本発明の側面を組み込むソフトウェアの実施に使用可能なコンピュータシステム210の簡略化したブロック図である。当該図は、ユーザコンピュータ110とサーバコンピュータ112の両方の実施形態を示している。
図18の実施形態では、当該図は、サーバコンピュータ1810とモバイル機器1812の両方の実施形態を示している。上記方法は、規定された動作を実行する個々のロジックステップまたはモジュールを示しているが、各ステップまたはモジュールは、実際は、コンピュータシステム210を規定された方法で動作させると理解される。
【0197】
コンピュータシステム210は、典型的には、バスサブシステム212を介して、多数の周辺機器と通信するプロセッササブシステム214を備える。これらの周辺機器には、メモリサブシステム226及びファイル格納サブシステム228を備える格納サブシステム224、ユーザインターフェース入力装置222、ユーザインターフェース出力装置220、及び、ネットワークインターフェースサブシステム216が含まれる。入力及び出力装置は、ユーザによるコンピュータシステム210との相互作用を可能にする。ネットワークインターフェースサブシステム216は、通信ネットワーク218に対するインターフェースを含む、外部のネットワークへのインターフェースを提供し、通信ネットワーク218を介して他のコンピュータシステム内の対応するインターフェース装置に接続されている。通信ネットワーク218は、多くの相互接続したコンピュータシステム、及び、通信リンクを備えていてもよい。これらの通信リンクは、有線リンク、光学リンク、無線リンク、または、何らかの他の情報通信の機構であるが、典型的には、IPベースの通信ネットワークである。一実施形態では、通信ネットワーク218は、インターネットであり、他の実施形態では、通信ネットワーク218は、何らかの適切なコンピュータネットワークである。
【0198】
ネットワークインターフェースの物理的なハードウェア構成要素は、ネットワークインターフェースカード(NIC)と称されることがあるが、それらは必ずしもカードの形をしている必要はない。例えば、集積回路(IC)やマザーボードに直接接合するコネクタ、或いは、コンピュータシステムの他の構成要素と共に単一の集積回路チップ上で製造されたマクロセルの形をしていることもある。
【0199】
ユーザインターフェース入力装置222には、キーボード、マウス、トラックボール、タッチパッド、グラフィックタブレット等のポインティングデバイス、スキャナー、ディスプレイに組み込まれたタッチスクリーン、音声認識システム、マイク等の音声入力装置、その他の種類の入力装置が含まれる。一般に、“入力装置”という用語を使用する際は、情報をコンピュータシステム210、または、コンピュータネットワーク218に入力するための全ての考えられる種類の装置及び方法を含むことを意図している。ユーザが問い合わせ及び問い合わせの精緻化をシステムに提供する際には、入力装置222が使用される。
【0200】
ユーザインターフェース出力装置220には、表示サブシステム、プリンター、ファクシミリ、音声出力装置等の非視覚的表示が含まれる。表示サブシステムには、ブラウン管(CRT)、液晶ディスプレイ(LCD)等のフラットパネル装置、投射装置、可視画像を生成するための他の機構が含まれる。また、表示サブシステムは、音声出力装置を介する等して、非視覚的表示を提供してもよい。一般に、“出力装置”という用語を使用する際は、コンピュータシステム210から、ユーザ、或いは、別のマシンまたはコンピュータシステムに情報を出力するための、全ての考えられる種類の装置及び方法を含むことを意図している。システムがユーザに向けて問い合わせ結果のレイアウトを提示する際には、出力装置220が使用される。
【0201】
格納サブシステム224は、本発明のある実施形態の機能を提供する、基本的なプログラムとデータ構造を格納する。例えば、本発明のある実施形態の機能を実施する様々なモジュールが、格納サブシステム224に格納される。これらのソフトウェアモジュールは、一般的に、プロセッササブシステム214によって実行される。
【0202】
メモリサブシステム226は、典型的には、プログラムの実行中に指示やデータを格納するための主たるランダムアクセスメモリ(RAM)230、及び、固定の指示が格納された読み出し専用メモリ(ROM)232を含む、多数のメモリを備えている。ファイル格納サブシステム228は、プログラム及びデータファイルの持続的な格納を可能とし、ハードディスクドライブ、関連する取り外し可能な媒体と共にフロッピーディスクドライブ、CD−ROMドライブ、光学ドライブ、取り外し可能なメディアカートリッジを備えてもよい。本発明のある実施形態の機能を実施するデータベース及びモジュールは、1以上のCD−ROM等のコンピュータ可読媒体上で提供され、ファイル格納サブシステム228によって格納されてもよい。ホストメモリ226は、中でも、プロセッササブシステム214によって実行される際に、コンピュータシステムにここに開示した機能を操作または実行させる、コンピュータの指示を含む。本開示で使用されているように、“ホスト”または“コンピュータ”内または上で走ると考えられる処理及びソフトウェアは、プロセッサシステム214上で、ホストメモリサブシステム226内のコンピュータ指示及びデータに応答して実行される。ホストメモリサブシステム226は、そうした指示及びデータのための他のローカルなまたは遠隔の記憶装置を含む。
【0203】
バスサブシステム212は、コンピュータシステム210の様々な構成要素及びサブシステムが互いに意図されたように通信する際に用いる機構を提供する。バスサブシステム212は単一のバスとして模式的に示されているが、該バスサブシステムに代わる実施形態では、複数のバスを使用してもよい。
【0204】
コンピュータシステム210自体は、パーソナルコンピュータ、携帯コンピュータ、ワークステーション、コンピュータ端末、ネットワークコンピュータ、テレビ、メインフレーム、サーバファーム、その他のデータ処理システムまたはユーザ機器を含む様々な種類の機器であり得る。特に、ユーザコンピュータ110は、タブレットコンピュータまたはスマートフォン等のハンドヘルド機器であることが想定される。別実施形態において、“システム”は本開示で記載する全ての動作を行い、当該“システム”は、単一または複数のコンピュータとして、様々なメンバーコンピュータで何らかの所望される動作が割り当てられて、実施することができる。コンピュータ及びネットワークの絶えず変化する性質のために、
図2に示したコンピュータシステム210の説明は、本発明の好ましい実施形態を示す目的で、具体例としてのみ意図されている。コンピュータシステム210は、
図2に示すコンピュータシステムよりも構成要素の多いまたは少ない、多くの他の構成が可能である。
【0205】
本発明は、完全に機能するデータ処理システムとの関連で説明してきたが、ここに記載の処理が、指示及びデータについて、コンピュータ可読の媒体の形で配布可能であり、本発明は、該配布の実施に実際に使用される信号担持媒体の特定の種類に関係なく、等しく適用されると、当業者は理解する。本開示で使われているように、コンピュータ可読媒体は、コンピュータシステムによって情報の記憶及び読み出しが可能であるものを指す。例としては、フロッピーディスク、ハードディスクドライブ、RAM、CD、DVD、フラッシュメモリ、USBドライブ等が挙げられる。コンピュータ可読媒体は、情報を符号化された形式で記憶し、当該情報は、特定のデータ処理システムでの実際の使用のために復号化される。単一のコンピュータ可読媒体は、該用語が本開示で使われているように、複数のCD−ROM、RAMの複数のセグメント、複数の種類の媒体の組み合わせ等の2以上の物理的な品物を含んでもよい。本開示で使われているように、該用語には、時間と共に信号が変化する方法で情報が符号化される単なる時変信号は含まれない。
[条項]
【0206】
以下の条項では、本発明の側面に係る方法及びシステムの様々な例を説明する。それらの幾つかは、クレームに記載の側面に追加される。
【0207】
条項1. ユーザが所望する文書を識別するためのシステムであって、
プロセッサと、
前記プロセッサに接続され、ロジックを規定する複数のソフトウェアコードの部分を持続的な方法で記憶するコンピュータ可読媒体と、
埋め込み空間内の文書のカタログを識別し、前記埋め込み空間内の文書の各対で表される製品の間の相違点の所定の尺度に対応する、前記文書の各対の間の距離を識別するデータベースを、コンピュータ可読媒体において持続的な方法で提供する第1モジュールと、
前記ユーザに向けて、前記埋め込み空間内の最初(i=0)の候補空間から、前記最初の候補空間より少ない文書を有する、N0>1の候補文書の最初(i=0)の収集物を識別する第2モジュールと、
第1(i=1)の繰り返しから始まる複数の繰り返しにおけるi番目の繰り返し毎に、 (i−1)番目の文書の収集物からi番目に選択された文書の部分集合を前記ユーザが選択することに応じて、所定の集合的密接の定義に従い、i番目の候補空間内の文書が、(i−1)番目の候補空間内の文書より、埋め込み空間において、i番目に選択された部分集合内の文書に対して集合的に近くなるように、i番目の候補空間を識別するために、前記埋め込み空間を幾何学的に制約し、
前記ユーザに向けて、前記i番目の候補空間からNi>1の候補文書のi番目の収集物を識別する第3モジュールと(但し、Niは前記i番目の候補空間内の文書の数より小さい)、
前記ユーザに向けて識別された特定の文書の部分集合を前記ユーザが選択することに応じて動作を行わせる第4モジュールと、を備え、
前記所定の集合的密接の定義は、候補文書Xが、前記埋め込み空間においてd(A,X)<d(B,X)の場合に文書Bよりも文書Aにより近いと考えられるように、規定される。
【0208】
条項2. 条項1に記載のシステムであって、前記第2モジュールによって前記ユーザに向けて識別された文書の各i番目の収集物は、前記i番目の候補空間における集合サイズNiの文書の平均的な識別力よりも、より識別力がある。
【0209】
条項3. 条項1に記載のシステムであって、前記第1モジュールは、
所定の主題領域内にあると考えられる文書のみを含む訓練データに依存して埋め込みを学習するモジュールと、
前記学習された埋め込みに依存して、前記文書のカタログから前記埋め込み空間に、前記文書を埋め込むモジュールと、を備え、
前記文書のカタログ内の全ての文書は、前記主題領域内にあると考えられる。
【0210】
条項4. 条項1に記載のシステムであって、i番目の候補空間を識別するために各i番目の繰り返しにおいて前記埋め込み空間を幾何学的に制約する際に、前記第3モジュールは、
前記埋め込み空間上の幾何学的制約の各i番目の集合を識別し、
前記i番目の候補空間内の少なくとも幾つかの特定の文書の夫々について、
各幾何学的制約の不満足は各ペナルティに事前に関連付けられており、幾何学的制約の1からi番目の集合内の、前記特定の文書によって満足されない幾何学的制約の夫々に関連付けられたペナルティの総計を決定し、
前記埋め込み空間から、前記文書の内、Riのみを前記i番目の候補空間に含み、
前記Riの文書の夫々のペナルティの総計は、前記第3モジュールによって総計が決定された前記埋め込み空間における他のどの文書のペナルティの総計を超えることはない。
【0211】
条項5. 条項1に記載のシステムであって、前記ユーザに向けて、前記最初(i=0)の候補空間からN0>1の候補文書の最初(i=0)の収集物を識別する際、前記第2モジュールは、
前記最初の候補空間内の類似する文書のクラスタを識別し、
前記識別されたクラスタの夫々から、少なくとも1つの文書を含むように前記最初の収集物を選択する。
【0212】
条項6. 条項5に記載のシステムであって、前記ユーザに向けて候補文書の最初の収集物を識別する際に、前記第2モジュールは、前記クラスタの夫々のmedoidに向けて識別を行う。
【0213】
条項7. 条項1に記載のシステムであって、各i番目の候補空間を識別するために前記埋め込み空間を幾何学的に制約する際に、前記第3モジュールは、前記埋め込み空間上の各i番目の幾何学的制約の集合を識別する。
【0214】
条項8. 条項7に記載のシステムであって、前記幾何学的制約の各j番目の制約は、前記埋め込み空間内の各文書の対(Aj,Bj)を識別し、d(Aj,X)<d(Bj,X)の場合に特定の候補文書Xによって満足されるように規定される。
【0215】
条項9. 条項7に記載のシステムであって、前記第3モジュールによって前記ユーザに向けて識別された各(i−1)番目の収集物内の文書であるが前記i番目の選択された部分集合内には存在しない文書が、i番目の選択されていない文書の部分集合を規定し、
各i番目の候補空間を識別するために前記埋め込み空間を幾何学的に制約する際に、前記(i−1)番目の文書の収集物から前記i番目の文書の選択された部分集合をユーザが選択することに応じて、前記第3モジュールは、前記埋め込み空間上の複数の追加された制約を追加し、
前記複数の追加された制約は、前記i番目の選択された部分集合内の全ての文書A及び、前記i番目の選択されていない文書の部分集合内の文書Bに関してd(A,X)<d(B,X)の場合及び当該場合に限り、特定の候補文書Xによって満足される。
【0216】
条項10. 条項1に記載のシステムであって、各i番目の候補空間を識別するために前記埋め込み空間を幾何学的に制約する際に、前記第3のモジュールは、前記埋め込み空間内の超平面を更新し、前記i番目の候補空間は、前記更新された超平面によって境界が示される前記埋め込み空間の領域である。
【0217】
条項11. 条項1に記載のシステムは、前記埋め込み空間が距離空間であり、各i番目の候補空間を識別するために前記埋め込み空間を幾何学的に制約する際に、前記第3モジュールが、前記埋め込み空間内のm−超平面を更新し、前記i番目の候補空間は、前記更新された超平面によって境界が示される前記埋め込み空間の領域である。
【0218】
条項12. 条項1に記載のシステムであって、各i番目の候補空間を識別するために前記埋め込み空間を幾何学的に制約する際に、前記第3モジュールは、機械学習アルゴリズムで前記ユーザによって選択された文書の前記i番目の部分集合を、前記ユーザの所望する目標の仮説を更新するための訓練データとして扱う。
【0219】
条項13. 条項1に記載のシステムであって、各i番目の候補空間を識別するために前記埋め込み空間を幾何学的に制約する際に、前記第3モジュールは、前記埋め込み空間上の幾何学的制約の各i番目の集合を識別し、更に、前記システムは、
前記幾何学的制約の集合の内、少なくとも2つを識別する制約データベースを維持する第5モジュールと、
P<Qの場合、前記繰り返しのQ番目の後に、P番目の候補空間へ戻るというユーザの要求に応答して、前記ユーザに向けて、前記P番目の候補空間からNP>1候補文書の集合を識別する第6モジュールと、を備える。
【0220】
条項14. ユーザが製品を取得する方法であって、
埋め込み空間内の文書のカタログを識別するデータベースであって、前記文書のカタログ内の各文書は製品を表し、前記埋め込み空間内の文書の各対で表される前記製品の間の相違点の所定の尺度に対応する、前記文書の各対の間の距離を識別するデータベースを、コンピュータシステムにアクセス可能に提供する工程と、
コンピュータシステムが、前記ユーザに向けて、前記埋め込み空間内の最初(i=0)の候補空間から、前記最初の候補空間よりも少ない文書を有する、N0>1の候補文書の最初(i=0)の収集物を識別する工程と、
第1(i=1)の繰り返しから始まる複数の繰り返しにおけるi番目の繰り返し毎に、
(i−1)番目の文書の収集物からi番目に選択された文書の部分集合をユーザが選択することに応答して、
コンピュータシステムが、所定の集合的密接の定義に従い、i番目の候補空間内の文書が、(i−1)番目の候補空間内の文書よりは、前記埋め込み空間において、i番目に選択された部分集合内の文書に対して集合的により近くなるように、i番目の候補空間を識別するために前記埋め込み空間を幾何学的に制約し、
前記ユーザに向けて、前記i番目の候補空間からNi>1の候補文書のi番目の収集物を識別する工程と(但し、Niは前記i番目の候補空間内の文書の数より小さい)、
前記ユーザに向けて識別された特定の文書をユーザが選択することに応答して、前記特定の文書によって表される製品を、ユーザに向けて発送する工程と、を備える。
【0221】
条項15. 条項14に記載の方法であって、前記特定の文書をユーザが選択することに更に応答して、前記特定の文書で表される前記製品に対する支払いを受け付ける工程を、更に備える。
【0222】
条項16. ユーザが製品を取得するシステムであって、
プロセッサと、
前記プロセッサに接続され、ロジックを規定する複数のソフトウェアコードの部分を持続的な方法で記憶するコンピュータ可読媒体と、
埋め込み空間内の文書のカタログを識別するデータベースであって、前記文書のカタログ内の各文書は製品を表し、前記埋め込み空間内の文書の各対で表される前記製品の間の相違点の所定の尺度に対応する、前記文書の各対の間の距離を識別するデータベースを、コンピュータ可読媒体において持続的な方法で提供する第1モジュールと、
前記ユーザに向けて、前記埋め込み空間内の最初(i=0)の候補空間から、前記最初の候補空間より少ない文書を有する、N0>1の候補文書の最初(i=0)の収集物を識別する第2モジュールと、
第1(i=1)の繰り返しから始まる複数の繰り返しにおけるi番目の繰り返し毎に、 (i−1)番目の文書の収集物からi番目に選択された文書の部分集合をユーザが選択することに応答して、所定の集合的密接の定義に従い、i番目の候補空間内の文書が、(i−1)番目の候補空間内の文書よりは、埋め込み空間において、i番目に選択された部分集合内の文書に対して集合的に近くなるように、i番目の候補空間を識別するために、前記埋め込み空間を幾何学的に制約し、
前記ユーザに向けて、前記i番目の候補空間からNi>1の候補文書のi番目の収集物を識別する第3モジュールと(但し、Niは前記i番目の候補空間内の文書の数より小さい)、
前記ユーザに向けて識別された特定の文書をユーザが選択することに応答して、前記特定の文書で表される製品をユーザに向けて発送する第4モジュールと、を備える。
【0223】
条項17. ユーザがディジタル・コンテンツを取得する方法であって、
コンピュータシステムにアクセス可能に、埋め込み空間内の文書のカタログを識別するデータベースであって、前記文書のカタログ内の前記文書の夫々はディジタル・コンテンツを表し、前記埋め込み空間内の文書の各対で表される前記ディジタル・コンテンツの間の相違点の所定の尺度に対応する、前記文書の各対の間の距離を識別するデータベースを提供する工程と、
コンピュータシステムが、前記ユーザに向けて、前記埋め込み空間内の最初(i=0)の候補空間から、前記最初の候補空間よりも少ない文書を有する、N0>1の候補文書の最初(i=0)の収集物を識別する工程と、
第1(i=1)の繰り返しから始まる複数の繰り返しにおけるi番目の繰り返し毎に、
(i−1)番目の文書の収集物からi番目に選択された文書の部分集合をユーザが選択することに応答して、コンピュータシステムが、所定の集合的密接の定義に従い、i番目の候補空間内の文書が、(i−1)番目の候補空間内の文書よりは、前記埋め込み空間において、i番目に選択された部分集合内の文書に対して集合的に近くなるように、i番目の候補空間を識別するために前記埋め込み空間を幾何学的に制約し、
前記ユーザに向けて、前記i番目の候補空間からNi>1の候補文書のi番目の収集物を識別する工程と(但し、Niは前記i番目の候補空間内の文書の数より小さい)、
前記ユーザに向けて識別された特定の文書をユーザが選択することに応答して、前記特定の文書によって表されるディジタル・コンテンツを、ユーザに向けて配信する工程と、を備える。
【0224】
条項18. 条項17に記載の方法であって、前記ディジタル・コンテンツは、ファイル、画像、映像、音声ファイル、ストリーミング媒体プログラムからなるグループの一部である。
【0225】
条項19. ユーザがディジタル・コンテンツを取得するシステムであって、
プロセッサと、
前記プロセッサに接続され、ロジックを規定する複数のソフトウェアコードの部分を持続的な方法で記憶するコンピュータ可読媒体と、
埋め込み空間内の文書のカタログを識別するデータベースであって、前記文書のカタログの文書の夫々は各ディジタル・コンテンツを表し、前記埋め込み空間内の文書の各対で表される前記ディジタル・コンテンツの間の相違点の所定の尺度に対応する、前記文書の各対の間の距離を識別するデータベースを、コンピュータ可読媒体において持続的な方法で提供する第1モジュールと、
前記ユーザに向けて、前記埋め込み空間内の最初(i=0)の候補空間から、前記最初の候補空間より少ない文書を有する、N0>1の候補文書の最初(i=0)の収集物を識別する第2モジュールと、
第1(i=1)の繰り返しから始まる複数の繰り返しにおけるi番目の繰り返し毎に、
(i−1)番目の文書の収集物からi番目に選択された文書の部分集合をユーザが選択することに応答して、所定の集合的密接の定義に従い、i番目の候補空間内の文書が、(i−1)番目の候補空間内の文書よりも、埋め込み空間において、i番目に選択された部分集合内の文書に対して集合的に近くなるように、i番目の候補空間を識別するために前記埋め込み空間を幾何学的に制約し、
前記ユーザに向けて、前記i番目の候補空間からNi>1の候補文書のi番目の収集物を識別する第3モジュールと(但し、Niは前記i番目の候補空間内の文書の数より小さい)、
前記ユーザに向けて識別された特定の文書をユーザが選択することに応答して、前記特定の文書で表されるディジタル・コンテンツをユーザに向けて配信する第4モジュールと、を備える。
【0226】
条項20. ディジタル・コンテンツから作製される物理的製品を製造する方法であって、
コンピュータシステムにアクセス可能な、埋め込み空間内の文書のカタログを識別するデータベースであって、前記文書のカタログ内の文書の夫々はディジタル・コンテンツを表し、前記埋め込み空間内の文書の各対で表される前記ディジタル・コンテンツの間の相違点の所定の尺度に対応する、前記文書の各対の間の距離を識別するデータベースを提供する工程と、
コンピュータシステムが、前記ユーザに向けて、前記埋め込み空間内の最初(i=0)の候補空間から、前記最初の候補空間よりも少ない文書を有するN0>1の候補文書の最初(i=0)の収集物を識別する工程と、
第1(i=1)の繰り返しから始まる複数の繰り返しにおけるi番目の繰り返し毎に、
(i−1)番目の文書の収集物からi番目に選択された文書の部分集合をユーザが選択することに応答して、コンピュータシステムが、所定の集合的密接の定義に従い、i番目の候補空間内の文書が、(i−1)番目の候補空間内の文書よりは、前記埋め込み空間において、i番目に選択された部分集合内の文書に対して集合的に近くなるように、i番目の候補空間を識別するために前記埋め込み空間を幾何学的に制約し、
前記ユーザに向けて、前記i番目の候補空間からNi>1の候補文書のi番目の収集物を識別する工程と(但し、Niは前記i番目の候補空間内の文書の数より小さい)、
前記ユーザに向けて識別された特定の文書をユーザが選択することに応答して、前記特定の文書によって表されるディジタル・コンテンツに基づいて、物理的製品の製造及び配送を行う工程と、を備える。
【0227】
条項21. ディジタル・コンテンツから作製される物理的製品を製造するシステムであって、
プロセッサと、
前記プロセッサに接続され、ロジックを規定する複数のソフトウェアコードの部分を持続的な方法で記憶するコンピュータ可読媒体と、
埋め込み空間内の文書のカタログを識別するデータベースであって、前記文書のカタログ内の文書の夫々が各ディジタル・コンテンツを表し、前記埋め込み空間内の文書の各対で表される前記ディジタル・コンテンツの間の相違点の所定の尺度に対応する、前記文書の各対の間の距離を識別するデータベースを、コンピュータ可読媒体において持続的な方法で提供する第1モジュールと、
前記ユーザに向けて、前記埋め込み空間内の最初(i=0)の候補空間から、前記最初の候補空間より少ない文書を有する、N0>1の候補文書の最初(i=0)の収集物を識別する第2モジュールと、
第1(i=1)の繰り返しから始まる複数の繰り返しにおけるi番目の繰り返し毎に、
(i−1)番目の文書の収集物からi番目に選択された文書の部分集合をユーザが選択することに応答して、所定の集合的密接の定義に従い、i番目の候補空間内の文書が、(i−1)番目の候補空間内の文書よりも、前記埋め込み空間において、i番目に選択された部分集合内の文書に対して集合的に近くなるように、i番目の候補空間を識別するために前記埋め込み空間を幾何学的に制約し、
前記ユーザに向けて、前記i番目の候補空間からNi>1の候補文書のi番目の収集物を識別する第3モジュールと(但し、Niは前記i番目の候補空間内の文書の数より小さい)、
前記ユーザに向けて識別された特定の文書をユーザが選択することに応答して、前記特定の文書で表される前記ディジタル・コンテンツに基づいて物理的製品の製造及び配送を行う第4モジュールと、を備える。
【0228】
条項22. ディジタル・コンテンツを共有する方法であって、
コンピュータシステムにアクセス可能な、埋め込み空間内の文書のカタログを識別するデータベースであって、前記文書のカタログ内の文書の夫々は各ディジタル・コンテンツを表し、前記埋め込み空間内の文書の各対で表される前記ディジタル・コンテンツの間の相違点の所定の尺度に対応する、前記文書の各対の間の距離を識別するデータベースを提供する工程と、
コンピュータシステムが、前記ユーザに向けて、前記埋め込み空間内の最初(i=0)の候補空間から、前記最初の候補空間よりも少ない文書を有する、N0>1の候補文書の最初(i=0)の収集物を識別する工程と、
第1(i=1)の繰り返しから始まる複数の繰り返しにおけるi番目の繰り返し毎に、
(i−1)番目の文書の収集物からi番目に選択された文書の部分集合をユーザが選択することに応答して、コンピュータシステムが、所定の集合的密接の定義に従い、i番目の候補空間内の文書が、(i−1)番目の候補空間内の文書よりも、前記埋め込み空間において、i番目に選択された部分集合内の文書に対して集合的に近くなるように、i番目の候補空間を識別するために前記埋め込み空間を幾何学的に制約し、
前記ユーザに向けて、前記i番目の候補空間からNi>1の候補文書のi番目の収集物を識別する工程と(但し、Niは前記i番目の候補空間内の文書の数より小さい)、
前記ユーザに向けて識別された特定の文書をユーザが選択することに応答して、前記特定の文書によって表される前記ディジタル・コンテンツを共有させる工程と、を備える。
【0229】
条項23. ディジタル・コンテンツを共有するシステムであって、
プロセッサと、
前記プロセッサに接続され、ロジックを規定する複数のソフトウェアコードの部分を持続的な方法で記憶するコンピュータ可読媒体と、
埋め込み空間内の文書のカタログを識別するデータベースであって、前記文書のカタログ内の文書の夫々が各ディジタル・コンテンツを表し、前記埋め込み空間内の文書の各対で表される前記ディジタル・コンテンツの間の相違点の所定の尺度に対応する、前記文書の各対の間の距離を識別するデータベースを、コンピュータ可読媒体において持続的な方法で提供する第1モジュールと、
前記ユーザに向けて、前記埋め込み空間内の最初(i=0)の候補空間から、前記最初の候補空間より少ない文書を有する、N0>1の候補文書の最初(i=0)の収集物を識別する第2モジュールと、
第1(i=1)の繰り返しから始まる複数の繰り返しにおけるi番目の繰り返し毎に、 (i−1)番目の文書の収集物からi番目に選択された文書の部分集合をユーザが選択することに応答して、所定の集合的密接の定義に従い、i番目の候補空間内の文書が、(i−1)番目の候補空間内の文書よりも、前記埋め込み空間において、i番目に選択された部分集合内の文書に対して集合的に近くなるように、i番目の候補空間を識別するために前記埋め込み空間を幾何学的に制約し、
前記ユーザに向けて、前記i番目の候補空間からNi>1の候補文書のi番目の収集物を識別する第3モジュールと(ただし、Niは前記i番目の候補空間内の文書の数より小さい)、
前記ユーザに向けて識別された特定の文書をユーザが選択することに応答して、前記特定の文書で表されるディジタル・コンテンツを共有させる第4モジュールと、を備える。
【0230】
条項24. ユーザが所望する文書を識別するシステムであって、
プロセッサ及び前記各プロセッサに接続されたコンピュータ可読媒体を夫々有し、複数のソフトウェアコードの部分を前記コンピュータ可読媒体に持続的な方法で記憶する、クライアント装置とサーバ装置を備え、
前記サーバ装置は、自身にアクセス可能なコンピュータ可読媒体に保存された文書データベースを備え、前記文書データベースは、埋め込み空間内の文書のカタログを識別し、更に、前記埋め込み空間内の文書の各対の間の相違点の所定の尺度に対応する、前記文書の各対の間の距離を識別し、
前記クライアント装置は、自身にアクセス可能な、前記埋め込み空間上の幾何学的制約の収集物を識別する制約データベースを、コンピュータ可読媒体に持続的な方法で有し、
前記サーバ装置上の前記複数のソフトウェアコードの部分は、
前記ユーザに向けて、前記埋め込み空間内の最初(i=0)の候補空間から、前記最初の候補空間より少ない文書を有する、N0>1の候補文書の最初(i=0)の収集物を識別するモジュールと、
前記クライアント装置からの、前記埋め込み空間上の幾何学的制約の収集物の受け取りに依存して、及び、当該受け取りに応答してi番目の候補空間を決定し、前記ユーザに向けて、前記i番目の候補空間からNi>1の候補文書のi番目の収集物を識別するモジュールと(但し、Niは前記i番目の候補空間内の文書の数より小さい)、を備え、
前記クライアント装置上の前記複数のソフトウェアコードの部分は、前記サーバ装置から受け取った候補文書の収集物を前記ユーザに向けて提示するモジュールを備え、
前記クライアント装置上の前記複数のソフトウェアコードの部分は、更に、第1(i=1)の繰り返しから始まる複数の繰り返しにおけるi番目の繰り返し毎に、
前記サーバ装置からの(i−1)番目の文書の収集物の受け取りに応答して、前記ユーザに向けて前記(i−1)番目の文書の収集物を提示し、
前記ユーザに提示された前記(i−1)番目の文書の収集物からi番目に選択された文書の部分集合をユーザが選択することに応答して、所定の集合的密接の定義に従い、i番目の候補空間内の文書が、(i−1)番目の候補空間内の文書よりも、前記埋め込み空間において、i番目に選択された部分集合内の文書に対して集合的に近くなるように、i番目の候補空間を識別する、前記埋め込み空間上の少なくとも1つの幾何学的制約のi番目の集合を構築し、
前記i番目の幾何学的制約の集合に応じて前記制約データベースを更新し、
前記i番目の候補空間を決定するために前記制約データベース内の前記制約の集合を前記サーバに向かって転送するモジュールを備え、
前記クライアント装置上の前記複数のソフトウェアコードの部分は、更に、前記ユーザに向けて提示された文書の特定の部分集合を前記ユーザが選択することに応答して動作を行わせるモジュールを備える。
【0231】
条項25. 条項24に記載のサーバ装置。
【0232】
条項26. 条項24に記載のクライアント装置。
【0233】
先行するイベントまたは値が所与のイベントまたは値に影響する場合、本開示で使用されているように、当該所与のイベントまたは値は、先行するイベントまたは値に“応答”している。中間に処理要素、ステップ、期間が存在する場合でも、前記所与のイベントまたは値は、やはり先行するイベントまたは値に“応答”していると言える。当該中間に存在する処理要素またはステップが、1以上のイベントまたは値と結合した場合、処理要素またはステップの信号の出力は、当該イベントまたは値の入力の夫々に対して、“応答”していると考えられる。所与のイベントまたは値が、先行するイベントまたは値と同じである場合は、これは、所与のイベントまたは値が先行するイベントまたは値に“応答”していると考えられる、単なる縮退した(degenerate)ケースである。所与のイベントまたは値の、別のイベントまたは値に対する“依存”も同様に定義される。
【0234】
本開示で使われているように、情報の項目の“識別”は、情報の当該項目の直接の特定を必ずしも必要としない。情報は、単に、1以上の間接的な層を通じて実際の情報を参照するだけで、或いは、実際の情報の項目を決定するのに十分な、異なる情報の1以上の項目を識別することで、フィールドにおける“識別”が可能である。また、“示す”という用語は、本開示では、“識別する”と同じ意味で使われている。
【0235】
出願人は、ここに開示された問題を解決するか否かに拘わらず、また、特許請求の範囲に限定することなく、当業者の共通の一般的知識の観点から、本明細書全体に基づいて実行可能である程度に、本明細書及び特許請求の範囲に記載した個々の特徴を分離して、及び、当該特徴の2以上の組み合わせを、ここに開示する。出願人は、本発明の側面は、当該特徴または特徴の組み合わせで構成されていることを示している。前述の説明を考慮して、本発明の範囲内で、様々な変形が可能であることは、当業者にとっては明白である。
【0236】
本発明の好ましい実施形態の上記説明は、例証及び描写を目的として提供された。本発明を、開示された形が網羅的であること、または、それに限定することは意図されていない。言うまでもなく、多くの変更及び変形が当業者には明らかである。特に、本特許出願の背景技術の部分で説明、示唆、或いは、参照によって組み込まれているありとあらゆる変形は、本発明の実施形態の説明に、限定されることなく、参照によって明確に取り込まれる。また、何れか1つの実施形態に関して、本開示で説明、示唆、或いは、参照によって取り込まれたありとあらゆる変形は、他の全ての実施形態についても教示されたものと考えられる。本開示で記載した実施形態は、本発明の本質及び実際的な応用を最も良く説明するために、選択及び説明されている。それにより、当業者は、様々な実施形態に関して本発明を理解し、意図した特定の使用に合わせて様々な変形を行うことが可能となる。本発明の範囲は、以下の請求項及びその均等物によって定義されることが意図されている。