1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Luận văn thạc sĩ VNU UET ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web

78 11 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Tác giả Nguyễn Vương Thịnh
Người hướng dẫn PGS.TS. Nguyễn Hà Nam
Trường học Trường Đại học Công nghệ
Chuyên ngành Công nghệ thông tin
Thể loại Luận văn thạc sĩ
Năm xuất bản 2012
Thành phố Hà Nội
Định dạng
Số trang 78
Dung lượng 2,31 MB

Cấu trúc

  • CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN (11)
    • 1.1. Khai phá dữ liệu sử dụng web (11)
    • 1.2. Phát biểu bài toán khai phá luật kết hợp từ dữ liệu sử dụng web (13)
    • 1.3. Hướng tiếp cận của đề tài (14)
    • 1.4. Kết luận chương 1 (15)
  • CHƯƠNG 2: LUẬT KẾT HỢP VÀ CÁC KỸ THUẬT KHAI PHÁ LUẬT KẾT HỢP (16)
    • 2.1. Khái niệm về luật kết hợp và tập phổ biến (16)
    • 2.2. Luật kết hợp trong dữ liệu sử dụng web (17)
    • 2.3. Một số nghiên cứu về khai phá luật kết hợp (0)
    • 2.4. Khai phá sử dụng Web với giải thuật Apriori (21)
    • 2.5. Các kỹ thuật khai phá song song luật kết hợp (26)
    • 2.6. Những vấn đề đặt ra khi khai phá luật kết hợp từ dữ liệu web log (32)
    • 2.7. Kết luận chương 2 (38)
    • 3.1. p dụng chiến lược Chia để trị trong bài toán khai phá luật kết hợp (0)
    • 3.2. Cơ sở toán học cho việc áp dụng chiến lược Chia để trị (0)
    • 3.3. Mô hình hệ thống khai phá luật kết hợp từ dữ liệu sử dụng web dựa trên chiến lược Chia để trị (0)
    • 3.4. Tư tưởng Chia để trị trong khai phá song song luật kết hợp từ dữ liệu sử dụng web (0)
    • 3.5. Sinh các tập phổ biến cục bộ (52)
    • 3.6. Sinh các luật kết hợp mạnh từ các tập phổ biến (53)
    • 3.7. Kết luận chương 3 (0)
  • CHƯƠNG 4: KẾT QUẢ THỰC NGHIỆM (56)
    • 4.1. Đặc trưng của dữ liệu thực nghiệm (56)
    • 4.2. Các thao tác tiền xử lý dữ liệu (56)
      • 4.2.1. Lọc dữ liệu (57)
      • 4.2.2. Gán nhãn thời gian (59)
      • 4.2.3. Phân định các phiên truy cập (60)
    • 4.3. Một số kết quả thực nghiệm (0)
      • 4.3.1. Mục tiêu của quá trình thực nghiệm (0)
      • 4.3.2. Các hệ thống tham gia vào quá trình thực nghiệm (0)
      • 4.3.3. Tổ chức dữ liệu và cách thức tiến hành thực nghiệm (0)
      • 4.3.4. Kết quả thực hiện và đánh giá (0)
    • 4.4. Kết luận chương 4 (73)
  • KẾT LUẬN (74)
  • TÀI LIỆU THAM KHẢO (76)

Nội dung

GIỚI THIỆU TỔNG QUAN

Khai phá dữ liệu sử dụng web

Sự bùng nổ của Internet đã khiến cho World Wide Web trở thành một kho dữ liệu khổng lồ với số lượng vô cùng lớn các máy chủ web rải rác khắp nơi trên thế giới Kho tài nguyên dữ liệu Web tiềm ẩn nhiều mẫu thông tin quý giá đối với mỗi cá nhân, tổ chức hay cả cộng đồng Trong những năm gần đây, lĩnh vực khai phá web (Web Mining) đã có những bước phát triển mạnh mẽ, thu hút sự quan tâm của nhiều nhà nghiên cứu và các nhóm phát triển ứng dụng

Khai phá dữ liệu sử dụng web (Web Usage Mining) là một hướng nghiên cứu quan trọng trong khai phá web Các máy chủ web thường ghi lại và tích lũy các dữ liệu phản ánh hoạt động của người dùng mỗi khi nó nhận được một yêu cầu truy cập (hình 1.1) Từ những hồ sơ truy cập web (hay còn gọi là web log), áp dụng các kỹ thuật khai phá dữ liệu có thể giúp khám phá ra các tri thức hữu ích liên quan đến quá trình tương tác của người dùng với Internet mà cụ thể là các trang Web

Hình 1.1: Một trích đoạn dữ liệu web log

Khai phá dữ liệu được định nghĩa là một quá trình không tầm thường nhằm phát hiện ra những mẫu có giá trị, mới, hữu ích tiềm năng và hiểu được trong dữ liệu [1] Đối với khai phá sử dụng web nói riêng và khai phá dữ liệu nói chung, có nhiều phương thức tiếp cận khác nhau được sử dụng trong phát hiện mẫu:

1 Phân tích th ng k (Standard Statistical Analysis): Đây là phương pháp thường được sử dụng nhất nhằm trích chọn ra những tri thức liên quan đến người dùng bằng cách phân tích hồ sơ của phiên truy cập sử dụng các kỹ thuật phân tích thống kê tần suất, giá trị trung bình, trung vị, dựa trên số lần duyệt trang (page view), thời gian duyệt trang (viewing time), chiều dài vết truy cập (navigation path)

2 uật kết hợp (Association Rules): Phát hiện mối quan hệ kết hợp trong tập dữ liệu là một bài toán quan trọng trong khai phá dữ liệu Bài toán khai phá luật kết hợp thực hiện việc phát hiện ra mối quan hệ giữa các tập thuộc tính (mục) có dạng Y, trong đó và Y là hai tập thuộc tính Luật kết hợp cho chúng ta biết tập các trang web thường được truy cập cùng với nhau

3 M u tu n t (Sequential Patterns): sử dụng để phát hiện các mẫu trải dài trên nhiều phiên truy cập mà sự có mặt của các tập mục (item set) được sắp xếp theo thứ tự thời gian của các phiên truy cập

4 h m cụm (Clustering): sử dụng để nhóm các mục (item) có cùng các đặc trưng thành các tập mục Đối với khai phá sử dụng web, người ta quan tâm nhiều đến việc phân cụm người dùng (usage clustering) và phân cụm trang web (page clustering) Theo [1 , phân cụm có thể coi là một bài toán mô tả hướng tới việc nhận biết một tập hữu hạn các cụm hoặc các lớp để mô tả dữ liệu

5 h n l p (Classification): sử dụng để ánh xạ các mục dữ liệu vào các lớp đã được định nghĩa trước Theo [1], phân lớp thực hiện việc xây dựng các mô hình dự báo nhằm mô tả hoặc phát hiện các lớp/khái niệm cho các dự báo tiếp theo Trong khai phá sử dụng web người ta sẽ quan tâm nhiều đến việc hồ sơ truy cập của một người dùng sẽ thuộc về một lớp hay một nhóm người dùng cụ thể nào

Trong luận văn này, tác giả lựa chọn hướng tiếp cận dựa trên khai phá luật kết hợp nhằm xác định ra xu hướng truy cập của người dùng được phản ánh bởi các tập phổ biến Các phân tích này có thể giúp cấu trúc lại các website trong các phân nhóm hiệu quả hơn, hay xác định ra vị trí đặt các banner quảng cáo hiệu quả nhất, cũng như gắn việc quảng cáo các sản phẩm nhất định cho những người dùng quan tâm để đạt hiệu quả cao nhất,…

Phát biểu bài toán khai phá luật kết hợp từ dữ liệu sử dụng web

Trong lĩnh vực thương mai điện tử, việc xác định ra thói quen, thị hiếu mua sắm hay xu hướng truy cập thông tin của người dùng là vô cùng quan trọng Điều này giúp các nhà quản lý có thể đưa ra được những chiến lược quảng cáo hay tiếp thị phù hợp Đối với các nhà phát triển hệ thống, việc nắm được thói quen hay xu hướng truy cập của người dùng sẽ là những gợi ý hay để xây dựng một website với cấu trúc khoa học và tiện dụng Bài toán đặt ra là: căn cứ vào dữ liệu truy cập (web log) có thể xác định được ra nhóm các trang web thường được truy cập cùng với nhau hay không vì nhóm này phản ánh thói quen hay xu hướng truy cập của người dùng Bài toán có thể phát biểu như sau:

Dữ liệu đầu vào (Input): là tập các các bản ghi truy cập web (web log) với các trường thông tin xác định, được đọc ra từ tập tin log Số lượng các bản ghi này là rất lớn

Dữ liệu đầu ra (Output): là tập các trang web (hay tập tin) thường được truy cập cùng với nhau với xác suất trên một ngưỡng nào đó

Trong lĩnh vực khai phá dữ liệu, bài toán này có thể được giải quyết dựa trên mô hình luật kết hợp và các thuật toán khai phá luật kết hợp Phát hiện mối quan hệ kết hợp trong dữ liệu sử dụng web đã trở thành một trong những bài toán cơ bản của khai phá web Sau khi dữ liệu truy cập web đã được tiền xử lý, phân tách riêng ứng với từng người dùng và từng phiên truy cập thì một trong những vấn đề thực tiễn đặt ra là những trang web (hay những tập tin tài nguyên) nào thường được truy cập cùng với nhau Việc sử dụng những giải thuật khai phá luật kết hợp có thể giúp phát hiện ra mối tương quan giữa những người dùng đã viếng thăm trang web giới thiệu các sản phẩm điện tử với những người dùng khác đang viếng thăm trang web quảng cáo các dụng cụ thể thao chẳng hạn Bên cạnh những ứng dụng trong thương mại điện tử, các luật kết hợp có thể giúp đưa ra những gợi ý cho các nhà phát triển web nhằm tái cấu trúc lại trang web của họ sao cho thuận tiện nhất với người dùng

Các luật kết hợp cũng có thể được ứng dụng trong các cơ chế tìm kiếm nhằm tải trước các trang web để giảm bớt thời gian chờ đợi của người dùng khi truy cập tới một máy chủ web ở xa.

Hướng tiếp cận của đề tài

Khi áp dụng khai phá luật kết hợp vào dữ liệu web log, ta vấp phải một số những vấn đề sau đây:

1 Dung lượng dữ liệu đọc vào từ tập tin web log có thể quá lớn đến mức không thể áp dụng trực tiếp các giải thuật khai phá luật kết hợp do sự hạn chế về bộ nhớ trong của hệ thống tính toán

2 Bản thân dữ liệu web log có thể được ghi lại một cách phân tán trên các tập tin rời rạc (theo từng chu kỳ thời gian giờ/ngày/tuần/tháng/năm) và dữ liệu thường xuyên được phát sinh mới sau mỗi chu kỳ Tuy nhiên khi tiến hành khai phá dữ liệu thì ta cần khai phá toàn bộ dữ liệu từ các tập tin này như một chỉnh thể Việc dữ liệu phát sinh mới sẽ khiến kết quả khai phá trước đó không còn chính xác và chúng ta phải tiến hành khai phá lại từ đầu sau khi dữ liệu đầu vào đã được cập nhật Liệu có cách nào có thể tận dụng được các kết quả khai phá trước đó hay không là một vấn đề đặt ra

Trong luận văn, tác giả không tiếp cận dựa trên việc cải tiến các giải thuật khai phá luật kết hợp đã có hay đề xuất áp dụng một giải thuật mới mà tiếp cận giải quyết vấn đề từ góc độ dữ liệu vào

Tư tưởng Chia để trị (Divide and Conquer) được tác giả đề xuất áp dụng khi xử lý tập dữ liệu vào Chia để trị là một cách tiếp cận hết sức tự nhiên khi giải quyết bài toán Tập dữ liệu vào sẽ được phân chia thành các tập dữ liệu con (có kích thước phù hợp với bộ nhớ trong) và có thể được xử lý độc lập nhau Các kết quả xử lý này sẽ được tổng hợp lại để thu được kết quả mong muốn Trong luận văn, tác giả sẽ tập trung trình bày cơ sở toán học cũng như chứng minh tính đúng đắn của việc áp dụng chiến lược Chia để trị khi xử lý tập dữ liệu vào và đồng thời đề xuất một mô hình hệ thống phân tích dữ liệu thu được từ tập tin các web log để đưa ra các luật kết hợp Các số liệu thực nghiệm cũng được trình bày một cách đầy đủ để làm cơ sở so sánh Cách thức tiếp cận dựa trên tư tưởng Chia để trị có nhiều ưu điểm, trong đó có hai ưu điểm lớn nhất đó là:

1 Độc lập với các giải thuật khai phá dữ liệu được sử dụng: Khi tiến hành xử lý các tập dữ liệu con, ta có thể lựa chọn một giải thuật khai phá dữ liệu phù hợp Thậm chí, không nhất thiết tất cả các tập dữ liệu con đều phải sử dụng cùng một giải thuật mà mỗi tập dữ liệu con có thể dùng một giải thuật khác nhau để xử lý

2 Có thể xử lý độc lập trên các hệ thống tính toán khác nhau: Các tập dữ liệu con có thể được xử lý song song và hoàn toàn độc lập trên cùng một hệ thống tính toán hoặc trên các hệ thống khác nhau.

Kết luận chương 1

Chương 1 tập trung giới thiệu bài toán cần giải quyết cũng như hướng tiếp cận của đề tài Bài toán khai phá luật kết hợp không phải là bài toán mới trong khai phá dữ liệu, tuy nhiên đây là lĩnh vực có nhiều ứng dụng trong thực tế và đang được rất nhiều nhà nghiên cứu quan tâm, đề xuất các thuật toán để giải quyết Khi áp dụng mô hình luật kết hợp vào dạng dữ liệu đặc thù là dữ liệu web thì việc lựa chọn một thuật toán khai phá dữ liệu phù hợp là yếu tố vô cùng quan trọng Trong chương 2, tác giả sẽ tập trung trình bày sơ bộ một số các kỹ thuật khai phá luật kết hợp đã được phát triển và các vấn đề gặp phải khi áp dụng với dữ liệu web log.

LUẬT KẾT HỢP VÀ CÁC KỸ THUẬT KHAI PHÁ LUẬT KẾT HỢP

Khái niệm về luật kết hợp và tập phổ biến

Cho một tập mục I = {i1, i2,…, in}, mỗi phần tử thuộc I được gọi là một mục (item) Đôi khi mục còn được gọi là thuộc tính và I cũng được gọi là tập các thuộc tính Mỗi tập con trong I được gọi là một một tập mục (itemset), số lượng các phần tử trong một tập mục được gọi là độ dài hay kích thước của một tập mục

Cho một cơ sở dữ liệu giao dịch D = {t1, t2,…, tm}, trong đó mỗi ti là một giao dịch và là một tập con của I Thường thì số lượng các giao dịch (lực lượng của tập

D ký hiệu là |D| hay card(D)) là rất lớn

Cho , Y là hai tập mục (hai tập con của I) Luật kết hợp (association rule) được ký hiệu là Y, trong đó và Y là hai tập không giao nhau, thể hiện mối ràng buộc của tập mục Y theo tập mục theo nghĩa sự xuất hiện của sẽ kéo theo sự xuất hiện của Y ra sao trong các giao dịch Tập mục được gọi là xuất hiện trong giao dịch t nếu như là tập con của t Độ hỗ trợ của một tập mục (ký hiệu là sup( )) được định nghĩa là tỷ lệ các giao dịch trong D có chứa : sup(X) = C(X)/|D| (2.1)

Trong đó C( ) số lượng các giao dịch trong CSDL giao dịch D mà có chứa Giá trị của luật kết hợp Y được thể hiện thông qua hai độ đo là độ hỗ trợ sup( Y) và độ tin cậy conf( Y) Độ hỗ trợ supp( Y) là tỷ lệ các giao dịch có chứa U Y trong tập D: sup( Y) = P( ∪ Y) = C(X ∪ Y)/|D| (2.2) Trong đó ký hiệu C( ∪ Y) là số lượng các giao dịch có chứa U Y Độ tin cậy conf( Y) là tỷ lệ các tập giao dịch có chứa U Y so với các tập giao dịch có chứa : conf( Y) = P(Y| ) = C( ∪ Y)/C( ) = sup( Y)/sup( ) (2.3) Trong đó ký hiệu C( ) số lượng các giao dịch có chứa

Từ định nghĩa ta thấy 0 ≤ sup( Y) ≤ 1 và 0 ≤ conf( Y) ≤ 1 Theo quan niệm xác suất, độ hỗ trợ là xác suất xuất hiện tập mục ∪ Y, còn độ tin cậy là xác suất có điều kiện xuất hiện Y khi đã xuất hiện

Luật kết hợp Y được coi là một tri thức (mẫu có giá trị) hay còn gọi là luật kết hợp mạnh (strong association rules) nếu xảy ra đồng thời sup( Y) ≥ minsup và conf( Y) ≥ minconf Trong đó minsup và minconf là hai giá trị ngưỡng cho trước Một tập mục có độ hỗ trợ vượt qua ngưỡng minsup được gọi là tập phổ biến (frequent itemset).

Luật kết hợp trong dữ liệu sử dụng web

Sau khi dữ liệu truy cập web đã được tiền xử lý, xác định rõ dữ liệu tương ứng với từng người dùng và từng phiên truy cập thì một trong những vấn đề thực tiễn đặt ra là những trang web (hay những tập tin tài nguyên) nào thường được truy cập cùng với nhau Về cơ bản, một khi đã phân định được các phiên truy cập, ta có thể áp dụng mô hình luật kết hợp vào dữ liệu thu được Mỗi trang web hay tập tin được truy cập đóng vai trò là một mục, một phiên truy cập được xem là một giao dịch

Dữ liệu truy cập web lúc này được xem là một cơ sở dữ liệu giao dịch và có thể sử dụng các thuật toán khai phá luật kết hợp Các luật kết hợp có thể được sử dụng để liên kết những trang thường được truy cập cùng với nhau trong một phiên truy cập

Trong ngữ cảnh của khai phá sử dụng web thì các luật kết hợp chỉ ra tập hợp các trang web thường được truy cập cùng với nhau với độ hỗ trợ lớn hơn một ngưỡng quy định trước Các trang web này không nhất thiết phải được kết nối với nhau thông qua các siêu liên kết (hyperlink) Việc sử dụng các giải thuật khai phá luật kết hợp có thể giúp phát hiện ra mối tương quan giữa những người dùng đã viếng thăm các trang web khác nhau

Khai phá luật kết hợp có thể coi là quá trình tìm ra các mẫu phổ biến (frequent patterns) từ các tập mục nằm trong cơ sở dữ liệu giao dịch Ý tưởng về khai phá luật kết hợp bắt nguồn từ bài toán Phân tích giỏ hàng ở siêu thị nhằm tìm ra những mặt hàng nào thường được mua cùng với nhau Trong ngữ cảnh của khai phá web thì khai phá luật kết hợp là nhằm tìm ra những trang web có quan hệ với nhau, được truy cập cùng với nhau với một xác suất nhất định nào đó Các luật kết hợp trong khai phá sử dụng web thường có dạng: Nếu một người truy cập vào website của CNN thì có 60% khả năng người này cũng sẽ truy cập trang ABC News trong tháng đó

2 Một số nghiên cứu về khai phá luật kết hợp

Khai phá luật kết hợp hay các tập phổ biến là một trong những kỹ thuật khai phá dữ liệu được sử dụng rộng rãi Giải thuật khai phá luật kết hợp đầu tiên được đề xuất bởi Agrawal và các cộng sự [4, 5] nhằm giải quyết bài toán phân tích giỏ hàng ở siêu thị (market basket analysis) Từ đó cho tới nay, rất nhiều giải thuật khác nhau đã được phát triển và khai phá luật kết hợp vẫn là một lĩnh vực thu hút sự quan tâm của nhiều nhà nghiên cứu

Khai phá luật kết hợp từ dữ liệu sử dụng web có liên quan trực tiếp đến các trang (hay tập tin) thường được truy cập cùng với nhau trong một phiên truy cập

Phát biểu trong ngữ cảnh của khai phá sử dụng web thì các luật kết hợp chỉ ra tập các trang được truy cập cùng với nhau với độ hỗ trợ lớn hơn một giá trị ngưỡng nào đó Agrawal và các cộng sự đã đưa ra giải thuật AIS (xem [4 ) Giải thuật này tạo ra các tập ứng viên trực tiếp trong mỗi lần duyệt qua cơ sở dữ liệu giao dịch Các tập phổ biến từ lần duyệt trước đó được kiểm tra xem có xuất hiện trong giao dịch hiện thời hay không Giải thuật này chưa thực sự hiệu quả vì nó tạo ra quá nhiều các tập ứng viên Điều này dẫn tới việc tăng dung lượng bộ nhớ sử dụng trong khi giải thuật lại yêu cầu phải duyệt qua cơ sở dữ liệu giao dịch nhiều lần và sinh ra những luật chỉ có một mục tham gia

Chính Agrawal và các cộng sự cũng đã phát triển các phiên bản khác nhau của giải thuật Apriori như là: Apriori, AprioriTid và AprioriHybrid (xem [5 ) Các giải thuật Apriori và AprioriTid sinh các tập mục dựa trên những tập phổ biến được tìm thấy ở lần duyệt trước đó mà không cần phải xét tới các giao dịch Giải thuật AprioriTid được phát triển dựa trên giải thuật Apriori bằng cách sử dụng cơ sở dữ liệu ngay trong lần duyệt đầu tiên Quá trình đếm trong các lần duyệt tiếp theo có thể được thực hiện bằng các sử dụng các mã được tạo ra từ lần duyệt đầu tiên có kích thước nhỏ hơn nhiều so với cơ sở dữ liệu gốc Nhờ đó, hiệu năng xử lý của giải thuật này nhanh gấp 3 lần giải thuật AIS Phát triển một bước nữa, Agrawal đề xuất giải thuật AprioriHybrid Giải thuật AprioriHybrid được thực hiên dựa trên nguyên tắc: những bước duyệt ban đầu sẽ sử dụng giải thuật Apriori và ở những bước duyệt sau đó sẽ chuyển sang dùng giải thuật AprioriTid nếu kích thước của tập ứng viên có thể lưu trữ vừa trong bộ nhớ

Mặc dù có nhiều phiên bản khác nhau của giải thuật Apriori được phát triển, vấn đề với các giải thuật Apriori đó là chúng tạo ra quá nhiều các tập ứng viên có độ dài 2 không phải là tập phổ biến Một giải thuật Băm và cắt tỉa trực tiếp (DHP–Direct Hashing and Prunning) [8 đã được phát triển có tác dụng làm giảm kích thước của các tập ứng viên bằng cách lọc bỏ khỏi bảng băm các tập mục có độ hỗ trợ không vượt quá ngưỡng minsup Nhờ khả năng lọc bỏ rất ưu việt mà giải thuật DHP tỏ ra hiệu quả hơn nhiều so với giải thuật Apriori (trong một số trường hợp, với cùng một bộ dữ liệu vào, khi DHP đã thực thi xong thì Apriori mới đang ở lần duyệt thứ 2)

Khả năng mở rộng (scalability) là yếu tố vô cùng quan trọng trong khai phá dữ liệu Các giải thuật cần có khả năng mở rộng để đáp ứng với sự gia tăng nhanh chóng của dữ liệu Eui-Hong và các cộng sự cố gắng tạo ra khả năng mở rộng đối với sự phân bố dữ liệu và phân bố các ứng viên bằng cách sử dụng giải thuật phân bố dữ liệu thông minh (IDD-Intelligent Data Distribution) và giải thuật phân bố hỗn hợp (HD-Hybrid Distribution) (xem [6 ) Giải thuật IDD giúp giải quyết vấn đề quá tải trong trao đổi dữ liệu và tính toán thừa bằng cách sử dụng bộ nhớ gộp để phân đoạn các ứng viên và di chuyển dữ liệu một cách hiệu quả Giải thuật HD được cải tiến từ IDD bằng cách sử dụng kỹ thuật phân đoạn động các ứng viên để duy trì tốt cân bằng tải trong xử lý

Một trong những kỹ thuật được sử dụng nhằm đáp ứng khả năng mở rộng trong khai phá dữ liệu đó là sử dụng một cấu trúc dữ liệu gọi là bản đồ hỗ trợ ph n đoạn (SSM - Segment Support Map) [7 Kỹ thuật này giúp làm giảm số lượng các tập ứng viên phải đếm Cấu trúc SSM chứa độ hỗ trợ (support count) của các tập mục có độ dài 1 Các độ hỗ trợ riêng lẻ sẽ được cộng vào với nhau để có được giá trị giới hạn trên (ngưỡng) cho các tập mục có độ dài k Sử dụng cấu trúc dữ liệu SSM trong giải thuật Apriori, chi phí để khởi tạo các tập mục có độ dài

1 có thể được giảm giảm xuống bằng cách kiểm tra các độ hỗ trợ trong SSM có lớn hơn ngưỡng độ hỗ trợ hay không Hơn thế nữa, các tập mục độ dài 1 có độ hỗ trợ nhỏ hơn ngưỡng sớm bị loại bỏ sẽ giúp giảm số lượng các tập mục ở cấp cao hơn cần phải đếm

Bên cạnh đó, các giải thuật tiến hóa (evolutionary algorithms) cũng đang được sử dụng rộng rãi để giải quyết các bài toán thuộc về nhiều lĩnh vực khoa học kỹ thuật khác nhau Giải thuật tiến hóa mô phỏng cơ chế tiến hóa trong sinh học và áp dụng chúng trong việc giải quyết các bài toán, đặc biệt là các bài toán tìm kiếm và tối ưu Giải thuật tiến hóa đã được áp dụng để giải quyết bài toán khai phá luật hợp như giới thiệu trong [8]

Một phiên bản khác của giải thuật Apriori là giải thuật AprioriAll được phát triển nhằm phục vụ cho khai phá các m u tu n t (sequential patterns) [14 Thuộc tính định danh người dùng được đưa vào tại mỗi bước sinh tập ứng viên và tại mỗi bước duyệt cơ sở dữ liệu giao dịch Giải thuật có mục đích làm giảm kích thước của tập ứng viên nhằm giảm số lần duyệt cơ sở dữ liệu

Dựa trên khái niệm về luật kết hợp thời gian th c (temporal association rule), các tác giả [6, 7] đã đưa ra những chiến lược thực sự hiệu quả hơn Trường thời gian có mặt trong tất cả các giao dịch và cần phải được xem xét tới trong quá trình tìm kiếm các tập phổ biến đặc biệt là khi không phải tất cả các tập mục đều tồn tại trong suốt giai đoạn thu thập dữ liệu (data gathering period) Khái niệm thời gian thực (temporal) được mở rộng cho độ hỗ trợ và độ tin cậy Độ hỗ trợ thời gian th c được xem là khoảng cách thời gian t i thiểu (minimum interval width) Do đó, một luật kết hợp sẽ chỉ được xem xét nếu nó thỏa mãn cả ngưỡng độ hỗ trợ thông thường và ngưỡng độ hỗ trợ thời gian thực,

Khai phá sử dụng Web với giải thuật Apriori

Thuật toán Apriori là một thuật toán kinh điển áp dụng trong khai phá luật kết hợp Thuật toán dựa trên nguyên lý Apriori tập con bất kỳ của một tập phổ biến cũng là một tập phổ biến Mục đích của thuật toán Apriori là tìm ra được tất cả các tập phổ biến có thể có trong cơ sở dữ liệu giao dịch D Thuật toán hoạt động theo nguyên tắc quy hoạch động, nghĩa là từ các tập i = { c i | c i là tập phổ biến, |c i | = 1} gồm mọi tập mục phổ biến có độ dài i (1 ≤ i ≤ k), đi tìm tập k+1 gồm mọi tập mục phổ biến có độ dài k+1 Các mục i 1 , i 2 ,…, i n trong thuật toán được sắp xếp theo một thứ tự cố định

Input: Cơ sở dữ liệu giao dịch D = {t 1 , t 2 ,…, t m }

Output: Tập hợp tất cả các tập phổ biến

Tính sup(i j ) = count(i j )/m cho mỗi mục i 1 , i 2 ,…, i n bằng cách quét CSDL một lần và đếm số lần xuất hiện của mỗi mục;

Tập ứng viên có độ dài 1 là C 1 = {i 1 , i 2 ,…, i n };

Tập các tập phổ biến có độ dài 1 là 1 = {i j | i j ∈ C1, sup(i j ) ≥ minsup}; k=1; termination = false;

Tạo tập ứng viên C k+1 bằng các kết hợp các phần tử có độ dài k có k-1 mục trùng nhau và loại bỏ các ứng viên có chứa tập con độ dài k không thuộc k ;

Quét CSDL một lần và tính toán độ hỗ trợ cho mỗi phần tử của C k+1 Nếu độ hỗ trợ lớn hơn minsup thì kết nạp phần tử đó vào k+1 ;

Thủ tục tạo tập ứng viên C k+1 có nhiệm vụ sinh ra (generation) các tập mục có độ dài k+1 từ các tập mục có độ dài k trong tập k Thủ tục này được thi hành thông qua việc nối (join) các tập mục có chung các tiền tố (prefix) và sau đó áp dụng nguyên lý Apriori để loại bỏ bớt những tập không thỏa mãn:

 Bước nối: Sinh các tập mục L k+1 là ứng viên của tập phổ biến có độ dài k+1 bằng cách kết hợp hai tập phổ biến P k và Q k có độ dài k và trùng nhau ở k-1 mục đầu tiên:

Lk+1 = Pk + Qk = {i1, i2,…, ik-1, ik, ik’} Với Pk = {i1, i2,…, ik-1, ik} và Qk = {i1, i2,…, ik-1, ik’}, trong đó i 1 ≤i2≤…≤ik-1≤ik≤ik’

 Bước tỉa: Giữ lại tất cả các ứng viên L k+1 thỏa thỏa mãn nguyên lý Apriori tức là mọi tập con có độ dài k của nó đều là tập phổ biến (∀X ⊆ Lk+1 và |X| k thì X ∈ Fk)

Trong mỗi bước k, thuật toán Apriori đều phải duyệt cơ sở dữ liệu giao dịch

D Khởi động thuật toán sẽ tiến hành duyệt D để có được 1 (loại bỏ những mục có độ hỗ trợ nhỏ hơn minsup)

Kết quả của thuật toán là tập gồm các tập phổ biến có độ dài từ 1 đến k:

F = F 1 ∪ F2 ∪ … ∪ Fk Để sinh các luật kết hợp thì đối với mỗi tập phổ biến I ∈ , ta xác định các tập mục không rỗng là con của I Với mỗi tập mục con s không rỗng của I ta sẽ thu được một luật kết hợp s (I-s) nếu độ tin cậy thỏa mãn: conf(s (I-s)) = supp(I)/supp(I-s) ≥ minconf với minconf là ngưỡng tin cậy cho trước

B ng 2.1: Các phi n truy cập của một người dùng

Phiên truy cập Các trang đã truy cập

Session 1 /shopping/comestic.htm , /shopping/fashion.htm , /cars.htm Session 2 /shopping/fashion.htm , /news.htm

Session 3 /shopping/fashion.htm , /sport.htm Session 4 /shopping/comestic.htm , /shopping/fashion.htm , /news.htm Session 5 /shopping/comestic.htm , /sport.htm

Session 6 /shopping/fashion.htm , /sport.htm Session 7 /shopping/comestic.htm , /sport.htm Session 8 /shopping/comestic.htm , /shopping/fashion.htm , /sport.htm , /cars.htm Session 9 /shopping/comestic.htm , /shopping/fashion.htm , /sport.htm

Giả sử sau khi tiền xử lý dữ liệu thu được từ web log, ta xác định được các phiên truy cập của người dùng như bảng 2.1 Ở đây mỗi phiên truy cập có thể coi là một giao dịch và mỗi trang được truy cập là một mục Việc áp dụng giải thuật Apriori có thể giúp xác định được những trang nào thường được truy cập cùng với nhau Những mẫu thu được sẽ cung cấp những tri thức rất hữu ích phục vụ cho những lĩnh vực như tiếp thị điện tử hay tổ chức lại website sao cho thuận tiện nhất đối với người dùng Để ngắn gọn, ta ký hiệu các trang đã truy cập như sau:

/shopping/comestic.htm I 1 /shopping/fashion.htm I2

Ta có cơ sở dữ liệu giao dịch D gồm 9 giao dịch với các tập mục như bảng 2.2 p dụng giải thuật Apriori cho cơ sở dữ liệu giao dịch này với các ngưỡng được lựa chọn là minsup = 2/9 ≈ 22% và minconf = 70%

B ng 2.2 Cơ sở dữ liệu giao dịch D

Bước 1: Duyệt CSDL giao dịch D để xác định độ hỗ trợ cho các tập phổ biến có độ dài 1 Các tập mục có độ hỗ trợ nhỏ hơn 2/9 sẽ bị loại bỏ Trong trường hợp này chưa có tập mục nào bị loại, tất cả các tập đều là tập phổ biến (hình 2.1)

Hình 2.1: oại bỏ các tập mục độ dài 1 có độ hỗ trợ nhỏ hơn minsup=2/9

Bước 2: Tạo ra các tập mục có độ dài 2 bằng cách kết nối các tập mục có độ dài 1, duyệt CSDL giao dịch D để xác định độ hỗ trợ cho từng tập mục và loại bỏ các tập mục có độ hỗ trợ nhỏ hơn 2/9 để thu được các tập phổ biến (hình 2.2)

Trong bước 2 này ta chưa cần sử dụng nguyên lý Apriori để tỉa bớt các tập mục không thỏa mãn vì tập con của các tập mục độ dài 2 là những tập mục có độ dài 1 và như đã xét ở bước 1, những tập mục có độ dài 1 đều là tập phổ biến

Số lần xuất hiện Độ hỗ trợ

Số lần xuất hiện Độ hỗ trợ

Số lần xuất hiện Độ hỗ trợ

Hình 2.2: oại bỏ các tập mục độ dài 2 có độ hỗ trợ nhỏ hơn minsup=2/9

Bước : Kết nối các tập mục có độ dài 2 để thu được các tập mục có độ dài 3

Trong bước này ta phải sử dụng đến nguyên lý Apriori để loại bỏ bớt những tập mục mà tập con của nó không phải là tập phổ biến

Sau khi kết nối ta thu được các tập sau đây:

{I 1 , I 2 , I 3 }, {I 1 ,I 2 , I 5 }, {I 1 , I 3 , I 5 }, {I 2 , I 3 , I 4 }, {I 2 , I 3 , I 5 }, {I 2 , I 4 , I 5 } Các tập {I 1 , I 3 , I 5 }, {I 2 , I 3 , I 4 }, {I 2 , I 3 , I 5 } và {I 2 , I 4 , I 5 } bị loại bỏ vì tồn tại những tập con của chúng không phải là tập phổ biến Cuối cùng ta còn các tập mục như hình 2.3

Hình 2.3: Các tập phổ biến độ dài 3

Bước 4: Kết nối hai tập mục {I 1 , I 2 , I 3 }, {I 1, I 2 , I 5 } thu được tập mục có độ dài 4 là {I 1 , I 2 , I 3 , I 5 } tuy nhiên tập mục này bị loại bỏ do tập con của nó là {I 2 , I 3 , I 5 } không phải là tập phổ biến Thuật toán kết thúc

Số lần xuất hiện Độ hỗ trợ

Số lần xuất hiện Độ hỗ trợ

Tập mục Số lần xuất hiện Độ hỗ trợ

Các tập phổ biến thu được là:

F = {{I 1 }, {I 2 }, {I 3 }, {I 4 }, {I 5 }, {I 1 , I 2 }, {I 1 , I 3 }, {I 1 , I 5 }, {I 2 , I 3 }, {I 2 , I 4 }, {I 2 , I 5 }, {I 1 , I 2 , I 3 }, {I 1 , I 2 , I 5 }} Để sinh ra các luật kết hợp, cần tách các tập phố biến thành hai tập không giao nhau và tính độ tin cậy cho các luật tương ứng Luật nào có độ tin cậy vượt ngưỡng minconf = 70% sẽ được giữ lại Ví dụ: xét tập phổ biến: {I 1 , I 2 , I 5 } Ta có các luật sau đây:

R 1 : I 1 , I 2 I 5 conf(R 1 ) = supp({I 1 , I 2 , I 5 })/supp({I 1 , I 2 }) = 2/4 = 50% (R 1 bị loại)

R 4 : I 1 I 2 , I 5 conf(R2) = supp({I1, I2, I5})/supp({I1}) = 2/6 = 33% (R4 bị loại)

R 5 : I 2 I 1 , I 5 conf(R 2 ) = supp({I 1 , I 2 , I 5 })/supp({I 2 }) = 2/7 = 29% (R 5 bị loại)

Từ luật R 2 ta có thể kết luận rằng, nếu người dùng quan tâm đến các trang comestic.htm và car.htm thì nhiều khả năng người dùng này cũng quan tâm đến trang fashion.htm Đây có thể là gợi ý cho một kế hoạch quảng cáo Tương tự, từ luật R 6 ta có thể kết luận, nếu người dùng quan tâm đến xe hơi thì họ cũng quan tâm đến thời trang và mỹ phẩm Vậy nên đặt các banner quảng cáo và các liên kết đến các trang fashion.htm và comestic.htm ngay trên trang car.htm để thuận tiện cho người dùng.

Các kỹ thuật khai phá song song luật kết hợp

Lý thuyết về xử lý song song (parallel processing) bắt đầu cuối những năm

1940 khi J.Von Neumann giới thiệu một số mô hình hạn chế của tính toán song song có tên otomat tế bào mà chủ yếu là một mảng hai chiều các bộ xử lý trạng thái hữu hạn được tương kết theo dạng hình lưới Từ đó đến nay, lý thuyết về xử lý song song trở thành lĩnh vực nghiên cứu quan trọng và ngày càng đem lại những dấu hiệu khả quan trong việc xây dựng một mô hình lập trình mới có những tính năng vượt trội so với mô hình lập trình tuần tự truyền thống Việc ứng dụng lập trình song song trong giải quyết các bài toán khai phá dữ liệu từ lâu đã được nhiều nhà nghiên cứu quan tâm Đối với lĩnh vực khai phá luật kết hợp cũng không phải là một ngoại lệ Có nhiều thuật toán khai phá song song luật kết hợp đã được nghiên cứu, trong đó đáng chú ý phải kể đến các thuật toán dựa trên nền tảng của thuật toán Apriori do Agrawal và C.Shafer đề xuất [2-3] Các thuật toán này được thiết kế trên các hệ thống tính toán song song sử dụng kiến trúc không chia sẻ (shared- nothing architecture) với đặc điểm như sau: o Hệ có N bộ xử lý (processor), mỗi bộ xử lý P i có bộ nhớ trong (RAM) và bộ nhớ ngoài (thường là ổ đĩa) độc lập với các bộ xử lý còn lại trong hệ thống o N bộ xử lý này có thể giao tiếp với nhau thông qua một mạng truyền thông và sử dụng cơ chế truyền thông điệp (message passing)

Hình 2.4: Minh họa giải thuật ph n ph i độ hỗ trợ tr n 03 bộ xử lý song song [2]

Thuật toán đầu tiên phải kể tới đó chính là thuật toán ph n phối độ hỗ trợ

(count distribution) Thuật toán này dựa trên nền tảng của thuật toán Apriori Hệ thống tính toán gồm N bộ xử lý P 1 , P 2 ,…, P N Cơ sở dữ liệu giao dịch D ban đầu được chia ra làm N phần D 1 , D 2 ,…,D N , mỗi phần được giao cho một bộ xử lý

Thuật toán này hoạt động tương tự như thuật toán Apriori, tức là tại bước thứ k của thuật toán, mỗi bộ xử lý sẽ kết nối các tập phổ biến có độ dài k-1 để tạo ra các tập ứng viên có độ dài k Sau đó, mỗi bộ xử lý P i sẽ duyệt cơ sở dữ liệu giao dịch D i của riêng nó để xác định độ hỗ trợ cục bộ cho mỗi ứng viên Các bộ xử lý sẽ trao đổi thông tin cho nhau để cập nhật độ hỗ trợ toàn cục cho các ứng viên (quá trình đồng bộ hóa) Cuối cùng các bộ xử lý sẽ căn cứ vào minsup để chọn ra tập những tập phổ biến k từ tập ứng viên C k Quá trình này được lặp lại nhiều lần Chú ý là tại bước đầu tiên k = 1 của thuật toán, mỗi bộ xử lý đều nhận được 1 là tập các tập phổ biến có độ dài 1 và đều xuất phát từ các tập phổ biến có độ dài 1 này để tạo các tập ứng viên có độ dài 2,… Do có cùng xuất phát điểm và tại mỗi bước của thuật toán đều có thao tác đồng bộ hóa nên các bộ xử lý đều thu được tập các tập phổ biến k giống hệt nhau sau mỗi bước của thuật toán Ưu điểm của giải thuật phân phối độ hỗ trợ là không yêu cầu phải có sự trao đổi các bộ dữ liệu giữa các bộ xử lý mà chỉ trao đổi thông tin về độ hỗ trợ Do đó, các bộ xử lý có thể hoạt động một cách độc lập và bất đồng bộ trong quá trình đọc dữ liệu Tuy nhiên, nhược điểm của giải thuật này là không khai thác được sức mạnh tổng hợp bộ nhớ của toàn hệ thống một cách hiệu quả Giả sử rằng mỗi bộ xử lý có bộ nhớ với dung lượng là |M| Số lượng các ứng viên tốt đa có thể đếm qua mỗi lần lặp được giới hạn bởi |M| Khi chúng ta tăng số lượng các bộ xử lý từ 1 đến

N, hệ thống sẽ có bộ nhớ tổng thể với dung lượng là N x |M|, nhưng chúng ta vẫn chỉ đếm được |M| tập ứng viên qua mỗi lần lặp bởi vì do tính chất của thuật toán phân phối độ hỗ trợ là mỗi bộ xử lý đều tính toán trên tập ứng viên C k giống hệt nhau Chính vì thế, thuật toán ph n phối liệu (data distribution) đã được đề xuất như một bước cải tiến nhằm khai thác tốt hơn sức mạnh tổng hợp của bộ nhớ hệ thống khi số lượng bộ xử lý tăng lên

Hình 2.5: Minh họa giải thuật ph n ph i dữ liệu tr n 03 bộ xử lý song song [2]

Hình 2.6: Mô hình khai phá song song luật kết hợp từ dữ liệu truy cập web

Phân định các phiên truy cập

Tách các trường dữ liệu

Phân định các phiên truy cập

Tách các trường dữ liệu

Phân định các phiên truy cập

Tách các trường dữ liệu

Phân chia tập các tập phổ biến cho N bộ xử lý

Bộ xử lý P 2 Bộ xử lý P N

Tập các tập phổ biến F

Sinh tập phổ biến dựa trên thuật toán xử lý song song

Bộ xử lý P 1 Bộ xử lý P 2 Bộ xử lý P N

Tập các luật kết hợp mạnh

Trong thuật toán này, mỗi bộ xử lý sẽ tiến hành cập nhật độ hỗ trợ cho một số các tập thuộc tính ứng cử viên của riêng nó Do đó, khi số bộ xử lý trong hệ thống tăng lên, thuật toán này có thể cập nhật độ hỗ trợ cho rất nhiều các tập thuộc tính ứng cử viên trong mỗi lần lặp Nhược điểm của thuật toán này là mỗi bộ xử lý phải truyền và nhận dữ liệu trong mỗi lần lặp nên nó chỉ khả thi khi hệ thống có một môi trường truyền thông nhanh và ổn định giữa các nút trong hệ thống Thuật toán song song phân phối dữ liệu (data distribution) cũng dựa trên nền thuật toán Apriori Hệ thống tính toán gồm N bộ xử lý P 1 , P 2 ,…, P N Cơ sở dữ liệu giao dịch D ban đầu cũng được chia ra làm N phần D 1 , D 2 ,…,D N , mỗi phần được giao cho một bộ xử lý Đầu tiên, mỗi bộ xử lý sẽ đều xuất phát từ tập các tập phổ biến có độ dài 1 giống nhau Tại mỗi bước của thuật toán, mỗi bộ xử lý P i sẽ tạo tập ứng viên C k bằng cách kết nối các tập phổ biến có độ dài k trong k Tập C k sau đó được chia đều cho

N bộ xử lý, còn Pi chỉ giữ lại 1 phần C k i Sau khi đếm xong độ hỗ trợ, mỗi bộ xử lý

P i chọn ra những tập phổ biến cục bộ F k i từ C k i tương ứng Các bộ xử lý tiến hành trao đổi F k i cho nhau sao cho tất cả các bộ xử lý đều nhận được F k để sinh C k+1 cho lần lặp tiếp theo Quá trình này cũng được lặp đi lặp lại nhiều lần

Tuy có cải tiến nhưng hạn chế của cả hai thuật toán trên (count distribution và data distribution) là ở chỗ do mọi giao dịch (hoặc bản ghi) trong cơ sở dữ liệu giao dịch đều có thể hỗ trợ một tập ứng viên nào đó nên các giao dịch hay bản ghi phải được đối sánh với tất cả các tập ứng viên Điều này dẫn đến việc thuật toán phân phối độ hỗ trợ phải lưu giữ tập các tập ứng cử viên giống nhau trên mọi bộ xử lý và thuật toán phân phối dữ liệu yêu cầu các bộ xử lý phải gửi dữ liệu cho nhau trong quá trình cập nhật độ hỗ trợ Hơn nữa, hai thuật toán này phải tiến hành đồng bộ hóa ở cuối mỗi pha thực hiện song song để trao đổi độ hỗ trợ cục bộ hoặc tập các tập phổ biến cho nhau Yêu cầu đồng bộ hóa trong suốt thời gian thực hiện của thuật toán sẽ làm giảm hiệu suất thực hiện của hệ thống do các bộ xử lý hoàn thành công việc sớm phải chờ đợi các bộ xử lý hoàn thành công việc muộn hơn Nguyên nhân của vấn đề này là do hai thuật toán trên mới chia công việc cho các bộ xử lý một cách công bằng chứ chưa chia một cách vừa công bằng vừa khôn ngoan Chính về thế thuật toán ph n phối tập ứng viên (candidate distribution) được đề xuất nhằm hạn chế những nhược điểm trên Thuật toán này cố gắng chia tập ứng viên sao cho các bộ xử lý có thể độc lập làm việc và hạn chế tối đa công việc đồng bộ hóa Bắt đầu một pha l nào đó (l được xác định dựa theo kinh nghiệm), thuật toán sẽ chia tập phổ biến F l-1 cho các bộ xử lý sao cho mỗi bộ xử lý P i có thể tạo ra tập ứng cử viên C m i (m ≥ l) độc lập với các bộ xử lý khác C m i  C m j   (với mọi i≠j) Đồng thời, dữ liệu cũng được chia lại sao cho mỗi bộ xử lý P i có thể cập nhật độ hỗ trợ cho các tập ứng cử viên trong C m i độc lập với các bộ xử lý khác Đồng thời, dữ liệu cũng được phân chia lại sao cho mỗi bộ xử lý P i có thể cập nhật độ hỗ trợ cho các tập ứng viên trong C m i một cách độc lập với các bộ xử lý còn lại trong hệ thống

Nhớ rằng, sự phân chia dữ liệu phụ thuộc rất nhiều vào bước phân chia tập ứng cử viên trước đó Nếu phân chia tập ứng cử viên không khéo léo thì chúng ta không thể có một phân hoạch dữ liệu cho các bộ xử lý mà chỉ có một phân chia tương đối – nghĩa là có thể có những phần dữ liệu trùng lặp trên các bộ xử lý Sau khi phân hoạch F k-1 , các bộ xử lý làm việc độc lập với nhau Việc cập nhật độ hỗ trợ cho tập các ứng cử viên cục bộ không đòi hỏi các bộ xử lý phải truyền thông với nhau Chỉ có một sự phụ thuộc duy nhất giữa các bộ xử lý là chúng phải gửi cho nhau những thông tin cần cho việc cắt tỉa các ứng cử viên không cần thiết Tuy nhiên, những thông tin này có thể được truyền cho nhau theo chế độ dị bộ và các bộ xử lý không cần phải đợi để nhận đầy đủ thông tin này từ các bộ xử lý khác Các bộ xử lý cố gắng cắt tỉa được càng nhiều càng tốt nhờ vào những thông tin đến từ các bộ xử lý khác Những thông tin đến muộn sẽ được sử dụng cho lần cắt tỉa tiếp theo

Chúng ta xem xét cách phân chia dữ liệu của thuật toán này thông qua một ví dụ đơn giản sau đây Cho F 3 = {ABC, ABD, ABE, ACD, ACE, BCD, BCE, BDE, CDE} Tiếp đó F 4 = {ABCD, ABCE, ABDE, ACDE, BCDE}, F 5 = {ABCDE} và

F 6 = ⍉ Chúng ta xét tập ε = {ABC, ABD, ABE} với các thành viên của nó có chung phân đầu là AB Nhớ rằng, các tập thuộc tính ABCD, ABCE, ABDE và ABCDE cũng có chung tiền tố AB Do đó, giả sử rằng các thuộc tính trong tập thuộc tính được sắp theo thứ tự từ vựng, chúng ta có thể phân chia các tập phổ biến trong F k dựa vào tiền tố có độ dài k-1 đầu tiên của các tập, nhờ vậy các bộ xử lý có thể làm việc độc lập với nhau

Bằng cách áp dụng một trong 03 giải thuật khai phá song song luật kết hợp đã được trình bày ở trên, mô hình khai phá song song luật kết hợp có thể được xây dựng như trong hình 2.6 Theo mô hình này, sau khi tiền xử lý dữ liệu ta sẽ thu được N cơ sở dữ liệu giao dịch con D1, D2,…, DN Cơ sở dữ liệu giao dịch Di sẽ được xử lý bởi bộ xử lý Pi Ta phối hợp hoạt động của N bộ xử lý bằng cách áp dụng một trong 03 thuật toán (phân phối độ hỗ trợ, phân phối dữ liệu, phân phối tập ứng viên) đã được trình bày ở trên Chú ý là trong mô hình này, tùy theo thuật toán khai phá song song được áp dụng mà có những giai đoạn của thuật toán các bộ xử lý sẽ hoạt động song song và độc lập (hoàn toàn bất đồng bộ), có những giai đoạn các bộ xử lý sẽ phải trao đổi dữ liệu để đồng bộ quá trình xử lý với nhau Mô hình này đòi hỏi các bộ xử lý phải được kết nối với nhau thông qua một mạng truyền thông tốc độ cao và hệ thống phải được phát triển dựa trên các công cụ hỗ trợ lập trình song song (ví dụ thư viện MPI) Sau khi tìm được tập các tập phổ biến (toàn cục), ta có thể tiếp tục áp dụng thuật toán sinh luật kết hợp song song để tìm các luật kết hợp mạnh bằng cách phân chia tập các tập phổ biến toàn cục cho các bộ xử lý Thuật toán sinh luật kết hợp song song hoàn toàn dựa trên thuật toán sinh luật kết hợp tuần tự và sẽ được trình bày trong mục 3.6 chương 3 Nhờ áp dụng các thuật toán xử lý song song đã nêu mà mô hình hệ thống như trên hình 2.6 có thể tận dụng tối đa tài nguyên phần cứng và phối hợp được sức mạnh của các bộ xử lý, giúp nâng cao hiệu năng quá trình khai phá so với xử lý tuần tự Tuy nhiên, việc xây dựng một hệ thống như vậy là tương đối phức tạp (về mặt lập trình) và đòi hỏi chi phí lớn.

Những vấn đề đặt ra khi khai phá luật kết hợp từ dữ liệu web log

Dữ liệu truy cập web (web log) thường được máy chủ ghi nhận lại dưới dạng các tập tin văn bản với các trường thông tin xác định (hình 2.7) Số lượng các trường thông tin được ghi lại tùy thuộc vào cấu hình được thiết lập của phần mềm máy chủ web Thông thường, dữ liệu sử dụng web được ghi lại thường gồm các trường thông tin sau đây:

1 Địa chỉ IP/Tên máy khách (IP Address/Remote host field)

2 Thời điểm truy cập (Date/Time field): chỉ ra thời điểm yêu cầu truy cập từ máy khách được máy chủ ghi nhận và đáp ứng

3 HTTP Request: chỉ ra phương thức trao đổi dữ liệu cũng địa chỉ tài nguyên được truy cập trên máy chủ

4 Mã trạng thái (Status code): chỉ ra kết quả của việc thực hiện yêu cầu truy cập (thành công hay không thành công)

5 Dung lượng dữ liệu trao đổi (Transfer volume field): chỉ ra dung lượng dữ liệu (tính bằng KB) được máy chủ trả về cho máy khách

Ngoài ra còn có một số các trường thông tin khác

Có rất nhiều vấn đề đặt ra khi khai phá dữ liệu sử dụng web từ các tập tin web server log Đối với luận văn này, tác giả tập trung vào các vấn đề sau đây:

 Các yêu cầu truy cập không phản ánh hành vi của người dùng

Dữ liệu sử dụng web có thể chứa thông tin về các yêu cầu truy cập không phải xuất phát từ người dùng Một trang web thường bao gồm nhiều thành phần đính kèm như: các tập tin hình ảnh, đồ họa, video, âm thanh,… Người dùng không quan tâm đến điều này, người dùng chỉ đơn thuần yêu cầu tải trang web (thường là các tập tin có phần mở rộng là htm, html, jsp, aspx hay php) thông qua việc click vào liên kết trên một trang đang mở hoặc trực tiếp gõ địa chỉ vào trình duyệt Sau khi trang web được xử lý, máy chủ sẽ trả về cho trình duyệt dưới dạng các thẻ HTML

Khi phân tích cấu trúc trang, trình duyệt sẽ tự động gửi thêm các yêu cầu (request) truy cập đến các tập tin thành phần đính kèm và các yêu cầu này cũng sẽ được máy chủ web ghi lại trong tập tin log Vấn đề ở chỗ, những yêu cầu truy cập tự động sinh bởi trình duyệt không phản ánh hành vi của người dùng và chúng ta phải lọc bỏ chúng khỏi tập dữ liệu web log trước khi tiến hành khai phá dữ liệu

Hình 2.7: Một tập tin web log v i các trường thông tin xác định

 Không có sự tách biệt giữa các phiên truy cập của người dùng Để có thể áp dụng được mô hình luật kết hợp vào dữ liệu sử dụng web, chúng ta phải xác định rõ các mục (item) và các giao dịch (transaction) Trong ngữ cảnh của khai phá sử dụng web, các mục là các trang hay tập tin được truy cập còn các giao dịch chính là các phiên truy cập của người dùng (user session) Phiên truy cập của người dùng có thể được định nghĩa một cách thô thiển là tập hợp các trang web được duyệt bởi một người dùng cụ thể, cho một mục đích cụ thể Tuy nhiên, việc phân định ra từng phiên truy cập của người dùng không phải là việc đơn giản

Các yêu cầu truy cập thường được máy chủ web ghi lại theo trình tự thời gian và các yêu cầu truy cập thuộc về các phiên truy cập của những người dùng khác nhau thì có thể nằm đan xen nhau Chúng ta phải có những cơ chế để xác định xem một yêu cầu truy cập sẽ thuộc về phiên truy cập nào

 Dữ liệu cần xử lý quá lớn và thường xuyên thay đổi

Tất cả các giải thuật khai phá luật kết hợp, dù hiệu quả đến đâu cũng sẽ bị giới hạn bởi dung lượng bộ nhớ của hệ thống tính toán Khi số lượng bản ghi cần xử lý quá lớn, nếu không áp dụng các kỹ thuật xử lý bổ sung có thể làm hệ thống tính toán bị treo Dung lượng dữ liệu truy cập web của các máy chủ được ghi lại dưới dạng các tập tin log trong cùng một khoảng thời gian có thể là rất khác nhau tùy theo số lượng truy cập được gửi đến máy chủ Dung lượng này có thể rơi vào khoảng vài chục đến hàng trăm megabyte mỗi ngày (tương ứng với khoảng vài ngàn đến hàng trăm ngàn bản ghi) Lượng dữ liệu tích lũy được ghi lại sau vài tuần hay vài tháng có thể lên tới hàng gigabyte

Kích thước dữ liệu vào (10^3)

Dung lượng bộ nhớ (MB)

Hình 2.8: S ti u t n bộ nh khi s mục vào tăng

Giới hạn kích thước bộ nhớ trong Giới hạn kích thước dữ liệu vào

Giả sử ta sử dụng một máy tính có cấu hình trung bình với dung lượng bộ nhớ trong khoảng 1GB Ta áp dụng một giải thuật khai phá luật kết hợp nào đó và giả sử tại một bước nào đó của giải thuật, cần phải sinh các tập ứng viên là các tập mục có độ dài 2 được ghép từ 2 mục bất kỳ trong n mục cho trước Mỗi mục ta đánh số bằng một số nguyên có dung lượng 4 byte Như vậy số ứng viên cần phải xét là:

Dung lượng bộ nhớ cần thiết để lưu trữ tất cả các ứng viên là:

Dung lượng này bị giới hạn bởi kích thước bộ nhớ trong 1GB (= 2 30 Byte) của máy tính tức là: 4n 2 ≤ 2 30 hay n≤ 2 14 = 16384 Như vậy, kích thước bộ nhớ trong của hệ thống tính toán đã giới hạn kích thước dữ liệu vào mà hệ thống có thể xử lý (không được phép vượt quá 16384 mục) Thực tế, đối với các hệ thống PC, chương trình của của chúng ta không được phép sử dụng hết toàn bộ dung lượng bộ nhớ trong mà còn phải chia sẻ với hệ điều hành và các chương trình ứng dụng khác, do đó dung lượng bộ nhớ thực sự dùng để tính toán sẽ còn bị hạn chế hơn rất nhiều

Hình 2.8 cho ta thấy sự gia tăng yêu cầu về dung lượng bộ nhớ khi kích thước dữ liệu (số mục) vào tăng Đường thẳng nét đứt nằm ngang biểu diễn giới hạn của kích thước bộ nhớ trong và đường thẳng nét liền đậm biểu diễn cho giới hạn của kích thước dữ liệu vào

Thông thường, dữ liệu truy cập web thường chỉ được truy cập bởi người quản trị máy chủ và ít khi được cung cấp rộng rãi vì lý do bảo mật Tuy nhiên, trang web http://ita.ee.lbl.gov cung cấp một số các mẫu truy cập web được thu thập từ một số máy chủ web của các công ty hay tổ chức có tên tuổi trên thế giới nhằm phục vụ cho việc nghiên cứu Ta có thể khảo sát một số mẫu web log được cung cấp để đánh giá về mặt dung lượng (xem bảng 2.4)

Câu hỏi đặt ra là ta sẽ phải làm gì khi dung lượng dữ liệu cần xử lý vượt quá giới hạn về bộ nhớ của hệ thống tính toán Một trong những cách tư duy hết sức tự nhiên đó là chia nhỏ tập dữ liệu thành các phần có dung lượng vừa với kích thước bộ nhớ trong và xử lý từng phần độc lập Giải pháp cho vấn đề này sẽ được trình bày trong chương tiếp theo

B ng 2.3: Các m u web log của một s máy chủ web được thu thập và cung cấp tại trang web http://ita.ee.lbl.gov

STT Máy chủ web Tổ chức Thời điểm khảo sát

1 EPA-WWW Research Triangle Park, NC

2 SDSC-WWW Trung tâm Siêu máy tính

Khoa Khoa học máy tính thuộc Đại học Calgary, Canada

Công ty ClarkNet – Nhà cung cấp đường truyền Internet tại Washington DC

Trung tâm Vũ trụ Kenedy tại lorida (thuộc NASA)

Một trong những thách thức khác khi tiến hành khai phá dữ liệu sử dụng web từ các tập tin server log đó là dữ liệu được cập nhật liên tục Một số phần mềm máy chủ web cho phép các nhà quản trị lựa chọn cách thức ghi lại dữ liệu truy cập trên nhiều tập tin log, mỗi tập tin log mới sẽ được tạo ra sau một chu kỳ nhất định (ngày/tuần/tháng) hoặc khi dung lượng tập tin vượt quá một giới hạn cho trước

Ngoài ra nhà quản trị cũng có thể lựa chọn ghi lại toàn bộ dữ liệu truy cập web lên một một tin log duy nhất và kích thước tập tin này sẽ gia tăng mãi

Hình 2.9 là giao diện cấu hình việc ghi dữ liệu truy cập (logging) của phần mềm máy chủ web IIS 7.5 Nếu ta lựa chọn mục Shedule là Daily thì sau mỗi ngày sẽ có một tập tin log mới được tạo ra (xem hình 2.10) Giả sử ngày 24/07 ta đã tiến hành khai phá luật kết hợp với dữ liệu thu được của 05 ngày từ ngày 20/07 đến 24/07 và thu được các tập phổ biến cũng như các luật kết hợp tương ứng

Kết luận chương 2

Luật kết hợp là loại mẫu điển hình nhất trong phân tích mẫu truy cập Web

Nội dung chương 2 tập trung trình bày sơ bộ về luật kết hợp cũng như những nghiên cứu trước đó về luật kết hợp Vấn đề khai phá song song luật kết hợp cũng được tập trung đề cập với một số giải thuật xử lý song song được đề xuất bởi Agrawal và C.Shafer Chương 2 cũng chỉ ra một số những trở ngại cơ bản khi tiến hành khai phá luật kết hợp từ dữ liệu sử dụng web Trong chương 3, tư tưởng Chia để trị sẽ được áp dụng với dữ liệu vào nhằm khắc phục những trở ngại khi phải đối mặt với lượng dữ liệu lớn và thường xuyên thay đổi

CHƯƠNG : TƯ TƯ NG CHIA Đ T Ị

T ONG KHAI PHÁ LUẬT KẾT HỢP

1 Áp dụng chiến lược Chia để trị trong bài toán khai phá luật kết hợp

Chia để trị (Divide and Conquer) là một trong những chiến lược đầu tiên được nghĩ tới khi phải đối mặt với các bài toán lớn Tư tưởng của chiến lược này như sau: Người ta phân chia bài toán cần giải thành các bài toán con Các bài toán con lại tiếp tục được phân thành các bài toán con nhỏ hơn, cứ thế tiếp tục cho tới khi ta nhận được các bài toán con hoặc là đã có thuật giải, hoặc là có thể dễ dàng đưa ra được thuật giải Sau đó ta tìm cách kết hợp nghiệm của các bài toán con để nhận được nghiệm của các bài toán con lớn hơn và cuối cùng nhận được nghiệm của bài toán cần giải Thông thường, các bài toán con nhận được trong quá trình phân chia là cùng dạng với bài toán ban đầu

Như đã trình bày trong chương 2, dữ liệu web log có hai đặc điểm hết sức quan trọng, đó là:

 Kích thước dữ liệu có thể lớn đến mức các giải thuật khai phá dữ liệu thông thường không thể áp dụng được do sự hạn chế về mặt bộ nhớ của hệ thống tính toán

 Dữ liệu web log thường xuyên thay đổi (phát sinh thêm dữ liệu) Nếu áp dụng các giải thuật khai phá dữ liệu thông thường, ta sẽ phải khai phá lại từ đầu mà không kế thừa được các kết quả khai phá trước đó

Chính vì thế việc áp dụng chiến lược Chia để trị trong khai phá luật kết hợp từ dữ liệu web log là một tư duy hết sức tự nhiên Thông thường, việc giải quyết bài toán khai phá luật kết hợp được chia thành hai pha:

 Pha 1: Sinh các tập phổ biến

 Pha 2: Sinh luật kết hợp từ các tập phổ biến tìm được ở pha 1

Trong luận văn này, tác giả đề xuất áp dụng chiến lược Chia để trị trong pha 1- Sinh tập phổ biến Tư tưởng của chiến lược này là: ph n chia nhỏ tập dữ liệu c n xử lý để xử lý từng ph n

Giả sử phải tìm các tập phổ biến từ cơ sở dữ liệu giao dịch D với ngưỡng độ hỗ trợ (minsup) là p Ta có thể áp dụng chiến lược Chia để trị theo cách như sau:

Bước 1: Ta chia nhỏ D thành m cơ sở dữ liệu con D 1 , D 2 , …, D m Các c sở dữ liệu con này là các tập con đôi một không giao nhau của D, tức là: D = D 1 ∪ D2

…∪ Dm và Di ∩ Dj = ϕ với ∀i, j ∈ [1, m và i ≠ j.

Bước 2: Lần lượt áp dụng giải thuật khai phá luật kết hợp trên các cơ sở dữ liệu con D 1 , D 2 ,…, D m với cùng ngưỡng độ hỗ trợ là p ta thu được các tập 1 , F 2 ,…,

F m là tập các tập phổ biến tương ứng của D 1 , D 2 ,…, D m Ta gọi các tập phổ biến trên một cơ sở dữ liệu con D j là các tập phổ biến cục bộ (local frequent itemsets)

Bước 3: Kết hợp các tập 1 , F 2 ,…, m để thu được tập là tập các tập phổ biến tương ứng với cơ sở dữ liệu giao dịch gốc D Các tập phổ biến trên toàn bộ cơ sở dữ liệu giao dịch gốc D gọi là các tập phổ biến toàn cục (global frequent itemsets)

Một trong những điều kiện để có thể áp dụng thành công chiến lược Chia để trị đó là ta phải khẳng định được việc kết hợp nghiệm của các bài toán con chắc chắn sẽ thu được nghiệm của bài toán ban đầu Cụ thể là ta sẽ phải trả lời hai câu hỏi sau đây:

1 Việc kết hợp các tập 1 , F 2 , …, m có thể khôi phục lại được tập hay không?

2 Nếu có, thuật toán nào sẽ được sử dụng để xây dựng lại tập từ 1 , F 2 ,…, m ?

2 C sở toán học cho việc áp dụng chiến lược Chia để trị

Ký hiệu * = F 1 ∪ F2 … ∪ Fn Ta thấy rằng việc khôi phục lại được tập từ các tập 1, F2,…, n chỉ có thể thực hiện được nếu F ⊆ F * Bởi vì nếu F ⊆ F * có nghĩa là F * bảo tồn được các tập phổ biến vốn có trong

Hình 3.1: Tương quan l c lượng giữa các tập phổ biến cục bộ và toàn cục

Trong trường hợp ngược lại, nếu F ⊈ F * thì có nghĩa là việc tìm các tập phổ biến cục bộ trên từng cơ sở dữ liệu con D j sau đó kết hợp lại đã làm mất đi một số tập phổ biến ban đầu đáng ra có trong D (hình 3.1) Chúng ta không có cách nào để tìm lại các tập phổ biến đã mất này và lúc này chiến lược Chia để trị không thể áp

F * chỉ chứa một phần của , phần còn lại của không thể xác định được từ * dụng thành công do việc kết hợp nghiệm của các bài toán con không giúp ta xây dựng lại được chính xác nghiệm của bài toán ban đầu Để chứng minh ⊆ F * ta sẽ chứng minh rằng mọi phần tử của cũng thuộc

F * Muốn chứng minh mọi phần tử của cũng thuộc * ta phải chứng minh rằng mỗi tập phổ biến I i ∈ cũng phải thuộc về ít nhất một trong số các tập 1,…, m Nói cách khác, ta phải chứng minh rằng nếu một tập mục là tập phổ biến toàn cục ứng với CSDL giao dịch D thì nó cũng là tập phổ biến cục bộ ứng với ít nhất một đoạn CSDL con D j nào đó của D Tức là: Nếu sup ( ) D I i ≥ p thì phải j ∈ [1, m] sao cho sup ( )

D j I i ≥ p Trong đó: Ii là tập mục, p là ngưỡng độ hỗ trợ (minsup), sup ( ) D I i là độ hỗ trợ của I i ứng với cơ sở dữ liệu giao dịch D và sup ( )

D j I i là độ hỗ trợ của Ii ứng với cơ sở dữ liệu giao dịch con Dj

Ta sẽ chứng minh mệnh đề này bằng phương pháp phản chứng:

Giả sử nếu với sup ( ) D I i ≥ p, ∄j ∈ [1, m] sao cho sup ( ) D j I i ≥ p, tức là ∀j ∈ [1, m] ta đều có sup ( ) D j I i < p

Gọi số lần xuất hiện (support count) của I i trong cơ sở dữ liệu D là C I D ( ) i Theo định nghĩa về độ hỗ trợ thì sup ( ) D i D ( ) i

 D Từ giả thiết sup ( ) D I i  p, ta có C I D ( ) i p

Gọi C D j ( ) I i là số lần xuất hiện của Ii trong cơ sở dữ liệu con Dj Theo định nghĩa về độ hỗ trợ thì sup ( ) D j i D j ( ) i j

I  D Từ giả thiết phản chứng: ∀j ∈ [1, m] ta đều có sup ( ) D j I i < p, từ đó suy ra j ( )

C I  p D (∀j ∈ [1, m]) p dụng bất đẳng thức trên lần lượt cho các cơ sở dữ liệu con D 1 , D 2 ,…, D m , ta thu được m bất đẳng thức sau đây:

Cộng các bất đẳng thức trên theo từng vế ta được:

Do D = D 1 ∪ D2 …∪ Dm và các tập D 1 , D 2 ,…, D m đôi một không giao nhau suy ra:

Dễ thấy hai bất đẳng thức (3.1) và (3.5) mâu thuẫn với nhau nên giả thiết phản chứng ban đầu mà chúng ta đưa ra là sai

Sinh các tập phổ biến cục bộ

Như đã trình bày ở trên, đối với các mô hình được đề xuất trong hình 3.2 và hình 3.3 , để sinh các tập phổ biến cục bộ, ta có thể sử dụng một trong số bất kỳ các giải thuật tìm tập phổ biến đang được sử dụng như Apriori hay P-Growth chẳng hạn Trong luận văn này, tác giả sử dụng giải thuật Apriori bởi vì nó khá đơn giản khi cài đặt và là một minh họa tốt khi áp dụng chiến lược Chia để trị trong việc tìm các tập phổ biến

Input: D i : Cơ sở dữ liệu giao dịch con thứ i minsup: Ngưỡng độ hỗ trợ chung

Output: Tập các tập phổ biến cục bộ i function Apriori(Di: CSD giao dịch con, minsup: Ngưỡng support chung) { mincount = minsup* | D |;

F 1 = { các tập phổ biến có độ dài 1}; for(k=1; F k != ⍉; k++) {

Ck+1 = Apriori_gen(F k); for each t ∈ D

Apriori_Gen là hàm làm nhiệm vụ kết nối các tập ứng viên có độ dài k (trùng nhau ở k-1 mục đầu tiên) để tạo ra các tập phổ biến có độ dài k+1: function Apriori_gen(F k : tập các tập phổ biến độ dài k): Tập ứng viên có độ dài k+1

C k+1 = ⍉; for each l i ∈ Fk for each l j ∈ Fk if (l i [1]=l j [1]) and (l i [2]=l j [2 ) … and (l i [k-1]=l j [k-1]) and (l i [k] 1) then

Call gen_rules(l k , a m-1 ); end end

End Để sinh luật song song, chúng ta chia tập các tập thuộc tính phổ biến cho tất cả các bộ xử lý trong hệ thống Mỗi bộ xử lý sinh luật trên các tập phổ biến được phân chia cho nó sử dụng thuật toán trên Trong thuật toán sinh luật song song, để tính độ tin cậy của một luật, mỗi bộ xử lý có thể cần phải tham chiếu đến độ hỗ trợ của một tập phổ biến lưu trong bộ nhớ của một bộ xử lý khác Vì lý do này, các bộ xử lý nên có thông tin về toàn bộ các tập phổ biến truớc khi thực hiện thuật toán sinh luật song song Lưu ý là một khi mỗi bộ xử lý đã có thông tin về toàn bộ các tập phổ biến thì các bộ xử lý thực hiện việc sinh luật phổ biến một cách hoàn toàn độc lập với nhau (dị bộ)

Trong chương này, tác giả tập trung trình bày ý tưởng cũng như những cơ sở toán học cho việc áp dụng chiến lược Chia để trị trong khai phá luật kết hợp đồng thời đề xuất một thuật toán đơn giản cho phép tìm ra các tập phổ biến toàn cục dựa trên các tập phổ biến cục bộ với độ phức tạp đa thức Tác giả cũng đưa ra mô hình hệ thống khai phá luật kết hợp từ dữ liệu web log dựa trên chiến lược Chia để trị và mở rộng mô hình cho hệ thống song song gồm N bộ xử lý Một số phân tích cũng như những đánh giá, so sánh về ưu điểm và nhược điểm của các hệ thống cũng được tập trung trình bày Trong chương tiếp theo, tác giả sẽ đưa ra các kết quả thực nghiệm nhằm chứng minh những ưu điểm của mô hình hệ thống được đề xuất.

Kết luận chương 3

4.1 Đặc trưng của dữ liệu thực nghiệm

Dữ liệu thực nghiệm được lấy từ máy chủ đặt website của Phòng Đào tạo - trường Đại học Hàng hải có địa chỉ là http://daotao.vimaru.edu.vn Phần mềm máy chủ web (Apache Server) được cấu hình ghi lại nhật ký truy cập theo từng ngày

Dữ liệu mỗi ngày tương ứng với một tập tin log Ta khảo sát trên các tập tin dữ liệu của 04 ngày, từ ngày 20/07/2012 đến ngày 23/07/2012 (bảng 4.1)

B ng Các tập tin dữ liệu th c nghiệm

Tên tập tin Ngày tạo Dung lượng Số bản ghi Số lượng phiên truy cập

Các tập tin log tuân theo định dạng ECL (Extended Common Log ormat) là một định dạng tập tin log khá phổ biến Đối với định dạng này, mỗi bản ghi giao dịch sẽ bao gồm 9 trường thông tin cơ bản, ngăn cách nhau bởi dấu cách trống:

1 Trường tên máy khách (Remote host field)

2 Trường định danh (Identification field)

3 Trường xác thực người dùng (Authuser field)

4 Trường thời gian (Date/time field)

6 Trường mã trạng thái (Status code field)

7 Trường dung lượng dữ liệu trao đổi (Transfer volume field)

8 Trường đối tượng tham chiếu (Referrer field)

9 Trường tác nhân phía người dùng (User agent field)

4.2 Các thao tác tiền xử lý dữ liệu

Dữ liệu web log nguyên thủy không phù hợp cho việc áp dụng các mô hình khai phá dữ liệu mà phải thông qua quá trình tiền xử lý Dựa trên những nghiên cứu của Markov và Larose [13], để có thể khai phá luật kết hợp từ dữ liệu sử dụng web, dữ liệu web log cần phải trải qua một quá trình tiền xử lý gồm các giai đoạn như trên hình 4.1 Quá trình tiền xử lý này sẽ biến đổi dữ liệu dưới dạng các bản ghi

KẾT QUẢ THỰC NGHIỆM

Đặc trưng của dữ liệu thực nghiệm

Dữ liệu thực nghiệm được lấy từ máy chủ đặt website của Phòng Đào tạo - trường Đại học Hàng hải có địa chỉ là http://daotao.vimaru.edu.vn Phần mềm máy chủ web (Apache Server) được cấu hình ghi lại nhật ký truy cập theo từng ngày

Dữ liệu mỗi ngày tương ứng với một tập tin log Ta khảo sát trên các tập tin dữ liệu của 04 ngày, từ ngày 20/07/2012 đến ngày 23/07/2012 (bảng 4.1)

B ng Các tập tin dữ liệu th c nghiệm

Tên tập tin Ngày tạo Dung lượng Số bản ghi Số lượng phiên truy cập

Các tập tin log tuân theo định dạng ECL (Extended Common Log ormat) là một định dạng tập tin log khá phổ biến Đối với định dạng này, mỗi bản ghi giao dịch sẽ bao gồm 9 trường thông tin cơ bản, ngăn cách nhau bởi dấu cách trống:

1 Trường tên máy khách (Remote host field)

2 Trường định danh (Identification field)

3 Trường xác thực người dùng (Authuser field)

4 Trường thời gian (Date/time field)

6 Trường mã trạng thái (Status code field)

7 Trường dung lượng dữ liệu trao đổi (Transfer volume field)

8 Trường đối tượng tham chiếu (Referrer field)

9 Trường tác nhân phía người dùng (User agent field).

Các thao tác tiền xử lý dữ liệu

Dữ liệu web log nguyên thủy không phù hợp cho việc áp dụng các mô hình khai phá dữ liệu mà phải thông qua quá trình tiền xử lý Dựa trên những nghiên cứu của Markov và Larose [13], để có thể khai phá luật kết hợp từ dữ liệu sử dụng web, dữ liệu web log cần phải trải qua một quá trình tiền xử lý gồm các giai đoạn như trên hình 4.1 Quá trình tiền xử lý này sẽ biến đổi dữ liệu dưới dạng các bản ghi được đọc vào từ tập tin văn bản thành tập các giao dịch (phiên truy cập) của người dùng web

Hình 4.1: Quá trình tiền xử lý dữ liệu truy cập web

Một trang web thường bao gồm nhiều thành phần khác nhau Khi một trang web được tải về thì trình duyệt cũng tự động gửi những yêu cầu tải về các thành phần có liên quan, đặc biệt là các tập tin đồ họa (.gif, jpg, bmp…) tương ứng với banner hay menu của trang Để làm rõ hơn vấn đề này, hãy xét một trang web đơn giản là một tập tin html với cấu trúc như sau:

Ngày đăng: 05/12/2022, 18:01

HÌNH ẢNH LIÊN QUAN

Ta có cơ sở dữ liệu giao dịc hD gồm 9 giao dịch với các tập mục như bảng 2.2.  p dụng giải thuật Apriori cho cơ sở dữ liệu giao dịch này với các ngưỡng  được lựa chọn là minsup = 2/9 ≈ 22% và minconf = 70% - Luận văn thạc sĩ VNU UET ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
a có cơ sở dữ liệu giao dịc hD gồm 9 giao dịch với các tập mục như bảng 2.2. p dụng giải thuật Apriori cho cơ sở dữ liệu giao dịch này với các ngưỡng được lựa chọn là minsup = 2/9 ≈ 22% và minconf = 70% (Trang 23)
Hình 2.1: oại bỏ các tập mục độ dà i1 có độ hỗ trợ nhỏ hơn minsup=2/9 - Luận văn thạc sĩ VNU UET ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 2.1 oại bỏ các tập mục độ dà i1 có độ hỗ trợ nhỏ hơn minsup=2/9 (Trang 24)
B ng 2.2 Cơ sở dữ liệu giao dịc hD - Luận văn thạc sĩ VNU UET ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
ng 2.2 Cơ sở dữ liệu giao dịc hD (Trang 24)
Hình 2.3: Các tập phổ biến độ dài 3 - Luận văn thạc sĩ VNU UET ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 2.3 Các tập phổ biến độ dài 3 (Trang 25)
Hình 2.2: oại bỏ các tập mục độ dà i2 có độ hỗ trợ nhỏ hơn minsup=2/9 - Luận văn thạc sĩ VNU UET ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 2.2 oại bỏ các tập mục độ dà i2 có độ hỗ trợ nhỏ hơn minsup=2/9 (Trang 25)
Hình 2.4: Minh họa giải thuật p hn phi độ hỗ trợ t rn 03 bộ xử lý song song [2] - Luận văn thạc sĩ VNU UET ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 2.4 Minh họa giải thuật p hn phi độ hỗ trợ t rn 03 bộ xử lý song song [2] (Trang 27)
Hình 2.5: Minh họa giải thuật p hn phi dữ liệu t rn 03 bộ xử lý song song [2] - Luận văn thạc sĩ VNU UET ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 2.5 Minh họa giải thuật p hn phi dữ liệu t rn 03 bộ xử lý song song [2] (Trang 28)
Hình 2.6: Mơ hình khai phá song song luật kết hợp từ dữ liệu truy cập web - Luận văn thạc sĩ VNU UET ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 2.6 Mơ hình khai phá song song luật kết hợp từ dữ liệu truy cập web (Trang 29)
Hình 2.7: Một tập tin web log vi các trường thông tin xác định - Luận văn thạc sĩ VNU UET ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 2.7 Một tập tin web log vi các trường thông tin xác định (Trang 33)
Hình 2.8: Sti ut n bộ nh kh is mục vào tăng - Luận văn thạc sĩ VNU UET ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 2.8 Sti ut n bộ nh kh is mục vào tăng (Trang 34)
Hình 2.9 là giao diện cấu hình việc ghi dữ liệu truy cập (logging) của phần mềm máy chủ web IIS 7.5 - Luận văn thạc sĩ VNU UET ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 2.9 là giao diện cấu hình việc ghi dữ liệu truy cập (logging) của phần mềm máy chủ web IIS 7.5 (Trang 36)
Hình 2.9: Cấu hình tập tin log t rn Microsoft IIS 7.5 - Luận văn thạc sĩ VNU UET ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 2.9 Cấu hình tập tin log t rn Microsoft IIS 7.5 (Trang 37)
Hình 2.10: Các tập tin log được ghi theo từng ngày (từ 20/07 đến 25/07/2012) - Luận văn thạc sĩ VNU UET ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 2.10 Các tập tin log được ghi theo từng ngày (từ 20/07 đến 25/07/2012) (Trang 38)
Hình 3.1: Tương quan lc lượng giữa các tập phổ biến cục bộ và toàn cục - Luận văn thạc sĩ VNU UET ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 3.1 Tương quan lc lượng giữa các tập phổ biến cục bộ và toàn cục (Trang 40)
Hình 3.2: Mơ hình khai phá luật kết hợp da t rn chiến lược “Chia để trị” - Luận văn thạc sĩ VNU UET ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 3.2 Mơ hình khai phá luật kết hợp da t rn chiến lược “Chia để trị” (Trang 43)
Hình 3.3: Mơ hình “Chia để trị” trong khai phá song song luật kết hợp - Luận văn thạc sĩ VNU UET ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 3.3 Mơ hình “Chia để trị” trong khai phá song song luật kết hợp (Trang 50)
Như đã trình bày ở trên, đối với các mơ hình được đề xuất trong hình 3.2 và hình 3.3 , để sinh các tập phổ biến cục bộ, ta có thể sử dụng một trong số bất kỳ các  giải thuật tìm tập phổ biến đang được sử dụng như Apriori hay  P-Growth chẳng  hạn - Luận văn thạc sĩ VNU UET ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
h ư đã trình bày ở trên, đối với các mơ hình được đề xuất trong hình 3.2 và hình 3.3 , để sinh các tập phổ biến cục bộ, ta có thể sử dụng một trong số bất kỳ các giải thuật tìm tập phổ biến đang được sử dụng như Apriori hay P-Growth chẳng hạn (Trang 52)
Hình 4.1: Quá trình tiền xử lý dữ liệu truy cập web - Luận văn thạc sĩ VNU UET ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 4.1 Quá trình tiền xử lý dữ liệu truy cập web (Trang 57)
Hình 4.2: Yu cu truy cập Ri ∈ Sj nếu khoảng cách TS(Ri )- TS(Ro) θ - Luận văn thạc sĩ VNU UET ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 4.2 Yu cu truy cập Ri ∈ Sj nếu khoảng cách TS(Ri )- TS(Ro) θ (Trang 62)
Hình 4.5: Áp dụng phương pháp heuristic hưng thời gian - Luận văn thạc sĩ VNU UET ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 4.5 Áp dụng phương pháp heuristic hưng thời gian (Trang 64)
dữ liệu trên hình 4.5 thì tập các bản ghi có thể được phân tách ứng với 3 phiên truy cập:  - Luận văn thạc sĩ VNU UET ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
d ữ liệu trên hình 4.5 thì tập các bản ghi có thể được phân tách ứng với 3 phiên truy cập: (Trang 64)
Hình 4.7: Hệ th ng khai phá luật kết hợp da t rn giải thuật Apriori - Luận văn thạc sĩ VNU UET ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 4.7 Hệ th ng khai phá luật kết hợp da t rn giải thuật Apriori (Trang 67)
Từ bảng số liệu thực nghiệm và quan sát 4 biểu đồ, ta có thể rút ra một số nhận xét chung như sau:  - Luận văn thạc sĩ VNU UET ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
b ảng số liệu thực nghiệm và quan sát 4 biểu đồ, ta có thể rút ra một số nhận xét chung như sau: (Trang 69)
bảng kết quả thực nghiệm (bảng 4.4). Ngoài ra, căn cứ vào bảng kết quả thực nghiệm, ta cũng xây dựng được 04 biểu đồ biểu diễn sự thay đổi của thời gian xử lý  theo sự gia tăng của kích thước dữ liệu vào tương ứng với 04 ngưỡng độ hỗ trợ (các  hình 4.8a,b - Luận văn thạc sĩ VNU UET ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
bảng k ết quả thực nghiệm (bảng 4.4). Ngoài ra, căn cứ vào bảng kết quả thực nghiệm, ta cũng xây dựng được 04 biểu đồ biểu diễn sự thay đổi của thời gian xử lý theo sự gia tăng của kích thước dữ liệu vào tương ứng với 04 ngưỡng độ hỗ trợ (các hình 4.8a,b (Trang 69)
Hình 4.8a: Biểu đồ so sánh thời gian xử lý của 3 hệ th ng vi minsup= 0.25% - Luận văn thạc sĩ VNU UET ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 4.8a Biểu đồ so sánh thời gian xử lý của 3 hệ th ng vi minsup= 0.25% (Trang 71)
Hình 4.8b: Biểu đồ so sánh thời gian xử lý của 3 hệ th ng vi minsup= 0.5% - Luận văn thạc sĩ VNU UET ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 4.8b Biểu đồ so sánh thời gian xử lý của 3 hệ th ng vi minsup= 0.5% (Trang 71)
Hình 4.8d: Biểu đồ so sánh thời gian xử lý của 3 hệ th ng vi minsup= 1.00% - Luận văn thạc sĩ VNU UET ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 4.8d Biểu đồ so sánh thời gian xử lý của 3 hệ th ng vi minsup= 1.00% (Trang 72)
Hình 4.8c: Biểu đồ so sánh thời gian xử lý của 3 hệ th ng vi minsup= 0.75% - Luận văn thạc sĩ VNU UET ứng dụng khai phá luật kết hợp trong phân tích dữ liệu sử dụng web
Hình 4.8c Biểu đồ so sánh thời gian xử lý của 3 hệ th ng vi minsup= 0.75% (Trang 72)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN