60
Khóa lun tt nghip Nguyn Vit Cường i LI CM ƠN Em xin bày tlòng kính trng và biết ơn sâu sc ti thy giáo, tiến sĩ QUANG THY, Trường Đại hc Công ngh, ĐHQG Hà Ni và tiến sĩ ĐOÀN SƠN, Đại hc Tohoku, Nht Bn đã hướng dn và động viên em rt nhiu trong quá trình làm lun văn. Em xin được gi li cm ơn ti các Thy, Cô trong Trường Đại hc Công Ngh, Đại hc Quc Gia Hà Ni và nhóm Xeminar thuc bmôn Các Hthng Thông tin, nhng người đã dy d, giúp đỡ và chbo cho em trong sut quá trình hc tp. Cui cùng, con xin gi li biết ơn ti gia đình, nơi đã sinh thành, nuôi dưỡng động viên con rt nhiu trong thi gian qua. Hà Ni ngày 20/05/2006 Sinh viên Nguyn Vit Cường

LỜI CẢM ƠN - uet.vnu.edu.vn

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

i

LỜI CẢM ƠN

Em xin bày tỏ lòng kính trọng và biết ơn sâu sắc tới thầy giáo, tiến sĩ HÀ QUANG THỤY, Trường Đại học Công nghệ, ĐHQG Hà Nội và tiến sĩ ĐOÀN SƠN, Đại học Tohoku, Nhật Bản đã hướng dẫn và động viên em rất nhiều trong quá trình làm luận văn.

Em xin được gửi lời cảm ơn tới các Thầy, Cô trong Trường Đại học Công Nghệ, Đại học Quốc Gia Hà Nội và nhóm Xeminar thuộc bộ môn Các Hệ thống Thông tin, những người đã dạy dỗ, giúp đỡ và chỉ bảo cho em trong suốt quá trình học tập.

Cuối cùng, con xin gửi lời biết ơn tới gia đình, nơi đã sinh thành, nuôi dưỡng và động viên con rất nhiều trong thời gian qua.

Hà Nội ngày 20/05/2006

Sinh viên

Nguyễn Việt Cường

Page 2: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

ii

TÓM TẮT Biểu diễn văn bản là một trong những công đoạn quan trọng nhất và được quan

tâm đầu tiên trong các vấn đề xử lý văn bản. Nó có ảnh hưởng rất lớn đến các bài toán tìm kiếm văn bản, phân lớp, phân cụm hay tóm tắt văn bản… Khóa luận này trình bày và nghiên cứu một phương pháp biểu diễn văn bản mới dựa trên cơ sở lý thuyết tập mờ và áp dụng vào bài toán phân lớp văn bản. Nội dung của khóa luận tập trung vào các vấn đề sau:

1. Trình bày một số phương pháp biểu diễn văn bản thông thường, trong đó, khóa luận đi sâu vào cách biểu diễn theo mô hình vector, tức mỗi văn bản sẽ được biểu diễn như một vector có các thành phần là các từ khóa có mặt hoặc không có mặt trong văn bản. Sau đó, khóa luận tìm hiểu phương pháp biểu diễn văn bản trong máy tìm kiếm.

2. Trình bày về lý thuyết tập mờ, và đề cập một cách biểu diễn văn bản mới dựa trên các khái niệm mờ. Từ đó đề xuất hướng giải quyết khi xuất hiện các từ đồng nghĩa trong văn bản.

3. Tiến hành thử nghiệm cách biểu diễn mới này vào bài toán phân lớp văn bản. Chỉ ra một số kết quả phân lớp và so sánh với phương pháp biểu diễn theo mô hình vector thông thường. Từ đó rút ra một số kết luận và hướng phát triển tiếp theo.

Page 3: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

iii

MỤC LỤC LỜI CẢM ƠN ..........................................................................................................i

TÓM TẮT ...............................................................................................................ii

MỤC LỤC............................................................................................................. iii

MỞ ĐẦU.................................................................................................................1

Chương 1. KHAI PHÁ DỮ LIỆU VĂN BẢN........................................................3

1.1. Tổng quan về khai phá dữ liệu................................................................3

1.1.1. Khái niệm............................................................................................3

1.1.2. Các bước của quá trình khai phá dữ liệu ............................................3

1.1.3. Ứng dụng của khai phá dữ liệu...........................................................5

1.2. Một số bài toán trong khai phá dữ liệu văn bản......................................6

1.2.1. Tìm kiếm văn bản ...............................................................................6

1.2.2. Phân lớp văn bản.................................................................................7

Chương 2. CÁC PHƯƠNG PHÁP CƠ BẢN BIỂU DIỄN VĂN BẢN ...............10

2.1. Tiền xử lý văn bản ................................................................................10

2.2. Mô hình Logic.......................................................................................12

2.3. Mô hình phân tích cú pháp ...................................................................14

2.4. Mô hình không gian vector ...................................................................15

2.4.1. Mô hình Boolean ..............................................................................17

2.4.2. Mô hình tần suất ...............................................................................17

2.5. Biểu diễn văn bản trong máy tìm kiếm.................................................20

2.5.1. Giới thiệu về máy tìm kiếm..............................................................20

2.5.2. Mô hình biểu diễn văn bản trong máy tìm kiếm ..............................21

Chương 3. BIỂU DIỄN VĂN BẢN SỬ DỤNG CÁC KHÁI NIỆM MỜ ............23

Page 4: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

iv

3.1. Lý thuyết mờ .........................................................................................23

3.1.1. Tập mờ ..............................................................................................23

3.1.2. Các phép toán trên tập mờ ................................................................25

3.1.3. Quan hệ mờ.......................................................................................27

3.1.4. Các phép toán trên quan hệ mờ ........................................................27

3.2. Biểu diễn văn bản sử dụng các khái niệm mờ ......................................29

3.2.1. Khái niệm mờ ...................................................................................30

3.2.2. Biểu diễn văn bản .............................................................................32

3.2.3. Đề xuất giải pháp cho vấn đề đồng nghĩa.........................................32

Chương 4. CÁC PHƯƠNG PHÁP PHÂN LỚP VĂN BẢN................................35

4.1. Tổng quan về bài toán phân lớp............................................................35

4.2. Các thuật toán phân lớp ........................................................................36

4.2.1. Phân lớp dựa trên thuật toán Naive Bayes........................................36

4.2.2. Phân lớp dựa trên thuật toán K - Nearest Neighbor (KNN).............38

4.2.3. Phân lớp dựa vào thuật toán cây quyết định.....................................39

4.2.4. Phân lớp sử dụng Support Vector Machines (SVM)........................41

Chương 5. MỘT SỐ KẾT QUẢ THỰC NGHIỆM ..............................................43

5.1. Tập dữ liệu và tiền xử lý .......................................................................43

5.2. Công cụ và phương pháp phân lớp .......................................................44

5.3. Kết quả thực nghiệm.............................................................................45

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ............................................................53

TÀI LIỆU THAM KHẢO.....................................................................................55

Page 5: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

1

MỞ ĐẦU Ngày nay, sự phát triển mạnh mẽ của Internet đã dẫn đến sự bùng nổ thông tin về

nhiều mặt kể cả về nội dung lẫn số lượng. Chỉ bằng một thao tác tìm kiếm đơn giản, ta có thể nhận về một khối lượng khổng lồ các trang web có chứa thông tin liên quan tới nội dung ta tìm kiếm. Tuy nhiên, chính sự dễ dàng này cũng mang đến cho con người rất nhiều khó khăn trong việc chắt lọc ra các thông tin có ích để thu được các tri thức mới. Phát hiện tri thức và khai phá dữ liệu là câu trả lời mới nhất cho vấn đề này nhằm phát hiện ra các tri thức mới từ khối dữ liệu khổng lồ mà con người có được.

Trong các loại dữ liệu thì văn bản là loại dữ liệu phổ biến mà con người thường gặp phải nhất. Mô hình biểu diễn văn bản phổ biến hiện nay là mô hình không gian vector, trong đó mỗi văn bản được biểu diễn bằng một vector của các từ khóa. Tuy nhiên bài toán khai phá dữ liệu văn bản thường gặp phải một số khó khăn như tính nhiều chiều của văn bản, tính nhập nhằng của ngôn ngữ… Trong khóa luận này, chúng tôi xin đề cập đến một cách biểu diễn văn bản mới: biểu diễn dựa trên các khái niệm mờ. Trong đó, mỗi khái niệm sẽ được xác định bởi một tập các từ khóa liên quan. Và mức độ liên quan của khái niệm đến văn bản sẽ được xác định bằng hàm tích hợp mờ các từ khóa đó. Sau khi đã có một tập các khái niệm liên quan đến một hay nhiều chủ đề cần phần lớp, mỗi văn bản sẽ được xem như là một vector có các thành phần là các khái niệm mờ đó.

Với lượng thông tin dạng văn bản đồ sộ của Internet, một yêu cầu lớn đặt ra đối với chúng ta là làm sao tổ chức và tìm kiếm thông tin có hiệu quả nhất. Phân lớp (phân loại) thông tin là một trong những giải pháp hợp lý cho yêu cầu trên. Khóa luận sẽ trình bày một số thuật toán phân lớp tiêu biểu và đưa ra hướng thực nghiệm cho phương pháp biểu diễn văn bản dựa trên các khái niêm mờ.

Chúng tôi áp dụng thuật toán KNN (k – người láng giềng gần nhất) và phần mềm WEKA (K-người láng giếng gần nhất) để tiến hành phân lớp. Phần thực nghiệm cho thấy rằng phương pháp biểu diễn văn bản dựa khái niệm mờ có kết quả phân lớp tốt hơn so với phương pháp biểu diễn văn bản theo vector từ khóa.

Ngoài phần mở đầu và kết luận, nội dung của luận văn được trình bày trong 5 chương:

Page 6: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

2

Chương 1, giới thiệu tổng quan về khai phá dữ liệu văn bản, một số định nghĩa và một số bài toán điển hình.

Chương 2, trình bày một số phương pháp biểu diễn văn bản truyền thống: mô hình tần suất, mô hình phân tích cú pháp, mô hình không gian vector... Đồng thời nêu ra cách biểu diễn văn bản thường dùng trong máy tìm kiếm.

Chương 3, giới thiệu tổng quan về lý thuyết tập mờ [9][14] và một số phép toán trên tập mờ. Nội dung chính của chương là đề cập một cách biểu diễn văn bản mới dựa trên các khái niệm mờ.

Chương 4, trình bày bài toán phân lớp văn bản và một số thuật toán phân lớp tiêu biểu.

Chương 5, chỉ ra các kết quả thực nghiệm có được khi áp dụng mô hình biểu diễn mới trong bài toán phân lớp văn bản. Đánh giá và so sánh với mô hình biểu diễn thông thường.

Page 7: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

3

Chương 1. KHAI PHÁ DỮ LIỆU VĂN BẢN

1.1. Tổng quan về khai phá dữ liệu

1.1.1. Khái niệm

Khai phá dữ liệu[1][7][13] là một khái niệm ra đời vào những năm cuối của thập kỷ 80 của thế kỷ 20. 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 như các kho dữ liệu, các cơ sở dữ liệu (CSDL) có dung lượng rất lớn. Về bản chất, khai phá dữ liệu liên quan đến việc phân tích các dữ liệu và sử dụng các kỹ thuật để tìm ra các mẫu có tính hệ thống trong tập dữ liệu.

Một số định nghĩa tiêu biểu về Data mining:

Khái niệm data mining được định nghĩa như sau: “The nontrivial extraction of implicit, previously unknown, and potentially useful information from data” [13], tạm dịch: “là việc trích rút một cách phức tạp các thông tin - ẩn, không biết trước và có khả năng hữu ích - từ dữ liệu”.

“The science of extracting useful information from large data sets or databases” [1], tạm dịch là: “Nghành khoa học chuyên trích chọn những thông tin có giá trị từ những tập dữ liệu lớn hoặc các CSDL”.

Năm 1989, Fayyad, Piatestky-Shapiro và Smyth đã đưa ra khái niệm “Phát hiện tri thức trong cơ sở dữ liệu” (Knowledge Discovery in Databases - KDD) để chỉ toàn bộ quá trình phát hiện các tri thức có ích từ các tập dữ liệu lớn [6]. Trong đó, khai phá dữ liệu là một bước đặc biệt quan trọng trong toàn bộ quá trình, sử dụng các thuật toán chuyên dụng để chiết xuất ra các mẫu (pattern) từ dữ liệu.

1.1.2. Các bước của quá trình khai phá dữ liệu

Các thuật toán khai phá dữ liệu thường được miêu tả như những chương trình hoạt động trực tiếp trên tệp dữ liệu. Với các phương pháp học máy và thống kê trước đây, thường thì bước đầu tiên của các thuật toán là nạp toàn bộ dữ liệu vào trong bộ nhớ trong để xử lý. Khi chuyển sang các ứng dụng công nghiệp liên quan đến việc khai phá các kho dữ liệu lớn, mô hình này không thể đáp ứng được. Không chỉ bởi vì không thể nạp hết dữ liệu vào trong bộ nhớ mà còn vì không thể chiết suất dữ liệu ra các tệp đơn giản để phân tích được.

Page 8: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

4

Quá trình khai phá dữ liệu bắt đầu bằng cách xác định chính xác vấn đề cần giải quyết. Sau đó sẽ xác định các dữ liệu liên quan dùng để xây dựng giải pháp. Bước tiếp theo là thu thập các dữ liệu có liên quan và xử lý chúng thành định dạng sao cho các thuật toán khai phá dữ liệu có thể hiểu được. Về lý thuyết thì có vẻ rất đơn giản nhưng khi thực hiện thì đây thực sự là một quá trình rất khó khăn, gặp phải nhiều vướng mắc như dữ liệu phải được sao ra nhiều bản (nếu được chiết suất vào các tệp), quản lý tập các tệp dữ liệu, phải lặp đi lặp lại nhiều lần toàn bộ quá trình (nếu mô hình dữ liệu thay đổi) ...

Sẽ là quá cồng kềnh với một thuật toán khai phá dữ liệu nếu phải truy nhập vào toàn bộ nội dung của CSDL và làm những việc như trên. Vả lại, điều này cũng không cần thiết. Có rất nhiều thuật toán khai phá dữ liệu thực hiện trên những thống kê tóm tắt khá đơn giản của CSDL, khi mà toàn bộ thông tin trong CSDL là quá dư thừa đối với mục đích của việc khai phá dữ liệu.

Bước tiếp theo là chọn thuật toán khai phá dữ liệu thích hợp và thực hiện việc khai phá để tìm được các mẫu có ý nghĩa dưới dạng biểu diễn tương ứng với các ý nghĩa đó. Thông thường các mẫu được biểu diễn dưới dạng luật phân loại, cây quyết định, luật sản xuất, biểu thức hồi quy, ...

Hình 1: Quá trình khai phá dữ liệu

Đặc điểm của các mẫu là phải mới, ít nhất là đối với hệ thống đó. Độ mới có thể được đo tương ứng với độ thay đổi trong dữ liệu (bằng cách so sánh các giá trị hiện tại với các giá trị trước đó hoặc các giá trị mong muốn), hoặc bằng tri thức (mối liên hệ giữa các

Page 9: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

5

phương pháp tìm mới và phương pháp cũ như thế nào). Thường thì độ mới của mẫu được đánh giá bằng các hàm logic hoặc hàm đo độ mới, độ bất ngờ của mẫu. Ngoài ra, mẫu phải có khả năng sử dụng tiềm tàng. Các mẫu này sau khi được xử lý và diễn giải phải dẫn đến những hành động có ích nào đó được đánh giá bởi một hàm lợi ích. Ví dụ như trong dữ liệu các khoản vay, hàm lợi ích đánh giá khả năng tăng lợi nhuận từ các khoản vay. Mẫu khai thác được phải có giá trị đối với các dữ liệu mới với độ chính xác nào đó.

Vì khi thi hành các thuật toán và các nhiệm vụ của khai phá dữ liệu là rất khác nhau cho nên dạng của các mẫu chiết xuất được cũng rất đa dạng. Theo cách đơn giản nhất, sự phân tích cho ra kết quả chiết xuất là một báo cáo về một số loại, có thể bao gồm các phép đo mang tính thống kê về độ phù hợp của mô hình, các dữ liệu lạ... Trong thực tế thì đầu ra phức tạp hơn nhiều. Mẫu chiết suất được có thể là một mô tả xu hướng, có thể dưới dạng văn bản, một đồ thị mô tả các mối quan hệ trong mô hình, cũng có thể là một hành động, ví dụ như yêu cầu của người dùng làm gì với những gì khai thác được trong CSDL.

Như vậy có thể nhận thấy rằng kỹ thuật khai phá dữ liệu thực chất là sự kế thừa, kết hợp và mở rộng của các kỹ thuật cơ bản đã được nghiên cứu từ trước như học máy, nhận dạng, thống kê (hồi quy, xếp loại, phân nhóm), các mô hình đồ thị, mạng Bayes, trí tuệ nhân tạo, thu thập tri thức hệ chuyên gia... Tuy nhiên, với sự kết hợp hướng mục tiêu của khai phá dữ liệu, kỹ thuật này có ưu thế hơn hẳn các phương pháp trước đó, đem lại nhiều triển vọng trong việc ứng dụng phát triển nghiên cứu khoa học cũng như làm tăng mức lợi nhuận trong các hoạt động kinh doanh.

1.1.3. Ứng dụng của khai phá dữ liệu

Tuy là một hướng tiếp cận mới nhưng khai phá dữ liệu đã thu hút được rất nhiều sự quan tâm của các nhà nghiên cứu và phát triển nhờ vào những ứng dụng thực tiễn của nó [xx]. Chúng ta có thể liệt kê ra đây một số ứng dụng điển hình:

Phân tích dữ liệu và hỗ trợ ra quyết định (data analysis & decision support)

Điều trị y học (medical treatment)

Text mining & Web mining

Tin-sinh học (bio-informatics)

Tài chính và thị trường chứng khoán (finance & stock market)

Page 10: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

6

Phần tiếp theo, chúng tôi xin trình bày khái quát về Text Mining (gọi theo tiếng Việt là Khai phá dữ liệu văn bản), một trong những ứng dụng điển hình nêu trên của khai phá dữ liệu.

1.2. Một số bài toán trong khai phá dữ liệu văn bản

1.2.1. Tìm kiếm văn bản

Nội dung:

Tìm kiếm văn bản[2][10] là quá trình tìm kiếm văn bản theo yêu cầu của người dùng. Các yêu cầu được thể hiện dưới dạng các câu hỏi (query), dạng câu hỏi đơn giản nhất là các từ khóa. Có thể hình dung hệ tìm kiếm văn bản sắp xếp tập văn bản trong miền tìm kiếm thành hai lớp: Một lớp được hiển thị bao gồm các văn bản thỏa mãn với câu hỏi người dùng và một lớp không được hiển thị bao gồm các văn bản không thỏa mãn yêu cầu. Thực tế, các hệ thống tìm kiếm điển hình hiện nay, chẳng hạn như các máy tìm kiếm như Google, Altavista…, không hoạt động như vậy mà đưa ra danh sách các văn bản theo độ liên quan của văn bản với câu hỏi người dùng

Quá trình tìm kiếm

Quá trình tìm kiếm được chia thành bốn quá trình thành phần chính :

Đánh chỉ số (indexing): Các văn bản ở dạng thô cần được chuyển sang một dạng biểu diễn nào đó để xử lý. Quá trình này còn được gọi là quá trình biểu diễn văn bản, dạng biểu diễn phải có cấu trúc và dễ dàng khi xử lý. Một nội dung quan trọng của khóa luận này là nghiên cứu cách thức biểu diễn văn bản sử dụng lý thuyết tập mờ nhằm có được biểu diễn văn bản mang nhiều ngữ nghĩa hơn.

Định dạng câu hỏi: Người dùng phải mô tả những yêu cầu về lấy thông tin cần thiết dưới dạng câu hỏi. Các câu hỏi này phải được biểu diễn dưới dạng phổ biến cho các hệ tìm kiếm như nhập vào các từ khóa cần tìm. Ngoài ra còn có các phương pháp định dạng câu hỏi dưới dạng ngôn ngữ tự nhiên hoặc dưới dạng các ví dụ, đối với các dạng này thì cần có các kỹ thuật xử lý phức tạp hơn. Đại đa số hệ tìm kiếm hiện nay dùng câu hỏi dưới dạng các từ khóa.

So sánh: Hệ thống phải thực hiện việc so sánh tường minh và toàn vẹn câu hỏi của người dùng với các văn bản được lưu trữ trong CSDL. Cuối cùng hệ thống đưa ra một

Page 11: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

7

quyết định phân loại các văn bản theo độ liên quan gần với câu hỏi người dùng và sắp xếp theo thứ tự giảm dần của độ liên quan. Hệ thống hoặc hiển thị toàn bộ văn bản hoặc chỉ một phần văn bản.

Phản hồi: Trong nhiều trường hợp, kết quả được trả về lúc đầu chưa phải đã thỏa mãn yêu cầu của người dùng, do đó cần phải có quá trình phản hồi để người dùng có thể thay đổi lại hoặc nhập mới các yêu cầu của mình. Mặt khác, người dùng có thể tương tác với các hệ về các văn bản thỏa mãn yêu cầu của mình và hệ có chức năng cập nhậu các văn bản đó. Quá trình này được gọi là quá trình phản hồi liên quan (Relevance feeback).

Các công cụ tìm kiếm hiện nay chủ yếu tập trung nhiều vào ba quá trình con đầu tiên, còn phần lớn chưa có quá trình phản hồi hay xử lý tương tác người dùng và máy. Quá trình phản hồi hiện nay đang được nghiên cứu rộng rãi và riêng trong quá trình tương tác giao diện người máy đã xuất hiện hướng nghiên cứu được gọi là tác tử giao diện (interface agent).

1.2.2. Phân lớp văn bản

Nội dung

Phân lớp văn bản [3][5][8][11][12] được xem như là quá trình gán các văn bản vào một hay nhiều lớp văn bản đã được xác định từ trước. Người ta có thể phân lớp các văn bản một cách thủ công, tức là đọc nội dung từng văn bản một và gán nó vào một lớp nào đó. Hệ thống quản lý tập gồm rất nhiều văn bản cho nên cách này sẽ tốn rất nhiều thời gian, công sức và do đó là không khả thi. Do vậy mà phải có các phương pháp phân lớp tự động. Để phân lớp tự động người ta sử dụng các phương pháp học máy trong trí tuệ nhân tạo như Cây quyết định, Bayes, k người láng giềng gần nhất...

Một trong những ứng dụng quan trọng nhất của phân lớp văn bản tự động là ứng dụng trong các hệ thống tìm kiếm văn bản. Từ một tập con văn bản đã phân lớp sẵn, tất cả các văn bản trong miền tìm kiếm sẽ được gán chỉ số lớp tương ứng. Trong câu hỏi của mình, người dùng có thể xác định chủ đề hoặc lớp văn bản mà mình mong muốn tìm kiếm để hệ thống cung cấp đúng yêu cầu của mình.

Một ứng dụng khác của phân lớp văn bản là trong lĩnh vực hiểu văn bản. Phân lớp văn bản có thể được sử dụng để lọc các văn bản hoặc một phần các văn bản chứa dữ liệu cần tìm mà không làm mất đi tính phức tạp của ngôn ngữ tự nhiên.

Page 12: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

8

Trong phân lớp văn bản, sự tương ứng giữa một văn bản với một lớp hoặc thông qua việc gán giá trị đúng sai (True - văn bản thuộc lớp, hay False -văn bản không thuộc lớp) hoặc thông qua một độ phụ thuộc (đo độ phụ thuộc của văn bản vào lớp). Trong trường hợp có nhiều lớp thì phân loại đúng sai sẽ là việc xem một văn bản có thuộc vào một lớp duy nhất nào đó hay không.

Quá trình phân lớp

Quá trình phân lớp văn bản tuân theo các bước sau:

Đánh chỉ số: Quá trình đánh chỉ số văn bản cũng giống như trong quá trình đánh chỉ số của tìm kiếm văn bản. Trong quá trình này thì tốc độ đánh chỉ số đóng vai trò quan trọng vì xuất hiện lượng đáng kể văn bản mới có thể cần được đánh chỉ số trong thời gian thực.

Xác định độ phân lớp: Cũng giống như trong tìm kiếm văn bản, phân lớp văn bản yêu cầu quá trình diễn tả việc xác định văn bản đó thuộc lớp nào đó ra sao (mô hình phân lớp) dựa trên cấu trúc biểu diễn của nó. Đối với hệ phân lớp văn bản, chúng ta gọi quá trình này là bộ phân lớp (Categorizator hoặc classifier). Nó đóng vai trò như các câu hỏi trong hệ tìm kiếm. Tuy nhiên, trong khi những câu hỏi mang tính nhất thời, thì bộ phân lớp được sử dụng một cách ổn định và lâu dài cho quá trình phân lớp.

So sánh: Trong hầu hết các bộ phân lớp, mỗi văn bản đều được yêu cầu gán đúng sai vào một lớp nào đó. Sự khác nhau lớn nhất đối với quá trình so sánh trong hệ tìm kiếm văn bản là mỗi văn bản chỉ được so sánh với một số lượng các lớp một lần và việc chọn quyết định phù hợp còn phụ thuộc vào mối quan hệ giữa các lớp văn bản.

Phản hồi (Hay thích nghi): Quá trình phản hồi đóng vai trò quan trọng trong hệ phân lớp văn bản. Thứ nhất, khi phân lớp thì phải có môt số lượng lớn các văn bản đã được xếp loại bằng tay trước đó, các văn bản này được sử dụng làm mẫu huấn luyện để hỗ trợ xây dựng bộ phân lớp. Thứ hai, đối với việc phân lớp văn bản thì không dễ dàng thay đổi các yêu cầu như trong quá trình phản hồi của tìm kiếm văn bản bởi vì người dùng chỉ có thể thông tin cho người bảo trì hệ thống về việc xóa bỏ, thêm vào hoặc thay đổi các phân lớp văn bản nào đó mà mình yêu cầu.

Ngoài hai bài toán thường gặp trên, còn có các bài toán khác sau:

Page 13: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

9

Phân cụm văn bản: Đưa các văn bản có nội dung giống nhau vào thành từng nhóm

Tóm tắt văn bản: Tóm tắt nội dung một văn bản cho trước

Dẫn đường văn bản: Đưa một văn bản cho trước vào một chủ đề hoặc một nơi lưu trữ nhất định theo yêu cầu người dùng

Trong các bài toán nêu trên, văn bản thường được biểu diễn thành một tập các thuộc tính đặc trưng cho văn bản đó. Các quá trình xử lý và làm việc tiếp theo đều thực hiện trên các thuộc tính này. Có nhiều tiêu chuẩn chọn lựa các thuộc tính để biểu diễn, tuy nhiên đều dựa trên việc xử lý từ khóa một cách tự động.

Trong chương tiếp theo, khóa luận trình bày một số phương pháp biểu diễn văn bản truyền thống.

Page 14: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

10

Chương 2. CÁC PHƯƠNG PHÁP CƠ BẢN BIỂU DIỄN VĂN BẢN

2.1. Tiền xử lý văn bản

Trước khi bắt đầu quá trình biểu diễn văn bản, người ta tiến hành bước tiền xử lý văn bản. Đây là bước hết sức quan trọng vì nó có nhiệm vụ làm giảm số từ có trong biểu diễn văn bản và qua đó sẽ làm giảm kích thước dữ liệu trong biểu diễn văn bản.

Nội dung tiền xử lý văn bản:

Phân tích từ vựng

Bước phân tích từ vựng nhằm xác định các từ có trong văn bản. Kết quả của công việc này là cho ra một tập các từ riêng biệt. Tuy nhiên trong nhiều trường hợp cần có cách đối xử riêng biệt đối với một số từ đặc biệt, chẳng hạn như số, dấu ngoặc, dấu chấm câu và trường hợp chữ hoa, chữ thường. Ví dụ về cách ứng xử đặc biệt, số thường bị loại ra trong khi phân tích vì một mình nó không mang lại một ý nghĩa nào cho tài liệu (ngoại trừ một vài trường hợp đặc biệt, ví dụ trong thu thập thông tin về lĩnh vực lịch sử). Dấu chấm câu, ví dụ như “.”, “!”, “?”, “-“, v.v… cũng thường được loại ra mà không có ảnh hưởng gì đến nội dung của tài liệu. Tuy nhiên cần phải chú ý trong một vài trường hợp, chẳng hạn đối với những từ ghép nối (state-of-the-art) là không được phép bỏ dấu “-“, vì sẽ làm thay đổi nghĩa của từ.

Loại bỏ từ dừng

Từ dừng ( stop-words) dùng để chỉ các từ mà xuất hiện quá nhiều trong các văn bản của toàn tập kết quả, thường thì không giúp ích gì trong việc phân biệt nội dung của các tài liệu. Ví dụ, những từ “web”, “site”, “link”, “www”, v.v…[??] thường xuất hiện hầu hết trong các văn bản thì được gọi là stop-words. Ngoài ra, trong tiếng Anh, có nhiều từ chỉ dùng để phục vụ cho biểu diễn cấu trúc chứ không biểu đạt nội dung của nó như là “a”, “the” (mạo từ), “in” (giới từ) , “but” (liên từ), động từ phổ biến có dạng “to”, “be”, và một số trạng từ và tính từ đặc biệt cũng được xem là những từ dừng (stop-words).

Vì đặc điểm của từ dừng nên chúng được loại bỏ mà không ảnh hưởng đến các công việc biểu diễn văn bản tiếp theo.

Bảng danh sách một số từ dừng trong tiếng Anh:

Page 15: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

11

Danh sách một số từ dừng trong tiếng Việt: và; hoặc; cũng; là; mỗi; bởi…

Loại bỏ từ có tần số thấp

Khi quan sát văn bản, người ta để ý thấy rằng: Có nhiều từ trong tập văn bản gốc xuất hiện rất ít lần và chúng sẽ có ảnh hưởng rất ít trong văn bản. Vì vậy vấn đề đặt ra là cần loại bỏ những từ có tần xuất nhỏ. Người ta áp dụng phương pháp được đưa ra bởi Zipf năm 1949: quan sát tần xuất xuất hiện của các từ trong tập văn bản.

Gọi tần số xuất hiện của từ khóa t trong tập hợp X là ft. Xắp xếp tất cả các từ khóa trong tập hợp theo chiều giảm dần của tần số f, và gọi thứ hạng của mỗi từ khóa t là rt. Đinh luật Zipf được phát biểu dưới dạng công thức sau:

ft.rt ≈ K

Trong đó: K là một hằng số. Nếu N là tổng số từ trong tập văn bản, thì người ta

thấy rằng 10NK ≈ .

Như vậy, tần số xuất hiện và thứ hạng của một từ khóa là hai đại lượng nghịch đảo của nhau. Để thấy rõ hơn điều này, người ta đã biểu diễn lại công thức định luật Zipf theo công thức sau:

Page 16: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

12

t

t fKr ≈

Và biểu diễn theo lược đồ:

Loại bỏ tiền tố và hậu tố

Loại bỏ tiền tố và hậu tố (tiếng Anh là Stemming) tiến hành việc loại bỏ tiền tố và hậu tố của từ để biến đổi nó thành từ gốc. Vì trong thực tế một từ gốc có thể có nhiều hình thái biến đổi, chẳng hạn như động từ, danh từ, tính từ, trạng từ; và giữa chúng có mối quan hệ ngữ nghĩa. Ví dụ như những từ: “clusters”, “clustering”, “clustered” là có cùng mối quan hệ với từ “cluster”. Do vậy cần phải Stemming để làm giảm được số lượng từ mà vẫn không làm ảnh hưởng đến nội dung tài liệu.

Tuy nhiên tồn tại một vấn đề thiếu sót xảy ra khi stemming, vì thuật toán stemming sử dụng một tập các quy tắc đơn giản để loại bỏ tiền tố/hậu tố. Do vậy nó có thể sinh ra các từ không chính xác. Ví dụ như “computing”, “computation” sau khi stemming sẽ còn là “comput” trong khi đó từ đúng phải là “compute’.

2.2. Mô hình Logic

Theo mô hình này các từ có nghĩa trong văn bản sẽ được đánh chỉ số và nội dung văn bản được quản lý theo các chỉ số Index đó. Mỗi văn bản được đánh chỉ số theo quy tắc liệt kê các từ có nghĩa trong các văn bản với vị trí xuất hiện của nó trong văn bản. Từ có nghĩa là từ mang thông tin chính về các văn bản lưu trữ, khi nhìn vào nó người ta có thể biết chủ đề của văn bản cần biểu diễn.

Hình 2. Lược đồ các từ theo đinh luật

Page 17: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

13

Tiến hành Index các văn bản đưa vào theo danh sách các từ khoá nói trên. Với mỗi từ khóa người ta sẽ đánh số thứ tự vị trí xuất hiện của nó và lưu lại chỉ số đó cùng với mã văn bản chứa nó. Cách biểu diễn này cũng được các máy tìm kiếm ưa dùng.

Ví dụ, có hai văn bản với mã tương ứng là VB1,VB2.

“Cộng hòa xã hội chủ nghĩa Việt Nam” (VB1)

“ Việt Nam dân chủ cộng hòa” (VB2)

Khi đó ta có cách biểu diễn như sau:

Khi biểu diễn văn bản theo phương pháp này người ta đưa ra cách tìm kiếm như sau:

Câu hỏi tìm kiếm được đưa ra dưới dạng Logic, tức là gồm một tập hợp các phép toán (AND, OR,…) được thực hiện trên các từ hoặc cụm từ. Việc tìm kiếm sẽ dựa vào bảng Index đã tạo ra và kết quả trả lại là các văn bản thoả mãn toàn bộ các điều kiện trên

Một số ưu điểm, nhược điểm:

Ưu điểm

Việc tìm kiếm trở nên nhanh và đơn giản.

Thực vậy, giả sử cần tìm kiếm từ “computer”. Hệ thống sẽ duyệt trên bảng Index để trỏ đến chỉ số Index tương ứng nếu từ “computer” tồn tại trong hệ thống. Việc tìm kiếm này là khá nhanh và đơn giản khi trước đó ta đã sắp xếp bảng Index theo vần chữ

Page 18: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

14

cái. Phép tìm kiếm trên có độ phức tạp cấp θ(nlog2n), với n là số từ trong bảng Index. Tương ứng với chỉ số index trên sẽ cho ta biết các tài liệu chứa từ khóa tìm kiếm. Như vậy việc tìm kiếm liên quan đến k từ thì các phép toán cần thực hiện là k*n*log2n (n là số từ trong bảng Index)

Câu hỏi tìm kiếm linh hoạt

Người dùng có thể sử dụng các kí tự đặc biệt trong câu hỏi tìm kiếm mà không làm ảnh hưởng đến độ phức tạp của phép tìm kiếm. Ví dụ muốn tìm từ “ta” thì kết quả sẽ trả lại các văn bản có chứa các từ “ta”, “tao”, “tay”,…là các từ bắt đầu bằng từ “ta”

Kí tự % được gọi là kí tự đại diện (wildcard character).

Ngoài ra, bằng các phép toán Logic các từ cần tìm có thể tổ chức thành các câu hỏi một cách linh hoạt. Ví dụ: Cần tìm từ [tôi, ta, tao], dấu “[]” sẽ thay cho nghĩa của từ “hoặc” - thể hiện việc tìm kiếm trên một trong số nhiều từ trong nhóm. Đây thực ra là một cách thể hiện linh hoạt phép toán OR trong đại số Logic thay vì phải viết là: Tìm các tài liệu có chứa từ “tôi” hoặc từ “ta” hoặc “tao”.

Nhược điểm

Đòi hỏi người tìm kiếm phải có kinh nghiệm và chuyên môn trong lĩnh vực tìm kiếm vì câu hỏi đưa vào dưới dạng Logic nên kết quả trả lại cũng có giá trị Logic (Boolean). Một số tài liệu sẽ được trả lại khi thoả mãn mọi điều kiện đưa vào. Như vậy muốn tìm được tài liệu theo nội dung thì phải biết đích xác về tài liệu.

Việc Index các tài liệu rất phức tạp và làm tốn nhiều thời gian, đồng thời cũng tốn không gian để lưu trữ các bảng Index.

Các tài liệu tìm được không được xắp xếp theo độ chính xác của chúng. Các bảng Index không linh hoạt vì khi các từ vựng thay đổi (thêm, xóa,…) thì dẫn tới chỉ số Index cũng phải thay đổi theo.

2.3. Mô hình phân tích cú pháp

Trong mô hình này, mỗi văn bản đều phải được phân tích cú pháp và trả lại thông tin chi tiết về chủ đề của văn bản đó. Sau đó, người ta tiến hành Index các chủ đề của từng

Page 19: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

15

văn bản. Cách Index trên chủ đề cũng giống như khi Index trên văn bản nhưng chỉ Index trên các từ xuất hiện trong chủ đề.

Các văn bản được quản lý thông qua các chủ đề này để có thể tìm kiếm được khi có yêu cầu, câu hỏi tìm kiếm sẽ dựa trên các chủ đề trên.

Cách tìm kiếm:

Tiến hành tìm kiếm bằng cách dựa vào các chủ đề đã được Index ở trên. Câu hỏi đưa vào có thể được phân tích cú pháp để trả lại một chủ đề và tìm kiếm trên chủ đề đó.

Như vậy bộ phận xử lý chính đối với một hệ CSDL xây dựng theo mô hình này chính là hệ thống phân tích cú pháp và đoán nhận nội dung văn bản.

Một số ưu điểm, nhược điểm của phương pháp này

Ưu điểm

Tìm kiếm theo phương pháp này lại khá hiệu quả và đơn giản, do tìm kiếm nhanh và chính xác.

Đối với những ngôn ngữ đơn giản về mặt ngữ pháp thì việc phân tích trên có thể đạt được mức độ chính xác cao và chấp nhận được.

Nhược điểm

Chất lượng của hệ thống theo phương pháp này hoàn toàn phụ thuộc vào chất lượng của hệ thống phân tích cú pháp và đoán nhận nội dung tài liệu. Trên thực tế, việc xây dựng hệ thống này là rất phức tạp, phụ thuộc vào đặc điểm của từng ngôn ngữ và đa số vẫn chưa đạt đến độ chính xác cao.

2.4. Mô hình không gian vector

Cách biểu diễn văn bản thông dụng nhất là thông qua vector biểu diễn theo mô hình không gian vector (Vector Space Model). Đây là một cách biểu diễn tương đối đơn giản và hiệu quả.

Theo mô hình này, mỗi văn bản được biểu diễn thành một vector. Mỗi thành phần của vector là một từ khóa riêng biệt trong tập văn bản gốc và được gán một giá trị là hàm f chỉ mật độ xuất hiện của từ khóa trong văn bản.

Page 20: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

16

Hình 3: Biểu diễn các vector văn bản trong không gian 2 chiều

Giả sử ta có một văn bản và nó được biểu diễn bởi vector V(v1,v2, …, vn). Trong đó, vi là số lần xuất hiện của từ khóa thứ i trong văn bản. Ta xét 2 văn bản sau:

VB1: Life is not only life

VB2: To life is to fight

Sau khi qua bước tiền xử lý văn bản, ta biểu diễn chúng như sau:

Trong các cơ sở dữ liệu văn bản, mô hình vector là mô hình biểu diễn văn bản được sử dụng phổ biến nhất hiện nay. Mối quan hệ giữa các trang văn bản được thực hiện thông qua việc tính toán trên các vector biểu diễn vì vậy được thi hành khá hiệu quả. Đặc biệt, nhiều công trình nghiên cứu về mối quan hệ "tương tự nhau" giữa các trang web (một trong những quan hệ điển hình nhất giữa các trang web) dựa trên mô hình biểu diễn vector .

Page 21: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

17

2.4.1. Mô hình Boolean

Một mô hình biểu diễn vector với hàm f cho ra giá trị rời rạc với duy nhất hai giá trị đúng và sai (true và false, hoặc 0 và 1) gọi là mô hình Boolean. Hàm f tương ứng với từ khóa ti sẽ cho ra giá trị đúng nếu và chỉ nếu từ khóa ti xuất hiện trong văn bản đó.

Mô hình Boolean được xác định như sau:

Giả sử có một cơ sở dữ liệu 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 từ khóa T = {t1, t2,…tn}. Gọi W = {wij} là ma trận trọng số, trong đó wij là giá trị trọng số của từ khóa ti trong văn bản dj.

⎩⎨⎧

=lai nguoc neu

trongmat co neu

0

dt1w ji

ij

Trở lại với 2 văn bản trên, áp dụng mô hình Boolean ta có biểu diễn sau:

2.4.2. Mô hình tần suất

Trong mô hình tần suất, ma trận W = {wij} được xác định dựa trên tần số xuất hiện của từ khóa ti trong văn bản dj hoặc tần số xuất hiện của từ khóa ti trong toàn bộ cơ sở dữ liệu. Sau đây là một số phương pháp phổ biến:

a. Phương pháp dựa trên tần số từ khóa (TF – Term Frequency)

Các giá trị wij được tính dựa trên tần số (hay số lần) xuất hiện của từ khóa trong văn bản. Gọi fij là số lần xuất hiện của từ khóa ti trong văn bản dj, khi đó wij được tính bởi một trong ba công thức:

wij = fij

wij = 1 + log(fij)

Page 22: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

18

wij = ijf

Trong phương pháp này, trọng số wij tỷ lệ thuận với số lần xuất hiện của từ khóa ti trong văn bản dj. Khi số lần xuất hiện từ khóa ti trong văn bản dj càng lớn thì điều đó có nghĩa là văn bản dj càng phụ thuộc vào từ khóa ti, hay nói cách khác từ khóa ti mang nhiều thông tin trong văn bản dj.

Ví dụ, khi văn bản xuất hiện nhiều từ khóa máy tính, điều đó có nghĩa là văn bản đang xét chủ yếu liên quan đến lĩnh vực tin học.

Nhưng suy luận trên không phải lúc nào cũng đúng. Một ví dụ điển hình là từ “và” xuất hiện nhiều trong hầu hết các văn bản, nhưng trên thực tế từ này lại không mang nhiều ý nghĩa như tần suất xuất hiện của nó. Hoặc có những từ không xuất hiện trong văn bản này nhưng lại xuất hiện trong văn bản khác, khi đó ta sẽ không tính được giá trị của log(fij). Một phương pháp khác ra đời khắc phục được nhược điểm của phương pháp TF, đó là phương pháp IDF.

b. Phương pháp dựa trên nghịch đảo tần số văn bản (IDF – Inverse Document Frequency)

Trong phương pháp này, giá trị wij được tính theo công thức sau:

⎪⎩

⎪⎨

⎧ −==

l¹i ng−îc nÕu

liÖu tµi trong xuÊt hiÖn khãa tõ nÕu

0

dt)hlog()mlog(hmlog

w jiiiij

trong đó m là số lượng văn bản và hi là số lượng văn bản mà từ khóa ti xuất hiện.

Trọng số wij trong công thức này được tính dựa trên độ quan trọng của từ khóa ti trong văn bản dj. Nếu ti xuất hiện trong càng ít văn bản, điều đó có nghĩa là khi nó xuất hiện trong dj thì trọng số của nó đối với văn bản dj càng lớn hay nó là điểm quan trọng để phân biệt văn bản dj với các văn bản khác và hàm lượng thông tin trong nó càng lớn.

c. Phương pháp TF × IDF

Phương pháp này là tổng hợp của hai phương pháp TF và IDF, giá trị của ma trận trọng số được tính như sau:

Page 23: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

19

⎪⎩

⎪⎨

⎧≥⎟⎟

⎞⎜⎜⎝

⎛+

=

l¹i ng−îc nÕu

f nÕu1

0

1hmlog)]flog([

w iji

ijij

Đây là phương pháp kết hợp được ưu điểm của cả hai phương pháp trên. Trọng số wij được tính bằng tần số xuất hiện của từ khóa ti trong văn bản dj và độ hiếm của từ khóa ti trong toàn bộ cơ sở dữ liệu.

Cách tìm kiếm:

Các câu hỏi đưa vào sẽ được ánh xạ vector Q(q1,q2,…,qm) theo hệ số của các từ vựng trong nó là khác nhau. Tức là: Khi từ vựng càng có ý nghĩa với nội dung cần tìm thì nó có hệ số càng lớn.

qi = 0 khi từ vựng đó không thuộc danh sách những từ cần tìm.

qi <> 0 khi từ vựng đó thuộc danh sách các từ cần tìm.

Khi đó, cho một hệ thống các từ vựng ta sẽ xác định được các vector tương ứng với từng tài liệu và ứng với mỗi câu hỏi đưa vào ta sẽ có một vector tương với nó cùng những hệ số đã được xác định từ trước. Việc tìm kiếm và quản lý sẽ được thực hiện trên tài liệu này.

Một số ưu, nhược điểm của phương pháp biểu diễn này:

Ưu điểm:

Các tài liệu trả lại có thể được sắp xếp theo mức độ liên quan đến nội dung yêu cầu do trong phép thử mỗi tài liệu đều trả lại chỉ số đánh giá độ liên quan của nó đến nội dung.

Việc đưa ra các câu hỏi tìm kiếm là dễ dàng và không yêu cầu người tìm kiếm có trình độ chuyên môn cao về vấn đề đó.

Tiến hành lưu trữ và tìm kiếm đơn giản hơn phương pháp Logic.

Nhược điểm

Page 24: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

20

Việc tìm kiếm tiến hành chậm khi hệ thống các từ vựng là lớn do phải tính toán trên toàn bộ các vector của tài liệu.

Khi biểu diễn các vector với các hệ số là số tự nhiên sẽ làm tăng mức độ chính xác của việc tìm kiếm nhưng làm tốc độ tính toán giảm đi rẩt nhiều do các phép nhân vector phải tiến hành trên các số tự nhiên hoặc số thực, hơn nữa việc lưu trữ các vector sẽ tốn kém và phức tạp.

Hệ thống không linh hoạt khi lưu trữ các từ khóa. Chỉ cần một thay đổi rất nhỏ trong bảng từ vựng sẽ kéo theo hoặc là vector hoá lại toàn bộ các tài liệu lưu trữ, hoặc là sẽ bỏ qua các từ có nghĩa bổ sung trong các tài liệu được mã hóa trước đó.

Một nhược điểm nữa, chiều của mỗi Vector theo cách biểu diễn này là rất lớn, bởi vì chiều của nó được xác định bằng số lượng các từ khác nhau trong tập hợp văn bản. Ví dụ số lượng các từ có thể có từ 103 đến 105 trong tập hợp các văn bản nhỏ, còn trong tập hợp các văn bản lớn thì số lượng sẽ nhiều hơn, đặc biệt trong môi trường Web.

2.5. Biểu diễn văn bản trong máy tìm kiếm

2.5.1. Giới thiệu về máy tìm kiếm

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. 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. Đối với mỗi người dùng chỉ một phần rất nhỏ thông tin là có ích, chẳng hạn có người chỉ quan tâm đến trang Thể thao, Văn hóa mà không mấy khi quan tâm đến Kinh tế. 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. 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áy tìm kiếm là các hệ thống được xây dựng có khả năng tiếp nhận các yêu cầu tìm kiếm của người dùng (thường là một tập các từ khóa), sau đó phân tích và tìm kiếm trong cơ sở dữ liệu đã có sẵn và đưa ra các kết quả là các trang web cho người sử dụng. Cụ thể, người dùng gửi một truy vấn, dạng đơn giản nhất là một danh sách các từ khóa, và máy tìm kiếm sẽ làm việc để trả lại một danh sách các trang Web có liên quan hoặc có chứa các từ khóa đó. Phức tạp hơn, thì truy vấn là cả một văn bản hoặc một đoạn văn bản hoặc nội dung tóm tắt của văn bản.

Page 25: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

21

2.5.2. Mô hình biểu diễn văn bản trong máy tìm kiếm

Như đã được giới thiệu, mô hình vector là mô hình biểu diễn phổ biến nhất trong các CSDL văn bản. Tuy nhiên, còn có một các biểu diễn khác cũng thường được sử dụng, đặc biệt trong các máy tìm kiếm, đó biểu diễn theo mô hình index ngược (inverted index). Với một từ khoá trong câu hỏi của người dùng, thông qua mô hình index ngược hệ thống cơ sở dữ liệu văn bản sẽ nhanh chóng xác định được tập hợp các văn bản chứa từ khóa đó và các vị trí xuất hiện của từ khóa đó trong các văn bản kết quả.

Ở dạng đơn giản nhất, mô hình index ngược có dạng như được mô tả như hình sau:

Hình 4. Mô hình index ngược

Trong mô hình này, tồn tại tập hợp V (được gọi là từ điển) gồm tất cả các từ khóa trong hệ thống; các từ khóa trong V được lưu trữ theo danh sách Inverted Index. Mỗi một từ khóa vi trong V liên kết với một con trỏ b(vi) chỉ dẫn tới một cấu trúc dữ liệu, được gọi là brucket, là một danh sách chứa tất cả các bản ghi mô tả văn bản chứa từ khóa vi và vị trí xuất hiện của từ khóa vi trong văn bản đó (hình 2). Tồn tại một số giải pháp tổ chức từ điển V hiệu quả nhằm cho phép lưu trữ V ở bộ nhớ trong, chẳng hạn V thường được tổ chức theo dạng bảng băm để tăng hiệu quả truy cập. Nếu như brucket được lưu ngay trong bộ nhớ trong thì việc thay đổi chỉnh sửa các brucket được thực hiện rất dễ dàng.

Page 26: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

22

Tuy nhiên, điều này là không khả thi do kích thước của chúng thường khá lớn so với kích thước bộ nhớ trong. Vì vậy, các brucket (cũng như nội dung các văn bản) được lưu trong đĩa cứng. Để các cơ sở dữ liệu văn bản có khả năng quản lý được một lượng lớn các trang văn bản thì cần có các thuật toán chuyên biệt nhằm đảm bảo việc thao tác tới các brucket trên đĩa cứng được nhanh chóng.

CSDL văn bản sử dụng mô hình index ngược cho khả năng tìm ra các trang văn bản có chứa từ khóa vi cho trước là khá đơn giản. Đầu tiên, hệ thống truy cập vào “inverted index” để lấy b(vi) và sau đó duyệt danh sách theo các con trỏ của b(vi) để lấy được các trang văn bản. Trường hợp câu truy vấn có dạng một biểu thức phức tạp có nhiều từ khóa được kết nối với nhau theo các phép toán lôgic như AND, OR, NOT thì công việc tìm kiếm phức tạp hơn. Với câu truy vấn có k từ khóa, thuật toán thực hiện việc lấy các trang văn bản tương ứng với mỗi từ khóa (dựa trên thuật toán tìm kiếm theo từ khóa nói trên) và nhận được k danh sách trang văn bản. Kết quả trả lời câu truy vấn nhận được bằng cách kết hợp k danh sách này tương ứng với biểu thức lôgic đã cho.

Trong mọi trường hợp, sử dụng biểu diễn index ngược thì tìm kiếm văn bản đáp ứng câu hỏi thông qua từ khoá sẽ có tốc độ rất nhanh.

Page 27: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

23

Chương 3. BIỂU DIỄN VĂN BẢN SỬ DỤNG CÁC KHÁI NIỆM MỜ

Trong chương này chúng tôi sẽ trình bày một số khái niệm cơ bản về tập mờ, tiến hành định nghĩa các khái niệm mờ và một số tính chất của các khái niệm mờ thông qua việc tích hợp các từ khóa và mối quan hệ giữa chúng với nhau. Từ đó, sẽ giới thiệu phương pháp biểu diễn văn bản theo khái niệm mờ.

3.1. Lý thuyết mờ

Có thể nói cho đến nay, phần lớn các thành tựu của khoa học của loài người đều dựa trên lập luận logic rất chặt chẽ mà nền tảng của các lập luận này là đại số logic Bool. Trong đại số logic Bool mọi toán hạng, biểu thức chỉ có giá trị 0 (false) hoặc 1 (true). Tuy nhiên trên thực tế điều này không luôn luôn đúng, nhiều hiện tượng trong tự nhiên và xã hội không thể biểu diễn rõ ràng như vậy. Để có thể phản ánh đúng bản chất của các sự vật, hiện tượng diễn ra trong thực tế, buộc người ta phải mở rộng đại số Bool để sao cho các toán hạng, các biểu thức có thể nhận giá trị không chỉ là 0 hoặc 1 mà chúng có thể nhận giá trị nào đó nằm giữa 0 và 1.

Một cách tự nhiên để xây dựng lí thuyết mờ, người ta phải đi từ những khái niệm nguyên thuỷ nhất. Giống như trong toán học, một trong những khái niệm nguyên thuỷ của toán học là tập hợp, trong lí thuyết mờ người ta đi từ xây dựng tập mờ.

3.1.1. Tập mờ

Trong toán học truyền thống khái niệm tập hợp được phát biểu như sau:

Cho tập hợp X và A ⊆ X khi đó ta có thể xây dựng một hàm, được gọi là hàm đặc trưng, xác định các phần tử của tập X như sau:

Xét µ : X → {0,1 } với x ∈ X thì:

µ (x) = 1 nếu x ∈ A;

µ (x) = 0 nếu x ∉ A;

Hàm đặc trưng µ(x) rõ ràng là hàm xác định các phần tử của tập A. Nhờ hàm µ(x) ta có thể nói tập A là tập gồm những phần tử x mà µ (x)=1. Bây giờ tập A có thể biểu diễn một cách khác qua các phần tử của tập X:

Page 28: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

24

A={(x, µ(x)=1)| x ∈ X}

Mở rộng khái niệm tập hợp của toán học học cổ điển nêu trên, Lofti Zadeh xét hàm µ trên toàn đoạn [0,1].

Định nghĩa 3.1: Tập mờ

Cho X là một tập hợp. A được gọi là một tập mờ trong X nếu: A = {(x, µA(x))| x∈X} trong đó µA(x) là hàm xác định trên đoạn [0,1], µA: X → [0,1]. Hàm µA được gọi là hàm thuộc của A còn µA(x) là một giá trị trong đoạn [0,1] được gọi là mức độ thuộc của x trong A.

Biểu diễn tập mờ

Khi X là tập các điểm rời rạc x1, x2, …xn thì tập mờ A có thể biểu diễn bằng cách liệt kê A = {(x1, µ A(x1)), (x2, µ A(x2)),...... (xn , µ A(xn))}

Hoặc được ký hiệu là:

A = µ A(x1)/ x1 + µ A(x2)/ x2 + … + µ A(xn)/ xn

Trường hợp X liên tục thì A được kí hiệu là:

A = ∫ ∈ µXx A x/)x(

Ví dụ:

Cho X là tập các điểm tổng kết trung bình các môn học của sinh viên. Qua thống kê người ta thấy rằng :

0% số người coi một sinh viên là giỏi khi điểm tổng kết đạt dưới 7.0

5% số người coi một sinh viên là giỏi khi điểm tổng kết đạt điểm từ 7.0 đến 7.5

10% số người coi một sinh viên là giỏi khi điểm tổng kết đạt đến 8.0;

20% số người coi một sinh viên là giỏi khi điểm tổng kết đạt đến 8.5;

80% số người coi một sinh viên là giỏi chỉ khi điểm tổng kết đạt từ 9 đến 9,5 .

100% số người coi một sinh viên là giỏi khi điểm tổng kết đạt đến điểm 10

Bây giờ cần biểu diễn tập các điểm trên X, được ký hiệu là tập A, để mô tả một "sinh viên giỏi". Với kết quả thống kê như trên, không thể dùng khái niệm tập hợp theo

Page 29: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

25

quan niệm truyền thống để biểu diễn tập A. Trong trường hợp này, khái niệm tập mờ là rất hữu dụng và A chính là một tập mờ. Nếu xét X chỉ gồm các đại lượng hữu hạn, X = {7, 7.5, 8.0, 8.5, 9.0, 9.5, 10.0}, thì tập mờ A được biểu diễn như sau:

A={ (7, 0.05),(7.5,0.05),(8.0,0.1), (8.5, 0.2), (9.0,0.8) (9.5,0.8),(10,1.0 ) }

Hoặc:

A= 0.05/7 + 0.05/7.5 + 0,0.1/8 + 0.2/8.5 + 0,0.8/9 + 0.8/9.5 + 1.0/10

Nếu xét X là một khoảng liên tục X = [7.0, 10] thì ta có thể biểu diễn đồ thị hàm thuộc của A như sau:

Hình 5: Đồ thị hàm phụ thuộc tập mờ A

3.1.2. Các phép toán trên tập mờ

Giao của hai tập mờ.

Cho X là tập hợp, A, B là hai tập mờ trong X và có các hàm thuộc lần luợt là µA, µB. Giao của hai tập mờ A và B, ký hiệu A∩B, là một tập mờ có hàm thuộc µA∩B xác định như sau:

µA∩B(x) = min(µA(x), µB(x)) ∀x∈X

Hợp của hai tập mờ.

Cho X là tập hợp, A, B là hai tập mờ trong X và có các hàm thuộc lần luợt là µA, µB. Hợp của hai tập mờ A và B trong X, ký hiệu A∪B, là một tập mờ có hàm thuộc µA∪B xác định như sau:

µA∪B(x) ) = max(µA(x), µB(x)) ∀x∈X

Page 30: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

26

Tích đại số của hai tập mờ.

Cho X là tập hợp, A, B là hai tập mờ trong X và có các hàm thuộc lần lượt là µA(x), µB(x). Tích đại số của hai tập mờ A và B trong X, ký hiệu A.B là một tập mờ có hàm thuộc được xác định như sau:

µA.B(x) = µA(x).µB(x) ∀x∈X

Tổng đại số của hai tập mờ.

Cho X là tập hợp, A, B là hai tập mờ trong X và có các hàm thuộc lần lượt là µA, µB. Tổng đại số của hai tập mờ A và B trong X, ký hiệu A+B là một tập mờ có hàm thuộc được xác định như sau:

µA+B(x) = µA(x) + µB(x) - µA(x).µB(x) ∀x∈X.

Phần bù của một tập mờ.

Cho A là tập mờ trong X có hàm thuộc µA. Phần bù A của A trong X là một tập mờ có hàm thuộc xác định như sau:

)x(A

µ = 1 - µA(x) ∀x∈X.

Tổng rời của hai tập mờ.

Cho X là tập hợp, A và B là hai tập mờ trong X. Tổng rời của hai tập mờ A và B trong X, ký hiệu A⊕B định nghĩa như sau:

A⊕B = ( A∩B) ∪ (A∩B )

Phép trừ hai tập mờ.

Cho X là tập hợp, A, B là hai tập mờ trong X và có các hàm thuộc lần lượt là µA, µB. Phép trừ của hai tập mờ A và B trong X ký hiệu A\B được định nghĩa như sau:

A\B = A∩B .

Cho X là tập hợp, A và B là hai tập mờ trong X, có các hàm thuộc lần lượt là µA, µB. A gọi là nằm trong B, ký hiệu A⊂B nếu hàm thuộc thỏa mãn:

µA(x) ≤ µB(x) ∀x∈X.

Page 31: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

27

Cho X là tập hợp, A và B là hai tập mờ trong X, có các hàm thuộc lần lượt là µA, µB . A gọi là bằng B, ký hiệu A=B nếu và chỉ nếu:

µA(x) = µB(x) ∀x∈X

Tập hợp mức α của tập mờ.

Cho α ∈[0,1], X là tập hợp, A là một tập mờ trong X có hàm thuộc µA. Tập hợp Aα thoả mãn Aα={x∈X | µA(x) ≥ α} gọi là tập hợp mức α của tập mờ A.

Khoảng cách Euclid trên tập mờ

X là tập hợp có hữu hạn n phần tử, A và B là hai tập mờ trên X. Khoảng cách Euclid (trong không gian n chiều) trên tập mờ được tính như sau:

e(A,B) = ∑=

µ−µn

1i

2iBiA ))x()x((

Khoảng cách e2(A,B) được gọi là một chuẩn Euclid.

3.1.3. Quan hệ mờ

Định nghĩa 3.2: Quan hệ mờ trên tích Đề-các

Cho X,Y là hai tập và x∈X, y∈Y. Ký hiệu (x,y) là cặp thứ tự nằm trong tích Đề-các XxY. Tập mờ R = {(x,y), µR(x,y)|(x,y) ∈ XxY} được gọi là một quan hệ mờ trên X×Y với hàm thuộc: µR(x,y): X×Y → [0,1]

Nếu R là một tập mờ trong X = X1×X2×….×Xn thì R được gọi là một quan hệ mờ n ngôi.

Định nghĩa 3.3: Quan hệ mờ trên tập mờ

Cho X,Y là hai tập mờ và x∈X, y∈Y. Ký hiệu (x,y) là cặp thứ tự nằm trong tích Đề-các X×Y. R = {(x,y), µR(x,y)|(x,y) ∈ X×Y} được gọi là một quan hệ mờ trên tập mờ A, B nếu: µR(x,y) ≤µA(x,y), ∀X×Y và µR(x,y) ≤µB(x,y) ∀X×Y

3.1.4. Các phép toán trên quan hệ mờ

Ngoài một số phép toán giống như trên tập mờ trong tích Đề-các: Phép hợp, giao, tổng đại số, tích đại số…, người ta còn đưa ra thêm một số phép toán khác trong quan hệ mờ như sau:

Page 32: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

28

Phép hợp thành max-min

Giả sử R1 là quan hệ mờ trong X×Y, R2 là quan hệ mờ trong Y×Z. Phép hợp thành max-min của hai quan hệ mờ R1, R2 (kí hiệu R1 o R2) là một quan hệ mờ trong X×Z thoả mãn:

µ R1oR2(x,z) = maxy(min(µR1(x,y), µR2(y,z))) ∀x∈X, ∀y∈Y, ∀z∈Z

Phép hợp thành max-tích

Giả sử R1 là quan hệ mờ trong X×Y, R2 là quan hệ mờ trong Y×Z. Phép hợp thành max-tích của hai quan hệ mờ R1, R2 (kí hiệu R1.R2) là một quan hệ mờ trong X×Z thoả mãn:

µ R1.R2(x,z) = maxy(µR1(x,y). µR2(y,z)) ∀x∈X, ∀y∈Y, ∀z∈Z

Phép hợp thành max-trung bình

Giả sử R1 là quan hệ mờ trong X×Y, R2 là quan hệ mờ trong Y×Z. Phép hợp thành max-trung bình của hai quan hệ mờ R1, R2 (R1avR2) là quan hệ mờ trong X×Z thoả mãn:

µ R1avR2(x,z) = maxy((µR1(x,y)+µR2(y,z))/2) ∀x∈X, ∀y∈Y, ∀z∈Z

Phép hợp thành max-*.(max-* composition) (* là toán tử hai ngôi bất kỳ)

Giả sử R1 là quan hệ mờ trong X×Y, R2 là quan hệ mờ trong Y×Z. Phép hợp thành max-* của hai quan hệ mờ R1, R2 (R1* R2) là một quan hệ mờ trong X×Z thoả mãn:

µR1*R2(x,z) = max(µR1(x,y)*µR2(y,z)) ∀x∈X, ∀y∈Y, ∀z∈Z

Hàm tích hợp mờ

Khi có một tập các tập mờ và tích hợp các hàm thuộc của chúng lại, ta sẽ thu được một tập mờ là một hàm tích hợp mờ.

Page 33: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

29

Một hàm tích hợp mờ được định nghĩa là một toán tử n ngôi như sau:

F: [0,1]n → [0,1] thỏa mãn điều kiện:

Nếu 0, 1 là hai điểm cực trị thì: F(0,…,0) = 0 và F(1,…,1)=1 và ∀a trong [0,1] thì: F(a,…,a)=a

Nếu ai’ > ai thì: F(a1,…,ai

’,…,an) ≥ F(a1,…,ai,…,an) (tính đơn điệu tăng của hàm tích hợp mờ)

Một số hàm tích hợp mờ:

1. Hàm trung bình tổng quát:

2. Hàm trung bình số học:

3. Hàm trung bình hình học:

4. Hàm min:

5. Hàm max:

3.2. Biểu diễn văn bản sử dụng các khái niệm mờ

Cách biểu diễn văn bản thông thường là sử dụng mô hình không gian vector, trong đó văn bản được biểu diễn bằng một vector và mỗi thành phần của vector là một từ khóa. Ở chương II, khóa luận đã nêu ra một số nhược điểm của phương pháp này: gây tốn kém, phức tạp trong việc lưu trữ, chiều của mỗi vector là rất lớn khi văn bản có nhiều từ khóa … Trong phần này, chúng tôi xin trình bày một phương pháp biểu diễn văn bản mà phần nào khắc phục được nhược điểm nêu trên, đó là phương pháp biểu diễn văn bản sử dụng các khái niệm mờ.

0pR,p,)(xn

1)x,...,F(x p

n

1i

p1n1 ≠∈= ∑

=

)0( →= pn

1

n21n1 )...x.x(x)x,...,F(x

)(min −∞→= p)x,...,x,(x)x,...,F(x n21n1

)(max +∞→= p)x,...,x,(x)x,...,F(x n21n1

∑=

==n

1i1n1 )(x

n

1)x,...,F(x )1( p

Page 34: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

30

3.2.1. Khái niệm mờ

Có một tập gồm m văn bản: D=(d1, d2, …dm).

Khí đó xác định được một tập p từ khóa: K = (k1, k2, … kp)

Một khái niệm có thể là một từ khóa theo nghĩa thông thường, trong đó gồm các từ có liên quan đến từ khóa đó. Ví dụ với khái niệm là “bệnh viện”, nó có thể bao gồm 1 số từ khóa: “bác sĩ”, “y tá”, “bệnh nhân”, “ống nghe”, “thuốc”

Gọi C là tập gồm có n khái niệm liên quan đến văn bản, C được kí hiệu như sau:

C = {c1, c2, …cn}

Trong đó: ci là khái niệm do người dùng xác định. Giả sử một khái niệm ci sẽ bao gồm các từ khóa có liên quan, ci = {k1, k2, …kp}, trong đó ki là các từ khóa trong tập từ điển và có liên quan đến khái niệm ci. Trong ví dụ trên chúng ta có “bệnh viện” = {“bác sĩ”, “y tá”, “bệnh nhân”, “ống nghe”, “thuốc”}.

Định nghĩa 3.3: Khái niệm mờ

Một tập mờ tương ứng với khái niệm trong đó hàm thuộc của nó được xác định bằng độ quan trọng của các từ khóa có liên quan tới khái niệm đó được gọi là một khái niệm mờ, kí hiệu c* . Ta có thể biểu diễn khái niệm mờ qua tập từ khóa như sau:

))}k(,k)),...(k(,k()),k(,k{(c pcp2c21c1* µµµ=

Trong đó:

Từ khái niệm mờ, ta có định nghĩa sau:

Định nghĩa 3.4: Hàm tích hợp khái niệm mờ:

Một hàm tích hợp khái niệm mờ là hàm tích hợp các hàm thuộc của các khái niệm mờ. Hàm tích hợp này được kí hiệu F: [0,1]p → [0,1], thỏa mãn các tính chất của hàm tích hợp mờ:

⎪⎪⎪

⎪⎪⎪

=c niÖm kh¸ithuéc i k nÕu)i(kc

c vµotoµn hoµnthuéc i k nÕu1

c thuéc kh«ng i k nÕu0

)i

(kc

µµ

Page 35: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

31

1.

2.

Trong đó, µc(ki) biểu diễn mức độ quan trọng của các từ khóa trong văn bản.

Ví dụ:

Giả sử ta có tập từ khóa: ‘bệnh viện’, ‘trường học’, ‘thuốc’, ‘xe máy’, ‘y tá’, ‘bệnh nhân’, ‘ống nghe’, ‘sinh viên’, ‘hoa hồng’, ‘điện thoại’, ‘bác sỹ’.

K = {‘bệnh viện’, ‘bác sỹ’, ‘trường học’, ‘thuốc’, ‘xe máy’, ‘y tá’, ‘bệnh nhân’, ‘ống nghe’, ‘sinh viên’, ‘hoa hồng’, ‘điện thoại’, ‘bác sỹ’} với độ liên quan đến văn bản được xác định bằng một hàm đánh chỉ số tương ứng:

µK = {µ(‘bệnh viện’), µ(‘bác sỹ’), µ(‘trường học’), µ(‘thuốc’), µ(‘xe máy’), µ(‘y tá’), µ(‘bệnh nhân’), µ(‘ống nghe’), µ(‘sinh viên’), µ(‘hoa hồng’), µ(‘điện thoại’), µ(‘bác sỹ’)}

= {0.8, 0.7, 0.1, 0.4, 0.0, 0.3, 0.6, 0.3, 0.0, 0.1, 0.0, 0.2}

Ta tìm được một cụm từ khóa có liên quan đến nhau trong trong văn bản: {‘bệnh viện’, ‘bác sỹ’, ‘thuốc’, ‘bệnh nhân’, ‘ống nghe’}

Chọn từ khóa ‘bệnh viên’ làm khái niệm, thì khái niệm mờ c* = ‘bệnh viện’ được biểu diễn như sau:

‘bệnh viện’ = {(‘bác sỹ’, 0.7), (‘thuốc’, 0.4), (‘bệnh nhân’, 0.6), (‘ống nghe’, 0.3)}

Khi đó, độ quan trọng trong văn bản của ‘bệnh viện’ được xác định bởi hàm tích hợp khái niệm mờ:

µ(‘bệnh viện’) = F(µ (‘bác sỹ’), µ(‘thuốc’), µ(‘bệnh nhân’), µ(‘ống nghe’))

Nếu hàm tích hợp là hàm MAX thì:

µ(‘bệnh viện’) = MAX(0.7, 0.4, 0.6, 0.3) = 0.6

Nếu hàm tích hợp là hàm trung bình thì:

µ(‘bệnh viện’) = AVEG(0.7, 0.4, 0.6, 0.3) = 0.55

p1,...,i ),(k)(k víi

))(k),...,(k),...,(kF())(k),...,(k),...,(kF(

ic'ic

pcic1cpc'ic1c

=>

µµ

µµµµµµ

[0,1]))(k),...,(kF( pc1c ∈µµ

Page 36: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

32

3.2.2. Biểu diễn văn bản

Với cách định nghĩa khái niệm mờ như trên, ta có thể biểu diễn văn bản bằng cách xem nó như một vector có các thành phần là các khái niệm mờ thay vì một vector với các thành phần là các từ khóa.

Khi đó, một văn bản d sẽ được biểu diễn dưới dạng sau:

d = µ(c1*)/ c1

* + µ(c2

*)/c2* + … + µ(cn

*)/(cn*)

Trong đó µ(ci*) là là mức độ quan trọng của khái niệm mờ c*i của văn bản. µ(ci

*) được xác định bằng hàm tích hợp mờ của tập các từ khóa liên quan đến khái niệm ci

*.

Chú ý rằng trong phương pháp biểu diễn này, một từ khóa cũng có thể coi như là một khái niệm mờ khi đồng nhất từ khóa với khái niệm mờ.

Nếu trong các khái niệm, khái niệm nào có các từ khóa liên quan đến văn bản lớn hơn thì trọng số của nó sẽ lớn hơn, và như vậy ngữ nghĩa của nó cũng sẽ rõ ràng hơn.

Một vấn đề đặt ra là tìm tập các từ khóa biểu diễn cho một khái niệm mờ, các từ khóa này phải liên quan đến nhau và có nghĩa tương tự nhau. Việc phát triển một thuật toán như vậy hiện nay còn là một vấn đề. Thông thường có hai cách chính như sau:

1. Xác định tập các khái niệm bằng tri thức con người: Người dùng tự xác định các từ khóa có liên quan theo cảm nhận của mỗi người, hoặc chọn các từ khóa đại diện cho văn bản đó. Việc này tuy đưa lại kết quả chính xác khá cao (Đã được thực hiện trong các hệ lớn như Yahoo!) tuy nhiên rất mất nhiều thời gian và công sức.

2. Phát triển các thuật toán tự động: Sử dụng các kỹ thuật của ngành xử lý ngôn ngữ tự nhiên để xác định các từ khóa có liên quan với nhau. Các thuật toán như vậy hiện cũng đang là một chủ đề nóng trong các bài toán xử lý ngôn ngữ tự nhiên.

Mục đích trong nghiên cứu này là chúng tôi muốn thử nghiệm việc biểu diễn xử dụng các khái niệm mờ trong bài toán phân lớp văn bản. Các khái niệm mờ được xác định trước dựa trên tập chủ đề đã được xác định trước. Chi tiết các khái niệm mờ áp dụng được mô tả trong phần thực nghiệm.

Page 37: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

33

3.2.3. Đề xuất giải pháp cho vấn đề đồng nghĩa

Trong văn bản, thường xuất hiện một số từ đồng nghĩa (hoặc có nghĩa gần nhau). Sự xuất hiện này sẽ làm cho việc biểu diễn văn bản khó khăn hơn vì không giảm được số chiều của vector biểu diễn.

Khóa luận này xin đề xuất một phương pháp tìm ra và xử lý các từ đồng nghĩa trong văn bản như sau:

Tìm ra từ đồng nghĩa

Chúng tôi sử dụng sự hỗ trợ của từ điển Wordnet. Wordnet là Từ điển ngôn ngữ học cho tiếng Anh, được giới thiệu vào năm 1985 tại phòng thí nghiệm khoa học của trường đại học Princeton.

Wordnet sẽ cung cấp:

Nhóm các từ tiếng Anh thành một tập những từ đồng nghĩa gọi là synsets

Cung cấp những định nghĩa ngắn, tổng quát và ghi lại nhiều quan hệ ngữ nghĩa học giữa những tập từ đồng nghĩa này.

Phân biệt động từ, danh từ, tính từ bởi chúng đi theo những quy tắc văn phạm khác nhau.

Mục đích: Tạo ra sự kết hợp giữa từ điển và danh sách các từ đồng nghĩa, hỗ trợ việc phân tích văn bản và ứng dụng trong AI.

Ví dụ:

Computer: a machine for performing calculations automatically. syn: data processor, electronic computer, information processing system.

Từ một từ khóa trong tập các từ khóa, kết hợp với từ điển wordnet, ta tìm ra những từ đồng nghĩa với từ khóa đó. Tìm giao của 2 tập: Tập từ khóa và tập từ đồng nghĩa, chúng ta sẽ tìm ra được một nhóm các từ đồng nghĩa trong tập từ khóa đã có.

Xử lý từ đồng nghĩa: Với tập từ đồng nghĩa xuất hiện trong văn bản mà ta vừa tìm được, bằng cách sử

Page 38: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

34

dụng hàm tích hợp mờ, ta tích hợp chúng lại trong một khái niệm chung. Việc xử lý văn bản thay vì việc tính toán trên các từ khóa, sẽ tính toán trên một khái niệm này. Làm như vậy, ta sẽ giảm bớt được số chiều của vector biểu diễn, giảm sự phức tạp trong tính toán và tránh gây nên sự khó hiểu cho người sử dụng khi bắt gặp các từ đồng nghĩa trong văn bản.

Page 39: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

35

Chương 4. CÁC PHƯƠNG PHÁP PHÂN LỚP VĂN BẢN

Trong chương này, chúng tôi trình bày về bài toán phân lớp văn bản và các thuật toán áp dụng vào bài toán đó.

4.1. Tổng quan về bài toán phân lớp

Phân lớp văn bản tự động là một lĩnh vực được chú ý nhất trong những năm gần đây. Để phân lớp người ta sử dụng nhiều cách tiếp cận khác nhau như dựa trên từ khóa, dựa trên ngữ nghĩa các từ có tần số xuất hiện cao, mô hình Maximum Entropy, tập thô, tập mờ … Một số lượng lớn các phương pháp phân lớp đã được áp dụng thành công trên ngôn ngữ này : mô hình hồi quy , phân lớp dựa trên láng giềng gần nhất (k-nearest neighbors), phương pháp dựa trên xác suất Naïve Bayes, cây quyết định, học luật quy nạp, mạng nơron (neural network), học trực tuyến, và máy vector hỗ trợ (SVM-support vector machine)

Bài toán: Cho một tập hợp các văn bản đã được người dùng phân lớp bằng tay vào một số chủ đề có sẵn. Khi đưa vào một văn bản mới, yêu cầu hệ thống chỉ ra tên chủ đề phù hợp nhất với văn bản đó.

Theo cách truyền thống, việc phân lớp văn bản có thể thực hiện một cách thủ công, tức là đọc từng văn bản một và gán nó vào nhóm phù hợp. Cách thức này sẽ tốn nhiều thời gian và chi phí nếu như số lượng văn bản lớn. Do vậy, cần phải xây dựng các công cụ phân lớp văn bản một cách tự động.

Để xây dựng công cụ phận loại văn bản tự động người ta thường dùng các thuật toán học máy (machine learning). Tuy nhiên, còn có các thuật toán đặc biệt hơn dùng cho phân lớp trong các lĩnh vực đặc thù. Một ví dụ điển hình là bài toán phân lớp công văn giấy tờ. Hệ thống sẽ tìm ra đặc thù của văn bản một cách tương đối máy móc, cụ thể là khi tìm thấy ở lề trên bên trái có ký hiệu “NĐ” thì hệ thống sẽ phân văn bản đó vào nhóm “Nghị định”, tương tự như vậy với các ký hiệu “CV”, “QĐ” thì hệ thống sẽ phân văn bản này vào nhóm “Công văn”, và “Quyết định”. Thuật toán này tương đối hiệu quả song lại chỉ phù hợp cho các nhóm dữ liệu tương đối đặc thù. Khi phải làm việc với các

Page 40: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

36

văn bản ít đặc thù hơn thì cần phải xây dựng các thuật toán phân lớp dựa trên nội dung của văn bản và so sánh độ phù hợp của chúng với các văn bản đã được phân lớp bởi con người. Đây là tư tưởng chính của thuật toán học máy. Trong mô hình này, các văn bản đã được phân lớp sẵn và hệ thống của chúng ta phải tìm cách để tách ra đặc thù của các văn bản thuộc mỗi nhóm riêng biệt. Tập văn bản mẫu dùng để huấn luyện gọi là tập huấn luyện (train set) hay tập mẫu (pattern set), quá trình phân lớp văn bản bằng tay gọi là quá trình huấn luyện (training), còn quá trình máy tự tìm đặc thù của các nhóm gọi là quá trình học (learning). Sau khi máy đã học xong, người dùng sẽ đưa các văn bản mới vào và nhiệm vụ của máy là tìm ra xem văn bản đó phù hợp nhất với nhóm nào mà con người đã huấn luyện nó.

Trong phân lớp văn bản, sự phụ thuộc của một văn bản vào một nhóm có thể là các giá trị rời rạc đúng và sai (true hoặc false), để hiểu rằng văn bản đó thuộc hay không thuộc một nhóm nào đó) hoặc các giá trị liên tục (một số thực, chỉ ra độ phù hợp của văn bản với một nhóm nào đó). Khi câu trả lời đưa ra bắt buộc phải là đúng hoặc sai thì giá trị liên tục có thể được rời rạc hóa bằng cách đặt ngưỡng. Ngưỡng đặt ra tùy thuộc vào thuật toán và yêu cầu người dùng.

4.2. Các thuật toán phân lớp

Có rất nhiều thuật toán khác nhau để giải quyết bài toán phân lớp văn bản, trong chương này chúng tôi xin trình bày một số thuật toán sau:

4.2.1. Phân lớp dựa trên thuật toán Naive Bayes

Naive Bayes là một trong những phương pháp phân lớp dựa vào xác suất điển hình nhất trong khai thác dữ liệu và tri thức

Cách tiếp cận này sử dụng xác suất có điều kiện giữa từ và chủ đề để dự đoán xác suất chủ đề của một văn bản cần phân lớp. Đồng thời, giả định rằng sự xuất hiện của tất cả các từ trong văn bản đều độc lập với nhau. Như thế, nó sẽ không sử dụng việc kết hợp các từ để đưa ra phán đoán chủ đề như một số phương pháp khác, điều này sẽ làm cho việc tính toán Naive Bayes hiệu quả và nhanh chóng hơn.

Công thức

Page 41: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

37

Mục đích chính là tính được xác suất Pr(Cj, d′) , xác suất để văn bản d′ nằm trong lớp Cj . Theo Bayes, văn bản d′ sẽ được gán vào lớp Cj nào có xác suất Pr(Cj, d)′ cao nhất. Công thức sau dùng để tính Pr(Cj, d′):

Trong đó:

- TF(wi,,d′) là số lần xuất hiện của từ wi trong văn bản d′

- |d′| là số lượng các từ trong văn bản d′

- wi là một từ trong không gian đặc trưng F với số chiều là |F|

- Pr(Cj): là tỷ lệ phần trăm của số văn bản mỗi lớp tương ứng trong tập dữ liệu luyện:

Pr(wi|Cj) sử dụng phép ước lượng Laplace:

Naive Bayes là một phương pháp rất hiệu quả trong một số trường hợp. Nếu tập dữ liệu huấn luyện nghèo nàn và các tham số dự đoán (như không gian đặc trưng) có chất lượng kém thì sẽ dẫn đến kết quả tồi. Tuy nhiên, nó được đánh giá là một thuật toán phân lớp tuyến tính thích hợp trong phân lớp văn bản nhiều chủ đề với một số ưu điểm: cài đặt đơn giản, tốc độ nhanh, dễ dàng cập nhật dữ liệu huấn luyện mới và có tính độc lập cao

Page 42: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

38

với tập huấn luyện, có thể sử dụng kết hợp nhiều tập huấn luyện khác nhau. Thông thường, người ta còn đặt thêm một ngưỡng tối ưu để cho kết quả phân lớp khả quan.

4.2.2. Phân lớp dựa trên thuật toán K - Nearest Neighbor (KNN)

Thuật toán phân lớp KNN [4] là một phương pháp truyền thống và khá nổi tiếng trong hướng tiếp cận dựa trên thống kê, đã được nghiên cứu trong nhận dạng mẫu trong vài thập kỷ gần đây.

Nó được đánh giá là một trong những phương pháp tốt nhất và được sử dụng ngay từ những thời kỳ đầu của phân lớp văn bản .

Muốn phân lớp một văn bản mới, thuật toán KNN sẽ tính khoảng cách (Euclide, Cosine …) của văn bản này đến các văn bản trong tập huấn luyện và chọn ra k văn bản có khoảng cách gần nhất, còn gọi là k “láng giềng”. Dùng các khoảng cách vừa tính được đánh trọng số cho các chủ đề đã có. Trọng số của một chủ đề sẽ được tính bằng tổng các khoảng cánh từ văn bản cần phân lớp đến các văn bản trong k láng giềng mà có cùng chủ đề đó. Những chủ đề không xuất hiện trong tập k văn bản sẽ có trọng số bằng 0. Các chủ đề được sắp xếp theo độ giảm dần của các trọng số và chủ đề nào có trọng số cao sẽ là chủ đề cho văn bản cần phân lớp.

Công thức

Trọng số của chủ đề cj đối văn bản x :

W( x ,cj) = ∑∈

−KNNd

jjii

i

b)c,d(y).d,x(sim

Trong đó:

- )c,d(y ji ∈ {0,1} với:

y = 0: văn bản id không phụ thuộc chủ đề cj

y = 1: văn bản id thuộc về chủ đề cj

- )d,xsim( i độ giống nhau giữa văn bản cần phân loại x và văn bản id . Sử

dụng độ đo cosin để tính )d,xsim( i :

Page 43: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

39

)d,xsim( i = )d,x(cos i = i

i

d.x

d.x

- bj là ngưỡng phân loại của chủ đề cj , được tự động học sử dụng một tập văn bản hợp lệ chọn ra từ tập huấn luyện

Khi số văn bản trong tập văn bản láng giềng càng lớn thì thuật toán càng ổn định và sai sót thấp.

4.2.3. Phân lớp dựa vào thuật toán cây quyết định

Cây quyết định (Decision Tree) là một trong các phương pháp được sử dụng rộng rãi trong học quy nạp từ tập dữ liệu lớn. Đây là phương pháp học xấp xỉ các hàm mục tiêu có giá trị rời rạc. Một ưu điểm của phương pháp cây quyết định là có thể chuyển dễ dàng sang dạng cơ sở tri thức là các luật Nếu - Thì (If - Then).

Trên cây gồm các nút trong được gán nhãn bởi các khái niệm, các nhánh cây chứa nút được gán nhãn bằng các trọng số của khái niệm tương ứng đối với tài liệu mẫu và các lá trên cây được gán nhãn bởi các nhãn nhóm. Một hệ thống như vậy sẽ phân loại một tài liệu di bởi phép thử đệ quy các trọng số mà các khái niệm được gán nhãn cho các nút

trong với vector id cho đến khi với tới một nút lá, khi đó nhãn của nút này được gán cho

tài liệu di. Đa số các phương pháp phân loại như vậy sử dụng biểu diễn ở dạng nhị phân và các cây cũng được biểu diễn dưới dạng nhị phân.

Ví dụ cây quyết định:

Hình 7. Cây quyết định

Page 44: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

40

Entropy

Entropy là đại lượng đo độ đồng nhất thông tin hay tính thuần nhất của các mẫu. Đây là đại lượng hết sức quan trọng trong lý thuyết thông tin.

Đại lượng Entropy được tính như sau:

∑=

−≡n

iii ppS

1

)Entropy( 2log

trong đó pi là phân bố của thuộc tính thứ i trong S.

Information Gain

Information Gain là đại lượng đo độ ảnh hưởng của một thuộc tính trong mẫu đó trong việc phân lớp.

Information Gain của một thuộc tính A trong tập S, ký hiệu là )Gain(S, A được

xác định như sau:

∑∈

−≡)Values(

)Entropy()Entropy(),Gain(Av

vv S

SS

SAS

trong đó Values(A) là tập các giá trị có thể của thuộc tính A, còn Sv là tập con có thể của tập S các phần tử có thuộc tính A = v, tức là })(|{ vsASsSv =∈= .

Biểu thức đầu Entropy (S) là đại lượng entropy nguyên thủy của tập S, biểu thức sau là giá trị kỳ vọng của entropy sau khi S được chia thành các tập con theo các giá trị của thuộc tính A. Do đó Gain(S,A) thực chất là độ giảm kì vọng của entropy khi biết các giá trị thuộc tính A. Giá trị Gain(S,A) là số bit cần lưu khi mã hóa các giá trị mục tiêu của một thành phần của S, khi biết các giá trị của thuộc tính A.

Thuật toán ID3

ID3 và cải tiến của nó, C4.5, là các thuật toán học cây quyết định phổ biến nhất.

Nhìn chung, thuật các bước trong thuật toán ID3 có thể được phát biểu một cách ngắn gọn như sau:

- Xác định thuộc tính có độ đo Information Gain cao nhất trong tập mẫu

Page 45: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

41

- Sử dụng thuộc tính này làm gốc của cây, tạo một nhánh cây tương ứng với mỗi giá trị có thể của thuộc tính.

- Ứng với mỗi nhánh, ta lại lặp lại quá trình trên tương ứng với tập con của tập mẫu (training set) được phân cho nhánh này.

4.2.4. Phân lớp sử dụng Support Vector Machines (SVM)

Máy sử dụng vector hỗ trợ (SVM)[12] được Cortess và Vapnik giới thiệu năm 1995, là phương pháp tiếp cận phân lớp hiệu quả để giải quyết vấn đề nhận dạng mẫu 2 lớp sử dụng nguyên lý Cực tiểu hóa Rủi ro có Cấu trúc (Structural Risk Minimization).

Trong không gian vector cho trước một tập huấn luyện được biểu diễn trong đó mỗi tài liệu là một điểm, thuật toán SVM sẽ tìm ra một siêu mặt phẳng h quyết định tốt nhất có thể chia các điểm trên không gian này thành hai lớp riêng biệt tương ứng lớp + và lớp –. Chất lượng của siêu mặt phẳng phân cách này được quyết định bởi khoảng cách (gọi là biên) của điểm dữ liệu gần nhất của mỗi lớp đến mặt phẳng này. Khoảng cách biên càng lớn thì mặt phẳng quyết định càng tốt và việc phân lớp càng chính xác. Mục đích thuật toán SVM là tìm được khoảng cách biên lớn nhất. Hình sau minh họa cho thuật toán này:

Hình 8: 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. Các điểm gần h nhất (được khoanh tròn) là các vector hỗ trợ - Support Vector

Page 46: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

42

Công thức

Phương trình siêu mặt phẳng chứa vector id trong không gian:

0. =+ bwd i

Đặt ⎪⎩

⎪⎨⎧

<+−

>++=+=

0bw.d,1

0bw.d,1)bw.d(sign)d(h

i

iii

khi

khi

Từ đó, )( idh biễu diễn sự phân lớp của id vào hai lớp nói trên.

Có iy = {±1}, thì với yi = +1, văn bản id ∈ lớp “+”; với yi = - 1, id ∈ lớp “-”. Lúc

này muốn có siêu mặt phẳng h, ta sẽ giải bài toán sau:

Tìm Min || w ||, trong đó w và b thỏa mãn điều kiện:

1)).((:,1 ≥+∈∀ bwdsignyni ii

Khi đó ta có thể sử dụng toán tử Lagrange biến đổi thành dạng thức để giải bài toán.

Ở phương pháp SVM, mặt phẳng quyết định chỉ phụ thuộc vào các điểm gần nó

nhất (vector hỗ trợ - support vector) mà có khoảng cách đến nó là: w

1 . Khi các điểm

khác bị xóa đi thì vẫn không ảnh hưởng đến kết quả ban đầu.

Page 47: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

43

Chương 5. MỘT SỐ KẾT QUẢ THỰC NGHIỆM

5.1. Tập dữ liệu và tiền xử lý

Mô tả dữ liệu đầu vào

Chúng tôi tiến hành thử nghiệm trên cơ sở dữ liệu là bộ phân lớp chuẩn 20newsgroup có 19997 tài liệu, phân ra thành 20 lớp. Mỗi lớp có khoảng 1000 tài liệu

Tuy nhiên, do số lượng văn bản của tập dữ liệu này rất lớn, nên chúng tôi chỉ chọn ra 2 lớp để thử nghiệm. Đó là các lớp: rec.sport.; rec.autos .

Chúng tôi tiến hành thực nghiệm với số lượng tài liệu trong 2 lớp là: 50, 100, 500 . Trong đó tỷ lệ giữa tập train và tập test là: 2/1.

Biểu diễn văn bản qua các từ khóa

Với tập dữ liệu kiểm tra, trước tiên chúng tôi thực hiện bước tiền xử lý: loại bỏ các từ dừng. Chương trình loại bỏ từ dừng được viết bằng ngôn ngữ C/C++. Sau đó, chúng tôi tạo ra tập từ khóa của tập dữ liệu.

Sau khi hoàn thành các bước trên, tiến hành biểu diễn văn bản. Các văn bản sẽ được biểu diễn dưới dạng vector các từ khóa. Định dạng của vector như sau: Name_VB(id1,TS1; id2,TS2;…idn,TSn), trong đó: Name_VB là tên văn bản, idi là chỉ số của từ khóa thứ i trong tập từ khóa ở trên; TSi là trọng số của từ khóa thứ i. Trọng số của từ khóa được tính bởi công thức TF.IDF (chương II). Chương trình này được viết bằng ngôn ngữ C/C++.

Biểu diễn văn bản qua các khái niệm mờ

Từ tập từ khóa tạo được ở trên, chúng tôi tìm ra được những cụm từ khóa có liên quan với nhau. Từ đó xác định các khái niệm mờ đại diện cho cụm đó.

Một vài ví dụ về cách biểu diễn các cụm từ khóa liên quan và các khái niệm mờ như sau:

“sport” = {hockey, baseball, sport, winner, finals, won, game, teams, played, season , cup, stars, fans, newspaper, begin, goaltender, league, day, distribution, pic, predictions, champions, scorer, power, driver, time, finished, worried, public, matter, blow, car, miles}

Page 48: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

44

“wood” = {hiller, wood}

“academic” = {university, academic, computer, science, school, laboratory, college, staff, chemistry, technology, operating}

“humour” = {jokes, humour, coyote, average}

“cool” = {cool, air}

“speed” = {speed, coordination, skating, hilarious, observation, advised, ranked}

“raise” = {breakthrough, raise}

Sau khi đã xác định được các khái niệm mờ và kết hợp với tập từ khóa trong văn bản, chúng tôi biểu diễn văn bản theo các khái niệm mờ đó. Từ trọng số của các từ khóa trong văn bản, sử dụng hàm tích hợp mờ MAX, ta xác định được độ liên quan của các khái niệm mờ trên đối với từng văn bản. Nếu các từ khóa có liên quan trong khái niệm mờ không nằm trong văn bản đang xét, độ liên quan của khái niệm đến văn bản sẽ bằng 0.

5.2. Công cụ và phương pháp phân lớp

Công cụ phân lớp:

Chúng tôi sử dụng công cụ phân lớp là phần mềm Weka. Khóa luận xin cung cấp một số thông tin về weka như sau:

Weka là một phần mềm nguồn mở về khai phá dữ liệu được phát triển bởi đại học University of Waikato nước New Zealand. “Weka” là từ viết tắt cho cụm từ Waikato Environment for Knowledge Analysis. Weka có thể được sử dụng ở nhiều cấp độ khác nhau. Cấp độ đơn giản của nó là ta có thể áp dụng các thuật toán của Weka để xử lý dữ liệu từ dòng lệnh. Nó bao gồm nhiều các công cụ dùng cho việc biến đổi dữ liệu, như các thuật toán dùng để rời rạc hóa dữ liệu

Weka cung cấp tất cả các chức năng cơ bản của khai phá dữ liệu bao gồm các thuật toán về phân lớp (classifier), các thuật toán về tiền xử lý dữ liệu (filter), các thuật toán về phân cụm (cluster), các thuật toán về kết tập luật (association rule).

Page 49: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

45

Chương trình chuyển từ biểu diễn theo từ khóa và theo khái niệm mờ sang dữ liệu chuẩn của weka được viết bằng ngôn ngữ Java. Tập văn bản trước đó đã được biểu diễn theo vector trọng số các từ khóa trở thành Input. Sau đó, tiến hành chạy chương trình và cho ra output là file dữ liệu chuẩn của weka.

Phương pháp phân lớp :

Trong chương 4, khóa luận đã trình bày về một số thuật toán phân lớp. Qua phân tích, chúng tôi nhận thấy rằng: phương pháp K - Nearest Neighbor là một phương pháp đơn giản và được đánh giá là một trong những phương pháp tốt và cho hiệu quả cao. Vì vậy, chúng tôi chọn thuật toán K - Nearest Neighbor trong thực nghiệm này

5.3. Kết quả thực nghiệm

Có hai đại lượng thường dùng để đo hiệu suất của phân lớp văn bản, đó là precision (độ chính xác) và recall (độ hồi tưởng). Ngoài ra người ta còn xác định thêm thông số F1. F1 là một chỉ số cân bằng giữa độ chính xác và độ hồi tưởng, F1 sẽ lớn khi độ chính xác và độ hồi tưởng lớn và cân bằng, F1 sẽ nhỏ khi độ chính xác và độ hồi tưởng nhỏ hoặc không cân bằng. Mục tiêu trong các bài toán là F1 càng cao càng tốt.

Trong 1 lớp văn bản C, khi kiểm tra độ chính xác trong phân lớp, người ta xác định 3 đại lượng: precision, recall và F1 như sau:

Trong đó:

num_of_match: là số lượng văn bản được gán nhãn đúng

num_of_model: là số lượng văn bản được mô hình gán nhãn của lớp C

num_of_manual: là số lượng văn bản thuộc về lớp C

Page 50: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

46

Khi phân lớp với bộ dữ liệu 50 văn bản. Trong đó: Traning set: 34, Test set: 16. Sau khi thử với một số giá trị của tham số k, chúng tôi thấy k = 2, có kết quả phân lớp cao nhất.

Biểu diễn văn bản bằng tập từ khóa:

Kết quả output như sau:

Correctly Classified Instanse: 10 62.5%

InCorrectly Classified Instances: 6 37.5%

----------------------

Precision Recall F1 Class

1 0.25 0.4 rec.autos_25

0.571 1 0.72 rec.Sport_25

----------------------

a b <---classified as

2 6 | a = rec.autos_25

0 8 | b = rec.sport_25

Page 51: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

47

Biểu diễn bằng các khái niệm mờ:

Kết quả output như sau:

Correctly Classified Instanse: 13 81.25%

InCorrectly Classified Instances: 3 18.75%

----------------------

Precision Recall F1 Class

1 0.625 0.769 rec.autos_25

0.727 1 0.842 rec.Sport_25

----------------------

a b <---classified as

5 3 | a = rec.autos_25

0 8 | b = rec.sport_25

Page 52: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

48

Khi phân lớp với bộ dữ liệu 100 văn bản. Trong đó: Traning set: 64, Test set: 32. Cũng giống như với bộ dữ liệu gồm 50 văn bản, chúng tôi nhận thấy rằng trong bộ dữ liệu này, k = 2 cho ta kết quả phân lớp cao nhất.

Biểu diễn văn bản bằng tập từ khóa:

Kết quả ra như sau:

Correctly Classified Instanse: 23 71.875%

InCorrectly Classified Instances: 9 28.125%

----------------------

Precision Recall F1 Class

1 0.438 0.609 rec.autos_50

0.64 1 0.780 rec.Sport_50

----------------------

a b <---classified as

7 9 | a = rec.autos_50

0 16 | b = rec.sport_50

Page 53: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

49

Biểu diễn văn bản bằng các khái niệm mờ:

Kết quả ra như sau:

Correctly Classified Instanse: 27 84.375%

InCorrectly Classified Instances: 5 15.625%

----------------------

Precision Recall F1 Class

1 0.688 0.815 rec.autos_50

0.762 1 0.865 rec.Sport_50

----------------------

a b <---classified as

11 5 | a = rec.autos_50

0 16 | b = rec.sport_50

Khi phân lớp với bộ dữ liệu 500 văn bản. Trong đó: Traning set: 334, Test set: 166. Không giống với hai trường hợp trên, trong trường hợp này, k = 8 sẽ cho kết quả phân lớp tốt nhất.

Page 54: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

50

Biểu diễn văn bản bằng tập từ khóa:

Kết quả như sau:

Correctly Classified Instanse: 131 78.916%

InCorrectly Classified Instances: 35 24.084%

----------------------

Precision Recall F1 Class

0.929 0.627 0.748 rec.autos_250

0.718 0.952 0.818 rec.Sport_250

----------------------

a b <---classified as

52 31 | a = rec.autos_250

4 79 | b = rec.sport_250

Biểu diễn văn bản bằng tập các khái niệm mờ:

Page 55: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

51

Kết quả như sau:

Correctly Classified Instanse: 146 87.952%

InCorrectly Classified Instances: 20 12.048%

----------------------

Precision Recall F1 Class

0.957 0.795 0.868 rec.autos_250

0.825 0.964 0.889 rec.Sport_250

----------------------

a b <---classified as

66 17 | a = rec.autos_250

3 80 | b = rec.sport_250

Qua ba trường hợp trên, chúng tôi nhận thấy: khi số lượng văn bản trong tập training và tập test nhỏ, kết quả phân lớp với thuật toán kNN không cao. Khi tăng dần số

Page 56: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

52

lượng văn bản lên, kết quả có tốt hơn. Giá trị của tham số k cũng tỷ lệ thuận với số lượng này.

Đồ thị so sánh giữa việc biểu diễn văn bản theo khái niệm mờ và việc biểu diễn theo từ khóa thông thường:

Page 57: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

53

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Kết quả đạt được

Dựa vào các nghiên cứu gần đây trong bài toán xử lý văn bản, khóa luận đã nghiên cứu, chọn lọc cũng như phát triển một số vấn đề và đạt được những kết quả ban đầu như sau:

Tìm hiểu và trình bày được một số phương pháp biểu diễn văn bản.

Nghiên cứu về lý thuyết tập mờ và các phép toán liên quan. Qua đó giới thiệu được một phương pháp biểu diễn văn bản dựa trên các khái niệm mờ.

Nghiên cứu và tìm hiểu về bài toán phân lớp, trình bày một số thuật toán phân lớp tiêu biểu.

Có được những kết quả thử nghiệm, những so ban đầu khi áp dụng cách biểu diễn văn bản mới với cách biểu diễn thông thường. Qua đó thấy được một số ưu điểm:

Giảm bớt được số chiều của vector văn bản khi biểu diễn. Giảm bớt sự phức tạp khi tính toán.

Cho kết quả tốt hơn khi áp dụng vào bài toán phân lớp với thuật toán kNN

Hướng phát triển

Chúng tôi xin đề xuất một phương pháp tìm ra các từ khóa có liên quan trong văn bản: Có một tập các từ khóa trong tập văn bản đã qua bước tiền xử lý. Trong tập từ khóa này, lần lượt tìm những cụm từ cùng xuất hiện trong các văn bản và đếm số lần xuất hiện đó. Đặt ra một ngưỡng α, nếu số lần xuất hiện vượt qua ngưỡng này thì ta có thể coi rằng các từ trong cụm đó có liên quan đến nhau. Có nhiều cách để chọn một từ khóa trong cụm này làm khái niệm, chẳng hạn lấy từ có trọng số cao nhất.

Page 58: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

54

Thời gian tới, chúng tôi sẽ tiến hành phân lớp trên các thuật toán khác nhau: Naïve Bayes, Cây quyêt định, SVM… để so sánh giữa các kết quả phân lớp và tìm ra thuật toán phân lớp tốt nhất khi áp dụng phương pháp biểu diễn theo khái niệm mờ.

Page 59: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

55

TÀI LIỆU THAM KHẢO Tiếng Việt:

[1]. Đinh Trung Hiếu, Vũ Bội Hằng, Nguyễn Cẩm Tú, Giải pháp tìm kiếm theo lĩnh vực trong máy tìm kiếm, Báo cáo nghiên cứu khoa học Khoa Công Nghệ, ĐHQGHN năm 2004.

[2]. Đoàn Sơn (2002) Phương pháp biểu diễn văn bản sử dụng tập mờ và ứng dụng trong khai phá dữ liệu văn bản Luận văn thạc sỹ Khoa Công Nghệ, ĐHQGHN, năm 2002.

Tiếng Anh:

[1]. D. Hand, H. Mannila, P. Smyth, Principles of Data Mining, MIT Press, Cambridge, MA, 2001

[2]. D.Lewis, Representation and Learning in Information Retrieval, PhD Thesis, Graduate School of the University of Massachusetts, 1991

[3]. D. Tikk, J. D. Yang, and S. L. Bang, Hierarchical text categorization using fuzzy relational thesaurus. Kybernetika, 39(5), pp. 583–600, 2003

[4]. Eui-Hong Han, Text Categorization Using Weight Adjusted k-Nearest Neighbor Classification. PhD thesis, University of Minnesota, October 1999

[5] F. Sebastiani, Machine learning in automated text categorization, Technical Report IEI-B4-31-1999, Consiglio Nazionale delle Ricerche, Pisa, Italy, 1999.

[6]. G. Piatetsky Shapiro, W. Frawley (Eds), Knowledge Discovery in Databases, MIT Cambridge, MA,1991.

[7]. Ian H.Witten, Eibe Frank, Data Mining: Practical Machine Learning Tools and Techniques, 2nd edition, June 2005

[8]Maria-Luiza Antonie, Osmar R. Zaıane, Text Document Categorization by Term Association, IEEE International Conference on Data Mining, pages 19--26, December 2002.

Page 60: LỜI CẢM ƠN - uet.vnu.edu.vn

Khóa luận tốt nghiệp Nguyễn Việt Cường

56

[9]. M. Grabisch, S.A.Orlovski, R.R.Yager. Fuzzy aggregation of numerical preferences, In R. Slowinski, editor, Fuzzy Sets in Decision Analysis, Operations Research and Statistics, pages 31-68

[10]. Ricardo Baeza-Yates, Berthier Ribeiro-Neto, Modern Information Retrieval, Addison Wesley, 1999

[11]. S. Eyheramendy, D. Lewis and D. Madigan, On the Naive Bayes Model for Text Categorization, In Proceedings of Artificial Intelligence & Statistics 2003.

[12]. T. Joachims, Text categorization with Support Vector Machines: Learning with many relevant features. In Machine Learning: ECML-98, Tenth European Conference on Machine Learning, pp. 137-142

[13]. W. Frawley, G. Piatetsky-Shapiro, C. Matheus, Knowledge Discovery in Databases: An Overview. AI Magazine, Fall 1992.

[14]. H.J. Zimmerman, Fuzzy set Theory and Its Applications, Kluwer Academic Publishers, 1991