Web mining và xây dựng thử nghiệm ứng dụng web clustering

53 262 2
Web mining và xây dựng thử nghiệm ứng dụng web clustering

Đ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

MỤC LỤC MỞ ĐẦU Mục đích thực tập chuyên ngành Giới thiệu đề tài thực tập chuyên ngành Yêu cầu đề tài 3 CHƯƠNG I TỔNG QUAN VỀ WEB MINING Giới thiệu chung Web mining 2.1 Tổng quan 2.2 Các thành phần web mining phương pháp luận a Khám phá thông tin (IR) b Trích rút, lựa chọn tiền xử lý thông tin c Tổng quát hoá d Phân tích Web content mining Web structure mining 3.1 Web content mining 3.2 Web structure mining Web text mining 4.1 Text Classification 4.2 Text Clustering 4.3 Association analysis 4.4 Trend Prediction 5 6 10 10 11 11 13 14 14 14 15 15 CHƯƠNG II KHAI PHÁ DỮ LIỆU Tổng quan khai phá liệu 1.1 Khái niệm 1.2 Các bước trình khai phá liệu Nhiệm vụ khai phá liệu Các phương pháp khai phá liệu Một số toán nghiên cứu khai phá liệu 16 16 16 16 18 19 21 CHƯƠNG III VĂN BẢN VÀ XỬ LÝ VĂN BẢN 22 Khái niệm 22 Phương pháp biểu diễn văn 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 tần số thuật ngữ (TF – Term Frequency) 23 b Phương pháp dựa nghịch đảo tần số vă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 Các toán xử lý văn cấu trúc 26 Bài toán phân loại vă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 26 a Decision Tree 29 b k-Nearest Neighbor 34 3.2 Bài toán lập nhóm văn 36 3.2.1 Giới thiệu 3.2.2 Các phương pháp lập nhóm văn a Thuật toán phân câp Bayesian b Thuật toán ghép nhóm theo độ tương tự c Thuật toán K-means 36 37 37 39 40 CHƯƠNG IV XÂY DỰNG THỬ NGHIỆM ỨNG DỤNG WEB CLUSTERING 43 Bài toán đặt 43 Phương hướng giải 43 Web Crawler 43 a Giới thiệu 43 b Thứ tự Crawl URLs 44 c Một số vấn đề cần ý cho Web Crawler 44 d Thuật toán sử dụng cho Web Crawler 45 Áp dụng thuật toán lập nhóm cho liệu thu 46 2.2.1 Các bước thực để biểu diễn vector văn 46 a Tách từ 46 b Loại bỏ Stopwords 47 c Stemming 47 d Sắp xếp keyword 47 e Xây dựng bag-of-words 47 f Biểu diễn file văn thành vector 48 2.2.2 Áp dụng thuật toán lập nhóm 54 TÀI LIỆU THAM KHẢO 55 MỞ ĐẦU Mục đích thực tập chuyên ngành Sau năm học chuyên ngành, chúng em tiếp thu nhiều kiến thức tảng nhờ thầy cô khoa Công nghệ thông tin (CNTT), nhiên chúng em chưa thực sâu vào tiếp cận công nghệ mới, vấn đề ngành CNTT chi tiết cụ thể Vì đợt thực tập chuyên ngành dịp để chúng em tìm hiểu vấn đề cụ thể ngành CNTT Đây bước mở đầu bước tiếp cận để chúng em tiếp tục chuyển sang học giai đoạn chuyên ngành hẹp Công nghệ phần mềm Giới thiệu đề tài thực tập chuyên ngành Từ thập kỷ trở lại đây, chứng kiến phát triển vũ bão nguồn thông tin sẵn có World Wide Web (WWW) Ngày nay, trình duyệt Web cho phép dễ dàng truy nhập vào vô số nguồn liệu văn multimedia Với tỷ trang web, việc đánh số search engine tìm kiếm thông tin cần thiết không việc dễ dàng Lượng thông tin dồi to lớn làm nảy sinh nhu cầu phát triển kỹ thuật khai phá tự động WWW, hay gọi thuật ngữ “Web mining” Để có công cụ web thông minh, hạn chế can thiệp người, cần phải tích hợp hay nhúng trí tuệ nhân tạo (artificial intelligence) vào công cụ Sự cần thiết tạo hệ thống thông minh phía server phía client nhằm khai thác cách có hiệu tri thức Internet hay từ trang Web cụ thể thu hút ý nhà nghiên cứu từ nhiều lĩnh vực khác truy hồi thông tin (information retrieval), khai phá tri thức (knowledge discovery), máy học (machine learning) trí tuệ nhân tạo (AI) Tuy nhiên, toán phát triển 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ừ liệu web vốn không gán nhãn lại phân tán, hỗn tạp giai đoạn trứng nước Trong 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 cách sâu sắc Web mining mà dừng lại giới thiệu tổng quan cài đặt ứng dụng nhằm minh hoạ thuật toán tìm hiểu Mong thầy bạn cho em ý kiến quý báu để em tiếp tục phát triển, hoàn thiện đề tài 3 Yêu cầu đề tài Tìm hiểu chung Web mining Tìm hiểu Web Text mining Xây dựng ứng dụng cho phép thu thập thông tin từ mạng Internet Sau đó, áp dụng thuật toán lập nhóm cho liệu vừa thu CHƯƠNG I TỔNG QUAN VỀ WEB MINING Với khối lượng thông tin trực tuyến khổng lồ, World Wide Web trở thành lĩnh vực phong phú, dồi cho nghiên cứu data mining Có thể nói, nghiên cứu Web mining tổng hợp nhiều lĩnh vực nghiên cứu khác database, thu hồi thông tin (information retrieval), trí tuệ nhân tạo (AI), đặc biệt góp mặt máy học (machine learning) xử lý ngôn ngữ tự nhiên Tuy vậy, có nhiều nhầm lẫn, mập mờ đem so sánh kết nghiên cứu từ quan điểm khác Giới thiệu chung Ngày nay, World Wide Web môi trường tương tác phổ dụng, dùng để phổ cập thông tin Những người sử dụng thông tin, tương tác với Web, thường gặp phải vấn đề sau: a Tìm kiếm thông tin thích hợp : Con người sử dụng trình duyệt dịch vụ tìm kiếm họ muốn có thông tin đặc biệt Web Muốn sử dụng dịch vụ tìm kiếm, người sử dụng cần đưa câu truy vấn đơn giản Dường lập tức, kết tìm kiếm hiển thị thành danh sách trang xếp dựa độ tương đồng với câu truy vấn Tuy nhiên, công cụ tìm kiếm ngày gặp phải số vấn đề cộm Thứ nhất, độ xác thấp không thích hợp nhiều kết tìm kiếm Thứ hai, khả triệu hồi (recall) thấp không đủ khả đánh số cho tất thông tin có sẵn Web b Tạo tri thức từ thông tin có sẵn Web : Có thể coi toán toán toán Trong toán xử lý câu truy vấn (retrieval oriented) toán lại xử lý liệu, ta giả sử có sẵn tập liệu Web, cần phải trích tri thức tiềm ẩn có ích từ tập liệu c Sự cá nhân hoá thông tin : Khi tương tác với Web, người lại có cách biểu diễn thông tin riêng, tuỳ thuộc vào sở thích họ d Nghiên cứu người tiêu dùng người sử dụng riêng : Đây toán giải cho toán c Bài toán cho biết khách hàng làm muốn Web mining 2.1 Tổng quan Web mining thực chất việc sử dụng kỹ thuật Data mining nhằm tự động khai phá, trích dẫn thông tin từ tài liệu dịch vụ Web Hiện nay, lĩnh vực nghiên cứu rộng lớn, thu hút ý nhiều lĩnh vực nghiên cứu khác phát triển ghê gớm nguồn thông tin Web thương mại điện tử Web mining phân thành nhiệm vụ nhỏ sau: Tìm kiếm nguồn tài nguyên : truy hồi tài liệu Web mong muốn Đây trình truy hồi liệu trực tuyến không trực tuyến từ nguồn văn sẵn có Web Các nguồn thông tin tin điện tử, điện tín, nội dung văn từ tài liệu HTML, thu cách loại bỏ HTML tag… Lựa chọn tiền xử lý thông tin : tự động lựa chọn tiền xử lý thông tin vừa nhận từ nguồn tài nguyên Web Những chuyển đổi loại bỏ stop words, stemming… tiền xử lý để có biểu diễn thích hợp, hay chuyển đổi sang mô hình quan hệ, dạng logic (first order logic form) Tổng quát hoá : Tự động khai phá mẫu tổng quát từ Web site riêng biệt từ nhóm Web site Để tổng quát hoá mẫu, người ta thường sử dụng kỹ thuật machine learning data mining Trong trình khai phá thông tin tri thức, người đóng vai trò quan trọng Web môi trường tương tác Phân tích hiệu lực (hoặc) giải thích mẫu vừa khai phá Nói cách ngắn gọn, Web mining kỹ thuật dùng để khai phá phân tích thông tin có ích từ liệu Web Web có hai loại liệu chính:  Web content data  Web structure data Tương ứng với loại liệu cần khai thác, người ta chia kỹ thuật Web mining thành :  Web content mining  Web structure mining Hình Phân loại Web mining Web structure mining chia nhỏ thành:  Khai phá cấu trúc (External Structure mining) : tập trung khai phá siêu liên kết trang Web  Khai phá cấu trúc (Internal Structure mining) : khai phá cấu trúc nội trang Web  URL mining Web content mining chia thành:  Text mining: bao gồm text file, HTML, document  Multimedia mining Mặc dầu khai phá liệu multimedia có nhiều điều thú vị, hấp dẫn, text mining lại có vai trò quan trọng, lẽ nay, văn phương tiện thông tin chủ yếu Web 2.2 Các thành phần Web mining phương pháp luận Như nói Web mining 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 tiền xử lý thông tin (Information Selection/Extraction and preprocessing)  Tổng quát hoá (Generalization)  Analysis a Khám phá thông tin (IR) Khám phá thông tin giải toán tự động nhận tất tài liệu liên quan, đồng thời hạn chế tối đa tài liệu ích Quá trình IR thường bao gồm biểu diễn tài liệu (document representation), đánh số (indexing) tìm kiếm tài liệu Về bản, mục nơi ghi lại thuật ngữ Mỗi cần tìm tài liệu liên qua đến thuật ngữ nào, ta tra cứu mục để biết tất tài liệu có chứa thuật ngữ Tuy nhiên, đánh mục trang Web lại phức tạp Với số lượng khổng lồ trang web có tính chất động thường xuyên cập nhật, kỹ thuật đánh số dường điều Hiện nay, có bốn phương pháp đánh số cho tài liệu web:  manual indexing  automatic indexing  intelligent or agent - based indexing  metadata - based indexing Search engine chương trình viết để truy vấn nhận thông tin lưu trữ sở liệu (hoàn toàn có cấu trúc), trang HTML (nửa cấu trúc) hay văn text có web  Kiến trúc hệ IR Feedback Queries Processor Output Input Documents Với đầu vào tài liệu truy vấn người dùng, khối xử lý (processor) cho kết tài liệu thoả mãn truy vấn Các kết sử dụng làm thông tin phản hồi cho hệ IR nhằm có kết qủa tốt tình tương tự sau b Trích rút, lựa chọn tiền xử lý thông tin Khi tài liệu nhận về, nhiệm vụ phải trích rút tri thức thông tin yêu cầu khác mà không cần đến tương tác người Trích rút thông tin (IE) có nhiệm vụ xác định đoạn đặc trưng cấu thành nên nội dung ngữ nghĩa hạt nhân tài liệu Cho đến nay, phương pháp IE nhiều liên quan đến việc viết wrapper để ánh xạ tài liệu sang vài mô hình liệu Các hệ thống tích hợp thông tin thường thao tác cách dịch site khác thành nguồn tri thức trích rút thông tin từ chúng Một phương pháp khác để trích rút thông tin từ siêu văn (hypertext) coi trang tập câu hỏi chuẩn Bài toán đặt cần phải xác định đoạn văn trả lời cho số câu hỏi xác định Nói cách khác, khe hở điền đầy đoạn văn tài liệu Như vậy, mục tiêu IE trích rút tri thức từ tài liệu nhận cách lợi dụng cấu trúc tài liệu biểu diễn tài liệu chuyên gia IR lại coi tài liệu tập từ (bag of words) mà không ý tới cấu trúc tài liệu Vấn đề trở ngại IE kích thước tính chất động web Vì vậy, hệ thống IE thường trích rút thông tin từ số site cụ thể tập trung vào số vùng xác định mà Để trích rút loại tri thức từ CSDL có kích thước trung bình, cần có hệ thống tiền xử lý mạnh mẽ Khi người sử dụng yêu cầu trang web, nhiều loại file khác hình ảnh, âm thanh, video, cgi, html truy cập Kết là, server log chứa nhiều mục dư thừa không thích hợp cho nhiệm vụ khai phá Chính vậy, chúng cần phải loại bỏ trình tiền xử lý Một kỹ thuật tiền xử lý mà IE hay sử dụng latent semantic indexing (LSI), nhằm biến đổi vector tài liệu ban đầu sang không gian có số chiều nhỏ cách phân tích tương quan thuật ngữ tập tài liệu Một số kỹ thuật tiền xử lý khác “stop words”, “stemming”, cho phép giảm kích thước đặc trưng đầu vào c Tổng quát hoá Trong giai đoạn này, kỹ thuật máy học nhận dạng mẫu thường sử dụng để trích rút thông tin Hầu hết hệ thống máy học triển khai web thường học nhu cầu người sử dụng thân web Khó khăn học web vấn đề gán nhãn Dữ liệu web thực vô phong phú, xong lại không gán nhãn Trong đó, nhiều kỹ thuật khai phá liệu lại yêu cầu mẫu đầu vào phải gán nhãn dương (positive) âm (negative) tương ứng với số khái niệm Ví dụ, giả sử có tập lớn trang web gán nhãn dương âm khái niệm homepage Khi đó, việc tạo trình phân loại để dự đoán trang web có homepage hay không dễ dàng Nhưng thật không may, trang web lại không gán nhãn Các kỹ thuật lẫy mẫu không chắn giảm bớt lượng liệu không gán nhãn, lại khử toán Một cách tiếp cận để giải toán gán nhãn dựa sở web có nhiều tập 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 gán nhãn, đồng thời chúng ứng dụng thành công cho tập lớn tài liệu Hơn nữa, Web mảnh đất màu mỡ phì nhiêu cho nghiên cứu lập nhóm tài liệu Khai phá luật kết hợp (association rule mining) phần giai đoạn Về bản, luật kết hợp biểu thức có dạng X ⇒ Y X Y tập mục (item) X ⇒ Y có nghĩa giao tác T có chứa X T chứa Y Xác suất hay độ tin cậy luật định nghĩa phần trăm giao tác có chứa Y chứa X tổng số giao tác có chứa X d Phân tích (analysis) Phân tích toán hướng liệu với giả thiết có sẵn đầy đủ liệu Từ đó, thông tin hữu ích tiềm ẩn trích rút phân tích Con người đóng vai trò quan trọng trình khai phá tri thức web môi trường tương tác Điều đặc biệt quan trọng cho phê chuẩn giải thích mẫu khai phá mẫu khai phá, người phân tích cần phải sử dụng công cụ thích hợp để hiểu, trực quan hoá giải thích mẫu Web content mining Web structure mining 3.1 Web content mining Web content mining trình khai phá thông tin có ích từ nội dung / liệu / tài liệu / dịch vụ web Tài liệu Web chứa số loại liệu sau: văn bản, hình ảnh, âm thanh, video, siêu liệu siêu liên kết Một số nửa cấu trúc tài liệu HTML, liệu có cấu trúc liệu bảng 10 Khi thuật toán phân cấp theo độ tương tự biểu diễn sau: Đầu vào: D = {d1, d2,…,dn} Khởi tạo: C0 = {c1, c2,…,cn} ci = {di} với ≤ i ≤ n For k = to N - k Function sim(ci, cj) Return c Thuật toán K-means Coi văn điểm không gian tập văn Cơ sở thuật toán để tìm k nhóm, từ tập hợp văn bản, miêu ta sau: Chọn k điểm trọng tâm nhóm cách ngẫu nhiên Gắn điểm lại tới trọng tâm gần Khi có k nhóm văn Tính toán lại trọng tâm cho nhóm Lặp lại bước trọng tâm không thay đổi Biểu diễn văn Trong thuật toán K-means không yêu cầu rõ ràng cách biểu diễn văn cách biểu diễn ưa dùng mô hình không gian vector Trong mô hình này, văn d biểu diễn dạng vector không gian thuật ngữ Ở dạng đơn giản nhất, văn biểu diễn dạng vector tần suất từ khóa (Term Frequency – TF): dtf = (f1, f2,…, fm) 39 fi tần suất thuật ngữ thứ i văn d Một mô hình biểu diễn quan tâm sử dụng vector TF × IDF Khi đó, văn biểu diễn sau: dtf×idf = (f1log(N/h1)),f2log(N/h2)),…, fmlog(N/hm))) N số văn tập hợp, hi số văn chứa thuật ngữ ti Phép tính độ tương tự Có hai phương pháp đánh giá độ tương tự văn di dj Phương pháp thứ thường dùng nhiều dựa phép toán cosine hai vector: cosine(d i , d j ) = di × d j di × d j di × dj phép tính tích vô hướng hai vector Còn |di| độ dài vector di Xét dạng biểu diễn đơn giản vector d i = (x , x ,…, x m ) , d j = (y , y ,…, y m ) , ta viết lại công thức sau: m cosine(d i , d j ) = ∑x × y i i =1 m i m ∑x ∑y i =1 i i =1 i Một công thức khác hay dùng, phép tính khoảng cách Euclid hai vector: dis( d i , d j ) = d i - d j = ( xi − yi ) Khi dis(di, dj) nhỏ độ tương tự lớn Trọng tâm nhóm văn Gọi n, m k số văn bản, số khái niệm số nhóm Gọi S tập hợp văn bản, S1, S2,…,Sk tập hợp chứa văn thuộc nhóm 1, 2,…,k, n1, n2,…, nk kích thước (hay số lượng văn bản) nhóm 1, 2,…, k Xét A tập hợp văn bản, ta định nghĩa vector hợp DA sau: DA = ∑ d d∈A trọng tâm tập hợp A: 40 CA = DA A vector hợp DA thực tổng vector tập A CA vector trung bình tập hợp A CHƯƠNG IV XÂY DỰNG THỬ NGHIỆM ỨNG DỤNG WEB CLUSTERING Bài toán đặt Cho danh sách khởi đầu URL Nhiệm vụ đặt phải xây dựng kho liệu văn từ URL Sau đó, áp dụng toán lập nhóm để xây dựng nhóm cho tài liệu vừa crawl 41 Phương hướng giải Bài toán chia thành hai giai đoạn chính:  Thu thập thông tin từ Internet: Ở bước này, xây dựng webcrawler để tạo CSDL  Áp dụng thuật toán lập nhóm tìm hiểu cho liệu vừa thu 2.1 Web Crawler a Giới thiệu Web crawler nhìn cách tổng thể chương trình thực công việc khám phá tải trang web từ mạng Internet Thông thường crawler bắt đầu với tập địa trang web khởi điểm (initial set of URLs) S0 Nó đưa tập S0 vào hàng đợi (queue), nơi mà URLs xếp crawl sau Crawler lấy URLs từ hàng đợi theo thứ tự tuỳ thuộc vào cách cài đặt cụ thể tải trang web tương ứng với URLs về, cất giữ chúng (nếu cần thiết), tách URLs khác trang web vừa tải xếp vào hàng đợi Quá trình tiếp diễn crawler định dừng lại (có thể hết hàng đợi lý đó) Đây thành phần vô quan trọng, liệu crawler tải sử dụng để tạo nên kho liệu, đánh mục phục vụ cho nhu cầu tiếp sau Search engine Web browse r Front end Database web sites of Spider robot Web sites Back end (spider) b Thứ tự crawl URLs Crawler cất URLs mà bắt gặp trình crawl vào hàng đợi lấy chúng theo quy tắc để tiến hành tải trang web tương ứng Có bốn chiến lược crawl : 42  crawl theo chiều rộng (breath-first crawling) : Crawl theo chiều rộng thực tìm kiếm hết trang web gần, qua liên kết trung gian từ trang web xuất phát trước đến trang web xa hơn.Tìm kiếm theo chiều rộng phương pháp áp dụng cho hầu hết crawler  crawl theo chiều sâu (depth-first crawling) : Theo phương pháp này, crawler theo liên kết trang Cứ tiếp tục không liên kết quay lui liên kết thứ hai trang trước  crawl ngẫu nhiên (random crawling) : Việc lựa chọn URL mang tính chất ngẫu nhiên Crawler lựa chọn ngẫu nhiên URLs để viếng thăm Tất URLs đối xử bình đẳng, yếu tố tác động lên thứ tự viếng thăm URLs  crawl có thứ tự (priority crawling) : Với phương pháp này, crawler sử dụng hệ thứ tự để tìm URL viếng thăm Thông thường, crawler thường chọn URL có giá trị xếp cao trước tiên c Một số vấn đề cần ý web crawler Trong trình crawl trang Web, crawler cần phải ý đến vấn đề sau:  Tránh dư thừa : Mỗi trang web thường chứa link tới trang web khác Chính vậy, không cẩn thận crawler chắn bị rơi vào vòng lặp vô hạn Tuy nhiên, ta dễ dàng tránh vấn đề cách lưu trữ danh sách URL tìm kiểm tra danh sách trước sử dụng liên kết  Thực phân biệt : Không phải liên kết dẫn tới trang HTML Vì vậy, crawler bắt gặp liên kết tới file đồ hoạ hay file chương trình Crawler cần phải nhận dạng đựoc liên kết  Giới hạn phạm vi : Do web site liên kết tới web site khác, vậy, crawler nhảy tới web server khác Tuy nhiên, với việc giới hạn phạm vi, lập trình cho crawler tìm kiếm liên kết web server miền  Giới hạn độ sâu : Mức sâu tối đa mà crawler tìm đến 43 d Thuật toán sử dụng cho web crawler  Lưu đồ thuật toán CRAWL(URL) Acquire URL URL acquired ? No Return Yes Scan URL for links Advance to next link No Any links remaining Yes Call CRAWL(link URL) Nhận thông tin đầu vào người sử dụng: URL khởi đầu Đưa URL recursively vào danh sách (hiện rỗng) URL tìm While danh sách URL tìm không rỗng { Nhận  Thuật toánvề URL danh sách Chuyển URL tới danh sách URL tìm Kiểm tra URL để đảm bảo giao thức http (nếu không, thoát khỏi vòng lặp quay lại vòng while) Kiểm tra xem có file robots.txt site mà có chứa câu lệnh “Disallow” hay không? Nếu có, thoát khỏi vòng lặp, quay trở vòng lặp while Mở URL để nhận tài liệu từ trang Web Nếu file html, thoát khỏi vòng lặp, quay trở vòng lặp while while văn html chứa link { Hợp lệ hoá URL liên kết, đảm bảo robots chấp nhận Nếu html file, Nếu URL mặt danh sách URL tìm danh sách URL tìm, đưa vào danh sách URL tìm Còn loại file mà người sử dụng yêu cầu đưa vào danh sách file tìm } } 44 2.2 Áp dụng thuật toán lập nhóm cho liệu vừa thu 2.2.1 Các bước thực để biểu diễn vector văn a Tách từ Đầu vào bước file văn (txt) Đầu bước cho ta danh sách từ ứng với file Công việc thực sau: Nhập vào file văn (đường dẫn), tách file văn thành danh sách từ đơn (là từ tiếng Anh gồm chuỗi ký tự chữ từ a->z A->Z) từ tách biệt ký tự đặc biệt ký tự chữ (dấu trống, phẩy, chấm, ) Ta thu danh sách từ keyword1, keyword2, ứng với file text thứ nhất, thứ hai… Đầu bước đầu vào bước thứ hai, loại bỏ stopword b Loại bỏ stopwords Đầu vào danh sách từ Kết thúc bước này, từ stopword bị loại khỏi danh sách Loại bỏ stopwords keyword1, keyword2, Các từ stopword được liệt kê file có sẵn, gồm khoảng 541 từ c Stemming Với từ tiếng Anh, xuất phát từ từ khác, mà từ mang ý nghĩa giống Chẳng hạn có từ "learn", "learned", 45 "learning" ta lược bỏ phần hậu tố để lấy từ gốc "learn" Cách loại bỏ tuân theo luật xây dựng sẵn luật Porter d Sắp xếp keyword Sắp xếp phần tử danh sách keyword1, keyword2, theo thứ tự bảng chữ cái, sau lưu danh sách sang danh sách tưng ứng FT1, FT2, mà phần tử danh sách gồm trường word (nội dung từ) TF, số lần xuất từ keyword1, keyword2, (tức file văn ban đầu) Các phần tử danh sách FT1, FT2, có nội dung trường word khác (các danh sách lưu trữ từ khác nhau, thực cách loại bỏ từ giống keyword lưu số lần xuất nó) e Xây dựng bag-of-words Tạo danh sách FT phần tử xâu có nội dung word tất c danh sách FT1, FT2, cách ghép danh sách với Sau xếp phần tử danh sách theo thứ tự bảng chữ Tạo mảng ghi F, ghi gồm hai thành phần word (nội dung word FT) df (số lần từ xuất FT), cách loại bỏ phần tử có word giống FT lưu số lần xuất từ Mảng F lưu trữ tất từ khác đôi tất file văn đưa vào với số file văn chứa từ Sau thực xong bước này, ứng với văn bản, ta có danh sách từ FTi tương ứng, đồng thời, với tất file vào này, ta có danh sách từ chung F f Biểu diễn file văn thành vector (TFIDF) Mỗi danh sách danh sách FT1, FT2, biểu diễn vecto mảng tưng ứng d1, d2, mà phần tử mảng tưng ứng với phần tử mng F struct node { char *word; /*nội dung từ*/ 46 int count; /*số lần xuất từ*/ struct node *next; } Biểu diễn văn vector trọng số, mảng số thực, số phần tử mảng số phần tử danh sách keyword, phần tử mảng tưng ứng với phần tử mảng F (phần tử thứ mảng tính theo trọng số tưng ứng phần tử thứ F Chẳng hạn với d1: For i:=1 to |F| /* |F| số phần tử mảng F */ If F[i] = FT1[word] then d1(i)=TF(wi, d1).IDF(wi) If F[i] ≠ FT1[word] then d1(i)= đó: TF(wi, d) số lần từ wi xuất tài liệu d và: IDF ( wi ) = log( |D| ) DF ( wi ) 1 wi ∈ d DF ( wi ) = ∑  wi ∉ d d ∈D 0 DF(wi) số tài liệu mà wi xuất lần  Thuật toán Stemming Loại bỏ phần hậu tố từ cách tự động có nghĩa phép xử lý đặc biệt có hiệu lĩnh vực xử lý thông tin(IR) Trong môi trường IR điển hình, bao gồm tập văn (document) mô tả từ tiêu đề văn từ văn trừu tượng Nếu ta bỏ qua xác vị trí mà từ tổ chức nói văn biểu diễn vector từ Terms Nhiều Term thường mang ý nghĩa tương tự, ví dụ: CONNECT CONNECTED CONNECTING CONNECTION 47 CONNECTIONS Thường hiệu hệ thống IR tăng lên nhóm term chuyển thành stem Cách làm đưa thường loại bỏ phần hậu tố ED, ING, ION, IONS , ví dụ ta thu CONNECT Để giới thiệu thuật toán, ta vào vài định nghĩa sau Phụ âm chữ A, E, I, O, U Y kí hiệu c(consonant) Nguyên âm chữ lại, kí hiệu v (vowel) Ta ký hiệu C = cc với chuỗi cc có độ dài lớn V = vv với chuỗi vv có độ dài lớn Một từ hay phần từ có bốn dạng: CVCV C CVCV V VCVC C VCVC V hay dạng tổng quát là: [C](VC) {m} [V] - Ký hiệu [C] hay [V] nghĩa C, hay V có không - (VC){m} nghĩa là: cụm VC lặp lại m lần (số đo) Luật để thay đổi hậu tố cho dạng: (điều kiện) S1 → S2 Nghĩa từ, thoả mãn điều kiện cho, kết thúc hậu tố S1 S1 chuyển thành S2 Các điều kiện là: *S *v* *d *o từ kết thúc S từ chứa phụ âm từ kết thúc nguyên âm đôi từ kết thúc cvc, với nguyên âm thứ hai khác W, X, Y Điều kiện biểu thức với phép logic: and, or, not 48 Thuật toán Bước 1A S1 → S2 SSES → SS IES → I (đk) SS → S → SS Ví dụ caresses → caress ponies → poni ties → ti caress → caress cats → cat Bước 1B (đk) m>0 S1 → S2 EED → EE *v* ED → *v* ING → Ví dụ feed → feed agreed → agree plastered → plaster bled → bled motoring → motor sing → sing Nếu luật thứ hai ba tập luật Step1b thực hiện, luật sau thực tiếp (đk) *d and not (*L or *S or *Z) S1 → S2 AT → ATE BL → BLE IZ → IZE → Chữ đơn Ví dụ conflat(ed) → conflate troubl(ed) → trouble siz(ed) → size hopp(ing) → hop tann(ed) → tan fall(ing) → fall hiss(ing) → hiss m=1 and *o E fizz(ed) → fizz fail(ing) → fail fil(ing) → file 49 Luật chuyển thành chữ đơn dẫn tới việc xoá cặp chữ đôi -E đưa trở lại từ: -AT, -BL -IZ, hậu tố -ATE, -BLE -IZE nhận bước sau Chữ E xoá bước thứ Bước 1C (đk) *v* S1 → S2 Y → I Ví dụ happy → happi sky → ski Bước dùng cho từ dạng số nhiều động từ chia khứ phân từ Các bước sau đơn giản bước Bước (đk) m>0 m>0 m>0 m>0 m>0 m>0 m>0 m>0 m>0 m>0 m>0 m>0 m>0 m>0 m>0 m>0 m>0 m>0 m>0 S1 → S2 ATIONAL → ATE TIONAL → TION ENCI ANCI IZER ABLI ALLI ENTLI ELI OUSLI IZATION ATION ATOR ALISM IVENESS FULNESS OUSNESS ALITI IVITI → → → → → → → → → → → → → → → → → ENCE ANCE IZE ABLE AL ENT E OUS IZE ATE ATE AL IVE FUL OUS AL IVE Ví dụ relational → relate conditional→condition rational→rational valenci→valence hesitanci→hesitance digitizer→digitize conformabli→conformable radicalli→radical differentli→different vileli→vile analogousli→analogous vietnamization→vietnamize predication→predicate operator→operate feudalism→feudal decisiveness→decisive hopefulness→hopeful callousness→callous formaliti→formal sensitiviti→sensitive Bước 50 S1 → ICATE ATIVE ALIZE ICITI ICAL FUL NESS (đk) m>0 m>0 m>0 m>0 m>0 m>0 m>0 m>0 S2 → → → → → → → → IC AL IC IC Ví dụ triplicate→triplic formative→form formative→formal electriciti→electric electrical→electric hopeful→hope goodness→good → Bước (đk) m>1 m>1 m>1 m>1 m>1 m>1 m>1 m>1 m>1 m>1 m>1 (m>1) and (*S or *T) m>1 m>1 m>1 m>1 m>1 m>1 m>1 S1 → S2 AL → ANCE → ENCE → ER → IC → ABLE → IBLE → ANT → EMENT → MENT → ENT → ION → OU ISM ATE ITI OUS IVE IZE → → → → → → → Ví dụ revival→reviv allowance→allow inference→infer airliner→airline gyroscopic→gyroscop adjustable→adjust defensible→defens irritant→irrit replacement→replac adjustment→adjust dependent → depend adoption→ adopt homologou → homolog communism → commun activate → activ angulariti → angular homologous → homolog effective →effect bowdlerize→bowdler Các hậu tố loại bỏ Bước 5A (đk) m>1 m=1 and not *o S1 → S2 E → E → Ví dụ probate→probat rate→rate cease→ceas 51 Bước 5B (đk) m>1 and *d and *L S1 → S2 → chữ đơn Ví dụ controll→control roll→roll Thuật toán không loại bỏ phần hậu tố mà từ có phần thân ngắn Việc đánh giá phần thân ngắn hay dài thông qua số đo m 2.2.2 Áp dụng thuật toán lập nhóm Sau biểu diễn văn thành vector, áp dụng thuật toán lập nhóm tìm hiểu cho văn Đó thuật toán:  Thuật toán phân cấp Bayesian  Thuật toán K-means Tuy nhiên, khoảng thời gian thực tập có hạn, em xây dựng module Web Crawler biểu diễn văn vector không gian thuật ngữ mà chưa cài đặt thuật toán lập nhóm TÀI LIỆU THAM KHẢO Data mining – Practical Machine Learning Tools and Techniques with Java Implementation - Ian H Witten & Eibe Frank – Morgan KaufMann Publishers – 2002 - NV91/02 52 Solving Data Mining Problems through Pattern Recognition – Ruby L Kennedy, Yuchun Lee, Benjamin Van Roy, Christopher D.Reed, Dr.Richard P Lippmann – Prentice Hall - 1997 Predictive Data Mining – a practical guide Sholom M Weiss, Nitin Indurkhya – Morgan KaufMann Publishers - 1998 Programing Bots, Spiders, Intelligent Agents in Microsoft Visual C++ - David Pallmann – Microsoft Press – 1997 Phần mềm text classification mã nguồn mở cho Unix : “Rainbow” – http://www.cs.cmu.edu/~mccallum/bow Khai phá liệu, kỹ thuật ứng dụng - Luận văn tốt nghiệp cao học chuyên ngành công nghệ thông tin - Nguyễn Thị Diệu Thư – TS666 Tìm hiểu giải số vấn đề xử lý văn tiếng Việt - Đồ án tốt nghiệp đại học, môn công nghệ phần mềm - Nguyễn Lê Vinh – 2003 Tìm hiểu xây dựng mô tơ tìm kiếm tài liệu tiếng Việt - Đồ án tốt nghiệp đại học, môn công nghệ phần mềm - Đặng Xuân Hà – 2003 Các báo tham khảo mạng Internet : (Site: http://citeseer.nj.nec.com) • Web Mining Research : A Survey • Web Mining : Pattern Discovery from World Wide Web Transactions • Data Preparation for Mining World Wide Web Browsing Patterns • Web Mining and Knowledge Discovery of Usage Patterns • Efficiently Mining Frequent Trees in the Forest • Low Complexity Fuzzy Relational Clustering Algorithms for Web Mining • Extracting Web User Profiles Using Relational Competitive Fuzzy Clustering • Robust Fuzzy Clustering Methods to Support Web Mining • A Fuzzy relative of the k-Medoids Algorithm with Application to Web Document and Snippet Clustering • Mining Web Access logs using a Fuzzy Relational Clustering Algorithm based on a Robust Estimator 53 [...]... tin Web hin nay ch s dng nhng thụng tin nguyờn mu m b qua cỏc thụng tin liờn kt Mc tiờu ca Web structure mining l sinh ra nhng túm tt cu trỳc v Web site v Web page Trong khi Web content mining tp trung vo cu trỳc bờn trong ca ti liu, thỡ Web structure mining li c gng khai phỏ cu trỳc liờn kt ca cỏc siờu liờn kt cú trong ti liu Da trờn kin trỳc ca hyperlink, Web structure mining s phõn loi cỏc trang web, ... tin nh tng quan, mi quan h gia cỏc web site khỏc nhau Web structure mining cng cú th khai phỏ cu trỳc ca ti liu Web Loi khai phỏ cu trỳc ny c s dng nhm phỏt hin lc cu trỳc ca cỏc trang Web Nhng thụng tin cu trỳc c chit xut ra t Web structure mining bao gm: Thụng tin tn xut ca nhng liờn kt cc b trong Web tuples ca Web table Thụng tin tn xut ca Web tuples trong Web table cú cha cỏc liờn kt bờn trong... kt bờn trong hoc cỏc liờn kt ti cựng mt ti liu Thụng tin v tn xut ca cỏc Web tuple cú cha cỏc liờn kt ton cc v cỏc liờn kt tri rng n cỏc Web sites khỏc Thụng tin v tn xut ca cỏc Web tuple ging nhau xut hin trong mt Web table hay trong nhiu Web table 4 Web Text mining Web text mining cú 4 loi chớnh: Text Categorization Text Clustering Association analysis Trend prediction 4.1 Text Categorization... Prediction D oỏn giỏ tr ca mt d liu cho trc ti mt thi im xỏc nh no ú trong tng lai Cn chỳ ý rng, Web text mining cng tng t nh mining trờn mt tp cỏc file text, tt nhiờn cú nhng s m rng nht nh no ú Tuy vy, nhng thụng tin ph c mang bi cỏc tag trong ti liu Web nh , cn c khai thỏc lm tng cht lng ca Web text mining 14 CHNG II KHAI PH D LIU 1 Tng quan v khai phỏ d liu 1.1 Khỏi nim Khai phỏ d liu... cõu, nhng t ớt c dựng, stop word, sterming Cỏc ti liu na cu trỳc thng s dng cu trỳc HTML bờn trong ti liu hoc cỏc siờu liờn kt gia cỏc ti liu 11 T quan im Database Cỏc k thut c s d liu trờn web liờn quan ti nhng bi toỏn qun lý v truy vn thụng tin trờn web Nhỡn chung, cú ba loi nhim v liờn quan ti bi toỏn ny: mụ hỡnh hoỏ v truy vn web, tớch hp v trớch rỳt thụng tin, to v t chc li cỏc web site V c bn... ra cu trỳc ca Web site hoc bin i mt web site thnh CSDL qun lý v truy vn thụng tin trờn web c tt hn T bng trờn chỳng ta cú th thy rng, cỏch biu din ti liu t gúc CSDL khỏc hn so vi IR DB view thng s dng Object Exchange Model (OEM) Theo ú, cỏc d liu na cu trỳc thng c biu din bng mt th c gỏn nhón D liu trong OEM c xem l th, cỏc i tng gm cú cỏc nh v nhón trờn mi cnh 3.2 Web Structure mining 12 Hu ht... th s dng Text clustering cho t hp cỏc kt qu tr v t search engine Sau ú, ngi s dng ch n thun kim tra cỏc nhúm liờn quan ti cõu truy vn ca h iu ny giỳp gim thiu ỏng k thi gian v cụng sc so vi vic kim tra trờn ton b tp ti liu Cỏc thut toỏn clustering cú th c chia thnh 2 nhúm chớnh: Hierachical Clustering : Hierachical Bayesian Clustering (HBC) algorithm G HAC algorithm Partitional Clustering : K-Means...CSDL sinh ra t cỏc trang HTML Tuy nhiờn, hu ht cỏc d liu u l nhng d liu vn bn phi cu trỳc Cỏc c trng phi cu trỳc ca d liu Web khin cho cỏch tip cn Web content mining tr nờn vụ cựng phc tp Web content mining c phõn bit t 2 quan im khỏc nhau: T quan im Information Retrieval T quan im Database T quan im Information Retrieval Bng trờn ó tng kt nhng nghiờn cu cho... nghiờn cu gii quyt bi toỏn lp nhúm vn bn Cỏc thut toỏn ny cú th c phõn thnh 2 nhúm chớnh: Hierachical Clustering : o Thut toỏn phõn cp Bayesian o Thut toỏn ghộp nhúm theo tng t Partitional Clustering : K-means a Thut toỏn phõn cp Bayesian Thut toỏn HBC c ỏnh giỏ l thut toỏn truy hi tt nht khi dựng gii quyt bi toỏn lp nhúm Cng ging nh hu ht cỏc thut toỏn truy hi khỏc, HBC xõy dng mt cõy phõn cp... ng vi thut ng ú Phn t (6, 2) trong vn bn d2 ch ra rng thut ng cú mó 6 (lụng cu) cú trng s 2 3 Cỏc bi toỏn x lý vn bn khụng cú cu trỳc 3.1 Bi toỏn phõn loi vn bn (Text Clustering) 3.1.1 Gii thiu Bi toỏn : Cho mt tp hp cỏc vn bn ó c ngi dựng phõn loi bng tay vo mt s ch cú sn Khi a vo mt vn bn mi, yờu cu h thng ch ra tờn ch phự hp nht vi vn bn ú Theo cỏch truyn thng, vic phõn loi vn bn cú th thc hin

Ngày đăng: 11/06/2016, 14:17

Từ khóa liên quan

Mục lục

  • 2.1 Mô hình Boolean

  • 2.2 Mô hình tần suất

  • 2.3 Phương pháp xử lý vector thưa

  • 7.2 Thuật toán K-Nearest Neighbor

  • a. Thuật toán phân cấp Bayesian

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

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

Tài liệu liên quan