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 PDFInfo
- 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
Links
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2264—Multidimensional 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)
- 第 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
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)
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 |
US8990236B2 (en) * | 2009-10-09 | 2015-03-24 | Qrative Ltd. | 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 |
WO2017059592A1 (en) * | 2015-10-10 | 2017-04-13 | Hua Zhong University Of Science Technology | Combination of datasets with use of 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)
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 |
EP1204032A4 (en) * | 1999-12-21 | 2008-06-11 | Matsushita Electric Ind Co Ltd | CREATION OF A VECTORIAL INDEX, SEARCH FOR SIMILAR VECTORS AND CORRESPONDING DEVICES |
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 |
-
2007
- 2007-06-24 US US11/767,521 patent/US7644090B2/en active Active
- 2007-06-27 EP EP07812350.2A patent/EP2035917B1/en active Active
- 2007-06-27 TW TW096123302A patent/TWI374364B/zh active
- 2007-06-27 WO PCT/US2007/072187 patent/WO2008002957A2/en active Application Filing
- 2007-06-27 CA CA2692451A patent/CA2692451C/en active Active
- 2007-06-27 CN CN2007800318421A patent/CN101523340B/zh active Active
-
2009
- 2009-10-30 US US12/609,910 patent/US8117213B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2008002957A2 (en) | 2008-01-03 |
EP2035917A2 (en) | 2009-03-18 |
US7644090B2 (en) | 2010-01-05 |
CA2692451C (en) | 2012-01-10 |
CN101523340A (zh) | 2009-09-02 |
EP2035917B1 (en) | 2014-05-21 |
WO2008002957A3 (en) | 2008-12-04 |
US20070299865A1 (en) | 2007-12-27 |
CN101523340B (zh) | 2012-06-27 |
CA2692451A1 (en) | 2008-01-03 |
TW200820024A (en) | 2008-05-01 |
EP2035917A4 (en) | 2010-10-20 |
US8117213B1 (en) | 2012-02-14 |
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 | |
Yan et al. | Gcfagg: Global and cross-view feature aggregation for multi-view clustering | |
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 | |
Liu et al. | Dense auto-encoder hashing for robust cross-modality retrieval | |
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 | |
Zhu et al. | DFMKE: A dual fusion multi-modal knowledge graph embedding framework for entity alignment | |
Liu et al. | ActiveEA: Active learning for neural entity alignment | |
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 | |
Qian et al. | COM: Contrastive Masked-attention model for incomplete multimodal learning | |
Chen et al. | Graph unfolding networks | |
Peng et al. | Spontaneous recovery in random hypergraphs | |
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 | |
Zhan et al. | Social influence maximization for public health campaigns | |
Anderson et al. | Bridging Domains in Chronic Lower Back Pain: Large Language Models and Ontology-driven Strategies for Knowledge Graph Construction | |
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 |