Tích hợp thông tin thống kê dựa trên ontology

Một phần của tài liệu TÍCH HỢP THÔNG TIN KHÔNG THUẦN NHẤT VỀ NGỮ NGHĨA TRONG MÔI TRƯỜNG PHÂN TÁN (Trang 41)

Ontology trong hệ thống tích hợp thông tin đóng vai trò thuần nhất ngữ nghĩa của các đối tượng và các mối quan hệ trước khi thực hiện các truy vấn thống kê. Trong INDUS ([8],[10]), ontology được sử dụng nhằm tạo cho người dùng một khung nhìn chung cho tất cả các nguồn dữ liệu. Các giải thuật dựa trên các mô hình

thống kê (ví dụ, các mô hình NB) được thiết kế cho việc phân lớp protein dựa trên các nguồn dữ liệu SWISSPROT và MIPS.

K. McGarry et al. [41] chỉ ra phương pháp khai phá tri thức trong lĩnh vực sinh học dựa trên mạng Bayes và các ontology sinh học (như GO – Gene Ontology). Các ontology được xây dựng dựa trên các thông tin thu thập từ các nguồn dữ liệu. Sau đó, cấu trúc ontology được sử dụng để xây dựng mạng Bayes cho việc suy diễn và tiên đoán các tương tác của protein.

Ví dụ 2.8: Xét ví dụ về việc không thuần nhất ngữ nghĩa trong quá trình thu thập thông tin thời tiết của một vùng, được thực hiện bởi 2 tổ chức khác nhau: T1 và T2.

Weather

Temperature Wind Humidity Outlook

WindSpeed Sunny Rainy Cloudy Snowy

Hình 2.6. Ontology biểu diễn nguồn dữ liệu D1 của tổ chức T1

Hình 2.7. Ontology biểu diễn nguồn dữ liệu D2 của tổ chức T2

Weather

Temp Wind Humidity Prec

WindSpeed WindDir Rain NoPrec Snow

Light Rain Moderate Rain Heavy Rain Light Snow Moderate Snow Heavy Snow

Giả định rằng D1 chứa 20 bản ghi có liên quan đến Rainy và 30 bản ghi có liên quan đến Snowy. Nguồn dữ liệu D2 chứa 10 bản ghi liên quan đến LightRain, 20 bản ghi liên quan đến HeavyRain, 10 bản ghi liên quan đến LightSnow và 10 bản ghi liên quan đến HeavySnow.

Người dùng khi tìm kiếm thông tin về thời tiết, yêu cầu trả lời truy vấn: “Xác định tỉ lệ những ngày mưa?”. Sau khi tiến hành xây dựng các ánh xạ liên quan như

 

1 U 2 U

(Rainy:O Rain:O ,Rain:O Rain:O ), câu trả lời cho truy vấn có thể được tính toán trực tiếp như sau: số lượng những ngày mưa (20 + 10 + 20 =50) chia cho tổng số 100 bản ghi, được kết quả là 0.5.

Người dùng cũng có thể yêu cầu trả lời một truy vấn khác: “Xác định tỉ lệ những ngày mưa nặng hạt (HeavyRain)?”. Với những câu hỏi dạng này, không thể trả lời trực tiếp bởi không xác định được số bản ghi liên quan đến HeavyRain ở D1. Điều này chỉ có thể thực hiện khi việc xác định số bản ghi trên D1 dựa trên mức độ phân bố của D2. Ta giả định rằng tỉ lệ ngày HeavyRain trên những ngày Rain của D1 là bằng với tỉ lệ trên D2 (tức là bằng 20/30). Khi đó số bản ghi liên quan đến

Hình 2.8. Ontology người dùng OU(tích hợp của các ontology O1 và O2)

Weather

Temp Wind Humidity Precipitation

WindSpeed WindDir Rain NoPrec Snow

Light Rain Moderate Rain Heavy Rain Light Snow Moderate Snow Heavy Snow

HeavyRain ở D1 được tính bằng 20 40 (20)

30 3

   

   

   . Kết quả cho tỉ lệ những ngày

HeavyRain là 40 1 1 20 3 100 3               .

Để có thể xác định được câu trả lời cho truy vấn trên, ta đã giả định phân bố của D1 và D2 là tương tự nhau. Tuy nhiên, nếu trong trường hợp người dùng giả định rằng số lượng ngày mưa ở D1 không thể suy ra bằng việc dựa trên phân bố ngày mưa của D2 thì có một sự lựa chọn khác, đó là xác định số lượng bản ghi liên quan đến HeavyRain theo D2, khi đó kết quả là 0,2.

Việc trả lời các truy vấn dựa trên các ontology O1, O2, O và các ánh xạ liên quan. Tuy nhiên, trong một số trường hợp, câu trả lời cho các truy vấn thống kê không chỉ yêu cầu các ánh xạ giữa các ontology mà còn yêu cầu cả các giả định về thống kê (trong ví dụ trên, ta giả định rằng phân bố thống kê của D1 và D2 là bằng nhau). Sự đúng đắn của các câu trả lời phụ thuộc vào độ chính xác của các giả định liên quan đến thống kê.

Như vậy, dựa trên ontology, việc tích hợp các thông tin thống kê trên các nguồn dữ liệu không thuần nhất và phân tán trở nên đơn giản hơn. Tuy nhiên, một điểm khác biệt dễ thấy trong việc tích hợp các thông tin thống kê trong môi trường không thuần nhất đó là áp dụng các ánh xạ vào quá trình xác định thông tin thống kê của các nguồn dữ liệu. Xét thuật toán phân lớp dựa trên Naive Bayes cho các nguồn dữ liệu không thuần nhất để thấy rõ nhận định trên.

Thu thập thông tin thống kê trong giải thuật NB

Giải thuật phân lớp NB cho các nguồn dữ liệu phân tán không thuần nhất và phân mảnh ngang (dọc) bao gồm 2 bước cơ bản sau [10]:

Đầu tiên, tập các ánh xạ [45] được sử dụng để xác định các thuộc tính trong cơ sở dữ liệu tương ứng với các thuộc tính được đưa ra bởi người dùng (ví dụ như

( ) ( )

i j i U

Tiếp theo, đối với mỗi giá trị thuộc tính ( )

i

A U

vv O theo quan điểm của người dùng, tính các tần số trong những nguồn dữ liệu cụ thể Dj có chứa thuộc tính đó. Có hai trường hợp xảy ra đối với giá trị v:

 Nếu v nằm trong phạm vi xác định của Dj (có nghĩa là, giá trị v được xác định trên ontology của Dj) thì ta tính các tần số suất hiện của các nút con của v theo cách đệ quy. Ví dụ như ta muốn tính tần số của Rain trong D2, ta tính tần số cho LightRain, ModerateRain, và HeavyRain rồi cộng chúng lại.

 Nếu v nằm ngoài phạm vi xác định trong Dj, ta có thể coi đó là một giá trị không xác định. Tuy nhiên, ta cũng cần giải quyết bài toán cho các giá trị không xác định bằng một trong những cách sau:

 Nếu người dùng giả định sự phân bố thống nhất giữa các giá trị thuộc tính thì tần số có thể được tính theo một cách lan truyền từ nút cha đến nút con. Ví dụ như, nếu có 12 bản ghi liên quan đến thuộc tính Prec thì ta có thể mặc định rằng có 4 bản ghi liên quan đến Rain, 4 bản ghi liên quan đến NoPrec và 4 bản ghi liên quan đến Snow.

 Nếu người dùng giả định rằng các dữ liệu có cùng một phân bố xác suất thì có thể tính phân bố của nguồn dữ liệu này phụ thuộc vào phân bố của nguồn dữ liệu khác.

2.3 Hệ thống tích hợp thông tin thống kê trong môi trường phân tán

Trong môi trường phân tán và không thuần nhất về ngữ nghĩa, một hệ thống tích hợp thông tin thống kê cần phải xử lí được sự không thuần nhất về ngữ nghĩa và tính phân tán của dữ liệu trước khi thực hiện quá trình tích hợp dữ liệu. Hình 2.9 là sơ đồ khối được thiết kế cho hệ thống tích hợp thông tin thống kê trong môi trường phân tán và không thuần nhất (xem [8],[10],[14]).

Hệ thống được xây dựng dựa trên mô hình một số thuật toán học từ dữ liệu, bao gồm một số modul chính như: tích hợp các ontology, chuẩn hóa dữ liệu huấn luyện, thu thập thông tin thống kê và xử lí thông tin thống kê. Ban đầu, dữ liệu sẽ được chuẩn hóa cho phù hợp với yêu cầu của hệ thống (ví dụ, đối với hệ thống phân lớp dựa trên NB, phải rời rạc hóa một số miền giá trị thuộc tính quá lớn, hoặc loại bỏ giá trị không xác định). Sau đó, dựa trên các nguồn dữ liệu huấn luyện và kiểm thử các ontology liên quan sẽ được xây dựng và được tích hợp để có được một ontology chung nhất cho các nguồn dữ liệu.

Sau khi tích hợp, các ontology sẽ được lưu trữ trong cơ sở dữ liệu dưới dạng các ánh xạ. Các ánh xạ thể hiện mối quan hệ giữa các khái niệm trong miền dữ liệu với nhau. Dựa trên cơ sở dữ liệu ánh xạ, người dùng có thể dễ dàng thu thập thông tin thống kê từ các nguồn không đồng nhất thông qua các truy vấn dữ liệu. Kết quả của các truy vấn sẽ được gửi về bộ phận trung tâm. Dựa trên kết quả của các truy vấn và các thuật toán áp dụng (mô hình sinh giả thiết), nguồn dữ liệu kiểm thử sẽ được xử lí tại bộ phận trung tâm.

Đối với mỗi nguồn dữ liệu khác nhau, modul thu thập thông tin thống kê sẽ gửi các truy vấn phù hợp và nhận kết quả trả về từ nguồn dữ liệu đó. Thông tin được gửi đi trong hệ thống là các thông tin mang tính thống kê, không phải là dữ liệu thô, và phải tuân theo các ràng buộc của hệ thống và khả năng của đường truyền.

Truy vấn nguồn dữ liệu huấn luyện Ánh xạ Ontology Ánh xạ Bản ghi chưa xử lí Truy vấn Kết quả Thông tin thống kê Tích hợp ontology CSDL ontology Các nguồn dữ liệu huấn luyện

Nguồn dữ liệu thô Chuẩn hóa Thu nhận tt thống kê XỬ LÍ Nguồn dữ liệu kiểm thử Thuật toán/mô hình Nguồn dữ liệu kết quả

Rời rạc hóa, xử lí dữ liệu không xác định,…

Các công thức xây dựng giả thiết, các ràng buộc

dữ liệu Ontology Ontology Ontology Bản ghi đã xử lí

2.4 Kết luận

Chương này đã trình bày các vấn đề sau:

 Một số định nghĩa và các yêu cầu cần xây dựng ontology cho mục đích tích hợp thông tin trên các nguồn dữ liệu không thuần nhất và phân tán.

 Các định nghĩa hình thức về ontology, lược đồ, các nguồn dữ liệu mở rộng ontology và các phép toán thao tác trên các nguồn dữ liệu mở rộng.

 Tích hợp thông tin thống kê dựa trên ontology, mô hình tích hợp thông tin cho các nguồn dữ liệu không thuần nhất về ngữ nghĩa.

Các giải thuật phân lớp dựa trên mô hình thống kê được nghiên cứu và áp dụng trong nhiều lĩnh vực như trong ngân hàng, trong sinh học. Các giải thuật NB và NB tăng cường là những giải thuật được phát triển dựa trên công thức thống kê Bayes. Trong chương 3, tác giả sẽ trình bày cụ thể hơn về giải thuật NB và NB tăng cường.

Chương 3

PHÂN LỚP DỮ LIỆU TẬP TRUNG VÀ PHÂN TÁN

Trong chương này, tác giả sẽ trình bày một số thuật toán phân lớp dữ liệu trong môi trường tập trung và các thuật toán đã được cải tiến để áp dụng cho những nguồn dữ liệu phân tán.

3.1 Một số giải thuật phân lớp dữ liệu tập trung

Như đã trình bày trong chương 1, có nhiều kĩ thuật được sử dụng cho việc xây dựng các phân lớp như SVM, NB, NB tăng cường, cây quyết định, K lân cận gần nhất. Trong phần này, tác giả trình bày giải thuật thường được sử dụng trong các ứng dụng là NB, TANB. Những giải thuật được chấp nhận không chỉ bởi tính đơn giản trong quá trình cài đặt mà còn là hiệu quả đạt được khi áp dụng vào những bài toán thực tế (xem [20],[23],[49],[62]).

3.1.1 Phân lớp Naïve Bayes

Phân lớp NB là phân lớp thống kê được xây dựng dựa trên định lý Bayes với giả thiết các biến độc lập với nhau. Trong giải thuật NB, mỗi mẫu x được biểu diễn bởi một tập các giá trị thuộc tính, có nghĩa là x = a ,a ,...,a1 2 n , giá trị lớp của mẫu

x là một giá trị trong tập hữu hạn C = c ,c ,...,c1 2 m . Ta giả sử rằng, các giá trị thuộc tính hoàn toàn độc lập với giá trị của các lớp cho trước.

Tập dữ liệu huấn luyện D = (x ,y ),(x ,y ),...,(x ,y ) 1 1 2 2 n n  là tập dữ liệu đã được gán nhãn, trong đó xi là các mẫu dữ liệu huấn luyện, yi là giá trị lớp của mẫu dữ liệu tương ứng. Trong suốt quá trình học, một giả thiết sẽ được đưa ra dựa trên nguồn dữ liệu mẫu. Quá trình đánh giá là việc tiên đoán giá trị lớp cho mẫu x được đưa ra. Với x = a ,a ,...,a1 2 n , giá trị lớp c của mẫu x cần thỏa mãn:

 

j

MAP j 1 2 n

c C

Áp dụng định lý Bayes đối với đẳng thức (*) ta có:   j j 1 2 n j j MAP 1 2 n j j c C c C 1 2 n P(a ,a ,...,a |c )P(c )

c (x)= arg max = arg maxP(a ,a ,...,a |c )P(c )

P(a ,a ,...,a )

Với giả định các thuộc tính giá trị là độc lập với nhau, khi đó xác suất của các thuộc tính a ,a ,...,a1 2 n đối với giá trị lớp cj được tính bằng tích các xác suất thành phần của các thuộc tính, 1 2 n j n i j

i=1

P(a ,a ,...,a |c )= p(a |c ). Trong đó, các xác suất

j

P(c ) và P(a |c )i j được tính dựa trên tần suất xuất hiện của các giá trị trong nguồn

dữ liệu huấn luyện. Ví dụ, đối với lớp c, c c

t P =

t , tclà số lượng mẫu trong lớp c, còn t là tổng số lượng mẫu có trong dữ liệu huấn luyện. Cách tính xác suất này nhìn chung là hoàn toàn đúng đắn, tuy nhiên độ chính xác sẽ giảm trong trường hợp tc

không đủ lớn. Khi đó, cách tiếp cận dựa trên Bayes [41] sẽ sử dụng ước lượng dựa trên k (hay còn gọi là ước lượng Laplace), được định nghĩa là t +kc p

t +k . Trong đó, p là ước lượng ban đầu của xác suất mà chúng ta cần tính (ví dụ, p = 1

m nếu có m

lớp), k là hằng số hay còn được gọi là kích thước mẫu tương ứng.

Phân loại Naive Bayes Giai đoạn học:

Với mỗi lớp cj và mỗi giá trị thuộc tính ai, tính xác suất P(c )j

và P(a |c )i j dựa vào tần số của chúng trong dữ liệu huấn luyện.

Giai đoạn phân loại:

Với một trường hợp mới x = <a1, a2, ...,an> sẽ được phân loại như sau:   j n NB j i j c C i=1

C = arg maxP(c ) P(a |c )

Ví dụ 3.1:

Cho nguồn dữ liệu về chơi thể thao dưới dạng bảng sau:

Outlook Temperature Humidity Windy Class

Sunny Hot High False N

Sunny Hot High True N

Overcast Hot High False Y

Rain Mild High False Y

Rain Cool Normal False Y

Rain Cool Normal True N

Overcast Cool Normal True Y

Sunny Mild High False N

Sunny Cool Normal False Y

Rain Mild Normal False Y

Sunny Mild Normal True Y

Overcast Mild High True Y

Overcast Hot Normal False Y

Overcast Mild High True N

Y : Play N: Do not Play

Bảng 3.1 Nguồn dữ liệu PlaySport cho phân lớp Naive Bayes

Áp dụng định lý Bayes ta có: p(C|X) với X = <x1,x2,…,xn> là xác suất để bộ X thuộc vào lớp C. Ta có P(C=N|Outlook=Sunny,Temperature=Hot, Humidity=High,Windy=False) là xác suất để bộ <Sunny,Hot,High, False> thuộc lớp N. Ý tưởng cho việc này chính là gán lớp C cho mẫu X với xác suất p(C|X) là lớn nhất. Trong đó C là một trong các lớp đã được xác định sẵn, ở đây, C {N,Y}.

Thực hiện phân lớp cho ví dụ trên.

o Ta xác định các P(xi|C). với xi là các giá trị thuộc tính. C{N,Y}. o Ta tính xác suất cho từng giá trị của các thuộc tính Outlook,

Temperature, Humidity, Windy. o P(Y) = 9/14; P(N) = 5/14

Outlook P(Sunny|Y) = 2/9 P(Sunny|N) = 3/5 P(Overcast|Y) = 4/9 P(Overcast|N) = 0/5 P(Rain|Y) = 3/9 P(Rain | N) = 2/5 Temperature P(Hot|Y) = 2/9 P(Hot|N) = 2/5 P(Mild|Y) = 4/9 P(Mild| N) = 2/5 P(Cool|Y) = 3/9 P(Cool|N) = 1/5 Humidity P(High|Y) = 3/9 P(High|N) = 4/5 P(Normal|Y) = 6/9 P(Normal|N) = 1/5 Windy P(True|Y) = 3/9 P(True|N) = 3/5 P(False|Y) = 6/9 P(False|N) = 2/5

Với một mẫu x = <Rain,Hot,High,False>, ta cần xác định xem mẫu này thuộc lớp N hay lớp Y?

o P(X|Y) P(Y) = P(Rain|Y)  P(Hot|Y)  P(High|Y)  P(False|Y)  P(Y) = 3  2  3  6  9  0.010582

9 9 9 9 14

o P(X|N) P(N) = P(Rain|N)  P(Hot|N)  P(High|N) 

P(False|N)  P(N) = 2  2  4  2  5  0.018286

5 5 5 5 14

Như vậy, ta có thể phân X vào lớp N, nghĩa là không chơi thể thao.

3.1.2 TANB

Phân lớp TANB là phân lớp được phát triển dựa trên phân lớp NB. Nếu như phân lớp NB được xây dựng với giả định rằng các thuộc tính là độc lập với nhau thì

phân lớp TANB lại quan tâm đến sự ảnh hưởng lẫn nhau của các thuộc tính (xem [12],[23],[33])

Trong cấu trúc NB, chỉ tồn tại các cung đi từ thuộc tính class đến các thuộc tính khác, nghĩa là các thuộc tính độc lập với nhau trong việc đánh giá thuộc tính class. Các thuộc tính chỉ phụ thuộc vào thuộc tính class. Còn trong cấu trúc tăng cường (augmented) tồn tại các cung đi thuộc tính này đến thuộc tính kia.

Một cung đi từ thuộc tính Ai đến thuộc tính Aj chỉ ra rằng: ảnh hưởng của thuộc tính Aj lên việc đánh giá thuộc tính class cũng phụ thuộc vào giá trị của thuộc

Một phần của tài liệu TÍCH HỢP THÔNG TIN KHÔNG THUẦN NHẤT VỀ NGỮ NGHĨA TRONG MÔI TRƯỜNG PHÂN TÁN (Trang 41)