1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

82 10 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 82
Dung lượng 1,82 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

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 2

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

2.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 3

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

3.2 Giải pháp và cơng nghệ sử dụng 58

Trang 4

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 5

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

KDD Knowledge Discovery in Database

KPDL Khai phá dữ liệu

IGATEC Internet and Genetics Algorithm-based Text Categorization for

Documents in Vietnamese kNN K–Nearest Neighbor

LLSF Linear Least Square Fit

NB Nạve Bayes

NNet Neural Network

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 Learning IDF Tần suất tài liệu ngược (Inverse document frequency)

TF Tần suất từ (Term frequency

Trang 6

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 7

DANH 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 8

MỞ ĐẦU

1 Lý do chọn đề tài

Trong những năm gần đây cùng với sự phát triển nhanh chóng của khoa học kỹ thuật là sự bùng nổ về tri thức Kho dữ liệu, nguồn tri thức của nhân loại cũng trở nên đồ sộ, vô tận làm cho vấn đề khai thác các nguồn tri thức đó ngày càng trở nên nóng bỏng và đặt ra thách thức lớn cho nền công nghệ thông tin thế giới

Cù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 9

 Cá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ý thuyế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 10

Nghiên cứu thực nghiệ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 11

CHƯƠ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ăm cuố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ật nhằ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ính nă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ệu lị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 được dù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ác mẫ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:”Khai phá 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ột quá 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ình khám phá tri thức trong CSDL bao gồm các thụât toán KPDL chuyên dùng, dưới mộ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ác mô

Trang 12

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ựa chọ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 cho quá 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 13

1.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ác phươ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ạc hó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ốn nhiề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ũi vớ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 đánh giá những tri thức khám phá được theo những tiêu chí nhất định

Trang 14

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ắt khái niệm Ví dụ: tóm tắt văn bản

• Luật kết hợp (association rules): là dạng luật biểu diễn tri thứ ở dạng khá đơn giản Ví dụ: “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ường chứng khoán

• Phân lớp và dự đoán (classification & prediction): xếp một đối tượng vào một trong những lớp đã biết trước Ví dụ: phân lớp vùng địa lý theo dữ liệu thời tiết Hướng tiếp cận này thường sử dụng một số kỹ thuật của machine learning như cây quyết định (decision tree), mạng nơ ron nhân tạo (neural network), v.v Người ta còn gọi phân lớp là học có giám sát (học có thầy)

• Phân cụm (clustering): xếp các đối tượng theo từng cụm (số lượng cũng như tên của cụm chưa được biết trước Người ta còn gọi phân cụm là học không giám sát (học không thầy)

• Khai phá chuỗi (sequential/temporal patterns): tương tự như khai phá luật kết hợp nhưng có thêm tính thứ tự và tính thời gian Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vực tài chính và thị trường chứng khoán vì nó có tính dự báo cao

1.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 cao như : 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ản xuấ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ản xuấ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ăng cườ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 15

- Trong sinh học: nó dùng để tìm kiếm, so sánh các hệ gen và thông tin di chuyề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ối lượ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ên Internet 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ực vậ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ông tin Trong những năm gần đây, Intrnet đã trở thành một trong những kênh về khoa họ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át triể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 So sánh với những dịch vụ khác như mua bản hay quảng cáo trên một tờ báo hay tạp chí, thì một trang Web "đòi" chi phí rẻ hơn rất nhiều mà lại được cập nhật nhanh chóng hơn tới hàng triệu người dùng khắp mọi nơi trên thế giới Có thể nói không gian Web như là cuốn từ điển Bách khoa toàn thư Thông tin trên các trang Web đa dạng về mặt nội dung cũng như hình thức Có thể nói Internet như một xã hội ảo, nó bao gồm các

Trang 16

thông tin về mọi mặt của đời sống kinh tế, xã hội được trình bày dưới dạng văn bản, hình ảnh, âm thanh

Tuy nhiên cùng với sự đa dạng và số lượng lớn thông tin như vậy đã nảy sinh vấn

đề quá tải thông tin Người ta không thể tìm tự kiếm địa chỉ trang Web chứa thông tin

mà mình cần, do vậy đòi hỏi cần phải có một trình tiện ích quản lý nội dung của các trang Web và cho phép tìm thấy các địa chỉ trang Web có nội dung giống với yêu cầu của người tìm kiếm Các tiện ích này quản lý dữ liệu trang Web như các đối tượng phi cấu trúc Hiện nay chúng ta đã làm quen với một số các tiện ích như vậy, đó là Yahoo, 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àng xem 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ách hà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êu cầ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ững nhu cầu thực tế trên, phân lớp và tìm kiếm trang Web vẫn là bài toán 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ác thà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 17

Web là một nguồn tài nguyên giàu có cho Khai phá dữ liệu Những quan sát sau đây cho thấy Web đã đưa ra sự thách thức lớn cho công nghệ Khai phá dữ 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ên tụ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 nay trê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 ấn tượng Hai năm gần đây số các trang Web tăng gấp đôi và còng tiếp tục tăng trong hai năm tớiNhiề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ông theo phạm trù, tiêu đề, tác giả, số trang hay nội dung, Điều này là một thử thách rất lớn cho việc tìm kiếm thông tin cần thiết trong một thư viện như thế

Trang 18

* Web là một nguồn tài nguyên thông tin có độ thay đổi cao:

Web không chỉ có thay đổi về độ lớn mà thông tin trong chính các trang Web cũng được cập nhật liên tục Theo kết quả nghiên cứu, hơn 500.000 trang Web trong hơn 4 tháng thì 23% các trang thay đổi hàng ngày, và khoảng hơn 10 ngày thì 50% các trang trong tên miền đó biến mất, nghĩa là địa chỉ URL của nó không còn tồn tại nữa Tin tức, thị trường chứng khoán, các công ty quản cáo và trung tâm phục vụ Web thường xuyên cập nhật trang Web của họ 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ùng vẫn đang nhanh chóng lan rộng Mỗi người dùng có một kiến thức, mối quan tâm, sở thích khác nhau Nhưng hầu hết người dùng không có kiến thức tốt về cấu trúc mạng thông tin, hoặc không có ý thức cho những tìm kiếm, rất dễ bị "lạc" khi đang

"mò mẫm"trong "bóng tối" của mạng hoặc sẽ chán khi tìm kiếm mà chỉ nhận những mảng thông tin không mấy hữu ích

* 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 trong một CSDL truyền thống với việc tìm kiếm trên Internet Những thách thức trên đã đẩy mạnh việc nghiên cứu khai phá và sử dụng tài nguyên trên Internet

Trang 19

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ột nguồ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) cho mọi lần truy cập trang Web Nó bao gồm địa chỉ URL, địa chỉ IP, timestamp Dữ liệu Weblog cung cấp lượng thông tin giàu có về những trang Web động Với những thông tin về địa chỉ URL, địa chỉ IP,… một cách hiển thị đa chiều có thể được cấu trúc nên dựa trên CSDL Weblog Thực hiện phân tích OLAP đa chiều có thể đưa

ra N người dùng cao nhất, N trang Web truy cập nhiều nhất, và khoảng thời gian nhiều người truy cập nhất, xu hướng truy cập Web

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ám phá 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ững mẫ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át triể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 20

Quá 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ằng việ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 TF-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

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án hà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ớn hơ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ị tin cậy lớn hơn

Trang 21

+ 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ân tích thông kê Ý tưởng chính của phương pháp này là sử dụng thay thế từ đặc trư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ảm bớ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ực hiệ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 ra vă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ột vă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, đầu tiê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ưng củ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ông giố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ấp hơ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ụng trong 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 22

- Đá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ần quan trọng của machine learning là đánh giá kết quả các mẫu Ta thường phân lớp cá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 dung cá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ăng tì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ăn bả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ên quan 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ìm kiếm, sau khi đã tìm ra những trang Web thoả mãn yêu cầu người dùng, còn một công việc không kém phần quan trọng, đó là phải sắp xếp, chọn lọc kết quả theo mứ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 tin như tiêu

đề trang, URL, content-type, các liên kết trong trang web để tiến hành phâ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ết trỏ tới một trang web chỉ ra mức độ quan trọng của trang web đó, trong khi các liên kết

đi ra từ một trang web thể hiện các trang có liên quan tới chủ đề đề cập trong trang 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 23

Có thể mô tả nội dung của khai phá dữ liệu web theo sơ đồ dưới đây:

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, Web hyperlink 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 đăng nhập: sever logs, error logs, và cookie logs Thông qua việc phân tích các tài liệu đăng nhậ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 Web pages 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êu liê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

Cấu trúc Web

Khai phá Web

Sử dụng Web Nội dung Web

Nội dung

trang web

Kết quả tìm kiếm

Mô hình truy cập cơ bản

Tùy chọn sử dụng

Trang 24

- Dữ liệu thị trường trực tuyến: Như lưu trữ thông tin thương mại điện tử trong cá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:

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ới người thiết kế Website Thông qua việc khai phá lịch sử các mẫu truy xuất của người dùng Web, không chỉ thông tin về Web được sử dụng như thế nào mà còn nhiề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ều hướng đường dẫn người dùng Web mang lại giá trị thông tin về mức độ quan tâm củ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ẫu người dùng truy cập vào Website

Văn bản

HTML XML Nội dung động

Đa phương tiện

Liên kết tĩnh Liên kết động

Trang 25

- 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ười dù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ết thay đổi chứa đựng ngữ nghĩa chủ đề của trang Một siêu liên kết trỏ tới một trang 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 quan trọ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ấu trú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 trang Web 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 Web thà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ác trang 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 26

- Tiền xử lý dữ liệu: Quá trình làm sạch dữ liệu và chuyển dịch các tài liệu thành cá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ản sao 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ọng trong 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ảm bớ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 trong quá 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à được sắ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 quan trọ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ình tì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ễn vă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án cá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ó Phâ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ếm thông

Trang 27

tin (Inrmation Retrieval), chiết lọc thông tin (Information Extraction), lọc văn bản hoặ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ập kiể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ấn luyệ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ản thà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ập huấ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ác mẫ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êm và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 hay trong 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ình mạng Bayes, cây quyết định, phương pháp k ngườii láng giềng gần nhất, mạng Neuron, SVM, …

Trang 28

1.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ăn bả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 đọc thườ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ên củ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úc lỏ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ùng chuỗ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ụng vector đặ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 3 vă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ẩn hóa về chiều dài đơn vị:

Trang 29

Hình 1.7 Biểu diễn văn bản

Trong 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 30

Việ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ững vector này được xét trong một không gian đa chiều, trong đó mỗi chiều tương ứng với mộ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ột hà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ếu thay đổ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ấu cả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ừ trong vă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ệc hiể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 ra mộ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 31

1.4.4.1 Loại bỏ từ dừng

Trước hết ta thấy trong ngôn ngữ tự nhiên có nhiều từ chỉ dùng để biểu diễn cấ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ội dung của văn bản Do đó, ta có thể loại bỏ những từ đó để giảm số chiều của vector 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,310 tà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)

1.4.4.2 Định luật Zipf

Để giảm số chiều của vector biểu diễn văn bản hơn nữa ta dựa vào một quan sát sau: Nhiều từ trong văn bản xuất hiện rất ít lần, nếu mục tiêu của ta là xác định độ tương tự và sự khác nhau trong toàn bộ tập hợp các văn bản thì các từ xuất hiện một hoặc hai lần (tần số xuất hiện nhỏ) thì ảnh hưởng rất bé đến các văn bản

Tiền đề cho việc lý luận để loại bỏ những từ có tần suất nhỏ được đưa ra bởi Zipf năm 1949 Zipf phát biểu dưới dạng một quan sát nhưng ngay trong thời điểm đó, quan sat đó đã được gọi là định luật Zipf, mặc dù nó thực sự không phải là một định luật mà đúng hơn đó là một hiện tượng xấp xỉ toán học

Để 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ất hiệ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 32

Rt * 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 iK/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 trong tậ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 cho quá 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 33

1.4.4.3 Các mô hình biểu diễn dữ liệu văn bản

Trong 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ất lớ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ách biể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ểu diễ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ình Boolean

Đâ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 hai giá 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 được biể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à

ma trậ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ình 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ất hiệ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ện củ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:

Trang 34

là 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ều thô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 Document Frequency) 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ữ titrong 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 quan trọ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ưng củ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ện nhó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

Trang 35

Từ công thức này, ta có thể thấy trọng số của mỗi phần tử là dựa trên nghịch đảo của tần số tài liệu trong CSDL mà ti và tần số xuất hiện của phần tử này trong tài liệu Thông thường ta xây dựng một từ điển từ để lấy đi những từ rất phổ biến và những từ có tần số xuất hiện thấp Ngoài ra ta phải lựa chọn m (Zemir sử dụng 500) phần tử có trọng số cao nhất như là những từ đặc trưng

Phương pháp này kết hợp được ưu điểm của cả 2 phương pháp trên Trọng số wij được tính bằng tần số xuất hiện của thuật ngữ ti trong tài liệu dj và độ “hiếm” của thuật ngữ ti trong toàn bộ CSDL Tùy theo ràng buộc cụ thể của bài toán mà ta sử dụng các

mô hình biểu diễn văn bản cho phù hợp

- Tính toán độ tương tự giữa 2 vector:

Xét 2 vector X={x1, x2, , xm} và Y={y1, y2, , ym}

Trong mô hình TF-IDF, ta có thể lựa chọn công thức nào đó để tính toán độ tương

tự giữa các cặp tài liệu hoặc các cụm Sau đây là các độ đo tương tự phổ biến [9]:

Trang 36

Với xi và yj đại diện một cặp từ hoặc cụm từ trong tài liệu Sử dụng các công thức này và với một ngưỡng thích hợp, ta có thể dễ dàng xác định mức độ tương tự của các tài liệu trong CSDL Ý tưởng sử dụng mô hình TF-IDF để biểu diễn tài liệu có nhiều từ thông dụng giữa 2 tài liệu thì có nhiều khả năng chúng tương tự nhau

Kỹ thuật phân cụm phân cấp và phân cụm phân hoạch (k-means) là 2 kỹ thuật phân cụm thường được sử dụng cho phân cụm tài liệu với mô hình TF-IDF

1.5 Tổng kết chương 1

Chương 1 trình bày những kiến thức cơ bản về khai phá dữ liệu và khám phá tri thức trong CSDL, quá trình khai phá, các bài toán thông dụng trong khai phá dữ liệu

và ứng dụng của nó trong xã hội

Chương này cũng trình bày một hướng nghiên cứu và ứng dụng trong khai phá

dữ liệu là khai phá web, khó khăn và thuận lợi trong khai phá dữ liệu web, quá trình khai phá, các kiểu dữ liệu web, giới thiệu bài toán phân cụm, phân lớp dữ liệu, một số

mô hình biểu diễn và xử lý dữ liệu văn bản áp dụng trong khai phá Web như mô hình Boolean, mô hình tần số (TF), mô hình tần số nghịch đảo văn bản (IDF), mô hình kết hợp (TF-IDF), và các độ đo để xác định độ tương tự của văn bản

Trang 37

CHƯƠNG 2: MÔ HÌNH HỆ THỐNG TỔNG HỢP, PHÂN LOẠI

THÔNG TIN TỰ ĐỘNG

2.1 Các phương pháp tách từ tiếng Việt

2.1.1 Phương pháp Maximum Matching: forward/backward

* Nội dung

Phương pháp khớp tối đa (Maximum Matching) còn gọi là Left Right Maximum Matching (LRMM) Theo phương pháp này, ta sẽ duyệt một ngữ hoặc câu từ trái sang phải và chọn từ có nhiều âm tiết nhất có mặt trong từ điển, rồi cứ thể tiếp tục cho từ kế tiếp cho đến hết câu [4]

Dạng đơn giản được dùng giải quyết nhập nhằng từ đơn Giả sử có một chuỗi ký

tự (tương đương với chuỗi tiếng trong tiếng Việt) C1,C2, Cn chuỗi Ta bắt đầu từ đầu chuỗi Đầu tiên kiểm tra xem C1 có phải là từ hay không, sau đó kiểm tra xem C1C2 có phải là từ hay không Tiếp tục tìm cho đến khi tìm được từ dài nhất Từ có vẻ hợp lý nhất sẽ là từ dài nhất Chọn từ đó, sau đó tìm tiếp như trên cho những từ còn lại cho đến khi xác định được toàn bộ chuỗi từ

Dạng phức tạp: Quy tắc của dạng này là phân đoạn có vẻ hợp lý nhất là đoạn ba

từ với chiều dài tối đa Thuật toán bắt đầu như dạng đơn giản Nếu phát hiện ra những cách tách từ gây nhập nhằng (ví dụ, C1 là từ và C1C2 cũng là từ), ta xem các chữ kế tiếp để tìm tất cả các đoạn ba từ có thể có bắt đầu với C1 hoặc C1C2 Ví dụ ta được những đoạn sau:

C1C2 C3C4

C1C2 C3C4 C5

C1C2 C3C4 C5C6Chuỗi dài nhất sẽ là chuỗi thứ ba Vậy từ đầu tiên của chuỗi thứ ba (C1C2) sẽ được chọn Thực hiện lại các bước cho đến khi được chuỗi từ hoàn chỉnh

Trang 38

* Ưu điểm

Với cách này, ta dễ dàng tách được chính xác các ngữ/câu như “ hợp tác xã || mua bán”, “thành lập || nước || Việt Nam || dân chủ || cộng hòa” Cách tách từ đơn giản, nhanh, chỉ cần dựa vào từ điển Trong tiếng Hoa, cách này đạt được độ chính xác 98,41%

* Hạn chế

Độ chính xác của phương pháp phụ thuộc hoàn toàn vào tính đủ và tính chính xác của từ điển

Phương pháp này sẽ tách từ sai trong các trường hợp “ học sinh || học sinh|| học”,

“một || ông || quan tài || giỏi”, “trước || bàn là || một || ly || nước” …

2.1.2 Phương pháp giải thuật học cải biến (Tranformation-based Learning)

- Đặc điểm của phương pháp này là khả năng tự rút ra quy luật của ngôn ngữ

- Có những ưu điểm của cách tiếp cận dựa trên luật vì cuối cùng nó cũng dựa trên luật được rút ra) nhưng nó khắc phục được khuyết điểm của việc xây dựng các luật một cách thủ công bởi các chuyên gia

- Các luật được thử nghiệm tại chỗ để đánh giá độ chính xác và hiệu quả của luật (dựa trên ngữ liệu huấn luyện)

- Có khả năng khử được một số nhập nhằng như “The singer sang a lot of a??as”, thì hệ có thể xác định được “a??as” là “arias” (dân ca) thay vì “areas” (khu vực) của các mô hình ngôn ngữ theo kiểu thống kê

Trang 39

* Hạn chế

- Phương pháp này “dùng ngữ liệu có gán nhãn ngôn ngữ để học tự động các qui luật đó” Việc xây dựng một tập ngữ liệu đạt được đầy đủ các tiêu chí của tập ngữ liệu trong tiếng Việt là một điều rất khó, tốn kém nhiều về mặt thời gian và công sức

- Hệ phải trải qua một thời gian huấn luyện khá lâu để có thể rút ra các luật tương đối đầy đủ

Hình 2.1 Sơ đồ hệ thống WFST

Yes

No Mạng Neural

Bắt đầu Tiền xử lý Tầng WFST

T < To

Kết thúc

Trang 40

Tầng WFST: gồm có ba bước

- Xây dựng từ điển trọng số: theo mô hình WFST, việc phân đoạn từ được xem

như là một sự chuyển dịch trạng thái có xác suất (Stochastic Transduction) Chúng ta miêu tả từ điển D là một đồ thịbiến đổi trạng thái hữu hạn có trọng số Giả sử:

+) H: là tập các từ chính tả tiếng Việt (còn gọi là “tiếng”)

+) P: là từ loại của từ (POS: Part – Of – Speech)

Mỗi cung của D có thể là:

+) Từ một phần tử của H tới một phần tử của H, hoặc từ ε (ký hiệu kết thúc từ) tối một phần tử của P

+) Các nhãn trong D biểu thị một chi phí ước lượng (estimated cost) bằng công thức: Cost = - log(f/N), với f: tần số của từ, N: kích thước tập mẫu

+) Đối với các trường hợp từ mới chưa gặp, áp dụng xác suất có điều kiện Turning (Baayen) để tính toán trọng số

Goog Xây dựng các khả năng phân đoạn từ: Để giảm sự bùng nổ tổ hợp khi sinh ra

các dãy các từ có thể từ một dãy các tiếng trong câu, đề xuất một phương pháp mới là kết hợp dùng từ điển để hạn chế sinh ra các bùng nổ tổ hợp Khi phát hiện thấy một cách phân đoạn từ nào đó không phù hợp (không có trong từ điển, không phải là từ láy, không phải là danh từ riêng…) thì loại bỏ các nhánh xuất phát từ cách phân đoạn

từ đó

- Lựa chọn khả năng phân đoạn từ tối ưu: Sau khi được một danh sách các cách

phân đoạn từ có thể có của câu, chọn trường hợp phân đoạn từ có trọng số bé nhất

Tầng mạng neural: Mô hình mạng neural đề xuất được dùng để lượng giá 3

dãy từ loại: NNV, NVN, VNN (N: Noun, V: Verb) Mô hình này được học bằng chính các câu mà cách phân đoạn từ vẫn còn nhập nhằng sau khi qua mô hình thứ nhất

* Ưu điểm

- Độ chính xác trên 97%

- Mô hình cho kết quả phân đoạn từ với độ tin cậy (xác suất) kèm theo

Ngày đăng: 24/02/2021, 21:57

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w