JP2019532445A - 多義コードを使用した類似度検索 - Google Patents
多義コードを使用した類似度検索 Download PDFInfo
- Publication number
- JP2019532445A JP2019532445A JP2019533301A JP2019533301A JP2019532445A JP 2019532445 A JP2019532445 A JP 2019532445A JP 2019533301 A JP2019533301 A JP 2019533301A JP 2019533301 A JP2019533301 A JP 2019533301A JP 2019532445 A JP2019532445 A JP 2019532445A
- Authority
- JP
- Japan
- Prior art keywords
- query
- representing
- user
- vector representing
- vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 239000013598 vector Substances 0.000 claims abstract description 210
- 238000000034 method Methods 0.000 claims abstract description 173
- 230000006870 function Effects 0.000 claims abstract description 85
- 238000010801 machine learning Methods 0.000 claims abstract description 18
- 230000015654 memory Effects 0.000 claims description 52
- 230000008569 process Effects 0.000 claims description 45
- 238000003860 storage Methods 0.000 claims description 36
- 230000004044 response Effects 0.000 claims description 23
- 238000000926 separation method Methods 0.000 claims description 4
- 230000006855 networking Effects 0.000 description 182
- 230000000875 corresponding effect Effects 0.000 description 80
- 230000009471 action Effects 0.000 description 60
- 238000013139 quantization Methods 0.000 description 42
- 238000013459 approach Methods 0.000 description 23
- 238000004891 communication Methods 0.000 description 23
- 238000005457 optimization Methods 0.000 description 20
- 238000004422 calculation algorithm Methods 0.000 description 15
- 230000009977 dual effect Effects 0.000 description 13
- 238000013475 authorization Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 230000005484 gravity Effects 0.000 description 8
- 238000001914 filtration Methods 0.000 description 7
- 238000012549 training Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 230000002860 competitive effect Effects 0.000 description 5
- 238000009826 distribution Methods 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 5
- 238000002474 experimental method Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000002829 reductive effect Effects 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000013515 script Methods 0.000 description 4
- 239000000654 additive Substances 0.000 description 3
- 230000000996 additive effect Effects 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000012552 review Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000005295 random walk Methods 0.000 description 2
- 230000008707 rearrangement Effects 0.000 description 2
- 238000002922 simulated annealing Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010411 cooking Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003997 social interaction Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Abstract
Description
n次元のベクトル空間のn次元のベクトルによって表されるクエリ、特にデータベース内の1以上の類似の画像および動画または画像もしくは動画のクエリを受け取る工程と、
クエリを表すベクトルを量子化器を使用して量子化する工程であって、量子化されたベクトルは多義コードに対応し、量子化器は、ハミング距離が目的関数を使用して重心間距離を近似化するように多義コードを決定するために、機械学習によって訓練されている、工程と、
複数のコンテンツ・オブジェクトのそれぞれについて、クエリを表すベクトルに対応する多義コードと、コンテンツ・オブジェクトを表す量子化されたベクトルに対応する多義コードとの間のハミング距離を計算する工程と、
クエリを表すベクトルに対応する多義コードと、コンテンツ・オブジェクトを表すベクトルに対応する多義コードとの間の計算されたハミング距離が閾値量未満であるとの決定に基づいて、複数のコンテンツ・オブジェクトのうちの1つのコンテンツ・オブジェクトがクエリの近似最近傍であると決定する工程と、
を含むことができる。
クエリを表すベクトルを量子化する工程は、クエリを表す複数のサブベクトルのそれぞれを、複数のサブ量子化器を使用して量子化する工程を含み、量子化された各サブベクトルは多義コードに対応し、
各サブ量子化器は、ハミング距離が目的関数を使用して重心間距離を近似化するように多義コードを決定するために、機械学習によって訓練されており、
クエリを表すベクトルに対応する多義コードと、コンテンツ・オブジェクトを表す量子化されたベクトルに対応する多義コードとの間のハミング距離は、クエリを表す各それぞれのサブベクトルに対応する各多義コードと、コンテンツ・オブジェクトを表す各量子化されたサブベクトルに対応する複数の各多義コードのそれぞれとの間の複数のハミング距離に基づいて計算される。
コンテンツ・オブジェクトを表す量子化された複数のサブベクトルのそれぞれを、対応するサブ量子化器を使用して量子化することができる。
第1多義コードと第2多義コードとの間のハミング距離は、予め生成されたルックアップ・テーブルに基づいて計算することができる。
本発明による一実施形態では、目的関数がargmaxπΣi∈J,j∈J[h(π(i),π(j))−f(d(ci,cj))]2である方法において、
Jは、重心インデックスの集合とすることができ、
ciは、重心iに関連付けられている再現値とすることができ、
関数πは、各重心インデックスを単位超立方体の異なる頂点にマッピングすることができ、
h(π(i),π(j))は、π(i)とπ(j)との間のハミング距離とすることができ、
d(ci,cj)は、ciとcjとの間の距離とすることができ、
関数fは、d(ci,cj)を、匹敵するハミング距離の範囲にマッピングする単調増加関数とすることができる。
μは、経験的に測定したdの平均とすることができ、
σは、経験的に測定したdの標準偏差とすることができる。
Jは、重心インデックスの集合とすることができ、
ciは、重心iに関連付けられている再現値とすることができ、
関数πは、各重心インデックスを単位超立方体の異なる頂点にマッピングすることができ、
h(π(i),π(j))は、π(i)とπ(j)との間のハミング距離とすることができ、
d(ci,cj)は、ciとcjとの間の距離とすることができ、
関数fは、d(ci,cj)を、匹敵するハミング距離の範囲にマッピングする単調増加関数とすることができ、
関数wは、α<1で、関数w(u)=αuとすることができる。
受け取られたクエリはクエリ画像を含むことができ、方法は、クエリ画像を表すn次元のベクトルを生成することを含むことができる。
コンテンツ・オブジェクトのそれぞれは動画を含むことができる。
受け取られたクエリはクエリ動画を含むことができ、方法は、クエリ動画を表すn次元のベクトルを生成することを含むことができる。
第1ユーザに対応する第1ノードと、
複数のコンテンツ・オブジェクトにそれぞれ対応する複数の第2ノードとを含むことができる。
n次元のベクトル空間のn次元のベクトルによって表されるクエリを受け取る工程と、
クエリを表すベクトルを量子化器を使用して量子化する工程であって、量子化されたベクトルは多義コードに対応し、量子化器は、ハミング距離が目的関数を使用して重心間距離を近似化するように多義コードを決定するために、機械学習によって訓練されている、工程と、
複数のコンテンツ・オブジェクトのそれぞれについて、クエリを表すベクトルに対応する多義コードと、コンテンツ・オブジェクトを表す量子化されたベクトルに対応する多義コードとの間のハミング距離を計算する工程と、
クエリを表すベクトルに対応する多義コードと、コンテンツ・オブジェクトを表すベクトルに対応する多義コードとの間の計算されたハミング距離が閾値量未満であるとの決定に基づいて、複数のコンテンツ・オブジェクトのうちの1つのコンテンツ・オブジェクトがクエリの近似最近傍であると決定する工程と、
が行われるように構成される。
クエリを表すベクトルを量子化することは、クエリを表す複数のサブベクトルのそれぞれを、複数のサブ量子化器を使用して量子化することを含み、量子化された各サブベクトルは多義コードに対応し、
各サブ量子化器は、ハミング距離が目的関数を使用して重心間距離を近似化するように多義コードを決定するために、機械学習によって訓練されており、
クエリを表すベクトルに対応する多義コードと、コンテンツ・オブジェクトを表す量子化されたベクトルに対応する多義コードとの間のハミング距離は、クエリを表す各それぞれのサブベクトルに対応する各多義コードと、コンテンツ・オブジェクトを表す各量子化されたサブベクトルに対応する複数の各多義コードのそれぞれとの間の複数のハミング距離に基づいて計算される。
n次元のベクトル空間のn次元のベクトルによって表されるクエリを受け取る工程と、
クエリを表すベクトルを量子化器を使用して量子化する工程であって、量子化されたベクトルは多義コードに対応し、量子化器は、ハミング距離が目的関数を使用して重心間距離を近似化するように多義コードを決定するために、機械学習によって訓練されている、工程と、
複数のコンテンツ・オブジェクトのそれぞれについて、クエリを表すベクトルに対応する多義コードと、コンテンツ・オブジェクトを表す量子化されたベクトルに対応する多義コードとの間のハミング距離を計算する工程と、
クエリを表すベクトルに対応する多義コードと、コンテンツ・オブジェクトを表すベクトルに対応する多義コードとの間の計算されたハミング距離が閾値量未満であるとの決定に基づいて、複数のコンテンツ・オブジェクトのうちの1つのコンテンツ・オブジェクトがクエリの近似最近傍であると決定する工程と、
を行うように作動可能である。
図1は、ソーシャル・ネットワーキング・システムに関連付けられている例示的なネットワーク環境100を示している。ネットワーク環境100は、ネットワーク110によって互いにつながっているクライアント・システム130、ソーシャル・ネットワーキング・システム160、およびサードパーティ・システム170を含む。図1は、クライアント・システム130、ソーシャル・ネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110の特定の構成を示しているが、本開示は、クライアント・システム130、ソーシャル・ネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110の任意の適切な構成を想定している。限定ではなく、例として、クライアント・システム130、ソーシャル・ネットワーキング・システム160、およびサードパーティ・システム170のうちの複数は、ネットワーク110を迂回して、互いに直接つながることが可能である。別の例として、クライアント・システム130、ソーシャル・ネットワーキング・システム160、およびサードパーティ・システム170のうちの複数は、物理的にまたは論理的に、全体としてまたは部分的に互いに同一場所に配置されることが可能である。その上、図1は、特定の数のクライアント・システム130、ソーシャル・ネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110を示しているが、本開示は、任意の適切な数のクライアント・システム130、ソーシャル・ネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110を想定している。限定ではなく、例として、ネットワーク環境100は、複数のクライアント・システム130、ソーシャル・ネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110を含むことができる。
図2は、例示的なソーシャル・グラフ200を示している。特定の実施形態においては、ソーシャル・ネットワーキング・システム160は、1つまたは複数のソーシャル・グラフ200を1つまたは複数のデータ・ストア内に記憶することができる。特定の実施形態においては、ソーシャル・グラフ200は、複数のノード(複数のユーザ・ノード202、または複数のコンセプト・ノード204を含むことができる)と、ノード同士をつなげる複数のエッジ206とを含むことができる。図2において示されている例示的なソーシャル・グラフ200は、教示上の目的から、二次元の視覚的マップ表示で示されている。特定の実施形態においては、ソーシャル・ネットワーキング・システム160、クライアント・システム130、またはサードパーティ・システム170は、適切なアプリケーションに関してソーシャル・グラフ200および関連したソーシャル・グラフ情報にアクセスすることができる。ソーシャル・グラフ200のノードおよびエッジは、データ・オブジェクトとして、たとえば(ソーシャル・グラフ・データベースなどの)データ・ストア内に記憶されることが可能である。そのようなデータ・ストアは、ソーシャル・グラフ200のノードまたはエッジの1つまたは複数の検索可能なまたはクエリ可能なインデックスを含むことができる。
特定の実施形態において、ソーシャル・ネットワーキング・システム160は、オンライン・ソーシャル・ネットワークのユーザのクライアント・システムから、ユーザによって入力されたクエリを受け取ることができる。ユーザは、たとえば、クエリ入力を選択するか、またはクエリ・フィールドにテキストを入力することによって、ソーシャル・ネットワーキング・システム160にクエリを提出することができる。オンライン・ソーシャル・ネットワークのユーザは、特定の主題(たとえば、ユーザ、コンセプト、外部コンテンツまたはリソース)に関する情報を、「検索クエリ」と称されることが多い、その主題を説明する短い語句を検索エンジンに提出することによって検索することができる。クエリは、非構造化テキスト・クエリであることがあり、1つまたは複数のテキスト文字列(これは、1つまたは複数のn−gramを含み得る)を含むことができる。一般に、ユーザは、クエリ・フィールド内に任意の文字列を入力して、ソーシャル・ネットワーキング・システム160上でテキスト・クエリに一致するコンテンツを検索する。次いで、ソーシャル・ネットワーキング・システム160は、データ・ストア164(または、特に、ソーシャル・グラフ・データベース)を検索して、クエリに一致するコンテンツを識別することができる。検索エンジンは、さまざまな検索アルゴリズムを使用してクエリ語句に基づいて検索を実施し、検索クエリに最も関係がありそうなリソースまたはコンテンツ(たとえば、ユーザ・プロフィール・インタフェース、コンテンツ・プロフィール・インタフェース、または外部リソース)を識別する検索結果を生成することができる。検索を実施するために、ユーザは、検索クエリを検索エンジンに入力または送信することができる。応答して、検索エンジンは、検索クエリに関係がありそうな1つまたは複数のリソースを識別し、それらの各々は、検索クエリに対応する「検索結果(search result)」と個々に称されても、または「検索結果(search results)」とまとめて称されてもよい。識別されたコンテンツは、たとえば、ソーシャル・グラフ要素(すなわち、ユーザ・ノード202、コンセプト・ノード204、エッジ206)、プロフィール・インタフェース、外部ウェブ・インタフェース、またはこれらの任意の組み合わせを含むことができる。次いで、ソーシャル・ネットワーキング・システム160は、識別されたコンテンツに対応する検索結果を有する検索結果インタフェースを生成し、この検索結果インタフェースをユーザへ送信することができる。検索結果は、多くの場合、リンクのリストの形態で検索結果インタフェース上でユーザに提示されてもよく、各リンクは、識別されたリソースまたはコンテンツのうちのいくつかを含む異なるインタフェースに関連付けられている。特定の実施形態において、検索結果における各リンクは、対応するインタフェースがどこに位置するか、および該インタフェースを取り出すためのメカニズムを特定する、ユニフォーム・リソース・ロケータ(URL)の形式とすることができる。次いで、ソーシャル・ネットワーキング・システム160は、検索結果インタフェースを、ユーザのクライアント・システム130上のウェブ・ブラウザ132に送信することができる。次いで、ユーザは、適宜、URLリンクをクリックして、または検索結果インタフェースからコンテンツを他の形で選択して、ソーシャル・ネットワーキング・システム160または外部システム(たとえば、サードパーティ・システム170など)からのコンテンツにアクセスすることができる。リソースは、検索クエリに対するそれらの相対的な関連性の度合いに従って、順位付けされてユーザに提示されることが可能である。検索結果は、ユーザに対するそれらの相対的な関連性の度合いに従って、順位付けされてユーザに提示されることが可能である。換言すれば、検索結果は、たとえば、ソーシャル・グラフ情報、ユーザ情報、ユーザの検索履歴もしくはブラウズ履歴、またはユーザに関係する他の適切な情報に基づいて、クエリを行うユーザのためにパーソナライズすることができる。特定の実施形態において、リソースの順位付けは、検索エンジンによって実施される順位付けアルゴリズムによって決定することができる。限定ではなく例として、検索クエリまたはユーザに対する関連性がより高いリソースは、検索クエリまたはユーザに対する関連性がより低いリソースよりも高く順位付けされることが可能である。特定の実施形態において、検索エンジンは、その検索をオンライン・ソーシャル・ネットワーク上のリソースとコンテンツとに限定することができる。しかし、特定の実施形態においては、検索エンジンは、サードパーティ・システム170、インターネットもしくはワールド・ワイド・ウェブ、または他の適切なソースなど、他のソース上のリソースまたはコンテンツも検索することができる。本開示は、ソーシャル・ネットワーキング・システム160に特定の方法でクエリを行うことについて記述しているが、本開示は、ソーシャル・ネットワーキング・システム160に任意の適切な方法でクエリを行うことを想定している。
特定の実施形態において、1つまたは複数のクライアント側および/またはバックエンド(サーバ側)・プロセスは、ソーシャル・グラフ要素(たとえば、ユーザ・ノード202、コンセプト・ノード204またはエッジ206)と、ソーシャル・ネットワーキング・システム160によってホストされ、またはソーシャル・ネットワーキング・システム160においてアクセス可能であり得る(たとえば、ユーザ・プロフィール・インタフェース、コンセプト・プロフィール・インタフェース、検索結果インタフェース、オンライン・ソーシャル・ネットワークに関連付けられているネイティブ・アプリケーションのユーザ・インタフェース/ビュー・ステート、またはオンライン・ソーシャル・ネットワークの別の適切なインタフェースなどの)要求されるインタフェースとともにレンダリングされる入力フォームにおいてユーザによって現在入力されている情報とのマッチングを行うように自動的に試行することのできる「タイプアヘッド」機能を実装および利用することができる。特定の実施形態において、ユーザが表明を行うためにテキストを入力する際に、タイプアヘッド機能は、表明において入力されているテキスト文字の文字列と、ユーザ、コンセプトまたはエッジに対応する文字の文字列(たとえば、氏名、説明)およびソーシャル・グラフ200におけるそれぞれに対応する要素とのマッチングを試行することができる。特定の実施形態において、一致が見つかると、タイプアヘッド機能は、既存のソーシャル・グラフ要素の(たとえば、ノード名/タイプ、ノードID、エッジ名/タイプ、エッジID、または別の適切な参照もしくは識別子などの)ソーシャル・グラフ要素への参照をフォームに自動的に追加することができる。特定の実施形態において、ユーザが文字をフォーム・ボックス内に入力している間に、タイプアヘッド・プロセスは、入力されたテキスト文字の文字列を読み取ることができる。各キーストロークが行われる際に、フロンドエンド・タイプアヘッド・プロセスは、入力された文字列を要求(または呼び出し)としてソーシャル・ネットワーキング・システム160内で実行されるバックエンド・タイプアヘッド・プロセスへ送信することができる。特定の実施形態において、タイプアヘッド・プロセスは、1つまたは複数のマッチング・アルゴリズムを使用して、一致するソーシャル・グラフ要素を識別しようと試行することができる。特定の実施形態において、1つまたは複数の一致が見つかると、タイプアヘッド・プロセスは、たとえば、一致するソーシャル・グラフ要素の名前(名前の文字列)または説明と、潜在的には、一致するソーシャル・グラフ要素に関連付けられている他のメタデータとを含み得る応答をユーザのクライアント・システム130へ送信することができる。限定ではなく例として、ユーザがクエリ・フィールドに文字「pok」を入力すると、タイプアヘッド・プロセスは、「ポーカー(poker)」または「ポケモン(pokemon)」と名付けられるかまたはそれをテーマにしているプロフィール・インタフェースなどの、一致する既存のプロフィール・インタフェースおよび各ユーザ・ノード202またはコンセプト・ノード204の名前を表示するドロップ・ダウン・メニューを表示することができ、次いで、それをユーザがクリックまたはその他の形で選択することによって、選択されたノードに対応する一致するユーザまたはコンセプトの名前を表明したいという要望を確認することができる。
特定の実施形態において、第1ユーザ(すなわち、クエリを行うユーザ)から受け取られるテキスト・クエリに応答して、ソーシャル・ネットワーキング・システム160は、テキスト・クエリを構文解析し、特定のソーシャル・グラフ要素に対応するテキスト・クエリの部分を識別することができる。しかし、場合によっては、クエリが1つまたは複数の曖昧な用語を含むことがある。ここで、曖昧な用語とは、複数のソーシャル・グラフ要素におそらく対応し得る用語である。曖昧な用語を構文解析するために、ソーシャル・ネットワーキング・システム160は、ソーシャル・グラフ200にアクセスし、次いで、テキスト・クエリを構文解析して、テキスト・クエリから、曖昧なn−gramに対応するソーシャル・グラフ要素を識別することができる。ソーシャル・ネットワーキング・システム160は、次いで、構造化クエリのセットを生成することができ、ここで、各構造化クエリは、一致する可能性があるソーシャル・グラフ要素のうちの1つに対応する。これらの構造化クエリは、それらが関連性のあるソーシャル・グラフ要素を参照して自然言語構文においてレンダリングされるように、文法モデルによって生成される文字列に基づくことができる。限定ではなく例として、テキスト・クエリ「私のガールフレンドの友達を見せて(show me friends of my girlfriend)」に応答して、ソーシャル・ネットワーキング・システム160は、構造化クエリ「ステファニーの友達(Friends of Stephanie)」を生成することができ、ここで、構造化クエリの「友達」および「ステファニー」は、特定のソーシャル・グラフ要素に対応する参照である。「ステファニー」への参照は、特定のユーザ・ノード202に対応する(ソーシャル・ネットワーキング・システム160がn−gram「私のガールフレンド」を構文解析して、ユーザ「ステファニー」のユーザ・ノード202に対応させた)のに対し、「友達」への参照は、そのユーザ・ノード202を他のユーザ・ノード202につなげる、友達タイプのエッジ206(すなわち、「ステファニーの」一次の友達につながるエッジ206)に対応するであろう。この構造化クエリを実行すると、ソーシャル・ネットワーキング・システム160は、友達タイプのエッジ206によって「ステファニー」に対応するユーザ・ノード202につなげられている1つまたは複数のユーザ・ノード202を識別することができる。限定ではなく別の例として、テキスト・クエリ「フェイスブックに勤務する友達(friends who work at facebook(登録商標))」に応答して、ソーシャル・ネットワーキング・システム160は、構造化クエリ「フェイスブックに勤務する私の友達(My friends who work at Facebook)」を生成することができ、ここで、構造化クエリにおける「私の友達」、「に勤務する」および「フェイスブック」は、前述した特定のソーシャル・グラフ要素(すなわち、友達タイプのエッジ206、勤務先タイプのエッジ206、および会社「フェイスブック」に対応するコンセプト・ノード204)に対応する参照である。提案される構造化クエリをユーザのテキスト・クエリに応答して提供することによって、ソーシャル・ネットワーキング・システム160は、オンライン・ソーシャル・ネットワークのユーザに、ソーシャル・グラフ200において表される要素を、それらのソーシャル・グラフ属性およびさまざまなソーシャル・グラフ要素に対するそれらの関係性に基づいて検索するための強力な手法を提供することができる。構造化クエリは、クエリを行うユーザが、特定のエッジ・タイプによってソーシャル・グラフ200において特定のユーザまたはコンセプトにつながっているコンテンツを検索することを可能にすることができる。構造化クエリは、第1のユーザに送信され、(たとえば、クライアント側タイプアヘッド・プロセスを通じて)ドロップ・ダウン・メニューにおいて表示されることが可能である。ここで、第1のユーザは、次いで、適切なクエリを選択して、所望のコンテンツを検索することができる。本願明細書において記述されている、構造化クエリを使用する利点のうちのいくつかは、限られた情報に基づいてオンライン・ソーシャル・ネットワークのユーザを見つけること、さまざまなソーシャル・グラフ要素に対するコンテンツの関係性に基づいて、オンライン・ソーシャル・ネットワークからコンテンツの仮想インデックスをまとめること、または、自分および/もしくは自分の友達に関係するコンテンツを見つけることを含む。本開示は、特定の構造化クエリを特定の方法で生成することを記述しているが、本開示は、任意の適切な構造化クエリを任意の適切な方法で生成することを想定している。
特定の実施形態において、ソーシャル・ネットワーキング・システム160は、ユーザがテキスト文字列をクエリ・フィールドに入力している間に、カスタマイズされたキーワード補完提案を、クエリを行うユーザに提供することができる。キーワード補完提案は、非構造化フォーマットでユーザに提供することができる。キーワード補完提案を生成するために、ソーシャル・ネットワーキング・システム160は、ソーシャル・ネットワーキング・システム160内の複数のソースにアクセスして、キーワード補完提案を生成し、複数のソースからのキーワード補完提案にスコアを付け、さらにキーワード補完提案をユーザに返すことができる。限定ではなく例として、ユーザがクエリ「友達 スタン(friends stan)」とタイプすると、ソーシャル・ネットワーキング・システム160は、たとえば、「友達 スタンフォード(friends stanford)」、「友達 スタンフォード大学(friends stanford university)」、「友達 スタンリー(friends stanley)」、「友達 スタンリー クーパー(friends stanley cooper)」、「友達 スタンリー キューブリック(friends stanley kubrick)」、「友達 スタンリー カップ(friends stanley cup)」、および「友達 スタンロンスキー(friends stanlonski)」を提案することができる。この例では、ソーシャル・ネットワーキング・システム160は、曖昧なn−gram「スタン(stan)」の変形であるキーワードを提案しており、ここで提案は、多様なキーワード生成器から生成されることができる。ソーシャル・ネットワーキング・システム160は、ユーザが何らかの形で提案につながっていることを理由にキーワード補完提案を選択していてもよい。限定ではなく例として、クエリを行うユーザは、ソーシャル・グラフ200においてスタンフォード大学に対応するコンセプト・ノード204に、たとえば、「いいね!」タイプまたは「通っていた」タイプのエッジ206でつながっている可能性がある。また、クエリを行うユーザには、「スタンリー クーパー(Stanley Cooper)」という名前の友達がいる可能性がある。本開示は、特定の方法でのキーワード補完提案の生成を記述しているが、本開示は、任意の適切な方法でのキーワード補完提案の生成を想定している。
特定の実施形態において、ソーシャル・ネットワーキング・システム160は、圧縮ドメインで近似最近傍探索を行うことができる。検索は、多義コードを使用することができ、これは、直積量子化の距離推定品質、および、バイナリ・コードのハミング距離との効率的な比較、の両方を提供する。検索時、チャネル最適化ベクトル量子化器を使用したこの双対解釈が検索を加速させることができる。インデックス付きベクトルのほとんどをハミング距離で排除することができ、ベクトルの一部のみが、非対称距離推定法で順位付けされる。
コンパクトなバイナリ・コード。局所性鋭敏型ハッシングは、先駆的なバイナリ符号化手法である。いくつかの仮定の下、ハミング距離は、統計的にコサイン類似度(同等に、正規化ベクトルのユークリッド距離)に関係する。バイナリ・ハッシュの総当たり比較は、メモリの制約がある中での効率的な画像検索の現実的な選択肢と考えられてきたが、これは、100万規模の画像コレクションへのこのアプローチのスケーラビリティを証明するその後の研究によって普及した。スペクトラル・ハッシングまたは反復量子化(ITQ:iterative quantization)など、このハミング空間での検索を迅速化するために多くのアプローチが提案されてきた。たとえば、k平均ハッシング法は、まず、ベクトル量子化器を生成し、生成したコードをハミング距離と比較する。
特定の実施形態において、方法は、量子化ベースの方法の推定の確度を提供しながら、ハミング距離の高速計算を利用することができる。特定の実施形態において、方法は、通常の直積量子化器を学習し、次いでハミング距離が重心間距離を近似化するように、バイナリ・コードへの重心インデックスの割り当てを最適化する。このセクションでは、まず、この性質を達成するために最適化された目的関数を説明し、次に最適化アルゴリズムを説明する。
2つの目的関数を考えてみる。距離推定量に基づいて損失を最小化するものと、順位付け損失を最小化するものである。
距離推定法損失。1つの考えられる目的は、2つの重心間の距離d(ci,cj)が2つの対応するバイナリ・コード間のハミング距離h(π(i),π(j))によって近似化されるような、全単射マップπを見つけることである。
k‐NNの状況において、大きいものよりも小さい距離を近似化する方が重要であるため、実際上、目的関数において距離に重みを付けることが有益であることがわかった。このことから、次の重み付き目的が導かれる。
順位付け損失。k‐NN探索の状況において、我々は、コードワードの順位付けを維持する全単射マップπを探すことに関心がある。この目的のために、情報検索の考え方を採用する。(i,j)を1ペアのコードワードとし、iは「クエリ」と想定され、jはiに「関連がある」と想定される。(クエリ,関連性)ペアの選択は後で述べる。クエリiについて、d(ci,cj)<d(ci,ck)になるような負のコードワードkをとる。ペア(i,j)の損失は、次式のように定義することができる。
その後の問題は、ペア(i,j)をいかに選択するかである。1つ考えられることは、iのk‐NNの中からjを選ぶことであろう。その場合、次式を最適化することになるであろう。
最適化
前述の目的関数は、全単射マップπ、または同等にPQ重心の集合の別の計算法を見つけることを目的とし、近傍の重心に類似のバイナリ・コードを割り当てるであろう。
1.初期化
2.現在の解π:=[0,…,2d−1]
3.温度t:=t0
4.Niter回反復する:
5.無作為にi、j∈J、i≠jを抜き出す
6.π’:=π、項iとjを入れ替える
7.コスト更新ΔC:=L(π’)−L(π)を計算する
8.ΔC<0または確率tで無作為の場合:
9.新たな解π:=π’を受け入れる
10.t:=t×tdecay
アルゴリズムは、反復回数Niter=500,000、初期「温度」t0=0.7、およびtdecay=0.91/500に依存する、すなわち、500回反復するごとに0.9倍減少する。距離推定損失(各順位付け損失)の評価は、O(22d)(各O(23d))に複雑さをもつ。しかし、入れ替えによって発生するコスト更新の計算は、O(22d)(各O(22d))で実施することができる。
最適化アルゴリズムは、以前にチャネル最適化ベクトル量子化で採用されたものと似ているが、我々の目的関数は、適用シナリオを反映するためにかなり異なっている。通信において、多くのビット誤りが同時に発生することは考えにくく、特にメモリレス・チャネルでは考えにくい。そのため、通信で採用される目的関数は小さなハミング距離に注目する。対して、ANNでは、近傍の典型的なハミング距離は比較的大きい。
このセクションは、分析を行い、我々の多義コードを評価する。評価プロトコルを紹介した後で、我々の中心的なアプローチを多面的に分析する。次いで、我々のアプローチが転置マルチインデックス(IMI:inverted multi‐index)に匹敵することを証明し、従来技術に対する比較を行う。
我々のアプローチを、ANNの標準ベンチマークと、我々が検索品質を評価するために導入する新たなベンチマークとを用いて分析し、評価する。
我々は、まず多義コードのパフォーマンスを分析する。表記法を紹介しよう。まず、直積量子化器を構築する3通りの方法を検討する。
Polydは、距離推定量損失を最小化することによって、インデックス割り当てが最適化される直積量子化器をいう。
コードブックおよびインデックス割り当てが学習されたら、多義コードに基づいて距離を推定するための次の方法を検討する。
バイナリは、コードが、バイナリ・コードの場合と同様にビット・ベクトルと見なされるときの、ハミング距離とのビット単位の比較をいう(たとえば、ITQ)。
双対は、多義コードの両方の解釈を採用する戦略をいう。ハミングコードは、クエリまでの距離が閾値τより大きいデータベースのベクトルを排除するために使用する。このテストを満たすインデックス付きベクトルを非対称距離推定量と比較する。
大規模なデータセットでは、クラスタリングにより通例実施される予備空間分割を残差ベクトルで学習されるコンパクト符号と組み合わせるハイブリッド法によって、確度、検索時間およびメモリ間の最善のトレードオフが得られる。我々が、我々の多義コードをIMIと組み合わせるのはこれが理由である。この方法は、空間を直積量子化器で分割し(「粗い」分割レベル)、PQを使用して残差誤差ベクトルを符号化する。検索は、粗レベルで少数の転置リストを選択することによって進み、次いで、残差PQコードを使用して、選択されたリストに関連付けられているベクトルの距離を推定する。特定の実施形態において、量子化されたサブベクトルとコンテンツ・オブジェクトの部分集合を表すサブベクトルとの重心間距離は、予め生成されたルックアップ・テーブルから引き出される。我々は、複数のリストを調べるとき、PQに関わるルックアップ・テーブルの計算をさらに最適化する。
特定の実施形態において、コンテンツ・オブジェクトは画像または動画であり、本願明細書で説明する方法は、データベースにおいてクエリ画像またはクエリ動画に最も類似したk個の画像を見つけるために使用することができる。
特定の実施形態においては、ソーシャル・ネットワーキング・システム160は、様々なソーシャル・グラフ・エンティティの互いに対するソーシャル・グラフ・アフィニティ(本明細書では「アフィニティ」ということもある)を決定することができる。アフィニティは、オンライン・ソーシャル・ネットワークに関連付けられているユーザ、コンセプト、コンテンツ、アクション、広告、他のオブジェクト、またはその任意の適切な組合せなど、オンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクト間の関係の強度または関心レベルを表すことができる。アフィニティは、サードパーティ・システム170または他の適切なシステムに関連付けられているオブジェクトに関しても決定されることができる。各ユーザ、主題またはコンテンツのタイプについて、ソーシャル・グラフ・エンティティの総合アフィニティが確立されることができる。総合アフィニティは、ソーシャル・グラフ・エンティティに関連付けられているアクションまたは関係の継続的な監視に基づいて変わることがある。本開示は、特定の様式で特定のアフィニティを決定することを説明しているが、本開示は、任意の適切な様式で任意の適切なアフィニティを決定することを企図する。
特定の実施形態において、広告は、1つもしくは複数のウェブ・インタフェース上に提示されるか、1つもしくは複数のEメールに提示されるか、またはユーザが要求する検索結果に関係して提示される、テキスト(HTMLリンク付けすることができる)、1つもしくは複数の画像(HTMLリンク付けすることができる)、1つもしくは複数の動画、音声、1つもしくは複数のADOBE FLASHファイル、これらの適切な組み合わせ、または任意の適切なデジタル・フォーマットの任意の他の適切な広告とすることができる。追加としてまたは代替として、広告は、1つまたは複数のスポンサー記事(たとえば、ソーシャル・ネットワーキング・システム160上のニュース・フィードまたはティッカ・アイテム)とすることができる。スポンサー記事は、たとえば、ソーシャル・アクションをユーザのプロフィール・インタフェースもしくは他のインタフェースの所定のエリア内に提示させるか、広告主に関連付けられている追加情報とともに提示させるか、他のユーザのニュース・フィードもしくはティッカ内で上方に移動もしくはその他の形で強調表示させるか、またはその他の形で促進させることによって、広告主が促進する、ユーザによるソーシャル・アクションとすることができる(あるインタフェースに「いいね!」を表明すること、あるインタフェース上の投稿に「いいね!」を表明するかもしくはコメントすること、あるインタフェースに関連付けられているイベントに出欠の返事をすること、あるインタフェースに投稿されている質問に投票すること、ある場所にチェックインすること、アプリケーションを使用するかもしくはゲームをプレイすること、または、あるウェブサイトに「いいね!」を表明するかもしくはあるウェブサイトを共有すること)。広告主は、代金を払ってソーシャル・アクションを促進してもらうことができる。限定ではなく例として、広告は、検索結果インタフェースの検索結果の中に含むことができ、スポンサー付きコンテンツは、スポンサーのついていないコンテンツよりも促進される。
特定の実施形態では、オンライン・ソーシャル・ネットワークのコンテンツ・オブジェクトのうちの1つまたは複数が、プライバシー設定に関連付けられ得る。オブジェクトに対するプライバシー設定(または「アクセス設定」)は、任意の適切な様式で、たとえば、オブジェクトに関連付けて、認可サーバ上のインデックスで、別の適切な様式で、または任意のそれらの組合せなどで、記憶され得る。オブジェクトのプライバシー設定は、オブジェクトまたはオブジェクトに関連付けられている特定の情報がオンライン・ソーシャル・ネットワークを使用してどのようにアクセス(たとえば、閲覧、または共有)され得るかを指定することができる。オブジェクトに対するプライバシー設定により、そのオブジェクトについて特定のユーザがアクセス、閲覧、または共有することが可能になる場合、オブジェクトは、そのユーザに対して「可視」であると説明され得る。一例として、限定としてではなく、オンライン・ソーシャル・ネットワークのユーザは、ユーザ・プロフィール・インタフェース上の職務経験情報にアクセスすることができるユーザのセットを識別する、ユーザ・プロフィール・インタフェースに対するプライバシー設定を指定することができ、したがって、他のユーザがその情報にアクセスすることを排除することができる。特定の実施形態では、プライバシー設定は、オブジェクトに関連付けられている特定の情報についてアクセスを許可されるべきでないユーザの「ブロック・リスト(blocked list)」を指定することができる。言い換えれば、ブロック・リストは、オブジェクトが可視にされない1つまたは複数のユーザまたはエンティティを指定することができる。一例として、限定としてではなく、ユーザは、ユーザに関連付けられているフォト・アルバムにアクセスできないユーザのセットを指定することができ、したがって、それらのユーザがフォト・アルバムにアクセスすることを排除する(それとともに、場合によっては、そのユーザのセットの範囲外の特定のユーザがフォト・アルバムにアクセスすることを可能にする)。特定の実施形態では、プライバシー設定が特定のソーシャル・グラフ要素に関連付けられてよい。ノードまたはエッジのようなソーシャル・グラフ要素のプライバシー設定は、ソーシャル・グラフ要素、ソーシャル・グラフ要素に関連付けられている情報、またはソーシャル・グラフ要素に関連付けられているコンテンツ・オブジェクトが、オンライン・ソーシャル・ネットワークを使用してどのようにアクセス可能とされ得るかを指定することができる。一例として、限定としてではなく、特定の写真に対応する特定のコンセプト・ノード204は、写真においてタグ付けされたユーザおよびその友達によってのみ写真がアクセスされてよいことを指定する、プライバシー設定を有することができる。特定の実施形態では、プライバシー設定は、ユーザのアクションをソーシャル・ネットワーキング・システム160によってログを記録させること、または他のシステム(たとえばサードパーティ・システム170)によって共有させることに関して、ユーザがオプト・インまたはオプト・アウトすることを可能にすることができる。特定の実施形態では、オブジェクトに関連付けられているプライバシー設定は、許可されるアクセスまたはアクセスの拒否の任意の適切な粒度を指定することができる。一例として、限定としてではなく、アクセス、またはアクセスの拒否は、特定のユーザ(たとえば、私のみ(only me)、私のルームメイト、および私の上司)、特定の分離度の範囲内のユーザ(たとえば、友達(friends)、友達の友達(friends_of_friends))、ユーザ・グループ(たとえば、ゲーム・クラブ、私の家族)、ユーザ・ネットワーク(たとえば、特定の雇用主の従業員、特定の大学の学生もしくは卒業生)、すべてのユーザ(「パブリック(public)」)、ユーザ無し(「プライベート(private)」)、サードパーティ・システム170のユーザ、特定のアプリケーション(たとえば、サードパーティ・アプリケーション、外部ウェブサイト)、他の適切なユーザもしくはエンティティ、またはこれらの組合せに対して指定されてよい。本開示では特定のプライバシー設定を特定の様式で使用して説明しているが、本開示は任意の適切なプライバシー設定を任意の適切な様式で使用することを企図する。
図10は、例示的なコンピュータ・システム1000を示している。特定の実施形態においては、1つまたは複数のコンピュータ・システム1000が、本明細書において記述されているまたは示されている1つまたは複数の方法の1つまたは複数の工程を実行する。特定の実施形態においては、1つまたは複数のコンピュータ・システム1000が、本明細書において記述されているまたは示されている機能を提供する。特定の実施形態においては、1つまたは複数のコンピュータ・システム1000上で稼働するソフトウェアが、本明細書において記述されているもしくは示されている1つもしくは複数の方法の1つもしくは複数の工程を実行し、または本明細書において記述されているもしくは示されている機能を提供する。特定の実施形態は、1つまたは複数のコンピュータ・システム500の1つまたは複数の部分を含む。本明細書においては、コンピュータ・システムへの言及は、適切な場合には、コンピューティング・デバイスを包含することができる。その上、コンピュータ・システムへの言及は、適切な場合には、1つまたは複数のコンピュータ・システムを包含することができる。
本明細書においては、「または(もしくは)」は、包含的であり、排他的ではない(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。したがって、本明細書においては、「AまたはB」は、「A、B、またはその両方」を意味する(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。その上、「および(ならびに)」は、包括的および個別的の両方である(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。したがって、本明細書においては、「AおよびB」は、「まとめて、または個別に、AおよびB」を意味する(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。
Claims (35)
- コンピューティング・デバイスが、
n次元のベクトル空間のn次元のベクトルによって表されるクエリを受け取る工程と、
前記クエリを表す前記ベクトルを量子化器を使用して量子化する工程であって、量子化された前記ベクトルは多義コードに対応し、前記量子化器は、ハミング距離が目的関数を使用して重心間距離を近似化するように多義コードを決定するために、機械学習によって訓練されている、工程と、
複数のコンテンツ・オブジェクトのそれぞれについて、前記クエリを表す前記ベクトルに対応する前記多義コードと、前記コンテンツ・オブジェクトを表す量子化されたベクトルに対応する多義コードとの間のハミング距離を計算する工程と、
前記クエリを表す前記ベクトルに対応する前記多義コードと、前記コンテンツ・オブジェクトを表す前記ベクトルに対応する前記多義コードとの間の計算された前記ハミング距離が閾値量未満であるとの決定に基づいて、前記複数のコンテンツ・オブジェクトのうちの1つのコンテンツ・オブジェクトが前記クエリの近似最近傍であると決定する工程と、
を含む、方法。 - 前記クエリを表す前記ベクトルを前記クエリを表す複数のサブベクトルに分割する工程をさらに含み、
前記クエリを表す前記ベクトルを量子化する工程は、前記クエリを表す前記複数のサブベクトルのそれぞれを、複数のサブ量子化器を使用して量子化する工程を含み、量子化された各サブベクトルは多義コードに対応し、
各サブ量子化器は、前記ハミング距離が目的関数を使用して前記重心間距離を近似化するように多義コードを決定するために、機械学習によって訓練されており、
前記クエリを表す前記ベクトルに対応する前記多義コードと、前記コンテンツ・オブジェクトを表す量子化された前記ベクトルに対応する前記多義コードとの間の前記ハミング距離は、前記クエリを表す各それぞれのサブベクトルに対応する各多義コードと、前記コンテンツ・オブジェクトを表す各量子化されたサブベクトルに対応する複数の各多義コードのそれぞれとの間の複数のハミング距離に基づいて計算される、
請求項1に記載の方法。 - 前記サブ量子化器のそれぞれは、前記複数のサブ量子化器のうちの他のサブ量子化器のそれぞれとは別個である、請求項2に記載の方法。
- 前記コンテンツ・オブジェクトを表す量子化された前記複数のサブベクトルのそれぞれは、前記対応するサブ量子化器を使用して量子化される、請求項2に記載の方法。
- 第1多義コードと第2多義との間のハミング距離は、前記第1多義コードと前記第2多義コードとの間で異なるビット数として計算される、請求項1に記載の方法。
- 第1多義コードと第2多義コードとの間のハミング距離は、予め生成されたルックアップ・テーブルに基づいて計算される、請求項1に記載の方法。
- 前記量子化器は、k平均法を使用する、請求項1に記載の方法。
- 前記目的関数は、argmaxπΣi∈J,j∈J[h(π(i),π(j))−f(d(ci,cj))]2であり、
jは、重心インデックスの集合であり、
ciは、重心iに関連付けられている再現値であり、
前記関数πは、各重心インデックスを単位超立方体の異なる頂点にマッピングし、
h(π(i),π(j))は、π(i)とπ(j)との間のハミング距離であり、
d(ci,cj)は、ciとcjとの間の距離であり、
前記関数fは、d(ci,cj)を、匹敵するハミング距離の範囲にマッピングする単調増加関数である、
請求項1に記載の方法。 - 前記関数fは、
μは、経験的に測定したdの平均であり、
σは、経験的に測定したdの標準偏差である、
請求項8に記載の方法。 - 前記目的関数は、argmaxπΣi∈J,j∈Jw(f(d(ci,cj)))[h(π(i),π(j))−f(d(ci,cj))]2であり、
jは、重心インデックスの集合であり、
ciは、重心iに関連付けられている再現値であり、
前記関数πは、各重心インデックスを単位超立方体の異なる頂点にマッピングし、
h(π(i),π(j))は、π(i)とπ(j)との間のハミング距離であり、
d(ci,cj)は、ciとcjとの間の距離であり、
前記関数fは、d(ci,cj)を、匹敵するハミング距離の範囲にマッピングする単調増加関数であり、
前記関数wは、α<1で関数w(u)=αuである、
請求項1に記載の方法。 - 前記クエリに応答して、前記クエリの近似最近傍であると決定された1以上のコンテンツ・オブジェクトを前記第1ユーザに送信する工程をさらに含む、請求項1に記載の方法。
- 前記コンテンツ・オブジェクトのそれぞれは画像を含む、請求項1に記載の方法。
- 受け取られた前記クエリはクエリ画像を含み、前記方法は、
前記クエリ画像を表す前記n次元のベクトルを生成する工程をさらに含む、請求項1に記載の方法。 - 前記クエリは、前記クエリ画像に類似した画像の要求に対応する、請求項13に記載の方法。
- 前記コンテンツ・オブジェクトのそれぞれは動画を含む、請求項1に記載の方法。
- 受け取られた前記クエリはクエリ動画を含み、前記方法は、
前記クエリ動画を表す前記n次元のベクトルを生成する工程をさらに含む、請求項1に記載の方法。 - 複数のノードと前記ノード同士をつなげる複数のエッジとを含むソーシャル・グラフにアクセスする工程をさらに含み、2つの前記ノード間の前記エッジのそれぞれがそれらの間の単一分離度を表し、前記ノードは、
前記第1ユーザに対応する第1ノードと、
前記複数のコンテンツ・オブジェクトにそれぞれ対応する複数の第2ノードと、を含む、
請求項1に記載の方法。 - ソフトウェアを具現化する1以上のコンピュータ可読非一時的記憶媒体であって、前記ソフトウェアが実行されたときに、
n次元のベクトル空間のn次元のベクトルによって表されるクエリを受け取る工程と、
前記クエリを表す前記ベクトルを量子化器を使用して量子化する工程であって、量子化された前記ベクトルは多義コードに対応し、前記量子化器は、ハミング距離が目的関数を使用して重心間距離を近似化するように多義コードを決定するために、機械学習によって訓練されている、工程と、
複数のコンテンツ・オブジェクトのそれぞれについて、前記クエリを表す前記ベクトルに対応する前記多義コードと、前記コンテンツ・オブジェクトを表す量子化されたベクトルに対応する多義コードとの間のハミング距離を計算する工程と、
前記クエリを表す前記ベクトルに対応する前記多義コードと、前記コンテンツ・オブジェクトを表す前記ベクトルに対応する前記多義コードとの間の計算された前記ハミング距離が閾値量未満であるとの決定に基づいて、前記複数のコンテンツ・オブジェクトのうちの1つのコンテンツ・オブジェクトが前記クエリの近似最近傍であると決定する工程と、
が行われるように構成される、媒体。 - 前記ソフトウェアが実行されたときに、
前記クエリを表す前記ベクトルを前記クエリを表す複数のサブベクトルに分割する工程が行われるようにさらに構成され、
前記クエリを表す前記ベクトルを量子化する工程は、前記クエリを表す前記複数のサブベクトルのそれぞれを、複数のサブ量子化器を使用して量子化する工程を含み、量子化された各サブベクトルは多義コードに対応し、
各サブ量子化器は、前記ハミング距離が目的関数を使用して前記重心間距離を近似化するように多義コードを決定するために、機械学習によって訓練されており、
前記クエリを表す前記ベクトルに対応する前記多義コードと、前記コンテンツ・オブジェクトを表す量子化された前記ベクトルに対応する前記多義コードとの間の前記ハミング距離は、前記クエリを表す各それぞれのサブベクトルに対応する各多義コードと、前記コンテンツ・オブジェクトを表す各量子化されたサブベクトルに対応する複数の各多義コードのそれぞれとの間の複数のハミング距離に基づいて計算される、
請求項18に記載の媒体。 - 1以上のプロセッサと、前記プロセッサに結合され前記プロセッサによって実行可能な命令を含む非一時的メモリとを備えるシステムであって、前記プロセッサは、前記命令を実行するときに、
n次元のベクトル空間のn次元のベクトルによって表されるクエリを受け取る工程と、
前記クエリを表す前記ベクトルを量子化器を使用して量子化する工程であって、量子化された前記ベクトルは多義コードに対応し、前記量子化器は、ハミング距離が目的関数を使用して重心間距離を近似化するように多義コードを決定するために、機械学習によって訓練されている、工程と、
複数のコンテンツ・オブジェクトのそれぞれについて、前記クエリを表す前記ベクトルに対応する前記多義コードと、前記コンテンツ・オブジェクトを表す量子化されたベクトルに対応する多義コードとの間のハミング距離を計算する工程と、
前記クエリを表す前記ベクトルに対応する前記多義コードと、前記コンテンツ・オブジェクトを表す前記ベクトルに対応する前記多義コードとの間の計算された前記ハミング距離が閾値量未満であるとの決定に基づいて、前記複数のコンテンツ・オブジェクトのうちの1つのコンテンツ・オブジェクトが前記クエリの近似最近傍であると決定する工程と、
が行われるように構成される、システム。 - コンピューティング・デバイスが、
n次元のベクトル空間のn次元のベクトルによって表されるクエリ、特にデータベース内の1以上の類似の画像および動画のうちの1以上を受け取る工程と、
前記クエリを表す前記ベクトルを量子化器を使用して量子化する工程であって、量子化された前記ベクトルは多義コードに対応し、前記量子化器は、ハミング距離が目的関数を使用して重心間距離を近似化するように多義コードを決定するために、機械学習によって訓練されている、工程と、
複数のコンテンツ・オブジェクトのそれぞれについて、前記クエリを表す前記ベクトルに対応する前記多義コードと、前記コンテンツ・オブジェクトを表す量子化されたベクトルに対応する多義コードとの間のハミング距離を計算する工程と、
前記クエリを表す前記ベクトルに対応する前記多義コードと、前記コンテンツ・オブジェクトを表す前記ベクトルに対応する前記多義コードとの間の計算された前記ハミング距離が閾値量未満であるとの決定に基づいて、前記複数のコンテンツ・オブジェクトのうちの1つのコンテンツ・オブジェクトが前記クエリの近似最近傍であると決定する工程と、
を含む、方法。 - 前記クエリを表す前記ベクトルを前記クエリを表す複数のサブベクトルに分割する工程をさらに含み、
前記クエリを表す前記ベクトルを量子化する工程は、前記クエリを表す前記複数のサブベクトルのそれぞれを、複数のサブ量子化器を使用して量子化する工程を含み、量子化された各サブベクトルは多義コードに対応し、
各サブ量子化器は、前記ハミング距離が目的関数を使用して前記重心間距離を近似化するように多義コードを決定するために、機械学習によって訓練されており、
前記クエリを表す前記ベクトルに対応する前記多義コードと、前記コンテンツ・オブジェクトを表す量子化された前記ベクトルに対応する前記多義コードとの間の前記ハミング距離は、前記クエリを表す各それぞれのサブベクトルに対応する各多義コードと、前記コンテンツ・オブジェクトを表す各量子化されたサブベクトルに対応する複数の各多義コードのそれぞれとの間の複数のハミング距離に基づいて計算され、
任意選択で、前記サブ量子化器のそれぞれは、前記複数のサブ量子化器のうちの他のサブ量子化器のそれぞれとは別個であり、および/または、
任意選択で、前記コンテンツ・オブジェクトを表す量子化された前記複数のサブベクトルのそれぞれは、前記対応するサブ量子化器を使用して量子化される、
請求項21に記載の方法。 - 第1多義コードと第2多義との間のハミング距離は、前記第1多義コードと前記第2多義コードとの間で異なるビット数として計算され、および/または、
第1多義コードと第2多義コードとの間のハミング距離は、予め生成されたルックアップ・テーブルに基づいて計算される、
請求項21または22に記載の方法。 - 前記量子化器は、k平均法を使用する、請求項21〜23のいずれか一項に記載の方法。
- 前記目的関数は、argmaxπΣi∈J,j∈J[h(π(i),π(j))−f(d(ci,cj))]2であり、
jは、重心インデックスの集合であり、
ciは、重心iに関連付けられている再現値であり、
前記関数πは、各重心インデックスを単位超立方体の異なる頂点にマッピングし、
h(π(i),π(j))は、π(i)とπ(j)との間のハミング距離であり、
d(ci,cj)は、ciとcjとの間の距離であり、
前記関数fは、d(ci,cj)を、匹敵するハミング距離の範囲にマッピングする単調増加関数であり、
任意選択で、前記関数fは、
μは、経験的に測定したdの平均であり、
σは、経験的に測定したdの標準偏差である、
請求項21〜24のいずれか一項に記載の方法。 - 前記目的関数は、argmaxπΣi∈J,j∈Jw(f(d(ci,cj)))[h(π(i),π(j))−f(d(ci,cj))]2であり、
Jは、重心インデックスの集合であり、
ciは、重心iに関連付けられている再現値であり、
前記関数πは、各重心インデックスを単位超立方体の異なる頂点にマッピングし、
h(π(i),π(j))は、π(i)とπ(j)との間のハミング距離であり、
d(ci,cj)は、ciとcjとの間の距離であり、
前記関数fは、d(ci,cj)を、匹敵するハミング距離の範囲にマッピングする単調増加関数であり、
前記関数wは、α<1で関数w(u)=αuである、
請求項21〜25のいずれか一項に記載の方法。 - 前記クエリに応答して、前記クエリの近似最近傍であると決定された1以上のコンテンツ・オブジェクトを前記第1ユーザに送信する工程をさらに含む、請求項21〜26のいずれか一項に記載の方法。
- 前記コンテンツ・オブジェクトのそれぞれは画像を含む、請求項21〜27のいずれか一項に記載の方法。
- 受け取られた前記クエリはクエリ画像を含み、前記方法は、
前記クエリ画像を表す前記n次元のベクトルを生成する工程をさらに含み、
任意選択で、前記クエリは、前記クエリ画像に類似した画像の要求に対応する、
請求項21〜28のいずれか一項に記載の方法。 - 前記コンテンツ・オブジェクトのそれぞれは動画を含む、請求項21〜29のいずれか一項に記載の方法。
- 受け取られた前記クエリはクエリ動画を含み、前記方法は、
前記クエリ動画を表す前記n次元のベクトルを生成する工程をさらに含む、請求項21〜30のいずれか一項に記載の方法。 - 複数のノードと前記ノード同士をつなげる複数のエッジとを含むソーシャル・グラフにアクセスする工程をさらに含み、2つの前記ノード間の前記エッジのそれぞれがそれらの間の単一分離度を表し、前記ノードは、
前記第1ユーザに対応する第1ノードと、
前記複数のコンテンツ・オブジェクトにそれぞれ対応する複数の第2ノードと、を含む、
請求項21〜31のいずれか一項に記載の方法。 - ソフトウェアを具現化する1以上のコンピュータ可読非一時的記憶媒体であって、前記ソフトウェアが実行されたときに、
n次元のベクトル空間のn次元のベクトルによって表されるクエリを受け取る工程と、
前記クエリを表す前記ベクトルを量子化器を使用して量子化する工程であって、量子化された前記ベクトルは多義コードに対応し、前記量子化器は、ハミング距離が目的関数を使用して重心間距離を近似化するように多義コードを決定するために、機械学習によって訓練されている、工程と、
複数のコンテンツ・オブジェクトのそれぞれについて、前記クエリを表す前記ベクトルに対応する前記多義コードと、前記コンテンツ・オブジェクトを表す量子化されたベクトルに対応する多義コードとの間のハミング距離を計算する工程と、
前記クエリを表す前記ベクトルに対応する前記多義コードと、前記コンテンツ・オブジェクトを表す前記ベクトルに対応する前記多義コードとの間の計算された前記ハミング距離が閾値量未満であるとの決定に基づいて、前記複数のコンテンツ・オブジェクトのうちの1つのコンテンツ・オブジェクトが前記クエリの近似最近傍であると決定する工程と、
が行われるように構成される、媒体。 - 前記ソフトウェアが実行されたときに、
前記クエリを表す前記ベクトルを前記クエリを表す複数のサブベクトルに分割する工程が行われるようにさらに構成され、
前記クエリを表す前記ベクトルを量子化する工程は、前記クエリを表す前記複数のサブベクトルのそれぞれを、複数のサブ量子化器を使用して量子化する工程を含み、量子化された各サブベクトルは多義コードに対応し、
各サブ量子化器は、前記ハミング距離が目的関数を使用して前記重心間距離を近似化するように多義コードを決定するために、機械学習によって訓練されており、
前記クエリを表す前記ベクトルに対応する前記多義コードと、前記コンテンツ・オブジェクトを表す量子化された前記ベクトルに対応する前記多義コードとの間の前記ハミング距離は、前記クエリを表す各それぞれのサブベクトルに対応する各多義コードと、前記コンテンツ・オブジェクトを表す各量子化されたサブベクトルに対応する複数の各多義コードのそれぞれとの間の複数のハミング距離に基づいて計算される、
請求項1835に記載の媒体。 - 1以上のプロセッサと、前記プロセッサに結合され前記プロセッサによって実行可能な命令を含む非一時的メモリとを備えるシステムであって、前記プロセッサは、前記命令を実行するときに、
n次元のベクトル空間のn次元のベクトルによって表されるクエリを受け取る工程と、
前記クエリを表す前記ベクトルを量子化器を使用して量子化する工程であって、量子化された前記ベクトルは多義コードに対応し、前記量子化器は、ハミング距離が目的関数を使用して重心間距離を近似化するように多義コードを決定するために、機械学習によって訓練されている、工程と、
複数のコンテンツ・オブジェクトのそれぞれについて、前記クエリを表す前記ベクトルに対応する前記多義コードと、前記コンテンツ・オブジェクトを表す量子化されたベクトルに対応する多義コードとの間のハミング距離を計算する工程と、
前記クエリを表す前記ベクトルに対応する前記多義コードと、前記コンテンツ・オブジェクトを表す前記ベクトルに対応する前記多義コードとの間の計算された前記ハミング距離が閾値量未満であるとの決定に基づいて、前記複数のコンテンツ・オブジェクトのうちの1つのコンテンツ・オブジェクトが前記クエリの近似最近傍であると決定する工程と、
が行われるように構成される、システム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662384421P | 2016-09-07 | 2016-09-07 | |
US62/384,421 | 2016-09-07 | ||
US15/393,926 | 2016-12-29 | ||
US15/393,926 US20180068023A1 (en) | 2016-09-07 | 2016-12-29 | Similarity Search Using Polysemous Codes |
PCT/US2017/050211 WO2018048853A1 (en) | 2016-09-07 | 2017-09-06 | Similarity search using polysemous codes |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019532445A true JP2019532445A (ja) | 2019-11-07 |
Family
ID=61280896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019533301A Pending JP2019532445A (ja) | 2016-09-07 | 2017-09-06 | 多義コードを使用した類似度検索 |
Country Status (9)
Country | Link |
---|---|
US (1) | US20180068023A1 (ja) |
JP (1) | JP2019532445A (ja) |
KR (1) | KR20190043604A (ja) |
CN (1) | CN109906451A (ja) |
AU (1) | AU2017324850A1 (ja) |
BR (1) | BR112019004335A2 (ja) |
CA (1) | CA3034323A1 (ja) |
MX (1) | MX2019002701A (ja) |
WO (1) | WO2018048853A1 (ja) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11347751B2 (en) * | 2016-12-07 | 2022-05-31 | MyFitnessPal, Inc. | System and method for associating user-entered text to database entries |
US10817774B2 (en) * | 2016-12-30 | 2020-10-27 | Facebook, Inc. | Systems and methods for providing content |
US10489468B2 (en) * | 2017-08-22 | 2019-11-26 | Facebook, Inc. | Similarity search using progressive inner products and bounds |
US10191921B1 (en) * | 2018-04-03 | 2019-01-29 | Sas Institute Inc. | System for expanding image search using attributes and associations |
US10824592B2 (en) * | 2018-06-14 | 2020-11-03 | Microsoft Technology Licensing, Llc | Database management using hyperloglog sketches |
CN109635084B (zh) * | 2018-11-30 | 2020-11-24 | 宁波深擎信息科技有限公司 | 一种多源数据文档实时快速去重方法及系统 |
CN109740660A (zh) * | 2018-12-27 | 2019-05-10 | 深圳云天励飞技术有限公司 | 图像处理方法及装置 |
CN109992716B (zh) * | 2019-03-29 | 2023-01-17 | 电子科技大学 | 一种基于itq算法的印尼语相似新闻推荐方法 |
US10990424B2 (en) * | 2019-05-07 | 2021-04-27 | Bank Of America Corporation | Computer architecture for emulating a node in conjunction with stimulus conditions in a correlithm object processing system |
KR102276728B1 (ko) * | 2019-06-18 | 2021-07-13 | 빅펄 주식회사 | 멀티모달 콘텐츠 분석 시스템 및 그 방법 |
CN112446483B (zh) * | 2019-08-30 | 2024-04-23 | 阿里巴巴集团控股有限公司 | 一种基于机器学习的计算方法和计算单元 |
US11494734B2 (en) * | 2019-09-11 | 2022-11-08 | Ila Design Group Llc | Automatically determining inventory items that meet selection criteria in a high-dimensionality inventory dataset |
KR102448061B1 (ko) | 2019-12-11 | 2022-09-27 | 네이버 주식회사 | 딥러닝 기반의 문서 유사도 측정 모델을 이용한 중복 문서 탐지 방법 및 시스템 |
KR102432600B1 (ko) * | 2019-12-17 | 2022-08-16 | 네이버 주식회사 | 벡터 양자화를 이용한 중복 문서 탐지 방법 및 시스템 |
US11354293B2 (en) | 2020-01-28 | 2022-06-07 | Here Global B.V. | Method and apparatus for indexing multi-dimensional records based upon similarity of the records |
CN111522975B (zh) * | 2020-03-10 | 2022-04-08 | 浙江工业大学 | 等价连续变化的二值离散优化的非线性哈希图像检索方法 |
US20210321165A1 (en) * | 2020-04-09 | 2021-10-14 | Rovi Guides, Inc. | Methods and systems for generating and presenting content recommendations for new users |
CN112487256A (zh) * | 2020-12-10 | 2021-03-12 | 中国移动通信集团江苏有限公司 | 对象查询方法、装置、设备及存储介质 |
KR102491915B1 (ko) * | 2021-03-19 | 2023-01-26 | (주)데이터코리아 | 변호사 스마트 매칭 시스템 |
CN113032427B (zh) * | 2021-04-12 | 2023-12-08 | 中国人民大学 | 一种用于cpu和gpu平台的向量化查询处理方法 |
US11860876B1 (en) * | 2021-05-05 | 2024-01-02 | Change Healthcare Holdings, Llc | Systems and methods for integrating datasets |
CN113177130B (zh) * | 2021-06-09 | 2022-04-08 | 山东科技大学 | 基于二值语义嵌入的图像检索和识别方法和装置 |
US11886445B2 (en) * | 2021-06-29 | 2024-01-30 | United States Of America As Represented By The Secretary Of The Army | Classification engineering using regional locality-sensitive hashing (LSH) searches |
CN114329006A (zh) * | 2021-09-24 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 图像检索方法、装置、设备、计算机可读存储介质 |
CN113821622B (zh) * | 2021-09-29 | 2023-09-15 | 平安银行股份有限公司 | 基于人工智能的答案检索方法、装置、电子设备及介质 |
CN116051917A (zh) * | 2021-10-28 | 2023-05-02 | 腾讯科技(深圳)有限公司 | 一种训练图像量化模型的方法、检索图像的方法及装置 |
CN115169489B (zh) * | 2022-07-25 | 2023-06-09 | 北京百度网讯科技有限公司 | 数据检索方法、装置、设备以及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130262489A1 (en) * | 2012-03-28 | 2013-10-03 | Fujitsu Limited | Information conversion device and information search device |
JP2013246810A (ja) * | 2012-05-30 | 2013-12-09 | Denso It Laboratory Inc | 情報検索装置、情報検索方法及びプログラム |
JP2016119116A (ja) * | 2012-12-21 | 2016-06-30 | フェイスブック,インク. | 抽出演算子 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429173B1 (en) * | 2009-04-20 | 2013-04-23 | Google Inc. | Method, system, and computer readable medium for identifying result images based on an image query |
US8761512B1 (en) * | 2009-12-03 | 2014-06-24 | Google Inc. | Query by image |
US8239364B2 (en) * | 2009-12-08 | 2012-08-07 | Facebook, Inc. | Search and retrieval of objects in a social networking system |
CN103649905B (zh) * | 2011-03-10 | 2015-08-05 | 特克斯特怀茨有限责任公司 | 用于统一信息表示的方法和系统及其应用 |
US9054876B1 (en) * | 2011-11-04 | 2015-06-09 | Google Inc. | Fast efficient vocabulary computation with hashed vocabularies applying hash functions to cluster centroids that determines most frequently used cluster centroid IDs |
US20150169644A1 (en) * | 2013-01-03 | 2015-06-18 | Google Inc. | Shape-Gain Sketches for Fast Image Similarity Search |
US9336312B2 (en) * | 2013-04-08 | 2016-05-10 | Facebook, Inc. | Vertical-based query optionalizing |
IL226219A (en) * | 2013-05-07 | 2016-10-31 | Picscout (Israel) Ltd | Efficient comparison of images for large groups of images |
PL3066591T3 (pl) * | 2014-02-10 | 2020-04-30 | Geenee Gmbh | Systemy i sposoby rozpoznawania oparte na obrazie |
CN104123375B (zh) * | 2014-07-28 | 2018-01-23 | 清华大学 | 数据搜索方法及系统 |
US9754037B2 (en) * | 2014-08-27 | 2017-09-05 | Facebook, Inc. | Blending by query classification on online social networks |
-
2016
- 2016-12-29 US US15/393,926 patent/US20180068023A1/en not_active Abandoned
-
2017
- 2017-09-06 AU AU2017324850A patent/AU2017324850A1/en not_active Abandoned
- 2017-09-06 BR BR112019004335A patent/BR112019004335A2/pt not_active Application Discontinuation
- 2017-09-06 WO PCT/US2017/050211 patent/WO2018048853A1/en active Application Filing
- 2017-09-06 CA CA3034323A patent/CA3034323A1/en not_active Abandoned
- 2017-09-06 KR KR1020197009570A patent/KR20190043604A/ko not_active Application Discontinuation
- 2017-09-06 CN CN201780066910.1A patent/CN109906451A/zh active Pending
- 2017-09-06 JP JP2019533301A patent/JP2019532445A/ja active Pending
- 2017-09-06 MX MX2019002701A patent/MX2019002701A/es unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130262489A1 (en) * | 2012-03-28 | 2013-10-03 | Fujitsu Limited | Information conversion device and information search device |
JP2013206187A (ja) * | 2012-03-28 | 2013-10-07 | Fujitsu Ltd | 情報変換装置、情報検索装置、情報変換方法、情報検索方法、情報変換プログラム、情報検索プログラム |
JP2013246810A (ja) * | 2012-05-30 | 2013-12-09 | Denso It Laboratory Inc | 情報検索装置、情報検索方法及びプログラム |
JP2016119116A (ja) * | 2012-12-21 | 2016-06-30 | フェイスブック,インク. | 抽出演算子 |
Non-Patent Citations (1)
Title |
---|
松井 勇佑: "直積量子化を用いた近似最近傍探索", 電子情報通信学会技術研究報告, vol. 第116巻 第209号, JPN6021019609, 13 October 2016 (2016-10-13), JP, pages 147 - 152, ISSN: 0004798357 * |
Also Published As
Publication number | Publication date |
---|---|
BR112019004335A2 (pt) | 2019-05-28 |
CA3034323A1 (en) | 2018-03-15 |
KR20190043604A (ko) | 2019-04-26 |
US20180068023A1 (en) | 2018-03-08 |
CN109906451A (zh) | 2019-06-18 |
WO2018048853A1 (en) | 2018-03-15 |
AU2017324850A1 (en) | 2019-04-18 |
MX2019002701A (es) | 2019-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2019532445A (ja) | 多義コードを使用した類似度検索 | |
JP6419905B2 (ja) | クエリについての逆演算子の使用 | |
AU2017221856B2 (en) | Search query interactions | |
JP6435307B2 (ja) | クエリについての検索意図 | |
US10579688B2 (en) | Search ranking and recommendations for online social networks based on reconstructed embeddings | |
JP6377807B2 (ja) | オンライン・ソーシャル・ネットワークにおける検索クエリの書き換え | |
US20180101540A1 (en) | Diversifying Media Search Results on Online Social Networks | |
CN111699482A (zh) | 在线社交网络上利用图和紧致回归码的快速索引 | |
US20180121550A1 (en) | Ranking Search Results Based on Lookalike Users on Online Social Networks | |
JP2018022506A (ja) | オンライン・ソーシャル・ネットワークにおける検索クエリのための静的ランク付け | |
US20190155916A1 (en) | Retrieving Content Objects Through Real-time Query-Post Association Analysis on Online Social Networks | |
US20190205474A1 (en) | Mining Search Logs for Query Metadata on Online Social Networks | |
US10810214B2 (en) | Determining related query terms through query-post associations on online social networks | |
EP3293696A1 (en) | Similarity search using polysemous codes | |
AU2016200901B2 (en) | Using inverse operators for queries on online social networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20190603 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200608 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210525 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210528 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210802 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211116 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20220614 |