2014年2月12日 星期三

Lab12:建立知識庫

這個練習示範如何透過知識探索(knowledge discovery)來建立知識庫(KB),並且在知識庫中進行定義域的維護工作。

建立探索用的測試資料

通常知識庫會以知識探索的方式當做開端,由系統先幫我們探索符合定義域的值。

為了執行知識探索,底下我們先建立一個測試資料,內容包含所有可能的 CountryRegion、StateProvince、City 資料。

DQS_STAGING_DATA 資料庫中建立以下檢視,用以取得 AdventureWorksDW2012.DimGeography 資料表中的所有 CountryRegion、StateProvince、City 可能資料。

CREATE VIEW dbo.vCountryStateCity
AS
SELECT DISTINCT
	EnglishCountryRegionName AS CountryRegion,
	StateProvinceName AS StateProvince,
	City 
FROM 
	AdventureWorksDW2012.dbo.DimGeography;

建立知識庫(KB)

接下來的練習將以上面所建立的測試資料當做探索對象,以便建立知識庫。

1. 新增知識庫

在[Data Quqlity Client]的[知識庫管理]項目中[新增知識庫]。

2. 使用[知識探索]活動

將知識庫的活動設定為[知識探索]。

3. 設定探索資料來源

4. 加入定義域(Domain)

在[對應]頁籤中,你要針對你要探索的資料欄位,設定一個相對應的定義域來記錄。
在這個例子中,我們針對來源資料中的三個資料行,都設定一個相對應的定義域。

依照下表新增三個定義域設定:

定義域名稱資料類型使用前置值字串標準化啟用拼字檢查停用語法錯誤演算法輸出格式語言
CityString V英文
StateString V英文
CountryString V英文

設定完成畫面

以上三個定義域,我們都不使用拼字檢查,而且都停用語法錯誤演算法。

5. 開始探索

探索結果:

6. 管理定義域值(domain value)

在[管理定義域值]功能頁中,可以看到探索活動幫我們在每個定義域中都找到了數個定義域值

你也可以手動加入定義域值

下圖中,在 City 定義域中,加入一個 Munich 定義域值,並將[類型]欄位設定為[錯誤],[更正為](Correct To)欄位輸入 München

7. 完成

執行[完成]。由於我們還要在下面練習中繼續維護這個知識庫,所以選擇暫不發行。

如何刪除知識庫

編輯定義域

在上面的練習中,我們已經利用知識探索的協助,建立了知識庫,並且包含了三個定義域。 接下來將練習如何在知識庫中,直接手動編輯定義域,並且定義他們的比對規則。

1. 開啟資料庫

2. 使用[定義域管理]作業

先選擇前一個練習所建立的知識庫,再由加下角的選取活動中,點選[定義域管理]。

3. 建立定義域

這個步驟中,我們將另外建立四個定義域。

依下表內容建立其他四個定義域。

定義域名稱資料類型使用前置值字串標準化啟用拼字檢查停用語法錯誤演算法輸出格式語言
StreetAddressString 英文
BirthDateDate   英文
OccupationString 英文
EmailAddressString 英文

結果如下:

4. 手動加入[定義域值](Domain Value)

接下來我們要來編輯這些定義域的相關內容。

首先我們在 City 中手動加入一個定義域值,當它的定義域值是 Muenchen 時,要更正為 München

設定完成後,資料會按字母重新排列順序。你可以找一下 München 這個定義域值,可以發現它共有二個同義字。

5. 設定[以詞彙為主的關聯](Term-Based Relations)

在 StreeAddress 定義域中,我們加入一個[以詞彙為主的關聯]。

[以詞彙為主]的意思是說,以詞彙做為更正的單位,不像上一步驟,是以整個定義域值更正。

例如下例中,我們設定將地址欄位中有出現「Ct.」一詞的地方,都更正為「Court」。

6. 設定[定義域規則](Domain Rule)

我們使用[定義域規則]來設定 BirthDate ,限定該定義域值必須大於 1/1/1900 。

7. 使用[拼字檢查]和[語法錯誤演算法]

在 Occupation 定義域屬性中,我們啟用[拼字檢查]和[語法錯誤演算法],來協助我們判斷 Occupation 資料中是否有併字錯誤或語法錯誤。

8. 設定 EmailAddress 的[定義域規則]

在 EmailAddress 定義域中,我們加入一個[定義域規則]。 並且在其建置規則中使用[值符合規則運算式](Value Matches Regular Expression)選項,並輸入運算式「\p{L}+\d\d@ADVENTURE-WORKS\.COM」。 然後再點繫[Add a New Condition],加入另外一個條件,並輸入運算式「\p{L}+\d@ADVENTURE-WORKS\.COM」。 並使用 OR 運算元。

9. 發行知識庫

最後按下[完成],就可以將知識庫發行了。

沒有留言:

張貼留言