Phân cụm dữ liệu và ứng dụng tìm những website tương tự

28 374 0
Phân cụm dữ liệu và ứng dụng tìm những website tương tự

Đ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

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN Công Nghệ Tri Thức và Ứng Dụng Phân cụm dữ liệu và ứng dụng tìm những website tương tự Giáo viên hướng dẫn GS.TSKH. Hoàng Kiếm Học viên: Huỳnh Lê Quốc Vương MHV: CH1101158 06 - 2012 LỜI MỞ ĐẦU: 3 I.QUÁ TRÌNH KHAI MỎ DỮ LIỆU: 4 1. Các bước khai khá dữ liệu: 4 1.1. Trích chọn dữ liệu 4 1.2. Tiền xử lý dữ liệu 6 1.3. Biến đổi dữ liệu 6 1.4. Khai thác dữ liệu 8 1.5. Đánh giá và biểu diễn tri thức 8 2. Một số bài toán trong Data Mining 8 II.PHÂN CỤM DỮ LIỆU: 9 1. Khái niệm về phân cụm dữ liệu 9 2. Độ đo tương tự 10 3. Những kỹ thuật tiếp cận trong phân cụm dữ liệu 11 3.1. Phương pháp phân chia 11 3.2. Phương pháp phân cấp 12 3.3. Phương pháp dựa trên mật độ 13 3.4. Phương pháp dựa trên lưới 13 4. Phân cụm dữ liệu bán giám sát 14 4.1. Giải thuật K-Means 15 4.2. Giải thuật Seeded-Kmeans 16 4.3. Thuật toán cho chương trình 17 III.KẾT QUẢ CHƯƠNG TRÌNH VÀ ĐÁNH GIÁ 18 1. Một số kết quả của chương trình 18 1 1.1. Thu thập dữ liệu một website 19 1.2. Tìm các website tương tự 21 1.3. Tìm các website theo chủ đề 21 1.4. Phân cụm các website 22 2. Đánh giá 25 2 Lời mở đầu: Mỗi buổi sáng, khi bạn thức dậy đọc báo điện tử. Bạn lướt qua các nội dung chính của một website nào đó. Sau đó bạn tiếp tục lướt qua website khác để tìm đọc. Khi đó sẽ có những bài báo có nội dung khá giống nhau, điều này rất phổ biến. Điều này làm tốn thời gian của bạn. Bạn muốn mình chỉ đọc chúng một lần ở một nơi. Sau khi diễn ra một lễ hội, hội họp, … sự kiện đặc biệt nào đó. Thì sẽ có rất nhiều bài báo về thông tin này, sẽ có những bài giống nhau, khác nhau. Và bạn sẽ phải tốn thời gian để lọc và kết hợp những nội dung bài báo này lại để có cái nhìn chính xác về sự kiện đó. Khi bạn muốn tìm hiểu về một thông tin nào đó, với nhiều công cụ tìm kiếm, điển hình là Google, bạn sẽ nhận được hàng loạt các website có nội dung liên quan đến thông tin đó. Bạn phải đọc, duyệt từng website. Nếu chưa đáp ứng đủ yêu cầu của bạn, bạn sẽ phải đọc sang website khác. Nhưng lại gặp phải trường hợp website này có nội dung y hệt website kia hay website này chỉ khác website kia một ít nội dung. Hoặc có vài nội dung xen kẻ không hữu ích cho bạn sẽ dễ làm bạn phân tâm, mất tập trung. Ngoài ra, hằng ngày bạn muốn có các thông tin về thời sự, hay an ninh, … ở các trang như http://www.tuoitre.vn http://dantri.com.vn … Bạn không muốn phải duyệt từng trang để có được thông tin đó. Bạn muốn có một chương trình nào đó tổng hợp lại các thông tin đó cho mình. Bằng cách gom lại các website, chủ đề tương tự nhau. Ta sẽ kết hợp các dữ liệu đó lại với nhau, lọc loại bỏ các nội dung giống nhau để đưa cho người dùng một kết quả đầy đủ và tốt nhất. Điều này thì liên quan khá chặt chẽ đến khái niệm data mining. Do đó chúng ta cùng tìm hiểu xem data mining là gì, chương trình sẽ ứng dụng chúng như thế nào để đạt được vấn đề đặt ra. 3 I. Quá trình khai mỏ dữ liệu: Trong vài thập kỷ gần đây, số lượng dữ liệu lưu trữ trong các hệ thống cơ sở dữ liệu cũng như các ứng dụng cơ sở dữ liệu trong các lĩnh vực kinh doanh và khoa học đã tăng lên một cách không ngờ. Những cơ sở dữ liệu rất lớn ra đời lên đến hàng trăm hàng ngàn Terabyte. Trong khi công nghệ cho việc lưu trữ dữ liệu có những bước tiến mạnh mẽ để đáp ứng kịp với yêu cầu phát triển thì các kỹ thuật để phân tích dữ liệu phát triển chậm chạp cho tới khi một số công ty nhận ra rằng các tri thức tiềm ẩn trong các nguồn dữ liệu khổng lồ của họ là một mỏ quý cần phải được khai thác nhằm hỗ trợ công việc kinh doanh vốn càng ngày càng phải đối mặt với những điều kiện cạnh tranh khốc liệt. Họ nhận ra rằng dữ liệu được lưu trữ trong cơ sở dữ liệu chỉ là phần nổi của một núi băng thông tin. Kỹ thuật rút trích tri thức từ các kho, cơ sở dữ liệu lớn được gọi là Data Mining. Các lợi ích thấy rõ của Data Mining đã thúc đẩy chúng phát triển nhanh chóng và rộng lớn trong những năm gần đây. Quá trình khai phá dữ liệu có thể chia thành các bước thực hiện như sau: 1. Các bước khai khá dữ liệu: 1.1. Trích chọn dữ liệu - Ở bước này các dữ liệu liên quan trực tiếp đến nhiệm vụ của quá trình KDD sẽ được thu thập từ các nguồn dữ liệu ban đầu. - Với giao thức http ta sẽ kết nối tới các URL để thu thập nguồn dữ liệu như (html, image, pdf, …). - Ta sẽ có nhiều luồng kết nối tới nhiều URL để thu thập dữ liệu. Từ nguồn dữ liệu này ta sẽ lấy được những URL khác, ta đưa những URL đó vào hàng đợi để chờ kết nối đến. Giống như hình dưới đây 4 Ở đây ta duyệt các trang của một website bằng cách tìm sẽ tìm kiếm theo chiều rộng - Gọi W là danh sách các website ta cần duyệt. - Gọi P là danh sách các trang cần duyệt của một website. P ban đầu chứa địa chỉ website cần duyệt - Ngừng duyệt webiste khi đã duyệt hết N trang của website hay website không còn trang nào để duyệt - Sau đây là các bước ta duyệt một website While ( điều kiện duyệt ) { Lấy trang đầu tiên trong P Nếu chưa duyệt Tìm các liên kết bên trong trang, đưa vào cuối danh sách P Tìm các liên kết bên ngoài, đưa vào cuối danh sách W 5 Đánh dấu đã duyệt } - Ta làm tương tự với danh sách W Trong phạm vi bài thu hoạch này chương trình chỉ xét duyệt với các website có nội dung là tiếng việt. Các website không phải là tiếng việt thì chương trình sẽ không duyệt. 1.2. Tiền xử lý dữ liệu - Có nhiệm vụ làm sạch, loại bỏ nhiễu, rút gọn và rời rạc hóa dữ liệu. - Với các trang html ta sẽ trích lấy văn bản. - Sau đó loại các ký tự dư thừa như (~!@#$, …) - Tiếp đến lọc thành các từ dựa vào từ điển hay bộ phân tích cú pháp. - Loại bỏ các stop-word (dựa vào danh sách stop-word, danh sách này sẽ được cập nhật theo thời gian bởi máy hay người) - Đếm số lần xuất hiện của các từ 1.3. Biến đổi dữ liệu - Nhằm chuẩn hóa và làm mịn dữ liệu để chuyển dữ liệu về dạng thuận lợi nhất phục vụ cho việc khai phá. - Lấy n từ xuất hiện nhiều nhất, chuyển số lần xuất hiện về % Bước 2 và 3 có thể được tóm tắt như hình dưới đây Lưu trữ thông tin của webiste 6 Các trang HTML của một website Chuyển về dạng văn bản Kho lưu trữ các trang dạng văn bản Vì sau này thuật toán phân tích câu, tách từ có thể thay đổi hay ta cần phải chạy nhiều thuật toán một lúc để tìm kết quả tốt nhất, cho nên phải lưu trữ lại các trang HTML (ở dạng văn bản) Phân tích lấy các top-word của website 7 Từ điển / bộ phân tích cú pháp câu Tách văn bản thành các câu Loại bỏ các câu thừa Tách các câu thành các từ Loại bỏ các stop-word Danh sách các stop-word Đếm số lần xuất hiện của các từ Kho lưu trữ các trang dạng văn bản Lấy các từ xuất hiện nhiều Chuyển số lần xuất hiện thành phần trăm Kho lưu trữ các top-word 1.4. Khai thác dữ liệu - Dùng các kỹ thuật phân tích để khai thác dữ liệu, trích chọn các mẫu thông tin cần thiết,… công đoạn này được xem là mất thời gian nhất và cũng là quan trọng nhất trong quá trình khai thác dữ liệu. - Đối với chương trình này, ban đầu ta sử dụng thuật toán phân cụm bán giám sát là Seed-KMeans để thử nghiệm với dữ liệu text. Sẽ được nói kỹ hơn trong phần phân cụm dữ liệu 1.5. Đánh giá và biểu diễn tri thức - Các thông tin và mối liên hệ giữa chúng vừa khám phá trong công đoạn trước được biểu diễn dưới các dạng trực quan đồng thời được đánh giá theo những tiêu chí nhất định. 2. Một số bài toán trong Data Mining - Phân lớp và dự đoán (Classification and Prediction): đưa một đối tượng vào một trong các lớp đã biết trước. Phân lớp và dự đoán còn được gọi là học có giám sát. Ví dụ từ nguồn dữ liệu thu thập từ khách hàng, sử dụng kỹ thuật phân lớp, ngân hàng có thể tìm ra các luật để phân chia khách hàng ra làm hai loại: loại thứ nhất nên đầu tư và loại thứ hai không nên đầu tư. - Luật kết hợp (Association rules): là lớp bài toán để tìm ra sự liên kết giữa một thuộc tính với các thuộc tính khác. Ví dụ: (tuổi < 25) và (thu nhập > 3 triệu) thì (xe sử dụng = Dream) - Phân tích chuỗi theo thời gian: giống như khai phá luật kết hợp nhưng có thêm tính thứ tự và thời gian. Giả sử ta có một cơ sở dữ liệu chứa các thông tin về các thảm họa tự nhiên. Từ dữ liệu này nếu ta có thể kết luận là nếu có lụt ở Huế thì ngày tiếp theo sẽ có mưa lũ ở Đà Nẵng thì đây là một luật có dạng nối tiếp. Những luật loại này rất có ích cho công việc dự báo. 8 - Phân cụm (Clustering): Nhóm các đối tượng thành từng cụm dữ liệu. Đây là phương pháp học không giám sát. Ví dụ trong lập quy hoạch đô thị, phân cụm giúp cho việc nhận dạng cá nhóm nhà theo kiến trúc và vị trí địa lý để lập quy hoạch đô thị hợp lý. - Mô tả khái niệm: Mô tả, tổng hợp và tóm tắt khái niệm, ví dụ như tóm tắt văn bản. Ở đây ta quan tâm về phân cụm dữ liệu chứ không phải phân loại dữ liệu bởi vì ta sẽ không biết xác định được các đặc tính chính xác của một cụm dữ liệu là gì, bao nhiêu lớp, chủ đề được phân loại. II. Phân cụm dữ liệu: 1. Khái niệm về phân cụm dữ liệu Phân cụm dữ liệu là một kỹ thuật phát triển mạnh mẽ trong nhiều năm trở lại đây do các ứng dụng và lợi ích to lớn của nó trong các lĩnh vực trong thực tế. Ở một mức cơ bản nhất người ta định nghĩa phân cụm dữ liệu như sau : - Phân cụm dữ liệu là một kỹ thuật trong Data mining nhằm tìm kiếm, phát hiện các cụm, các mẫu dữ liệu tự nhiên tiềm ẩn và quan trọng trong tập dữ liệu lớn để từ đó cung cấp thông tin, tri thức cho việc ra quyết định. - Do đó, phân cụm dữ liệu là quá trình phân chia một tập dữ liệu ban đầu thành các cụm dữ liệu sao cho các đối tượng trong một cụm thì “tương tự” nhau và các đối tượng trong các cụm khác nhau thì “phi tương tự” với nhau. Số cụm dữ liệu được xác định bằng kinh nghiệm hoặc bằng một số phương pháp phân cụm. 9 [...]... Nhiều giải thuật phân cụm tích hợp các ý tưởng của một vài phương pháp phân cụm, bởi vậy việc phân loại giải thuật đó không dễ như loại giải thuật chỉ phụ thuộc vào duy nhất một loại phương pháp phân cụm Hơn nữa, nhiều ứng dụng có thể có giới hạn phân cụm với yêu cầu tích hợp một số kỹ thuật phân cụm 4 Phân cụm dữ liệu bán giám sát Trong những năm trở lại đây, do phương pháp phân cụm dữ liệu không giám... tương tự - Xây dựng các tiêu chuẩn phân cụm - Xây dựng mô hình cho cấu trúc dữ liệu - Xây dựng thuật toán phân cụm và xác lập các điều kiện khởi tạo - Xây dựng các thủ tục biểu diễn và đánh giá kết quả phân cụm 2 Độ đo tương tự Có nhiều kiểu dữ liệu như kiểu thuộc tính nhị phân, kiểu thuộc tính khoảng, kiểu thuộc tính định danh, kiểu thuộc tính thứ tự, kiểu thuộc tính tỷ lệ, … và ứng với mỗi kiểu dữ. .. dựa trên học không giám sát và học có giám sát đã ra đời một phương pháp phân cụm dữ liệu mới đó là phương pháp phân cụm dữ liệu nửa giám sát Phương pháp phân cụm nửa giám sát không phải là một phương pháp phân cụm hoàn thiện nhưng nó đã phần nào khắc phục được những hạn chế và phát huy ưu điểm của phương pháp phân cụm không giám sát Phân cụm nửa giám sát là phương pháp sử dụng các thông tin bổ trợ để... tượng càng lớn và ngược lại, còn hàm tính độ phi tương tự tỉ lệ nghịch với hàm tính độ tương tự Trong quá trình phân cụm dữ liệu thì vấn đề trở ngại lớn nhất đó là nhiễu (noise) Nhiễu xuất hiện do trong quá trình thu thập thông tin, dữ liệu thiếu chính xác hoặc không đầy đủ Vì vậy chúng ta cần phải khử nhiễu trong quá trình tiến hành phân cụm dữ liệu Các bước của một bài toán phân cụm dữ liệu gồm: - Xây... định các đặc tính của dữ liệu, người ta đi tìm cách thích hợp để xác định "khoảng cách" giữa các đối tượng, hay là phép đo tương tự dữ liệu Đây chính là các hàm để đo sự giống nhau giữa các cặp đối tượng dữ liệu, thông thường các hàm này hoặc là để tính độ tương tự (Similar) hoặc là tính độ phi tương tự (Dissimilar) giữa các đối tượng dữ liệu Giá trị của hàm tính độ đo tương tự càng lớn thì sự giống... các đối tượng trong cụm; (2) Giải thuật kmedoids với mỗi cụm được đại diện bởi một trong số các đối tượng định vị gần tâm của cụm Các phương pháp phân cụm heuristic này làm việc tốt khi tìm kiếm các cụm có hình cầu trong các cơ sở dữ liệu có kích thước từ nhỏ tới trung bình Để tìm ra các cụm với các hình dạng phức tạp và phân cụm cho các tập dữ liệu rất lớn, các phương pháp dựa trên phân chia cần được... thập dữ liệu, nhưng những dữ liệu thu thập được trước đó sẽ bị mất 1.2 Tìm các website tương tự Trong cmd của Windows ta nhập lệnh sau java -jar file_jar folder -fs website_ name Ví dụ: java -jar E:\ClusteringSites.jar E:\DATA_STORAGE -fs http://tuoitre.vn Ta tìm được các website tương tự như http://tuoitre.vn: 1.3 Tìm các website theo chủ đề Ta mở file topic.txt trong thư mục DATA_STORAGE để nhập vào... cho quá trình phân cụm Các thông tin bổ trợ có thể được cho dưới dạng tập các cặp ràng buộc hoặc một tập nhỏ một số dữ liệu được dán nhãn Công việc xác định những tập ràng buộc hay những tập dữ liệu được dán nhãn được thực hiện bởi người phân cụm Việc xác định này tuỳ thuộc vào kinh nghiệm của người phân cụm hoặc có thể dựa vào các tiêu chuẩn khác nhau tuỳ theo mục đích của việc phân cụm Trong phần... việc phân cụm website sẽ được thực hiện trên những chủ đề này Thông thường một website sẽ có nhiều chủ đề, do đó các website nhiều chủ đề này sẽ không được phân cụm vào một chủ đề cụ thể nào hết Mà sẽ được phân cụm vào nhiều chủ đề, mỗi chủ đề sẽ ứng với bao nhiêu phần trăm đó Do đó người dùng sẽ dễ dàng tìm được một website chuyên về chủ đề nào đó (có nghĩa là phần trăm về chủ đề đó cao) hay một website. .. d(x, y) Với x là website A, y là website B Gọi s là tổng top-word của x và y, n là tổng số top-word của s, pxi là phần trăm của từ thứ i của s trong x, pyi là phần trăm của từ thứ i của s trong y 3 Những kỹ thuật tiếp cận trong phân cụm dữ liệu 3.1 Phương pháp phân chia Cho trước một cơ sở dữ liệu với n đối tượng hay các bộ dữ liệu, một phương pháp phân chia được xây dựng để chia dữ liệu thành k phần, . Mining 8 II.PHÂN CỤM DỮ LIỆU: 9 1. Khái niệm về phân cụm dữ liệu 9 2. Độ đo tương tự 10 3. Những kỹ thuật tiếp cận trong phân cụm dữ liệu 11 3.1. Phương pháp phân chia 11 3.2. Phương pháp phân cấp. nghĩa phân cụm dữ liệu như sau : - Phân cụm dữ liệu là một kỹ thuật trong Data mining nhằm tìm kiếm, phát hiện các cụm, các mẫu dữ liệu tự nhiên tiềm ẩn và quan trọng trong tập dữ liệu lớn. CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN Công Nghệ Tri Thức và Ứng Dụng Phân cụm dữ liệu và ứng dụng tìm những website tương tự Giáo viên hướng dẫn GS.TSKH. Hoàng Kiếm Học viên: Huỳnh Lê

Ngày đăng: 10/04/2015, 16:26

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan