TWI374364B - Method and apparatus for fast similarity-based query, self-join, and join for massive, high-dimension datasets - Google Patents

Method and apparatus for fast similarity-based query, self-join, and join for massive, high-dimension datasets Download PDF

Info

Publication number
TWI374364B
TWI374364B TW096123302A TW96123302A TWI374364B TW I374364 B TWI374364 B TW I374364B TW 096123302 A TW096123302 A TW 096123302A TW 96123302 A TW96123302 A TW 96123302A TW I374364 B TWI374364 B TW I374364B
Authority
TW
Taiwan
Prior art keywords
quot
computer
group
similarity
item
Prior art date
Application number
TW096123302A
Other languages
English (en)
Other versions
TW200820024A (en
Inventor
Russell Toshio Nakano
Stanley Cheng
Original Assignee
Nahava Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nahava Inc filed Critical Nahava Inc
Publication of TW200820024A publication Critical patent/TW200820024A/zh
Application granted granted Critical
Publication of TWI374364B publication Critical patent/TWI374364B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2264Multidimensional index structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

1374364 九、發明說明: 【發明所屬之技術領域】 本發明係關於資料組。更特^言之,本發明係關於用於 基於快速相似性詢問、自我參加及參加大量、高維資料組 之方法及裝置。 【先前技術】 基於相似性而參加大量資料組成為許多重要問題之核 心。舉例而言’資訊摘取領域中之—個重要問題為資料挖 掘’其尋求識別諸如文件、影像或其他無結構内容之項之 f合之間的型樣。—般而言,存在某個標準來量測資料成 員之間的相似性’該標準可表達為數學公式。—般而言, 吾人具有兩個大量資料組’且吾人欲"參加"該等資又料二, 以識別來自每-資料組之至少_成員與來自另一資料租之 另—成員相似的對或群集。一重要的特殊情況為”自我夫 二’其中識別單個資料組内之重複、近重複或極似項。 :要應用為内容可定址儲存器及智慧㈣儲存器之新興 “,其中相對於參考集合或目標資料組自身而參* 資料組以識別複本及近複本。儘管電腦變得更快、儲存 大V貧料組之能力尚未與之同步。此呈現一問題。 【實施方式】 引言 /一了描述本發明,下文可幫助讀者。無結構内容 汛早兀,諸如本文、影像、音訊、 ·”’貝 視訊、基因組序列或可 1222I2.doc i^/4^64 由電知儲存器中之位元表示的任何實體。資料組為無結構 内容項之集合。一般而言,資料組中之項具有或咸信具有 某種關係。舉例而言,其可為來自照片集合之靜態影像, 或資料組中之項可為來自法律文件或小說之段落。作為旁 白’吾人指出’當吾人欲探究項是否具有關係時(諸如, 虽吾人組合來自一大批不同物種之DNA序列之片斷或組合 來自監視視訊之訊框之片斷時),吾人便可將項插入於資 料組中。 將無結構内容表示為向量 形式上,吾人將内容項x表示為來自内積空間(吾人亦稱 之為向量空間)之元素。此外,吾人有時將内容項稱為來 自此向量空間之向量。作為快速回顧,内積空間s具有附 錄1中所列之性質。吾人使用一先前申請案[參考案:r
Nakano 之’’Method and apparatus for efficient indexed storage for unstructured content",註明日期為2〇〇5年2 月 之美國專利申請案第1 1/361 166號]中之内積空間之性質。 内積空間具有將空間中之兩個元素之間的距離表達為實 數之距離函數D(x,y)。此對吾人極為重要,因為吾人關心 兩個内容項係如何地相似或如何地不相似。舉例而言,吾 人可能關心兩個網頁之内部結構相似性,以最為有效地表 達邏輯,從而自較大的頁集合提取内容。或者,吾人可能 欲識別公司政策陳述之知識庫内或法律條文之儲存庫内的 重複或近重複本文項。 吾人在吾人選擇之内積空間中之内容項與盆且脚^ 、八✓、組衣不活 I22212.doc 1374364 之間進行區分。舉例而言,在本文應用中,吾人可選擇本 文之表示法,該本文表示法將給定序列中之每一字指派至 符記。-符記化策略為取字之"詞幹"以使得複數個及其他 不同的字尾被指派至同一符記。或者,吾人可決定若干數 量映射至同一符記’以使得"3隻熊"與”1〇〇隻熊"係等同 的’亦即一量,之後為針釾"能 矸對熙之符5己。就向量表示法而 言,兩個向量可為相等的,作其太六 J彳一丞本内各項可為不同的。另 一實例量測文件相似性,此涉及鸫ώ 此沙及碏由出現於文件中之關鍵 字及每一關鍵字出現之次數來*千 数术录不文件。此為術語文件向 量。在此表示法下,諸^ 邊如 hke an arrow"及"an arr〇w like" 之本文序列含有關鍵字("arr〇w"及”Uke。中之每一者的一 次出現。其向置係相等的,且因卜盆 且因此其在向量空間意義上係 相等的。但基本内容項係相里 丁々日八旳因為吾人使用資料組之 成員之向量空間表示法,所五 所以吾人引入此區別,但吾人允 許内容項保持其基本身份。享竇卜 ^ 事貫上,吾人可選擇對於單個 項引入多種向量表示法。 内積、距離、相似性 出於吾人之目的,吾人脾如μ普^ 人將假设業已選擇—表示法,該表 示法將内容項映射至向量。 具體5之,給定内容項隼合, 吾人選擇將每一項指派至 ' …Φ…主 内積二間S中之向h的表示法。 疋S中之兩個凡素x、y, 71丁門積表不為<X V>。阳絲 1概述了内積空間之性質。 、 距離 d(x,y) = Sqrt(<x_y,x_y>)。 根據此定義,吾人看出, 兩個向ιχ與y相等,則其間之 I22212.doc ^/4364 距離為零。請記住,吾人允許兩個向量相等 容項可並不相同。 仁對應的内 :有内積係較為方便的,因為其給予吾人表達資料組中 個項之相似性的方<。當吾人具有冑應向量表示 零的兩個内容項時,吾人便引入相似性概念· ’一 相似性係-有用概念,因為相似性為G與1之間的數字。本 兩個向量之間的距離為零時,該兩個向量之相 !田 或具有1〇〇%之相似性。 ’ 給定資 該數學 與人們 相似性係較有吸引力之概念,因為其易於理解 料對象之家族’可存在一數學方式來表達相似性 弋易於4握、汁算直截了當,且最為重要的係 對兩個對象相似性程度之直覺一致。 …而,實務上’將相似性應用於大型資料組係有問題 設—資料組包含N個項,且吾人欲找出資料組内相 的項0 旦當向量空間s之維度較小時(例如,在-維情況下),向 里空間減小至靡始^古t 内Mm 且吾人可在0(n*li)g(n))時間 七且進行分類,並簡單地計算有序㈣之 的相鄰項之相似性。 ,,又限 一對於最令吾人感興趣之無結構内容資料組而言,維數 南。舉例而言,右供任4 紅5。文件表示法中,向量空間之維數 於可能的關鍵字之數 , 数目其可較易地到達數百或更多的範 圍中。除簡單的關输全+ 關鍵子方法之外,更為複雜的表示法可使 122212.doc 用文件内之字序列。在彼等情形中,向量空間之維度與鄰 近子之相異的η元字符(n-grams)之數目成比例,且維數擴 展為數萬》 對於基因組序列資料組而言,通常考慮16個連續核苷酸 之η元字符,其中在n元字符中之每一位置上存在四個可能 選擇。一般而言,若資料組由長度為k之核苷酸序列組 成’則向量空間之理論維度為大約6,或k升高至第 4〇億次冪。請記住,幾百個核苷酸之一序列認為係較短 的,吾人處理巨大維度之問題。 定義 為了描述本發明,術語(處於圓括號中)之以下定義可幫 助讀者。 (致)¾項集合x.i與組x.i之向量表示法係向量空間呂之 成員且存在針對空間s之内積時,吾人便說項集合xi與組 x.i係一致的。 舉例而言,假設吾人具有兩個資料組,其均由靜態影像 組成。此外,吾人業已選擇對該兩個資料組應用相同轉 換,(具體言之)以正規化亮度、對比度、比例及方位之像 素值,從而產生每一影像之高維向量。吾人欲知道是否存 在相似影像’例如,成對影像或互相類似影像之群集。藉 由此構造,吾人便說該等資料組係一致的。 (s群集)¾項之一致集合中之任一項X對於該集合中之— 項而言具有大於或等於s之相似性時,吾人便說該集合形 成S-群集。 122212.doc 1374364 (自我參加)給定資料組D,識 "於0與1之間的相似性臨限值。 (詢問)給定項q、資料組D及介於〇與丨之間的相似性臨限 值」其中咖-致。在考慮9與0之聯集的情況下,識別 在該包括q之聯集中之s-群集。 (:參加群集)給定資料组中之向tx i及資料D 2中之
向量y·】,其中D.mD.2係一致的。s參加群集為至少一成 貝來自D.1且一成員來自D 2之8_群集。 (一般性參加)給;t資料組中之向量及資料D.2中之 向量y.i’其中D.mD.2係一致的。識別所有s參加群集。 實施例 吾人將按下述順序繼續論述本發明之多種實施例。 第一,吾人展示如何建立相似性索引。 第一 ’吾人展示如何相對於相似性去2,二血/ w , W「玍京引而執行基於相似 性之詢問。
別D中之s-群集,其中s為 第三,吾人展示用以執行自我參加之快速技術。認為該 演算法係較快的係因為吾人之方法之計算複雜性隨著 o(n*log⑷)而增加。相比之下’蠻力方法考慮資料組中之 所有可能對’ &而需要,_1)/2次相似性計算或0(ηΛ2)運 算》 第四 吾人展示如何對兩個資料組執行 程序使用自我參加技術作為子 (nl *log(nl+n2*Iog(n2))次運算之計 為該兩個資料組之大小。吾人注意 一般性參加。此 程序’且其亦具有〇 鼻複雜性’其中nl及n2 到’吾人將描述之程序 122212.doc 1374364 優於構建該兩個資料組之聯集及對組合資料組執行自我參 加σ人針對一般性參加證明該程序之正確性。 建立相似性索引 引文榀述集中於遞增樹建立之一般情況[參考案:汉 akano之,Meth〇d and⑹e出 st〇rage f0r unstructured c〇ntent",註明日期為2〇〇5年2月 之美=專利申請案第1 1/361 166號]。此處,出於吾人之目 的|吾人引入用於以塊形式建立(bulk buUd)二元相似性索 引树之程序,該程序比先前遞增程序更為簡單且迅速。資 料,且之初始載入係足夠普通的操作,以至於對該情形進行 最佳化係有意義的。 圖3說明(_般在3〇〇處)本發明之一實施例,其展示建立 塊相似性㈣。在3〇2處,吾人規定葉節點之最大值為〇個 項。在304處,吾人輸入内容項,使n表示項之數目且稱該 等項為當前集合。在306處’吾人查看是否n>G。若㈣為 假:則吾人進行至308,在此吾人建立一葉節點用該η個 内合項對其進行填充並連接來自母代之鏈路,而且吾人隨 後進行至31〇’從而完成該程序。h>G為真,則吾人進行 至3 12,在此吾人對當前集合中之所有項計算如下向量 和:vSplit=sum(i; x i)/ne吾人隨後進行至314,在此吾人 針對當前集合中之每一項計算向量差:d ^」_,出。吾 人接著進行至3〗6,在此吾人針對當前集合中之每一項計 算如下純量值:P_i=<d.i,vsplit>,並形成該等值之集合。 接著,在川處,吾人查看p.i之數目是否小於若^之數 122212.doc 1374364 目不小於3 ’則在320處’吾人自集合移除最大及最小ρ」, 且隨後返回至316。若p.i之數目小於3,則在322處,吾人 查看吾人是剩餘1個還是2個值。若吾人剩餘1個值,則在 324處,吾人使p.Spiit為最後一個剩餘值,且隨後進行至 3U。若吾人剩餘2個值,則在326處,吾人使p spm為最後 兩個剩餘值之平均值,且隨後進行至328。在328處,吾人 定義一,,分裂量”,其由(vsplit,p.spm)組成,其中(vspm, P.split)係在先前計算出的(在3 12處計算出vspm,且在324 或326處計算出p.split)。在33〇處,對於當前集合中之内容 項中之每一者而言’若p.i>p split,則將其指定為"上",否 則’將其指定為”下接著,在332處,吾人建立由來自 先前步驟之分裂量組成之内部節點,且定義至"下"及"上”
節點之鏈路,該等鏈路隨後即將建立。接著,❹類為T 或,上”而定,吾人分別進入至334或336。在说處,對於"下” 集合而言,吾人稱其為當 从丄 J果〇使n為項之數目,並且 猎由進入至306而再次調用此整個程序。 集合而言,吾人稱1 36處,對於"上" 搿八馮备月,】集合,使n為項 藉由進入至306而再次調用此整 、 ’並且 說明本發明之—實施例, 序因此,圖3大體上 夕t、土甘a认 '、展不以塊形式建立相似性旁引
之方法,其中輸入為内容即U 節點中之項之二元樹。 ’、〇 》出為具有處於葉 圖4說明(-般在4〇〇處)本發明之 性索引樹之一實例。卷 <J,其展示相似 存有-由,’平均”向量組成之分裂量 曰°,、, 純I分裂值。分裂 I222i2.doc 13- 入向里’並決定該向量應引導至 葉節點(諸如,406、408、412、 量之職責在於獲得任何輪 ”下''還是”上"子樹。每— 414)存有内容項向量。 詢問 射心按如下以執: L…人詢問向量q、相似性索引樹及相似性臨限值 S 〇 2·將當前節點設定為索引樹之根。 3.若根節點為葉節 辛3 ’則计异q與葉節點中之每—項之 間的相似性。返回相似性 ^ ^ 序。 於s之項。吾人完成該程 4. ,之’若根節點為内部節點,則分裂量由向量 vspllt及純I值”p spm•,組成。計算下述表達式: r=<q-vsplit,vsplit〉 5. 計算△Ir-p.split)。 6. 若△大於零,則將當前節點設定為上子代。否則,將 當則節點設定為下子代。 7·進入至步驟3。 圖5說明(一般在5 0 〇處)本發明之—實施例,其展示珣 問。在502處,給定吾人業已建立相似性索引之資料組, 給定詢問q,且給定所要之相似性臨限值s ^在5〇4處五 人將當前節點設定為相似性索引之根。在5〇6處,吾人判 定當前節點為葉節點還是内部節點。若當前節點為葉節 點’則在5 0 8處,吾人計算q與葉節點中之每一項之間的相 I22212.doc • 14 - 並將它們單獨收隼。 所有葉節點…人尚’吾人判定是否吾人已處理 處重新開始。若:人=理所有葉節點,則吾人在_ °已處理所有葉節點,則在024處,吾 並:且1否吾人具有在此點上收集之任何殘留項。若吾人 不-有在此點上收集之任何殘留項,則吾人進行至 在此,人完成該程序。若吾人確實具有在此點上收 集之任何殘留項,則五人、隹“ z m 〇
集之殘留項聚隹在:人進订至㈣,在此吾人將先前收 、本在起,且吾人隨後進行至6〇ό。因此, 圖6大體上說明本發明之一實施例,其展示用於自我參加 之方法’其中輸入為内容項之集合’而輸出為項之"良好" 及"一次性"群集。
圖7說明(一般在700處)本發明之一實施例,其展示自我 參加樹之一實例。展示多種層次:層次0(702) '層次 1(7〇4)及層次2(706)。展示最高組(708、720及728)。展示 處於最高組708與"良好"群7丨2之間的指示"錨”之指標71〇。 在7Μ及716處亦展示,,良好”群。在718處為,·_次性"群,其 不具有錯。在722及724處亦展示”良好"群。726展示"一次 性"群’其不具有與滿足相似性臨限值s之群中的另一項存 在相似性之項。 —般性參加 給定兩個一致資料組D. 1與D.2及相似性臨限值s*,此程 序識別s*參加群集之集合β每一 s*參加群集顯示關於兩個 資料組之重要資訊,因為其識別一資料組中之哪些項在另 一資料組中具有相似對應項。此外,因為s*參數可由吾人 122212.doc 1374364 設定,所以吾人著手判定匹配是否除極近匹配(非常接近 於1之s*)外全部濾掉,或是否吾人樂意找出極寬匹配但仍 然篩選出完全的錯配(例如,使用70%之。 方法
如吾人先前所提及的,大量資料組之主要挑戰之一在於 盡可能地避免ηΛ2成對相似性計算階段。舉例而言,在自 我參加程序中,只有當吾人接觸到各含有G個項之葉節點 時,吾人才借助於成對相似性計算。因為吾人可控制葉節 點之大小G,所以吾人可將成對計算之界限置為。
-般性參加背後的思想在於盡可能地以槓桿方式作用於 自我參加程序所產生的部分階層。當資料組内存在高度内 部相似性時,將存在許多,,良好"群。參見圖7。每一 Z好 群自其中間選定”錯”項,以表示該群在群階層中係向上 的。因為每個其他系以,所以此使得大大節 約計算成本,因為外部項相對於銘之不相似性便等同於知 道同-項亦將與該群中之每—成員不相似。 然而’亦存在.將此代理表示方案用於相似性之成本,及 必須處置僅作為每一群成員之不完美替代者的錯之成本。 為了對此進行補償,吾人必須將 4將相似性臨限值限定於良好 群階層中之層次之間,以保持五 诗口人對總s*相似性標準之堅 持性。換言之’因為自我參加分 刀組階層中之每一層次損失 一二相似性保真度,所以吾人 - s目我參加中所用之臨限 值以進行補償。吾人如下所述 則” rft #管i i 1精由侍出相似性之”鏈式法 、 计开口人在每一層次上 兄卉多少相似性預算。 122212.doc 1374364 假設吾人具有兩個項X與Z之間的距離,且吾人欲弓丨入中 間項y : !|χ-ζ||Λ2 =ll(x-y)-(y-z)llA2 <=丨丨0丫)丨丨八2 +丨丨(丫-2)丨丨^2(三角不等式) 若吾人假設X、y及z經正規化以具有單位範數,或<χ,χ>= <y,y>=<z,z>=l,則吾人可使用相似性(x,y)=<x,y>/sqrt(<x,x>*
事實。 在使用定義||x-y||A2=<x-y,x-y>,且利用内積之性質擴展 第二項的情況下,吾人達到相似性之鏈式法則: 1-相似性(χ,ζ)<=(1-相似性(x,y)) + (l-相似性(y,z)) 〇 作為旁白’此可根據不相似性表達為更易記住的形式: 不相似性(x,z)<=不相似性(x,y)+不相似性(y,z), 其中不相似性(X,y ) = 1 -相似性(X,y )。 重寫上述等式(* ),吾人得到等效的鏈式法則:
相似性(x,z)<=相似性(x,y)+相似性(y,z)_ 1。 此可擴展成兩個中間項: 相似性(x,z)<=相似性(x,y 1) +相似性(y 1,y2) +相似性(y2,z) 此可擴展成多個中間項y.i,其中i = l,k : 相似性(x,z)<=相似性(x,y. 1) + Sum(i=l,k-1 ;相似性(y i,y i+1)) 122212.doc -19- 1374364 +相似性(y.k,z) -k 〇 此表達式可解釋為意謂,每當吾人在x與z之間插入一個 額外中間項時,該兩個端點之間的相似性之下限便降低每 一額外中間項之間的相似性。 吾人將使用此鏈式法則來判定吾人在每一自我參加上需 要使用何相似性臨限值,以使得當吾人嘗試對自樹中之葉 節d向上傳播至錨及一次性節點之相似性進行推理時,吾 人對樹k之許多層次引入至解決方案中的保真度損失具有 一處理。在吾人之情況下,吾人在層次之間均勻地分配總 相似性預算。 ~
之一實例’下表展示,倘若 了給出起作用之鏈式法則 吾人必須要求每當兩個葉項經由某個錨項而彼此相關時, 吾人便可宣稱在最壞情況下該兩個項滿足85%之相似性臨 限值,則所需之”内部"相似性臨限值係需要的。如該表所
指示的,當樹變高時,無人需要加大層次之間的相似程 度’以維持總相似性保證。 自我參加樹 中之層次 達成85%之總相似性 所需之内部相似性 1 85.00% 2 95.00% 3 97.00% 4 97.86% 5 98.33% 6 98.64% 122212.doc -20· 叶JO斗 秤決万案標準 一般性參加程序所诖 ^ ^ . 待定狀況在於每一 s*參加群集 具有如下性質:群集备_ =一 成貝對於另一資料組之某個成 貝而έ至少處於s*相似性 生I限值内。此外,若參加群隹之 任一成員為錨,則可鋅出 ^ ^ ^ ^ , 曰由5亥錨直接或間接達到之該成員之 貝科,·且的所有成員對於 _ 另貧枓組之某個成員而言至少處 於S相似性臨限值内❶ 另外,若參加對可自參加群集來構 建(其中该對之每—赤昌仏& , 成 為),則每一錨之兩個完整分 組子樹便為滿足S*臨限值 值之候選者。相反,若存在來自 D.1之項x.l及來自D2之nv 〇 α , 曰认2之項χ.2,且相似性(χ1,χ 2)>s*,則 來自-般性參加之解決方案含有一s*參加群集,其中: 啦1及X·2均為成員’或,b)存在作為s*參加群集之成員的 釦其中X.1及/或X.2可藉由該錯直接或間接達到。 程序 1. 給定吾人相似性臨限值s*。 2. 使資料組1及2之大小分別為N1&N2。 3. 選取分組大小Gl>〇。(吾人希望g足夠地大以便階層 式自我參加樹之預期大小係可管理的,但其中g足 夠地小以便將G1a2/2成對相似性計算保持為有界限 的。吾人計算一最佳分組大小,其最小化計算成對 相似性之總計算成本,加上計算建立自我參加二元 祕所需之上/下分裂的成本^ )分組大小G丨之選擇根 據高度hl =高限(log2(N1/G1))而判定二元樹之高度。 •按下述方式選取資料組丨之相似性臨限值s丨。在使用 I22212.doc 4, 4,1374364 自我參加樹之預期高度_ 算”内部"相似性Sl: 兄下’按如下方式計 sl = l-(l-s*)/(2*hl-i) 此為當吾人在資料組丨上構建自 相似性,以確保慮及樹之全$ L °樹時需要使用的 性足夠接近而使得㈣所有候選參與其群之相似 5. 對資料組2進行相同裎庠 Γ门&序。亦即’選取分組大小 间度h2及内部相似性臨限值s2。 6. 使用先前判定的分組大 # ^ , A 内。P相似性臨限值來計 -·母貢枓組之自我參加。 7. 識別每-資料組之自 古斤本山上 被南兀素,該等最 问兀素由根群集之錨加 成。 所有—次性群之成員組 8. 將來自資料組1及2之自弗| ^ 我參加祕之最高元辛έ a 單個集合,且使用a q m成 中之項數U 限值S*及對應於此集合 參加。 耒什异此集合上之自我 9. 遍見產生自自我參加之 4, 且針對相似性臨限值 、擇斤有參加群集。將每_ 至所得組。 群集附加 10·Γί方切釋參加之結果。回心參力。群集之定 ::母-此群集含有來自資料組丨及2之至少一成 員羊集之成員滿足S*相似性臨限值條件。此外, 群集之某些成昌·l_ W li- mr —貝為上述步驟6中對其自身之資料組所 122212.doc -22- 1374364 執行的自我參加中之錨。在該情況下,吾人稱其資 料組中可藉由错直接或間接達到的成員:參:組之 部分》詳言之,在參加群集含有分別來自資料組α 2之錯4a2的情況.下,資料组】中之可自錯以而達 到的成員便顯示為參加至資料組2中之可自錨U而達 到的成員中。 參見圖8之流程圖。 圖8說明(一般在800處)本發明之一實施例,苴展干一俨 性參加。在8〇2處,吾人給定資料組⑷,以:相:性: 限值s*。在804處,吾人可選取預先判定的固定,分組,,大 小G.i,或視情況,針對每一資料組判定最小化建立相似 性索引之總計算時間的”分組”大小Gi。接著,在_處, 給定資料組⑴之大小,吾人計算樹之預期高度^高限 在808處,對於資料組〗及2而言,五人使 用,似性臨限值斗[(1.s*)/(2*h Μ]建立自我參力:樹。 接著’在810處’每一自我參加產生良好群及一次性群之 相卜且吾人將"最高"組及—次性群之成員—起指定為根良 好群之錫。在812處,吾人自先前步驟(81〇)中所識別之”最 高"組形成資料·组。接著,在814處,吾人作為相似性 臨限值對先前步驟(812)中所形成之資料組執行自我參加。 現在在816處’自先前步驟(814)中之自我參加,吾人輸出 一有來自資料組1之至少一成員及來自資料組2之至少—成 員的”良好•,群,並將此等群稱為s*_參加群集。吾人接著進 打至818’ #中吾人完成該程序。因& ’圖8大體上說明本 1222I2.doc •23· 發明之一實施例, 入為内容項之集合 正確性驗證 其展示用於一般性參加之方法 ,而輸出為項之Y參加"群集。 其中輸
-叙性參加演算法之正確性要 及資科组2中之X.2而言,抓m 枓組1中之U 對,或,及x.2中之一者或二識別為所得組中之-之錨來表示,且宜代#" Φ其自我參加樹内中
中,條件係當且7二者直接出現或間接連接於所得組 矛田且僅當相似性(x.l,x.2)>s.〇。 自所仔組之構造,吾人知^ ^ ^ ^ ^ ^ 足相似性(Χ1 χ2、> Λ ㈣所付組之任何對均滿 為…" 。此建立”僅當,,方向之部分小 •… 僅當"方向之部分b),吾人注意到,五人為〇 及D.2構建自泱僉。人為D.1 處於其下之任項Π以使得最高㈣-次性項與樹中 慮及任一項至性之下限為心換言之,吾人
性,以確=離,且基於樹之高度而合計總相似 /確保樹中項之任何連接對均為至少相純s*。在慮 及=自我參加樹内之總相似性的情況下,吾人僅需要考 慮多加群中之任-其他成員的由錨與另-錨或直接與一 項所產生的額外相似性。此額外距離可使得消除最終解決 方案中之某些可能成對。 對於驗證之"去”古A 一 田方向而§ ’進行相反的假設,假設存在 x.l及x.2,其中χ丨及乂 2分別來自資料組1及2,其中相似性 (χ·1,x.2)>s.〇,此外,χ丨及χ 2並不表示於所得組中。換言 之,存在來自資料組之一對匹配項,其中吾人無法藉由其 在所得組中之直接存在或經由所得組中之代表性錨來識別 122212.doc -24- 1374364 該匹配。吾人欲建立矛盾。 此意謂吾人具有如下情形··在參加演算法中之任-時 刻’ χ·1及X.2中之一者或兩者並未在所得組中終結,且其 麵之任一者於自我參加樹令亦 j Τ少卫非為向上的。吾人將藉由 歸納而繼續下去。 對於基礎情況而言,假設χ】五县一 > 做叹χ·1為最尚錨,或其出現於一 -人性群中之一者中。假兮 — 假叹Χ·2亦係如此。參加演算法之第 步驟將兩個資料組之所有最离 彻&入 円麵及—次性成員組合成單 個集& ’且使用s*臨限值對i 白一 打,、執仃自我參加。識別含有來 自及2中之每—者之至少—成員的任-群集以供進 ::理;吾人將此稱為s*參加群集。但此產生一矛盾, U為吾人具有X.1及X2處於崙古 A如 最问組中且其滿足0條件的情 况’但在該情況下,自进和十 月 .自我參加耘序將其置於所得集合中。 對於卸納情況而言,假設X 一 H , L .既非最向錨,亦不處於一 -人性群中。此暗示其處於含有錨之 — --j! H 5¾ Λ ο, ^ 群中又,母一錨處於 .有岛之群中。稭由構建自我參 人知道[丨與最高錨 〆 為至少0。 -人性群成貝之相似性 相同推理適用於\.2。自此,玉 Φ @ . ^ D人知道x_l及χ.2在最高組 ^有滿足s*條件之代表者。 '' D π ^ . σΑ在該程序中形成來自 .之最兩項㈣加群集。因 具有用於x.l及x.2之代表者 :接心成 表者分為不由共同錨連 唯彳式在於使該等代 質相矛盾。Μ連接之不同群》但此與自我參加之性 I222l2.doc -25- 1374364 論Γ’吾人業已建立驗證之"當••及,•僅當”方向。 吾人觀察到,在兩個資料組 八,# I間執仃參加之工作分兩部 力刀:。’吾人在每-資料組上個別地進行自我參 吾:在每-資料組之最高元素上進行自我參 η σ人看到,當資料組在其自身内具有顯著的 相似性程度時,噩古鈿你10 八令顯者的 υ可』著地小於整個資料組,因為
金田作為各別群成員之件搜& + 士 貝之代理而存在。當兩個資料組均且有較 面的内部相似性程度時,最高成員之數目便相對較:,且 組合之最咼組上之自我參加將相對較快。 田資料組在其自身内含有極小相似性時,自 我參加便產生大量具有極少銷之一次性群。在此情況下, 最南成員將幾乎與整個資料組一樣大。若第二資料组亦係 如此’則吾人看到,最高組上之自我參加將構成工作之 塊。 吾人指出’用於參加兩個資料組之此程序可擴展至參加 夕個資料組。第一’在每—資料組上個別地產生自我參 加。第二,將來自每—白我姿 > 〇 自我參加之最尚成員收集成最高成 員之一組合組,且對該組執行自我參加。 貫務上’在附加或移除項時遞增地更新資料組之相似性 索引係有意義#,因為自我參加係參加其他資料組之先決 條件’且相似性索引又為自我參加之必要組成部分。在參 # t R. Nakano ^ "Method and apparatus f〇r efficient indexed st⑽ge f〇r議㈣咖以繼_"(註日月日期為2〇〇5 122212.doc -26- 1374364 年2月之美國專利申請案第1 1/361 166號)中所述之程序可應 用於此情況。 ”群”及”群集” 热習此項技術者將瞭解,常常若干項用於描述同一事 物。於此描述中使用時’術語"群”及"群集,,或類似短語用 於指同一事物。舉例而言,在上文之"定義"部分中,吾人 如此定義s群集:(s群集)當項之一致集合中之任一項X對於
亥集合中之一項而言具有大於或等於3之相似性時吾人 便說該集合形成S群集。詞語”群集,,係指"項”(在別處稱為 ’·内容項”)之集合。藉由稱其處於"群集"中便強調一點,即 群集中之所有TL素均具有s或更大的成對相似性。舉例而 言,若相似性臨限值為(例如)99%,則吾人可具有⑺個影 P , ,ρ.10並且在合適地轉換成其各別内積空間向量 之後’對於處於{1,·.·,10}中之所有⑷而言,相似性㈤, P.j)>=0.99 »
另一實例處於,,自我參加”部分之論述中,其中吾人陳 述:給定處於((M)中之s值,D中之每一項χ屬於具有如下 性質之群集C⑻·。此處,詞語"群集,·係指同一事物。 因此,繼續上述實例’存在—值s=〇〜中影像集合中 之母-影像χ具有如下性質:影像係成對相㈣,此相似 性滿足或超過99%之臨限值。 另一實例係關於群之論述 一自我參加產生良好群及一 加操作描述為產生良好群及 ,諸如在圖8中,其中揭示,,每 次性群之樹"。此處,自我參 —次性群。此等於稱良好群為 1222i2.doc •27· 滿足相似性臨限值s之s群隼e 4 — 八 -人性群為未能滿足S臨限值 之一,,且内容項。舉例而言, 右σ人將S設定為99%,則良妊 群為0.99群集。但一次性 群為使標準未能滿足"9群集條 件之集δ。若相似性臨限值 m條件成立,則吾人可使用術扭 "良好群"、丨丨良好淼隹"好"被# ^〇〇 良好群集及s群集,,來意謂同一事物。反之, 若相似性條件不成立,則五 取JL則〇人可使用術語"一次性群,,及"一 次性群集”或類似短語來意謂同一事物。
自此’吾人相,"群”及,,群集”(以及類似短語)係指具 有某二已知成對相似性值之_組内容項。因為吾人知道此 月兄所以0人可對是否已達成給定相似性臨限值s作出 陳述 ^ &之,若所有内容項對均超過s相似性,則吾人 具有S群集、良好群或良好群集。反之,吾人並不具有s群 集,但吾人改為具有一次性群或一次性群集。 更η之 °月’主思,:¾吾人具有η個内容項而吾人並不 知道成對相似性值(其總共為n5l((n_1)/2),則吾人無法稱其
構成良好群、一次性群、良好群集、一次性群集還是群 集。在較糟情況下,任何n個項均形成〇群集。換言之任 對内容項均具有相似性>=〇,此係真實的但對吾人盔 ,r 幫助。 證明終了 吾人業已展示如何執行基於相似性詢問、自我參加及一 般性參加大量、高維資料組。 因此’業已描述用於基於快速相似性詢問、自我參加及 參加大量、高維資料組之方法及裝置。 122212.doc •28· U/4J64 返回參看圖1 , R】μ θ 5兒明網路環境1 〇〇,其中可應用所述 之技術。網路環琦〗ΛΛ 〇具有網路102 ’網路102將s個伺服器
1_〇4_1至104-WC個用戶端⑽工至相連接。如圖所 不’呈請飼服器^4.1至104_S及C個用戶端!⑽至1〇8_c 之开/式的右干電腦系統經由網路102而彼此連接,網路102 可為(例”基於公司之網路。請注意,網路或者可為或 包括下述各項中之-或多者:網際網路、局域網路 (LAN):廣域網路(WAN)、衛星鏈路、光纖網路、電缓網 路或此等及/或其他網路之組合。該等祠服器可表示(例如) 早獨的碟片儲存系統或储存及計算資源。同樣,該等用戶 端可具有計算、儲存及檢視能力。本文所述之方法及裝置 0用於基本上任何類型之通信構件或計算設備(無論係 本地的還是遠端的),諸如,LAN、WAN、系統匯流排、 微處理器、主機,伺服器等。 返回參看圖2,圖2以方塊圖形式說明電腦系統2〇〇,電 腦系統200可表示圖1所示之用戶端及/或伺服器之任— 者°亥方塊圖為向階概念表示,且可用多種方式及藉由多 種架構加以實施。匯流排系統2〇2使中央處理單元 (CPU)204、唯讀記憶體(R〇M)2〇6、隨機存取記憶體 (RAM)208、儲存器210、顯示器22〇、音訊設備222、鍵盤 224、指標226、雜項輸入/輸出(I/O)設備228及通信系統 230互相連接.匯流排系統2〇2可為(例如)諸如以下匯流排 中之一或多者:系統匯流排、周邊組件互連(PCI) '高級 圖形埠(AGP)、小型電腦系統介面(SCSI)、電氣電子工程 122212.doc -29· 1374364 師協會(IEEE)標準號^“(FireWire)、通用串列匯流排 (USB)等^ CPU 204可為單個、多個甚或分布式計算資源。 儲存器210可為緊密光碟(CD)、數位通用光碟(dvd)、硬 碟(HD)、光碟、磁帶、閃存器、記憶棒、視訊記錄器等。 顯示器220可為(例如)陰極射線管(CRT)、液晶顯示器 (LCD)、投影系統、電視機(TV#。請注意,視電腦系统 之實際實施而定,電腦系統可包括該方塊圖中之某些、所 有、更多的組件或該方塊圖中之組件之重新配置。舉例而 言,精簡型用戶端可由沒有(例如)傳統 設備組成。因此,圖2之系統之許多變化係可能的味手持式 為了論述及理解本發明,應理解,多種術語被孰習此項 技術者用來描述若干技術及方法。此外,在該描述中,出 於解釋之目的,陳述許多特定細節以提供對本發明之透徹 理解。然而,-般熟習此項技術者將清楚地看到,本發明 可在無此等特定細節的情況下加以實踐。在某些情況下, 熟知的結構及設備係以方塊圖形式進行展示而未詳細展 不,以避免使本發明變得模糊不清。足夠詳細地描述此等 實施例’以使得-般熟習此項技術者能夠實踐本發明,且 應理解,在不脫離本發明之範嘴的情況下,可利用 施例且可作出邏輯的、機械的、電性的及其他變化f 元:=某;部分可!據(例如)電腦記憶體内之資料位 述及表呆、、的法及付號表示法來闡述。此等演算法描 直他一=係一般熟習資料處理技術者用來最為有效地向 ”他一般熟習此項技術者傳達其工作之實質的方式。演算 122212.doc •30· 1374364 法在此(且通常)係構想為產生所要結果的自我-致行為之 序列。該等行為係需要對物理量之物理操縱的行為。 (U S並非必要)’此等量採用能夠被儲存、傳送、組合、 比較及以其他方式操縱的電信號或磁信號之形式。將: :號稱為位元、值、元素、符號、字符、項、數字或類似 名稱已多次證明係便利的(主要係出於普通使用之原因)。 ‘、、、而應' D己住,所有此等及類似術語均與適當的物理旦
相關聯,、且僅為應用於此等量之便利標記。除非論述中: 有具體說明,否則,庙瞭. iir /m J應瞭解,在整個描述中,利用諸如,,步 理或"計算"或”判定"或"顯示"或類似術語之術語的論述可 指電腦系統或類似電子計算設備之行為或過程該電 先或類似電子汁异设備操縱在電腦系統暫存器及記憶體中、 、為物理(電子)里之資料並將其轉換成在電腦系統記憶 體或暫存器或其他此類資訊儲存、傳輸或顯示設備中= 似方式表示為物理量之其他資料。 用於執行本文之操作之裝置可實施本發明。此裝置可特 別t於所要目的而構建,或其可包含藉由儲存於電腦中之 電月®私式而選擇性地啟動或重新組態之通用電腦。此電腦 程式可儲存於電腦可讀儲存媒體中,諸如(但不限於)任何 類型之碟片(包括軟性磁碟、硬碟、光碟、緊密光碟唯讀 己德體(CD-ROM)及磁光碟)、$讀記憶體(R〇M)、隨機存 取記憶體(RAM)、電可程式化唯讀記憶體(EPROM)、電可 抹除可程式化唯讀記憶體(EEpRC)M)、快閃記憶體、磁卡 或光卡等,或適合於儲存對電腦而言為本地或對電腦而言 122212.doc 1374364 為遂端的電子指令之任何類型之媒體。 本文所闡述之演算法及顯示並非固有地與任何特定 或其他裝置相關。多種通用系統可與根據本文教示之程式岛 起使用’或可證明構建更為專門化的裝置來執行所需方 $係便利的。舉例而言’根據本發明之方法中之任一者可 貫施於硬接線電路中'藉由程式化通用處理器或藉由硬體 與軟體之任何組合而實施。一般熟習此項技術者將隨即瞭 2本發明可以除上述彼等組態之外的電腦系統組態加以 只歧此等電腦系統组態包括手持式設備、多處理器系 統、基於微處理器或可程式化之消費型電子產品、數1信 5虎處理(DSP)设備、視訊轉接器、網路% 機電腦及類似钟供士找 电胸主 °又備。本發明亦可實踐於分布式計算環境 Ί任務由猎由通信網路而鏈接之遠端處理設 竹。 八 本發明之方法可使用電腦軟體實施。若以符合公認標準 化語言進行寫入,則可編譯經設計以實施該等方法 =々序列1而用於在多種硬體平臺上執行及用於介接 至夕種作業系統。另外,. 往+ 、 本么月並未參考任何特定程式化 而進行描述。廣瞭紐,夕 文所述之本發明之。此夕式化語音可用於實施本 b外,在此項技術中,當軟體在 ^仃’’’’或產生結果時,通常稱其處於—形式或另一形式 為速V程式?呈序、應用程式、驅動程式等)。此表達僅 處理=式’該方式說明藉由電腦來執行軟體使得電腦之 處理益執行行為或產生結果。 122212.doc -32- 1374364 >應理解’多種術語及技術被熟習此項技術者用來描述通 二”協&應用、實施例、機構等。-種此類技術為根據 /臾开法或數學表達來描述技術之實施例。亦即,雖然技術 可(例如)實施為電腦上之執行碼,但該技術之表達可更為 適當且簡潔地傳達並傳遞為公式、演算法或數學表達式。 因此’-般热習此項技術者將認識到將A+B=c表示為加法 函數之塊,其在硬體及/或軟體中之實施將採取兩個輸入 (A及B)且產生—個總和輸出(c)。因此,使用公式、演算 法或數學表達式作為描述應理解為具有處於至少硬體及/ 或軟體(諸如,可實踐本發明之技術及可將其實施為實施 例之電腦系統)中之實體實施例。 電腦可讀媒體可理解為包括用於以可由機器(例如,電 腦)讀取之形式儲存或傳輪資訊的任何機構。舉例而言, 電腦可讀嫖體包括:唯讀記憶體(ROM);隨機存取記悚體 (RAM);磁碟儲存媒體;光學儲存媒體;快閃記憶體嗖 備;電、光、聲或其他形式之傳播信號(例如,載波、紅 外信號、數位信號等),等等。 於該描述中使用時,”一實施例”或類似短語意謂所述特 徵包括於本發明之至少一實施例中。在此描述中對,,—實 施例”之參考未必係指同一實施例;然而,此等實施例非 互斥的,而且”一實施例"亦非暗示僅存在本發明之單個實 施例。舉例而言,”一實施例"中所述之特徵、結構、行為 等亦可包括於其他實施例中。因此,本發明可包括本文所 述之實施例之多種組合及/或整合。 122212.doc -33- 1374364 因此,業已描述用於基於快速相似性詢問 參加大i、高維資料級之方法及裝置。 附錄1 自我參加及 (内積空間)給定向量空 述性質之内積: 間中之任兩項x、y,存在滿足下 a. <x,x>>=〇 b. <x?x>=〇 iff χ=〇
c. <x,y>=<y,x>d. <a*x,y> = a*<xy> e. <x+y’z>=<x,y>+<yz> 兩個非零元辛x、v夕„ i 京y之間的相似性可表達為:相似性(x,y)=<x,y>/sqrt(<x,x>*<y,y>)。 吾人觀察到,内稽空簡生θ __ 檟二間為具有下述度量之度量空間 ||x|| = sqrt(<x,x>) 〇 三角不等式表明:
l|x-y||A2<=||x||A2+||y||A2。 【圖式簡單說明】 圖1說明可實施本發明之方法 <乃忐及裝置的網路環境; 圖2為可霄施本發明之宜此杳, 杲二貫施例且可使用本發明之某 些實施例的電腦系統之方塊圖; 圖3說明本發明之一眚 月之貫鉍例,其展示建立塊相似性索 引; 圖4說明本發明之一實施例 實例; 其展示相似性索引樹之一 122212.doc -34 · 1374364 圖5說明本發明之一實施例,其展示詢問; 圖6說明本發明之一實施例’其展示自我泉加. 圖7說明本發明之一實施例,其展示自戒 目衩參加樹之—實 例;及 圖8說明本發明之一實施例,其展示—般性泉加 【主要元件符號說明】
100 網路環境 102 網路 104-1 、104-S 伺服器 108-1 、108-C 用戶端 200 電腦系統 202 匯流排系統 204 中央處理單元(CPU) 206 唯讀記憶體(ROM) 208 隨機存取記憶體(RAM) 210 儲存器 220 顯示器 222 音訊設備 224 鍵盤 226 指標 228 雜項輸入/輸出(I/O)設備 230 通信系統 400 相似性索引樹 402 ' 404 、 410 内部節點 122212.doc -35· 1374364 406、 408、 • 412、 414 葉節點 702 層次0 704 層次1 706 層次2 708、 720、 .728 最高組 710 指不”錫 712、 714、 716 ' 722 ' 724 π良好"1 718、 726 "一次性 "之指標 ,'群
122212.doc 36-

Claims (1)

  1. 第 096123302 號專争_ 十、申請專利範圍: 一翻 L -種電腦實施方法,其包含: (a) 對於該電腦規定每一葉節點之G個項之最大值; (b) 在該電腦中輸入n個不同的輸入内容項,並將該n個不 同的輸入内容項表示為一當前集合; (c) 在該電腦中判定是否n>G;及 (d) 若否,則 (dl)在該電腦中建立一葉節點; (d2)用該n個不同的輸入内容項在該電腦中填充該葉 節點;及 (d3)將在該電腦中一鏈路自在該電腦中之一母代連 接至在該電腦中之該葉節點,該葉節點能夠儲存於該電 腦上之硬體中且能夠顯示給該電腦之一使用者; (e) 若是,則 (el)在該電腦中對該當前集合中之所有項計算一向 里和,其中該向量和表示為vsplit,且 x.〇/n ’其令1代表一指標(i=1, ,η)Αχj在指標i之一向 量; (e2)針對該當前集合中之每一項,在該電腦中計算 一向量差,其中該向量差表示為丄丨,且d ί=χ丨〜邛出; (e3)針對該當前集合中之每一項,在該電腦十計算 純里值’其中s亥純量值表示為p丨,且 vspm>,其中<·>代表内積,並形成針對每一項之該計算 純量值的一集合; 122212-1001117.doc 1374364 (e4)在該電腦中判定是否p.i<3 ;及 (f) 若否,則 (fl)自該集合移除一最大p.i ; (f2)自該集合移除一最小p.i;及 (f3)在(e3)處重新開始; (g) 若是,則 (gl)在該電腦中判定該集合中剩餘1個還是2 個計算值;及 (h) 若剩餘1個,則 (hi)使p.split為該1個計算剩餘值;及 (h2)在⑴處重新開始; (i) 若剩餘2個,則 (11) 使p.split為該2個計算剩餘值之一 平均值;及 (12) 在⑴處重新開始; ⑴在該電腦中定義一由該vspHt及該p split組成之分 裂量; (k) 對於該當前集合中之該等^個不同的内容項中之 每一者而言,若p.i>p_split ,則在該電腦中表示一指定" 上",反之,則在該電腦中表示一指定•.下·,; (l) 在該電腦中建立一由該分裂量組成之内部節點, 並定義至該等"下"節點及該等,•上"節點之鏈路; (m) 在該電腦中將該等"下"節點作為項輸入至一新的 "下"當前集合中,使新的"下"n表示該新的"下"當前集合 122212-1001117.doc 1374364 中之項的數目,用該新的"下"當前集合替代該當前集 合’用該新的"下"η替代該n,並在(c)處重新開始; (η)將該等"上"節點作為項在該電腦中輸入至一新的 "上"當前集合中,使新的"上"η表示該新的"上"當前集合 中之項的數目,在該電腦中用該新的"上"當前集合替代 該當前集合,在該電腦中用該新的"上"η替代該η,並在 該電腦中在(c)處重新開始。 2.如請求項1之電腦實施方法,其進一步包含: (〇)在該電腦中規定一最大群集大小G ; (Ρ)在該電腦中規定一最小群集相似性s ; (q)在該電腦中輸入η個不同的内容項; 0)針對該η個不同的内容項’在該電腦中建立_塊相似 性索引,從而產生一具有葉節點之樹,其中每—節點具 有G個或更少的内容項; (s)針對每一葉節點,在該電腦中計算項之間的_成對相 似性; ⑴在該電腦中判$是否#在至少一對項具有超過s之相 似性;及 (U)若不存在,則 (u 1)在該電腦中定義一,,一次性"群集; (u2)在該電腦中將該等項置於該"一次性"群集中; 及 (u3)在(w)處重新開始; (v)若存在,則 122212-1〇〇in7.di 1374364 (vi)在該電腦中計算一最高成對相似性,並將一項 指定為一群集之一"錨"; (v2)在該電腦中定義一”良好"群集; (v3)若該當前節點中之每一項與該"錨,•之相似性超 過s,則在該電腦中將該當前節點中之每一項放入至該" 良好群集"中,反之,在該電腦中將所有剩餘項指定為" 殘留項"並對其單獨進行收集; (w)在該電腦中判定是否已處理所有葉節點;及 (X)若否,則 (xl)在(s)處重新開始; (y)若是,則 殘留 (z)在該電腦中判定在此點上是否收集有任何 項”;及 (aa) 若否,則 (aal)將任一"良好"群集及任一"― -人性"群集 存於該電腦上之硬體中,該所儲存之任p $ 該所儲存之任一"一次性"群集能夠顯示給一使用者久 (ab) 若是,則 ’ (abl)在該電腦中將先前收集之該等,, β留項"取 集在一起;及 聚 (ab2)在(q)處重新開始。 3.如請求項2之電腦實施方法,其進一步包含: (ac) 在該電腦中輸入資料組1及2 ; (ad) 在該電腦中輸入一相似性臨限值s* ’其中0<= 122212-1001117.doc 1374364 s*<=l ; (ae) 針對每一該等資料組1及2 ’在該電腦中輸入一"分組 "大小G.i ’其_丨=1或2 ; (af) 基於資料組1及2之大小,在該電腦中計算一樹之表 示為h之一預期高度,且h.i=高限(i〇g2(N.i/G.i)),其中 i=l或2,且N為在資料組i中之項數; (ag) 針對資料組1及2使用一相似性臨限值s.i=1_[(1_ s*)/(2*h.i-l]建立一自我參加樹,從而產生一具有良奸群 及一次性群之樹; (ah) 在該電腦中將一 ”最高"組及該等一次性群之成員— 起指定為一根良好群之一錯; (ai) 在該電腦中用該"最高"組形成一資料組; (aj) 在該電腦中使用該相似性臨限值s*對該資料組執行— 自我參加; (ak) 自該資料組上之該自我參加輸出具有來自資料組1之 至少一成員及來自資料組2之至少一成員的”良好"群,將 此等群表示為一 s*參加群集,該s*參加群集能夠儲存於 該電腦上之硬體中且能夠顯示給該電腦之一使用者。 4. 如請求項3之電腦實施方法,其中預先判定該"分組"大小 G.i。 5. 如請求項3之電腦實施方法,其中該"分組"大小Gi最小 化建立一相似性索引之總計算時間。 6. 一種基於硬體之裝置,其包含: (a)用於規定每一葉節點之G個項之最大值之構件; 122212-100iH7.doc 印4364 (b) 用於輸入η個不同的輸入内容項並將該n個不同的輸入 内容項表示為一當前集合之構件; (c) 用於判定是否n>G之構件;及 (d) 若否,則 (dl)用於建立一葉節點之構件; (d2)用該η個輪入内容項填充該葉節點之構件;及 (d3)用於將一鏈路自一母代連接至該葉節點之構 件’該葉節點㈣儲存於—記憶體巾且該記憶體能夠顯 示給一使用者; (e) 若是,則 (el)用於對該當前集合中之所有#計算一肖量和之 構件,其中該向量和表示為vspm,且㈣㈣剛; χ·〇/η其中i代表一指標(i=1,,啦X」代表在指標土之― 向量; ㈣用於針對該當前集合中之每—項計算―向量^ 之構件’其中該向量差表示為。,且d i=x i vspii“ (e3)用於針對該當前集合中之每—項計算—純量崔 中7純^對母—項之該計算純量值的—集合之構件,^ =1值表示為—…一,一 ㈣用於判定是」<3之構件丨及 (f)若否,則 一最大p.i之構件 一最小p.i之構件 (fl)用於自該集合移除 (f2)用於自該集合移除 I22212-100H π d〇c -6 - (f3)用於在(e3)處重新開始之構件; (g)若是,則 (gl)用於判定該集合令剩餘丨個還是2個計算 值之構件;及 (h) 若剩餘1個,則 (h 1)用於使ρ·split為該1個計算剩餘值 之構件;及 ' (h2)用於在⑴處重新開始之構件; (i) 若剩餘2個,則 (11) 用於使p.split為該2個計算剩餘值 之一平均值的構件;及 (12) 用於在⑴處重新開始之構件; (j) 用於定義一由該vsplit及該p.spiit組成之分裂量的 構件; (k) 用於如下行為之構件:對於該當前集合中之該等 η個不同的内容項中之每一者而言,若p i>p spm,則 表示一指定"上",反之,則表示一指定"下"; (l) 用於建立一由該分裂量組成之内部節點並定義至 該等"下"節點及該等"上"節點之鏈路的構件; (m) 用於如下行為之構件··將該等"下"節點作為項輸 入至一新的"下”當前集合中’使新的"下” η表示該新的"下" 當前集合中之項的數目,用該新的••下"當前集合替代該 當前集合,用該新的"下"η替代該η,並在(c)處重新開 始; 122212-1001117.doc (η)用於如下行為之構件:將該等"上"節點作為項輪 入至一新的"上"當前集合中,使新的"上"η表示該新的"上·, 备刖集合中之項的數目,用該新的"上"當前集合替代該 當前集合,用該新的"上"η替代該η,並在(c)處重新開 始。 如請求項6之基於硬體之裝置,其包含: (〇)用於規定一最大群集大小G之構件; (P)用於規定一最小群集相似性s之構件; (q)用於輸入η個不同的内容項之構件; (0用於如下行為之構件:針對該η個不同的内容項建立 塊相似性索引,從而產生一具有葉節點之樹其中每 —節點具有G個或更少的内容項; (s)用於針對每一葉節點計算 ,.#7 丨τ异項之間的一成對相似性之構 ⑴用於判定是否存在至少— 構件;及 對項具有超過s之相似性的 (U)若不存在,則 (ul)用於定義一"一次性"群集之構件; 及 ㈣用於將該等項置於該次性"群集中之構件 (u3)用於在(w)處重新開始之構件; (v)若存在,則 ㈣用於計算一最高成對相似性並將一項指定〉 砰集之一"錨"的構件; (V2)用於定義一"良好,,群集之構件,· 122212-10〇1 H7.doc • 8 · 1374364 (v3)用於如下行為之構件:若該當前節點中之每一 項與該"錯"之相似性超過3,則將該當前節點中之每—項 放入至該"良好"群集中,反之’將所有剩餘項指定為"殘 留項•'並對其單獨進行收集; (W)用於判定是否已處理所有葉節點之構件;及 (X)若否,則 〇1)用於在(s)處重新開始之構件; (y)若是,則 (z)用於判定在此點上是否收集有任何"殘留項"之構 件;及 (aa) 若否,則 (aal)用於將任一"良好"群集及任一,,一次性,, 群集儲存於-記憶體中之構件,且該記憶體能夠顯示給 一使用者; (ab) 若是,則 • (abl)用於將先前收集之該等,,殘留項,,聚集在 一起之構件;及 (ab2)用於在(q)處重新開始之構件。 8.如請求項7之基於硬體之裝置,其進一步包含: (ac) 用於輸入資料組1及2之構件; (ad) 用於輸入一相似性臨限值0之構件,其中 s*<=l ; (ae)用於針對每一該等資料組1及2輸入一"分組"大小Gi 之構件’其中i=l或2 ; 122212-1001117.doc -9- 1374364 (af)用於基於資料組!及2之大小計算—樹之表示為h之一 預期高度,且h.i=高限(log2(N.i/Gi))的構件,其中或 2 ’且N為在資料組i中之項數; ⑽用於如下行為之構件:針對資料組⑷使用一相似 性臨限值建立-自我參加樹,從而 產生具有良好群及一次性群之樹; (ah) 用於將一"最高"組及該等一 人注群之成員一起指定 為一根良好群之一錨的構件; (ai) 用該"最高"組形成一資料組之構件; ⑷)用於使用該相似性臨限值s*對該資料組執行一 加的構件; > (ak)用於如下行為之構件:自 傅干目该資枓組上之該自我參加 輸出具有來自資料組1之至少g 免夕成員及來自資料組2之至 少一成員的"良好"群,蔣,t卜笪败* 畔將此等群表示為一 s*參加群集, 5亥S*參加群集能夠儲存於一 Ig. ^ a ^ ^ ' 〇己隐體中且該記憶體能夠顯 示給一使用者。 9·如請求項8之基於硬體之裝置,其中該"分組"大小^係 預先判定的。 ’' 10.如請求項8之基於硬體之获署 黽之裒置,其中該,•分組"大小最 小化建立一相似性索弓丨之總計算時間。 122212-100Hi7.doc •10- 1374364,- • > 正 充 706 層次 704 702 708- 層次1 層次(
    “最高”組由最根 部群之錨加上“一 次性”群之所有成 組成。 724~1 “良好”群
    葉群含有內容項 II _| ΙΓ- 若一項對於群中之 至少一其他項而言 滿足相似性臨限値S ,則將該項指定為 “錨’,。 不似!:相 ”足之存。 性滿値項項 次與限一之 一有臨另性 “具性的似 自我參加樹之實例 回 122212-flg-1000314.doc
TW096123302A 2006-06-27 2007-06-27 Method and apparatus for fast similarity-based query, self-join, and join for massive, high-dimension datasets TWI374364B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US80592606P 2006-06-27 2006-06-27
US11/767,521 US7644090B2 (en) 2006-06-27 2007-06-24 Method and apparatus for fast similarity-based query, self-join, and join for massive, high-dimension datasets

Publications (2)

Publication Number Publication Date
TW200820024A TW200820024A (en) 2008-05-01
TWI374364B true TWI374364B (en) 2012-10-11

Family

ID=38846492

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096123302A TWI374364B (en) 2006-06-27 2007-06-27 Method and apparatus for fast similarity-based query, self-join, and join for massive, high-dimension datasets

Country Status (6)

Country Link
US (2) US7644090B2 (zh)
EP (1) EP2035917B1 (zh)
CN (1) CN101523340B (zh)
CA (1) CA2692451C (zh)
TW (1) TWI374364B (zh)
WO (1) WO2008002957A2 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8073818B2 (en) * 2008-10-03 2011-12-06 Microsoft Corporation Co-location visual pattern mining for near-duplicate image retrieval
WO2011042889A1 (en) * 2009-10-09 2011-04-14 Mizrahi, Moshe A method, computer product program and system for analysis of data
US9336302B1 (en) 2012-07-20 2016-05-10 Zuci Realty Llc Insight and algorithmic clustering for automated synthesis
CN102841935B (zh) * 2012-08-08 2015-05-20 西北大学 一种高维数据管理及关联数据动态对比显示方法
US10205666B2 (en) 2013-07-29 2019-02-12 Ampere Computing Llc End-to-end flow control in system on chip interconnects
US11461666B2 (en) * 2015-06-23 2022-10-04 Gamesys, Ltd. Systems and methods for binary tree storage
US9934281B2 (en) 2015-10-10 2018-04-03 Hua Zhong University Of Science Technology Combination of datasets with use of a dataset filter
US10496638B2 (en) 2016-12-07 2019-12-03 City University Of Hong Kong Systems and methods for privacy-assured similarity joins over encrypted datasets
US11205103B2 (en) 2016-12-09 2021-12-21 The Research Foundation for the State University Semisupervised autoencoder for sentiment analysis
CN108984574B (zh) 2017-06-05 2021-01-05 北京嘀嘀无限科技发展有限公司 数据处理方法及装置
US10977250B1 (en) * 2018-09-11 2021-04-13 Intuit, Inc. Responding to similarity queries using vector dimensionality reduction
GB2580950A (en) * 2019-01-31 2020-08-05 Datalytyx Ltd Data processing system
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
US20210304620A1 (en) * 2020-03-26 2021-09-30 Honeywell International Inc. Systems and methods for distributed data acquisition

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7251637B1 (en) * 1993-09-20 2007-07-31 Fair Isaac Corporation Context vector generation and retrieval
US5884320A (en) * 1997-08-20 1999-03-16 International Business Machines Corporation Method and system for performing proximity joins on high-dimensional data points in parallel
US6084595A (en) * 1998-02-24 2000-07-04 Virage, Inc. Indexing method for image search engine
US7272593B1 (en) * 1999-01-26 2007-09-18 International Business Machines Corporation Method and apparatus for similarity retrieval from iterative refinement
US6381605B1 (en) * 1999-05-29 2002-04-30 Oracle Corporation Heirarchical indexing of multi-attribute data by sorting, dividing and storing subsets
WO2001046858A1 (fr) * 1999-12-21 2001-06-28 Matsushita Electric Industrial Co., Ltd. Creation d'un indice vectoriel, recherche de vecteurs similaires et dispositifs correspondants
EP1205856A3 (en) * 2000-11-14 2004-09-08 Samsung Electronics Co., Ltd. Adaptive search method in feature vector space
US6697818B2 (en) * 2001-06-14 2004-02-24 International Business Machines Corporation Methods and apparatus for constructing and implementing a universal extension module for processing objects in a database
US6871201B2 (en) * 2001-07-31 2005-03-22 International Business Machines Corporation Method for building space-splitting decision tree
US7007069B2 (en) * 2002-12-16 2006-02-28 Palo Alto Research Center Inc. Method and apparatus for clustering hierarchically related information
US7668845B1 (en) * 2004-02-18 2010-02-23 Microsoft Corporation C-tree for multi-attribute indexing
US20060053122A1 (en) * 2004-09-09 2006-03-09 Korn Philip R Method for matching XML twigs using index structures and relational query processors
US7966327B2 (en) * 2004-11-08 2011-06-21 The Trustees Of Princeton University Similarity search system with compact data structures
US7650320B2 (en) * 2005-02-24 2010-01-19 Nahava Inc. Method and system for efficient indexed storage for unstructured content
US8126870B2 (en) * 2005-03-28 2012-02-28 Sybase, Inc. System and methodology for parallel query optimization using semantic-based partitioning
US7849091B1 (en) * 2006-01-25 2010-12-07 At&T Intellectual Property Ii, L.P. Meta-data indexing for XPath location steps
US7949186B2 (en) * 2006-03-15 2011-05-24 Massachusetts Institute Of Technology Pyramid match kernel and related techniques

Also Published As

Publication number Publication date
CA2692451C (en) 2012-01-10
CN101523340B (zh) 2012-06-27
US8117213B1 (en) 2012-02-14
EP2035917A4 (en) 2010-10-20
WO2008002957A3 (en) 2008-12-04
US20070299865A1 (en) 2007-12-27
CN101523340A (zh) 2009-09-02
EP2035917B1 (en) 2014-05-21
US7644090B2 (en) 2010-01-05
WO2008002957A2 (en) 2008-01-03
EP2035917A2 (en) 2009-03-18
TW200820024A (en) 2008-05-01
CA2692451A1 (en) 2008-01-03

Similar Documents

Publication Publication Date Title
TWI374364B (en) Method and apparatus for fast similarity-based query, self-join, and join for massive, high-dimension datasets
Baek et al. Learning to extrapolate knowledge: Transductive few-shot out-of-graph link prediction
Bordes et al. A semantic matching energy function for learning with multi-relational data: Application to word-sense disambiguation
Chen et al. Discovering missing links in networks using vertex similarity measures
Zhou et al. Misc-GAN: A multi-scale generative model for graphs
Häggström Data‐driven confounder selection via Markov and Bayesian networks
Yan et al. Gcfagg: Global and cross-view feature aggregation for multi-view clustering
KR102636493B1 (ko) 의료 데이터 검증 방법, 장치 및 전자 기기
Liu et al. Dense auto-encoder hashing for robust cross-modality retrieval
US10108605B1 (en) Natural language processing system and method
Mao et al. Are negative samples necessary in entity alignment? An approach with high performance, scalability and robustness
Huang et al. HM-Modularity: A harmonic motif modularity approach for multi-layer network community detection
CN112015904A (zh) 确定文档语料库的潜在主题的方法、系统和计算机可读介质
CN115221413B (zh) 一种基于交互式图注意力网络的序列推荐方法及系统
Zenil Algorithmic data analytics, small data matters and correlation versus causation
Zhou et al. Unsupervised adversarial network alignment with reinforcement learning
Chen et al. Graph unfolding networks
Casas et al. Resilient gossip-inspired all-reduce algorithms for high-performance computing: Potential, limitations, and open questions
Zheng et al. ProtoMGAE: prototype-aware masked graph auto-encoder for graph representation learning
Bin et al. Multiview Translation Learning for Knowledge Graph Embedding
Rao et al. A software tool for large-scale sharing and querying of clinical documents modeled using HL7 Version 3 Standard
Yang et al. LATEX-GCL: Large Language Models (LLMs)-Based Data Augmentation for Text-Attributed Graph Contrastive Learning
Li et al. NHGMI: Heterogeneous graph multi-view infomax with node-wise contrasting samples selection
Peng et al. Spontaneous recovery in random hypergraphs
Dhillon et al. An ontology oriented service framework for social IoT