Hướng nghiên cứu của đề tài Về lý thuyết: Nghiên cứu các giải pháp kỹ thuật trong việc thu thập thông tin tự động trên internet, ứng dụng kỹ thuật khai phá dữ liệu cho việc phân tích thô
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
————————————
NGUYỄN DANH HÙNG
NGHIÊN CỨU XÂY DỰNG HỆ THỐNG TỔNG HỢP, PHÂN
LOẠI THÔNG TIN TỰ ĐỘNG TRÊN WEB
Chuyên ngành: Khoa học máy tính
Mã số : 60.48.0101
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Người hướng dẫn khoa học: PGS.TS ĐOÀN VĂN BAN
Thái nguyên – Năm 2014
Trang 2i
-MỤC LỤC
MỤC LỤC .i
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT iv DANH MỤC CÁC BẢNG .v DANH MỤC CÁC HÌNH vi MỞ ĐẦU .1
CHƯƠNG 1: KHAI PHÁ DỮ LIỆU 4
1.1 Khai phá dữ liệu 4
1.1.1 Giới thiệu khai phá dữ liệu 4
1.1.2 Quá trình khai phá dữ liệu .6
1.1.3 Các bài toán thông dụng trong khai phá dữ liệu 7
1.1.4 Ứng dụng của khai phá dữ liệu 7
1.2 Khai phá Web 8
1.2.1 Giới thiệu về khai phá Web 8
1.2.2 Khó khăn và thuận lợi 9
1.2.3 Quá trình khai phá Web 12
1.2.4 Các lĩnh vực của khai phá dữ liệu web 15
1.2.5 Các kiểu dữ liệu Web 16
1.3 Phân cụm tài liệu web 17
1.4 Phân lớp văn bản .19
1.4.1 Bài toán phân lớp văn bản .19
1.4.2 Dữ liệu văn bản 21
1.4.3 Biểu diễn văn bản 21
1.4.4 Một số vấn đề trong xử lý dữ liệu văn bản .23
1.5 Tổng kết chương 1 29
CHƯƠNG 2: MÔ HÌNH HỆ THỐNG TỔNG HỢP, PHÂN LOẠI THÔNG TIN TỰ ĐỘNG 30
Trang 32.1 Các phương pháp tách từ tiếng Việt 30 2.1.1 Phương pháp Maximum Matching: forward/backward 30
Trang 4ii
-2.1.2 Phương pháp giải thuật học cải biến (Tranformation-based Learning) 31
2.1.3 Mơ hình tách từ bằng WFST và mạng Neural 32
2.1.4 Phương pháp quy hoạch động (Dynamic Programming) 34
2.1.5 Phương pháp tách từ tiếng việt dựa trên thống kê từ Internet và thuật tốn di truyền IGATEC 35
2.2 Các phương pháp phân loại văn bản 37
2.2.1 Phương pháp phân lớp Bayes (Nạve Bayes) 37
2.2.2 Phương pháp k-người láng giêng gần nhất (K-Nearest Neighbor) 39
2.2.3 Phương pháp máy hỗ trợ vector (Support vector Machine) .40
2.2.4 Phương pháp mạng nơron (Neural Network) 42
2.2.5 Phương pháp Linear Least Square Fit 43
2.2.6 Phương pháp Centroid-based vector .44
2.3 Phân tích và xác định yêu cầu 46
2.3.1 Đặt vấn đề .46
2.3.2 Xác định yêu cầu của hệ thống 46
2.4 Mơ hình hệ thống 47
2.4.1 Kiến trúc chung 47
2.4.2 Thành phần Web Crawler 48
2.4.3 Thành phần Extractor 49
2.4.4 Xử lý tài liệu 50
2.4.5 Phân loại văn bản tiếng Việt 52
2.5 Tổng kết chương 2 56
CHƯƠNG 3: XÂY DỰNG HỆ THỐNG TỔNG HỢP, PHÂN LOẠI THƠNG TIN VIỆC LÀM TỰ ĐỘNG 57
3.1 Mơ tả chức năng hệ thống 57
3.1.1 Chức năng thu thập và xử lý tin tức 57
3.1.2 Chức năng người dùng 57
3.1.3 Chức năng quản trị 57
Trang 53.2 Giải pháp và công nghệ sử dụng 58
Trang 6- 3
-3.2.1 Công cụ rút trích dữ liệu HtmlAgiliti Pack 58
3.2.2 Ngôn ngữ truy vấn Xpath 60
3.3 Thiết kế cơ sở dữ liệu 64
3.4 Phát triển chương trình .65
3.4.1 Xây dựng phân hệ Crawler 65
3.4.2 Xây dựng phân hệ Extractor 66
3.4.3 Xây dựng phân hệ xử lý dữ liệu 69
3.4.4 Xây dựng cổng thông tin tổng hợp .69
3.5 Kết quả thử nghiệm hệ thống .69
3.6 Tổng kết chương 3 73
KẾT LUẬN 74
TÀI LIỆU THAM KHẢO 74
Trang 7DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
KDD Knowledge Discovery in Database
LLSF Linear Lest Square Fit
DF Tần suất tài liệu (Document Frequency
TBL Phương pháp giải thuật học cải biến (Transformation – based LearningIDF Tần suất tài liệu ngược (Inverse document frequency)
TF Tần suất từ (Term frequency
Trang 8- 5
-DANH MỤC CÁC BẢNG
Bảng 1.1: Thống kê các từ tần số xuất hiện cao (thống kê của B Croft, UMass) 24
Bảng 3.1 Một số cú pháp của XPath 62
Bảng 3.2 Bảng tin tức 64
Bảng 3.3 Bảng chuyên mục tin 65
Bảng 3.4 Kênh tin 65
Bảng 3.5 Cấu hình và yêu cầu của máy thử nghiệm 69
Trang 9DANH MỤC CÁC HÌNH
Hình 1.1 Các bước trong khám phá tri thức .5
Hình 1.2 Quá trình khai phá dữ liệu .6
Hình 1.3 Quá trình khai phá văn bản Web 12
Hình 1.4 Nội dung khai phá dữ liệu Web 16
Hình 1.5 Phân loại dữ liệu Web 17
Hình 1.6 Phân lớp văn bản 20
Hình 1.7 Biểu diễn văn bản 22
Hình 1.8 Lược đồ thống kê tần số của từ theo Định luật Zipf 25
Hình 2.1 Sơ đồ hệ thống WFST 32
Hình 2.2 Hệ thống IGATEC 35
Hình 2.3 Siêu mặt phẳng h phân chia dữ liệu huấn huyện thành 2 lớp + và – với khoảng cách biên lớn nhất 41
Hình 2.4 Kiến trúc mô đun (Modular Architecture) 43
Hình 2.5 Mô hình kiến trúc hệ thống thu thập tin .48
Hình 3.1 Giải thuật hoạt động phân hệ Crawler .66
Hình 3.2 Ví dụ sơ đồ cây DOM 67
Hình 3.2 Giải thuật hoạt động của phân hệ Extractor .69
Hình 3.3 Giao diện trang chủ 70
Hình 3.4 Quản lý kênh tinh 71
Hình 3.5 Quản lý cập nhập tin 71
Hình 3.6 Quản lý chuyên mục tin 72
Hình 3.7 Quản lý tin tức 72
Trang 10Cùng với những tiến bộ vượt bậc của công nghệ thông tin là sự phát triển mạnh mẽ của mạng thông tin toàn cầu, nguồn dữ liệu Web trở thành kho
dữ liệu khổng lồ Nhu cầu khai thác và xử lý thông tin phục vụ cho công tác quản lý, hoạt động sản xuất, kinh doanh, học tập… đã trở nên cấp thiết trong xã hội hiện đại Do đó số lượng văn bản xuất hiện trên mạng Internet cũng tăng theo một tốc độ chóng mặt Với lượng thông tin đồ sộ như vậy, một yêu cầu lớn đặt ra là làm sao tổ chức, tìm kiếm và có được thông tin nhanh chóng, hiệu quả nhất.
Để giải quyết vấn đề này, có một hướng giải quyết là nghiên cứu và áp dụng kỹ thuật khai phá dữ liệu trong môi trường Web Vì vậy tôi chọn đề tài
“nghiên cứu xây dựng hệ thống tổng hợp, phân loại thông tin tự động trên web” nhằm tìm hiểu phương pháp tổng hợp tin từ nhiều website và tự động phân loại các tin được lấy về.
2 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu:
Tìm hiểu về khai phá dữ liệu web, các thuật toán phân loại tài liệu và ứng dụng trong truy xuất thông tin tự động Trên cơ sở đó, xây dựng hệ thống tổng hợp, phân loại thông tin tự động trên web.
Phạm vi nghiên cứu:
Khai phá dữ liệu web.
Các giải thuật phân cụm tài liệu.
Trang 11Các kỹ thuật và công nghệ hỗ trợ trích xuất thông tin tự động.
Kết hợp các yếu tố trên để xây dựng hệ thống tổng hợp, phân loại thông tin trực tuyến.
3 Hướng nghiên cứu của đề tài
Về lý thuyết: Nghiên cứu các giải pháp kỹ thuật trong việc thu thập thông tin tự động trên internet, ứng dụng kỹ thuật khai phá dữ liệu cho việc phân tích thông tin thu thập được theo các lĩnh vực khác nhau nhằm giúp người dung theo dõi, tìm kiếm thông tin dễ dàng, thuận tiện.
Về thực tiễn: Ứng dụng hệ thống này trong việc xây dựng hệ thống tổng hợp, phân loại thông tin việc làm tự động.
4 Những nội dung chính
Luận văn được trình bày trong 3 chương, có phần mở đầu, phần kết luận, phần mục lục, phần tài liệu tham khảo Các nội dung cơ bản của luận văn được trình như sau:
Chương 1: Trình bày những nội dung tổng quan về khai phá dữ liệu, khai phá web, phân loại văn bản.
Chương 2: Trình bày một số phương pháp tách, phân loại từ tiếng Việt và
mô hình hệ thống tổng hợp, phân loại tin tức.
Chương 3: Trình bày giải pháp xây dựng thử nghiệm hệ thống tổng hợp, phân loại thông tin việc làm tự động.
5 Phương pháp nghiên cứu
Nghi ên c ứu lý th uy ết:
- Tìm hiểu lý thuyết về khai phá dữ liệu và khai phá dữ liệu web.
- Tìm hiểu các thuật toán phâm cụm tài liệu.
- Tìm hiểu cơ chế hoạt động của các hệ thống tìm kiếm thu thập thông tin.
Trang 12- 3
-Nghi ên c ứu th ực ngh iệm:
- Dựa trên lý thuyết đã nghiên cứu, tiến hành xây dựng hệ thống thu thập
và phân loại thông tin từ các kênh tin được cấu hình trước.
- Thử nghiệm trên máy đơn qua localhost có kết nối internet.
Trang 13CHƯƠNG 1: KHAI PHÁ DỮ LIỆU 1.1 Khai phá dữ liệu
1.1.1 Giới thiệu khai phá dữ liệu
Khai phá dữ liệu (DM - Data Mining) là một khái niệm ra đời vào những nămcuối của thập kỷ 1980 Cụm từ “khai phá dữ liệu” nó bao hàm một loạt các kỹ thuậtnhằm phát hiện ra các thông tin có giá trị tiềm ẩn trong các tập dữ liệu lớn
Khám phá tri thức trong các cơ sở dữ liệu (Knowledge Discovery in Database KDD) là một qui trình nhận biết các mẫu hoặc các mô hình trong dữ liệu với các tínhnăng: hợp thức, mới, khả ích, và có thể hiểu được
-Khái niệm KDD và Khai phá dữ liệu (KPDL) được các nhà khoa học xem làtương đương nhau Tuy nhưng, nếu phân chia một cách rành mạch và chi tiết thìKPDL là một bước chính trong quá trình KDD
* Một số định nghĩa về KPDL:
Định nghĩa của Giáo sư Tom Mitchell: “Khai phá dữ liệu là việc sử dụng dữ liệulịch sử để khám phá những qui tắc và cải thiện những quyết định trong tương lai.”Định nghĩa của Ferruzza: “Khai phá dữ liệu là tập hợp các phương pháp đượcdùng trong tiến trình khám phá tri thức để chỉ ra sự khác biệt các mối quan hệ và cácmẫu chưa biết bên trong dữ liệu”
Định nghĩa của Parsaye: “Khai phá dữ liệu là quá trình trợ giúp quyết định, trong
đó chúng ta tìm kiếm các mẫu thông tin chưa biết và bất ngờ trong CSDL lớn”
Với một cách tiếp cận ứng dụng hơn, tiến sĩ Fayyad đã phát biểu:”Khaiphá dữ liệu thường được xem là việc khám phá tri thức trong các cơ sở dữ liệu, là mộtquá trình trích xuất những thông tin ẩn, trước đây chưa biết và có khả năng hữuích, dưới dạng các quy luật, ràng buộc, qui tắc trong cơ sở dữ liệu” [1]
Tuy nhiên trên thực tế, KPDL được xem là một bước thiết yếu trong quá trìnhkhám phá tri thức trong CSDL bao gồm các thụât toán KPDL chuyên dùng, dướimột số quy định về hiệu quả tính toán chấp nhận được, để tìm ra các mẫu hoặc cácmô
Trang 14- 5
-hình trong dữ liệu Quá trình này được mô tả trong -hình 1.1 và bao gồm một chuỗi lặp
đi lặp lại các bước sau:
Hình 1.1 Các bước trong khám phá tri thức [9]
• Làm sạch dữ liệu: Loại bỏ nhiễu và các dữ liệu không cần thiết
• Tích hợp dữ liệu: Các nguồn dữ liệu khác nhau tích hợp lại
• Lựa chọn dữ liệu: Các dữ liệu có liên quan đến quá trình phân tích được lựachọn từ cơ sở dữ liệu
• Chuyển đổi dữ liệu: Các dữ liệu được chuyển đổi sang các dạng phù hợp choquá trình xử lý
• Khai phá dữ liệu: Là một trong những bước quan trọng nhất, trong đó sử dụng những phương pháp thông minh để lựa chọn ra những mẫu dữ liệu
• Ước lượng mẫu: Quá trình đánh giá kết quả thông qua một độ đo nào đó
• Biểu diễn tri thức: Biểu diễn các kết quả một cách trực quan cho người dùng
Trang 151.1.2 Quá trình khai phá dữ liệu
Quá trình khai phá dữ liệu có thể chia thành các giai đoạn như sau:
Hình 1.2 Quá trình khai phá dữ liệu [9]
Trích chọn dữ liệu: Đây là bước trích chọn những tập dữ liệu cần được khai phá
từ các tập dữ liệu lớn ban đầu theo một số tiêu chí nhất định
Tiền xử lý dữ liệu: Đây là bước làm sạch dữ liệu (xử lý những dữ liệu không đầy
đủ, nhiễu, không nhất quán, ), rút gọn dữ liệu (sử dụng hàm nhóm và tính tổng, cácphương pháp nén dữ liệu, sử dụng histograms, lấy mẫu, ), rời rạc hóa dữ liệu (rời rạchóa dựa vào histograms, dựa vào entropy, dựa vào phân khoảng, ) Sau bước này,
dữ liệu sẽ nhất quán, đầy đủ, được rút gọn và được rời rạc hóa
Biến đổi dữ liệu: Đây là bước chuẩn hóa và làm mịn dữ liệu để đưa dữ liệu vềdạng thuận lợi nhất nhằm phục vụ quá trình khai phá ở bước sau
Khai phá dữ liệu: Đây là bước áp dụng những kỹ thuật phân tích (như các kỹthuật của học máy) nhằm để khai thác dữ liệu, trích chọn được những mẫu thông tin,những mối liên hệ đặc biệt trong dữ liệu Đây được xem là bước quan trọng và tốnnhiều thời gian nhất của toàn quá trình KDD
Đánh giá và biểu diễn tri thức: Những mẫu thông tin và mối liên hệ trong dữ liệu
đã được khám phá ở bước trên được biến đổi và biểu diễn ở một dạng gần gũivới người sử dụng như đồ thị, cây, bảng biểu, luật, Đồng thời bước này cũng đánhgiá những tri thức khám phá được theo những tiêu chí nhất định
Trang 16- 7
-1.1.3 Các bài toán thông dụng trong khai phá dữ liệu
Khai phá dữ liệu đượ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ắtkhá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á đơngiản Ví dụ: “50% những người mua máy tính thì cũng mua máy in” 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ườngchứng khoán
• Phân lớp và dự đoán (classification & prediction): xếp một đối tượng vàomộ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âyquyết định (decision tree), mạng nơ ron nhân tạo (neural network), v.v Người ta còngọ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êncủ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ọckhông thầy)
• Khai phá chuỗi (sequential/temporal patterns): tương tự như khai phá luậtkế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 ứngdụ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áocao
1.1.4 Ứng dụng của khai phá dữ liệu
KPDL được vận dụng để giải quyết các vấn đề thuộc nhiều lĩnh vực khác nhau.Chẳng hạn như giải quyết các bài toán phức tạp trong các ngành đòi hỏi kỹ thuật caonhư : Tìm kiếm mỏ dầu, từ ảnh viễn thám, cảnh báo hỏng hóc trong các hệ thống sảnxuất; Được ứng dụng cho việc quy hoạch và phát triển các hệ thống quản lý và sảnxuất trong thực tế như: Dự đoán tái sử dụng điện, mức độ tiêu thụ sản phẩm,phân nhóm khách hàng; Áp dụng cho các vấn đề xã hội như: Phát hiện tội phạm, tăngcường an ninh, trong y khoa chẩn đoán bệnh… Một số ứng dụng cụ thể như sau:
- KPDL được sử dụng để phân tích DL, hỗ trợ ra quyết định
Trang 17- Trong sinh học: nó dùng để tìm kiếm, so sánh các hệ gen và thông tin dichuyền, tìm mối liên hệ giữa các hệ gen và chẩn đoán một số bệnh di truyền.
- Trong y học: KPDL giúp tìm ra mối liên hệ giữa các triệu chứng lâm sàng, chẩnđoán bệnh
- Tài chính và thị trường chứng khoán: KPDL để phân tích tình hình tài chính,phân tích đầu tư, phân tích cổ phiếu
- Khai phá dữ liệu web
- Trong thông tin kỹ thuật: KPDL dùng để phân tích các sai hỏng, điều khiển vàlập lịch trình
- Trong thông tin thương mại: dùng để phân tích dữ liệu người dùng, phân tích
dữ liệu marketing, phân tích đầu tư, phát hiện các gian lận
1.2 Khai phá Web
1.2.1 Giới thiệu về khai phá Web
Sự phát triển nhanh chóng của mạng Internet và Intranet đã sinh ra một khốilượng khổng lồ các dữ liệu dạng siêu văn bản (dữ liệu Web) Cùng với sự thay đổi vàphát triển hàng ngày hàng giờ về nội dung cũng như số lượng của các trang Web trênInternet thì vấn đề tìm kiếm thông tin đối với người sử dụng lại ngày càng khó khăn
Có thể nói nhu cầu tìm kiếm thông tin trên môt cơ sở dữ liệu phi cấu trúc (bao gồm
dữ liệu văn bản) đã được phát triển chủ yếu cùng với sự phát triển của Internet Thựcvậy với Internet, con người đã làm quen với các trang Web cùng với vô vàn các thôngtin Trong những năm gần đây, Intrnet đã trở thành một trong những kênh về khoahọc, thông tin kinh tế, thương mại và quảng cáo Một trong những lý do cho sự pháttriển này là giá cả thấp cần tiêu tốn khi công khai một trang Web trên Internet Sosá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ạpchí, thì một trang Web "đòi" chi phí rẻ hơn rất nhiều mà lại được cập nhật nhanhchó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 khônggian Web như là cuốn từ điển Bách khoa toàn thư Thông tin trên các trang Web đadạ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
Trang 18- 9
-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áctrang 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ầucủa người tìm kiếm Các tiện ích này quản lý dữ liệu trang Web như các đối tượng phicấ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,Google, Alvista,
Mặ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àngxem hoặc download về, sau khi phân lớp các yêu cầu như thế của khách hàng, chúng
ta sẽ biết được khách hàng hay tập trung vào nội dung gì trên trang Web của chúng
ta, mà 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áchhàng quan tâm Ngược lại, về phía khách hàng, sau khi được phục vụ phù hợp yêucầu, khách hàng sẽ hướng sự quan tâm tới hệ thống của chúng ta hơn Từ nhữngnhu 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 thời sự và cầnđược phát triển nghiên cứu
Như vậy, chúng ta có thể hiểu rằng khai phá Web như là việc trích chọn ra cácthành phần được quan tâm hay được đánh giá là có ích cùng các thông tin tiềm năng
từ các tài nguyên hoặc các hoạt động liên quan tới World-Wide Web
Một cách trực quan có thể quan niệm khai phá Web là sự kết hợp giữa Khai phá
dữ liệu, Xử lý ngôn ngữ tự nhiên và Công nghệ Web:
Khai phá web = Khai phá dữ liệu + Xử lý ngôn ngữ tự nhiên + World Wide Web.
1.2.2 Khó khăn và thuận lợi
1.2.2.1 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,
Trang 19Web là một nguồn tài nguyên giàu có cho Khai phá dữ liệu Những quan sát sau đâycho thấy Web đã đưa ra sự thách thức lớn cho công nghệ Khai phá dữ liệu:
* Web dường như quá lớn để tổ chức thành một kho dữ liệu phục vụ Dataming:
Các CSDL truyền thống thì có kích thước không lớn lắm và thường được lưu trữ ởmột nơi Trong khi đó kích thước Web rất lớn, tới hàng terabytes và thay đổi liêntục, không những thế còn phân tán trên rất nhiều máy tính khắp nơi trên thế giới.Một vài nghiên cứu về kích thước của Web đã đưa ra các số liệu như sau: hiện naytrên Internet có khoảng hơn một tỷ các trang Web được cung cấp cho người sửdụng Giả sử kích thước trung bình của mỗi trang là 5-10Kb thì tổng kích thước của 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 ấntượ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 tronghai 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ể
* Độ 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ôngtheo phạm trù, tiêu đề, tác giả, số trang hay nội dung, Điều này là một thử tháchrấ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ế
Trang 20- 11
-* 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 Webcũng được cập nhật liên tục Theo kết quả nghiên cứu, hơn 500.000 trangWeb trong hơn 4 tháng thì 23% các trang thay đổi hàng ngày, và khoảng hơn 10ngà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òntồ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à trungtâm phục vụ Web thường xuyên cập nhật trang Web của họ 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
* 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ùngvẫ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úcmạ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ậnnhững mảng thông tin không mấy hữu ích
* 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 xuất hiện trong kết quảnhận được khi tìm kiếm Vì vậy vấn đề đặt ra là 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 trongmộ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
Trang 21một trang A có nghĩa là A là trang có hữu ích với vấn đề đang bàn luận Nếu trang Acàng
Trang 22- 13
-nhiều h yperlink từ trang khác trỏ đến chứng tỏ trang A quan trọng Vì vậy sốlượng lớn các thông tin liên kết trang sẽ cung cấp một lượng thông tin giàu có vềmối liên quan, chất lượng, và cấu trúc của nội dung trang Web, và vì thế là mộtnguồn tài nguyên lớn cho khai phá Web
2 Một máy chủ Web thường đăng ký một bản ghi đầu vào (Weblog entry) chomọi lần truy cập trang Web Nó bao gồm địa chỉ URL, địa chỉ IP, timestamp Dữ liệuWeblog cung cấp lượng thông tin giàu có về những trang Web động Với nhữngthông tin về địa chỉ URL, địa chỉ IP,… một cách hiển thị đa chiều có thể được cấutrú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 giannhiều người truy cập nhất, xu hướng truy cập Web
1.2.3 Quá trình khai phá Web
Khai phá Web là việc sử dụng các kỹ thuật KPDL để tự động hóa quá trình khámphá và trích rút những thông tin hữu ích từ các tài liệu, các dịch vụ và cấu trúc Web.Hay nói cách khác khai phá Web là việc thăm dò những thông tin quan trọng và nhữngmẫu tiềm năng từ nội dung Web, từ thông tin truy cập Web, từ liên kết trang và từnguồn tài nguyên thương mại điện tử bằng việc sử dụng các kỹ thuật KPDL, nó có thểgiúp con người rút ra những tri thức, cải tiến việc thiết kế các Web site và pháttriển thương mại điện tử tốt hơn [10]
Hình 1.3 Quá trình khai phá văn bản Web
Trang 23Quá trình khai phá văn bản Web thường trải qua một số bước như sau:
- Lựa chọn dữ liệu: Về cơ bản, văn bản cục bộ được định dạng tích hợp thành
các tài liệu theo mong muốn để khai phá và phân phối trong nhiều dịch vụ Web bằngviệc sử dụng kỹ thuật truy xuất thông tin
- Tiền xử lý dữ liệu: Để có một kết quả khai phá tốt ta cần có dữ liệu rõ ràng,
chính xác và xoá bỏ dữ liệu hỗn độn và dư thừa Sau bước tiền xử lý, tập dữ liệu đạtđược thường có các đặc điểm sau:
Làm sạch các thuộc tính không liên quan để giảm bớt số chiều của dữ liệu
- Biểu diễn văn bản: Khai phá văn bản Web là khai phá các tập tài liệu HTML Do
đó ta sẽ phải biến đổi và biểu diễn dữ liệu thích hợp cho quá trình xử lý Mô hình IDF thường được sử dụng để vector hoá dữ liệu Tuy nhiên việc biểu diễn sử dụng môhình TF-IDF sẽ dẫn đến số chiều vector khá lớn
TF Trích rút đặc trưng: Trích rút các đặc trưng là một phương pháp được sử
dụng để giải quyết số chiều vector đặc trưng lớn thu được từ khâu khai phá vănbản Saukhi tập hợp, lựa chọn và trích ra tập văn bản hình thành nên các đặc trưng cơbản, nó sẽ là cơ sở để Khai phá dữ liệu Từ đó ta có thể thực hiện trích, phân loại,phân cụm, phân tích và dự đoán
Việc rút ra các đặc trưng dựa trên hàm trọng số:
+ Mỗi từ đặc trưng sẽ nhận được một giá trị trọng số tin cậy bằng việc tính toánhàm trọng số tin cậy Tần số xuất hiện cao của các từ đặc trưng là khả năng chắc chắn
nó sẽ phản ánh đến chủ đề của văn bản, thì ta sẽ gán cho nó một giá trị tin cậy lớnhơn Hơn nữa, nếu nó là tiêu đề, từ khoá hoặc cụm từ thì chắc chắn nó có giá trị tincậy lớn hơn
Trang 24- 15
-+ Việc rút ra các đặc trưng dựa trên việc phân tích thành phần chính trong phântích thông kê Ý tưởng chính của phương pháp này là sử dụng thay thế từ đặctrưng bao hàm của một số ít các từ đặc trưng chính trong mô tả để thực hiện giảmbớt số chiều
- Khai phá văn bản: Sau khi tập hợp, lựa chọn và trích ra tập văn bản hình thành
nên các đặc trưng cơ bản, nó sẽ là cơ sở để Khai phá dữ liệu Từ đó ta có thể thựchiện trích, phân loại, phân cụm, phân tích và dự đoán
+ Trích rút văn bản: Việc trích rút văn bản để đưa ra ý nghĩa chính có thể mô tả
tóm tắt tài liệu văn bản trong quá trình tổng hợp Sau đó, người dùng có thể hiểu
ý nghĩa chính của văn bản nhưng không cần thiết phải duyệt toàn bộ văn bản Đây
là phương pháp đặc biệt được sử dụng trong searching engine, thường cần để đưa ravăn bản trích dẫn Nhiều searching engines luôn đưa ra những câu dự đoán trong quátrình tìm kiếm và trả về kết quả, cách tốt nhất để thu được ý nghĩa chính của mộtvăn bản hoặc tập văn bản chủ yếu bằng việc sử dụng nhiều thuật toán khác nhau
+ Phân lớp văn bản: Nhiều tài liệu được phân lớp tự động một cách nhanh chóng
và hiệu quả cao Người ta thường sử dụng phương pháp phân lớp Navie Bayesian và
"K - láng giềng gần nhất" để khai phá thông tin văn bản Trong phân lớp văn bản, đầutiên là phân loại tài liệu Thứ hai, xác định đặc trưng thông qua số lượng các đặc trưngcủa tập tài liệu huấn luyện Cuối cùng, tính toán kiểm tra phân lớp tài liệu và độtương tự của tài liệu phân lớp bằng thuật toán nào đó Khi đó các tài liệu có độ tương
tự cao với nhau thì nằm trong cùng một phân lớp Độ tương tự sẽ được đo bằng hàmđánh giá xác định trước Nếu ít tài liệu tương tự nhau thì đưa nó về 0 Nếu nó khônggiống với sự lựa chọn của phân lớp xác định trước thì xem như không phù hợp
+ Phân cụm văn bản: Chủ đề phân loại không cần xác định trước nhưng ta phải
phân loại các tài liệu vào nhiều cụm Trong cùng một cụm thì độ tương tự thấphơn Phương pháp sắp xếp liên kết và phương pháp phân cấp thường được sử dụngtrong văn bản phân cụm
+ Phân tích và dự đoán xu hướng: Thông qua việc phân tích các tài liệu Web, ta
có thể nhận được quan hệ phân phối của các dữ liệu đặc biệt trong từng giai đoạn của
nó và có thể dự đoán được tương lai phát triển
Trang 25- Đánh giá chất lượng mẫu: Khai phá dữ liệu Web có thể được xem như quá
trình của machine learning Kết quả của machine learning là các mẫu tri thức Phầnquan trọng của machine learning là đánh giá kết quả các mẫu Ta thường phân lớpcác tập tài liệu vào tập huấn luyện và tập kiểm tra Cuối cùng, chất lượng trung bìnhđược dùng để đánh giá chất lượng mô hình
1.2.4 Các lĩnh vực của khai phá dữ liệu web
* Khai phá nội dung Web
Khai phá nội dung web là các quá trình xử lý để lấy ra các tri thức từ nội dungcác trang văn bản hoặc mô tả của chúng Có hai chiến lược khai phá nội dung web:một là khai phá trực tiếp nội dung của trang web, và một là nâng cao khả năngtìm kiếm nội dung của các công cụ khác như máy tìm kiếm
Web Page summarization: liên quan tới việc truy xuất các thông tin từ các vănbản có cấu trúc, văn bản siêu liên kết, hay các văn bản bán cấu trúc Lĩnh vực này liênquan chủ yếu tới việc khai phá bản thân nội dung các văn bản
Search engine result summarization: Tìm kiếm trong kết quả Trong các máy tìmkiếm, sau khi đã tìm ra những trang Web thoả mãn yêu cầu người dùng, còn mộtcông việc không kém phần quan trọng, đó là phải sắp xếp, chọn lọc kết quả theomức độ hợp lệ với yêu cầu người dùng Quá trình này thường sử dụng các thông tinnhư tiêu đề trang, URL, content-type, các liên kết trong trang web để tiến hànhphân lớp và đưa ra tập con các kết quả tốt nhất cho người dùng
* Khai phá cấu trúc web
Nhờ vào các kết nối giữa các văn bản siêu liên kết, World-Wide Web có thể chứađựng nhiều thông tin hơn là chỉ các thông tin ở bên trong văn bản Ví dụ, các liên kếttrỏ tới một trang web chỉ ra mức độ quan trọng của trang web đó, trong khi các liênkết đi ra từ một trang web thể hiện các trang có liên quan tới chủ đề đề cập trongtrang hiện tại Và nội dung của khai phá cấu trúc Web là các quá trình xử lý nhằm rút
ra các tri thức từ cách tổ chức và liên kết giữa các tham chiếu của các trang web
Trang 27Nội dung Web Cấu trúc Web Sử dụng Web
Nội dung
trang web
Kết quả tìmkiếm
Mô hình truycập cơ bản
Tùy chọn sửdụng
Hình 1.4 Nội dung khai phá dữ liệu Web [1].
1.2.5 Các kiểu dữ liệu Web
Các đối tượng của khai phá Web bao gồm Server logs, Web pages, Webhyperlink structures, dữ liệu thị trường trực tuyến và các thông tin khác
- Web logs: Khi người dùng duyệt Web, dịch vụ sẽ phân ra 3 loại dữ liệu đăngnhập: sever logs, error logs, và cookie logs Thông qua việc phân tích các tài liệu đăngnhập này ta có thể khám phá ra những thông tin truy cập
- Web pages: Hầu hết các phương pháp KPDL Web được sử dụng trong Webpages là theo chuẩn HTML
- Web hyperlink structure: Các trang Web được liên kết với nhau bằng các siêuliên kết, điều này rất quan trọng để khai phá thông tin Do các siêu liên kết Web lànguồn tài nguyên rất xác thực
Trang 28- Dữ liệu thị trường trực tuyến: Như lưu trữ thông tin thương mại điện tử trongcác site thương mại điện tử.
- Các thông tin khác: Chủ yếu bao gồm các đăng ký người dùng, nó có thể giúp cho việc khai phá tốt hơn
Ta có thể khái quát bằng sơ đồ sau:
Trang 29Dữ liệu nội dung
HTMLXML
Liên kết tĩnhLiên kết động
Hình 1.5 Phân loại dữ liệu Web
1.3 Phân cụm tài liệu web
Nắm bắt những đặc tính của người dung Web là việc rất quan trọng đối vớingười thiết kế Website Thông qua việc khai phá lịch sử các mẫu truy xuất củangười dùng Web, không chỉ thông tin về Web được sử dụng như thế nào mà cònnhiều đặc tính khác như các hành vi của người dùng có thể được xác định Sự điềuhướng đường dẫn người dùng Web mang lại giá trị thông tin về mức độ quan tâmcủa người dùng đến các Website đó
Khai phá Web theo sử dụng Web là khai phá truy cập Web để khám phá các mẫungười dùng truy cập vào Website
Trang 30- Các kỹ thuật được sử dụng trong khai phá sử dụng Web:
+ Luật kết hợp: Để tìm ra những Web thường được truy cập cùng nhau của ngườidùng, những lựa chọn cùng nhau của khách hàng trong thương mại điện tử
+ Kỹ thuật phân cụm: Phân cụm người dùng dựa trên các mẫu duyệt để tìm ra sựliên quan giữa người dùng Web và các hành vi của họ
- Khai phá cấu trúc Web: WWW là hệ thống thông tin toàn cầu, bao gồm tất cảcác Website Mỗi một trang có thể được liên kết đến nhiều trang Các siêu liên kếtthay đổi chứa đựng ngữ nghĩa chủ đề của trang Một siêu liên kết trỏ tới mộttrang Web khác có thể được xem như là một chứng thực của trang Web đó Do đó, nórất có ích trong việc sử dụng những thông tin ngữ nghĩa để lấy được thông tin quantrọng thông qua hân tích liên kết giữa các trang Web
Mục tiêu của khai phá cấu trúc Web là để phát hiện thông tin cấu trúc về Web.Nếu như khai phá nội dung Web chủ yếu tập trung vào cấu trúc bên trong tài liệu thìkhai phá cấu trúc Web cố gắng để phát hiện cấu trúc liên kết của các siêu liên kết ởmức trong của tài liệu Dựa trên mô hình hình học của các siêu liên kết, khai phá cấutrúc Web sẽ phân loại các trang Web, tạo ra thông tin như độ tương tự và mối quan
hệ giữa các Website khác nhau Nếu trang Web được liên kết trực tiếp với trangWeb khác thì ta sẽ muốn phát hiện ra mối quan hệ giữa các trang Web này
- Quá trình tìm kiếm và phân cụm tài liệu: Về cơ bản, quá trình phân cụm kết quảtìm kiếm sẽ diễn ra theo các bước:
+ Tìm kiếm trang Web từ các Website thoả mãn nội dung truy vấn
+ Trích rút thông tin mô tả từ các trang và lưu trữ nó cùng với các URL tương ứng.+ Sử dụng kỹ thuật phân cụm dữ liệu để phân cụm tự động các trang Webthành các cụm, sao cho các trang trong cụm "tương tự" về nội dung với nhau hơn cáctrang ngoài cụm
- Tìm kiếm dữ liệu trên Web: Nhiệm vụ chủ yếu của giai đoạn này là dựa vào tập
từ khoá tìm kiếm để tìm kiếm và trả về tập gồm toàn văn tài liệu, tiêu đề, mô tảtóm tắt, URL tương ứng với các trang đó
Trang 31các dạng biểu diễn dữ liệu thích hợp.
- Chuẩn hoá văn bản: Đây là giai đoạn chuyển hoá văn bản thô về dạng văn bảnsao cho việc xử lý sau này được dễ dàng, đơn giản, thuận tiện, chính xác so với việc
xử lý trực tiếp trên văn bản thô mà ảnh hưởng ít đến kết quả xử lý
- Xoá bỏ từ dừng: Trong văn bản có những từ mang ít thông tin quan trọngtrong quá trình xử lý, những từ có tần số xuất hiện thấp, những từ xuất hiện với tần
số lớn nhưng không quan trọng trong quá trình xử lý đều được loại bỏ Theo một sốnghiên cứu gần đây cho thấy việc loại bỏ các từ dừng có thể giảm bớt được khoảng
20 - 30% tổng số từ trong văn bản
- Kết hợp các từ có cùng gốc: Hầu hết trong các ngôn ngữ đều có rất nhiều các
từ có chung nguồn gốc với nhau, chúng mang ý nghĩa tương tự nhau, do đó để giảmbớt số chiều trong biểu diễn văn bản, ta sẽ kết hợp với các từ có cùng gốc thành một
từ Ví dụ trong tiếng Anh từ user, users, used, using có cùng từ gốc và sẽ được quy vềuse
- Xây dựng từ điển: Việc xây dựng từ điển là một công việc rất quan trọng trongquá trình vector hoá văn bản, từ điển sẽ gồm các từ/ cụm từ riêng biệt trong toàn
bộ tập dữ liệu Từ điển sẽ gồm một bảng các từ, chỉ số của nó trong từ điển và đượcsắp xếp theo thứ tự
- Tách từ, số hoá văn bản và biểu diễn tài liệu: Tách từ là công việc hết sức quantrọng trong việc biểu diễn văn bản, quá trình tách từ, vector hoá tài liệu là quá trìnhtìm kiếm các từ và thay thế nó bởi chỉ số của từ đó trong từ điển
- Phân cụm tài liệu: Sau khi đã tìm kiếm, trích rút dữ liệu, tiền xử lý và biểu diễnvăn bản chúng ta sử dụng kỹ thuật phân cụm để phân cụm tài liệu
1.4 Phân lớp văn bản
1.4.1 Bài toán phân lớp văn bản
Phân lớp văn bản được các nhà nghiên cứu định nghĩa thống nhất như là việc gáncác chủ đề đã được xác định cho trước vào các văn bản Text đựa trên nội dung của nó
Trang 32Phân lớp văn bản là công việc được sử dụng để hỗ trợ trong quá trình tìm kiếmthông
Trang 33hoặc tự động dẫn đường cho các văn bản tới những chủ đề xác định trước Đểphân loại văn bản, người ta sử dụng phương pháp học máy có giám sát(supervised learning) Tập dữ liệu được chia ra làm hai tập là tập huấn luyện và tậpkiểm tra¸ trước hết phải xây đựng mô hình thông qua các mẫu học bằng các tập huấnluyện, sau đó kiểm tra sự chính xác bằng tập đữ liệu kiểm tra.
Hình 1.6 Phân lớp văn bản [1]
Hình trên là môt khung cho việc phân lớp văn bản, trong đó bao gồm ba côngđoạn chính: công đoạn đầu là biểu diễn văn bản, tức là chuyển các dữ liệu văn bảnthành một dạng có cấu trúc nào đó, tập hợp các mẫu cho trước thành một tậphuấn luyện Công đoạn thứ hai là việc sử dụng các kỹ thuật học máy để học trên cácmẫu huấn luyện vừa biểu diễn Như vậy là việc biểu diễn ở công đoạn một sẽ làđầu vào cho công đoạn thứ hai Công đoạn thứ ba là việc bổ sung các kiến thức thêmvào do người dùng cung cấp để làm tăng độ chính xác trong biểu diễn văn bản haytrong quá trình học máy
Trong công đoạn hai, có nhiều phương pháp học máy được áp dụng, mô hìnhmạng Bayes, cây quyết định, phương pháp k ngườii láng giềng gần nhất, mạngNeuron, SVM, …
Trang 341.4.2 Dữ liệu văn bản
Trong các loại dữ liệu hiện nay thì văn bản là loại dữ liệu phổ biến nhất và nó cómặt khắp mọi nơi, đặc biệt là đối với dữ liệu trên Web Do vậy, các bài toán xử lý vănbản đã được đặt ra từ rất sớm và hiện nay nó vẫn là vấn đề rất được nhiều nhànghiên cứu quan tâm, một trong những bài toán đó là tìm kiếm và trích dẫn văn bản,biểu diễn và phân loại văn bản, …
CSDL văn bản có thể chia làm 2 loại chính:
+ Dạng không có cấu trúc: Đây là những tài liệu văn bản thông thường mà ta đọcthường ngay trên các sách, báo, internet, … đây là dạng dữ liệu của ngôn ngữ tự nhiêncủa con người và nó không theo một khuôn mẫu định sẵn nào cả
+ Dạng nữa cấu trúc: Đây là những văn bản được tổ chức dưới dạng cấu trúclỏng, nhưng vẫn thể hiện nội dung chính của văn bản, như văn bản HTML, Email, …
1.4.3 Biểu diễn văn bản
Bước đầu tiên của mọi phương pháp phân loại là chuyển việc mô tả văn bản dùngchuỗi ký tự thành một dạng mô tả khác, phù hợp với các thuật toán học theo mẫu vàphân lớp Hầu hết các thuật toán đều sử dụng cách biểu diễn văn bản sử dụngvector đặc trưng
Ý tuởng chính là xem mỗi văn bản di tương ứng là một vector đặc trưng:
trong không gian các từ Wn (wi là một từ, một đặc trưng,tương ứng một chiều của không gian) Giá trị của TF(wi) chính là số lần xuất hiện của
từ wi trong văn bản di Từ được chọn là một đặc trưng khi nó xuất hiện trong ít nhất 3văn bản Để không bị phụ thuộc vào chiều dài văn bản vector đặc trưng sẽ được chuẩnhóa về chiều dài đơn vị:
Trang 35Trong thực tế để cải thiện tốc độ và kết quả người ta thường sử dụng IDF(w i)
hoặc TFIDF(w i ) thay cho TF(w i )
Trong đó:
m chính là số văn bản huấn luyện
DF(wi) là số văn bản có chứa từ wi
Các đặc trưng của văn bản khi biểu diễn dưới dạng vector
Số chiều không gian đặc trưng thường rất lớn (trên 10000)
Có các đặc trưng độc lập nhau, sự kết hợp các đặc trưng này thường không có ý nghĩa trong phân loại
Đặc trưng rời rạc: vector d i có rất nhiều giá trị 0 do có nhiều đặc trưng
không xuất hiện trong văn bản d i
Hầu hết các văn bản có thể được phân chia một cách tuyến tính bằng các hàm tuyến tính
Trang 36Việc phân loại sẽ tốt hơn nếu các thuật toán tận dụng được những đặc trưng này.
1.4.4 Một số vấn đề trong xử lý dữ liệu văn bản
Mỗi văn bản được biểu diễn bằng một vector Boolean hoặc vector số Nhữngvector này được xét trong một không gian đa chiều, trong đó mỗi chiều tương ứng vớimột từ mục riêng biệt trong tập văn bản Mỗi thành phần của vector được gán mộthàm giá trị f, nó là một số chỉ mật độ tương ứng của chiều đó trong văn bản Nếuthay đổi giá trị hàm f ta có thể tạo ra nhiều trọng số khác nhau
Một số vấn đề liên quan đến việc biểu diễn văn bản bằng mô hình không gian vector:
+ Không gian vector là một tập hợp bao gồm các từ
+ Từ là một chuỗi các ký tự (chữ cái và chữ số); ngoại trừ các khoảng trống(space, tab), ký tự xuống dòng, dấu câu (như dấu chấm, phẩy, chấm phẩy, dấucảm, ) Mặt khác, để đơn giản trong quá trình xử lý, ta không phân biệt chữ hoa vàchữ thường (nếu chữ hoa thì chuyển về chữ thường)
+ Cắt bỏ từ: Trong nhiều ngôn ngữ, nhiều từ có cùng từ gốc hoặc là biến thể của
từ gốc sang một từ khác Việc sử dụng từ gốc làm giảm đáng kể số lượng các từ trongvăn bản (giảm số chiều của không gian), nhưng việc cắt bỏ các từ lại rất khó trong việchiểu văn bản
Ngoài ra, để nâng cao chất lượng xử lý, một số công trình nghiên cứu đã đưa ramột số cải tiến thuật toán xem xét đến đặc tính ngữ cảnh của các từ bằng việc sửdụng các cụm từ/văn phạm chứ không chỉ xét các từ riêng lẽ Những cụm từ này cóthể được xác định bằng cách xem xét tần số xuất hiện của cả cụm từ đó trong tài liệu.Bằng phương pháp biểu diễn không gian vector, ta có thể thấy rõ ràng làchiều của một vector sẽ rất lớn bởi số 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 từ Chẳng hạn, số lượng các từ có thể từ 103 đến 105đối với các tập văn bản nhỏ Vấn đề đặt ra là làm sao để giảm số chiều của vector màvẫn đảm bảo việc xử lý văn bản đúng và chính xác, đặc biệt là trong môi trường www,
ta sẽ xem xét đến một số phương pháp để giảm số chiều của vector
Trang 37Trước hết ta thấy trong ngôn ngữ tự nhiên có nhiều từ chỉ dùng để biểu diễncấu trúc câu chứ không biểu đạt nội dung của nó Như các giới từ, từ nối, những từnhư vậy xuất hiện nhiều trong các văn bản mà không liên quan gì tới chủ đề hoặc nộidung của văn bản Do đó, ta có thể loại bỏ những từ đó để giảm số chiều củavector biểu diễn văn bản, những từ như vậy được gọi là những từ dừng.
Sau đây là ví dụ về tần số xuất hiện cao của một số từ (tiếng Anh) trong 336,310tài liệu gồm tổng cộng 125,720,891 từ và 508,209 từ riêng biệt
Bảng 1.1: Thống kê các từ tần số xuất hiện cao (thống kê của B Croft, UMass)
Để mô tả định luật Zipf, ta gọi tổng số tần số xuất hiện của từ t trong tài liệu D là
ft Sau đó sắp xếp tất cả các từ trong tập hợp theo chiều giảm dần của tần số xuấthiện f và gọi thứ hạng của mỗi từ t là rt
Định luật Zipf được phát biểu dưới dạng công thức như sau:
Trang 38Rt * ft K (với K là một hằng số) Trong tiếng Anh, người ta thấy rằng hằng số K N/10 trong đó N là số các từ
trong văn bản Ta có thể viết lại định luật Zipf như sau:
r t K/ f t Giả sử từ ti được sắp xếp ở vị trí thấp nhất với tần số xuất hiện là b nào đấy và
từ t j cũng được sắp ở vị trí thấp kế tiếp với một tần số xuất hiện là b+1 Ta có thể thu được thứ hạng xấp xỉ của các từ này là rt iK/b và rt j K/(b+1), trừ 2 biểu thức này cho nhau ta xấp xỉ đối với các từ riêng biệt có tần số xuất hiện là b.
rti- rtj K/b-K/(b+1)
Ta xấp xỉ giá trị của từ trong tập hợp có thứ hạng cao nhất Một cách tổng quát,
một từ chỉ xuất hiện một lần trong tập hợp, ta có r max = K.
Xét phân bố của các từ duy nhất xuất hiện b lần trong tập hợp, chia 2 vế
cho nhau ta được K/b Do đó, định luật Zipf cho ta thấy sự phân bố đáng chú ý của
các tự riêng biệt trong 1 tập hợp được hình thành bởi các từ xuất hiện ít nhất trongtập hợp
Năm 1958 Luhn đề xuất những từ “phổ biến” và “hiếm” và không cần thiết choquá trình xử lý như sau [10]
Hình 1.8 Lược đồ thống kê tần số của từ theo Định luật Zipf
Trang 39Trong các bài toán xử lý văn bản, ta thấy rằng vai trò của biểu diễn văn bản rấtlớn, đặc biệt trong các bài toán tìm kiếm, phân cụm, …
Theo các nghiên cứu về cách biểu diễn khác nhau trong xử lý văn bản thì cáchbiểu diễn tốt nhất là bằng các từ riêng biệt được rút ra từ tài liệu gốc và cách biểudiễn này ảnh hưởng tương đối nhỏ đối với kết quả
Các cách tiếp cận khác nhau sử dụng mô hình toán học khác nhau để tính toán,dưới đây là một số mô hình phổ biến
* Mô hìn h Bool ean
Đây là mô hình biểu diễn vector với hàm f nhận giá trị rời rạc với duy nhất haigiá trị đúng/sai (true/false) Hàm f tương ứng với thuật ngữ ti sẽ cho giá trị đúng khi
và chỉ khi ti xuất hiện trong tài liệu đó
Giả sử rằng có một CSDL gồm m văn bản, D={d1, d2, , dm} Mỗi văn bản đượcbiểu diễn dưới dạng một vector gồm n thuật ngữ T={t1, t2, …, tn} Gọi W={wij} là matrận trọng số, wij là giá trị trọng số của thuật ngữ ti trong tài liệu dj
* Mô hìn h tầ n s ố
Mô hình này xác định giá trị trọng số các phần tử trong ma trận W(wij) các giá trị
là các số dương dựa vào tần số xuất hiện của các từ trong tài liệu hoặc tần số xuấthiện của tài liệu trong CSDL Có 2 phương pháp phổ biến:
+) Mô hình dựa trên tần số xuất hiện các từ
Trong mô hình dưa trên tần số xuất hiện từ (TF-Term Frequency) giá trị của các
từ được tính dựa vào số lần xuất hiện của nó trong tài liệu, gọi tfij là số lần xuất hiệncủa từ ti trong tài liệu dj, khi đó wij có thể được tính theo một trong các công thức sau:
Wij = tfij
Wij = 1+log(tfij)
W = √Với mô hình này, trọng số wij đồng biến với số lần xuất hiện của thuật ngữ titrong tài liệu dj Khi số lần xuất hiện thuật ngữ ti trong tài liệu dj càng lớn thì có nghĩa
Trang 40là dj càng phụ thuộc nhiều vào thuật ngữ ti, nói cách khác thuật ngữ ti mang nhiềuthông tin hơn trong tài liệu dj.
+) Phương pháp dựa trên tần số văn bản nghịch đảo
Trong mô hình dưa trên tần số văn bản nghịch đảo (IDF-Inverse DocumentFrequency) giá trị trọng số của từ được tính bằng công thức sau:
Trong đó, n là tổng số văn bản trong CSDL, hi là số văn bản chứa thuật ngữ ti.Trọng số wij trong công thức trên được tính dựa vào độ quan trọng của thuật ngữ
ti trong tài liệu dj Nếu ti xuất hiện càng ít trong các văn bản thì nó càng quan trọng,
do đó nếu ti xuất hiện trong dj thì trọng số của nó càng lớn, nghĩa là nó càng quantrọng để phân biệt dj với các tài liệu khác và lượng thông tin của nó càng lớn
+) Mô hình kết hợp TF-IDF
Trong mô hình TF-IDF, mỗi tài liệu dj được xét đến thể hiện bằng một đặc trưngcủa (t1, t2, …, tn) với ti là một từ/cụm từ trong dj Thứ tự của ti dựa trên trọng sốcủa mỗi từ Các tham số có thể được thêm vào để tối ưu hóa quá trình thực hiệnnhóm Như vậy, thành phần trọng số được xác định bởi công thức sau, nó kết hợp giátrị trọng số TF và giá trị trọng số IDF
Công thức tính trọng số TF-IDF là:
Trong đó:
- tfij là tần số xuất hiện của ti trong tài liệu dj
- idfij là nghịch đảo tần số xuất hiện của ti trong tài liệu dj
- hi là số các tài liệu mà ti xuất hiện trong CSDL
- n là tổng số tài liệu trong CSDL