《實體解析與信息質量》 - 3.1.3 Algebraic模型

代數模型(AlgebraicModel)

儘管一個ER處理流程的實現存在着一定的複雜性,譬如在Fellegi-Sunter模型和Swoosh算法中所描述的,它的結果可以簡單的用術語等價關係來描述,該術語是抽象代數中的基本概念(Rotman,2005)。代數模型首次提出作爲一個方法來爲實體解析實現信息質量指標(Talburt,Wang,Hess,Kuo,2007),並已經被擴展成第四章所提到的包括ER描述和基於實體的數據集成(EBDI)。

等價關係

等價關係是一個非常強大的代數結構,它可以將相等的概念概括成更寬廣的等價性概念。相等意味着兩個事物是完全一樣的,任何方面都完全相同,然而等價的意義是兩個事物不一定是完全相同的,但是它們在某些方面或特徵上的本質是相同的。幾何學中的一個簡單例子,考慮全等三角形的情況——頂點的角度完全相同的三角形。全等三角形並不都是完全相同的,因爲它們可以有不同的大小,但是它們都是相同的形狀。所以,在形狀方面,全等三角形被認爲是等價的,儘管它們不完全一樣——也就是,它們在形狀上是相等的。

定義3.1:集合S上的等價關係是,任何S的子集都需要滿足下面的條件(Rotman,2005):

1) a S ⇒(a, a) ∈ R                                                         自反性

2)(a, b) ∈ R ⇒ (b, a) ∈ R                                                                對稱性

3)(a, b) ∈ R and (b, c) ∈ R ⇒ (a, c) ∈ R                     傳遞性

 

以上三種條件是相等和等價關係的一個直觀要求。一個事物與自身完全相同,並且如果兩個事物完全相同,那麼表達它們的恆等性的順序並沒有區別,也就是說第一個事物等同於第二個事物和第二個事物等同於第一個事物,這兩種說法是相同的。最後,如果第一個事物等同於第二個事物,第二個事物等同於第三個事物,那麼必須遵循第一個事物與第三個事物也同樣是相等的。

另一個關於等價關係的例子,集合S={a,b, c},那麼

S X S = {(a, a), (a, b), (a, c), (b, a), (b, b), (b,c), (c, a), (c, b), (c, c)}

 

現在取S X S的子集R,由以下五對組成:

R = {(a,a), (a, c), (b, b), (c, a), (c, c)}

 

S X S的任何子集都與S有聯繫,但是上面這些關係只有滿足定義3.1中的自反性、對稱性和傳遞性,纔是在S中的等價關係。這三個條件中的每一個都必須通過測試來決定R是否真正在集合S中是等價關係。

自反性,就是測試是不是S中的每個元素x都能夠在R中找到有序對偶(x,x)。這個例子的答案是能夠找到,因爲S中的三個元素a,b, c,確實能夠在R中找到(a,a),(b, b),(c, c)。

對稱性是隻需要看R中的所有關係對(x,y),x和y是不同的。上面的情況下,只有兩個關係對(a,c)和(c,a),很明顯這個條件是滿足的,因爲R中的每個關係對(x,y),都能在R中找到顛倒對(y,x)。

傳遞性有點難發現,它要求在R中找到關係對(x,y)和(y,z),第一對的第二個元素與第二對的第一個元素是相同的。發現這種情況時,就必須滿足由第一對中的第一個元素和第二對中的第二個元素組成的關係對(x,z)也能夠在R中找到。不管是x=y還是y=z,該條件都是滿足的。在這個例子中,只有兩種情況是有效的,一個是(a,c)和(c,a)的情況,問題是(a,a)是否在R中,答案是在。另一種情況是(c,a)和(a,c),問題是(c,c)是否在R中,答案當然也是在的。因此R滿足定義3.1中的三個條件,所以它是S上的等價關係。

注意到只有自反性條件要求R必須包含所有元素對,如果集合S有N個元素,那麼R必須也至少有N個元素,如(a,a), (b, b),….等等。R中所以關係對必須滿足定義3.1中的自反性條件。作爲一個必要條件,僅包含形如(x,x)的關係對是等價關係的一個充要條件,因爲在這種關係下對稱性和傳遞性是絕對滿足的。因此,對於任何有N個元素的集合S,最簡單的等價關係是隻有N個形如(x,x)的有序對偶組成的集合。

 

等價類和分區

定義3.2:假設一個集合R,R是集合S上的等價關係,那麼


被叫做a的等價類,


代表R中所以等價類的集合。

一個元素的等價類簡單來說就是通過等價關係與S相關的所有其他元素。用之前的例子來說,


那麼


注意不是每個S中的元素都可以生成不同的等價類。在上面的例子中,元素a和c都生成了相同的等價類。事實上,滿足下面的條件這種情況時很容易發生的。

定理3.1: 假設一個集合R,R爲集合S上的等價關係,那麼



換句話說,如果S中的兩個元素是等價的,它們將會生成相同的等價類,同樣的,如果S中的兩個元素生成了相同的等價類,那麼它們也是有關聯的。所有論證都直接證實了定義3.1和定義3.2。等價類的另一個屬性是這兩個元素要麼是等價的,要麼是互斥的。

理論3.2:給定一個集合S上的等價關係R,那麼



這個理論簡單陳述了S中的兩個元素可以生成相同的等價類或者他們的等價類是互斥的。這個理論很簡單。假設等價類是由a和b生成的並且不是互斥的,那麼它們肯定有一個相同的元素——比如說,元素c。這必須遵循a和b都必須與c等價。根據傳遞性,a必須與b等價,由定理3.1可知,兩個等價類必須是相等的。當集合S子集的集合有以上三個屬性時,就被稱爲集合S的分區。定義3.3對這些屬性給出了一個更爲正式的稱述。

定義3.3:集合S的分區可以是任何一個如下定義的集合P:

1.

2.

3.

集合S的一個分區簡單來說就是就是S的非空子集的集合(條件1),該集合不重複(條件2),並且足夠覆蓋S中的所有值(條件3)。一個集合S上的等價關係R的所有等價類的集合總是由S的分區組成的。

定理3.3:假設R是集合S上的等價關係,那麼R在S上的一組等價類是S的一個分區,也就是:


由定義可知,每個等價類都是S的子集。當然,一個等價類不可能是空的。等價關係的自反屬性要求每個元素都與自身相匹配,因此每個等價類都必須至少包含生成該類的元素。同樣的原因,所有等價類的並集也都必須是整個集合S,因爲S中的每個元素都會在它生成的等價類中。由定理3.2可知,不同的等價類不會重疊。因此,一個集合上等價關係中所有等價類的集合是由該集合的分區得來的。

有趣的是,這個處理過程可以使反向的。下面的定理表明了一個集合的一個分區可以用來定義一個等價關係。

定理3.4:假設P爲集合S的一個分區,那麼集合R



R是S上的等價關係,此外


這個定理可以通過分區和等價關係的定義來證明。該定理的重要性是它們生成的等價關係和分區是可以互換的。換句話說,S上的等價類和分區之間有個一對一的關係,S上的每個等價類都唯一定義了S的一個分區,S的每個分區也都唯一定義了S的等價關係。

ER作爲一個等價關係

第一章介紹了術語等價實體引用——也就是,如果兩個引用指向相同實體,那麼它們就是等價引用。等價引用並不一定是完全相同的,但是從ER視角來說它們被認爲是一樣的。

定理3.5:如果E是作用於一組實體引用S上的一個ER流程,那麼下面的關係


定義了S上的一個等價關係。

這個理論簡單陳述了ER等價實體引用定義的一組引用上的一個關係就是一個等價關係。即,ER等價也是一個代數等價。證明該理論是否成立並不難。假設A,B和C都是S上的引用,由第一章中的唯一引用假設可知,A唯一指向實體X,那麼(A,A)∈R。所以ER等價是自反的。若(A,B)∈R,那麼A和B都指向相同的實體X。很明顯,A和B都指向X,由於引用的順序是不重要的,那麼(B,A)∈R。因此ER等價是對稱的。最後,假設(A,B∈R,並且它們都指向實體X,再假設(B,C)∈R,它們都指向實體Y。爲了滿足第一章中的唯一引用假設,必須遵循如果B指向實體X和實體Y,那麼X和Y必須是同一個實體,所以A和C都指向了同一個實體X,因此(A,C)∈R,ER等價是傳遞的。由上可知ER等價滿足定義3.1,即E定義了一個代數等價關係。

同樣的,區分ER作爲鏈接等價引用和兩兩鏈接的真實機制也及其重要的。根據上一節中R-Swoosh例子中所指出的,匹配方法M使r1和r3匹配,r3和r5匹配,但是r1和r5並不匹配。這意味着匹配函數M是不傳遞的,且自身並沒有定義一個R上的等價關係。然而,M與合併方法μ,加上R-Swoosh算法的應用解決了R合併成兩個不同的記錄或身份。最後一條記錄MaryJones是合併引用r2和r4所生成的,Edgar/Eddie是由引用r1,r3和r5合併所生成的。即使M本身並沒有定義R上的等價關係,最終的結果根據R-Swoosh算法應用R和μ到R上生成了一個R上的等價關係和兩個等價類{r1,r3,r5}和{r2,r4},這兩個等價類相當於算法的最後輸出結果。

不要將ER流程的輸出和真實情況相混淆也同等重要。事實上ER流程定義了一個等價關係只是ER流程操作一個工件的方式。很明顯,一個ER流程將一組引用劃分成一些不相交的子集(有時成爲集羣),該子集中的所有記錄通過流程被斷定爲指向相同的實體。劃分機制是爲每個引用單獨分配一個鏈接標識符,劃分的子集是那些有着相同標識符的引用。鏈接標識符可以被認爲是代表一個實體引用的子集。實際上ER流程也許是(通常是)在引用的分區上是錯誤的。外部的觀察者可能會觀察到兩個有着相同鏈接標識符的引用實際上是指向了不同的實體(falsepositive),或者兩個有不同連接標識符的引用指向了相同的實體(falsenegative)。然而,這確實改變ER流程通過將相同標識符的引用劃分成非空不相交的子集,從而創建一個引用集合的等價關係的事實。

雖然ER流程作爲定義一個基於一組實體引用上的等價關係是比較精確的,但是仍然有一些實際的問題需要考慮。首先,也是最重要的是在現實中,一些實體引用是很可能產生歧義的。這種歧義通常是由一組不完整的身份屬性或一組不完整的屬性值所造成的。例如,在一個比較大的學校,姓氏和名字屬性對於唯一識別一個學生是不夠的,因此需要加入更多的屬性。即使有了充足的屬性,如果屬性的值不存在或不完整也是可能產生歧義的,比如說,名字首字母用來代表名字而不是使用全名的情況。但是,由第一章中所稱述的唯一性引用假設可知,我們應該假設它最初是被創建了用來指向一個唯一的實體,也就是,實體引用並不是有意產生歧義的。

ER場景

ER流程的另一個可操作特性是它必須按照引用的時間順序和序列進行操作。不是所有的引用都可以同時得到解決,如果流程存在依賴關係,在不同序列中處理相同的引用集可能會產生不同的解決結果,也就是,可能會生成一個不同的等價關係和引用的分區。下面的一個ER場景的定義就考慮到了這個問題。

定義3.4:一個ER場景是triple(E, S, ω),E爲一個實體解析流程,S爲通過E處理的一個實體引用的集合,ω表示一個引用的處理序列。

定義3.5:相同引用集上的兩個ER場景(E1,S, ω1) 和(E2, S, ω2) 是等價的,當且僅當它們生成S上相同的分區。

由定理3.5可知,S上的分區和等價關係是可互換的,因此定義3.5也說明了當且僅當ER場景生成S上相同的等價關係,那麼它們也是等價的。定義3.5要求場景必須定義相同的引用集上。然而,不同的ER流程和不同事務處理序列組成的不同場景,也未必就不是等價的。

一個簡單的例子,S由前面一章中用來說明R-Swoosh算法的五個學生登記記錄組成的。表3.11展示了這些引用,並且由引用的順序即表中的行(行順序)定義了處理序列(ω1)。

S, ω1

First

Last

DOB

SCode

r1

Edgar

Jones

20001104

G34

r2

Mary

Smith

19990921

G55

r3

Eddie

Jones

20001104

G34

r4

Mary

Smith

19990921

H17

r5

Eddie

Jones

20001104

H15

表 3.11 使用行順序序列(ω1)的學生登記記錄

在這個例子中,假設匹配方法M和之前的相同,也就是,如果x和y代表兩個引用,只有當下面的一個或兩個條件滿足時,匹配方法M(x,y)返回結果爲真。

1.       (x.First= y.First) and (x.Last=y.Last) and (x.DOB = y.DOB)

2.       (x.Last= y.Last) and (x.DOB = y.DOB) and (x.SCode = y.SCode)

然而,與R-Swoosh算法不同的是,解決S的ER流程E定義如下:

1.       取S中的第一個引用x,給它分配標識符1,並將x添加到輸出;

2.       取S中的下一個引用以及輸出中的第一個引用;

3.       求值M(x,y)

a.       如果M(x,y)爲True

i.                    爲x分配與y相同的標識符

ii.                  將x添加到輸出

iii.                重複步驟2

b.       否則繼續處理輸出中的下一個值y

4.       如果M(x,y)對於輸出中的任何一個值y結果都不爲真,那麼

a.       新增一個值爲已經分配的最高的標識符值增1的標識符

b.       分配給x這個新增的標識符值

c.       將x添加到輸出

d.       如果輸出中有其他的引用需要處理,那麼重複步驟2,否則該流程結束

ω1代表表3.10中顯示的由S的行順序所定義的處理序列。引用集S,表3.10中S的行順序ω1,以及之前定義的ER流程E就創建了一個ER場景(E,S, ω1)。

執行(E,S, ω1)時,第一個引用r1被移到了輸出中,並且被賦了值1。下一個引用r2與輸出中的r1比較的結果是它們並不匹配,所以標識符值增長爲2,並且被賦給了r2,同樣的r2也被添加到了輸出中。處理r3時,由匹配方法M可知,它與輸出中的第一個引用是匹配的,因此r3被賦的標識符值也爲1,同樣的它也會被添加到輸出中。類似的,r4與r2匹配,因此被賦標識符值爲2。S的最後一個引用r5,與r1不匹配,但是它與r3匹配,所以它也獲得了值爲1的標識符並且被添加到了輸出中。表3.12顯示了執行(E,S, ω1)的最後結果。

S, ω1

Output (E, S, ω1)

First

Last

DOB

SCode

Ident

First

Last

DOB

SCode

r1

Edgar

Jones

20001104

G34

1

Edgar

Jones

20001104

G34

r2

Mary

Smith

19990921

G55

2

Mary

Smith

19990921

G55

r3

Eddie

Jones

20001104

G34

1

Eddie

Jones

20001104

G34

r4

Mary

Smith

19990921

H17

2

Mary

Smith

19990921

H17

r5

Eddie

Jones

20001104

H15

1

Eddie

Jones

20001104

H15

表3.12  執行ER場景(E,S, ω1)的結果

表3.11的結果也可以代表S的分區,分區類是由分組所有引用共享相同的標識符所形成的:

(E, S, ω1)={{r1, r3, r5}, {r2, r4}}

對於這個ER場景,因爲它是R-Swoosh算法,所以結果都是一樣的,除了E流程的每個等價類對應於R-Swoosh所生成的ER(R)中的單合併記錄。

現在考慮一個新的ER場景(E,S, ω2)使用與之前相同的引用集S和相同的ER流程E,但是ω2代表了表3.13中所定義行順序的不同的處理S的序列。

S, ω2

First

Last

DOB

SCode

r1

Edgar

Jones

20001104

G34

r2

Mary

Smith

19990921

G55

r5

Eddie

Jones

20001104

H15

r4

Mary

Smith

19990921

H17

r3

Eddie

Jones

20001104

G34

表3.13 順序爲ω2的學生登記記錄

在執行(E,S, ω2)時,第一個引用r1從輸出中移出並且被賦標識符值1.下一個引用r2與輸出中的r1比較之後發現並不匹配,所以標識符值增爲2並且被賦給r2,r2被添加到輸出中。當處理下一個引用r5時(根據順序ω2),情況跟之前不同,因爲r5與輸出中的r1和r2都不匹配。因此r5在被添加到輸出之前被賦標識符值3。而r4與r2匹配,被賦值2。表3.12中最後一個引用是r3,因爲r3與r1匹配,所以r3被賦標識符值1.表3.14顯示了執行完(E,S, ω2)後的最後結果。

S, ω1

Output (E, S, ω1)

First

Last

DOB

SCode

Ident

First

Last

DOB

SCode

r1

Edgar

Jones

20001104

G34

1

Edgar

Jones

20001104

G34

r2

Mary

Smith

19990921

G55

2

Mary

Smith

19990921

G55

r5

Eddie

Jones

20001104

H15

3

Eddie

Jones

20001104

H15

r4

Mary

Smith

19990921

H17

2

Mary

Smith

19990921

H17

r3

Eddie

Jones

20001104

G34

1

Eddie

Jones

20001104

G34

表3.14  ER場景(E,S, ω2)的結果

表3.14顯示的結果代表S輸出的一個分區

               

在上面的例子中,ER場景(E,S, ω1)和(E,S, ω2)並不是等價的,因爲它們沒有生成相同的分區。生成不同分區的原因是ER流程E對引用處理的順序是敏感的。

定義3.5:如果不管引用處理順序如何,ER流程分區的一組引用都是相同的,那麼可以認爲該ER流程是序列中立的。

R-Swoosh算法就是序列中立的ER流程的一個例子。如果W代表R-Swoosh的ER流程,那麼可以根據該例子給出:

               

分區相似度

正如ASM提供了一種方法來量化兩個字符串特徵的相似程度,ER場景在分區方面也提供了一種方法來衡量相似度,也就是,如果兩個ER場景的分區是相似的,那麼這兩個ER場景也是相似的。幾個衡量兩個分區間相似度的算法已經通過統計與聚類分析被研發出來了。典型的相似度測量用索引來表示,值爲0~1。主要考慮選擇用索引是因爲它在特定的應用程序中很大程度上提供了足夠的辨別能力(靈敏度)。兩個常用的指標統計聚類分析是RandIndex和AdjustedRand Index。然而,在聚類分析中,樣本大小通常比ER流程相對要小,ER流程通常處理數以百萬計的引用。不幸的是,Rand, Adjusted Rand,還有其他統計索引指標的計算做的並不是很好。也因爲這個原因,雖然計算密集型性較差但仍然有用的相似度算法,包括Talburt-WangIndex(Talburt, Wang, Hess, Kuo, 2007),也被開發出來了。

定義3.6: 如果A和B是集合S的兩個分區,A和B的分區重疊部分是集合V,即A分區類和B分區類的所有的非空相交的集合,也就是:

分區重疊的部分最好可以以可視化的表格的形式形成一個相交矩陣,矩陣的每一行代表單一分區類的第一個分區,每一列代表單一分區類的第二個分區,行和列交叉的值爲兩個類相交的元素個數。例如,表3.15就是之前討論的ER場景(E,S, ω1)和(E,S, ω2)所生成的兩個分區的相交矩陣。

A\B

{r1, r3}

{r2, r4}

{r5}

{r1, r3, r5}

2

0

1

3

{r2, r4}

0

2

0

2

2

2

1

5

                                                 表3.15 (E,S, ω1)和(E,S, ω2)的相交矩陣

表3.15中,只有三個單元格相交元素個數不爲零,也就是這兩個分區間有三個重疊部分。該相交矩陣所表達的信息對於計算這三個分區相似度算法(Talburt-WangIndex, Rand Index, 和AdjustedRand Index)來說是非常有用的。

Talburt-Wang Index   

Talburt-Wang索引(TWI)是三種計算中最簡單的。它並沒有使用到重疊的大小,只用到了重疊的數量。如何S代表一個集合,那麼|S|就代表了S的大小,也就是S中元素的個數。

定義3.7: 如果A和B爲集合S的兩個分區,那麼A和B的TWI相似度定義如下:


V由定義3.6所生成的A和B所重疊的集合。

表3.14的例子中:


定理3.5:如果A和B都是集合S的分區,並且V爲A和B所重疊部分的集合,那麼


證明: 因爲分區類不爲空,並且從A中給出的分區類X必須至少包含S中的一個元素。由於分區B必須覆蓋所有的S元素,所有X必須至少與B中的一個分區類重疊。因此對於A中的每個分區類至少有一個重疊,這就證明了定理3.5中的第一個不等式。相同的論證同樣適用於B可證明第二個不等式。

定理3.6:如果A和B都是集合S的分區,那麼


證明:只要集合S不爲空,那麼A和B就都不爲空。因此,


由定理3.5可知


因此


仍然使用定理3.5

               

定理3.7: 如果A和B都是S的分區,那麼當且僅當A=B時,TWI=1。

證明:如果A=B,那麼


現在假設A≠B,那麼肯定存在一個A的分區類X和一個B的分區類Y使X≠Y。這意味着X中一定存在着一個元素不在Y中,或者Y中一定存在着一個元素不在X中。所以X必須至少與B中的另一個分區類重疊,也就是X與B中至少兩個分區類重疊。因此,


由定理3.5可知


結合兩個不等式可知:

定理3.6和3.7表明TWI有一個好的相似度指數的特徵,它的指數值爲0~1,並且只有當值爲1時,兩個分區是相等的。

Rand Index 和Adjusted Rand Index

Rand Index(Rand,1971) 和Adjusted Rand Index(Yeung,Ruzzo,2001)通常使用索引來比較基於外部標準(Hubert,1985)的聚類結果。計算這些索引比TWI要複雜的多,而且涉及到計算成對結合的公式,也就是,給定N個事物,由N個事物組成的成對的總數(忽略順序)可以用C(N,2)表示,計算公式如下


注意到C(1,2) = 0 ,C(0, 2) = 0。

在交叉矩陣中,Vij代表A的分區類Ai和B的分區類Bj的交集的元素的個數。當Vij>0時,代表了分區之間有重疊。每一行的和Si*等於分區類Ai的元素的個數,每一列的和S*j等於每個分區類Bj中元素的個數。和Smn等於集合S中元素的個數。

Rand Index和AdjustedRand Index的計算可以用值x,y,z,和w表示,定義如下:


 

                                           

將這些公式應用到表3.14的交叉矩陣的數量中如下所示:


注意到這種情況下Talburt-Wang Index得出了一個與Rand非常相似的結果,但是計算過程就非常簡單。

其他的ER產出算法

Menestrina, Whang, 和Garcia-Molina(2010)討論了“成對”比較和“集羣級別”比較策略並且提出了一個新的策略叫做合併距離。成對算法與RandIndex算法在計算分區類(集羣)的對上非常相似。然而,在成對算法的情況下,只有不同的對被計算了。使用這個分區



如表3.14中所示,分區A生成了一個集合包含四個不同的對:


B生成了包含兩個對的集合:


Pair  Precision 可定義如下:


Pair Recall定義如下:


成對比較算法(pF)以Pair  Precision和Pair Recall算法的調和中項來定義,如下:


集羣級別比較(cF)有着與之相似的計算,除了在真實分區的交集中計算精度和回調分區類,也就是:


集羣級別比較結果TWI和RandIndex的值0.816和0.800非常的接近。

Brizan和Tanzel(2006)定義了一個ER流程效率的算法。該效率算法假定對於一個M引用的集合,它們指向的真實的實體的個數用N表示。對於每個實體,ER流程P的精度和回調與實體相關的可以計算出來。對於一個給定的實體E,精度Pw.r.t. E爲被P指派給E的正確的引用的數目,除以P指派給E的所有引用的數目。相似的,回調Pw.r.t E爲被P指派給E的正確的引用數目,除以在引用集合中所有正確的引用數目。ER流程P的效率爲每個實體的精度和回調的調和平均數。


效率算在特徵解析的情況下是非常有用的,這種情況下有着引用可以被關聯的特徵的固定集合。問題是大多數情況下特徵的集合是位置的,所以值N是未知的。以表3.14中的兩個分區A和B爲例,每個分區代表了ER流程的產出,一個表明了有兩個實體,另一個表面了有三個實體。

ER度量

除了分區相似度,還有一些其他的用於比較ER場景的有效的度量方法,例如:

·        引用數量

·        分區類的數量

·        類的平均大小

·        單個元素類的數量

·        最大類的大小

再次使用兩個ER場景,


表3.16表明了這兩個場景使用上面的方法的比較結果

ER一致性

儘管表3.16中的度量並沒有給出任何跡象表明哪個場景更加精確,但是它們提供了兩個場景的一個一致性的方法。這在很多情形下是非常有用的,一種情況下可以使用於比較兩個不同的ER系統作用於相同引用集的相對性能上,也許作爲購買決定的一部分。爲了防止引用被兩個不同的系統分類,會有一些引用對因爲這兩個系統而產生不同的鏈接決策。如果其中一些引用對可以確定哪個鏈接決策是正確的,那麼一些一般性的評價就可以確定那個系統可以提供更好的鏈接。

另一種相對有效的情況是對系統的修改。再一次,通過比較修改之前和修改之後的結果,該差異分析可以得出這些修改是否可以或多或少生成更精確的結果。這也是一個好的安全檢查,以確保程序的更改不會產生副作用或失控錯誤。

第三種情況是引用集修改了但是ER流程確是固定的。特別有趣的是數據清洗的過程應用於引用上的情況。例如,地址標準化的作用是什麼?是它彙集了更多的引用(即增加了平均引用類的大小)?這些新鏈接是 true positive還是false positive?在執行ER流程之前的其他一些ETL操作也可以提出同樣的問題。這也包括將引用集排列成不同情況下的序列,這些情況下ER流程都不是序列中立的。

ER精確性

在已知正確分區的情況下,ER場景的相似度和正確的分區提供了一個度量的精確性。當然,就像數據質量的精確性,如果所有情況都是已知的,數據清洗和ER流程就不是必要的了。在一些特定場景下,真正的鏈接只在某些引用集的子集中是已知的。這種情況下,真確分區的相似度索引與由ER流程產生的分區相比代表了流程精確性的一個評估。

合成數據實驗

正如第一章中所討論的,大多數ER流程只能訪問外部視圖的實體。當他們試圖從這些引用中組裝一個正確的內部視圖時,因爲內部視圖是未知的,所以他們很難評估結果的正確性。然而,在學術環境中,通過創建視圖來了解它的內部結構是可能的。這使得流程逆轉了,從綜合生成一組實體的內部視圖開始,然後創建這些實體的各種外部視圖。當一個ER流程用於組裝外部視圖時,那麼將ER結果與真正的內部視圖作比較來判斷其有效性是可能實現的。

2009年,作爲教學項目的一部分,一個稱之爲SOG(Talburt, Zhou, Shivaiah, 2009)的系統設計出來旨在爲20067個個體創建一個綜合入住歷史的集合。每個個體都創建了一個姓名,出生日期,性別還有身份證號。從公開可用的數據中使用真實的地址,合成的身份被隨機分配給了一組1到9的地址,爲每個個體創建了一個地址(入住)歷史。在有些情況行啊,一個男性和一個女性身份共享相同序列的地址。在共享地址的序列中,女性身份的姓氏改用爲男性身份的姓氏。每個入住記錄創建了一個完整的街道地址和10個數字的電話號碼,有些記錄還有郵政信箱地址。總共生成了84,515條入住記錄。

這個過程的第二步是,從入住記錄中創建四個不同格式的文件。每個文件只保留完整記錄的某些方面。例如,創建的一個文件包含第一個和中間的名字在一個字段中,姓氏在另一個字段中,一個地址(街道地址或郵箱地址),還有電話號碼。另一個文件包含其他一些信息比如說名字,生日,電話號碼。在這種情況下,兩個文件共享姓名和電話兩個共同的屬性,這就可能使它們鏈接到一起。

除了從入住率記錄的信息重新格式化,數據質量問題可以在這些文件中體現。包括確實值,損壞的值,各種變化的拼寫和縮寫(ST,St, Str, Street, STR等等)。每個入住記錄複製到至少兩個文件,甚至在一些情況下複製到了三個或四個文件。總的來說,這四個文件組成的20,067個實體的外部視圖包含了271,142條記錄。記錄生成了四個文件,它們也給出了記錄標識符。記錄標識符連同在第五個交叉引用的文件中的正確的實體標識符正確鏈接了四個文件中的每個記錄與它真實指向的實體。

作爲練習,這四個文件給被要求創建ER流程的學生用來鏈接等價引用。學生返回結果是一個不重複的271,142條記錄標識符和第二個實體標識符列表顯示了哪個記錄應該被組合在一起作爲分區類標識符引用——本質上是一個分區類標識符。使用交叉引用文件,正確實體標識符可以被添加到每個記錄中,允許學生分區與正確分區比較。表3.17中顯示了五組對該問題的處理結果,結果根據TWI排列,但是也顯示了其他的指標。

TRUE

Team 6

Team 4

Team 3

Team 1

Team 2

Team 5

TWI

1.00000

0.52853

0.49305

0.41863

0.41692

0.38091

0.36875

Class cnt

20,067

54,905

78,880

114,313

111,502

138,027

147,531

Overlap cnt

20,067

62,803

80,693

114,409

113,456

138,166

147,553

Avg. class size

13.5

4.9

3.4

2.4

2.4

2.0

1.8

Class Distribution

1

158

31,485

41,721

79,919

42,263

98,162

85,526

2

397

5,069

9,803

8,403

32,301

12,080

30,377

3

594

5,218

10,404

11,156

17,390

14,016

20,315

4

759

1,594

2,497

2,272

6,603

2,734

3,031

5

913

903

1,180

1,680

4,666

2,076

2,071

6

969

1,020

2,534

1,835

3,031

2,068

4,522

7

984

695

1,058

1,187

2,080

1,322

149

8

969

583

865

1,001

1,325

1,087

597

9

948

1,023

1,676

1,029

800

959

943

10

1,049

694

1,005

860

432

771

0

10+

12,327

6,621

6,137

4,971

611

2,752

0

Max. size

52

2,260

542

41

33

31

9

Rank

1

2

3

4

5

6

表3.17 使用合成數據作爲學生ER結果的度量

結果展示了典型的趨勢是在錯誤的falsenegatives方面小心謹慎,而不是falsepositives(超固結性),儘管第6組確實爲相同實體創建了一個單獨的2,260個引用的類。任何一組的最大平均類的大小隻有5,真實平均數與之相比超出了13。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章