本申請是申請日為2009年10月23日、申請?zhí)枮?00980142344.3、發(fā)明名稱為“模糊數(shù)據(jù)操作”的分案申請(申請日為2009年10月23日、申請?zhí)枮?01310671951.7、發(fā)明名稱為“數(shù)據(jù)操作執(zhí)行、數(shù)據(jù)質(zhì)量度量和數(shù)據(jù)元素聯(lián)接方法和系統(tǒng)”)的分案申請。
相關(guān)申請的交叉引用
本申請要求2008年10月23日提交的名為“模糊數(shù)據(jù)操作”的no.61/107,971號美國申請的優(yōu)先權(quán),其通過引用被包含于此。
本描述涉及數(shù)據(jù)管理領(lǐng)域中的模糊數(shù)據(jù)操作,特別涉及執(zhí)行數(shù)據(jù)操作的方法和系統(tǒng)、度量數(shù)據(jù)質(zhì)量的方法和系統(tǒng)、以及聯(lián)接數(shù)據(jù)元素的方法和系統(tǒng)。
背景技術(shù):
在數(shù)據(jù)管理中采用例如聚類(cluster)、聯(lián)接(join)、搜索(search)、上卷(rollup)和排序(sort)的數(shù)據(jù)操作來處理數(shù)據(jù)。聚類是將數(shù)據(jù)分類為不同組的操作。聯(lián)接將兩片數(shù)據(jù)組合在一起。通過關(guān)鍵字(key)的搜索找到與該關(guān)鍵字匹配的數(shù)據(jù)條目。上卷跨過(across)一組數(shù)據(jù)計算一個或多個層次的子和(subtotal,或者其他組合)的操作。排序是對數(shù)據(jù)安排順序(order)的操作。
在數(shù)據(jù)管理中數(shù)據(jù)質(zhì)量很重要。由數(shù)據(jù)操作導(dǎo)致的錯誤或者不準(zhǔn)確使數(shù)據(jù)質(zhì)量退化。例如,將abc公司的雇員johnsmith分類為臨時工作人員或者永久工作人員使johnsmith享有不同級別的福利(benefit)。對johnsmith的雇傭狀態(tài)的錯誤分類,例如數(shù)據(jù)操作聚類中的錯誤,影響abc公司的人力資源數(shù)據(jù)的質(zhì)量。
數(shù)據(jù)操作的某些實施方案依靠字段值(“關(guān)鍵字(key)”)的精確比較來標(biāo)識匹配的記錄、定義相關(guān)記錄的組或者鏈接記錄。當(dāng)數(shù)據(jù)有不明確性(ambiguous)、不精確、不完整或者不確定時,基于字段值的精確比較的方法可能失效。
當(dāng)存在與例如聚類的數(shù)據(jù)操作相關(guān)聯(lián)的內(nèi)在(inherent)不明確性時,一種解決不明確性的方法可以是簡單地忽略不明確性并強(qiáng)制一片數(shù)據(jù)進(jìn)入特定組中。例如,abc公司的雇員johnsmith既為營銷部門工作也為研發(fā)部門工作。在abc公司的人力資源數(shù)據(jù)庫中,johnsmith可以與營銷部門或研發(fā)部門相關(guān)聯(lián),但是經(jīng)常只和一個部門相關(guān)聯(lián)。將該片數(shù)據(jù)強(qiáng)制分類到特定組可能掩蓋內(nèi)在不明確性并對數(shù)據(jù)質(zhì)量有不利影響。
當(dāng)存在與例如聚類的數(shù)據(jù)操作相關(guān)聯(lián)的不確定性時,由于未決的事件結(jié)果,例如實體a和實體b之間的涉及一件資產(chǎn)的所有權(quán)的法律糾紛,強(qiáng)制一片數(shù)據(jù)進(jìn)入特定組中可能并非是解決該狀況的易變性的最佳方法。在判決之前,資產(chǎn)的所有權(quán)是不確定的。將該資產(chǎn)分配給a或者b結(jié)果均可能是不準(zhǔn)確的。
當(dāng)存在與例如上卷的數(shù)據(jù)操作相關(guān)聯(lián)的不確定性時,由于組成員資格的不明確性標(biāo)識,將成員資格分配給幾個替換(alternative)之中的一個組來維護(hù)(preserve)會計誠信(accountingintegrity)可能給出誤導(dǎo)性的圖景(picture)。例如,出于風(fēng)險評估和監(jiān)管的目的,銀行可能對確定其對于對手方的貸款風(fēng)險感興趣。經(jīng)常通過公司名稱標(biāo)識對手方,由于公司名稱的記錄形式上的廣泛可變性,會導(dǎo)致不明確的標(biāo)識。反之,這意味著將貸款風(fēng)險分配給對手方是不明確的。會發(fā)生與一個公司正確地相關(guān)聯(lián)的貸款被在幾個明顯不同的公司之中劃分,它們實際上只是這一個公司的名稱的變化形式。這導(dǎo)致低估了銀行對任一單個對手方的風(fēng)險?;蛘?,如果在替換之中做出了任意的選擇,則會將風(fēng)險錯誤地分配給一個對手方盡管該風(fēng)險正確地是屬于另一對手方的,從而可能高估了對第一家的風(fēng)險并低估了對第二家的風(fēng)險。
當(dāng)存在與例如聯(lián)接的數(shù)據(jù)操作相關(guān)聯(lián)的不確定性時,由于不正確或者丟失的信息,強(qiáng)制一片數(shù)據(jù)進(jìn)入特定組或者忽略該片數(shù)據(jù)可能導(dǎo)致錯誤的聯(lián)系或者信息損失。例如,當(dāng)試圖聯(lián)接來自兩個不同數(shù)據(jù)庫的表格時,經(jīng)常不存在數(shù)據(jù)庫表格共享的公共關(guān)鍵字。為了克服這一點,表格內(nèi)的數(shù)據(jù),例如客戶地址,用于推斷兩個數(shù)據(jù)庫中的記錄之間的關(guān)系。但是,地址信息可能不正確或者不完整。假設(shè)對照權(quán)威性的參考集合(例如郵政地址文件)的地址有效性表明表格a中的記錄上的房屋號碼是無效的(不存在具有該房屋號碼的房屋),而在表格b中存在可能是地址的有效替換的完整形式(alternativecompletion)的多個地址。任意地選擇表格a中的記錄中的地址的完整形式可能導(dǎo)致錯誤的聯(lián)系,而忽略記錄則導(dǎo)致信息損失。
當(dāng)由于錯誤的數(shù)據(jù)錄入(entry)而存在與例如搜索的數(shù)據(jù)操作相關(guān)聯(lián)的不明確性時,一種方法是提出單個替換或者替換修正的簡單列表。如果這是操作者錄入數(shù)據(jù)庫的數(shù)據(jù)的驗證過程的一部分,則當(dāng)存在多個替換時單個替換可能導(dǎo)致操作者在接受修正時對安全性的錯誤感知。如果提供了替換的簡單列表,則操作者可能不具有在替換中進(jìn)行選擇的合理根據(jù)。如果要求單個選擇并且對于錯誤選擇接受數(shù)據(jù)質(zhì)量的某種退化,則使數(shù)據(jù)質(zhì)量的可能損失最小并量化成為目標(biāo)。
技術(shù)實現(xiàn)要素:
一般地,在一個方面,一種用于對存儲在數(shù)據(jù)存儲系統(tǒng)中的數(shù)據(jù)元素進(jìn)行聚類的方法包括從數(shù)據(jù)存儲系統(tǒng)讀取數(shù)據(jù)元素。形成數(shù)據(jù)元素的聚類,每一個數(shù)據(jù)元素是至少一個聚類的成員。將至少一個數(shù)據(jù)元素和兩個或多個聚類相關(guān)聯(lián)。所述數(shù)據(jù)元素的屬于所述兩個或多個聚類的各自一個的成員資格由多義性度量表示。將表示所形成的聚類的信息存儲在數(shù)據(jù)存儲系統(tǒng)中。
多個方面可以包括下列特征中的一個或多個。
表示數(shù)據(jù)元素屬于所述兩個或多個聚類的各自一個的成員資格的不明確性度量的每一個值可以在零和一之間。
表示成員資格的不明確性度量的值可以與數(shù)據(jù)元素屬于所述兩個或多個聚類的各自一個的可能性相關(guān)。
表示數(shù)據(jù)元素屬于所述兩個或多個聚類的各自一個的成員資格的不明確性度量的每一個值的和可以是一。
所述方法可以包括使用不明確性度量的值保持會計誠信。
通過利用不明確性度量的值對所述數(shù)量進(jìn)行加權(quán)來實現(xiàn)對于給定數(shù)量保持會計誠信。
所述方法可以包括執(zhí)行使用表示成員資格的不明確性度量的值的數(shù)據(jù)操作。
所述數(shù)據(jù)操作可以包括在所述一個或多個聚類的第一聚類內(nèi)計算數(shù)量的加權(quán)子和的上卷,所述數(shù)量與數(shù)據(jù)元素相關(guān)聯(lián),并且通過在第一聚類內(nèi)對所述數(shù)量的值和各自的不明確性度量的值的乘積求和來計算所述子和,所述數(shù)量的值與第一聚類中的每一數(shù)據(jù)相關(guān)聯(lián),所述不明確性度量的值表示第一聚類中的數(shù)據(jù)元素的成員資格。
所述方法可以包括計算所述數(shù)量的排他子和和所述數(shù)量的包含子和,通過在第一聚類中排除與兩個或多個聚類相關(guān)聯(lián)的數(shù)據(jù)元素來計算排他子和,并且通過在第一聚類中包括與兩個或多個聚類相關(guān)聯(lián)的數(shù)據(jù)元素來計算包含子和。
可以基于函數(shù)來建立表示成員資格的不明確性度量的值,所述函數(shù)表示所述數(shù)據(jù)元素和所述兩個或多個聚類之間的關(guān)系。
由所述函數(shù)表示的所述關(guān)系可以與數(shù)據(jù)元素屬于所述兩個或多個聚類的各自一個的可能性相關(guān)。
由所述函數(shù)表示的所述關(guān)系可以基于所述數(shù)據(jù)元素和表示所述兩個或多個聚類的各自一個的元素之間的量化的相似性。
表示所述兩個或多個聚類的各自一個的元素可以是各自聚類的關(guān)鍵字。
在某些布置中,屬于所述兩個或多個聚類的每一聚類的數(shù)據(jù)元素的不明確性度量的值對于每一聚類可以相等。
屬于所述兩個或多個聚類的每一聚類的數(shù)據(jù)元素的不明確性度量的值可以基于觀察到的數(shù)據(jù)元素在基準(zhǔn)集合中的頻率。
所述兩個或多個聚類的每一聚類均可以表示數(shù)據(jù)元素中不同的潛在誤差,并且數(shù)據(jù)元素屬于所述兩個或多個聚類的每一聚類的不明確性度量的值基于由每一聚類表示的數(shù)據(jù)元素中潛在誤差的可能性。
形成數(shù)據(jù)聚類可以包括形成數(shù)據(jù)元素的多個超聚類,并且對于每一超聚類在該超聚類內(nèi)形成數(shù)據(jù)元素的聚類。
形成每一超聚類可以包括基于不同數(shù)據(jù)元素中的對象之間的變體關(guān)系確定不同數(shù)據(jù)元素中對象之間的匹配。
第一對象和第二對象之間的變體關(guān)系可以對應(yīng)于表示第一對象和第二對象的之間的距離的函數(shù)的值低于預(yù)先確定的閾值。
在某些布置中,所述變體關(guān)系可以不是等價關(guān)系。
至少一個數(shù)據(jù)元素可以在多于一個超聚類中。
在另一方面,一般地,一種用于對存儲在數(shù)據(jù)存儲系統(tǒng)中的數(shù)據(jù)元素進(jìn)行的系統(tǒng)包括:用于從數(shù)據(jù)存儲系統(tǒng)讀取數(shù)據(jù)元素的裝置;用于形成數(shù)據(jù)元素的聚類的裝置,每一個數(shù)據(jù)元素是至少一個聚類的成員;用于將至少一個數(shù)據(jù)元素與兩個或多個聚類相關(guān)聯(lián)的裝置,所述數(shù)據(jù)元素的屬于所述兩個或多個聚類的各自一個的成員資格由不明確性度量表示;以及用于將表示所形成的聚類的信息存儲在數(shù)據(jù)存儲系統(tǒng)中的裝置。
在另一方面,一般地,描述了一種存儲用于對存儲在數(shù)據(jù)存儲系統(tǒng)中的數(shù)據(jù)元素進(jìn)行舉了的計算機(jī)程序的計算機(jī)可讀介質(zhì)。所述計算機(jī)程序包括指令,用于導(dǎo)致計算機(jī):從數(shù)據(jù)存儲系統(tǒng)讀取數(shù)據(jù)元素;形成數(shù)據(jù)元素的聚類,每一個數(shù)據(jù)元素是至少一個聚類的成員;將至少一個數(shù)據(jù)元素與兩個或多個聚類相關(guān)聯(lián),所述數(shù)據(jù)元素的屬于所述兩個或多個聚類的各自一個的成員資格由不明確性度量表示;以及將表示所形成的聚類的信息存儲在數(shù)據(jù)存儲系統(tǒng)中。
在另一方面,一般地,一種用于執(zhí)行從數(shù)據(jù)存儲系統(tǒng)接收關(guān)鍵字并返回一個或多個數(shù)據(jù)元素的數(shù)據(jù)操作的方法包括基于關(guān)鍵字和數(shù)據(jù)元素的一個或多個搜索字段的值之間的候選匹配,確定多個候選數(shù)據(jù)元素?;谂c搜索字段不同的候選數(shù)據(jù)元素的一個或多個比較字段的值對候選匹配進(jìn)行確證。
多個方面可以包括下列特征中的一個或多個。
所述數(shù)據(jù)操作可以包括形成數(shù)據(jù)元素的聚類,每一個數(shù)據(jù)元素是至少一個聚類的成員。
至少一個數(shù)據(jù)元素可以與兩個或多個聚類相關(guān)聯(lián),所述數(shù)據(jù)元素的屬于所述兩個或多個聚類的各自一個的成員資格由不明確性度量表示。
所述數(shù)據(jù)操作可以包括在所述一個或多個聚類的第一聚類內(nèi)計算數(shù)量的加權(quán)子和的上卷,所述數(shù)量與數(shù)據(jù)元素相關(guān)聯(lián),并且通過在第一聚類內(nèi)對所述數(shù)量的值和各自的不明確性度量的值的乘積求和來計算所述子和,所述數(shù)量的值與第一聚類中的每一數(shù)據(jù)相關(guān)聯(lián),所述不明確性度量的值表示第一聚類中的數(shù)據(jù)元素的成員資格。
所述方法還可以包括計算所述數(shù)量的排他子和和所述數(shù)量的包含子和,通過在第一聚類中排除與兩個或多個聚類相關(guān)聯(lián)的數(shù)據(jù)元素來計算排他子和,并且通過在第一聚類中包括與兩個或多個聚類相關(guān)聯(lián)的數(shù)據(jù)元素來計算包含子和。
表示數(shù)據(jù)元素屬于所述兩個或多個聚類的各自一個的成員資格的不明確性度量的每一個值可以在零和一之間。
表示成員資格的不明確性度量的值可以與數(shù)據(jù)元素屬于所述兩個或多個聚類的各自一個的可能性相關(guān)。
可以基于函數(shù)來建立表示成員資格的不明確性度量的值,所述函數(shù)表示所述數(shù)據(jù)元素和所述兩個或多個聚類之間的關(guān)系。
由所述函數(shù)表示的所述關(guān)系可以和數(shù)據(jù)元素屬于所述兩個或多個聚類的各自一個的可能性相關(guān)。
所述方法還可以包括基于給定數(shù)據(jù)元素的一個或多個比較字段的值確定給定聚類中所述給定數(shù)據(jù)元素的成員資格。
在另一方面,一般地,一種用于執(zhí)行從數(shù)據(jù)存儲系統(tǒng)接收關(guān)鍵字并返回一個或多個數(shù)據(jù)元素的數(shù)據(jù)操作的系統(tǒng)包括:用于基于關(guān)鍵字和數(shù)據(jù)元素的一個或多個搜索字段的值之間的候選匹配,確定多個候選數(shù)據(jù)元素的裝置;以及用于基于與搜索字段不同的候選數(shù)據(jù)元素的一個或多個比較字段的值對候選匹配進(jìn)行確證的裝置。
在另一方面,一般地,描述了一種存儲用于執(zhí)行從數(shù)據(jù)存儲系統(tǒng)接收關(guān)鍵字并返回一個或多個數(shù)據(jù)元素的數(shù)據(jù)操作的計算機(jī)程序的計算機(jī)可讀介質(zhì)。所述計算機(jī)程序包括指令,用于導(dǎo)致計算機(jī):基于關(guān)鍵字和數(shù)據(jù)元素的一個或多個搜索字段的值之間的候選匹配,確定多個候選數(shù)據(jù)元素;以及基于與搜索字段不同的候選數(shù)據(jù)元素的一個或多個比較字段的值對候選匹配進(jìn)行確證。
在另一方面,一般地,一種用于對數(shù)據(jù)存儲系統(tǒng)中的數(shù)據(jù)元素的數(shù)據(jù)質(zhì)量進(jìn)行度量的方法包括從數(shù)據(jù)存儲系統(tǒng)讀取數(shù)據(jù)元素。對于數(shù)據(jù)元素的一個或多個字段中的一個或多個條目中的每一個,計算所述條目的不明確性度量的值?;诓幻鞔_性度量的值來輸出數(shù)據(jù)存儲系統(tǒng)中的數(shù)據(jù)元素的數(shù)據(jù)質(zhì)量的表示。
多個方面可以包括下列特征中的一個或多個。
計算不明確性度量的值可以包括將數(shù)據(jù)元素的一個或多個字段中的條目和基準(zhǔn)值進(jìn)行比較。對于不與基準(zhǔn)值精確匹配的至少第一條目,可以標(biāo)識一個或多個變體?;卺槍λ龅谝粭l目的變體,可以計算所述第一條目的不明確性度量的值。
所述第一條目的不明確性度量的值可以基于針對所述第一條目的變體的數(shù)量。
所述數(shù)據(jù)存儲系統(tǒng)中的數(shù)據(jù)元素的數(shù)據(jù)質(zhì)量的表示可以包括具有指定的變體數(shù)量的條目的數(shù)量的直方圖。
所述指定的變體數(shù)量可以被指定為在一個范圍內(nèi)。
所述數(shù)據(jù)存儲系統(tǒng)中的數(shù)據(jù)元素的數(shù)據(jù)質(zhì)量的表示可以包括具有大于預(yù)定的閾值的變體數(shù)量的條目的列表。
計算不明確性度量的值可以包括確定一個或多個字段中不同條目的各自頻率?;诘谝粭l目相較于其他條目的頻率的相對頻率,可以計算第一條目的不明確性度量的值。
在另一方面,一般地,一種用于對數(shù)據(jù)存儲系統(tǒng)中的數(shù)據(jù)元素的數(shù)據(jù)質(zhì)量進(jìn)行度量的系統(tǒng)包括:用于從數(shù)據(jù)存儲系統(tǒng)(12)讀取數(shù)據(jù)元素的裝置;用于對于數(shù)據(jù)元素的一個或多個字段中的一個或多個條目中的每一個,計算所述條目的不明確性度量的值的裝置;以及用于基于不明確性度量的值來輸出數(shù)據(jù)存儲系統(tǒng)中的數(shù)據(jù)元素的數(shù)據(jù)質(zhì)量的表示的裝置。
在另一方面,一般地,描述了一種存儲用于對數(shù)據(jù)存儲系統(tǒng)中的數(shù)據(jù)元素的數(shù)據(jù)質(zhì)量進(jìn)行度量的計算機(jī)程序的計算機(jī)可讀介質(zhì)。所述計算機(jī)程序包括指令,用于導(dǎo)致計算機(jī):從數(shù)據(jù)存儲系統(tǒng)讀取數(shù)據(jù)元素;對于數(shù)據(jù)元素的一個或多個字段中的一個或多個條目中的每一個,計算所述條目的不明確性度量的值;以及基于不明確性度量的值來輸出數(shù)據(jù)存儲系統(tǒng)中的數(shù)據(jù)元素的數(shù)據(jù)質(zhì)量的表示。
在另一方面,一般地,一種用于對來自存儲在至少一個數(shù)據(jù)存儲系統(tǒng)中的兩個或多個數(shù)據(jù)集合的數(shù)據(jù)元素進(jìn)行聯(lián)接的方法包括基于來自第一數(shù)據(jù)集合的數(shù)據(jù)元素中的對象和來自第二數(shù)據(jù)集合的數(shù)據(jù)元素中的對象之間的變體關(guān)系,確定來自第一數(shù)據(jù)集合的數(shù)據(jù)元素中的對象和來自第二數(shù)據(jù)集合的數(shù)據(jù)元素中的對象之間的匹配。評價具有被確定為匹配的各自對象的各自數(shù)據(jù)元素?;跀?shù)據(jù)元素的評價,將來自第一數(shù)據(jù)集合的數(shù)據(jù)元素與來自第二數(shù)據(jù)集合的數(shù)據(jù)元素聯(lián)接。
多個方面可以包括下列特征中的一個或更多個。
第一對象和第二對象之間的變體關(guān)系可以對應(yīng)于表示第一對象和第二對象的之間的距離的函數(shù)的值低于預(yù)先確定的閾值。
所述變體關(guān)系可以不是等價關(guān)系。
確定來自第一數(shù)據(jù)集合的第一數(shù)據(jù)元素中的對象和第二數(shù)據(jù)集合中的第二數(shù)據(jù)元素中的對象之間的匹配可以包括確定在第一數(shù)據(jù)元素中的對象和第二數(shù)據(jù)元素中的對象之間所述變體關(guān)系有效。
確定來自第一數(shù)據(jù)集合的第一數(shù)據(jù)元素中的對象和第二數(shù)據(jù)集合中的第二數(shù)據(jù)元素中的對象之間的匹配可以包括確定:在第一數(shù)據(jù)元素中的對象和第一數(shù)據(jù)集合中的第三數(shù)據(jù)元素中的對象之間所述變體關(guān)系有效,并且在第三數(shù)據(jù)元素中的對象和第二數(shù)據(jù)元素中的對象之間所述變體關(guān)系有效。
評價具有被確定為匹配的各自對象的各自數(shù)據(jù)元素可以包括在各自數(shù)據(jù)元素中除了被確定為匹配的各自對象之外的對象的比較。
在另一方面,一般地,一種用于對來自存儲在至少一個數(shù)據(jù)存儲系統(tǒng)中的兩個或多個數(shù)據(jù)集合的數(shù)據(jù)元素進(jìn)行連接的系統(tǒng)包括:用于基于來自第一數(shù)據(jù)集合的數(shù)據(jù)元素中的對象和來自第二數(shù)據(jù)集合的數(shù)據(jù)元素中的對象之間的變體關(guān)系,確定來自第一數(shù)據(jù)集合的數(shù)據(jù)元素中的對象和來自第二數(shù)據(jù)集合的數(shù)據(jù)元素中的對象之間的匹配的裝置;用于評價具有被確定為匹配的各自對象的各自數(shù)據(jù)元素的裝置;以及用于基于數(shù)據(jù)元素的評價,對來自第一數(shù)據(jù)集合的數(shù)據(jù)元素與來自第二數(shù)據(jù)集合的數(shù)據(jù)元素進(jìn)行聯(lián)接的裝置。
在另一方面,一般地,描述了一種存儲用于對來自存儲在至少一個數(shù)據(jù)存儲系統(tǒng)中的兩個或多個數(shù)據(jù)集合的數(shù)據(jù)元素進(jìn)行聯(lián)接的計算機(jī)程序的計算機(jī)可讀介質(zhì)。所述計算機(jī)程序包括指令,用于導(dǎo)致計算機(jī):基于來自第一數(shù)據(jù)集合的數(shù)據(jù)元素中的對象和來自第二數(shù)據(jù)集合的數(shù)據(jù)元素中的對象之間的變體關(guān)系,確定來自第一數(shù)據(jù)集合的數(shù)據(jù)元素中的對象和來自第二數(shù)據(jù)集合的數(shù)據(jù)元素中的對象之間的匹配;評價具有被確定為匹配的各自對象的各自數(shù)據(jù)元素;以及基于數(shù)據(jù)元素的評價,將來自第一數(shù)據(jù)集合的數(shù)據(jù)元素與來自第二數(shù)據(jù)集合的數(shù)據(jù)元素進(jìn)行聯(lián)接。
附圖說明
圖1是用于執(zhí)行基于圖的計算的系統(tǒng)的框圖。
圖2a是屬于多個聚類的數(shù)據(jù)元素的例子。
圖2b是在聚類上執(zhí)行的操作的例子。
圖2c、圖2d是距離計算的例子。
圖3是模糊聚類的圖示。
圖4是模糊聚類的另一圖示。
圖5是如何生成模糊聚類的流程圖。
圖6示出了模糊搜索的例子。
具體實施方式
可以將用于執(zhí)行模糊數(shù)據(jù)操作的技術(shù)應(yīng)用于包括不同形式的存儲數(shù)據(jù)集合的數(shù)據(jù)庫系統(tǒng)的各種類型的系統(tǒng)。如這里所使用的那樣,數(shù)據(jù)集合包括任何使數(shù)據(jù)的一部分能夠被組織為具有用于相應(yīng)字段(也稱為“屬性”或“列”)的值的記錄的數(shù)據(jù)的聚集。數(shù)據(jù)庫系統(tǒng)和所存儲的數(shù)據(jù)集合可以采用各種形式,例如復(fù)雜的數(shù)據(jù)庫管理系統(tǒng)或者存儲簡單的平面文件的文件系統(tǒng)。各種數(shù)據(jù)庫系統(tǒng)的一個方面是其用于數(shù)據(jù)集合內(nèi)的記錄的記錄結(jié)構(gòu)的類型(可以包括用于每一記錄內(nèi)的字段的字段結(jié)構(gòu))。在某些系統(tǒng)中,數(shù)據(jù)集合的記錄結(jié)構(gòu)可以簡單地將單獨的文本文檔定義為記錄,并且文檔的內(nèi)容表示一個或多個字段的值。在某些系統(tǒng)中,不要求單個數(shù)據(jù)集合內(nèi)的所有記錄具有相同的結(jié)構(gòu)(例如字段結(jié)構(gòu))。
復(fù)雜的計算經(jīng)??梢员磉_(dá)為通過有向圖的數(shù)據(jù)流(稱作數(shù)據(jù)流圖),計算的要素(component)與圖的頂點相關(guān)聯(lián),并且要素之間的數(shù)據(jù)流對應(yīng)于圖的連接(弧、邊)。在通過引用包含于此的美國專利5,966,072,executingcomputationsexpressedasgraphs中描述了實施這種基于圖的計算的系統(tǒng)。執(zhí)行基于圖的計算的一種方法是執(zhí)行許多個處理,每一個均與圖的不同頂點相關(guān)聯(lián),并根據(jù)圖的連接在處理之間建立通信路徑。例如,通信路徑可以使用tcp/ip或者unix域套接字,或者使用共享存儲器在處理之間傳遞數(shù)據(jù)。
參考圖1,用于執(zhí)行基于圖的計算的系統(tǒng)10包括耦接到數(shù)據(jù)倉庫12的開發(fā)環(huán)境14和耦接到數(shù)據(jù)倉庫12的運行時環(huán)境18。開發(fā)員11使用開發(fā)環(huán)境14構(gòu)建(buile)應(yīng)用。應(yīng)用可以與由數(shù)據(jù)倉庫12中的數(shù)據(jù)結(jié)構(gòu)指定的一個或多個數(shù)據(jù)流圖相關(guān)聯(lián),作為開發(fā)者使用開發(fā)環(huán)境14的結(jié)果,所述數(shù)據(jù)結(jié)構(gòu)可以被寫到數(shù)據(jù)倉庫。用于計算圖(computationgraph)15的數(shù)據(jù)結(jié)構(gòu)13指定,例如,計算圖的頂點(要素或者數(shù)據(jù)集合)以及頂點之間的連接(表示工作元素的流)。數(shù)據(jù)結(jié)構(gòu)還可以包括要素、數(shù)據(jù)集合和數(shù)據(jù)流圖的流的各種特性。
運行時環(huán)境18可以駐留在一個或多個在諸如unix操作系統(tǒng)之類的合適的操作系統(tǒng)控制下的通用計算機(jī)上。例如,運行時環(huán)境18可以包括多節(jié)點并行計算環(huán)境,該環(huán)境包括使用多個中央處理單元(cpu)的計算機(jī)系統(tǒng)的配置,或者是本地的(例如smp計算機(jī)的多處理器系統(tǒng))、或者是本地分布式的(例如耦接為集群(cluster)或mpp的多個處理器)、或者是遠(yuǎn)程的、或者遠(yuǎn)程分布式的(例如通過lan或wan網(wǎng)絡(luò)耦接的多個處理器),或者是其任意組合。
運行時環(huán)境18配置為從數(shù)據(jù)倉庫12和/或用戶17接收控制輸入,用于執(zhí)行和配置計算??刂戚斎肟梢园ㄊ褂脤?yīng)的數(shù)據(jù)流圖處理特定數(shù)據(jù)集合的命令,在存儲的圖數(shù)據(jù)結(jié)構(gòu)中指定所述數(shù)據(jù)流圖。用戶17可以,例如,使用命令行或者圖形接口,與運行時環(huán)境18交互作用。
運行時環(huán)境18包括預(yù)運行(pre-execution)模塊20和運行模塊22。預(yù)運行模塊20執(zhí)行任何預(yù)處理過程并準(zhǔn)備和維護(hù)用于執(zhí)行計算圖的資源,諸如用于各種模糊操作(例如通過引用包含于此的no.2009/0182728美國專利申請中描述的)的字典21和存檔文件(archive)24。字典21存儲單詞和關(guān)于數(shù)據(jù)集合中出現(xiàn)的單詞的相關(guān)聯(lián)信息。存檔文件24基于數(shù)據(jù)集合的單詞、短語或者記錄存儲來自預(yù)處理的各種結(jié)果??梢砸愿鞣N格式中的任一種實施字典21和存檔文件24,并且可以將字典21和存檔文件24組織為數(shù)據(jù)的單個聚集或多個字典和存檔文件。運行模塊22調(diào)度和控制分配給計算圖的處理的執(zhí)行,用于執(zhí)行要素的計算。執(zhí)行模塊22可以與耦接到系統(tǒng)10的外部計算資源交互作用,所述外部資源在與圖要素相關(guān)聯(lián)的處理期間被訪問,例如數(shù)據(jù)資源26提供來自數(shù)據(jù)庫系統(tǒng)的記錄。在系統(tǒng)10中執(zhí)行的模糊操作可用于各種目的,諸如分析數(shù)據(jù)以評估其質(zhì)量,或者組織和/或統(tǒng)一(consolidate)數(shù)據(jù)。
任何企業(yè)或者其他機(jī)構(gòu)的核心資產(chǎn)是其持有以進(jìn)行其運作的數(shù)據(jù),從產(chǎn)品、服務(wù)和客戶列表到與個人、銀行或者其他企業(yè)的交易、合同和帳戶。該數(shù)據(jù)以多個格式存儲,并存儲在多個系統(tǒng)中,從紙和電子表格到關(guān)系數(shù)據(jù)庫和企業(yè)應(yīng)用,如會計或者供應(yīng)鏈管理系統(tǒng)。每一機(jī)構(gòu)的主要關(guān)注是該數(shù)據(jù)的質(zhì)量和完整性(integrity)。
如果發(fā)票包含不正確的價格或者誤標(biāo)的產(chǎn)品,則收取錯誤的數(shù)額或者交付錯誤的產(chǎn)品(item)。如果客戶或者供應(yīng)商的地址是錯的,則出貨或者訂單可能延遲或者丟失,并且發(fā)票或者付款可能不能到達(dá)其預(yù)期方。如果在一個系統(tǒng)上表示客戶的關(guān)鍵字鏈接到另一系統(tǒng)上不同客戶的帳戶,則關(guān)于客戶的帳戶的狀態(tài)的報告將不可靠,并且,更糟糕的是,一個客戶可能具有對其他客戶的帳戶的訪問權(quán)。數(shù)據(jù)質(zhì)量差干擾了業(yè)務(wù)的有序進(jìn)行,并且可能導(dǎo)致收入損失、名譽受損或者喪失機(jī)會。
企業(yè)或者機(jī)構(gòu)的數(shù)據(jù)的重要子集是其非業(yè)務(wù)基準(zhǔn)數(shù)據(jù)(referencedata),有時候稱為其主數(shù)據(jù)(masterdata)。這可以包括產(chǎn)品、客戶、帳戶、供應(yīng)商的列表,以及用來表示每一數(shù)據(jù)項的特定屬性的具體有效值(例如,客戶具有可能是男或者女的性別,或者產(chǎn)品具有可能是枚舉列表其中之一的顏色)。一般地,主數(shù)據(jù)排除了該機(jī)構(gòu)的短期操作數(shù)據(jù),如交易或者價格。主數(shù)據(jù)管理關(guān)注機(jī)構(gòu)的基準(zhǔn)數(shù)據(jù)的組織和維護(hù)。其主要關(guān)注之一是基準(zhǔn)數(shù)據(jù)的質(zhì)量和完整性(integrity)。
數(shù)據(jù)質(zhì)量和基準(zhǔn)完整性的問題具有很多形式。存在很難保持一致的不同種類的多個數(shù)據(jù)系統(tǒng)使這些問題惡化。潛在問題的非窮盡列表如下:
1)數(shù)據(jù)可能被不正確地錄入或者記錄:所做錄入并非預(yù)期的那個。在錄入中可能存在排字或者謄寫錯誤,導(dǎo)致例如客戶姓名或者地址、產(chǎn)品標(biāo)簽或者描述,或者預(yù)期取自枚舉列表的值中的單詞的變體(variant)拼寫。很多數(shù)據(jù)錄入應(yīng)用具有旨在錄入時驗證數(shù)據(jù)的防護(hù)措施以防止這些錯誤,但是錯誤仍舊出現(xiàn)。
2)數(shù)據(jù)可能未完成:并非所有字段都被填充??蛻魬?yīng)用可能已經(jīng)具有某些字段遺失的信息。在錄入期間表格的完成可能已被中斷。信息在錄入時可能已視為無效并被丟棄。要完成錄入的信息在輸入時可能尚不可獲得,可能直到某些其他活動完成為止。
3)數(shù)據(jù)可能是無效的:字段被填充但被以無效值填充。錄入可能不與預(yù)期來自枚舉列表的值的任何一個匹配。對于其預(yù)期的數(shù)據(jù)類型,錄入可能不是有效的,例如,在數(shù)字(decimal)字段可能存在字母符號,或者,在日期中月的日可能大于該月中的天數(shù)(例如6月31日)。
4)數(shù)據(jù)可能在錯誤字段中錄入。城市或者郵編可能出現(xiàn)在地址的街道字段中。具有不同于預(yù)期的格式的外國地址可能已被強(qiáng)制符合預(yù)期的格式。產(chǎn)品id可能在發(fā)票或者訂單表上的描述或者注釋字段中。如果姓是常見的名(例如gregorypaul),或者如果姓名不常見或者是外國姓名,則個人的名和姓可能被交換。
5)可能不存在用于數(shù)據(jù)錄入的標(biāo)準(zhǔn):數(shù)據(jù)可能被不一致地輸入。地址行的順序未被標(biāo)準(zhǔn)化,則即使在同一數(shù)據(jù)集合中可能也不總是以相同方式記錄。公司名稱的具體形式未被標(biāo)準(zhǔn)化,則即使在同一數(shù)據(jù)集合中,許多變體形式也可能可接受??蛻粜彰赡馨暾闹虚g名,或者中間名可能不存在,或者只存在中間首字母。類似地,名可能僅僅是首字母。可能在姓中存在具有或不具有連字符的雙姓,或者可能在中間名和姓字段之間進(jìn)行分割。
6)數(shù)據(jù)可能保持在自由文本字段中。發(fā)票或者訂單表上的注釋字段中的備注可能包含重要的信息,如產(chǎn)品名稱或者描述性屬性,否則這些信息將會遺失。數(shù)據(jù)庫表格上的描述字段可能包含對其他字段的變化的說明,例如當(dāng)婦女的姓因婚姻而變化時。
7)關(guān)鍵字關(guān)系可能被打破。數(shù)據(jù)庫使用關(guān)鍵字來鏈接保持在不同表格中以及有時候在不同數(shù)據(jù)庫中的表格中的相關(guān)數(shù)據(jù)。當(dāng)關(guān)鍵字未適當(dāng)鏈接正確的記錄時,數(shù)據(jù)庫的基準(zhǔn)完整性已被打破。關(guān)鍵字可能不正確地鏈接記錄,如當(dāng)一個客戶被鏈接到恰屬于另一客戶的帳戶時。關(guān)鍵字可能鏈接到不存在的記錄,例如,關(guān)于帳戶記錄的客戶關(guān)鍵字未鏈接到任何現(xiàn)存的客戶記錄。在某些情況下,客戶記錄存在但是具有不同的關(guān)鍵字;該關(guān)鍵字有時候被描述為“遺失關(guān)鍵字”。在其他情況中,當(dāng)根本不存在對應(yīng)的客戶記錄時,帳戶記錄被說成是孤立(orphan)的。
8)關(guān)鍵字關(guān)系可能不存在。具有不同起源的數(shù)據(jù)庫可以保持類似的數(shù)據(jù),但是不存在對其共享的數(shù)據(jù)進(jìn)行鏈接的關(guān)鍵字。對于一個行業(yè)來說未發(fā)現(xiàn)其與另一行業(yè)共享客戶是常見的。當(dāng)企業(yè)或者機(jī)構(gòu)合并時,兩個實體的主數(shù)據(jù)可能被組合。兩個實體的不同標(biāo)準(zhǔn)和非等同有效值使得很難獲得一致的主數(shù)據(jù)的集合,但是對如客戶的共享數(shù)據(jù)進(jìn)行標(biāo)識和鏈接的問題往往更難。
數(shù)據(jù)清理(datacleansing)尋求標(biāo)識和糾正這些問題的大多數(shù)。由于傳統(tǒng)系統(tǒng)的數(shù)量和復(fù)雜性、系統(tǒng)之間的接口的數(shù)量以及引入新系統(tǒng)的速度,真正的挑戰(zhàn)往往不是如何改正數(shù)據(jù)質(zhì)量的問題,而是如何應(yīng)付它們。
或許在企業(yè)或者機(jī)構(gòu)的系統(tǒng)中找到、存取和操作數(shù)據(jù)時的中心概念是“關(guān)鍵字”的概念。主關(guān)鍵字(primarykey)是字段,或者字段的組合,它的值起到在數(shù)據(jù)集合中唯一標(biāo)識記錄的作用。在關(guān)系數(shù)據(jù)庫內(nèi),每一個表格可以具有在表格內(nèi)唯一標(biāo)識記錄的主關(guān)鍵字(如果主關(guān)鍵字不唯一,則那是另一個數(shù)據(jù)質(zhì)量問題)。表格中的外關(guān)鍵字是鏈接到其他表格中的記錄的關(guān)鍵字。
可以執(zhí)行許多數(shù)據(jù)操作,它們依賴于數(shù)據(jù)庫表格或者其他數(shù)據(jù)集合的關(guān)鍵字。常見的基于關(guān)鍵字的數(shù)據(jù)操作是查找、聯(lián)接、上卷、掃描、排序、合并,以及并行處理中的按關(guān)鍵字分區(qū)(partition)。這些數(shù)據(jù)操作基于關(guān)鍵字的精確一致,這里稱為“精確匹配”。在數(shù)據(jù)操作“查找”中,使用關(guān)鍵字從具有精確匹配關(guān)鍵字的查找數(shù)據(jù)集合檢索一個或多個記錄。在數(shù)據(jù)操作“聯(lián)接”中,通過將來自一個數(shù)據(jù)集合的記錄的內(nèi)容與來自另外的(多個)數(shù)據(jù)集合的共享公共關(guān)鍵字的記錄的內(nèi)容相接(以及可能構(gòu)造子集)時,兩個(或多個)數(shù)據(jù)集合被組合。如果多于一個記錄具有匹配的公共關(guān)鍵字,則為每一個匹配的記錄對形成單獨的輸出記錄。
在數(shù)據(jù)操作“上卷”中,一組共享公共關(guān)鍵字的記錄的內(nèi)容被組合以產(chǎn)生具有相同關(guān)鍵字的單個輸出記錄。例如,通過將交易記錄上卷到客戶層次同時對交易量求和,將獲得該客戶的總交易量。在數(shù)據(jù)操作“掃描”中,對于共享公共關(guān)鍵字的一組記錄中的每一個記錄,使用所有先前看到的具有相同關(guān)鍵字的內(nèi)容計算輸出記錄。例如,利用掃描客戶的交易,可以計算客戶花費的累積總計。
在數(shù)據(jù)操作“排序”中,記錄按其關(guān)鍵字值安排順序。在數(shù)據(jù)操作“合并(merge)”中,來自一個或多個數(shù)據(jù)流的排序的數(shù)據(jù)被組合為單個流,以使得輸出流也被排序。在并行處理數(shù)據(jù)操作“按關(guān)鍵字分區(qū)”中,基于關(guān)鍵字的值分配數(shù)據(jù)以處理分區(qū)。
當(dāng)多個獨立系統(tǒng)共存時,其中每一個可能具有上面討論種類的數(shù)據(jù)質(zhì)量問題,與具有公共數(shù)據(jù)的記錄關(guān)聯(lián)的關(guān)鍵字通常不存在,而存在的關(guān)鍵字可能不可靠。最終每一個記錄中的數(shù)據(jù)是感興趣的項。關(guān)鍵字可以被看作在數(shù)據(jù)庫中引入的用于標(biāo)識和存取數(shù)據(jù)的方便假設(shè)(convenientfiction)。在不存在可靠關(guān)鍵字時,數(shù)據(jù)自身可被用于標(biāo)識的目的。
可以基于搜索通過記錄的內(nèi)容來存取記錄。例如,在一個數(shù)據(jù)庫中的客戶可以在第二數(shù)據(jù)庫中按姓名被搜尋。由于姓名是不明確的標(biāo)識符,其很少是關(guān)鍵字。雖然姓名能用來啟動標(biāo)識,但是一般需要例如出生日期和地址的支持信息來確證(corroborate)匹配。
此外,由于數(shù)據(jù)質(zhì)量問題,對于要正確匹配的記錄,往往姓名和確證信息都不需要精確地一致。精確一致可能太嚴(yán)格了,并且要求準(zhǔn)確的匹配可能導(dǎo)致錯失很多正確的標(biāo)識。(模糊)搜索的數(shù)據(jù)操作檢索接近地但不一定精確地匹配的數(shù)據(jù)條目。例如,針對“l(fā)eslie”的模糊搜索可能返回名為“l(fā)esley”的人的記錄。在模糊搜索中,可能存在多于一個的具有不同的相似或確證程度的匹配記錄(關(guān)于leslie的搜索也可能檢索到第二個名為lesley的人的記錄)。候選匹配可能不被充分地確證以具有作為確切的或甚至可接受的匹配的資格。例如,檢索的lesley記錄的出生日期可能和leslie記錄的出生日期不一致,在這種情況下匹配候選未被確證。
當(dāng)搜索時,對于查找使用精確關(guān)鍵字的單個步驟處理被兩個步驟處理代替:對于使用搜索條件(term)的檢索,記錄被標(biāo)識,并且記錄被評估以確定匹配。搜索條件不是關(guān)鍵字,因為它們很少唯一地標(biāo)識記錄,但是,它們像關(guān)鍵字那樣用來鏈接記錄。
為了清晰,把從中選擇搜索條件的字段與用來比較記錄以評估匹配的質(zhì)量的字段區(qū)別開是有用的。這些可以分別被稱為搜索字段和比較字段。
當(dāng)搜索條件或比較字段不完全相同時,為了找到和判斷匹配,可以使用計分函數(shù)來識別變體值。可以使用變體搜索條件檢索候選匹配,并且使用計分函數(shù)評價所述候選匹配以量化確證字段之間的匹配的質(zhì)量。這些計分函數(shù)被設(shè)計成對于各種數(shù)據(jù)質(zhì)量問題進(jìn)行計算。盡管有這些問題,它們?nèi)宰R別(recognize)匹配,盡管具有減少的分?jǐn)?shù)。例如,用于個人姓名的計分函數(shù)可以容忍交換姓和名或者使用中間首字母,而適于公司名稱的計分函數(shù)可能重視單詞順序甚于重視遺失的單詞。
精確關(guān)鍵字的另一基本使用是標(biāo)識具有公共關(guān)鍵字值的記錄的集合,經(jīng)常稱為關(guān)鍵字組。這些關(guān)鍵字組在很多基于關(guān)鍵字的數(shù)據(jù)操作中扮演中心角色。當(dāng)放松精確匹配關(guān)鍵字的要求時,出現(xiàn)了如何分組關(guān)鍵字的問題?;诜潘傻钠ヅ錁?biāo)準(zhǔn)分組在一起的關(guān)鍵字集合被稱為聚類。
一般地,聚類可以是比較字段滿足比較測試的記錄的集合:例如,在一個布置中,如果記錄關(guān)于聚類的得分超過了閾值,則該記錄是所述聚類的成員。存在很多不同方式來定義記錄關(guān)于聚類的得分,典型但不排他地包括單獨地計算記錄關(guān)于聚類的每一個成員的得分,然后將得分組合。例如,得分可以是記錄關(guān)于聚類的每一個成員的得分的最大者,或者,可以是關(guān)于聚類的每一個成員的得分的平均。在某些布置中,計算一對記錄的得分包括將數(shù)值分配給一個字段值的集合與另一字段值的集合進(jìn)行比較的結(jié)果。字段值的比較可以包含定量和定性評估兩者。
定義聚類造成的結(jié)果是不明確性成員資格分配是可能的,因為字段值的比較是計分的關(guān)系。具體來說,計分可能指示一片數(shù)據(jù)屬于多于一個聚類。在一個布置中,可以通過強(qiáng)制該片數(shù)據(jù)進(jìn)入聚類之一以使聚類被苛刻地定義來處理這種不明確性,如精確關(guān)鍵字情況中那樣。在這種情況下,基于關(guān)鍵字的數(shù)據(jù)操作實質(zhì)上仍和精確關(guān)鍵字情況中一樣。
由于各種原因,基于精確關(guān)鍵字的數(shù)據(jù)操作可能不總是如期望那樣準(zhǔn)確或者無誤。一個原因可能是與數(shù)據(jù)片和數(shù)據(jù)操作相關(guān)聯(lián)的內(nèi)在不明確性。例如,數(shù)據(jù)片可能正當(dāng)?shù)貙儆诙嘤谝粋€組。在某些聚類方法下,內(nèi)在不明確性可能使準(zhǔn)確分類很難或者難以達(dá)到。例如,在上述的人力資源數(shù)據(jù)庫中,要根據(jù)雇員所屬的部門對雇員進(jìn)行分類,雇員可能同時屬于例如營銷和研發(fā)兩個部門。將雇員強(qiáng)制地與任一部門(營銷和研發(fā))相關(guān)聯(lián)可能是誤導(dǎo)性的。將雇員簡單地與兩個部門都相關(guān)聯(lián)可能導(dǎo)致雙重計數(shù)問題。例如,可能針對同一雇員計算兩遍諸如醫(yī)療之類的花費。
精確分類可能不可能的另一原因是未決事件的后果可能影響當(dāng)前的分類。例如,機(jī)構(gòu)作為慈善機(jī)構(gòu)或者非慈善機(jī)構(gòu)的法律狀態(tài)可能改變其納稅義務(wù)。進(jìn)一步假設(shè)irs和該機(jī)構(gòu)之間存在進(jìn)行中的訴訟,該訴訟關(guān)于該機(jī)構(gòu)是否有資格作為慈善機(jī)構(gòu)并因而應(yīng)享受減稅。如果,在該機(jī)構(gòu)的年度預(yù)算中,假定該機(jī)構(gòu)的稅務(wù)狀態(tài)是慈善機(jī)構(gòu)的狀態(tài),因此對于納稅留出了較小的預(yù)算,但是,如果后來法院判決該機(jī)構(gòu)是非慈善機(jī)構(gòu),因而不能享受僅慈善機(jī)構(gòu)享有的減稅,則年度預(yù)算必須被修訂。處理這種狀況的傳統(tǒng)方式經(jīng)常是向預(yù)算附加注釋,說明會影響預(yù)算的可能的不利法院判決。在出現(xiàn)不利的法院判決的情況下,預(yù)算必須被更改。但是比必須修正預(yù)算更糟的是,如果在其他業(yè)務(wù)領(lǐng)域,或者在其他國家,預(yù)算已經(jīng)被其他應(yīng)用使用,則超過預(yù)算自身的修正可能是不可能的,因為可能無法追蹤連鎖反應(yīng)。
上面兩個例子示出了常規(guī)數(shù)據(jù)方法如何可能不足以處理對聚類的不明確性分配(“部分成員資格”)。當(dāng)對聚類的一對一匹配不能確定或最好不被確定時,出現(xiàn)不明確性分配。通過允許分配給多個聚類帶來的一個挑戰(zhàn)是如何保持會計誠信。部分成員資格的方法可用于這個目的,并且稍后在本公開中將詳細(xì)討論。為了處理包含具有不明確性成員資格的元素的聚類,可以使用模糊數(shù)據(jù)操作。
當(dāng)聚類具有帶有重疊的成員資格的元素、并且某些數(shù)據(jù)與多于一個聚類相關(guān)聯(lián)時,可以使用模糊上卷的數(shù)據(jù)操作來執(zhí)行計算,同時保持會計誠信并報告與可能的替換分配相關(guān)聯(lián)的錯誤的范圍。在人力資源的例子中,模糊上卷操作可用于按部門總計花費。如果一雇員為多于一個部門工作,則用于該雇員的花費可以在部門之中分配,反映出該雇員的部分成員資格。
當(dāng)聚類成員資格或者以未來事件為條件,如上面的法律例子中那樣,或者由于不明確和不完整的信息而不確定,如上面的銀行業(yè)例子中的對手方的確定那樣,則按組計算例如貨幣總計的模糊上卷操作應(yīng)該在保持會計誠信的同時反映出這種不確定性。當(dāng)然,在不確定的未來事件的情況下,例如公司的稅務(wù)分類,偶然性確實存在。對于規(guī)劃和風(fēng)險評估的目的,過早對特定替換進(jìn)行分配可能給出誤導(dǎo)場景。
例如,在圖2a中,不確定數(shù)據(jù)元素120屬于聚類122、聚類124還是聚類126??梢允菙?shù)據(jù)元素120同時屬于聚類122、124和126。也可以是數(shù)據(jù)元素120在一個特定時間屬于一個聚類,但是在這三個聚類之中輪轉(zhuǎn)。數(shù)據(jù)元素120屬于聚類122、124和126的成員資格由n1、n2和n3表示。n1、n2和n3是分?jǐn)?shù)。在數(shù)據(jù)元素120以相等概率同時屬于這三個聚類的情況下,n1、n2和n3均可被分配分?jǐn)?shù)1/3。在這種情況下,數(shù)據(jù)元素120屬于聚類122、124和126的部分成員資格的和是一(1/3+1/3+1/3=1)。在數(shù)據(jù)元素120在一個特定時間屬于一個聚類,但是在這三個聚類之中輪轉(zhuǎn)的例子中,在時間t1,n1、n2和n3可以是值1、0和0。在時間t2,n1、n2和n3可以是值0、1和0。n1、n2和n3的值可以變化,但是它們值的和應(yīng)該總是一。
在銀行業(yè)的例子中,基于對以不明確標(biāo)識的對手方的風(fēng)險的替換分配,了解對每一對手方的最大和最小風(fēng)險給出了對任意給定對手方的可能風(fēng)險的更完整的圖景,并溝通了信息(knowledge)的不確定狀態(tài)。通過使用成員資格的大概可能性(likelihood)對為聚類分配成員進(jìn)行加權(quán),能夠包含關(guān)于未來或者不明確性的可能解決(resolution)的當(dāng)前信念,并且這些權(quán)重可隨著時間細(xì)化以反映出信息的變化狀態(tài)。
模糊聯(lián)接的操作使兩個和更多個數(shù)據(jù)庫在其不共享公共精確關(guān)鍵字時能夠被組合。例如,當(dāng)?shù)刂凡⒎侵鹱窒嗤瑫r,來自不同數(shù)據(jù)庫的客戶家庭記錄可以在地址上被聯(lián)接。當(dāng)來自一個數(shù)據(jù)庫的地址不完整或者不準(zhǔn)確時,在第二數(shù)據(jù)集合中存在多個記錄是它的候選匹配。模糊聯(lián)接包容了這種可能性。
排序操作通過關(guān)鍵字對記錄安排順序,并經(jīng)常在如上卷和聯(lián)接的作用于記錄的組的基于關(guān)鍵字的操作之前使用。當(dāng)各個記錄可以是(可能和實際)多個聚類的成員時,模糊排序可用于在諸如模糊上卷之類的操作之前對記錄安排順序。通過對多個聚類的不明確性成員的各個記錄進(jìn)行復(fù)制并將其按最終順序置于其相關(guān)聯(lián)的聚類中的每一個中,排序順序和排序動作的概念可以被擴(kuò)展。
模糊數(shù)據(jù)操作和常規(guī)數(shù)據(jù)操作不同在于,替代基于精確匹配關(guān)鍵字的關(guān)鍵字組,使用了聚類。聚類包括上面的當(dāng)關(guān)鍵字是leslie時檢索lesley的例子。聚類也包括即使因為johnsmith只有一半時間在營銷部門工作,他不完全地屬于營銷部,也把johnsmith分類到營銷部的例子,
圖2b示出了示范性模糊數(shù)據(jù)操作。在這個例子中,模糊數(shù)據(jù)操作180關(guān)于關(guān)鍵字160操作并檢索數(shù)據(jù)集合150。關(guān)鍵字160是常規(guī)關(guān)鍵字。被檢索的數(shù)據(jù)集合150包括5個數(shù)據(jù)元素—數(shù)據(jù)元素151、數(shù)據(jù)元素152、數(shù)據(jù)元素153、數(shù)據(jù)元素154和數(shù)據(jù)元素155。這五個數(shù)據(jù)元素不和關(guān)鍵字160匹配。盡管如此,它們?nèi)员粩?shù)據(jù)操作檢索到。這是模糊數(shù)據(jù)操作不同于常規(guī)數(shù)據(jù)操作的地方。給定關(guān)鍵字,常規(guī)數(shù)據(jù)操作檢索與關(guān)鍵字精確匹配的數(shù)據(jù)。但是模糊數(shù)據(jù)操作可以檢索并不與關(guān)鍵字精確地匹配的數(shù)據(jù)。
對于構(gòu)成模糊數(shù)據(jù)操作的基礎(chǔ)的聚類的定義來說,不同記錄中的數(shù)據(jù)比較是基本。使用比較測試來確定哪些記錄屬于每一聚類。在某些布置中,比較測試是取自每一記錄的選擇字段值的計分函數(shù),并且兩片數(shù)據(jù)(關(guān)鍵字是數(shù)據(jù)片)之間的量化的差可以是距離。
(a)兩片數(shù)據(jù)之間的距離
兩片數(shù)據(jù)之間的距離在直觀上是簡單的。例如,姓名leslie和lesley之間的差別是顯然的,并且全職雇員和兼職雇員之間的差別是明顯的。但是,并不總是直接地量化或者度量兩片數(shù)據(jù)之間的差別。這里我們將簡單討論兩種能用來度量兩片數(shù)據(jù)之間的差別的方法。應(yīng)該理解,基于下面描述的原理可以很容易地開發(fā)對數(shù)據(jù)之間的差別進(jìn)行量化的其他方法。例如,在通過引用包含于此的no.2009/0182728號美國專利申請公開中描述了模糊匹配技術(shù)和距離度量的其他例子。
(1)兩個單詞之間的距離
度量(例如,從給定字符集形成的)兩個單詞之間的距離的方法,經(jīng)常被稱為“編輯距離(editdistance)”,涉及對從一個單詞到達(dá)另一個單詞花費多少字符操作進(jìn)行計數(shù)。在這個例子中,字符操作涉及單個字符。字符可以被以各種方式中的任何一種編碼。例如,可以使用任何單字節(jié)或者多字節(jié)編碼或者用于表示字符集中的字符的代碼點(code-point)對字符進(jìn)行編碼。levenshtein編輯距離對把一個單詞變?yōu)榱硪粋€所需的字符插入、刪除和替換的數(shù)量計數(shù)。
levenshtein編輯距離及其變體的限制是它們不能用于在線模糊匹配上下文中,即當(dāng)你具有以前未見過的查詢單詞并且想要在現(xiàn)有的基準(zhǔn)集合中找到匹配變體時。替代地,可以應(yīng)用用于計算變體的刪除算法(例如在通過引用包含于此的no.2009/0182728號美國專利申請公開中描述的)。在這個方法中,通過對為了到達(dá)匹配單詞需要從每一單詞刪除的數(shù)量進(jìn)行計數(shù)來確定單詞之間的距離。圖2c示出了如何計算leslie和lesley之間的刪除距離。操作102從“l(fā)eslie”刪除“i”以獲得“l(fā)esle”。操作104從“l(fā)esley”刪除“y”以獲得“l(fā)esle”。leslie和lesley之間的距離是1+1(每一單詞一個刪除,或者,只作用于單詞其中之一的一個刪除和一個插入)。
在某些布置中,通過比較被刪除的字符的相對值和位置可以做出更細(xì)化的計分。這允許加權(quán)計分,其中針對不同種類的變化施加不同的權(quán)重。例如,替換可能沒有調(diào)換重要,或者,以“n”替換“m”沒有以“k”替換“m”重要。
可以以下列方式將刪除算法用于基準(zhǔn)數(shù)據(jù)集合的在線模糊搜索。通過從基準(zhǔn)數(shù)據(jù)集合中的每一個單詞刪除一個和更多個字符(直到認(rèn)為必要多的刪除)獲得每一個單詞,通過形成所述每一個單詞從基準(zhǔn)數(shù)據(jù)集合構(gòu)建了刪除字典。(刪除的數(shù)量可以隨著單詞的長度而增加以允許更大的變化。)原始單詞和被刪除字符的位置都與從刪除產(chǎn)生的單詞一起記錄。當(dāng)進(jìn)行搜索時,對查詢單詞進(jìn)行處理以構(gòu)建通過刪除一個和多個字符獲得的每一個單詞。在基準(zhǔn)刪除字典中查找這些單詞中的每一個以找到對應(yīng)的原始單詞(刪除位置的記錄可用于對匹配計分)。然后,匹配的原始單詞可在數(shù)據(jù)集合中普通的精確搜索/查找中使用。重申一下,即使當(dāng)查詢單詞是在基準(zhǔn)數(shù)據(jù)集合中未出現(xiàn)的變體時這個方法也奏效。
另一個例子是“corp.”和“co.”之間的距離。從“corp.”到“co.”,需要一個單詞中的兩次刪除—刪除字母r和刪除字母p。因此,如果兩個單詞之間的距離定義為為了獲得匹配單詞在每一單詞上(最少)需要多少刪除操作,則“corp.”和“co.”之間的距離可以是2+0,盡管“corp.”和“co.”是同一單詞“corporation”的兩個可互換的縮寫。在用戶輸入的數(shù)據(jù)使用“corp.”而數(shù)據(jù)操作使用的關(guān)鍵字使用“co.”的情況下,依靠精確匹配單詞的常規(guī)方法將不會產(chǎn)生令人滿意的結(jié)果。例如,如果使用的關(guān)鍵字是abcco.,則只檢索精確地匹配關(guān)鍵字的數(shù)據(jù)條目的常規(guī)搜索數(shù)據(jù)操作將不會產(chǎn)生abccorp.。在模糊數(shù)據(jù)操作下,模糊搜索可被構(gòu)建以返回在關(guān)鍵字的特定距離內(nèi),例如2+0或者更多以內(nèi)的數(shù)據(jù)條目。在這種模糊搜索下,abccorp.可被作為關(guān)鍵字abcco.的匹配返回。
或者,由于這兩個單詞作為同義詞可互換,所以“corp.”和“co.”之間的距離可以被定義為零。模糊搜索可被構(gòu)建以返回包含用戶指定的同義詞的數(shù)據(jù)條目。這個例子展示了模糊操作可能需要處理的復(fù)雜性。
在上面的例子中,基于諸如字符的插入和刪除之類的操作計算距離,其中,插入和刪除都被作為一個操作計數(shù)。在其他布置中,可以基于加權(quán)操作計算距離??梢允褂眉訖?quán)使一個類型的操作(例如插入)相對于另一類型的操作(例如刪除)偏向(bias)。或者,可以使用加權(quán)使一個個別操作相對于另一個個別操作偏向。例如,對應(yīng)于空格的刪除操作可以被加權(quán)得少于對應(yīng)于字母z的插入操作,以反映出這樣的事實:空格的遺漏是常見的拼寫錯誤,而在英文單詞中插入字母z可能不是拼寫錯誤而是兩個英文單詞之間的真實差別。
例如,“sunshine”和“sunshine”之間的距離是插入一個空格。“zinc”和“inc”之間的距離是插入一個字母z。如果在計算距離時不對個別操作進(jìn)行加權(quán),則這兩個距離(一個操作)相等。當(dāng)模糊搜索操作被構(gòu)建以返回一個操作的距離內(nèi)的任意匹配時,按關(guān)鍵字“sunshine”的搜索將返回“sunshine”,并且按關(guān)鍵字“inc”的搜索將返回“zinc”。
但是如果使用加權(quán)操作,則這兩個距離—“sunshine”和“sunshine”之間的距離以及“zinc”和“inc”之間的距離可能不同。例如,空格的插入可以用因子0.5加權(quán)以反映空格的插入更可能由打字錯誤導(dǎo)致的事實。字母z的插入可以用因子1加權(quán)以反映額外的字母z不太可能由失誤添加的事實。圖2d示出了當(dāng)操作如此加權(quán)時,“sunshine”和“sunshine”之間的距離是0.5個操作而“zinc”和“inc”之間的距離是一個操作。
在模糊搜索數(shù)據(jù)操作被構(gòu)建以返回在關(guān)鍵字的0.5個字符操作的距離內(nèi)的任意匹配的布置中,搜索關(guān)鍵字“sunshine”將返回“sunshine”。但是搜索關(guān)鍵字“inc”將不返回“zinc”。
在某些布置中,可以定義更細(xì)致的加權(quán)操作。
(2)兩個英國郵政編碼之間的距離
模糊匹配有用的另一應(yīng)用是對包含相同家庭的重復(fù)記錄的公司的客戶地址數(shù)據(jù)庫進(jìn)行處理。相同家庭的多個條目可能由與該家庭相關(guān)聯(lián)的郵政編碼中的排字錯誤而導(dǎo)致,或者可能由與該家庭相關(guān)聯(lián)的姓名的錯誤拼寫而導(dǎo)致。
可能的排字錯誤可以包括遺漏或者插入空格、遺漏或者插入字母,以及錯誤打印字母。盡管并不是不常見,但是用戶不太可能在同一郵政編碼中犯下兩個排字錯誤。盡管并不是沒有可能,但是用戶不可能在同一郵政編碼中犯下三個排字錯誤。
圖3示出了由郵政編碼中的排字錯誤導(dǎo)致的可能的重復(fù)記錄。在客戶地址數(shù)據(jù)庫300中,在姓名johnsmith下存在六個條目:johnsmithox26qt;johnsmithox26qt;johnsmithox26qy;johnsmithox26qy;johnsmithox26qx和johnsmithox27qy。緊挨著連接每一對記錄的線標(biāo)記了每一對記錄之間的距離。
假設(shè)公司已經(jīng)決定任何包含與真實記錄中的郵政編碼距離1+1個刪除距離之內(nèi)的郵政編碼的記錄最可能是虛假記錄—由于失誤而錄入的記錄,并且將被作為真實記錄的副本對待。進(jìn)一步假設(shè)公司已經(jīng)定義了模糊搜索來搜索在搜索關(guān)鍵字的1+1個刪除距離之內(nèi)的所有記錄。
如果一個單詞在另一個單詞的指定距離內(nèi),則前者是后者的變體。后者被稱為原始的。在本例中,指定的刪除距離是1+1(從每一個單詞的一個刪除)。在圖3中列出了客戶地址數(shù)據(jù)庫300中的每一個郵政編碼之間的距離信息?;趫D4,我們可以確定每一個記錄的變體,如圖4中所示。
圖4是可視化工具,并且通過利用獨特陰影的框符來表示每一個記錄并把每一個記錄的框符與其變體的框符重疊來形成圖4。例如,記錄a的框符與記錄b、c和e的框符重疊,因為記錄b、c和e是記錄a的變體。記錄e的框符與記錄a和f的框符重疊,因為記錄a和f是記錄e的變體。
在某些實例中,公司可能知道哪個記錄是真實記錄,而在某些其他的實例中,公司可能不知道哪一個是真實的。
在第一個例子中,公司知道真實記錄是“johnsmithox26qy”。使用“ox26qy”作為搜索關(guān)鍵字運行模糊搜索將檢索到下列兩個記錄:“johnsmithox26qt”和“johnsmithox26qy”。公司將把在同一聚類中的這兩個記錄作為真實記錄“johnsmithox26qy”的副本對待。公司可以決定消除這兩個副本或者通過給這三個記錄分配公共關(guān)鍵字將其分組在一起。這個組是模糊聚類的一個例子。
模糊聚類是數(shù)據(jù)操作,該數(shù)據(jù)操作將具有不精確匹配的關(guān)鍵字但是在彼此特定距離內(nèi)的數(shù)據(jù)分組在一起。模糊聚類可以與模糊搜索相關(guān),如上面的例子中所示。如上面的情況中那樣,當(dāng)已知真實記錄時,模糊搜索檢索在真實記錄的指定距離內(nèi)的數(shù)據(jù)。隨后檢索到的數(shù)據(jù)形成了模糊聚類。
在公司不知道哪個記錄是真實記錄的情況下,例如“johnsmithox26qt”和“johnsmithox26qy”都可能是真正的記錄,則弄清楚哪些記錄是彼此的副本從而生成模糊聚類無法通過簡單的模糊搜索進(jìn)行,因為不存在關(guān)于如何將記錄分組在一起的先驗指導(dǎo)。(b)部分詳細(xì)說明了在這種情況下為產(chǎn)生模糊聚類可以采用的幾種方法:
(3)量化差別的其他例子
兩片數(shù)據(jù)之間的距離是兩片數(shù)據(jù)之間的量化差別的一個例子??梢杂貌煌姆绞搅炕瘍善瑪?shù)據(jù)之間的差別。
在某些布置中,可以開發(fā)基于匹配對之間的相似性對匹配對計分的計分系統(tǒng)。然后,所述對之間的量化差別可以被定義為歸一化的匹配得分的補(complement)。
在由于例如訴訟的事件的未決結(jié)果而存在不確定性的情景下,可以使用數(shù)據(jù)片屬于一個類別(category)或另一類別的概率來量化在該數(shù)據(jù)片和表示類別的關(guān)鍵字之間的距離。如果只存在兩個類別,則該數(shù)據(jù)片和表示類別的關(guān)鍵字之間的距離可以定義為該數(shù)據(jù)片將落入該類別的概率的補,或者,如果存在更多類別,則將所述距離定義為該數(shù)據(jù)片將落入該類別的概率的共軛。
(b)變體關(guān)系和變體(模糊)聯(lián)接
當(dāng)在聯(lián)接操作中配對那些數(shù)據(jù)元素時,來自要進(jìn)行比較的各自數(shù)據(jù)集合中的各自數(shù)據(jù)元素的對象可以定義為數(shù)據(jù)片或者數(shù)據(jù)片的組合。在關(guān)系數(shù)據(jù)庫中的表格的行中,對象可以是列中的值,值的一部分(例如子串),或者來自多于一個列的值的組合。在由一序列由字段組成的記錄構(gòu)成的平面文件數(shù)據(jù)集合中,對象可以是一個字段中的值、一個字段的一部分或者多于一個字段的組合。在文檔中,這可以是文本的片段或者文本的拆散的片段的組合。
考慮對象{k}的集合s。s中的每一對象k具有相關(guān)聯(lián)的稱為變體{v}的變體對象的集合,該集合可能是空的。關(guān)系
k~v
讀作“v是k的變體”。在某些布置中,如果兩個對象在函數(shù)s(k,v)下的得分低于閾值t,則確定它們是變體。
s(k,v)<t
(對于某些計分函數(shù),超過閾值可能反而方便)。對象之間的距離,例如上面討論的用于串的編輯距離或者刪除距離,可被用作構(gòu)建比較單詞或者短語的計分函數(shù)的基礎(chǔ)。
變體關(guān)系無需是等價關(guān)系(即,是對稱的并且具有傳遞性(k~k',k'~k”=>k~k")),但是有時候變體關(guān)系是等價關(guān)系。即使變體關(guān)系不是等價關(guān)系,也假設(shè)變體關(guān)系是對稱的
k~v=>v~k
即,如果v是k的變體,則k是v的變體。
兩個(或更多個)數(shù)據(jù)集合a和b的精確(內(nèi))聯(lián)接可以定義為記錄(行、文檔等)的配對,該配對包含相同的a中的對象ka和b中的kb,以使
ka=kb
對象ka和kb稱為關(guān)鍵字。
在兩個步驟中定義變體(“模糊”)內(nèi)聯(lián)接。首先進(jìn)行諸如記錄(或行、文檔等)之類的數(shù)據(jù)元素的臨時配對。在一個布置中,a中的ka與b中的它的變體vbn配對,ka~vbn。然后,與ka和vbn相關(guān)聯(lián)的記錄對被評價e(ka,vbn),以確定保留哪些記錄對。(在精確的情況下,所有對都被保留,所以匹配和計分步驟融合到單個比較ka=kb中)。評價操作一般涉及在配對的記錄中在用于配對的對象以外的另外的(further)對象的比較。在某些配置中,評價操作產(chǎn)生得分,該得分必須超過匹配閾值以標(biāo)識匹配。類比于精確情況對半聯(lián)接和外聯(lián)接進(jìn)行定義:當(dāng)未找到(或未保留)匹配記錄時空值被指定用于相反的記錄。
最簡單的臨時配對由
ka~vbn
給出,即ka在b中的變體的集合。通過確定是否要保留建議的配對的評價(“計分”)步驟對這個配對(“匹配”)步驟進(jìn)行補充。
存在對變體配對ka~vbn的擴(kuò)展的層次(hierarchy)關(guān)系。首先的泛化(generalization)是通過附加另外的對(ka,vbnm)來擴(kuò)展(ka,vbn)對,(ka,vbnm)由
ka~van,van~vbnm
給出。
即,ka與a中的ka的變體在b中的變體配對。當(dāng)變體關(guān)系不是等價關(guān)系時,到達(dá)b中更大的元素集合。注意這個操作不是對稱的:在b中可能存在不能到達(dá)ka的對象vbnm。即,給定
vbnm=kb,kb~vbi,vbi~vaij,
沒有vaij=ka。這是因為b中的kb的變體沒有一個需要具有ka作為變體—至多只需要kb具有ka的變體作為其變體之一。
對變體的變體的諸如此類的進(jìn)一步擴(kuò)展是可能的。具體來說,利用對(ka,vbnmj)擴(kuò)展(ka,vbn),其中
ka~van,van~vbnm,vbnm~vbnmp
在下列意義上是對稱的。給定b中的元素kb(通過上面的操作和ka配對),即對于某些n,m,p,kb=vbnmp,存在元素vaijl=ka,其中
kb~vbi,vbi~vaij,vaij~vaijl
換句話說,逆向施加的相同變體匹配過程包含逆向?qū)Γ簭腶中的對象到達(dá)的b中的每一個對象通過相同的過程可以反過來到達(dá)a中的原始對象。
通過成對地聯(lián)接數(shù)據(jù)集合并取作為結(jié)果的對的笛卡兒積,可以對多于兩個數(shù)據(jù)集合的擴(kuò)展進(jìn)行定義。因此為了聯(lián)接a、b和c
ka~vbn,
ka~vcm,
通過以成對形式使用上面定義的更高階的擴(kuò)展(例如變體的變體)來獲得更高階的擴(kuò)展??蛇x地,在某些情形下,對于某些n、m,可以要求b和c之間的變體關(guān)系
vbn~vcm
更高價的變體的使用可能被要求直接在b和c之間建立這種連接(當(dāng)然該關(guān)系已經(jīng)通過a作為中間媒介)。
如上面所討論的那樣,變體關(guān)系的一個有用來源是對通過編輯距離相關(guān)的單詞進(jìn)行配對。如果在單詞之間考慮的編輯距離限于一,則這容許數(shù)據(jù)集合內(nèi)的配對的某個集合作為變體。例如,“smith”將具有"smth"、"smith2"和"smyth"作為變體。"smith20"不是"smith"的變體,但是其是"smith2"的變體,因此編輯距離一的變體關(guān)系不是傳遞性的。
當(dāng)單個單詞或者整個字段可以用作變體關(guān)鍵字時,可以使用變體聯(lián)接。例如,可以將搜索數(shù)據(jù)集合明確地表達(dá)為使用變體關(guān)鍵字的變體聯(lián)接。查詢短語被分解為關(guān)鍵詞的集合,該集合中的每一個均按照來自目標(biāo)數(shù)據(jù)集合的單詞的索引與其變體匹配。索引將單詞與記錄標(biāo)識符(關(guān)鍵字)配對,該記錄標(biāo)識符用于包含目標(biāo)數(shù)據(jù)集合中的給定字段中的所述單詞的每個記錄。從每一個關(guān)鍵詞與索引的變體匹配獲取對應(yīng)記錄標(biāo)識符的列表,并且這些列表可以交叉以找到共享一個和多個關(guān)鍵詞的記錄。通過給匹配關(guān)鍵詞的組合分配得分,返回的記錄的列表可以被排序。這個得分可以考慮到數(shù)據(jù)集合中每一個關(guān)鍵詞的相對頻率(“逆向文檔頻率(inversedocumentfrequency)”)、查詢短語中關(guān)鍵詞和其在目標(biāo)數(shù)據(jù)集合記錄中的位置相比的相對位置(例如順序、相鄰),或者從查詢短語缺少的單詞。關(guān)鍵詞也可以和相關(guān)性的其他度量相關(guān)聯(lián)以使得計分更有區(qū)分度。
變體聯(lián)接也可以用于對單個單詞的查找。例如,在一個數(shù)據(jù)集合中的客戶可以由名、姓和地址標(biāo)識。可以利用要由名和地址來確證的匹配在第二數(shù)據(jù)集合中按姓搜尋這個客戶。匹配過程是:從源數(shù)據(jù)集合中的姓,使用目標(biāo)數(shù)據(jù)集合中的變體姓的集合來標(biāo)識和檢索匹配候選人集合。這些候選人被進(jìn)一步在名和地址上進(jìn)行比較以確定一致程度是否足以標(biāo)識匹配。
例如,假設(shè)源數(shù)據(jù)集合中的記錄是:
paul,smith,20walkerstreet
并且目標(biāo)數(shù)據(jù)集合中的匹配變體的集合是(smith,smyth,smithh)。目標(biāo)數(shù)據(jù)集合中的相關(guān)聯(lián)的記錄是:
1,paul,smith,20walkenst
2,robert,smith,1532eastgroveave
3,p,smyth,19westernave
4,pal,smithh,20walkerstreet
確證算法可以發(fā)現(xiàn)記錄1和4足夠接近成為匹配。這些記錄可以由查找(搜索)或者在變體聯(lián)接(其中兩個數(shù)據(jù)集合被彼此對照流化(streamed))中返回。
或者,或許在源數(shù)據(jù)集合中,原始的“smith”具有變體"smith2",變體"smith2"在目標(biāo)中具有匹配記錄
5,p,smith20,walkerstreet
"smith20"不是“smith”的直接變體,但是可以從源數(shù)據(jù)集合中的變體"smith2"到達(dá)。
變體聯(lián)接的另一用處是在聚類之前定義超聚類。這將在下面定義過聚類以后被討論。
(c)聚類和部分成員資格
很多基于精確關(guān)鍵字的數(shù)據(jù)操作要求被分組到集合的記錄共享公共關(guān)鍵字值。這些集合有時候被稱為“關(guān)鍵字組”。例如,上卷操作跨過關(guān)鍵字組中的記錄對數(shù)據(jù)進(jìn)行組合或者匯集以返回單個記錄。計數(shù)、總計、最大或最小值、值的向量、去重(deduplication)到唯一值,等等,全都可以利用上卷操作計算。任何將一組記錄匯總為單個記錄的操作均可以被理解為上卷操作。
數(shù)據(jù)并行處理中數(shù)據(jù)被分離為數(shù)據(jù)分區(qū)供獨立處理,數(shù)據(jù)并行處理經(jīng)常依賴于基于關(guān)鍵字的分區(qū)來確保屬于相同關(guān)鍵字組的所有記錄存在于相同的數(shù)據(jù)分區(qū)中。如上卷和聯(lián)接的操作依賴于此來產(chǎn)生與其在串行(非并行)處理中將產(chǎn)生的相同的結(jié)果。
關(guān)鍵字組的集合構(gòu)成了將所有記錄的集合分區(qū)為不相交的集合:每一個記錄(對象)是一個且僅一個關(guān)鍵字組的成員。聚類將關(guān)鍵字組的概念(notion)一般化到涉及重疊集合的分區(qū),其中成員資格不由關(guān)鍵字的精確一致確定。
考慮將集合s分區(qū)為可能重疊的集合{c}的聚集,集合{c}稱為對象k的聚類,每一個k具有權(quán)重w(k,c)。對象k可以是多于一個聚類c的成員,并且,如果如此,則其聚類成員資格被說成是不明確的或者部分的。分配給c中k的權(quán)重w(k,c)對c中k的“部分成員資格”進(jìn)行量化,并且有時候被稱為不明確性的度量。聚類c可以被表示為對c={(k,w(k,c))}的集合。如果w(k,c)=0,那么k被說成是“不是c的成員”。如果w(k,c)=1,則k是“無疑是c的成員”。對于固定的k,c上的權(quán)重之和等于1,對應(yīng)于s中無疑的成員資格,
∑w(k,c)=1.
c
權(quán)重的分配與規(guī)則r相關(guān)聯(lián),并且可以由r標(biāo)記。給定的集合s通常允許多于一個分區(qū)在聚類的聚集內(nèi),以及在不同規(guī)則下針對每一個對象k的多于一個的加權(quán)分配。一般地,和不同規(guī)則相關(guān)聯(lián)的權(quán)重不能被組合。
聚類c={(k,w(k,c))}的補被定義為集合{(k,1-w(k,c))}。具體來說,所述補以權(quán)重1包含不在c中的對象。如果聚類{c}的聚集不生成(span)s,或者在c上k的權(quán)重之和不等于一,則在s中{c}的并集的補被假定為和所述聚集鄰接。
通過對兩個聚類的權(quán)重求和,可以將所述兩個聚類組合為單個聚類,從而使分區(qū)變粗(coarsening)
c1+c2={(k,w(k,c1)+w(k,c2))}
通過逆轉(zhuǎn)這個處理可以將聚類分解為進(jìn)一步的聚類,為新聚類之中的每一個對象分配權(quán)重,所以新權(quán)重的和等于原始權(quán)重。通過減去對象的權(quán)重,可以從聚類去除該對象,例如在應(yīng)用選擇標(biāo)準(zhǔn)以后。
在某些情形中,當(dāng)權(quán)重滿足0<=w(k,c)<=1時,權(quán)重可以允許一種解釋為“k是s中的聚類c的成員的概率”,但是一般地,聚類的定義是非統(tǒng)計的。不排除負(fù)權(quán)重以及大于一的權(quán)重,但是對于固定的k的權(quán)重的和必須是一。
雖然原則上可以形成如c1+c1的組合,但是它們對應(yīng)于構(gòu)建包含對象的多個拷貝的聚類,如對象的最大可能權(quán)重的值所反映的那樣(例如在這種情況下是2)。對于每一個對象權(quán)重的和是一的條件假設(shè)每一個對象只有一個拷貝存在于集合s中。如果事實并非如此,則權(quán)重的和的值可以相應(yīng)地改變。一般地,不能預(yù)先排除總權(quán)重按對象變化。
具有部分成員資格的聚類類似于模糊集合的概念,因為其可以被描述為利用將權(quán)重分配給集合中的每一個對象的成員資格函數(shù)的對象的集合。但是,這里的重點不在隔離的模糊集合上,而在作為分區(qū)的元素的聚類上。具體來說,權(quán)重是分區(qū)的性質(zhì)而不是隔離的聚類內(nèi)的對象的性質(zhì)。分配給聚類內(nèi)的對象的權(quán)重受對于其他聚類的可能的替換分配的影響。焦點從聚類內(nèi)的成員資格函數(shù)轉(zhuǎn)移到跨過聚類為對象分配成員資格的函數(shù)。
在許多情形下自然地出現(xiàn)了具有部分成員資格的聚類。用最簡單的術(shù)語,部分成員資格是將對象分配給聚類時不明確性的結(jié)果。如果存在精確關(guān)鍵字,則對象屬于哪個關(guān)鍵字組不存在問題。如果部分成員資格基于無需精確一致的數(shù)據(jù)片或者數(shù)據(jù)片的組合,則成員資格確定可能不會如此清晰。
下面是可能導(dǎo)致部分成員資格的廣泛的數(shù)據(jù)質(zhì)量問題的例子。
相對于聚類規(guī)則數(shù)據(jù)可能是內(nèi)在不明確性的。有時候聚類由于其定義不假定排他性成員資格的簡單原因而重疊。考慮為一個公司中的兩個不同部門工作的雇員。如果雇員列表按部門聚類,則雇員正確地出現(xiàn)在兩個聚類中,因為這反映出事情的真正狀態(tài)。在這種情況下,部分成員資格可以被設(shè)置成反映該雇員為每一個部門工作的部分時間。這反過來減少了得到在分開的部門中存在兩個具有相同標(biāo)識信息的不同雇員的錯誤結(jié)論的機(jī)會。
數(shù)據(jù)可能有瑕疵。字段中的變體單詞可能使標(biāo)識不明確。當(dāng)將地址分配給家庭時,在一個地址記錄上的房屋號碼可以是12,然而在該街道上不存在房屋號碼12。相反,存在房屋號碼1、2和21。前兩個的0.3的權(quán)重以及最后一個0.4的權(quán)重可反映出調(diào)換錯誤略大于插入錯誤的可能。
數(shù)據(jù)可能不完整。做出到聚類的確定分配所需的一片信息可能缺失。例如,考慮給家庭分配地址記錄的問題。每一個唯一的房屋號碼、街道、城市、郵政編碼組合被分配了唯一的家庭號碼。聚類算法可以容忍街道和城市名稱的變體拼寫,所以每個地址不必完全相同以分配給正確的家庭。但是,如果房屋號碼從地址中缺失,則沒有充足的信息來做出確定性分配。為了保有盡可能多的信息,不完整的記錄可以被部分地分配給與可用信息一致的每一個家庭。如果存在五個可能的房屋號碼,則每一個家庭聚類中的權(quán)重可以是0.2,反映每一個房屋號碼相等的可能性。在不同的上下文中,考慮由按公司名稱標(biāo)記的帳戶上的未償還債務(wù)組成的數(shù)據(jù)集合。銀行想要對這種數(shù)據(jù)進(jìn)行合計以確定按國家與每一個公司相關(guān)聯(lián)的總計未償還債務(wù)。在公司名中是"acmeserviceslimited(australia)"、"acmeserviceslimited(canada)"和"acmeserviceslimited"。前兩個中的每一個進(jìn)入分開的聚類,但是第三個是前兩個中的每一個的相等匹配,并且缺少國家標(biāo)識符。將第三個公司以權(quán)重0.5放入前兩個聚類中的每一個反映出公司信息的不完整性。
數(shù)據(jù)或者分類可能是內(nèi)在地不確定的。聚類成員資格可能基于將來的事件的結(jié)果??紤]包含資產(chǎn)及其值的列表的數(shù)據(jù)集合。資產(chǎn)要按照所有人聚類。但是,關(guān)于特定資產(chǎn)的所有權(quán)的訴訟未決。將它和任一可能的所有人放在一起都可能押錯寶,然而該資產(chǎn)不能被簡單地忽略。將該資產(chǎn)以部分成員資格分配給每一所有人反映出對訴訟結(jié)果的預(yù)期結(jié)果的信息的當(dāng)前狀態(tài),給出了最公平并且最有信息量的與當(dāng)前信息一致的對資產(chǎn)的處置。
(d)聚類
聚類是基于聚類成員資格標(biāo)準(zhǔn)將記錄分組為聚類的動作。在精確的情況下,來此每一個記錄(關(guān)鍵字)的對象精確地和其他記錄中的對應(yīng)對象匹配,并且聚類或者“關(guān)鍵字組”是共享公共關(guān)鍵字的記錄的集合。在模糊的情況下,聚類成員資格可以由每一記錄中的對象之間的變體關(guān)系確定。(然而更一般的聚類成員資格標(biāo)準(zhǔn)也是可能的)。為了避免必須將數(shù)據(jù)集合中的所有記錄相互比較,使用超聚類(supercluster)關(guān)鍵字將整個集合劃分為子集,并且交叉比較被限制于超聚類內(nèi)的記錄。
在很多情況下,超聚類由精確關(guān)鍵字,例如郵政編碼來定義。變體聯(lián)接使超聚類能夠使用變體對象來定義。例如,超聚類可以定義為包含給定郵政編碼的變體的所有郵政編碼的記錄的集合。例如,給定uk郵政編碼ox26qy,,變體郵政編碼ox26qy和ox26qt都是編輯距離一的變體,而后者自身是有效的郵政編碼。允許來自每一變體郵政編碼的記錄作為潛在的匹配使聚類結(jié)果能夠容忍郵政編碼中的錯誤。
在另一布置中,通過從每一記錄中的選定的字段取出單詞的片段(例如基于相對頻率,從最長或者最重要的單詞),并使用這個片段的變體來標(biāo)識超聚類,可以形成超聚類。當(dāng)對于兩個記錄是相同聚類的成員時這是適當(dāng)?shù)?,它們非常可能共享特定單詞,但是那些單詞無需是直接變體,更不用說相等。通過考慮變體片段作為超聚類關(guān)鍵字,記錄被接納,對于這些記錄,單詞的剩余部分差別超過了可被作為變體接受。需要完整單詞和每一記錄中其他對象的更徹底的比較以確定聚類成員資格。
例如,當(dāng)比較德語街道名稱時,街道grafvonstauffenbergstrasse可能要求以某種形式包含stauffenberg。在采樣數(shù)據(jù)中,觀察到strasse可以被縮寫,并被連接到前導(dǎo)單詞以給出如grafv.sauffenbergstr的條目。由每一街道名稱中的最長單詞的前五個字符的編輯距離二變體來定義的超聚類將包括"stauf"和"sauff"。包含stauffenbergsauffenbergstr兩者的記錄將被包括用于在超聚類內(nèi)的比較,并且適當(dāng)?shù)挠嫹趾瘮?shù)將把它們分配給相同的聚類。相反,基于最長單詞的編輯距離二變體的超聚類將把這兩個街道名稱隔離到分開的超聚類中,從而它們將不能被聚類在一起。
超聚類的審慎選擇對于聚類方法的性能和準(zhǔn)確性很重要。例如,如果超聚類太大,則可能做出很多徒勞無益的比較,這可能導(dǎo)致性能受損?;蛘?,如果超聚類太窄,則可能錯失可接受的匹配,并且準(zhǔn)確性可能受累。
(e)部分成員資格
假設(shè)數(shù)據(jù)錄入操作是在應(yīng)用中填表以將新的客戶添加到數(shù)據(jù)庫。當(dāng)在表中錄入姓名時,應(yīng)用程序?qū)φ栈鶞?zhǔn)姓名列表驗證該錄入。使用利用如上所述的刪除算法的模糊搜索,應(yīng)用能夠檢測姓名的變體拼寫,并從基準(zhǔn)列表返回替換列表。假設(shè)操作者在名字段錄入“jame”。應(yīng)用程序可能(和數(shù)據(jù)庫中包含該姓名的記錄的計數(shù)一起)按字母順序返回下列的替換列表
這些全都和jame差一個插入和/或一個刪除,并且是候選的替換。
為了改善列表對操作者的有用性,可以使用用于確定不明確性度量的各種模型中的任何一個將替換優(yōu)先化(prioritize)。三種示范性的量化不明確性的方式是:1)均分,2)統(tǒng)計頻率,和3)錯誤模型。
在均分方法中,將每一個替換作為同等可能來對待。這里,jame是替換中的任何一個的可能性是四分之一。替換的字母順序列表通常指示隱含的均分方法。
在統(tǒng)計頻率方法中,基準(zhǔn)集合,像數(shù)據(jù)庫表格自身一樣,被用作每一個姓名被觀察的頻率的來源。如果按照示出的計數(shù)對上面的列表進(jìn)行降序排序,則最可能的糾正是james,接著是jane等。
第三個方法—錯誤模型是基于以下觀察:某些種類的錯誤比其他的更可能,至少依賴于錄入的語言和模式。對于熟練操作者的鍵盤錄入,替換錯誤可能比跳過字符或者插入額外字符更常見。類似地,對于記錄由客戶通過電話給出的拼寫的操作者,涉及發(fā)音類似字母姓名的抄寫錯誤可能比其他種類的錯誤更常見。這里,在任一情況下,jane將是最可能的糾正。為了使用這個方法,可以開發(fā)并應(yīng)用對可能的錯誤及其相對重要性進(jìn)行分類的模型。這樣的模型可以從在no.2009/0182728號美國專利申請中引入的wfs(單詞頻率重要性,wordfrequencysignificance)文件的統(tǒng)計分析產(chǎn)生。
假設(shè)應(yīng)用程序?qū)蛻舻刂?這里稱為查詢地址)的記錄匹配到主客戶地址表格,如果找到匹配,則檢索現(xiàn)有家庭關(guān)鍵字,否則創(chuàng)建新的關(guān)鍵字。查詢地址可能不與主客戶地址表中的地址精確地匹配,所以可以使用模糊匹配。此外,查詢地址可能不完整或者不準(zhǔn)確。這意味著多于一個現(xiàn)有地址可能和查詢地址匹配。為了量化匹配的質(zhì)量,具有匹配的不明確性的度量很有用。
例如,地址可能不具有房屋號碼,而主客戶地址文件具有多個具有相同街道地址的條目(忽略房屋號碼)。假設(shè)查詢地址是具有特定城鎮(zhèn)和郵政編碼的lowerstreet。對郵政編碼的模糊搜索返回了預(yù)期的(prospective)地址記錄的列表,所述地址記錄具有相同或者變體郵政編碼。將查詢地址上的郵政編碼、城鎮(zhèn)、街道和房屋號碼字段與預(yù)期地址的每一對應(yīng)字段進(jìn)行比較并計分,作為模糊匹配處理的一部分。在這個例子中,假設(shè)存在兩個和查詢地址的街道、城鎮(zhèn)和郵政編碼精確匹配的主記錄:2lowerstreet和3lowerstreet。每個預(yù)期具有與查詢記錄匹配的相等質(zhì)量,并且不能利用現(xiàn)有數(shù)據(jù)對其進(jìn)行改善,因為房屋號碼在查詢記錄中缺失。在均分度量下,實際匹配到任一家庭的可能性相等。
或者,假設(shè)房屋號碼被填充但是無效,不能和任何現(xiàn)有地址對應(yīng)。假設(shè)查詢地址是12lowerstreet,但是對照基準(zhǔn)郵政地址文件(所有有效地址的列表可從郵政服務(wù)獲得)驗證表明不存在具有該地址的房屋。如上,在該郵政編碼中匹配的地址是2lowerstreet和3lowerstreet。用于地址錄入的錯誤模型可能傾向于12到2的匹配超過12到3的匹配。這將給出對匹配可能性的偏向加權(quán)以迎合與2lowerstreet地址的匹配。
最后,如果查詢記錄上的房屋號碼被填充并且是有效的郵政地址,則用于地址錄入的錯誤模型可以對地址是新的相對于現(xiàn)有地址的錯誤的可能性進(jìn)行量化。
(f)量化數(shù)據(jù)質(zhì)量
不明確性度量也可應(yīng)用于度量數(shù)據(jù)質(zhì)量的更寬的上下文中。企業(yè)和機(jī)構(gòu)關(guān)注其數(shù)據(jù)的質(zhì)量,特別是其主數(shù)據(jù),但是目前除了最明顯的數(shù)據(jù)質(zhì)量問題以外很難量化任何數(shù)據(jù)質(zhì)量。在上面給出的數(shù)據(jù)質(zhì)量問題的簡單列表中,某些數(shù)據(jù)質(zhì)量度量系統(tǒng)(例如,見通過引用包含于此的no.2005/0114369號美國專利申請公開)主要直接解決一個問題:數(shù)據(jù)有效性。數(shù)據(jù)可以被窮盡編目并對照其數(shù)據(jù)類型和對照各種用戶定義的有效性度量檢查有效性,用戶定義的有效性包括有效值的列表。
記錄的字段內(nèi)的不完整錄入的證據(jù)可從未填充(空白或者空)的錄入的數(shù)量推斷,但是這并未量化缺失信息的重要性??紤]主客戶地址列表的情況。如果城市從客戶地址錄入中缺失,但是存在有效的郵政編碼和街道地址,這是否增加任何不明確性?或者,地址是否能夠從手頭上的信息有效地完成,也許使用如郵政地址文件的基準(zhǔn)集合?如果地址缺失房屋號碼怎樣?多少房屋共享剩余的地址?某些數(shù)據(jù)質(zhì)量問題可以利用數(shù)據(jù)清理修正(缺失城市),其他的不能(缺失房屋號碼)。需要數(shù)據(jù)中存在的固有不明確性的度量。
通過將每一地址條目和基準(zhǔn)數(shù)據(jù)集合進(jìn)行比較,可以計算該條目中不明確性的度量。不明確性報告可以包括不具有不明確性的條目的部分。對于具有不明確性的條目,報告可以示出具有k個替換(或者替換的指定容器/范圍,也稱為“變體”)的條目的數(shù)量的直方圖。也可能存在具有最大不明確性的前n個條目的列表,其中n是用戶指定的條目的數(shù)量。量化與整個數(shù)據(jù)集合的不完整數(shù)據(jù)相關(guān)聯(lián)的不明確性的概要統(tǒng)計可以從每記錄的替換的數(shù)量的平均值和標(biāo)準(zhǔn)差構(gòu)建。
如果應(yīng)用不明確性的統(tǒng)計頻率度量來對地址的可能的完成進(jìn)行量化,則感興趣的度量是:a)具有k個替換的條目的數(shù)量的直方圖,b)利用替換的頻率的分布的直方圖,具有最大替換范圍的n個記錄的列表,c)具有與單個替換最強(qiáng)的關(guān)聯(lián)的n個條目的計數(shù)和列表,d)替換數(shù)量的平均值和標(biāo)準(zhǔn)差。
相似度量應(yīng)用于不明確性的錯誤模型度量。
字段中的錄入不是期望的那一個的變體錄入的數(shù)據(jù)質(zhì)量問題與有效值問題以及不完整信息的問題兩者都類似。在某些層次,說錄入不是預(yù)期那個是為了斷言其對于特定的但不一定明確的驗證標(biāo)準(zhǔn)是無效的。街道名的驗證可以通過將街道名稱和基準(zhǔn)郵政地址文件中所包含街道名稱的比較來定義?;蛘撸谌鄙倩鶞?zhǔn)數(shù)據(jù)集合時,有效性可以從相關(guān)聯(lián)的變體匹配錄入的相對頻率推斷。如果錄入以相對較高的頻率發(fā)生并且不存在高頻率的替換,則該錄入可被當(dāng)作有效的。如果錄入以相對較低的頻率發(fā)生并且存在單個高頻率替換,則該錄入可被當(dāng)作無效的。如果存在多個高頻率替換,則對有效數(shù)據(jù)的糾正可能是不明確的,并且可以類似于數(shù)據(jù)缺失那樣對其進(jìn)行量化。
假設(shè)字段具有有效值的枚舉集合之外的值。例如,性別字段是g而非m或f。不明確性的均分度量將認(rèn)為對于該錄入存在兩個替換。頻率度量將仍表明2個替換但是可能包含對m或f的偏向。在簡單的枚舉情況中,當(dāng)替換數(shù)量上沒有變化時,數(shù)據(jù)集合的不明確性度量從每錄入的不明確性度量乘以無效值的分?jǐn)?shù)的簡單乘積形成。
當(dāng)替換的數(shù)量上存在變化時,例如如果存在街道名被誤拼了,則不明確性度量將有助于對在數(shù)據(jù)中存在的不明確性進(jìn)行量化。頻率和錯誤模型度量應(yīng)該對于變體拼寫給出最可靠的結(jié)果。與不完整信息一樣,不明確性度量最終反映數(shù)據(jù)集合可以通過清理被改善多少以及仍將遺留多少不確定性。
在錯誤字段中錄入的數(shù)據(jù)也可以以類似方式量化。這里,可能存在關(guān)于數(shù)據(jù)放置事實上是否錯誤的額外的不明確性。在具有常見名值的姓的情況下,不清楚一種順序相對于另一個是否正確。知道常見名有多經(jīng)常存在于姓字段中有助于約束錯誤排序的姓名的問題可能的嚴(yán)重性。如果準(zhǔn)確的基準(zhǔn)(或者其他驗證器)可用,則可以獲得錯誤率的度量。在100,000個條目的數(shù)據(jù)集合中,可能存在500個其中存在是常見名的姓的條目,但是其中只有25個真正地被錯誤地排序。則錯誤率是25/500=1/20。即使不存在度量的錯誤率,知道只有500/100,000=1/200的易受該問題損害的條目提高了人們對該數(shù)據(jù)的信心。
對姓名字段的其他感興趣的檢查將是知道何時:a)名和姓都是常見名,b)何時名是常見的姓而姓是常見的名,c)何時名是常見的姓而姓也是常見的姓。從姓名的基準(zhǔn)數(shù)據(jù)集合(或許數(shù)據(jù)集合自身)導(dǎo)出的不明確性的頻率度量可用于計算排序正確的可能性。例如,考慮姓名davidpaul。從david是名或姓的概率,以及類似的paul是名或姓的概率,可以計算david是名的可能性。
字段中,例如在地址中的某些重排序相對于被選擇的基準(zhǔn)數(shù)據(jù)集合是錯誤的,但是本身不是錯誤的,因為指定排序的標(biāo)準(zhǔn)或者較弱,或者不存在。這里,與基準(zhǔn)數(shù)據(jù)集合相比的特定地址排序的不明確性度量可以用于表明不同的排序不是嚴(yán)重的數(shù)據(jù)質(zhì)量問題,因為它們不將聯(lián)系(association)的不明確性引入數(shù)據(jù)。這是對在何處努力改善數(shù)據(jù)質(zhì)量的決策的重要輸入。
為了量化在自由文本字段中存在的基準(zhǔn)數(shù)據(jù)的量,人們可以對照被選擇的基準(zhǔn)數(shù)據(jù)集合將自由文本分解為在模糊搜索中使用的單詞。例如,假設(shè)公司期望產(chǎn)品id正存儲在發(fā)票的注釋字段中。通過使用注釋字段中的每一單詞來對照產(chǎn)品id表格做模糊搜索,可以找到注釋字段中存在的產(chǎn)品id的數(shù)量。更一般地,可以對照wfs文件(參考其他專利)搜索每一單詞以確定所有它或它的變體可能在其中出現(xiàn)的字段,以及具有什么樣的分?jǐn)?shù)比率。這給出了一個字段中的數(shù)據(jù)對照在其他字段中看到的數(shù)據(jù)的模糊交叉相關(guān)(這種方法也可以用來標(biāo)識已經(jīng)被放置在錯誤字段中的數(shù)據(jù))。
幾種基準(zhǔn)完整性問題都可以被量化。首先確證度量可以被定義為精確關(guān)鍵字對的分?jǐn)?shù),針對所述關(guān)鍵字對,被鏈接的數(shù)據(jù)事實上未被正確地鏈接。這個種類的確證只能在鏈接的兩側(cè)上都存在可比較字段(或者可比較字段可以通過額外聯(lián)接被帶到鏈接點)時才能做出。典型地,這是類似字段之間的比較,如被保持在多于一個數(shù)據(jù)庫中的客戶姓名和地址,其中鏈接關(guān)鍵字已經(jīng)在數(shù)據(jù)庫之間建立。當(dāng)將保持在數(shù)據(jù)倉庫中的數(shù)據(jù)與填充倉庫的源系統(tǒng)中的數(shù)據(jù)進(jìn)行比較時出現(xiàn)這個狀況。如果不同的源系統(tǒng)保持了矛盾的信息,或者如果它們被不一致地更新,則數(shù)據(jù)倉庫可能類似地與一個或多個源系統(tǒng)矛盾。針對數(shù)據(jù)倉庫與其源的一致性驗證將提供對企業(yè)數(shù)據(jù)質(zhì)量的新的且重要的檢查。
第二個檢查是尋找缺失或者孤立的鏈接,即在鏈接的另一側(cè)上沒有記錄的鏈接。模糊搜索可以確定是否存在另一個應(yīng)該被鏈接(缺失鏈接)或者未被鏈接(孤立的)的記錄。這些條件中的每一個的分?jǐn)?shù)的度量很重要。如果對鏈接的另一側(cè)上的記錄的匹配是不明確的,則不明確性度量可以將其量化。這形成了數(shù)據(jù)清理操作的基礎(chǔ)以便重新填充鏈接,其中這可以被唯一地完成,并且標(biāo)識哪些鏈接因其是不明確的而要求進(jìn)一步的調(diào)查。(下面將考慮部分成員資格的可能性)。
當(dāng)兩個數(shù)據(jù)集合包含相關(guān)的信息但是它們之間不存在關(guān)鍵字關(guān)系時,數(shù)據(jù)集合之間的模糊搜索或者聯(lián)接將找到數(shù)據(jù)集合之間的預(yù)期鏈接。每一預(yù)期鏈接的不明確性度量將指示數(shù)據(jù)集合之間的映射有多干凈(clean)。例如,在兩個公司合并時組合如兩個公司的客戶姓名和地址的主基準(zhǔn)數(shù)據(jù)時這將非常有用。同樣地,其可以用于合并企業(yè)的不同部分的基準(zhǔn)數(shù)據(jù)。這將是主數(shù)據(jù)管理方案的安排中重要的早期階段。創(chuàng)建主數(shù)據(jù)管理方案中的差距分析(gapanalysis)的部分是確定不同系統(tǒng)使用的現(xiàn)有基準(zhǔn)數(shù)據(jù)集合之間對準(zhǔn)(alignment)的質(zhì)量。系統(tǒng)之間的初始對準(zhǔn)是這種分析的副產(chǎn)品。擁有不明確性分析有助于隨后對為了協(xié)調(diào)(reconcile)系統(tǒng)將花費的額外工作進(jìn)行量化。
(g)聚類和部分成員資格
(1)創(chuàng)建模糊聚類
如我們前面提到的那樣,當(dāng)不存在關(guān)于如何將元素合并(coalesce)到組中的先驗指導(dǎo)時,使用一種原則或者算法來標(biāo)識組。這實際上很重要,因為在真實情況下,經(jīng)常不清楚哪個元素應(yīng)該擔(dān)任核心元素以吸引其他元素以便形成組。例如,在上面的客戶地址數(shù)據(jù)庫中的重復(fù)記錄的例子中,有時候公司不可能知道哪個記錄是真實記錄。下面的討論提出了可用來形成記錄的模糊聚類的幾個算法,其中,數(shù)據(jù)片將被視為相互關(guān)聯(lián)。
在上面提到的客戶地址例子中,存在六個和“johnsmith”相關(guān)聯(lián)的記錄:(a)johnsmithox26qt;(b)johnsmithox26qx;(c)johnsmithox26qy;(d)johnsmithox27qy;(e)johnsmithox26qt;(f)johnsmithox26qy。不知道哪個(些)記錄對應(yīng)于真實的家庭,公司可能對將上面的記錄分組為兩個或三個聚類感興趣,每一個聚類表示真實的家庭。以這種方式,公司可能能夠通過減少發(fā)送到虛假郵寄地址的郵件來減少郵件量。
可用來創(chuàng)建聚類的一個算法是找到包含指定距離內(nèi)的最大數(shù)量的元素的最大無交集(disjoint)子集。參考圖5說明這種方法。涉及的步驟在流程圖中示出。圖5也使用上面的客戶地址數(shù)據(jù)庫例子來詳述該算法。在對應(yīng)步驟的右邊展示了來自每一個步驟的結(jié)果。在這個實例中,指定的距離是兩個操作。
參考圖5中的流程圖,從最大無交集子集創(chuàng)建聚類的第一個步驟是:對于每一元素,對該元素的變體計數(shù)(502)。如上面所定義的那樣,元素的變體是距離該特定元素指定距離內(nèi)的元素。在客戶地址例子中,對于記錄a,存在三個在兩個操作的距離內(nèi)的記錄(b、c和e)。對于記錄b,存在兩個在兩個操作的距離內(nèi)的記錄(a、c)。對于c,有四個,對于d,有一個,對于e有兩個,并且對于f有兩個。
然后,選擇(504)具有最大量的變體的元素并使該元素及其變體成為由該元素標(biāo)記的組。在客戶地址數(shù)據(jù)庫例子中,記錄c具有最大量的變體,4。記錄c及其變體(a、b、d、f)形成了第一聚類。
接著,從所有元素集合去除(506)最大組的元素。在客戶地址例子中,這只留下了記錄e。
然后,在剩下的元素中,找到(508)具有最大量的變體的元素。這個步驟將生成第二個聚類。在客戶地址例子中,在第二個聚類中只有一個元素e。
繼續(xù)(510)直到所有元素都已經(jīng)被分組在聚類中為止。在客戶地址例子中,無需再進(jìn)一步,因為每一元素已經(jīng)找到其組。
在客戶地址數(shù)據(jù)庫的例子中,這個算法產(chǎn)生了兩個聚類,由a、b、c、d、f組成的組,和由e獨自組成的組。公司可以將每一個組中包含的記錄作為彼此的副本對待,并將這些記錄合并以減少郵件量。
可以對上面的算法添加某些調(diào)整。例如,記錄a和f距c和e是相同的距離。在上面算法中,分配記錄a和f作為c的副本是所述處理的人為產(chǎn)物,并且不一定指示記錄a和f更接近c而不是e。
一個調(diào)整可以是在聚類的表達(dá)式上標(biāo)注不確定性。例如,可以使用表達(dá)式c5-2來表示c的聚類,其包括記錄c及其變體,5指示記錄的總數(shù)并且-2指示不確定性??梢允褂帽磉_(dá)式e1+2來表示e的聚類,其包括記錄e及其變體,1指示在該組中的記錄的總數(shù),并且2指示不確定性。聚類的正不確定性反映出存在被分組到其他聚類的可能屬于這個聚類的元素。聚類的負(fù)不確定性反映出在這個聚類中的元素可能屬于另一組。
另一調(diào)整可以是把a和f添加到e的聚類。因此,組c具有記錄a、b、d、f,并且組e具有記錄a和f。但是,因為記錄a和f屬于兩個組,在所有組中的記錄的總數(shù)是8,比記錄的總計數(shù)多兩個。為了保持總計數(shù),可以使用部分成員資格。
當(dāng)在多單詞字段,如公司名上聚類數(shù)據(jù)時,構(gòu)建模糊聚類的第二種方法是適合的,其中,記錄之間的變化通過對短語而非單個單詞(或者如uk郵政編碼的整個字段)計分被評估。短語計分不僅把單詞的變體拼寫納入考慮,也考慮了單詞順序、缺失的單詞和單詞之間改變了具體單詞次序的插入。例如,給定公司名bankofamerica,下面示出了四種類型的需要被標(biāo)識和區(qū)別的名字變化:
1)bankofamrica(單詞的模糊匹配)
2)americabank(單詞順序,缺失的單詞)
3)bankamerica(缺失的單詞)
4)bankofsouthamerica(插入的單詞)
作為在短語上聚類的例子,假設(shè)銀行正試圖對屬于主客戶列表中相同的法律實體的所有帳戶進(jìn)行標(biāo)識。法律實體要由公司名稱、地址和公司注冊號(如果有的話)標(biāo)識。用于聚類的首要字段是公司名稱,因為其和法律實體高度相關(guān)并且總是被填充。地址是用來區(qū)別偶然地具有類似名稱的公司的次級字段。對于合法的實體標(biāo)識,預(yù)期公司注冊號是確定的,但是其未被充分填充而不能單獨使用。
模糊聚類操作通過標(biāo)識超聚類關(guān)鍵字開始,超聚類關(guān)鍵字將原始數(shù)據(jù)集合劃分為較小的子集,適當(dāng)?shù)剡x擇關(guān)于比較的大小以允許針對聚類成員資格比較所有的元素。具有不同超聚類關(guān)鍵字的記錄通過構(gòu)建將處于不同的聚類中。對基于地理的數(shù)據(jù),如地址,郵政編碼經(jīng)常是合適的超聚類關(guān)鍵字。具有匹配變體郵政編碼的記錄可以包括在超聚類中。具有非匹配郵政編碼的記錄被預(yù)期以高概率屬于不同的聚類,所以為了改善性能,當(dāng)計算聚類時通過引入超聚類關(guān)鍵字來排除它們。
在每一個超聚類內(nèi),數(shù)據(jù)按公司名稱字段的長度降序排序并按公司名稱升序排序,以便按可再現(xiàn)的順序?qū)⒆铋L的名字首先提供給聚類算法。使超聚類組中的第一個記錄成為第一個聚類的主記錄。每一后續(xù)記錄(這里稱作當(dāng)前記錄)通過將當(dāng)前記錄的公司名稱對照聚類的主記錄的公司名進(jìn)行計分來與每一現(xiàn)有聚類的主記錄進(jìn)行比較。如果得分超過猜測(suspect)匹配閾值,則所述聚類被添加到當(dāng)前記錄的猜測聚類的列表。在將當(dāng)前記錄與所有現(xiàn)有主記錄比較過以后,如果猜測列表為空,則使當(dāng)前記錄成為新聚類的主記錄。如果猜測列表只有一個條目,并且得分超過匹配閾值,則當(dāng)前記錄被添加到猜測列表上的聚類。如果猜測列表具有多于一個條目,則對照猜測列表上的每一聚類中的每一記錄對當(dāng)前記錄上的公司名稱計分。將當(dāng)前記錄添加到其具有超過匹配閾值的最高分?jǐn)?shù)的聚類。如果對于多于一個聚類中的記錄存在超過最高分?jǐn)?shù)的相等匹配,則當(dāng)前記錄被添加到第一個這樣的聚類。如果沒有分?jǐn)?shù)超過匹配閾值,則當(dāng)前記錄成為新聚類的主記錄。
這個算法具有兩個重要特征。因為以有利于第一個匹配聚類來決定與多個聚類的不明確匹配,所以某些聚類被以不明確成員相對地過填充(over-populate)。而且,記錄被提供給算法的順序影響具體的成員資格決定。關(guān)于公司名稱的值和長度的初始排序旨在通過建立固定的名稱順序來改善這一點。下面討論的部分成員資格的概念給出了更豐富的解決方案,它更準(zhǔn)確地反映了聚類成員資格的不明確性。
在下列的公司名稱集合中出現(xiàn)了不明確性成員資格的例子。
acmeservicesaustralialimited
acmeservicescanadalimited
acmeserviceslimited
在特定計分下,acmeservicesaustralialimited與acmeservicescanadalimited的計分是0.65,這在0.75的匹配閾值之下,從而這兩個記錄被放置在分開的聚類中。acmeserviceslimited對兩個聚類具有0.95的相等分?jǐn)?shù)。它變?yōu)閍cmeservicesaustralialimited聚類的成員,因為它首先遇到acmeservicesaustralialimited。
(2)部分成員資格
在前面部分的第一個例子中,記錄a和f既屬于聚類c也屬于聚類e。如果記錄在聚類中的每次出現(xiàn)都被計為一,則盡管只有六個記錄,記錄在聚類c和e中的總計數(shù)是8,五個在組c(c,a,b,d,f)中,并且三個在組e(e、a、f)中。在這個例子中,可以使用部分成員資格保持總計數(shù)。如果數(shù)據(jù)片屬于多于一個組,則該數(shù)據(jù)片的出現(xiàn)被計數(shù)為小于一,即分?jǐn)?shù)。但是該數(shù)據(jù)片的所有出現(xiàn)的和應(yīng)該仍舊是一以使總計數(shù)守恒。
在某些布置中,使用例如上面描述的不明確性的度量,元素在組中的部分成員資格可以定義成反映元素屬于該特定組的可能性。
例如,假設(shè)記錄a具有40%的概率屬于組c,并具有60%的概率屬于組e。則0.4的部分成員資格可以被分配給組c中的記錄a,并且0.6的部分成員資格可以被分配給組e中的記錄a。
類似地,假設(shè)記錄f具有10%的概率屬于組c,并且具有90%的概率屬于組e。0.1的部分成員資格可以被分配給組c中的記錄f,并且0.9的部分成員資格可以被分配給組e中的記錄f。
隨著部分成員資格被分配給記錄a和f,總計數(shù)是組c的計數(shù)(1+1+1+0.1+0.4=3.5)和組e的計數(shù)(1+0.9+0.6=2.5)之和,其為6。因此,保持了總計數(shù)。
由于部分成員資格的根源是對特定元素的成員資格的不確定性,所以每一個組的總成員資格僅以一定程度的不確定性可知,即誤差界限(marginoferror)。每一個組的總計數(shù)可以表達(dá)為總地和部分地由誤差界限調(diào)整的成員資格的和。這個界限可以由通過假設(shè)關(guān)于成員資格的所有不確定決定落入包含(inclusion)或者排除(exclusion)所獲得的最大和最小邊界值指示。這對應(yīng)于聚類中成員分布上的最差情況場景。這里,利用邊界值,c中的總成員資格將為3.5(3,5):這解讀為說預(yù)期的c的成員數(shù)量是3.5,而c具有至少三個成員并且至多五個成員。類似地,e中的成員資格將為2.5(1,3):預(yù)期的e的總成員資格是2.5,但是至少一個成員和至多3個成員。
屬于不同聚類的邊界值是相關(guān)的,盡管這里使用的表示法未指示它。數(shù)據(jù)集合中不同記錄之中的相關(guān)是可能的,并且當(dāng)計算邊界值時應(yīng)該被納入考慮。例如,有時候有可能(確定性或者其他可能性)知道a和f不在相同聚類中,而不知道它們屬于哪個聚類。
在上面的第二個例子中,通過將超過猜測閾值而匹配主記錄的所有記錄和每一個聚類相關(guān)聯(lián),特別是當(dāng)存在和多于一個聚類的不明確匹配或者猜測匹配時,可以提高聚類的質(zhì)量。應(yīng)該對照每一個猜測記錄來記錄匹配的質(zhì)量,并利用不明確性度量對匹配的質(zhì)量進(jìn)行量化。利用其部分成員資格的度量標(biāo)記,部分成員在一個布置中將與完整成員分開保持。例如,聚類的成員可以按特定成員資格的降序列出(完整成員具有部分成員資格一)。
規(guī)則標(biāo)記應(yīng)該附著于每一個記錄,同樣它既能用于鏈接部分成員資格被一起確定的記錄,也能識別確定部分成員資格分配的規(guī)則、事件或決定。當(dāng)組合具有不同的部分成員資格的記錄時,這個規(guī)則標(biāo)記在調(diào)整部分成員資格時將會有用。
雖然從一個角度,部分成員資格反映了出自成員資格的不確定性的不明確性,但是從其他角度,部分成員資格只是成員資格在多個聚類之中的簡單分配,如在為兩個部門工作的雇員例子中那樣。在不確定的情況下,預(yù)期信息狀態(tài)上的變化將改變成員資格分配。或者,可以簡單地將部分成員資格作為決定性的接受。將分?jǐn)?shù)作為實數(shù)接受沒有成本。
當(dāng)部分成員資格表示元素屬于不同聚類的可能性時,部分成員資格總是非負(fù)的,并且屬于不同聚類的元素的部分成員資格的和應(yīng)該是一。
但是,部分成員資格在某些布置中可以是負(fù)的。但是屬于不同聚類的對象的部分成員資格的和仍必須限制是一。
在某些布置中,元素的部分成員資格可以定義為元素和主體之間的距離的函數(shù),或者元素和主體之間的匹配得分的函數(shù)。如上所述,從模糊分?jǐn)?shù)構(gòu)建部分成員資格的一個方法是通過不明確性度量。不同的模糊得分反映出元素和主體之間的不同距離,從而反映出不同的不明確性度量。注意,模糊得分反映出變體和主體之間的相似性,并且經(jīng)常并不和概率相同。
(h)模糊數(shù)據(jù)操作
(1)存在部分成員資格時的過濾
將選擇標(biāo)準(zhǔn)應(yīng)用于對共享公共屬性的記錄的子集進(jìn)行隔離經(jīng)常是有用的。例如,在國際記錄的數(shù)據(jù)集合中,來自特定國家的記錄可以被選擇。選擇操作(有時候稱作“過濾”)不被視為基于關(guān)鍵字,因為在確定選擇的表達(dá)式中使用的字段無需是關(guān)鍵字。當(dāng)允許記錄具有多個聚類中的部分成員資格時,過濾可能導(dǎo)致某些部分成員要被丟棄。結(jié)果是和跨過被選擇子集的記錄相關(guān)聯(lián)的總成員資格分配可能小于一(unity)。對此的解釋是總分配對照選擇的子集外部的替換來度量選擇的子集中的成員資格。
假設(shè)acmeserviceslimited對于包含acmeservicesaustralialimited的組具有0.5個分配,并且對于包含acmeservicescanadalimited的組具有0.5個分配。acmeserviceslimited跨過整個數(shù)據(jù)集合的總分配是1.0。如果施加過濾以便只保留與canada相關(guān)聯(lián)的記錄,則acmeserviceslimited將在作為結(jié)果的數(shù)據(jù)集合中具有總分配0.5。這指示acmeserviceslimited有50%的機(jī)會在canada子集中,相對于不在canada子集中的50%的機(jī)會的替換。
(2)按照關(guān)鍵字和部分成員資格的并行分區(qū)
在并行處理中,可以基于關(guān)鍵字的值將記錄分配給不同的處理分區(qū)(有時候稱為“按關(guān)鍵字分區(qū)”)。當(dāng)允許記錄具有不明確聚類成員資格時,可以關(guān)于與每一個聚類相關(guān)聯(lián)的關(guān)鍵字來完成分區(qū)。在這個分區(qū)方案下,在與給定記錄相關(guān)聯(lián)的分區(qū)內(nèi)的總分配可以小于一。對其的解釋類似于過濾:其參照不在分區(qū)中的替換來對將記錄分配到該分區(qū)進(jìn)行度量。
假設(shè)acmeserviceslimited對于包含acmeservicesaustralialimited的組具有0.5個分配,以及對于包含acmeservicescanadalimited的組具有0.5個分配。按照關(guān)鍵字的分區(qū)操作可以將包含acmeservicesaustralialimited的組分配到一個分區(qū),并將acmeservicescanadalimited分配到另一分區(qū)。與acmeserviceslimited記錄相關(guān)聯(lián)的后者分區(qū)中的總分配是0.5,反映其與acmeservicescanadalimited聚類的關(guān)聯(lián),相對于其在其他分區(qū)中的0.5的替換。
常見數(shù)據(jù)操作的并行版本可以由其在單個分區(qū)內(nèi)的行為定義,并且不在分區(qū)之間進(jìn)行溝通。當(dāng)針對一個記錄的分區(qū)內(nèi)的總分配小于一時,將按這里定義的意義解釋。
(3)上卷和部分成員資格
上卷操作將來自各個記錄層次的數(shù)據(jù)匯集或者匯總到組層次。在精確關(guān)鍵字情況下,關(guān)鍵字組定義為共享公共關(guān)鍵字(值)的記錄的集合。在聚類的情況下,組定義為其成員由比較測試確定的記錄的集合,具有一個或多個記錄可能是一個或多個組的成員的可能性。
聚類組中的相加(additive)(以及相乘,例如通過對數(shù)相加)數(shù)值匯集(numericalaggregation)(有時候稱為“計算相加度量”)作為使用對于權(quán)重的分配度量的加權(quán)匯集來完成。通過計算替換的(未加權(quán))匯集來計算邊界值,其中所有具有對所述集合的部分分配的記錄或者被包括在該集合中,或者被從該集合排除。下列記錄的列表是基于公司名的聚類組
確定聚類中的總計數(shù)的上卷是加權(quán)和
80*1.0+60*1.0+100*0.5=190
邊界值為
(排他)80*1.0+60*1.0+100*0.0=140,
(包含)80*1.0+60*1.0+100*1.0=240
聚類組中的總計數(shù)的結(jié)果可以被表達(dá)為190(140,240)。
通過考慮具有部分分配的記錄或者被包括或者被從集合排除的極端情況完成非相加匯總。分配度量可以經(jīng)常用于將置信度(confidence)分配給通過包括部分成員獲取的結(jié)果。例如,記錄可以在聚類組內(nèi)關(guān)于某個次級關(guān)鍵字排序,并且上卷可以確定哪個記錄是排序順序中的第一個。下列列表關(guān)于計數(shù)按降序?qū)ο惹暗挠涗浟斜砼判?/p>
在這個排序順序中確定該聚類組中的第一個記錄(即最大計數(shù))的上卷給出了邊界結(jié)果:
可以向包含結(jié)果提供0.5的分配度量以指示和包含結(jié)果相關(guān)聯(lián)的置信度。在這個例子中,排他結(jié)果可以被視為最差情況結(jié)果:最大是至少80。
存在部分成員資格時的上卷操作可以并行進(jìn)行。為了看到這點,首先考慮相加數(shù)值匯集。這是加權(quán)和。這樣的和可以被分解為被單獨計算然后進(jìn)行組合的部分和。每一個部分和是可在其自己的并行分區(qū)中計算的加權(quán)和。這就是相加上卷的并行化。
相加和非相加上卷的排他邊界的計算是可并行的,因為按定義所有的部分成員被排除。因此,計算簡化為可并行化的一般上卷(大多數(shù)情況下)。
在某些條件下包含邊界的計算是可并行的,以防止包含的雙重計數(shù)。對于聚類內(nèi)的上卷,每一部分成員只在該聚類內(nèi)出現(xiàn)一次。因此包含邊界可以作為聚類內(nèi)的部分和的和來計算而不對任何成員進(jìn)行雙重計數(shù)。
如果跨聚類執(zhí)行上卷,則可能存在來自出現(xiàn)在不同聚類中的相同記錄的貢獻(xiàn)。對于相加度量這是可以的,因為與記錄的每一實例相關(guān)聯(lián)的權(quán)重相加以給出新的總體權(quán)重。但是對于包含邊界,每一個記錄只應(yīng)該被包括一次。一般地,這要求以某種方式追蹤哪些記錄出現(xiàn),并且這個操作不可并行化。
然而,如果在聚類之前各個記錄被例如rec_key的關(guān)鍵字標(biāo)識,并且(聚類后)數(shù)據(jù)關(guān)于rec_key進(jìn)行并行分區(qū),則所有具有相同rec_key的記錄將出現(xiàn)在相同分區(qū)中。即使被跨聚類進(jìn)行,在這個分區(qū)內(nèi)的上卷也可以正確地計算包含邊界,因為所有相關(guān)記錄都存在。然后跨分區(qū)的包含邊界可以被安全地跨分區(qū)組合,因為沒有個別記錄在多于一個分區(qū)上具有實例,所以不存在雙重計數(shù)的可能性。
(4)搜索
在精確數(shù)據(jù)操作中,使用精確關(guān)鍵字。例如,在搜索操作中,使用關(guān)鍵字并且檢索所有精確匹配該關(guān)鍵字的記錄。在模糊數(shù)據(jù)操作中,使用模糊關(guān)鍵字。
在某些布置中,模糊操作作為一系列精確數(shù)據(jù)操作來執(zhí)行,如下面使用搜索操作作為例子所示。
在上面的客戶地址數(shù)據(jù)庫例子中,公司對找到所有已經(jīng)被發(fā)送到名為johnsmith的人的未決郵包感興趣。搜索操作可用于該目的。可以使用兩部分關(guān)鍵字“johnsmith;ox26qt”執(zhí)行搜索操作,其中郵政編碼“ox26qt”是和johnsmith相關(guān)聯(lián)的正確郵政編碼。然而,這個精確搜索操作將不會檢索那些發(fā)送到j(luò)ohnsmith但是卻由于郵政職員進(jìn)行錄入時所犯的排字錯誤而錯誤地和關(guān)鍵字“johnsmith;ox26qx”或“johnsmith;ox26qt”相關(guān)聯(lián)的未決郵包。
為了克服這個限制,可以使用與模糊關(guān)鍵字相關(guān)聯(lián)的模糊搜索。模糊關(guān)鍵字是包括主關(guān)鍵字加所有落入該關(guān)鍵字的指定距離內(nèi)的變體的關(guān)鍵字的集合的其中之一。在上面的客戶地址例子中,在未決郵包搜索中使用的模糊關(guān)鍵字可以定義成包括主關(guān)鍵字“johnsmith;ox26qt”加上落入兩個操作的距離內(nèi)的所有變體。
在某些布置中,關(guān)于模糊關(guān)鍵字(主體johnsmithox26qt加上四個變體ox26qx,ox26qy,ox26qy和ox26qt)的模糊搜索操作可以用下列方式執(zhí)行。在步驟一中,關(guān)于主關(guān)鍵字“johnsmithox26qt”執(zhí)行精確搜索。然后,在步驟二到步驟五中,關(guān)于是模糊關(guān)鍵字一部分的變體執(zhí)行四個精確搜索。在最后的步驟,步驟6中,組合從上面步驟一到步驟五檢索到的結(jié)果。組合的結(jié)果是使用模糊關(guān)鍵字的模糊搜索的結(jié)果。
當(dāng)在如公司名稱或者地址的多單詞字段上搜索時,可能不可能預(yù)先確定該字段的變體的集合供前面的過程直接使用。可以采用兩個替換的策略。假設(shè)搜索正對所有與公司acmeservicesltdat2platerdrive,oxford相關(guān)聯(lián)的帳戶記錄進(jìn)行。在第一個策略中,使用單個單詞字段,例如郵政編碼ox26qt用作搜索關(guān)鍵字。所有具有關(guān)鍵字“ox26qt”或其固定距離內(nèi)的變體之一的記錄被精確搜索作為“預(yù)期匹配”或者“預(yù)期”而檢索到。每一預(yù)期的公司名稱和地址對照著查詢公司名稱和地址單獨地計分。
典型地,首先通過將組成地址的所有字段連接為單個串來比較地址。這具有幾個優(yōu)點。首先,其將來自不同來源的地址放入簡單的公共格式。由于短語計分函數(shù)容忍缺失的單詞或者單詞順序上的變化,所以保持源地址的元素的原始字段可能已經(jīng)被不完全或者不一致地填充并不要緊。同樣地,無需將地址解析為標(biāo)準(zhǔn)地址元素就達(dá)到了公共格式。典型地,解析要求準(zhǔn)確的基準(zhǔn)數(shù)據(jù),如郵政地址文件,其可能不可獲得,特別是在外國。而且,解析在計算上相對昂貴,所以避免解析使地址比較更好地執(zhí)行。如果聯(lián)接的地址字段的比較是非決定性的,則解析可以用作細(xì)化計分的后備嘗試。
作為結(jié)果的公司名稱和地址得分與(用戶指定的)匹配閾值和猜測閾值進(jìn)行比較。超過匹配閾值的得分指示兩個被比較的短語足夠相似以構(gòu)成匹配。超過猜測閾值的得分指示短語是類似的,但是不足夠接近以確定具有一定置信度的匹配。用于整個記錄是否是匹配的得分通過對用于各個字段或者字段的組合(即被連接的地址)的得分進(jìn)行組合來獲得。用戶對確定哪些信息必須一致并且多么接近的標(biāo)準(zhǔn)進(jìn)行指定。例如,如果郵政編碼一致,則可以允許城市字段不一致。(例如,在英國,在構(gòu)成有效地址方面上存在驚人的自由性,容忍城鎮(zhèn)名稱以及存在或不存在房屋號碼的變化)。
第二個策略是從一個或多個字段選擇單詞并使用這些單詞作為模糊搜索關(guān)鍵詞。這些單詞可以選擇為字段中的引導(dǎo)單詞,或者以其重要性為基礎(chǔ)來選擇這些單詞。從單詞或其變體之一在字段(或字段的組合)中的出現(xiàn)次數(shù)相對該字段被填充的次數(shù)的比率的負(fù)對數(shù)計算重要性。
一旦選擇了模糊搜索關(guān)鍵詞,則按照單詞在源記錄的索引中查找每一個單詞(及其變體)。這返回在給定字段中包含被選擇的單詞的源記錄的索引的列表。假設(shè)搜索關(guān)鍵詞是在郵政地址文件的任何地址字段中搜尋的“l(fā)ower”,“islip”。單詞“l(fā)ower”可能出現(xiàn)在機(jī)構(gòu)、街道名稱和城鎮(zhèn)字段中?!癷slip”可能只作為城鎮(zhèn)出現(xiàn)。關(guān)于每一個單詞進(jìn)行搜索給出了在其中找到該單詞的記錄的索引的列表。將兩個列表相交給出了包含兩個單詞(或其變體)的記錄的集合。這形成了預(yù)期記錄的集合。因為已知預(yù)期記錄包含特定數(shù)量的搜索單詞,所以它們事實上已經(jīng)預(yù)合格了。要求共同保持的搜索單詞越多,字段之間的分?jǐn)?shù)可能越高。
在將過濾應(yīng)用于以僅保留,例如,包含兩個或多個搜索單詞的記錄以后,完整記錄被檢索并相互對照進(jìn)行計分。作為結(jié)果的分?jǐn)?shù)按降序排序??梢葬槍ζヅ涞募嫌嬎悴幻鞔_性度量,并且這將增加對于對照基準(zhǔn)的查詢的匹配的質(zhì)量的特性進(jìn)行描述的信息。
(5)模糊聯(lián)接
模糊聯(lián)接與模糊搜索類似,只不過不是使用查找來檢索記錄,而是完成聯(lián)接,其中讀取整個基準(zhǔn)數(shù)據(jù)集合并對照查詢數(shù)據(jù)集合進(jìn)行處理。這可能對性能和控制都是有用的。如果基準(zhǔn)數(shù)據(jù)集合太大不能作為普通查找裝入存儲器,則可以將其作為保持在磁盤上的(可能被塊壓縮的)可加載查找(參考abinitio可加載查找)進(jìn)行存取。當(dāng)處理每一個搜索項時,從磁盤存取適當(dāng)?shù)牟檎冶砀竦捻撁?。如果需要存取基?zhǔn)數(shù)據(jù)集合的足夠大的部分(例如10%),則在單次中按排序順序讀取整個基準(zhǔn)數(shù)據(jù)集合證明比利用隨機(jī)訪問搜索進(jìn)行處理更有效率。這減少了由搜索處理執(zhí)行的重復(fù)磁盤存取。
從控制角度,如果搜索要求訪問多個基準(zhǔn)數(shù)據(jù)集合,則聯(lián)接可能是更方便的方式將來自基準(zhǔn)數(shù)據(jù)集合的數(shù)據(jù)合在一起用于計分。假設(shè)查詢包含在單個條目中的客戶姓名和地址,但是基準(zhǔn)數(shù)據(jù)保持客戶姓名,并且地址是單獨的表格??赡艽嬖诘谌齻€鏈接表格,該表格連接客戶姓名和地址。如果目標(biāo)基準(zhǔn)數(shù)據(jù)被保持在不同的表格中,則不可能直接比較通過對于搜索關(guān)鍵詞搜索索引文件而返回的記錄索引,因為索引涉及不同數(shù)據(jù)集合中的記錄。如果關(guān)鍵字被分配給查詢,則可以對照每一個數(shù)據(jù)集合做出單獨的搜索,并且關(guān)于查詢關(guān)鍵字的聯(lián)接將組合這些搜索的結(jié)果并允許取得預(yù)期并對預(yù)期計分。
如果將不明確性度量作為模糊聯(lián)接的輸出的一部分來計算,則有可能從聯(lián)接操作導(dǎo)致多個匹配,每一個匹配都具有部分成員資格。例如,假設(shè)不具有房屋號碼的地址對照郵政地址文件聯(lián)接以提取郵政地址文件在該地址不具有記錄的機(jī)構(gòu)的名稱。在適當(dāng)街道上的郵政地址文件中的三個地址不具有機(jī)構(gòu),因此可以被組合用于標(biāo)識該機(jī)構(gòu)的目的。兩個不同的機(jī)構(gòu)acmeltd和standardcorp.在其他匹配地址存在。不明確性的均分度量將對等同出現(xiàn)的數(shù)量進(jìn)行計數(shù)。聯(lián)接的輸出將最初是五個記錄,每一個匹配地址一個。對該地址的機(jī)構(gòu)的后續(xù)上卷(以確定不明確性度量)將導(dǎo)致不明確性的均分度量,表明該機(jī)構(gòu)是銀行(3/5)、acmeltd(1/5)、standardcorp.(1/5)的可能性。然后,這個結(jié)果可以被歸一化到三個記錄,每一個具有不同的機(jī)構(gòu)和相關(guān)聯(lián)的部分成員資格。
查詢:在地址上聯(lián)接以提取機(jī)構(gòu)
查詢地址:lowerstreet,ox26qt
結(jié)果:
(6)排序和部分成員資格
當(dāng)成員資格是部分時對記錄安排順序的(模糊)排序的定義是簡單直觀的。對于具有不明確關(guān)聯(lián)的記錄,將用于每一替換的記錄與其分配(不明確性度量)一起創(chuàng)建。假設(shè)利用對照查詢記錄的聯(lián)接的輸出對先前例子中的基準(zhǔn)記錄排序。規(guī)則是部分成員資格在完整成員資格之后按成員資格的降序排序。在應(yīng)用部分成員資格之后,應(yīng)用其他字段上的子排序。因此,對照一個字段的部分成員資格領(lǐng)先較晚的關(guān)鍵字。這是為了保持應(yīng)用額外排序字段在建立的順序內(nèi)對記錄排序但不改變更高層次順序的原則。
排序{機(jī)構(gòu)部分;地址}
已經(jīng)施加了這個種類的模糊排序:基于機(jī)構(gòu)名可以進(jìn)行機(jī)構(gòu)的(排序的)模糊上卷而不必存儲臨時結(jié)果,直到看到所有數(shù)據(jù)為止。這是使用排序數(shù)據(jù)的原則之一:從而當(dāng)每一個關(guān)鍵字組完成時上卷操作可以完成。
模糊合并操作類似于模糊排序。它簡單地將安排順序的規(guī)則應(yīng)用于其輸入上的每一記錄以確定在排序順序中哪個記錄是下一個。假設(shè)上面的數(shù)據(jù)集合與下列一個合并
合并的數(shù)據(jù)是
合并{機(jī)構(gòu)部分,地址}:
(h):模糊數(shù)據(jù)操作的有用性:解決錯誤和不確定性并保持會計誠信。
如在上面的模糊搜索例子中演示的那樣,模糊搜索操作可以搜索到使用精確關(guān)鍵字的常規(guī)搜索將錯過的記錄,例如那些包含排字錯誤的記錄。
仍如上面提到的那樣,當(dāng)數(shù)據(jù)片的分類依賴于未決的結(jié)果時,聚類或者部分成員資格可用于準(zhǔn)確地捕獲不確定性。在最接近的層次,可以將聚類或者部分成員資格看作等同于離散的非模糊操作的組合或者一系列離散的非模糊操作。但是幾步之差,聚類或者部分成員資格將允許更好地處理或者預(yù)計。在上面的機(jī)構(gòu)的年預(yù)算取決于關(guān)于該機(jī)構(gòu)是否有資格作為慈善機(jī)構(gòu)的未決的法院判決的例子中,可以基于結(jié)果有利或者不利的法院判決的概率來準(zhǔn)備年預(yù)算。
更具體地,可以如下預(yù)留年預(yù)算:
使用上面的公式來計算預(yù)留的納稅展現(xiàn)了該機(jī)構(gòu)更好的金融狀態(tài)的總體圖景,并且有助于上級管理的風(fēng)險評估。它也給予下游應(yīng)用更可靠的數(shù)字來信賴,允許,例如,市場分析員更好地預(yù)測該機(jī)構(gòu)的金融預(yù)期。
部分成員資格在保持會計誠信上也是有用的。例如,在abc公司的人力資源數(shù)據(jù)庫中,如果johnsmith在營銷部門和研發(fā)部門的成員資格均為0.5,我們看到他的醫(yī)療花費將不被雙重計數(shù)。
上面描述的方法可以使用用于在計算機(jī)上執(zhí)行的軟件實施。例如,軟件形成了一個或多個計算機(jī)程序中的過程,所述程序在一個或多個被編程或者可編程的計算機(jī)系統(tǒng)(其可以是各種架構(gòu),例如分布式,客戶端/服務(wù)器,或者網(wǎng)格)上執(zhí)行,每一個均包括至少一個處理器、至少一個數(shù)據(jù)存儲系統(tǒng)(包括易失和非易失存儲器和/或存儲元件)、至少一個輸入設(shè)備或者端口,以及至少一個輸出設(shè)備或者端口。軟件可以形成例如提供其他和計算機(jī)圖形的設(shè)計和配置相關(guān)的其他服務(wù)的較大程序的一個或多個模塊。圖形的節(jié)點和元素可以被實施為存儲在計算機(jī)可讀介質(zhì)或者其他符合存儲在數(shù)據(jù)庫中的數(shù)據(jù)模型的有組織數(shù)據(jù)中的數(shù)據(jù)結(jié)構(gòu)。
軟件可以在存儲介質(zhì)上提供,例如cd-rom,可由一般或者專用可編程計算機(jī)讀取,或者在網(wǎng)絡(luò)的通信介質(zhì)上傳遞(在傳播信號中編碼)到其被執(zhí)行處的計算機(jī)。所有功能可以在專用計算機(jī)上執(zhí)行,或者使用專用硬件,例如協(xié)處理器。軟件可以用分布式方式實施,其中由軟件指定的計算的不同部分被不同的計算機(jī)執(zhí)行。每一個這樣的計算機(jī)程序最好被存儲或者下載到可被一般或者專用可編程計算機(jī)讀取的存儲介質(zhì)或者設(shè)備(例如,固態(tài)存儲器或者介質(zhì),或者磁性或光學(xué)介質(zhì)),用于在存儲介質(zhì)或設(shè)備被計算機(jī)系統(tǒng)讀取時配置和操作計算機(jī)以執(zhí)行這里描述的過程。本發(fā)明系統(tǒng)也可以考慮實施為計算機(jī)可讀存儲介質(zhì),用計算機(jī)程序配置,其中如此配置的存儲介質(zhì)導(dǎo)致計算機(jī)系統(tǒng)以特定和預(yù)先定義的方式操作以執(zhí)行這里描述的功能。
已經(jīng)描述了本發(fā)明的許多實施例。盡管如此,應(yīng)該理解,不偏離本發(fā)明的精神和范圍可以做出各種修改。例如,上述某些步驟可以獨立于順序,因此可以按照與所描述的順序不同的順序執(zhí)行。
也要理解,前述描述旨在說明而非限制由所附權(quán)利要求限定的本發(fā)明的范圍。例如,上面描述的許多函數(shù)步驟可以按照不同的順序執(zhí)行而實質(zhì)上不影響總體處理。其他實施例在下列權(quán)利要求的范圍內(nèi)。