Các hệ thống tìm kiếm thông tin hay nói ngắn gọn là các máy tìm kiếm Web thông thường trả lại một danh sách các tài liệu được phân hạng mà người dùng sẽ phải tốn công chọn lọc trong một
Trang 1LỜI CẢM ƠN
Để hoàn thành được tốt báo cáo này, em xin gửi lời cảm ơn chân thành nhất
đến thầy giáo ThS.Trần Hải Thanh Thầy đã hướng dẫn dìu dắt và tạo điều kiện
giúp đỡ em trong thời gian thực hiện đề tài báo cáo đồ án Thầy không chỉ truyền lại cho chúng em những kiến thức chuyên nghành mà còn rèn luyện cho chúng em nghị lực, khát khao vươn lên, phát huy khả năng tư duy sáng tạo trong mọi lĩnh vực Bên cạnh đó, em còn có cơ hội được tiếp xúc và làm việc trong một môi trường chuyên nghiệp và thực tế
Sau một thời gian tìm hiểu đề tài, em đã hoàn thành đúng tiến độ dự kiến Để đạt được kết quả này, em đã nỗ lực thực hiện và đồng thời cũng nhận được rất nhiều
sự giúp đỡ, quan tâm, ủng hộ của các thầy cô bạn bè và gia đình
Em xin chân thành cảm ơn các thầy cô và ban lãnh đạo trường Đại học Công nghệ thông tin và truyền thông – Đại học Thái Nguyên đã nhiệt tình giảng dạy và truyền đạt kiến thức quý báu và bổ ích trong suốt quá trình em học tập tại trường
Vì thời gian có hạn nên không thể tránh khỏi những thiếu sót, em rất mong nhận được sự đóng góp ý kiến từ thầy cô và các bạn Em xin chân thành cảm ơn!
Thái Nguyên, ngày tháng 05 năm 2017
Sinh viên thực hiện
Đinh Hữu Vĩ
Trang 2LỜI CAM ĐOAN
Em xin cam đoan đồ án này là quá trình nghiên cứu độc lập của riêng em Các số liệu sử dụng phân tích trong đồ án có nguồn gốc rõ ràng, đã công bố theo đúng quy định Các kết quả nghiên cứu trong đồ án do em tự tìm hiểu, phân tích một cách trung thực, khách quan và phù hợp với thực tế Các kết quả này chưa từng được công bố trong bất kỳ nghiên cứu nào khác
Thái Nguyên, ngày tháng 05 năm 2017
Sinh viên thực hiện
Đinh Hữu Vĩ
Trang 3MỤC LỤC
LỜI CẢM ƠN 1
LỜI CAM ĐOAN 2
MỤC LỤC 3
DANH MỤC HÌNH 5
DANH MỤC CÁC TỪ VIẾT TẮT 6
LỜI MỞ ĐẦU 7
CHƯƠNG 1: GIỚI THIỆU VỀ KHAI PHÁ DỮ LIỆU 9
1.1 Khai phá dữ liệu 9
1.2 Các chức năng chính của khai phá dữ liệu 10
1.3 Khai phá dữ liệu văn bản (TextMining) và khai phá dữ liệu web (WebMining) 11
1.3.1 Các bài toán trong khai phá dữ liệu văn bản 11
1.3.2 Khai phá dữ liệu Web 14
1.4 Cơ sở dữ liệu HYPERTEXT và FULLTEXT 18
1.4.1 Cơ sở dữ liệu FullText 18
1.4.2 Cơ sở dữ liệu HyperText 20
1.5 Ứng dụng của khai phá dữ liệu 21
CHƯƠNG 2: PHÂN CỤM DỮ LIỆU VÀ TRÍCH CHỌN THÔNG TIN 23
2.1 Giới thiệu về RSS 23
2.1.1 RSS là gì ? 23
2.1.2 Cấu trúc file RSS 24
2.2 Mô hình tần suất 25
2.2.1 Phương pháp dựa trên tần số từ khóa (TF – Term Frequency) 25
2.2.2 Phương pháp dựa trên nghịch đảo tần số văn bản (IDF – Inverse Document Frequency) 25
2.2.3 Phương pháp TF × IDF 26
2.3 Phân cụm là gì 27
2.3.1 Các kiểu dữ liệu trong phép phân cụm 28
2.3.2 Độ không tương đồng và tương đồng: Đo chất lượng phân cụm 29
2.3.3 Phân loại các phương pháp phân cụm chính 30
2.4 Thuật toán K-means 33
Trang 42.5 Độ tương đồng 34
2.5.1 Khái niệm độ tương đồng 34
2.5.2 Độ tương đồng 35
2.5.3 Các phương pháp tính độ tương đồng 35
2.6 Khám phá tri thức và khai phá dữ liệu 38
2.7 Qúa trình khám phá tri thức 40
2.7.1 Gom dữ liệu (Gathering) 41
2.7.2 Trích lọc dữ liệu (Selection) 41
2.7.3 Làm sạch, tiền xử lý và chuẩn bị trước dữ liệu (Cleansing, Pre-processing and Preparation) 41
2.7.4 Chuyển đổi dữ liệu (Transformation) 42
2.7.5 Khai phá dữ liệu (Data Mining) 42
2.7.6 Đánh giá kết quả mẫu (Evaluation of Result) 42
2.8 Các loại dữ liệu có thể khai phá 42
2.9 Các phương pháp, kỹ thuật chính trong khai phá dữ liệu 43
2.9.1 Phân lớp và dự đoán (Classification & Prediction) 43
2.9.2 Phân nhóm- đoạn (Clustering / Segmentation) 46
2.10 Những thách thức trong khai phá dữ liệu 46
CHƯƠNG 3: DEMO ỨNG DỤNG THUẬT TOÁN 48
3.1 Chuẩn bị về dữ liệu 48
3.1.1 Lấy RSS (file xml) 48
3.1.2 Xử lý dữ liệu thô 49
3.1.3 Đưa các từ về nguyên thể 50
3.2 Các bước tìm kiếm độ tương đồng 53
3.2.1 Truy vấn chuỗi đầu vào với các lớp 53
3.2.2 Độ chính xác, hồi quy và độ đo F1 54
KẾT LUẬN 57
TÀI LIỆU THAM KHẢO 58
Trang 5DANH MỤC HÌNH
Hình 1: Các nội dung trong khai phá Web 18
Hình 2: Cấu trúc dữ liệu RSS 24
Hình 3: Dữ liệu XML gốc lấy từ tramg web 48
Hình 4: Dữ liệu XML sau khi được chia theo từng chủ đề 48
Hình 5: Xử lý dữ liệu thô 49
Hình 6: Làm sạch dữ liệu 49
Hình 7: Các từ thông dụng 50
Hình 8: Bảng quy ước để chuyển các từ về nguyển thẻ 50
Hình 9: Hình ảnh sau khi đã chuyển các từ về nguyên thể 51
Hình 10: Các từ dừng (stop word) 51
Hình 11: Cấu trúc Folder TFIDF 52
Hình 12: Nội dung file TFIDF 53
Hình 13: Tính độ quan trọng của từ 54
Hình 14: Ảnh kết quả đầu vào 1 55
Hình 15: Ảnh kết quả đầu vào 2 56
Trang 7LỜI MỞ ĐẦU
Lý do chọn đề tài
Hơn bốn thập niên kể từ khi Internet ra đời cho đến nay, nó mang lại rất nhiều tiện ích hữu dụng cho người sử dụng như: Hệ thống thư điện tử (Email), trò chơi (Game), trò chuyện trực tuyến (Chat), máy truy vấn dữ liệu (Search engine), các dịch vụ thương mại, y tế và giáo dục Sự phát triển nhanh chóng của mạng Internet đã sinh ra một khối lượng khổng lồ các dữ liệu dạng siêu văn bản (dữ liệu Web) Các tài liệu siêu văn bản chứa đựng văn bản và thường nhúng các liên kết đến các tài liệu khác phân bố trên Web Ngày nay, Web bao gồm hàng tỉ tài liệu của hàng triệu tác giả được tạo ra và được phân tán qua hàng triệu máy tính được kết nối qua đường hữu tuyến (dây điện thoại, cáp quang) và đường vô tuyến (sóng radio, bức xạ hồng ngoại hay sóng truyền qua vệ tinh) Web đang ngày càng được
sử dụng phổ biến trong nhiều lĩnh vực như báo chí, phát thanh, truyền hình, hệ thống bưu điện, trường học, các tổ chức thương mại, chính phủ Chính vì vậy lĩnh vực Web mining hay tìm kiếm các thông tin phù hợp có giá trị trên Web là một chủ
đề quan trọng trong Data Mining và là vấn đề quan trọng của mỗi đơn vị, tổ chức có nhu cầu thu thập và tìm kiếm thông tin trên Internet Các hệ thống tìm kiếm thông tin hay nói ngắn gọn là các máy tìm kiếm Web thông thường trả lại một danh sách các tài liệu được phân hạng mà người dùng sẽ phải tốn công chọn lọc trong một danh sách rất dài để có được những tài liệu phù hợp Ngoài ra các thông tin đó thường rất phong phú, đa dạng và liên quan đến nhiều đối tượng khác nhau Điều này tạo nên sự nhập nhằng gây khó khăn cho người sử dụng trong việc lấy được các thông tin cần thiết
Có nhiều hướng tiếp cận khác nhau để giải quyết vấn đề này, các hường này thường chú ý giảm sự nhập nhằng bằng các phương pháp tìm kiếm trích chọn thông tin hay thêm các tùy chọn để cắt bớt thông tin và hướng biểu diễn các thông tin trả
về bởi các máy tìm kiếm thành từng cụm, lớp để cho người dùng có thể dễ dàng tìm được thông tin mà họ cần Đã có nhiều thuật toán phân cụm, phân lớp để tìm kiếm thông tin Tuy nhiên việc tập hợp tài liệu của các máy tìm kiếm là quá lớn và luôn thay đổi để có thể phân cụm ngoại tuyến Do đó, việc phân cụm phải được ứng dụng trên tập các tài liệu nhỏ hơn được trả về từ các truy vấn và thay vì trả về một danh
Trang 8sách rất dài các thông tin gây nhập nhằng cho người sử dụng cần có một phương pháp tổ chức lại các kết quả tìm kiếm một cách hợp lý Do những vấn đề cấp thiết
được đề cập ở trên nên nhóm em chọn đề tài: “Nghiên cứu khai phá dữ liệu Web và Ứng dụng tìm kiếm trích chọn thông tin chủ đề”
Mục tiêu và nhiệm vụ nghiên cứu
Mục đích của đề tài là nghiên cứ áp dụng tìm kiến và trích chọn mẫu mới, hữu ích, hiểu được, tiềm ẩn trong Web Những thông tin theo chủ đề nhanh, chính xác và đầy đủ, thông tin tiềm ẩn bên trong nội dung trong Web đó và những thông tin quan trọng hay những luồng thông tin tốt nhất trên trang Web tìm kiếm trả về kết quả phù hợp với yêu cầu người dùng
Mục tiêu cụ thể như sau”
Nghiên cứu tìm kiếm
Nghiên cứu ký thuật tìm kiếm trên Web
Hiểu quả tìm kiếm một cách nhanh chóng và chính xác trên Web
Thông tin tìm kiếm trên Web đầy đủ nguyên vẹn, cô đọng
Nghiên cứu về trích chọn
Những thông tin cần khai thác còn tiềm ẩn trong một câu, một vùng văn bản
và một phân vùng của trang Web
Những vấn đề khó khăn khi thực hiện về việc trích chọn thông tin chủ đề ẩn trên Web
Đưa ra những luồng thông tin theo chủ đề tốt nhất để đáp ứng yêu cầu của người sử dụng
Ứng dụng thực tế
Sử dụng quy trình khai phá dữ liệu dạng Web trong việc tìm kiếm trích chọn thông tin theo chủ đề trên những trang Web vào thực tế để đáp ứng theo yêu cầu của người sử dụng
Lấy được nững thông tin quý giá tiềm ẩn bên trong trang Web đó, để đáp ứng được yêu cầu tìm kiếm tối ưu cho người dùng
Tìm kiếm trích chọn các mẫu hoặc tri thức hấp dẫn (không tầm thường, ẩn, chưa biết và hữu dụng về tiềm năng) từ một tập hợp lớn dữ liệu, để kết quả đạt được đáp ứng yêu cầu xã hội hiện nay
Trang 9dữ liệu thực sự có giá trị thì lại nằm trong chính khối dữ liệu đó
Do vậy, khai phá dữ liệu (Data mining) ra đời để giúp ta chắt lọc được những thông tin có giá trị từ những khối dữ liệu thô khổng lồ ta nhận được Khai phá dữ liệu là một bước trong bảy bước của quá trình KDD (Knowledge Discovery
in Database - Khám phá tri thức trong cơ sở dữ liệu) và KDD được xem như 7 quá trình khác nhau theo thứ tự sau:
1 Làm sạch dữ liệu (data cleaning & preprocessing): Loại bỏ nhiễu và các
dữ liệu không cần thiết
2 Tích hợp dữ liệu: (data integration): Quá trình hợp nhất dữ liệu thành những kho dữ liệu (data warehouses & data marts) sau khi đã làm sạch và tiền xử lý (data cleaning & preprocessing)
3 Trích chọn dữ liệu (data selection): Trích chọn dữ liệu từ những kho dữ liệu và sau đó chuyển đổi về dạng thích hợp cho quá trình khai thác tri thức Quá trình này bao gồm cả việc xử lý với dữ liệu nhiễu (noisy data), dữ liệu không đầy đủ (incomplete data), v.v
4 Chuyển đổi dữ liệu: Các dữ liệu được chuyển đổi sang các dạng phù hợp cho quá trình xử lý
5 Khai phá dữ liệu(data mining): Là một trong các bước quan trọng nhất, trong đó sử dụng những phương pháp thông minh để chắt lọc ra những mẫu dữ liệu
6 Ước lượng mẫu (knowledge evaluation): Quá trình đánh giá các kết quả tìm được thông qua các độ đo nào đó
7 Biểu diễn tri thức (knowledge presentation): Quá trình này sử dụng các kỹ thuật để biểu diễn và thể hiện trực quan cho người dùng
Trang 101.2 Các chức năng chính của khai phá dữ liệu
Data Mining được chia nhỏ thành một số hướng chính như sau:
• Mô tả khái niệm (concept description): Thiên về mô tả, tổng hợp và tóm tắt khái niệm Ví dụ: tóm tắt văn bản
• Luật kết hợp (association rules): Là dạng luật biểu diễn tri thứ ở dạng khá đơn giản Ví dụ: “60 % nam giới vào siêu thị nếu mua bia thì có tới 80% trong số họ
sẽ mua thêm thịt bò khô” Luật kết hợp được ứng dụng nhiều trong lĩnh vực kính doanh, y học, tin-sinh, tài chính & thị trường chứng khoán, v.v
• Phân lớp và dự đoán (classification & prediction): Xếp một đối tượng vào một trong những lớp đã biết trước Ví dụ: phân lớp vùng địa lý theo dữ liệu thời tiết Hướng tiếp cận này thường sử dụng một số kỹ thuật của machine learning như cây quyết định (decision tree), mạng nơ ron nhân tạo (neural network), v.v Người ta còn gọi phân lớp là học có giám sát (học có thầy)
• Phân cụm (clustering): Xếp các đối tượng theo từng cụm (số lượng cũng như tên của cụm chưa được biết trước Người ta còn gọi phân cụm là học không giám sát (học không thầy)
• Khai phá chuỗi (sequential/temporal patterns): Tương tự như khai phá luật kết hợp nhưng có thêm tính thứ tự và tính thời gian Hướng tiếp cận này được ứng
Trang 11dụng nhiều trong lĩnh vực tài chính và thị trường chứng khoán vì nó có tính dự báo cao
1.3 Khai phá dữ liệu văn bản (TextMining) và khai phá dữ liệu web (WebMining)
1.3.1 Các bài toán trong khai phá dữ liệu văn bản
1 Tìm kiếm văn bản
a Nội dung
Tìm kiếm văn bản là quá trình tìm kiếm văn bản theo yêu cầu của người dùng, Các yêu cầu được thể hiện dưới dạng các câu hỏi (query), dạng câu hỏi đơn giản nhất là các từ khóa
Có thể hình dung hệ tìm kiếm văn bản sắp xếp văn bản thành hai lớp: Một lớp cho ra những văn bản thỏa mãn với câu hỏi đưa ra và một lớp không hiển thị những văn bản không được thỏa mãn Các hệ thông thực tế hiện nay không hiển thị như vậy mà đưa ra cá danh sách văn bản theo độ quan trọng của băn bản tùy theo các câu hỏi đưa vào, ví dụ điển hình là các máy tìm tin như Google, Altavista, Bing…
b Quá trình
Quá trình tìm tin được chia thành bốn quá trình chính :
Đánh chỉ số (indexing): Các văn bản ở dạng thô cần được chuyển sang một
dạng biểu diễn nào đó để xử lý Quá trình này còn được gọi là quá trình biểu diễn văn bản, dạng biểu diễn phải có cấu trúc và dễ dàng khi xử lý
Định dạng câu hỏi: Người dùng phải mô tả những yêu cầu về lấy thông tin
cần thiết dưới dạng câu hỏi Các câu hỏi này phải được biểu diễn dưới dạng phổ biến cho các hệ tìm kiếm như nhập vào các từ khóa cần tìm Ngoài ra còn có các phương pháp định dạng câu hỏi dưới dạng ngôn ngữ tự nhiên hoặc dưới dạng các ví
dụ, đối với các dạngnày thì cần có các kỹ thuật xử lý phức tạp hơn Trong các hệ tìm tin hiện nay thì đại đa số là dùng câu hỏi dưới dạng các từ khóa
So sánh: Hệ thống phải có sự so sánh rõ ràng và hoàn toàn câu hỏi các câu
hỏi của người dùng với các văn bản đượcl ưu trữ trong CSDL Cuối cùng hệ đưa ra một quyết định phân loại các văn bản có độ liên quan gầnvới câu hỏi đưa vào và thứ
tự của nó Hệ sẽ hiển thị toàn bộ văn bản hoặc chỉ một phần văn bản
Trang 12Phản hồi: Nhiều khi kết quả được trả về ban đầu không thỏa mãn yêu cầu
của người dùng, do đó cần phải có qua trình phản hồi để người dùng có thểt hay đổi lại hoặc nhập mới các yêu cầu của mình Mặt khác, người dùng có thể tương tác với các hệ về các văn bản thỏa mãn yêu cầu của mình và hệ có chức năng cập nhậu các văn bản đó Quá trình này được gọi là quá trình phản hồi liên quan (Relevance feeback)
Các công cụ tìm kiếm hiện nay chủ yếu tập trung nhiều vào ba quá trình đầu, còn phần lớn chưa có quá trình phản hồi hay xử lý tương tác người dùng và máy Quá trình phản hồi hiện nay đang được nghiên cứu rộng rãi và riêng trong quá trình tương tác giao diện người máy đã xuất hiện hướng nghiên cứu là interface agent
2 Phân lớp văn bản(Text Categoization)
a Nội dung
Phân lớp văn bản được xem như là quá trình gán các văn bản vào một hay nhiều văn bản đã xác định từ trước Người ta có thể phân lớp các văn bản mộtc ách thủ công, tức là đọc từng văn bản một và gán nó vào một lớp nào đó Cách này sẽ tốn rất nhiều thời gian và công sức đối với nhiều văn bản và do đó không khả thi
Do vậy mà phải có các phương pháp phân lớp tự động Để phân lớp tự động người
ta sử dụng các phương pháp học máy trong trí tuệ nhân tạo (Cây quyết định, Bayes,
k người láng giềng gần nhất)
Một trong những ứng dụng quan trọng nhất của phân lớp văn bản là trong tìm kiếm văn bản Từ một tập dữ liệu đã phân lớp các văn bản sẽ được đánh chỉ số đối với từng lớp tương ứng Người dùng có thể xác định chủ đề hoặc phân lớp văn bản mà mình mong muốn tìm kiếm thông qua các câu hỏi
Một ứng dụng khác của phân lớp văn bản là trong lĩnh vực tìm hiểu văn bản Phân lớp văn bản có thể được sử dụng để lọc các văn bản hoặc một phần các văn bản chứa dữ liệu cần tìm mà không làm mất đi tính phức tạp của ngôn ngữ tự nhiên
Trong phân lớp văn bản, một lớp có thể được gán giá trị đúng sai (True hay False hoặc văn bản thuộc hay không thuộc lớp) hoặc được tính theo mức độ phụ thuộc (văn bản có môt mức độ phụ thuộc vào lớp) Trong trương hợp có nhiều lớp thì phân loại đúng sai sẽ là việc xem một văn bản có thuộc vào một lớp duy nhất nào đó hay không
Trang 13b Quá trình
Quá trình phân lớp văn bản tuân theo các bước sau:
Đánh chỉ số (Indexing): Quá trình đánh chỉ số văn bản cũng giống như trong
quá trình đánh chỉ số của tìm kiếm văn bản Trong phần này thì tốc độ đánh chỉ số đóng vai trò quan trọng vì một số các văn bản mới có thể cần đươc xử lý trong thời gían thực
Xác định độ phân lớp: Cũng giống như trong tìm kiếm văn bản, phân lớp văn
bản yêu cầu quá trình diễn tả việc xác định văn bản đó thuộc lớp nào đó như thế nào, dựa trên cấu trúc biểu diễn của nó Đối với hệ phân lớp văn bản, chúng ta gọi quá trình này là bộ phân lớp (Categorization hoặc classifier) Nó đóng vai trò như những câu hỏi trong hệ tìm kiếm Nhưng trong khi những câu hỏi mang tính nhất thời, thì bộ phân loại được sử dụng một cách ổn định và lâu dài cho quá trình phân loại
So sánh: Trong hầu hết các bộ phân loại, mỗi văn bản đều được yêu cầu gán
đúng sai vào một lớp nào đó Sự khác nhau lớn nhất đối với quá trình so sánh trong
hệ tìm kiếm văn bản là mỗi văn bản chỉ được so sánh với một số lượng các lớp một lần và việc họn quyết định phù hợp còn phụ thuộc vào mối quan hệ giữa các lớp văn bản
Phản hồi (Hay thích nghi): Quá trình phản hồi đóng vai trò trong hệ phân lớp
văn bản Thứ nhất là khi phân loại thì phải có môt số lượng lớn các văn bản đã được xếp loại bằng tay trước đó, các văn bản này được sử dụng làm mẫu huấn luyện để
hỗ trợ xây dựng bộ phân loại Thứ hai là đối với việc phân loại văn bản này không
dễ dàng thay đổi các yêu cầu như trong quá trình phản hồi của tìm kiếm văn bản , người dùng có thể thông tin cho người bảo trì hệ thống về việc xóa bỏ, thêm vào hoặc thay đổi các phân lớp văn bản nào đó mà mình yêu cầu
Trang 14Đánh chỉ mục các từ tiềm năng
Dẫn đường văn bản
Trong các bài toán xử lý vănbản đã nêu ở trên, chúng tra thấy vai trò của biểu diễn văn bản rất lớn, đặc biệt trong các bàit oán tìm kiếm, phân lớp, phân cụm, dẫn đường
1.3.2 Khai phá dữ liệu Web
tế, thương mại và quảng cáo Một trong những lý do cho sự phát triển này là sự thấp
về giá cả tiêu tốn khi công khai một trang Web trên Internet So sánh với những dịch vụ khác như mua bản hay quảng cáo trên một tờ báo hay tạp chí, thì một trang Web "đòi" rẻ hơn rất nhiều và cập nhật nhanh chóng hơn tới hàng triệu người dùng khắp mọi nơi trên thế giới Có thể nói trang Web như là cuốn từ điển Bách khoa toàn thư Thông tin trên các trang Web đa dạng về mặt nội dung cũng như hình thức Có thể nói Internet như một xã hội ảo, nó bao gồm các thông tin về mọi mặt của đời sống kinh tế, xã hội được trình bày dưới dạng văn bản, hình ảnh, âm thanh,
Tuy nhiên cùng với sự đa dạng và số lượng lớn thông tin như vậy đã nảy sinh vấn đề quá tải thông tin Người ta không thể tìm tự kiếm địa chỉ trang Web chứa thông tin mà mình cần, do vậy đòi hỏi cần phải có một trình tiện ích quản lý nội dung của các trang Web và cho phép tìm thấy các địa chỉ trang Web có nội dung giống với yêu cầu của người tìm kiếm Các tiện ích này quản lý dữ liệu như các đối tượng phi cấu trúc Hiện nay chúng ta đã làm quen với một số các tiện ích như vậy
đó là: Yahoo, goolel, Alvista,
Trang 15Mặt khác, giả sử chúng ta có các trang Web về các vấn đề Tin học, Thể thao, Kinh tể - Xã hội và xây dựng Căn cứ vào nội dung của các tài liệu mà khách hàng xem hoặc download về, sau khi phân lớp chúng ta sẽ biết khách hàng hay tập trung vào nội dung gì trên trang Web của chúng ta, từ đó chúng ta sẽ bổ sung thêm nhiều các tài liệu về các nội dung mà khách hàng quan tâm và ngược lại Còn về phía khách hàng sau khi phân tích chúng ta cũng biết được khách hàng hay tập trung về vấn đề gì, để từ đó có thể đưa ra những hỗ trợ thêm cho khách hàng đó Từ những nhu cầu thực tế trên, phân lớp và tìm kiếm trang Web vẫn là bài toán hay và cần phát triển nghiên cứu hiện nay
b Khó khăn
Hệ thống phục vụ World Wide Web như là một hệ thống trung tâm rất lớn phân bố rộng cung cấp thông tin trên mọi lĩnh vực khoa học, xã hội, thương mại, văn hóa, Web là một nguồn tài nguyên giàu có cho Khai phá dữ liệu Những quan sát sau đây cho thấy Web đã đưa ra sự thách thức lớn cho công nghệ Khai phá dữ
nó ít nhất là khoảng 10 terabyte Còn tỷ lệ tăng của các trang Web thì thật sự gây ấn tượng
Hai năm gần đây số các trang Web tăng gấp đôi và còng tiếp tục tăng trong hai năm tới Nhiều tổ chức và xã hội đặt hầu hết những thông tin công cộng của họ lên Web Như vậy việc xây dựng một kho dữ liệu (datawarehouse) để lưu trữ, sao chép hay tích hợp các dữ liệu trên Web là gần như không thể
Trang 162 Độ phức tạp của trang Web lớn hơn rất nhiều so với những tài liệu văn bản truyền thống khác
Các dữ liệu trong các CSDL truyền thống thì thường là loại dữ liệu đồng nhất (về ngôn ngữ, định dạng,…), còn dữ liệu Web thì hoàn toàn không đồng nhất
Ví dụ về ngôn ngữ dữ liệu Web bao gồm rất nhiều loại ngôn ngữ khác nhau (Cả ngôn ngữ diễn tả nội dung lẫn ngôn ngữ lập trình), nhiều loại định dạng khác nhau (Text, HTML, PDF, hình ảnh âm thanh,…), nhiều loại từ vựng khác nhau (Địa chỉ Email, các liên kết (links), các mã nén (zipcode), số điện thoại)
Nói cách khác, trang Web thiếu một cấu trúc thống nhất Chúng được coi như một thư viện kỹ thuật số rộng lớn, tuy nhiên con số khổng lồ các tài liệu trong thư viện thì không được sắp xếp tuân theo một tiêu chuẩn đặc biệt nào, không theo phạm trù, tiêu đề, tác giả, số trang hay nội dung, Điều này là một thử thách rất lớn cho việc tìm kiếm thông tin cần thiết trong một thư viện như thế
3 Web là một nguồn tài nguyên thông tin có độ thay đổi cao
Web không chỉ có thay đổi về độ lớn mà thông tin trong chính các trang Web cũng được cập nhật liên tục Theo kết quả nghiên cứu , hơn 500.000 trang Web trong hơn 4 tháng thì 23% các trang thay đổi hàng ngày, và khoảng hơn 10 ngày thì 50% các trang trong tên miền đó biến mất, nghĩa là địa chỉ URL của nó không còn tồn tại nữa Tin tức, thị trường chứng khoán, các công ty quản cáo và trung tâm phục vụ Web thường xuyên cập nhật trang Web của họ.s Thêm vào đó sự kết nối thông tin và sự truy cập bản ghi cũng được cập nhật
4 Web phục vụ một cộng đồng người dùng rộng lớn và đa dạng
Internet hiện nay nối với khoảng 50 trạm làm việc, và cộng đồng người dùng vẫn đang nhanh chóng lan rộng Mỗi người dùng có một kiến thức, mối quan tâm,
sở thích khác nhau Nhưng hầu hết người dùng không có kiến thức tốt về cấu trúc mạng thông tin, hoặc không có ý thức cho những tìm kiếm, rất dễ bị "lạc" khi đang
"mò mẫm "trong "bóng tối" của mạng hoặc sẽ chán khi tìm kiếm mà chỉ nhận những mảng thông tin không mấy hữu ích
5 Chỉ một phần rất nhỏ của thông tin trên Web là thực sự hữu ích
Theo thống kê, 99% của thông tin Web là vô ích với 99% người dùng Web Trong khi những phần Web không được quan tâm lại bị búi vào kết quả nhận được
Trang 17trong khi tìm kiếm Vậy thì ta cần phải khai phá Web như thế nào để nhận được trang web chất lượng cao nhất theo tiêu chuẩn của người dùng?
Như vậy chúng ta có thể thấy các điểm khác nhau giữa việc tìm kiếm trong một CSDL truyền thống với việc tìm kiếm trên Internet Những thách thức trên đã đẩy mạnh việc nghiên cứu khai phá và sử dụng tài nguyên trên Internet
2 Một máy chủ Web thường đăng ký một bản ghi đầu vào (Weblog entry) cho mọi lần truy cập trang Web
Nó bao gồm địa chỉ URL, địa chỉ IP, timestamp Dữ liệu Weblog cung cấp lượng thông tin giàu có về những trang Web động Với những thông tin về địa chỉ URL, địa chỉ IP,… một cách hiển thị đa chiều có thể được cấu trúc nên dựa trên CSDL Weblog Thực hiện phân tích OLAP đa chiều có thể đưa ra N người dùng cao nhất, N trang Web truy cập nhiều nhất, và khoảng thời gian nhiều người truy cập nhất, xu hướng truy cập Web
d Các nội dung trong Webmining
Như đã phân tích về đặc điểm và nội dung các văn bản HyperText ở trên, từ
đó khai phá dữ liệu Web cũng sẽ tập trung vào các thành phần có trong trang Web
Đó chính là:
1 Khai phá nội dung trang Web (Web Content mining)
Khai phá nội dung trang Web gồm hai phần:
a Web Page Content
Nghĩa là sẽ sử dụng chỉ các từ trong văn bản mà không tính đến các liên kết giữa các văn bản Đây chính là khai phá dữ liệu Text (Textmining)
Trang 18b Search Result
Tìm kiếm theo kết quả Trong các máy tìm kiếm, sau khi đã tìm ra những trang Web thoả mãn yêu cầu người dùng, còn một công việc không kém phần quan trọng, đó là phải sắp xếp kết quả theo thứ tự dộ gần nhau với nội dung cần tìm kiếm Đây cũng chính là khai phá nội dung trang Web
2 Web Structure Mining
Khai phá dựa trên các siêu liên kết giữa các văn bản có liên quan
3 Web Usage Mining
a General Access Partern Tracking:
Phân tích các Web log để khám phá ra các mẫu truy cập của người dùng trong trang Web
b Customize Usage Tracking:
Phân tích các mẫu truy cập của người dùng tại mỗi thời điểm để biết xu hướng truy cập trang Web của từng đối tượng người dùng tại mỗi thời điểm khác nhau
Hình 1: Các nội dung trong khai phá Web
1.4 Cơ sở dữ liệu HYPERTEXT và FULLTEXT
1.4.1 Cơ sở dữ liệu FullText
Dữ liệu dạng FullText là một dạng dữ liệu phi cấu trúc với thông tin chỉ gồm các tại liệu dạng Text Mỗi tài liệu chứa thông tin về một vấn đề nào đó thể hiện qua nội dung của tất cả các từ cấu thành tài liệu đó Ý nghĩa của mỗi từ trong tài liệu
Trang 19khkông cố định mà tuỳ thuộc vào từng ngữ cảnh khác nhau sẽ mang ý nghĩa khác nhau Các từ trong tài liệu được liên kết với nhau theo một ngôn ngữ nào đó
Trong các dữ liệu hiện nay thì văn bản là một trong những dữ liệu phổ biến nhất, nó có mặt ở khắp mọi nơi và chúng ta thường xuyên bắt gặp do đó các bài toán về xử lý văn bản đã được đặt ra khá lâu và hiện nay vẫn là một trong những vấn đề trong khai phá dữ liệu Text, trong đó có những bài toán đáng chú ý như tìm kiếm văn bản, phân loại văn bản, phân cụm văn bản hoặc dẫn đường văn bản
CSDL full_text là một dạng CSDL phi cấu trúc mà dữ liệu bao gồm các tài liệu và thuộc tính của tài liệu Cơ sở dữ liệu Full_Text thường được tổ chức như môt tổ hợp của hai thành phần: Một CSDL có cấu trúc thông thường (chứa đặc điểm của các tài liệu) và các tài liệu
Nội dung cuả tài liệu được lưu trữ gián tiếp trong CSDL theo nghĩa hệ thống chỉ quản lý địa chỉ lưu trữ nội dung Cơ sở dữ liệu dạng Text có thể chia làm hai loại sau:
Dạng không có cấu trúc (unstructured): Những văn bản thông thường mà
chúng ta thường đọc hàng ngày được thể hiện dưới dạng tự nhiên của con người và
nó CSDL Full-Text CSDL có cấu trúc chứa đặc điểm của các tài liệu Các tài liệu không có một cấu trúc định dạng nào VD: Tập hợp sách, Tạp chí, Bài viết được quản lý trong một mạng thư viện điện tử
Dạng nửa cấu trúc (semi-structured): Những văn bản được tổ chức dưới
dạng cấu trúc không chặt chẽ như bản ghi các ký hiệu đánh dấu văn bản và vẫn thể hiện được nội dung chính của văn bản, ví dụ như các dạnh HTML, email,
Tuy nhiên việc phân làm hai loại cũng không thật rõ ràng, trong các hệ phần mềm, người ta thường phải sử dụng các phần kết hợp lại để thành một hệ như trong
cá hệ tìm tin (Search Engine), hoặc trong bài toán tìm kiếm văn bản (Text
Trang 20Retrieval), một trong những lĩnh vực qua tâm nhất hiện nay Chẳng hạn trong hệ tìm kiếm như Yahoo, Altavista, Google đều tổ chức dữ liệu theo các nhóm và thư mục, mỗi nhóm lại có thể có nhiều nhóm con nằm trong đó Hệ Altavista còn tích hợp thêm chương trình dịch tự động có thể dịch chuyển đổi sang nhiều thứ tiếng khác nhau và cho kết quả khá tốt
1.4.2 Cơ sở dữ liệu HyperText
Theo từ điển của Đại học Oxford (Oxford English Dictionary Additions Series) thì Hypertext được định nghĩa như sau: Đó là loại Text không phải đọc theo dạng liên tục đơn, nó có thể được đọc theo các thứ tự khác nhau, đặc biệt là Text và ảnh đồ họa (Graphic) là các dạng có mối liên kết với nhau theo cách mà người đọc
có thể không cần đọc một cách liên tục Ví dụ khi đọc một cuốn sách người đọc không phải đọc lần lượt từng trang từ đầu đến cuối mà có thể nhảy cóc đến các đoạn sau để tham khảo về các vấn đề họ quan tâm
Như vậy văn bản HyperText bao gồm dạng chữ viết không liên tục, chúng được phân nhánh và cho phép người đọc có thể chọn cách đọc theo ý muốn của mình Hiểu theo nghĩa thông thường thì HyperText là một tập các trang chữ viết được kết nối với nhau bởi các liên kết và cho phép người đọc có thể đọc theo các cách khác nhau Như ta đã làm quen nhiều với các trang định dạng HTML, trong các trang có những liên kết trỏ tới từng phần khác nhau của trang đó hoặc trỏ tới trang khác, và người đọc sẽ đọc văn bản dựa vào những liên kết đó
Bên cạnh đó, HyperText cũng là một dạng văn bản Text đặc biệt nên cũng có thể bao gồm các chữ viết liên tục (là dạng phổ biến nhất của chữ viết) Do không bị hạn chế bởi tính liên tục trong HyperText, chúng ta có thể tạo ra các dạng trình bày mới, do đó tài liệu sẽ phản ánh tốt hơn nội dung muốn diễn đạt Hơn nữa người đọc
có thể chọn cho mình một cách đọc phù hợp chẳng hạn như đi sâu vào một vấn đề
mà họ quan tâm Sáng kiến tạo ra một tậpc cá văn bản cùng với các con trỏ trỏ tới các văn bản khác để liên kết một tập các văn bản có mối quan hệ voiứ nhau với nhau là một cách thực sự hay và rất hữu ích để tổ chức thông tin Với người viết, cách này cho phép họ có thể thoải mái loại bỏ những băn khoăn về thứ tự trình bày,
mà có thể tổ chức vấn đề thành những phần nhỏ, rồi sử dụng kết nối để chỉ ra mối liên hệ giữa các phần nhỏ đó với nhau
Trang 21Với người đọc cách này cho phép họ có thể đi tắt trên mạng thông tin và quyết định phần thông tin nào có liên quan đến vấn đề mà họ quan tâm để tiêp tục tìm hiểu So sánh với cách đọc tuyến tính, tức là đọc lần lượt thì HyperText đã cung cấp cho chúng ta một giao diện để có thể tiếp xúc với nội dung thông tin hiệu quả hơn rất nhiều Theo khía cạnh của các thuật toán học máy thì HyperText đã cung cấp cho chúng ta cơ hội nhìn ra ngoài phạm vi một tài liệu để phân lớp nó, nghĩa là
có tính cả đến các tài liệu có liên kết với nó Tất nhiên không phải tất cả các tài liệu
có liên kết đến nó đều có ích cho việc phân lớp, đặc biệt là khi các siêu liên kết có thể chỉ đến rất nhiều loại các tài liệu khác nhau Nhưng chắc chắn vẫn còn tồni tại tiềm năng mà con người cần tiếp tục nghiên cứu về việc sử dụng các tài liệu liên kết đến một trang để nâng cao độ chính xác phân lớp trang đó
1.5 Ứng dụng của khai phá dữ liệu
Ứng dụng của khai phá dữ liệu có thể dùng để:
– Cung cấp tri thức, hỗ trợ ra quyết định
– Thống kê, phân tích dữ liệu và hỗ trợ ra quyết định
– Y học: Dựa vào mối liên hệ giữa các triệu chứng để chuẩn đoán bệnh và hướng điều trị
Trang 22– Mạng viễn thông: Phân tích các cuộc gọi điện thoại để dự đoán hành vi người dùng nhằm nâng cao chất lượng dịch vụ
– Bán hàng: Phân tích các mặt hàng để dự đoán nhu cầu người dùng để đưa
ra hướng phát triển đúng cho nhà sản xuất…
Ngoài ra, khai phá dữ liệu còn ứng dụng vào trong rất nhiều lĩnh vực khác nhau của đời sống giúp đưa ra những giải pháp hiệu quả cho các vấn đề nan giải của đời sống
Trang 23Dữ liệu này được các chương trình đọc tin chuyên biệt ( gọi là News reader) phân tích và hiển thị trên máy tính của người sử dụng Trên trình đọc tin này, người
sử dụng có thể thấy những tin chính mới nhất, tiêu đề, tóm tắt và cả đường link để xem toàn bộ tin
RSS được dùng phổ biến bởi cộng đồng weblog để chia sẻ những tiêu đề tin tức mới nhất hay toàn bộ nội dung của nó, và ngay cả các tập tin đa phương tiện đínhkèm.(Xem podcasting, vodcasting, broadcasting, screencasting, Vloging,và MP
3 blogs.) Vào giữa năm 2000, việc sử dụng RSS trở nên phổ dụng đối với hãng tin
tức lớn, bao gồm Reuters, CNN, và BBC Những nhà cung cấp tin này cho phép các
website khác tổng hợp những tiêu đề tin tức "được chia sẻ" hay cung cấp các tóm tắt ngắn gọn của các bản tin chính dưới nhiều hình thức thỏa hiệp khác nhau RSS ngày nay được dùng cho nhiều mục đích, bao gồm tiếp thị, báo cáo lỗi (bug-reports), hay các hoạt động khác bao gồm cập nhật hay xuất bản định kì
Một chương trình gọi là một feed reader hay aggregator có thể kiểm tra xem một website có hỗ trợ RSS cho người dùng không và, nếu có, hiển thị những bài viết cập nhật nhất mà nó tìm thấy từ website đó Ngày nay có thể tìm thấy RSS feeds trên rất nhiều Web sites lớn, cũng như nhiều những site nhỏ
Trang 242.1.2 Cấu trúc file RSS
Hình 2: Cấu trúc dữ liệu RSS
Một bản tin thường chứa ba phần tử:
<title>: Phần tử này là tên của bản tin Theo tiêu chuẩn sử dụng, phần tử
này sẽ được dịch thành một đầu đề trong mã HTML
<link>: Phần tử này là URL của bản tin Thường thì tiêu đề được sử dụng
như là một liên kết trỏ đến URL chứa bên trong phần tử <link> này
<description>: Phần tử này thường là một bản tóm tắt hoặc lời nhận xét
về bản tin
Tất cả các phần tử đều là tùy chọn, nhưng một bản tin phải có ít nhất một
phần tử <title> hoặc một phần tử <description>
Một số phần tử tùy chọn khác trong bản tin có thể được sử dụng:
<author> (tác giả): Địa chỉ Thư điện tử của tác giả
<category> (thể loại): Hỗ trợ phân loại bản tin
<comments> (các nhận xét): URL của một trang để viết các nhận xét về
bản tin
<enclosure> (đính kèm): Hỗ trợ các đối tượng đa phương tiện liên quan
đến bản tin
<guid>: Một liên kết cố định được gắn đồng nhất với bản tin
<pubDate> (ngày xuất bản): Ngày xuất bản của bản tin
Trang 25 <source> (nguồn): Kênh RSS là nguồn của các bản tin Phần tử này có
thể có ích khi các bản tin được gộp chung với nhau
2.2 Mô hình tần suất
Trong mô hình tần suất, ma trận W = {wij} được xác định dựa trên tần số xuất hiện của từ khóa ti trong văn bản dj hoặc tần số xuất hiện của từ khóa ti trong toàn bộ cơ sở dữ liệu Sau đây là một số phương pháp phổ biến:
2.2.1 Phương pháp dựa trên tần số từ khóa (TF – Term Frequency)
Các giá trị wij được tính dựa trên tần số (hay số lần) xuất hiện của từ khóa trong văn bản Gọi fij là số lần xuất hiện của từ khóa ti trong văn bản dj , khi đó wij
được tính bởi một trong ba công thức:
wij = fij
wij = 1 + log(fij)
wij = f Trong phương pháp này, trọng số wij tỷ lệ thuận với số lần xuất hiện của từ khóa ti trong văn bản dj Khi số lần xuất hiện từ khóa ti trong văn bản dj càng lớn thì điều đó có nghĩa là văn bản dj càng phụ thuộc vào từ khóa ti , hay nói cách khác từ khóa ti mang nhiều thông tin trong văn bản dj
Ví dụ, khi văn bản xuất hiện nhiều từ khóa máy tính, điều đó có nghĩa là văn bản đang xét chủ yếu liên quan đến lĩnh vực tin học Nhưng suy luận trên không phải lúc nào cũng đúng Một ví dụ điển hình là từ “và” xuất hiện nhiều trong hầu hết các văn bản, nhưng trên thực tế từ này lại không mang nhiều ý nghĩa như tần suất xuất hiện của nó Hoặc có những từ không xuất hiện trong văn bản này nhưng lại xuất hiện trong văn bản khác, khi đó ta sẽ không tính được giá trị của log(fij) Một phương pháp khác ra đời khắc phục được nhược điểm của phương pháp TF, đó
h = log(m) log(h ) nếu t xuất hiện trong d
0 nếu ngược lại
Trang 26Trong đó m là số lượng văn bản và hi là số lượng văn bản mà từ khóa ti xuất hiện
Trọng số wij trong công thức này được tính dựa trên độ quan trọng của từ khóa ti trong văn bản dj Nếu ti xuất hiện trong càng ít văn bản, điều đó có nghĩa là khi nó xuất hiện trong dj thì trọng số của nó đối với văn bản dj càng lớn hay nó là điểm quan trọng để phân biệt văn bản dj với các văn bản khác và hàm lượng thông tin trong nó càng lớn
tf(w): Tần số thuật ngữ (số lượng của từ xuất hiện trong tài liệu); từ sẽ
quan trọng hơn nếu nó xuất nhiện nhiều hơn ba lần trong văn bản được sự dụng
df(w): Tần số tài liệu (số tài liệu chứa từ này); từ sẽ quan trọng hơn nếu nó
xuất hiện trong số ít tài liệu
N: Tổng số tài liệu
tfidf(w): Tầm quan trọng của từ trong tài liệu
Đối với mỗi tài liệu, ta có đồ thị dưới đây đại diện:
[w tfidf(w ); w tfidf(w ); w tfidf(w ); … w tfidf(w ); … ; w tfidf(w )]
Vì thế đối với mỗi tài liệu, đồ thì có chứa:
[tfidf(w ) tfidf(w ) tfidf(w ) … tfidf(w ) … tfidf(w )]
Một số ưu, nhược điểm của phương pháp biểu diễn này
Trang 27Hệ thống không linh hoạt khi lưu trữ các từ khóa Chỉ cần một thay đổi rất nhỏ trong bảng từ vựng sẽ kéo theo hoặc là vector hóa lại toàn bộ các tài liệu lưu trữ, hoặc là sẽ bỏ qua các từ có nghĩa bổ sung trong các tài liệu được mã hóa trước
đó
Một nhược điểm nữa, chiều của mỗi Vector theo cách biểu diễn này là rất lớn, bởi vì chiều của nó được xác định bằng số lượng các từ khác nhau trong tập hợp văn bản Ví dụ số lượng các từ có thể có từ 103 đến 105 trong tập hợp các văn bản nhỏ, còn trong tập hợp các văn bản lớn thì số lượng sẽ nhiều hơn, đặc biệt trong môi trường Web
2.3 Phân cụm là gì
Xử lý nhóm một tập các đối tượng vào trong các lớp các đối tượng giống nhau được gọi là phân cụm Một cụm là một tập hợp các đối tượng dữ liệu giống nhau trong phạm vi cùng một cụm và không giống nhau với các đối tượng trong các cụm khác
Phép phân tích cụm là một hoạt động quan trọng Thời kì đầu, nó học làm thế nào để phân biệt giữa mèo và chó hay giữa động vật và thực vật, bằng cách trau dồi liên tục tiềm thức các lược đồ phân loại Phép phân tích cụm được dùng rộng rãi trong nhiều ứng dụng, bao gồm nhận dạng, phép phân tích dữ liệu, xử lý ảnh, nghiên cứu thị trường, v.v Bằng phân cụm, ta có thể nhận biết các vùng đông đúc
và thưa thớt, bởi vậy tìm ra toàn bộ các mẫu phân bố và các tương quan thú vị giữa các thuộc tính dữ liệu Trong kinh doanh, phân cụm có thể giúp cho các nhà nghiên
Trang 28cứu thị trường tìm ra các nhóm riêng biệt dựa trên khách hàng của họ và mô tả các nhóm khách hàng dựa trên các mẫu mua sắm Trong sinh vật học, nó có thể được dùng để có được các nguyên tắc phân loại thực vật và động vật, phân loại gien theo chức năng giống nhau và có được sự hiểu biết thấu đáo các cấu trúc kế thừa trong các mẫu Phân cụm cũng có thể được dùng để nhận biết các vùng đất giống nhau dùng trong cơ sở dữ liệu quan sát trái đất và nhận biết các nhóm có hợp đồng bảo hiểm ô tô với mức chi phí trung bình cao, cũng như nhận biết các nhóm nhà trong thành phố theo kiểu nhà, giá trị và khu vực địa lý Nó có thể cũng giúp cho việc phân loại dữ liệu trên WWW để khai thác thông tin Như một hàm khai phá dữ liệu, phép phân tích cụm được dùng như là một công cụ độc lập để có thể nhìn thấu được bên trong sự phân bố dữ liệu, để quan sát các đặc điểm của mỗi cụm và tập trung trên một tập đặc biệt các cụm cho phép phân tích xa hơn Tiếp theo, nó phục vụ như
là một bước tiền xử lý cho các giải thuật khác như phân loại và mô tả, thao tác trên các cụm đã dò được
Như là một nhánh của thống kê, phép phân tích cụm được nghiên cứu mở rộng đã nhiều năm, tập trung chính trên phép phân tích cụm dựa trên khoảng cách
Các công cụ phân tích cụm dựa trên k-means, k-medoids và một số các phương
pháp khác cũng được xây dựng trong nhiều gói phần mềm hay hệ thống phân tích thống kê như S-Plus, SPSS và SAS
2.3.1 Các kiểu dữ liệu trong phép phân cụm
Trong phần này, ta nghiên cứu các kiểu dữ liệu thường xuất hiện trong các phép phân cụm và tiền xử lý chúng như thế nào cho phép phân tích này Giả sử rằng
một tập dữ liệu được phân cụm chứa n đối tượng, nó có thể đại diện cho người, nhà, văn bản, đất nước, v.v Các giải thuật phân cụm dựa trên bộ nhớ chính thao tác
trên một trong hai cấu trúc dữ liệu sau:
1 Ma trận dữ liệu (hay cấu trúc: đối tượng x biến): Được đại diện bởi n đối tượng, ví dụ như người với p biến (còn được gọi là các phép đo hay các thuộc tính) như tuổi, chiều cao, giới tính, v.v Cấu trúc có dạng bảng quan hệ, hay ma trận n x
p (n đối tượng x p biến) như trong (3.1)
Trang 29ip if
i
p f
x x
x
x x
x
x x
1 1
11
(3.1)
2 Ma trận không tương đồng (hay cấu trúc đối tượng x đối tượng): Nó lưu trữ một tập hợp các trạng thái (về mặt không gian, thời gian, ) cho tất cả n cặp đối tượng Nó thường được biểu diễn bởi bảng n x n như hình (3.2)
2 , 1 ,
0 2 , 3 1 , 3
0 1 , 2 0
n d n d
d d
phép đo không tương đồng được thảo luận trong suốt phần này
Ma trận dữ liệu thường được gọi là ma trận 2-mode (2 chế độ), trong khi đó
ma trận không tương đồng được gọi là ma trận 1-mode (1 chế độ) Nhiều giải thuật phân cụm thao tác trên ma trận không tương đồng Nếu dữ liệu được đưa ra dưới dạng ma trận dữ liệu thì nó có thể được chuyển đổi sang ma trận không tương đồng trước khi áp dụng các giải thuật phân cụm
Cụm các đối tượng được tính toán dựa trên sự tương đồng hay không tương đồng của chúng Trong phần này, trước tiên ta thảo luận chất lượng phân cụm có thể được đánh giá dựa trên các hệ số tương quan - có thể chuyển đổi thành các hệ số không tương đồng hay tương đồng Sau đó ta thảo luận làm thế nào để tính độ không tương đồng của các đối tượng được mô tả bởi các biến dựa trên khoảng cách, các biến nhị phân, các biến dựa trên tên, có thứ tự và tỷ lệ (ratio) hay sự kết hợp của các kiểu biến này
2.3.2 Độ không tương đồng và tương đồng: Đo chất lượng phân cụm
Phép đo của các hệ số không tương đồng hay tương đồng được dùng để đo
chất lượng phân cụm Độ không tương đồng d(i,j) là một số không âm, nó gần bằng
0 khi i, j gần nhau và sẽ lớn hơn khi chúng khác biệt nhau nhiều hơn