KHAI PHÁ DỮ LIỆU VÀ PHÁT HIỆN LUẬT KẾT HỢP TRONG CƠ SỞ DỮ LIỆU LỚN
Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN Bộ giáo dục và đào tạo Trờng đại học bách khoa Hà nội Trang 1 Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN Luận văn tốt nghiệp cao học ngành: Công nghệ thông tin Tên đề tài Khai phá dữ liệu và Phát hiện luật kết hợp trong cơ sở dữ liệu lớn Ngời hớng dẫn: Tiến sỹ Nguyễn Thanh Thuỷ Khoa Công nghệ Thông tin, ĐHBKHN Ngời thực hiện: nguyễn An Nhân Hà nội - 2001 Trang 2 Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN Lời nói đầu Một tổ chức thơng mại có thể sản sinh ra dữ liệu trong hoạt động kinh doanh mà để ghi chép lại có thể phải mất cả đời ngời. Tình trạng này càng tăng lên kể từ khi xuất hiện mạng toàn cầu Internet. Mỗi ngày có hàng trăm megabyte, thậm chí nhiều hơn thế dữ liệu đợc đa lên Internet. Trong tình trạng bội thực về dữ liệu nh vậy, chúng ta phải đối mặt với nghịch lý mới về khai thác dữ liệu: càng nhiều dữ liệu, càng ít thông tin. Hiện nay, cũng nh trong tơng lai, các nhà kinh doanh, nhà khoa học hoặc tổ chức thơng mại không thể đủ thời gian và khả năng đọc và diễn giải theo cách cổ điển tất cả các dữ liệu sang những thông tin cần thiết. Tuy nhiên, yêu cầu về thông tin không vì thế giảm đi, mà ngày càng trở nên cần thiết hơn bao giờ hết đã buộc chúng ta phải đề ra và thực hiện các chiến lợc và phơng pháp chọn, lọc và diễn giải dữ liệu thành các thông tin hữu ích. Nh thế, các tổ chức bị ngập chìm trong đống dữ liệu khổng lồ, đặc biệt trong một số lĩnh vực tài chính, ngân hàng, thị trờng chứng khoán và kinh doanh thơng mại, sẽ có cơ hội khai thác dữ liệu hiệu quả để phát triển. Mục đích của luận văn là nghiên cứu, tổng hợp kiến thức về khai phá dữ liệu trong khung nhìn của quá trình phát hiện tri thức đồng thời, chú ý đến dự báo phân lớp nhờ kỹ thuật cây quyết định và đặc biệt đi sâu tìm hiểu nhiệm vụ phát hiện luật kết hợp trong cơ sở dữ liệu lớn. Các thuật toán phát hiện luật kết hợp thờng thực hiện phân tích dữ liệu rất phức tạp, mất nhiều thời gian trong toàn bộ cơ sở dữ liệu. Vì vậy, tìm các thuật toán nhanh và hiệu quả để xử lý khối lợng dữ liệu lớn là một thách thức lớn đợc đặt ra. Luận văn trình bày các giải thuật tiên tiến dùng cho phát hiện luật kết hợp trong cơ sở dữ liệu lớn. Đó là các thuật toán Apriori, AprioriTid và phân hoạch. Thuật toán phân hoạch có số lần quét cơ sở dữ liệu ít nhất và khai thác đợc tiềm năng song song của các tài nguyên tính toán. Trong quá trình tìm hiểu các giải thuật phát hiện luật kết hợp, luận văn đã thiết kế, cài đặt và đánh giá thuật toán Apriori trên một cơ sở dữ liệu giả định gồm hơn 5000 bản ghi. Luận văn cũng tiến hành khảo nghiệm phần mềm ứng dụng thơng mại Oracle Data Mining Suite (Darwin) nhìn ở góc độ áp dụng các kỹ thuật khai phá dữ liệu. Luận văn gồm các nội dung chính nh sau: Chơng 1 giới thiệu chung về lĩnh vực khai phá dữ liệu và mô tả quá trình phát hiện tri thức trong cơ sở dữ liệu. Chơng 2 xét đến 10 nhiệm vụ của Khai phá dữ liệu. Chơng 3 trình bày các kỹ thuật khai phá dữ liệu. Chơng 4 trình bày về kho dữ liệu, kiến trúc và các khía cạnh thiết kế kho dữ liệu. Chơng 5 đi sâu hơn về nhiệm vụ phân lớp dựa trên cây quyết định. Chơng 6 giới thiệu các thuật toán hiệu quả phát hiện luật kết hợp trong cơ sở dữ liệu lớn. Chơng 7 là một thực nghiệm cho việc phát hiện luật kết hợp trên một cơ sở dữ liệu kinh doanh mặt hàng sách. Chơng 8 khảo nghiệm sơ bộ về một phần mềm Khai phá dữ liệu thơng mại sử dụng các kỹ thuật đã đề cập nh cây quyết định, mạng nơron và thuật toán k ngời láng giềng gần nhất. Phần mềm dựa trên nền tảng công nghệ Oracle mà tác giả đã có một thời gian dài nghiên cứu. Trang 3 Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN Lời cảm ơn Trớc hết , tôi xin chân thành cảm ơn Trờng Đại học Bách khoa Hà nội, Trung tâm Đào tạo và Bồi dỡng sau đại học và cơ quan nơi tôi đang công tác đã tạo điều kiện thuận lợi cho tôi trong suốt thời gian học và làm luận văn cao học. Tôi xin bày tỏ sự biết ơn sâu sắc đến Thầy giáo, Tiến sỹ Nguyễn Thanh Thuỷ, ngời đã tận tình hớng dẫn động viên trong suốt quá trình học và đặc biệt trong thời gian hoàn thành luận văn này. Tôi xin trân trọng cảm ơn các thầy giáo đã quan tâm, góp ý và nhận xét cho bản luận văn của tôi. Tôi cũng xin gửi lời cám ơn đến các thày, cô giáo đã giảng dạy cho tôi trong suốt thời gian qua. Nguyễn An Nhân Trang 4 Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN Chơng 1. Mở đầu 1.1 Học máy Luận văn nghiên cứu về lĩnh vực khai phá dữ liệu, liên quan đến kỹ thuật học của máy tính để phát hiện ra các thông tin mới và có ý nghĩa. ý tởng về học máy xuất phát từ mô phỏng các cơ thể sống, từ các cây cối hay con amip đến cơ thể sống phát triển nhất là con ngời. Cây học cách thu nhận ánh sáng tối đa bằng cách hớng các chiếc lá của mình về phía mặt trời, nhằm tự thích nghi với môi trờng sống. ở mức cao hơn, con ngời sản sinh ra ngôn ngữ để khai thác các qui luật của thế giới tự nhiên và xã hội. Lý thuyết về sự tiến hoá chỉ ra rằng các loài sống sót đợc sau quá trình tồn tại là những loài tự thích nghi tốt nhất với môi trờng sống. Học là một dạng thích nghi và là một đặc tính trung tâm của cuộc sống thực tế. Tuy nhiên, một câu hỏi đặt ra liệu các hệ thống máy tính có thể học đợc không và nếu học đợc, thì có thể thông minh ở mức nào. Có thể xem sẽ không có trí tuệ nhân tạo (Artificial Intellegence - AI) nếu không có học máy (Machine Learning-ML). Nh vậy, vấn đề khó khăn là làm thế nào để tạo ra các chơng trình máy tính thông minh theo kiểu của con ngời. Ngời ta tin rằng ít nhất phải mất 100 năm nữa cho đến lúc tạo ra một ch- ơng trình máy tính có thể chuyện phiếm về tin tức của một tờ nhật báo. Qua nhiều thăng trầm theo thời gian, nhiều kết quả nghiên cứu và thử nghiệm trong lĩnh vực trí tuệ nhân tạo đã không đem lại kết quả nhiều do kỹ thuật về perceptron, mạng nơron nhân tạo đầu tiên chỉ có thể học đợc những luật đơn giản. Khoảng 20 năm trở lại đây, ngời ta đã tìm ra nhiều phát hiện mới. Đó là các thuật toán tạo ra cây quyết định cho phân lớp các đối tợng, các kiến trúc mạng nơron mới và các cách tiếp cận khác nh các thuật toán di truyền dựa trên lý thuyết tiến hoá. Bên cạnh sự ra đời của những máy tính thế hệ mới mạnh, việc xây dựng các hệ thống thông minh hớng đến giải quyết các vấn đề thực tế đặt ra. Tuy nhiên, trí tuệ nhân tạo vẫn còn một khoảng cách xa so với trí tuệ con ngời. Một vấn đề khác lôi cuốn sự quan tâm nghiên cứu về học máy là lĩnh vực hệ chuyên gia. Từ lâu, ngời ta đã phát hiện ra rằng kiến thức chuyên gia trong một số lĩnh vực chuyên môn giống nh chẩn đoán bệnh, phân loại các mẫu bản đồ, có thể biểu diễn dới dạng các luật đơn giản nếu-thì nhằm tạo ra các chuyên gia nhân tạo có thể đa ra các lời khuyên trên những vấn đề chuyên môn nh chính sách bảo hiểm hay các luật thuế. Việc cần làm là xây dựng một tập luật đợc các chuyên gia sử dụng và lu chúng trong cơ sở tri thức của hệ chuyên gia. Tuy nhiên, vấn đề lớn là tìm ra các luật đúng. Tuy nhiên, ngay cả đối với các hệ thống đơn giản, không phải dễ dàng có đợc hàng nghìn luật. Việc thu thập tri thức để đa vào hệ chuyên gia gắn với quá trình phỏng vấn các chuyên gia trong lĩnh vực liên quan. Công việc này rất khó nhọc và tốn kém. Vì vậy, ngời xây dựng các hệ thông minh luôn đối mặt với vấn đề tìm ra cách có đợc tri thức chuyên gia để đa vào hệ thống. Có thể sử dụng các thuật toán học máy để giải quyết vấn đề này. Các thuật toán học máy có thể sản sinh ra các luật thay vì mất nhiều thời gian làm việc với các chuyên gia con ngời. Thậm chí, có thể tạo ra các hệ chuyên gia có khả năng học từ các thất bại của chính hệ thống. Với các nhận xét nh trên, vấn đề học máy trở thành vấn đề cần sự phát triển nghiên cứu. Trang 5 Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN 1.2 Phát hiện tri thức và Khai phá dữ liệu Tuy nhiên, một xu hớng khác trong nghiên cứu học máy ngoài ứng dụng trong các hệ chuyên gia xuất phát từ sự bùng nổ thông tin trong xã hội hiện đại. Hầu hết các tổ chức đều hình thành các kho dữ liệu lớn có khả năng truy cập đợc. Nhng trên thực tế rất khó có thể tìm ra các thông tin mong muốn và hữu ích, giống nh việc tìm một cái kim trong đống sắt vụn càng ngày càng lớn dần. Công việc một hệ máy tính tự động tìm đợc các mẩu kim cơng thông tin trong số hàng tấn mảnh vụn dữ liệu lu trong cơ sở dữ liệu (CSDL) dẫn đến một lĩnh vực nghiên cứu mới. Đó là khai phá dữ liệu (Data Mining) và phát hiện tri thức trong CSDL (Knowledge Discovery in Databases). Về mặt ngữ nghiã, hai thuật ngữ này có ý nghĩa phân biệt đôi chút. Phát hiện tri thức trong CSDL chỉ toàn bộ quá trình kết xuất tri thức từ dữ liệu. Theo ngữ cảnh này, tri thức có nghĩa là mối quan hệ và các mẫu giữa các phần tử dữ liệu. Khai phá dữ liệu đợc dùng để mô tả giai đoạn phát hiện của quá trình phát hiện tri thức trong CSDL. Việc phát hiện tri thức trong CSDL không chỉ là một kỹ thuật mà còn là lĩnh vực nghiên cứu đa chủ đề: Học máy, Thống kê, công nghệ CSDL, Kho dữ liệu và Hệ chuyên gia. 1.3 Khai phá dữ liệu và các công cụ SQL Các CSDL lớn của các tổ chức có thể ví nh các mỏ dữ liệu bao gồm nhiều gigabytes dữ liệu với các thông tin tiềm ẩn bên trong không thể dễ dàng tìm ra đợc bằng công cụ SQL hoặc các công cụ truy vấn khác. Các thuật toán và công cụ khai phá dữ liệu có thể chia nhóm tối u hoặc các luật nào đó từ các dữ liệu trong CSDL, trong khi SQL chỉ là công cụ truy vấn, giúp tìm ra các dữ liệu dới các ràng buộc đã biết. Các thuật toán và công cụ khai phá dữ liệu có thể quan tâm đến toàn bộ hoặc một phần CSDL, có thể sử dụng lặp đi lặp lại các câu truy vấn SQL và lu kết quả trung gian trong quá trình phát hiện tri thức. Tuy nhiên, các công cụ khai phá dữ liệu và công cụ SQL có những bổ trợ lẫn nhau. Công cụ khai phá dữ liệu không thể thay thế công cụ truy vấn, nhng làm tăng khả năng khai thác dữ liệu của ngời dùng. Sau đây là một ví dụ đơn giản minh hoạ việc sử dụng kết hợp các công cụ truy vấn truyền thống và công cụ khai phá dữ liệu. Giả sử một tổ chức có một kho dữ liệu hàng triệu bản ghi về việc mua sắm của khách hàng trong mời năm gần đây. Có vô vàn các câu truy vấn thông thờng hay sử dụng từ kho dữ liệu này, chẳng hạn Ai là ngời đã mua sản phẩm A vào ngày x?, Doanh số của vùng M trong tháng 7 là bao nhiêu? và vv . Tuy nhiên, có những tri thức tiềm ẩn trong dữ liệu, mà dùng SQL thì khó có thể phát hiện ra. Ví dụ, các câu hỏi sau Tìm các phân đoạn tối u của các khách hàng hay chia nhóm các khách hàng dựa trên tiêu chí nào đó, hoặc Xu hớng quan trọng nhất của hành vi mua sắm của khách hàng là gì?. Tất nhiên, những câu hỏi này có thể dùng SQL để trả lời bằng cách đa ra tiêu chuẩn phân loại khách hàng bằng kinh nghiệm và truy vấn CSDL để xem nh thế có đúng hay không. Trong quá trình thử và sai, con ngời có thể có cảm giác thuộc tính nào là phân hoạch quan trọng nhất các khách hàng. Tuy nhiên, cách làm nh vậy sẽ không ổn, khi tìm phân đoạn tối u cho một tập CSDL lớn, trong khi một thuật toán học máy giống nh mạng nơron hoặc một thuật toán di truyền có thể tìm trả lời trong một thời gian ngắn hơn nhiều, thậm chí chỉ một vài phút đến một vài giờ. Khi các công cụ khai phá dữ liệu đã tìm đợc một phân đoạn, lúc đó môi trờng truy vấn sẽ đợc sử dụng để hỏi đáp và phân tích các hồ sơ khách hàng đợc tìm thấy. Trang 6 Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN Có thể nói một cách tổng quát, khi muốn biết những gì một cách chính xác thì hãy sử dụng SQL, khi muốn biết những gì một cách mờ và ẩn thì hãy tìm đến công cụ khai phá dữ liệu. Ngời ta cũng thấy rằng các truy vấn theo kiểu mờ rất nhiều và phong phú, điều này tạo nên mối quan tâm lớn tới lĩnh vực khai phá dữ liệu. Rõ ràng là việc phát hiện tri thức trong CSDL không phải là một hoạt động riêng. Công cụ phát hiện tri thức trong CSDL chỉ đợc thực thi tốt dựa trên một nền tảng tổ chức dữ liệu tốt. Dữ liệu có nhiễu, dữ liệu không đầy đủ, dữ liệu hợp pháp và riêng t cộng với sự phức tạp của mô hình dữ liệu là những cản trở cần đợc giải quyết trớc. Nền tảng dữ liệu tốt nhất cho phát hiện tri thức trong CSDL chỉ có thể là một Kho dữ liệu (Data warehouse), trong đó dữ liệu đã đợc chọn, kết xuất, lọc, làm sạch và tổ chức lại sao cho đáp ứng đợc tốt nhất yêu cầu truy vấn nghiệp vụ. 1.4 Quá trình phát hiện tri thức Trong mục này, chúng ta khảo sát quá trình, phân tích các giai đoạn phát hiện tri thức . Về nguyên lý, quá trình phát hiện tri thức bao gồm 6 giai đoạn sau: Chọn lọc dữ liệu Làm sạch Làm giàu Mã hoá Khai phá dữ liệu Kết xuất báo cáo. Khai phá dữ liệu chỉ là một giai đoạn của quá trình phát hiện tri thức trong CSDL. Mặc dù có 6 giai đoạn, nhng quá trình xây dựng và hoàn chỉnh việc phát hiện tri thức không chỉ qua 6 bớc mà theo chu trình liên tục kiểu xoáy trôn ốc, trong đó các giai đoạn đợc lặp đi lặp lại, lần sau hoàn chỉnh hơn lần trớc và theo kiểu thác nớc, trong đó giai đoạn sau dựa trên các kết quả đã đạt đợc của giai đoạn trớc. Đây là quá trình phát triển biện chứng mang tính triết học của lĩnh vực phát hiện tri thức và là phơng pháp luận trong việc xây dựng các hệ thống phát hiện tri thức. Một lu ý nữa là 6 giai đoạn này có thể có các phần công việc liên quan chặt chẽ đến các quá trình xây dựng một Kho dữ liệu (Data Warehouse). Chúng ta sẽ thấy rõ hơn khi khảo sát về Kho dữ đợc đề cập ở chơng 4. Có thể có cùng một việc cần làm nhng đợc nhìn ở góc độ của Kho dữ liệu hay góc độ phát hiện tri thức trong CSDL. Chọn lọc dữ liệu Đây là bớc chọn lọc dữ liệu liên quan trong các nguồn dữ liệu. Chẳng hạn, trong CSDL về bán hàng, ta chọn ra các dữ liệu về các khách hàng, đặt hàng và hoá đơn. Cụ thể hơn, dữ liệu chọn ra chính là các bản ghi bao gồm số hiệu khách hàng, tên, địa chỉ, ngày mua, số lợng và loại hàng. Làm sạch Thông thờng, quá trình chọn lọc và làm sạch dữ liệu kết hợp chặt chẽ với nhau và có thể rất phức tạp nếu dữ liệu đầu vào đợc lấy từ nhiều nguồn không đồng nhất và phải tính đến việc phải biến đổi và di chuyển dữ liệu về một kho dữ liệu riêng dùng cho khai phá. Có thể có một vài kiểu làm sạch dữ liệu. Do dữ liệu đầu vào từ nhiều nguồn và có thể không nhất quán nên cần phải điều hoà (reconcile) các dữ liệu, bao gồm khử các trờng hợp lặp dữ liệu, thống nhất cách ký hiệu. Một khách hàng có thể có nhiều bản ghi do Trang 7 Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN việc viết sai tên, thay đổi địa chỉ và gây ra sự lầm tởng là có nhiều khách hàng khác nhau. Thậm chí, có khách hàng cố ý phát âm hoặc viết sai tên hoặc đa thông tin sai liên quan đến việc họ bị từ chối một vài hình thức khuyến mại hay bảo hiểm. Quá trình làm sạch có thể áp dụng ngay chính kỹ thuật phát hiện sai lệch của khai phá dữ liệu để tìm ra các bất thờng trong kho dữ liệu của mình. Tuy nhiên, đây chỉ là một gợi ý vì mục đích chính của làm sạch là tạo dữ liệu tốt cho khai phá dữ liệu và khai phá dữ liệu nhằm mục đích hỗ trợ cho các quyết định nghiệp vụ. Một kiểu nhiễu dữ liệu khác cần làm sạch là sự không nhất quán về miền, ví dụ ngày 11/11/11 không nằm trong phạm vi thời gian do ngời đa dữ liệu vào vô tình đánh sai. Các kiểu đánh ký hiệu không nhất quán cũng cần đợc chỉnh lại, ví dụ giới tính có bản ghi ký hiệu là 0/1, có bản ghi là nam/nữ. Đòi hỏi thông tin Oracle Media Server Oracle Media Server Quyết định hành động Dữ liệu điều hành Dữ liệu ngoài Phản hồi Lựa chọn dữ liệu Lọc và Làm sạch Làm giàu Khai phá dữ liệu: -Nhóm cụm -Luật kết hợp -Dự báo Phân tích Báo cáo Di chuyển Hình 4.1 Quá trình KDD Làm giàu Các nguồn dữ liệu cung cấp cho hệ thống khai phá dữ liệu bao gồm từ các hệ thống dữ liệu điều hành hàng ngày trong nội bộ một tổ chức, nhng cũng có thể cần các dữ liệu lấy từ các nguồn bên ngoài khác. Chẳng hạn, dữ liệu về khách hàng đã bao gồm các thông tin về ngày sinh, thu nhập, số d tài khoản thậm chí có sở hữu các tài sản nh nhà cửa và xe máy. Tuy nhiên, ta cũng có thể rất cần các thông tin khác về thị trờng, chính sách của nhà nớc, và ngay cả các số liệu thống kê về dân số học, thu nhập bình quân đầu ngời, vv . Quá trình này cũng đợc mô tả kỹ khi xây dựng một Kho dữ liệu. Các dữ liệu sẽ đợc biến đổi và di chuyển dựa trên một số phơng pháp, chẳng hạn dùng cổng kết nối (gateway), tiện ích (utilities) và lập trình. Một vấn đề thờng xảy ra khi thu thập dữ liệu từ nhiều nguồn khác nhau là sự không đầy đủ của dữ liệu. Chẳng hạn, dữ liệu về khách hàng lấy từ một nguồn bên ngoài không có hoặc có không đầy đủ thông tin về thu nhập. Nếu thông tin về thu nhập là quan trọng trong việc khai phá dữ liệu để phân tích hành vi khách hàng, rõ ràng là ta không chấp nhận đa dữ liệu thiếu vào đợc. Trang 8 Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN Các dữ liệu ở các khuôn dạng khác nhau cũng cần đợc qui đổi và tính toán lại để đa về một kiểu thống nhất tiện cho quá trình phân tích, chẳng hạn qui đổi đơn vị tiền tệ, tuổi hay ngày sinh, địa chỉ chi tiết hay chia theo vùng, vv . Dữ liệu thay đổi theo thời gian và đa yếu tố thời gian vào dữ liệu cũng là một vấn đề lớn cần đợc giải quyết và đựợc xem xét trong phần xây dựng Kho dữ liệu ở chơng 4. Một lu ý là tất cả công việc chuẩn bị dữ liệu này cần phải dựa trên yêu cầu khai phá và phân tích nghiệp vụ và tổ chức sao cho việc khai thác thuận lợi nhất. Mã hoá Các thiết kế để chọn lọc, làm sạch và làm giàu dữ liệu sẽ đợc mã hoá dới dạng các thủ tục, chơng trình hay tiện ích nhằm tự động hoá việc kết xuất, biến đổi và di chuyển dữ liệu nhằm mục đích khai phá. Các chơng trình có thể thực hiện các công việc theo định kỳ để làm tơi dữ liệu cho phân tích. Khai phá dữ liệu Bớc khai phá dữ liệu bắt đầu sau khi hệ thống dữ liệu đã đợc xây dựng và chuyển đổi. Các bớc trớc là công việc của ngời thiết kế và lập trình. Bắt đầu từ bớc này là công việc của các nhà phân tích và ra quyết định. Chi tiết về các kỹ thuật khai phá dữ liệu đợc trình bày ở chơng 3. Kết xuất báo cáo Các kết quả khai phá dữ liệu cùng với các kết quả từ các công cụ phân tích khác có thể đợc tổng hợp dới dạng các báo cáo phục vụ cho các mục đích hỗ trợ quyết định khác nhau. Quá trình phát hiện tri thức có thể đợc tiến hành theo các bớc đã kể trên và có thể đợc cải tiến nâng cấp và mở rộng trong quá trình khai thác. Trang 9 Luận văn tốt nghiệp cao học ngành CNTT, ĐHBKHN Chơng 2. Các nhiệm vụ Khai phá dữ liệu Do sự phát triển mạnh mẽ của các loại hệ thống phát hiện tri thức trong CSDL (KDD) theo yêu cầu nhằm đáp ứng những đòi hỏi trong nhiều lĩnh vực ứng dụng khác nhau, việc phát hiện tri thức cũng trở nên đa dạng hơn. Do vậy, nhiệm vụ của phát hiện tri thức trong CSDL cũng trở nên phong phú và có thể phát hiện rất nhiều kiểu tri thức khác nhau. Một trong các bớc đầu tiên trong quá trình phát hiện tri thức trong CSDL là quyết định xem loại kiến thức nào mà thuật toán phát hiện tri thức trong CSDL cần phải kết xuất từ dữ liệu. Điều này phụ thuộc vào yêu cầu của lĩnh vực ứng dụng và lợi ích của ngời dùng. Do vậy, việc phân loại và so sánh sự giống nhau, khác nhau giữa các kiểu nhiệm vụ phát hiện tri thức trong CSDL là vấn đề đáng quan tâm nhằm tạo ra một hệ thống phát hiện tri thức trong CSDL hiệu ích. Trong chơng này, chúng ta mô tả mời kiểu nhiệm vụ phát hiện tri thức trong CSDL chính và đa ra một vài so sánh giữa chúng. 2.1 Phát hiện các luật tối u truy vấn ngữ nghĩa (Semantic Query Optimization - SQO Rules) Các luật tối u truy vấn CSDL thông thờng thực hiện một phép biến đổi cú pháp, hay sắp xếp lại thứ tự của các phép toán quan hệ trong một truy vấn và sản sinh ra một truy vấn hiệu quả hơn. Các phép biến đổi này thờng dựa trên lý thuyết đại số quan hệ. Các luật đợc biến đổi trả lại cùng một câu trả lời nh câu truy vấn ban đầu ở bất kỳ trạng thái nào của CSDL. Ngợc lại, luật tối u truy vấn ngữ nghĩa biến đổi các câu truy vấn ban đầu thành một truy vấn mới bằng cách thêm vào hoặc xoá đi các mối liên kết, bằng việc sử dụng tri thức CSDL ngữ nghĩa bao gồm các ràng buộc về tính toàn vẹn và sự phụ thuộc hàm để sản sinh ra câu truy vấn hiệu quả hơn. Nh vậy câu truy vấn đã biến đổi cũng trả lại cùng câu trả lời giống nh câu truy vấn ban đầu trong bất kỳ trạng thái nào của CSDL thoả mãn kiến thức về ngữ nghĩa đợc sử dụng trong phép biến đổi. Các hệ thống phát hiện luật SQO có thể đợc chia thành 3 lớp: Các hệ thống hớng truy vấn (hệ thống báo cáo) trong đó thuật toán phát hiện tri thức trong CSDL nhằm phục vụ các truy vấn CSDL thực của ngời dùng; Các hệ thống hớng dữ liệu (hệ thống tác nghiệp) trong đó thuật toán phát hiện tri thức trong CSDL chủ yếu phục vụ sự phân bố dữ liệu trong trạng thái hiện thời của CSDL; Các hệ thống lai kết hợp các đặc tính của cả hệ thống hớng truy vấn và hớng dữ liệu. Một đặc tính quan trọng của các luật SQO, khác với các kiểu phát hiện tri thức khác, là việc chọn các thuộc tính để tổng hợp một SQO cần phải tính toán đến chi phí liên quan nh dùng phơng pháp truy cập nào và sơ đồ chỉ số trong HQT CSDL. Việc này là cần thiết để tiết kiệm thời gian xử lý truy vấn. Một thuật toán phát hiện tri thức trong CSDL loại này đòi hỏi phải xem xét tối u chi phí. Trang 10 [...]... Siêu dữ liệu điều khiển có hai nguồn cung cấp Thông tin cấu trúc vật lý chi tiết sinh ra trong lúc xây dựng kho dữ liệu Nguồn thứ hai của siêu dữ liệu điều khiển là chính cấu trúc cơ sở kho dữ liệu Siêu dữ liệu này mô tả các hoạt động hiện thời của kho dữ liệu Nguồn của siêu dữ liệu không phải là siêu dữ liệu thiết kế Siêu dữ liệu điều khiển mô tả về hiện trạng và cách dùng dữ liệu nghiệp vụ Siêu dữ liệu. .. Việc phát triển một thuật toán phát hiện luật này trong một CSDL lớn không khó Tuy nhiên, vấn đề là ở chỗ có thể có rất nhiều luật kiểu này và ta chỉ biết một tập hợp nhỏ dữ liệu trong CSDL lớn Chẳng hạn, chỉ có một số không nhiều phụ nữ có xe máy đỏ và đeo đồng hồ Thuỵ sỹ Số lợng các luật kết hợp trong một CSDL lớn gần nh vô hạn Thuật toán sẽ không thể phát hiện hết các luật và không phân biệt đợc luật. .. hình ảnh hiện tại, kho dữ liệu cung cấp bức tranh dữ liệu hoàn chỉnh theo thời gian Các dữ liệu từ các nguồn cung cấp có thể đợc chọn lọc, làm sạch và biến đổi trớc rồi chuyển vào trong kho dữ liệu, nhng chúng có thể đợc chuyển vào một nơi trung gian hoặc chính ngay kho dữ liệu và sau đó mới thực hiện các phép chọn lọc, làm sạch và biến đổi Dữ liệu của kho dữ liệu và cả siêu dữ liệu đợc lu trữ trong. .. sang kho dữ liệu điều hành - Chợ dữ liệu (phòng ban) ứng dụng Dữ liệu tài sản (legacy) công cụ truy vấn, OLAP Kho dữ liệu (xí nghiệp) Dữ liệu Kho dữ liệu tác nghiệp Các nguồn dữ liệu bên ngoài (xí nghiệp) Chợ dữ liệu (phòng ban) Khai phá Dữ liệu Hình 4.3 Kiến trúc kho dữ liệu - Khi một tổ chức hoặc công ty chỉ cần tạo ra các báo cáo và ít thực hiện các phân tích hoặc nghiên cứu thị trờng, kho dữ liệu điều... Trong ngữ cảnh kiến trúc dữ liệu ba lớp, dữ liệu lịch sử là tổ hợp của các kiểu dữ liệu khác nhau, xuất hiện và đợc sử dụng trong cả ba lớp Dữ liệu nghiệp vụ lịch sử tồn tại trong cả ba lớp, nhng lại khác nhau trong mỗi lớp Nguồn của dữ liệu lịch sử là lớp dữ liệu thời gian thực Trong hầu hết các trờng hợp, dữ liệu lịch sử đợc lu trữ và sử dụng với vài sự mở rộng trong lớp này Dữ liệu lịch sử đợc lu trữ... các công cụ siêu dữ liệu Siêu dữ liệu là dữ liệu định nghĩa hoặc mô tả lu trữ của dữ liệu Có hai kiểu siêu dữ liệu điển hình Một loại dành cho ngời sử dụng, chẳng hạn nh tên bảng và tên cột đợc gọi là siêu dữ liệu giao diện Loại thứ hai là các phần tử dữ liệu cụ thể ánh xạ vào trong cơ sở dữ liệu nguồn cung cấp của nó nh thế nào đọc gọi là siêu dữ liệu bên trong Các công cụ thiết kế và quản lý cũng... dữ liệu Kết xuất Biến đổi Di chuyển Sử dụng Các công cụ SQL, các ứng dụng Dữ liệu Các công cụ OLAP Dữ liệu bên ngoài Các công cụ Khai phá dữ liệu Hình 4.4 Các thành phần của kho dữ liệu Kho dữ liệu cần có các nguồn cung cấp dữ liệu để phục vụ mục đích khai khác theo chủ đề Các nguồn dữ liệu bao gồm các hệ thống tác nghiệp hàng ngày và cả các dữ liệu đợc lấy từ các nguồn bên ngoài xí nghiệp Các dữ liệu. .. Linh hoạt: Nhân bản dữ liệu cho phép kết hợp các chức năng và các kỹ thuật cần thiết + Dễ dàng duy trì: Nhân bản dữ liệu có thể đáp ứng nhanh chóng và hiệu quả với các thay đổi về cấu trúc hoặc vị trí của các tập dữ liệu nguồn và đích + Khả năng tích hợp các siêu dữ liệu: Nhân bản dữ liệu cung cấp sự liên kết tới siêu dữ liệu ở cả dữ liệu nguồn và đích và sử dụng hoặc cung cấp siêu dữ liệu khi cần + Hiệu... động tiếp thị và kinh doanh Vấn đề là liệu có thể tìm đợc các kiểu luật nh vậy nhờ các công cụ khai phá dữ liệu hay không Câu trả lời là có và trong lĩnh vực khai phá dữ liệu, đó chính là nhiệm vụ phát hiện luật kêt hợp Giả sử ta có một CSDL về các khách hàng với các thông tin nh màu và kiểu xe máy, kiểu đồng hồ yêu thích và một số sản phẩm mà họ muốn mua, lúc đó ta có thể phát hiện các luật tơng tự... nhiệm vụ phát hiện tri thức Điểm tơng tự và sự khác biệt giữa các nhiệm vụ phát hiện tri thức đợc tóm tắt trong Bảng 2.1 Cột đầu tiên chỉ ra nhiệm vụ phát hiện tri thức Cột thứ 2 chỉ ra kiểu tri thức đợc phát hiện có thể là hớng Hệ quản trị cơ sở dữ liệu (HQT CSDL) nh luật SQO hoặc phụ thuộc CSDL, hay mục đích chung (các nhiệm vụ phát hiện khác) Tri thức hớng HQT CSDL thờng dùng trong thiết kế và giao