Hiện nay, có bốnphương pháp đánh chỉ số cho các tài liệu trên web: manual indexing automatic indexing intelligent or agent - based indexing metadata - based indexing Search engin
Trang 1MỤC LỤC
MỞ ĐẦU 3
1 Mục đích thực tập chuyên ngành 3
2 Giới thiệu về đề tài thực tập chuyên ngành 3
3 Yêu cầu của đề tài 4
CHƯƠNG I TỔNG QUAN VỀ WEB MINING 5
1 Giới thiệu chung 5
2 Web mining 6
2.1 Tổng quan 6
2.2 Các thành phần của web mining và các phương pháp luận 7
a Khám phá thông tin (IR) 8
b Trích rút, lựa chọn và tiền xử lý thông tin 9
c Tổng quát hoá 10
d Phân tích 10
3 Web content mining và Web structure mining 11
3.1 Web content mining 11
3.2 Web structure mining 13
4 Web text mining 14
4.1 Text Classification 14
4.2 Text Clustering 14
4.3 Association analysis 15
4.4 Trend Prediction 15
CHƯƠNG II KHAI PHÁ DỮ LIỆU 16
1 Tổng quan về khai phá dữ liệu 16
1.1 Khái niệm 16
1.2 Các bước của quá trình khai phá dữ liệu 16
2 Nhiệm vụ chính của khai phá dữ liệu 18
3 Các phương pháp khai phá dữ liệu 19
4 Một số bài toán chính đối với nghiên cứu về khai phá dữ liệu 21
Trang 2CHƯƠNG III VĂN BẢN VÀ XỬ LÝ VĂN BẢN 22
1 Khái niệm 22
2 Phương pháp biểu diễn văn bản bằng mô hình không gian vector 23
Mô hình Boolean 23
Mô hình Tần suất 23
a Phương pháp dựa trên tần số thuật ngữ (TF – Term Frequency) 23
b Phương pháp dựa trên nghịch đảo tần số văn bản (IDF - Inverse Document Frequency) 24
c Phương pháp TF x IDF 24
2.3 Phương pháp xử lý vector thưa 25
3 Các bài toán xử lý văn bản không có cấu trúc 26
Bài toán phân loại văn bản 26
3.1.1 Giới thiệu 26
3.1.2 Các phương pháp phân loại văn bản 26
a Decision Tree 29
b k-Nearest Neighbor 34
3.2 Bài toán lập nhóm văn bản 36
3.2.1 Giới thiệu 36
3.2.2 Các phương pháp lập nhóm văn bản 37
a Thuật toán phân câp Bayesian 37
b Thuật toán ghép nhóm theo độ tương tự 39
c Thuật toán K-means 40
CHƯƠNG IV XÂY DỰNG THỬ NGHIỆM ỨNG DỤNG WEB CLUSTERING 43
1 Bài toán đặt ra 43
2 Phương hướng giải quyết 43
Web Crawler 43
a Giới thiệu 43
b Thứ tự Crawl các URLs 44
c Một số vấn đề cần chú ý cho Web Crawler 44
d Thuật toán sử dụng cho Web Crawler 45
Áp dụng các thuật toán lập nhóm cho bộ dữ liệu thu được 46
2.2.1 Các bước thực hiện để biểu diễn vector văn bản 46
a Tách từ 46
Trang 3b Loại bỏ Stopwords 47
c Stemming 47
d Sắp xếp các keyword 47
e Xây dựng bag-of-words 47
f Biểu diễn từng file văn bản thành các vector 48
2.2.2 Áp dụng các thuật toán lập nhóm 54
TÀI LIỆU THAM KHẢO 55
Trang 4mở đầu và cũng là bước tiếp cận để chúng em tiếp tục chuyển sang học giai đoạnchuyên ngành hẹp Công nghệ phần mềm.
2 Giới thiệu về đề tài thực tập chuyên ngành
Từ một thập kỷ trở lại đây, chúng ta đã được chứng kiến sự phát triển như vũ bãocủa những nguồn thông tin sẵn có trên World Wide Web (WWW) Ngày nay, các trìnhduyệt Web cho phép chúng ta dễ dàng truy nhập vào vô số nguồn dữ liệu văn bản vàmultimedia Với hơn một tỷ trang web, việc đánh chỉ số bởi các search engine và tìmkiếm những thông tin cần thiết không còn là một việc dễ dàng Lượng thông tin dồidào to lớn đã làm nảy sinh nhu cầu phát triển các kỹ thuật khai phá tự động trênWWW, hay còn được gọi bởi một thuật ngữ là “Web mining”
Để có được những công cụ web thông minh, hạn chế sự can thiệp của conngười, chúng ta cần phải tích hợp hay nhúng trí tuệ nhân tạo (artificial intelligence)vào các công cụ này Sự cần thiết tạo ra các hệ thống thông minh phía server vàphía client nhằm khai thác một cách có hiệu quả các tri thức trên Internet hay từ cáctrang Web cụ thể đã thu hút sự chú ý của những nhà nghiên cứu từ nhiều lĩnh vựckhác nhau như truy hồi thông tin (information retrieval), khai phá tri thức (knowledgediscovery), máy học (machine learning) và trí tuệ nhân tạo (AI) Tuy nhiên, bài toánphát triển các công cụ tự động để tìm kiếm, trích rút, lọc, hay lượng giá thông tin màngười sử dụng mong muốn từ dữ liệu web vốn không được gán nhãn lại phân tán,hỗn tạp vẫn còn đang trong giai đoạn trứng nước
Trong một tháng thực tập chuyên ngành ngắn ngủi, em chưa có đủ thời gian đểtìm hiểu một cách sâu sắc về Web mining mà mới chỉ dừng lại ở giới thiệu tổng quan
và cài đặt một ứng dụng nhằm minh hoạ các thuật toán đã tìm hiểu Mong thầy vàcác bạn cho em những ý kiến quý báu để em có thể tiếp tục phát triển, hoàn thiệnhơn đề tài này
Trang 53 Yêu cầu của đề tài
1 Tìm hiểu chung về Web mining
2 Tìm hiểu Web Text mining
3 Xây dựng ứng dụng cho phép thu thập thông tin từ trên mạng Internet Sau
đó, áp dụng các thuật toán lập nhóm cho bộ dữ liệu vừa thu được
Trang 6CHƯƠNG I
TỔNG QUAN VỀ WEB MINING
Với một khối lượng thông tin trực tuyến khổng lồ, World Wide Web đã trở thànhmột lĩnh vực phong phú, dồi dào cho các nghiên cứu về data mining Có thể nói,những nghiên cứu về Web mining là sự tổng hợp của nhiều lĩnh vực nghiên cứukhác nhau như database, thu hồi thông tin (information retrieval), trí tuệ nhân tạo(AI), đặc biệt là sự góp mặt của máy học (machine learning) và xử lý ngôn ngữ tựnhiên Tuy vậy, hãy còn có rất nhiều những nhầm lẫn, những mập mờ khi đem sosánh những kết quả nghiên cứu từ các quan điểm khác nhau
1 Giới thiệu chung
Ngày nay, World Wide Web là một môi trường tương tác phổ dụng, được dùng đểphổ cập thông tin Những người sử dụng thông tin, khi tương tác với Web, thườnggặp phải những vấn đề sau:
a Tìm kiếm những thông tin thích hợp : Con người sử dụng trình duyệt và các
dịch vụ tìm kiếm khi họ muốn có được những thông tin đặc biệt nào đó trên Web.Muốn sử dụng dịch vụ tìm kiếm, người sử dụng chỉ cần đưa ra những câu truy vấnđơn giản Dường như ngay lập tức, kết quả tìm kiếm được hiển thị thành danh sáchcác trang được sắp xếp dựa trên độ tương đồng với câu truy vấn Tuy nhiên, cáccông cụ tìm kiếm ngày nay vẫn còn gặp phải một số những vấn đề nổi cộm Thứnhất, độ chính xác thấp do sự không thích hợp của nhiều kết quả tìm kiếm Thứ hai,khả năng triệu hồi (recall) thấp do không đủ khả năng đánh chỉ số cho tất cả cácthông tin có sẵn trên Web
b Tạo tri thức mới từ những thông tin có sẵn trên Web : Có thể coi bài toán này
là một bài toán con của bài toán trên Trong khi bài toán trên xử lý các câu truy vấn(retrieval oriented) thì bài toán này lại xử lý dữ liệu, trong đó ta giả sử đã có sẵn mộttập dữ liệu Web, cần phải trích ra những tri thức tiềm ẩn có ích từ tập dữ liệu này
c Sự cá nhân hoá thông tin : Khi tương tác với Web, mỗi người lại có một cách
biểu diễn thông tin riêng, tuỳ thuộc vào sở thích của họ
d Nghiên cứu về người tiêu dùng và những người sử dụng riêng : Đây là bài
toán giải quyết cho bài toán c ở trên Bài toán này sẽ cho biết khách hàng làm gì vàmuốn gì
Trang 71 Tìm kiếm các nguồn tài nguyên : truy hồi các tài liệu Web mong muốn Đây
là quá trình truy hồi dữ liệu trực tuyến hoặc không trực tuyến từ các nguồnvăn bản sẵn có trên Web Các nguồn thông tin này có thể là các bản tin điện
tử, các bức điện tín, nội dung văn bản từ các tài liệu HTML, thu được bằngcách loại bỏ các HTML tag…
2 Lựa chọn và tiền xử lý thông tin : tự động lựa chọn và tiền xử lý các thông
tin vừa nhận được từ các nguồn tài nguyên Web Những chuyển đổi này cóthể là loại bỏ các stop words, stemming… hoặc tiền xử lý để có những biểudiễn thích hợp, hay chuyển đổi sang mô hình quan hệ, dạng logic 1 (first orderlogic form)
3 Tổng quát hoá : Tự động khai phá ra các mẫu tổng quát từ các Web site
riêng biệt hoặc từ một nhóm các Web site Để tổng quát hoá ra các mẫu,người ta thường sử dụng các kỹ thuật machine learning hoặc data mining.Trong quá trình khai phá thông tin và tri thức, con người đóng một vai trò cực
kỳ quan trọng bởi Web là một môi trường tương tác
4 Phân tích hiệu lực và (hoặc) giải thích các mẫu vừa khai phá được.
Nói một cách ngắn gọn, Web mining là một kỹ thuật dùng để khai phá và phân
tích thông tin có ích từ dữ liệu Web Web có hai loại dữ liệu chính:
Web content data
Web structure data
Tương ứng với mỗi loại dữ liệu cần khai thác, người ta cũng chia ra các kỹ thuậtWeb mining thành :
Web content mining
Web structure mining
Trang 8Web structure mining có thể được chia nhỏ thành:
Khai phá cấu trúc ngoài (External Structure mining) : tập trung khai phá siêuliên kết giữa các trang Web
Khai phá cấu trúc trong (Internal Structure mining) : khai phá cấu trúc nội tạicủa trang Web
URL mining
Web content mining được chia thành:
Text mining: bao gồm text file, HTML, document
Multimedia mining
Mặc dầu khai phá các dữ liệu multimedia có rất nhiều điều thú vị, hấp dẫn, nhưngtext mining lại có một vai trò cực kỳ quan trọng, bởi lẽ hiện nay, văn bản là phươngtiện thông tin chủ yếu trên Web
2.2 Các thành phần của Web mining và các phương pháp luận
Như đã nói ở trên Web mining có thể được chia thành bốn nhiệm vụ nhỏ:
Khám phá thông tin (Information Retrieval hay Resource Discovery)
Trích dẫn, lựa chọn và tiền xử lý thông tin (Information Selection/Extractionand preprocessing)
Tổng quát hoá (Generalization)
Analysis
a Khám phá thông tin (IR)
Khám phá thông tin là giải quyết bài toán tự động nhận về tất cả các tài liệu liênquan, đồng thời hạn chế tối đa các tài liệu không có ích Quá trình IR thường bao
Hình 1 Phân loại Web mining
Trang 9gồm biểu diễn tài liệu (document representation), đánh chỉ số (indexing) và tìm kiếmtài liệu.
Về cơ bản, chỉ mục là nơi ghi lại các thuật ngữ Mỗi khi cần tìm tài liệu liên quađến thuật ngữ nào, ta sẽ tra cứu trong chỉ mục để biết được tất cả các tài liệu cóchứa thuật ngữ này Tuy nhiên, đánh chỉ mục các trang Web lại khá phức tạp Vớimột số lượng khổng lồ các trang web có tính chất động và thường xuyên được cậpnhật, các kỹ thuật đánh chỉ số dường như là điều không thể Hiện nay, có bốnphương pháp đánh chỉ số cho các tài liệu trên web:
manual indexing
automatic indexing
intelligent or agent - based indexing
metadata - based indexing
Search engine là chương trình được viết để truy vấn và nhận về các thông tinđược lưu trữ trong các cơ sở dữ liệu (hoàn toàn có cấu trúc), các trang HTML (nửacấu trúc) hay các văn bản text có trên web
Kiến trúc của một hệ IR
Với đầu vào là các tài liệu và truy vấn của người dùng, khối xử lý (processor) sẽcho kết quả về các tài liệu thoả mãn truy vấn Các kết quả này đôi khi được sử dụnglàm thông tin phản hồi cho hệ IR nhằm có được các kết qủa tốt hơn trong các tìnhhuống tương tự sau này
b Trích rút, lựa chọn và tiền xử lý thông tin
Khi các tài liệu được nhận về, nhiệm vụ tiếp theo là phải trích rút được tri thức vànhững thông tin yêu cầu khác mà không cần đến sự tương tác của con người Trích
Processor
Documents
Feedback
Output Queries
Input
Trang 10rút thông tin (IE) có nhiệm vụ xác định các đoạn đặc trưng cấu thành nên nội dungngữ nghĩa hạt nhân của tài liệu Cho đến nay, các phương pháp IE đều ít nhiều liên
quan đến việc viết các wrapper để ánh xạ các tài liệu sang một vài mô hình dữ liệu.
Các hệ thống tích hợp thông tin hiện nay thường thao tác bằng cách dịch các sitekhác nhau thành các nguồn tri thức rồi trích rút thông tin từ chúng Một phương phápkhác để trích rút thông tin từ các siêu văn bản (hypertext) là coi mỗi trang như mộttập các câu hỏi chuẩn Bài toán đặt ra là cần phải xác định được các đoạn văn bảntrả lời cho một số câu hỏi xác định nào đó Nói một cách khác, các khe hở sẽ đượcđiền đầy bằng các đoạn văn bản trong tài liệu Như vậy, mục tiêu của IE là trích rútnhững tri thức mới từ những tài liệu nhận được bằng cách lợi dụng cấu trúc của tàiliệu và sự biểu diễn tài liệu trong khi các chuyên gia IR lại coi tài liệu là một tập các
từ (bag of words) mà không hề chú ý tới cấu trúc của tài liệu Vấn đề trở ngại chínhđối với IE chính là kích thước và tính chất động của web Vì vậy, các hệ thống IEthường chỉ trích rút thông tin từ một số site cụ thể và tập trung vào một số vùng xácđịnh mà thôi
Để có thể trích rút được bất cứ loại tri thức nào từ các CSDL có kích thước trungbình, chúng ta cần có một hệ thống tiền xử lý mạnh mẽ Khi người sử dụng yêu cầumột trang web, rất nhiều loại file khác nhau như hình ảnh, âm thanh, video, cgi, htmlđược truy cập Kết quả là, server log chứa rất nhiều mục dư thừa hoặc không thíchhợp cho nhiệm vụ khai phá Chính vì vậy, chúng cần phải được loại bỏ bằng quátrình tiền xử lý Một trong những kỹ thuật tiền xử lý mà IE hay sử dụng là latentsemantic indexing (LSI), nhằm biến đổi các vector tài liệu ban đầu sang không gian
có số chiều nhỏ hơn bằng cách phân tích sự tương quan của các thuật ngữ trong tậpcác tài liệu Một số kỹ thuật tiền xử lý khác nữa là “stop words”, “stemming”, chophép giảm kích thước các đặc trưng đầu vào
c Tổng quát hoá
Trong giai đoạn này, các kỹ thuật máy học và nhận dạng mẫu thường được sửdụng để trích rút thông tin Hầu hết các hệ thống máy học được triển khai trên webthường học nhu cầu của người sử dụng hơn là bản thân web Khó khăn chính khihọc về web là vấn đề gán nhãn Dữ liệu trên web quả thực vô cùng phong phú, xonglại không được gán nhãn Trong khi đó, rất nhiều kỹ thuật khai phá dữ liệu lại yêucầu các mẫu đầu vào phải được gán nhãn dương (positive) hoặc âm (negative)tương ứng với một số khái niệm nào đó Ví dụ, giả sử chúng ta có một tập lớn các
trang web được gán nhãn dương hoặc âm của khái niệm homepage Khi đó, việc tạo
Trang 11ra một trình phân loại để dự đoán một trang web có là homepage hay không sẽ rất
dễ dàng Nhưng thật không may, các trang web lại không được gán nhãn Các kỹthuật như lẫy mẫu không chắc chắn có thể giảm bớt lượng dữ liệu không được gánnhãn, nhưng lại không thể khử được bài toán này Một cách tiếp cận để giải quyếtbài toán gán nhãn là dựa trên cơ sở web có nhiều tập các tài liệu liên kết Các kỹthuật lập nhóm không yêu cầu đầu vào phải được gán nhãn, đồng thời chúng đã vàđang được ứng dụng hết sức thành công cho tập lớn các tài liệu Hơn nữa, Webchính là một mảnh đất màu mỡ phì nhiêu cho các nghiên cứu lập nhóm tài liệu
Khai phá các luật kết hợp (association rule mining) là một phần của giai đoạn này
Về cơ bản, luật kết hợp là những biểu thức có dạng X ⇒ Y trong đó X và Y là tập cácmục (item) X ⇒ Y có nghĩa là bất cứ khi nào một giao tác T có chứa X thì T cũng cóthể chứa Y Xác suất hay độ tin cậy của luật được định nghĩa là phần trăm các giaotác có chứa Y khi đã chứa X trên tổng số các giao tác có chứa X
d Phân tích (analysis)
Phân tích là bài toán hướng dữ liệu với giả thiết đã có sẵn đầy đủ dữ liệu Từ đó,những thông tin hữu ích tiềm ẩn có thể được trích rút và được phân tích Con ngườiđóng một vai trò cực kỳ quan trọng trong quá trình khai phá tri thức bởi web là mộtmôi trường tương tác Điều này đặc biệt quan trọng cho sự phê chuẩn và giải thíchcác mẫu được khai phá bởi khi các mẫu được khai phá, những người phân tích cầnphải sử dụng những công cụ thích hợp để hiểu, trực quan hoá và giải thích các mẫu
3 Web content mining và Web structure mining
3.1 Web content mining
Web content mining là quá trình khai phá những thông tin có ích từ nội dung / dữliệu / tài liệu / dịch vụ web Tài liệu Web có thể chứa một số loại dữ liệu sau: văn bản,hình ảnh, âm thanh, video, siêu dữ liệu và siêu liên kết Một số là nửa cấu trúc nhưtài liệu HTML, hoặc là những dữ liệu có cấu trúc hơn như dữ liệu trong bảng cácCSDL sinh ra từ các trang HTML Tuy nhiên, hầu hết các dữ liệu đều là những dữliệu văn bản phi cấu trúc Các đặc trưng phi cấu trúc của dữ liệu Web khiến cho cáchtiếp cận Web content mining trở nên vô cùng phức tạp
Web content mining được phân biệt từ 2 quan điểm khác nhau:
Từ quan điểm Information Retrieval
Từ quan điểm Database
Từ quan điểm Information Retrieval
Trang 13Bảng trên đã tổng kết những nghiên cứu cho tài liệu văn bản phi cấu trúc Hầuhết các nghiên cứu đều sử dụng tập các từ đơn để biểu diễn các tài liệu phi cấu trúc.Cách biểu diễn này đã bỏ qua trình tự xuất hiện của các từ mà chỉ quan tâm đến tínhchất thống kê của các từ đó mà thôi Người ta có thể quan tâm một từ có xuất hiệntrong tài liệu hay không (boolean) hoặc tần suất xuất hiện của từ trong tài liệu Ngoài
ra, người ta còn quan tâm đến việc loại bỏ hệ thống dấu chấm câu, những từ ít đượcdùng, stop word, sterming
Các tài liệu nửa cấu trúc thường sử dụng cấu trúc HTML bên trong tài liệu hoặc cácsiêu liên kết giữa các tài liệu
Từ quan điểm Database
Các kỹ thuật cơ sở dữ liệu trên web liên quan tới những bài toán quản lý và truyvấn thông tin trên web Nhìn chung, có ba loại nhiệm vụ liên quan tới bài toán này:
mô hình hoá và truy vấn web, tích hợp và trích rút thông tin, tạo và tổ chức lại cácweb site
Về cơ bản nhìn từ góc độ CSDL, chúng ta thường cố gắng đưa ra cấu trúc củaWeb site hoặc biến đổi một web site thành CSDL để quản lý và truy vấn thông tintrên web được tốt hơn
Trang 14Từ bảng trên chúng ta có thể thấy rằng, cách biểu diễn tài liệu từ góc độ CSDLkhác hẳn so với IR DB view thường sử dụng Object Exchange Model (OEM) Theo
đó, các dữ liệu nửa cấu trúc thường được biểu diễn bằng một đồ thị được gán nhãn
Dữ liệu trong OEM được xem là đồ thị, các đối tượng gồm có các đỉnh và nhãn trênmỗi cạnh
3.2 Web Structure mining
Hầu hết các công cụ truy hồi thông tin Web hiện nay chỉ sử dụng những thông tinnguyên mẫu mà bỏ qua các thông tin liên kết Mục tiêu của Web structure mining làsinh ra những tóm tắt cấu trúc về Web site và Web page Trong khi Web contentmining tập trung vào cấu trúc bên trong của tài liệu, thì Web structure mining lại cốgắng khai phá cấu trúc liên kết của các siêu liên kết có trong tài liệu Dựa trên kiếntrúc của hyperlink, Web structure mining sẽ phân loại các trang web, sinh ra nhữngthông tin như độ tương quan, mối quan hệ giữa các web site khác nhau
Web structure mining cũng có thể khai phá cấu trúc của tài liệu Web Loại khaiphá cấu trúc này được sử dụng nhằm phát hiện lược đồ cấu trúc của các trang Web.Những thông tin cấu trúc được chiết xuất ra từ Web structure mining bao gồm:
Thông tin tần xuất của những liên kết cục bộ trong Web tuples của Web table
Thông tin tần xuất của Web tuples trong Web table có chứa các liên kết bêntrong hoặc các liên kết tới cùng một tài liệu
Thông tin về tần xuất của các Web tuple có chứa các liên kết toàn cục và cácliên kết trải rộng đến các Web sites khác
Thông tin về tần xuất của các Web tuple giống nhau xuất hiện trong một Web tablehay trong nhiều Web table
Trang 154 Web Text mining
Web text mining có 4 loại chính:
Phân loại văn bản được các nhà nghiên cứu định nghĩa như là việc gán các chủ
đề có trước cho các văn bản dựa trên nội dung của chúng Phân loại văn bản làcông việc được sử dụng để hỗ trợ cho quá trình duyệt văn bản, tìm kiếm văn bản,triết lọc thông tin, lọc văn bản hoặc tự động dẫn đường cho văn bản đến các chủ đềđược xác định trước
Hiện nay có rất nhiều thuật giải phân loại (categorization algorithm), một trong số
Chúng ta có thể sử dụng Text clustering cho tổ hợp các kết quả trả về từ searchengine Sau đó, người sử dụng chỉ đơn thuần kiểm tra các nhóm liên quan tới câutruy vấn của họ Điều này giúp giảm thiểu đáng kể thời gian và công sức so với việckiểm tra trên toàn bộ tập tài liệu
Các thuật toán clustering có thể được chia thành 2 nhóm chính:
Trang 17Năm 1989, Fayyad, Patestky-Shapiro và Smyth đã dùng khái niệm Phát hiện trithức trong cơ sở dữ liệu (Knowledge Discovery in Database - KDD) để chỉ toàn bộquá trình phát hiện các tri thức có ích từ các tập dữ liệu lớn Trong đó, khai phá dữliệu là một bước đặc biệt trong toàn bộ quá trình, sử dụng các giải thuật đặc biệt đểchiết xuất ra các mẫu (pattern) từ dữ liệu.
1.2 Các bước của quá trình khai phá dữ liệu
Các giải thuật khai phá dữ liệu thường được miêu tả như những chương trìnhhoạt động trực tiếp trên tệp dữ liệu Với các phương pháp máy học và thống kêtrước đây, thường thì bước đầu tiên là các giải thuật nạp toàn bộ tệp dữ liệu vàotrong bộ nhớ Khi chuyển sang các ứng dụng công nghiệp liên quan đến việc khaiphá các kho dữ liệu lớn, mô hình này không thể đáp ứng được Không chỉ bởi vì nókhông thể nạp hết dữ liệu vào trong bộ nhớ mà còn vì khó có thể chiết suất dữ liệu
ra các tệp đơn giản để phân tích được
Quá trình xử lý khai phá dữ liệu bắt đầu bằng cách xác định chính xác vấn đề cầngiải quyết Sau đó sẽ xác định các dữ liệu liên quan dùng để xây dựng giải pháp.Bước tiếp theo là thu thập các dữ liệu có liên quan và xử lý chúng thành dạng saocho các giải thuật khai phá dữ liệu có thể hiểu được Về lý thuyết thì có vẻ rất đơngiản nhưng khi thực hiện thì đây thực sự là một quá trình rất khó khăn, gặp phảinhiều vướng mắc như : các dữ liệu phải được sao ra nhiều bản (nếu được chiết suấtvào các tệp), quản lý tập các tệp dữ liệu, phải lặp đi lặp lại nhiều lần toàn bộ quátrình (nếu mô hình dữ liệu thay đổi),
Sẽ là quá cồng kềnh với một giải thuật khai phá dữ liệu nếu phải truy nhập vàotoàn bộ nội dung của CSDL và làm những việc như trên Vả lại, điều này cũng khôngcần thiết Có rất nhiều giải thuật khai phá dữ liệu thực hiện trên những thống kê tóm
Trang 18tắt khá đơn giản của CSDL, khi mà toàn bộ thông tin trong CSDL là quá dư thừa đốivới mục đích của việc khai phá dữ liệu.
Bước tiếp theo là chọn thuật toán khai phá dữ liệu thích hợp và thực hiện việckhai phá để tìm được các mẫu (pattern) có ý nghĩa dưới dạng biểu diễn tương ứngvới các ý nghĩa đó (thường được biểu diễn dưới dạng luật xếp loại, cây quyết định,luật sản xuất, biểu thức hồi quy, )
Đặc điểm của các mẫu là phải mới (ít nhất là đối với hệ thống đó) Độ mới có thểđược đo tương ứng với độ thay đổi trong dữ liệu (bằng cách so sánh các giá trị hiệntại với các giá trị trước đó hoặc các giá trị mong muốn), hoặc bằng tri thức (mối liên
hệ giữa các phương pháp tìm mới và phương pháp cũ như thế nào) Thường thì độmới của mẫu được đánh giá bằng các hàm logic hoặc hàm đo độ mới, độ bất ngờcủa mẫu Ngoài ra, mẫu phải có khả năng sử dụng tiềm tàng Các mẫu này sau khiđược xử lý và diễn giải phải dẫn đến những hành động có ích nào đó được đánh giábởi một hàm lợi ích Ví dụ như trong dữ liệu các khoản vay, hàm lợi ích đánh giá khảnăng tăng lợi nhuận từ các khoản vay Mẫu khai thác được phải có giá trị đối với các
dữ liệu mới với độ chính xác nào đó
Với các giải thuật và các nhiệm vụ của khai phá dữ liệu rất khác nhau, dạng củacác mẫu chiết xuất được cũng rất đa dạng Theo cách đơn giản nhất, sự phân tíchcho ra kết quả chiết xuất là một báo cáo về một số loại (có thể bao gồm các phép đomang tính thống kê về độ phù hợp của mô hình, các dữ liệu lạ ) Trong thực tế đầu
ra phức tạp hơn nhiều Mẫu chiết suất được có thể là một mô tả xu hướng, có thểdưới dạng văn bản, một đồ thị mô tả các mối quan hệ trong mô hình, cũng có thể làmột hành động ví dụ như yêu cầu của người dùng làm gì với những gì khai thácđược trong CSDL
Thống kê tóm tắt
Giải thuật khai phá
dữ liệu
Mẫu
Trang 19Kỹ thuật khai phá dữ liệu thực chất không có gì mới Nó là sự kế thừa, kết hợp và
mở rộng của các kỹ thuật cơ bản đã được nghiên cứu từ trước như máy học, nhậndạng, thống kê (hồi quy, xếp loại, phân nhóm), các mô hình đồ thị, mạng Bayes, trítuệ nhân tạo, thu thập tri thức hệ chuyên gia Tuy nhiên, với sự kết hợp tài tình củakhai phá dữ liệu, kỹ thuật này có ưu thế hơn hẳn các phương pháp trước đó, đem lạinhiều triển vọng trong việc ứng dụng phát triển nghiên cứu khoa học cũng như làmtăng mức lợi nhuận trong các hoạt động kinh doanh
2 Nhiệm vụ chính của khai phá dữ liệu.
Rõ ràng mục đích của khai phá dữ liệu là các tri thức chiết xuất được sẽ được sửdụng cho lợi ích cạnh tranh trên thương trường và các lợi ích trong nghiên cứu khoahọc
Do đó, có thể coi mục đích của khai phá dữ liệu sẽ là mô tả (description) và dựđoán (prediction) Các mẫu mà khai phá dữ liệu phát hiện được nhằm vào các mụcđích này Dự đoán liên quan đến việc sử dụng các biến hoặc các trường trong CSDL
để chiết xuất ra các mẫu là các dự đoán những giá trị chưa biết hoặc những gía trịtrong tương lai của các biến đáng quan tâm Mô tả tập trung vào việc tìm kiếm cácmẫu mô tả dữ liệu mà con người có thể hiểu được
Để đạt được hai mục đích này, nhiệm vụ chính của khai phá dữ liệu bao gồm nhưsau:
Phân lớp (Classification) : Phân lớp là việc học một hàm ánh xạ (hay phân loại)một mẫu dữ liệu vào một trong số các lớp đã xác định
Hồi quy (Regression) : Hồi quy là việc học một hàm ánh xạ từ một mẫu dữ liệuthành một biến dự đoán có giá trị thực
Phân nhóm (Clustering): Là việc mô tả chung để tìm ra các tập xác định, cácnhóm hay các loại để mô tả dữ liệu Các nhóm có thể tách riêng nhau hoặc phâncấp hoặc gối lên nhau Có nghĩa là mọt dữ liệu có thể vừa thuộc nhóm này, vừathuộc nhóm kia
Tóm tắt (summarization) : Liên quan đến các phương pháp tìm kiếm một mô tảtóm tắt cho một tập con dữ liệu
Mô hình hoá phụ thuộc (Dependency Modeling): Bao gồm việc tìm kiếm một môhình mô tả sự phụ thuộc đáng kể giữa các biến Các mô hình phụ thuộc tồn tạidưới hai mức : mức cấu trúc của mô hình xác định (thường ở dạng đồ hoạ) cácbiến nào là phụ thuộc cục bộ với nhau, mức định lượng của một mô hình xácđịnh độ mạnh của sự phụ thuộc theo một thước đo nào đó
Trang 20 Phát hiện sự thay đổi và lạc hướng (Change and Deviation Detection) : Tập trungvào khai thác những thay đổi đáng kể nhất trong dữ liệu từ các giá trị chuẩn hoặcđược đo trước đó.
Những nhiệm vụ khác nhau này yêu cầu số lượng và các dạng thông tin rất khácnhau nên chúng thường ảnh hưởng đến việc thiết kế và chọn giải thuật khai phá dữliệu khác nhau
3 Các phương pháp khai phá dữ liệu
Quá trình khai phá dữ liệu là quá trình phát hiện các mẫu trong đó, giải thuật khaiphá dữ liệu tìm kiếm các mẫu đáng quan tâm theo dạng xác định như các luật, câyphân lớp, quy hồi, phân nhóm,
Các thành phần của giải thuật khai phá dữ liệu
Giải thuật khai phá dữ liệu bao gồm có ba thành phần chính như sau : biểu diễn
mô hình, đánh giá mô hình, tìm kiếm mô hình
Biểu diễn mô hình : Mô hình được biểu diễn bằng một ngôn ngữ L để miêu tả cácmẫu có thể khai thác được Nếu sự mô tả quá bị hạn chế thì sẽ không thể họcđược hoặc sẽ không thể có các mẫu tạo ra được một mô hình chính xác cho dữliệu Vì vậy, việc quan trọng là người phân tích dữ liệu cần phải hiểu đầy đủ cácgiả thiết miêu tả Một điều cũng khá quan trọng là người thiết kế giải thuật cầnphải diễn tả được các giả thiết miêu tả nào được tạo ra bởi giải thuật nào Khảnăng miêu tả mô hình càng lớn thì càng làm tăng mức độ nguy hiểm và làm giảm
đi khả năng dự đoán các dữ liệu chưa biết Hơn nữa, việc tìm kiếm sẽ càng trởnên phức tạp hơn và việc giải thích mô hình cũng khó khăn hơn
Mô hình ban đầu được xác định bằng cách kết hợp biến đầu ra (phụ thuộc)với các biến độc lập mà biến đầu ra phụ thuộc vào Sau đó phải tìm những tham
số mà bài toán cần tập trung giải quyết Việc tìm kiếm mô hình sẽ đưa ra đượcmột mô hình phù hợp với các tham số được xác định dựa trên dữ liệu (trong một
số trường hợp, mô hình được xây dựng độc lập với dữ liệu trong khi đối với một
số trường hợp khác thì mô hình và các tham số lại thay đổi để phù hợp với dữliệu) Trong một số trường hợp, tập dữ liệu được chia thành tập dữ liệu học vàtập dữ liệu thử Tập dữ liệu học được sử dụng để làm cho các tham số của môhình phù hợp với dữ liệu Mô hình sau đó sẽ được đánh giá bằng cách đưa các
dữ liệu thử vào mô hình và thay đổi lại các tham số cho phù hợp nếu cần Môhình lựa chọn có thể là phương pháp thống kê như SASS, , một số giải thuậtmáy học, mạng nơron, suy diễn hương tình huống, các kỹ thuật phân lớp
Trang 21 Đánh giá mô hình: Đánh giá xem một mẫu có đáp ứng được các tiêu chuẩn củaquá trình phát hiện tri thức hay không Việc đánh giá độ chính xác dự đoán dựatrên đánh giá chéo (cross validation) Đánh giá chất lượng miêu tả liên quan đến
độ chính xác dự đoán, độ mới, khả năng sử dụng, khả năng hiểu mô hình Cả haichuẩn thống kê và chuẩn logic đều có thể được sử dụng để đánh giá mô hình.Việc đánh giá mô hình được thực hiện qua kiểm tra dữ liệu (trong một số trườnghợp kiểm tra với tất cả các dữ liệu, trong một số trường hợp khác kiểm tra với dữliệu thử)
Phương pháp tìm kiếm: Phương pháp tìm kiếm bao gồm 2 thành phần : tìm kiếmtham số và tìm kiếm mô hình Trong tìm kiếm tham số, giải thuật cần tìm kiếm cáctham số để tối ưu hoá các tiêu chuẩn đánh giá mô hình với các dữ liệu quan sátđược và với một miêu tả mô hình đã định Việc tìm kiếm không cần thiết đối vớicác bài toán khá đơn giản: các đánh giá tham số tối ưu có thể đạt được bằng cáccách đơn giản hơn Tìm kiếm mô hình xảy ra giống như một vòng lặp quaphương pháp tìm kiếm tham số: miêu tả mô hình bị thay đổi tạo nên một họ các
mô hình Với mỗi một miêu tả mô hình, phương pháp tìm kiếm tham số được ápdụng để đánh giá chất lượng của mô hình Các phương pháp tìm kiếm mô hìnhthường sử dụng các kỹ thuật tìm kiếm heuristic vì kích thước của không gian các
mô hình có thể thường ngăn cản các tìm kiếm tổng thể, hơn nữa các giải phápđơn giản không dễ đạt được
4 Một số bài toán chính đối với nghiên cứu về khai phá dữ liệu :
Bài toán phân loại (classification) : tìm một ánh xạ từ một mẫu dữ liệu vào mộttrong các lớp có sẵn
Bài toán hồi quy (regression): tìm một ánh xạ hồi quy từ một mẫu dữ liệu vàomột biến dự đoán có giá trị thực
Bài toán lập nhóm (clustering) : là việc mô tả chung để tìm ra tập xác định hữuhạn các nhóm hay các chủ đề là mô tả đặc trưng của dữ liệu
Bài toán lập tóm tắt (summarization): là việc tìm kiếm một mô tả chung tóm tắtcho một tập con dữ liệu
Trang 22 Dạng phi cấu trúc (unstructured): là dạng văn bản chúng ta sử dụng hằngngày được thể hiện dưới dạng ngôn ngữ tự nhiên của con người và chúngkhông có một cấu trúc định dạng cụ thể nào.
Dạng bán cấu trúc (semi-structured): đây là các loại văn bản không được lưutrữ dưới dạng các bản ghi chặt chẽ mà được tổ chức qua các đánh dấu vănbản để thể hiện nội dung chính của văn bản
2 Phương pháp biểu diễn văn bản bằng mô hình không gian vector (Vector Space Model)
Cách biểu diễn văn bản thông dụng nhất là thông qua vector Đây là một cáchbiểu diễn tương đối đơn giản và hiệu quả Trước đây có nhiều bài báo nói rằngphương pháp này gây tốn kém chi phí lưu trữ và công sức xử lý, nhưng khi cácphương pháp xử lý vector thưa được áp dụng thì các nhược điểm trên giảm đi rấtnhiều
Theo mô hình này, mỗi văn bản được biểu diễn thành một vector Mỗi thành phầncủa vector là một thuật ngữ riêng biệt trong tập văn bản gốc và được gán một giá trị
là hàm f của từng thuật ngữ trong văn bản
Trang 23Hình 1: Biểu diễn các vector văn bản trong không gian chỉ có 2 thuật ngữ
2.1 Mô hình Boolean
Một mô hình biểu diễn vector với hàm f cho ra giá trị rời rạc với duy nhất hai giá trị đúng và sai (true và false, hoặc 0 và 1) gọi là mô hình Boolean Hàm f tương ứng với thuật ngữ t i sẽ cho ra giá trị đúng nếu và chỉ nếu thuật ngữ t i xuất hiện trong vănbản đó
Mô hình Boolean được định nghĩa như sau:
Giả sử có một cơ sở dữ liệu gồm m văn bản, D = {d 1 , d 2 ,… d m } Mỗi văn bản được biểu diễn dưới dạng một vector gồm n thuật ngữ T = {t 1 , t 2 ,…t n } Gọi W = {w ij } là ma trận trọng số, trong đó w ij là giá trị trọng số của thuật ngữ t i trong văn bản d j
Mô hình Boolean là mô hình đơn giản nhất được xác định như sau[1]:
trongmÆt cã nÕu
0
d t
1
2.2 Mô hình tần suất
Trong mô hình tần suất, ma trận W = {w ij } được xác định dựa trên tần số xuất
hiện của thuật ngữ t i trong văn bản d j hoặc tần số xuất hiện của thuật ngữ t i trongtoàn bộ cơ sở dữ liệu
a Phương pháp dựa trên tần số thuật ngữ (TF – Term Frequency)
Các giá trị w ij được tính dựa trên tần số (hay số lần) xuất hiện của thuật ngữ trong
văn bản Gọi f ij là số lần xuất hiện của thuật ngữ t i trong văn bản d j , khi đó w ij đượctính bởi một trong ba công thức:
Trang 241 w ij = f ij
2 w ij = 1 + log(f ij )
3 w ij = f ij
Trong phương pháp này, trọng số w ij tỷ lệ thuận với số lần xuất hiện của thuật
ngữ t i trong văn bản d j Khi số lần xuất hiện thuật ngữ t i trong văn bản d j càng lớn thì
điều đó có nghĩa là văn bản d j càng phụ thuộc vào thuật ngữ t i, hay nói cách khác
thuật ngữ t i mang nhiều thông tin trong văn bản d j
Ví dụ, khi văn bản xuất hiện nhiều thuật ngữ 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 mangnhiều ý nghĩa như tần suất xuất hiện của nó Một phương pháp khác ra đời khắcphục được nhược điểm của phương pháp TF, đó là phương pháp IDF
b Phương pháp dựa trên nghịch đảo tần số văn bản (IDF – Inverse Document Frequency)
Trong phương pháp này, giá trị w ij được tính theo công thức sau:
liÖutµitrongxuÊt hiÖnthuËt ng
nÕu
0
d t
h m
h
m
ở đó m là số lượng văn bản và h i là số văn bản mà thuật ngữ t i xuất hiện
Trọng số w ij trong công thức này được tính dựa trên độ quan trọng của thuật ngữ
t i trong văn bản d j Nếu t i xuất hiện trong càng ít văn bản, điều đó có nghĩa là nếu nó
xuất hiện trong d j thì trọng số của nó đối với văn bản d j càng lớn hay nó là điểm quan
trọng để phân biệt văn bản d j với các văn bản khác và hàm lượng thông tin trong nócàng lớn
c Phương pháp TF × IDF
Phương pháp này là tổng hợp của hai phương pháp TF và IDF, giá trị của matrận trọng số được tính như sau:
Trang 25l¹i
ng îc nÕu
nÕu1
0
h h
m f
i
ij ij
1log
)]
log(
[
Phương pháp này kết hợp được ưu điểm của cả hai phương pháp trên Trọng số
w ij được tính bằng tần số xuất hiện của thuật ngữ t i trong văn bản d j và độ hiếm của thuật ngữ t i trong toàn bộ cơ sở dữ liệu
2.3 Phương pháp xử lý vector thưa
Theo mô hình vector chuẩn, việc xử lý các phép toán trên vector sẽ phụ thuộc
vào độ lớn của ma trận W nm ở đó n là số lượng thuật ngữ hay số chiều của vector và
m là số lượng văn bản có trong cơ sở dữ liệu Trên thực tế, số lượng thuật ngữ và
số văn bản có thể lên đến vài chục nghìn Khi đó số lượng phần tử trong ma trận
W nm sẽ lên đến con số trăm triệu và việc lưu trữ ma trận W nm sẽ tốn quá nhiều tàinguyên bộ nhớ đồng thời các phép toán trên các vector sẽ rất phức tạp Để khắcphục vấn đề này có thể sử dụng kỹ thuật xử lý trên vector thưa thay vì việc lưu trữ và
xử lý trên các vector chuẩn
Các điều kiện để có thể áp dụng phương pháp vector thưa:
1 Các vector thực sự thưa: số phần tử có trọng số khác 0 nhỏ hơn rất nhiều so
với số thuật ngữ trong cơ sở dữ liệu
2 Phép xử lý vector là đơn giản nhất: số vector cùng bị tác động trong một phép
xử lý cơ bản là nhỏ nhất Thường số vector bị tác động này được quy định tối
đa là 3 hoặc 4
Trên thực tế, số thuật ngữ xuất hiện trong một văn bản thường dưới 1000 Đốivới các văn bản dài và đa chủ đề thì số thuật ngữ xuất hiện có thể nhiều hơn Trongkhi đó, số lượng thuật ngữ có trong từ điển có thể lên đến con số 100,000 từ Đâychính là điều kiện để áp dụng phương pháp vector thưa
Việc thỏa mãn điều kiện thứ hai còn phụ thuộc vào thuật toán được áp dụng choquá trình xử lý văn bản
Một ví dụ biểu diễn vector thưa từ các vector chuẩn
Đối với vector chuẩn:
Trang 26w ij Máy tính Internet Thịt gà Quần bò Cỏ Lông
3 Các bài toán xử lý văn bản không có cấu trúc
3.1 Bài toán phân loại văn bản (Text Clustering)
3.1.1 Giới thiệu
Bài toán : Cho một tập hợp các văn bản đã được người dùng phân loại bằng tay
vào một số chủ đề có sẵn Khi đưa vào một văn bản mới, yêu cầu hệ thống chỉ ra tên chủ đề phù hợp nhất với văn bản đó.
Theo cách truyền thống, việc phân loại văn bản có thể thực hiện một cách thủcông, tức là đọc từng văn bản một và gán nó vào nhóm phù hợp Cách thức này sẽtốn nhiều thời gian và chi phí nếu như số lượng văn bản lớn Do vậy, cần phải xâydựng các công cụ phân loại văn bản một cách tự động
Để xây dựng công cụ phận loại văn bản tự động người ta thường dùng các thuật
toán học máy (Machine Learning) Tuy nhiên, còn có các thuật toán đặc biệt hơn
dùng cho phân loại trong các lĩnh vực đặc thù Một ví dụ điển hình là bài toán phânloại công văn giấy tờ Hệ thống sẽ tìm ra đặc thù của văn bản một cách tương đối
Trang 27máy móc, cụ thể là khi tìm thấy ở lề trên bên trái có ký hiệu “NĐ” thì hệ thống sẽphân văn bản đó vào nhóm “Nghị định”, tương tự như vậy với các ký hiệu “CV”, “QĐ”thì hệ thống sẽ phân văn bản này vào nhóm “Công văn”, và “Quyết định” Thuật toánnày tương đối hiệu quả song lại chỉ phù hợp cho các nhóm dữ liệu tương đối đặcthù Khi phải làm việc với các văn bản ít đặc thù hơn thì cần phải xây dựng các thuậttoán phân loại dựa trên nội dung của văn bản và so sánh độ phù hợp của chúng vớicác văn bản đã được phân loại bởi con người Đây là tư tưởng chính của thuật toánhọc máy Trong mô hình này, các văn bản đã được phân loại sẵn và hệ thống củachúng ta phải tìm cách để tách ra đặc thù của các văn bản thuộc mỗi nhóm riêng
biệt Tập văn bản mẫu dùng để huấn luyện gọi là tập huấn luyện (train set) hay tập
mẫu (pattern set), quá trình phân loại văn bản bằng tay gọi là quá trình huấn luyện (training), còn quá trình máy tự tìm đặc thù của các nhóm gọi là quá trình học (learning) Sau khi máy đã học xong, người dùng sẽ đưa các văn bản mới vào và
nhiệm vụ của máy là tìm ra xem văn bản đó phù hợp nhất với nhóm nào mà conngười đã huấn luyện nó
Một trong những ứng dụng quan trọng nhất của phân loại văn bản là ứng dụngtìm kiếm văn bản Từ tập dữ liệu đã được phân loại, 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ủ đề mà mình muốntìm thông qua các truy vấn
Một ứng dụng khác của phân loại văn bản là trong lĩnh vực hiểu văn bản Phân
loại văn bản có thể được dùng để lọc ra một số văn bản hoặc một phần văn bản màkhông làm mất đi tính phong phú của ngôn ngữ tự nhiên
Trong phân loại văn bản, sự phụ thuộc của một văn bản vào một nhóm có thể là
các giá trị rời rạc đúng và sai (true hoặc false, để hiểu rằng văn bản đó thuộc hay
không thuộc một nhóm nào đó) hoặc các giá trị liên tục (một số thực, chỉ ra độ phù
hợp của văn bản với một nhóm nào đó) Khi câu trả lời đưa ra bắt buộc phải là đúng hoặc sai thì giá trị liên tục có thể được rời rạc hóa bằng cách đặt ngưỡng Ngưỡng
đặt ra tùy thuộc vào thuật toán và yêu cầu người dùng
Quá trình phân loại văn bản bao gồm các bước:
1 Đánh chỉ số: ở bước này, dữ liệu đầu vào sẽ là một văn bản và kết quả
đầu ra là một chuỗi các chỉ số thuật ngữ biểu diễn nội dung của văn bản đầuvào Cũng giống như trong bài toán tìm kiếm văn bản Bước này rất quan