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

Phân loại văn bản bằng phương pháp cây quyết định

91 15 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 91
Dung lượng 0,98 MB

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

Nội dung

Vì vậy nếu giải quyết tốt việc phân loại văn bản cho hai chủ đề tin học và viễn thông, việc phân loại văn bản cho các chủ đề khác sẽ đạt được độ chính xác cao hơn.. Cây quyết định được x

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA

-

NGUYỄN MINH QUANG

PHÂN LOẠI VĂN BẢN BẰNG PHƯƠNG PHÁP

CÂY QUYẾT ĐỊNH

Chuyên ngành : CÔNG NGHỆ THÔNG TIN Mã số ngành : 01.02.10

LUẬN VĂN THẠC SĨ

TP HỒ CHÍ MINH, tháng 04 năm 2004

Trang 2

TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

Cán bộ hướng dẫn khoa học:

Phó giáo sư, Tiến sĩ PHAN THỊ TƯƠI

Cán bộ chấm nhận xét 1:

Tiến sĩ DƯƠNG TUẤN ANH

Cán bộ chấm nhận xét 2:

Tiến sĩ NGUYỄN XUÂN DŨNG

Luận văn thạc sĩ được bảo vệ tại HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày 04 tháng 06 năm 2004

Trang 3

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ và tên học viên : Nguyễn Minh Quang Phái : Nam Ngày, tháng, năm sinh : 18/01/1972 Nơi sinh : Hà Nội Chuyên ngành : Công Nghệ Thông Tin Mã số : 01.02.10

I TÊN ĐỀ TÀI

Phân loại văn bản bằng phương pháp cây quyết định

II NHIỆM VỤ VÀ NỘI DUNG:

Xây dựng một mô hình phân loại cho các văn bản bằng tiếng Việt dựa vào xác suất thống kê, cụ thể sử dụng giải thuật cây quyết định Việc phân loại dựa trên nội dung của các văn bản để gán các văn bản này vào các chủ đề đã được định nghĩa sẵn Một văn bản có thể thuộc cùng lúc nhiều chủ đề hoặc cũng có thể không thuộc một chủ đề cho trước nào

III NGÀY GIAO NHIỆM VỤ (Ngày bảo vệ đề cương)

01/06/2003

IV NGÀY HOÀN THÀNH NHIỆM VỤ (Ngày bảo vệ luận án tốt nghiệp)

04/06/2004

V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN

Phó giáo sư, Tiến sĩ Phan Thị Tươi

Cán bộ hướng dẫn Chủ nhiệm ngành Bộ môn quản lý ngành

PGS, TS Phan Thị Tươi TS Dương Tuấn Anh

Nội dung và đề cương luận văn thạc sĩ đã được Hội Đồng Chuyên Ngành thông qua

Ngày tháng năm 2004 PHÒNG ĐÀO TẠO SĐH KHOA QUẢN LÝ NGÀNH

Trang 4

Lời cám ơn

Đầu tiên tôi xin bày tỏ lòng biết ơn sâu sắc đến PGS, TS Phan Thị Tươi, người đã trực tiếp hướng dẫn tôi hoàn thành đề tài này Mặc dù rất bận nhưng PGS, TS Phan Thị Tươi đã rất nhiệt tình chỉ dẫn, góp ý, cung cấp tài liệu cho tôi

Tôi xin cám ơn các thầy cô trong khoa Công Nghệ Thông Tin trường Đại Học Bách Khoa TPHCM đã truyền đạt những kiến thức, kinh nghiệm quý báu cho tôi trong suốt quá trình học tập tại khoa

Tôi cũng xin cám ơn các bạn học viên lớp cao học CNTT K12 đã động viên, giúp đỡ, góp ý cho tôi trong việc hoàn thành đề tài

Mặc dù cố gắng hết sức để hoàn thành đề tài nhưng vì thời gian có hạn nên chắc chắn đề tài sẽ có những hạn chế, sai sót Để đề tài được hoàn thiện hơn tôi rất mong nhận được sự góp ý của quý Thầy Cô và bạn bè

Trang 5

Phân loại văn bản là gán văn bản vào các chủ đề đã được định nghĩa trước Một văn bản có thể thuộc một hoặc nhiều chủ đề Hiện nay lượng thông tin, văn bản có được từ mạng Internet hoặc các mạng nội bộ ngày càng đồ sộ Để có thể chọn lọc, tìm kiếm, phân loại những thông tin, văn bản này, cần phải có một công cụ hữu hiệu Đó là công cụ tự động phân loại văn bản dựa trên xác suất thống kê Công cụ này đã được các nhà nghiên cứu xây dựng và thử nghiệm trên ngôn ngữ tiếng Anh Trong luận văn này, tác giả xây dựng một mô hình phân loại văn bản cho ngôn ngữ tiếng Việt

Về bản chất, ngôn ngữ tiếng Việt rất khác so với ngôn ngữ tiếng Anh Đó là vì ngôn ngữ tiếng Việt tồn tại rất nhiều những từ kép, từ ba, từ bốn

như: tạp chí, đủng đỉnh, bất thình lình, tư bản chủ nghĩa, Việc nhận dạng

các từ này trong các văn bản tương đối khó, phải dựa vào xác suất thống kê trên một lượng văn bản lớn Ngoài ra vấn đề phân đoạn từ trong ngôn ngữ tiếng Việt cũng là một vấn đề khó và cần phải giải quyết Với các cách phân đoạn từ khác nhau, một câu có thể được hiểu theo nhiều nghĩa khác nhau

Giải thuật được tác giả lựa chọn để phân loại văn bản là giải thuật cây quyết định Đây là giải thuật có độ chính xác cao, thời gian phân loại văn bản nhanh Giải thuật này được sử dụng rất rộng rãi trong lĩnh vực trí tuệ nhân tạo

Tác giả đã xây dựng thành công việc phân loại văn bản tiếng Việt cho hai chủ đề Tin học và Viễn thông Các thông số độ chính xác của giải thuật đạt được rất cao nếu so sánh với giải thuật tương tự được xây dựng cho các văn bản tiếng Anh của các tác giả Joachims, Weiss, Yang

Trang 6

Text categorization is the assignment of text documents to predefined categories One document can belong to one or more categories Nowadays, the volume of information, documents from the Internet or from Local Area Network continues to increase rapidly For better filtering, sorting, finding document, there is a need to have an effective tool This tool is the automatic text categorization based on statistic probability This tool has been researched and built for English language documents In this thesis, the author manage to build a text categorization model for Vietnamese language documents

Basically, Vietnamese language quite differs from English language Vietnamese language has many words with two, three and four syllables

such as: tạp chí, đủng đỉnh, bất thình lình, tư bản chủ nghĩa, To recognize

these words, one must base on statistic probability on a large amount of documents Besides that, segmentation in Vietnamese language is another difficult problem to be sold Different segmentations of a sentence lead to different meanings

In this thesis, decision tree algorithm has been selected for text categorization This algorithm is accurate and fast for text categorization

In artificial intelligence, this algorithm has been widely used

The author has successfully built the algorithm for text categorization

in two subjects: Informatics and Telecommunications The accuracy of this algorithm is rather high in compare with other similar algorithms built for English language documents of some authors such as Joachims, Weiss, Yang

Trang 7

DANH SÁCH HÌNH

Trang

Phần 1

Phần 2

Hình 2.1 5

Hình 2.2 14

Hình 2.3 19

Phần 3 Hình 3.1 33

Hình 3.2 34

Hình 3.3 36

Hình 3.4 39

Hình 3.5 41

Hình 3.6 43

Phần 4 Hình 4.1 50

Hình 4.2 52

Hình 4.3 58

Hình 4.4 60

Hình 4.5 61

Hình 4.6 61

Hình 4.7 62

Hình 4.8 62

Hình 4.9 72

Phần 5

Trang 8

DANH SÁCH BẢNG

Trang

Phần 1

Phần 2

Bảng 2.1 10 Bảng 2.2 14 Bảng 2.3 16

Phần 3

Phần 4

Phần 5

Trang 9

MỤC LỤC

Trang

PHẦN 1 1

PHÁT BIỂU VẤN ĐỀ 1

1.1 G IỚI THIỆU .1

1.2 Đ Ề TÀI NGHIÊN CỨU .2

1.3 K ẾT QUẢ ĐẠT ĐƯỢC VÀ NHỮNG ĐÓNG GÓP .3

PHẦN 2 5

CƠ SỞ LÝ THUYẾT CHO PHÂN LOẠI VĂN BẢN 5

2.1 B IỂU DIỄN VĂN BẢN .5

2.1.1 Phương pháp Boolean 6

2.1.2 Phương pháp tần xuất từ (word frequency) 7

2.1.3 Phương pháp tf x idf 7

2.1.4 Phương pháp tfc 7

2.1.5 Phương pháp ltc 7

2.1.6 Phương pháp Entropy 8

2.2 R ÚT GỌN KÍCH THƯỚC MA TRẬN .8

2.2.1 Phương pháp số lần xuất hiện 9

2.2.2 Phương pháp độ lợi thông tin 9

2.2.3 Phương pháp thống kê χ2 9

2.2.4 Phương pháp Thông tin tương hỗ 12

2.2.5 Phương pháp Độ mạnh của từ 12

2.3 C ÁC TẬP VĂN BẢN DÙNG ĐỂ PHÂN LOẠI 13

2.3.1 Tập training, tập validation và tập test 13

2.3.2 Các văn bản trong tuyển tập Reuters 13

2.4 Đ ÁNH GIÁ ĐỘ CHÍNH XÁC CỦA VIỆC PHÂN LOẠI VĂN BẢN 14

2.4.1 Phân tích giá trị của accuracy và error 16

2.4.2 Phân tích giá trị của recall và Precision 17

2.4.3 Thông số F 19

2.4.4 Trung bình Micro và trung bình Macro 20

2.5 K ẾT LUẬN 23

PHẦN 3 24

TỔNG QUAN VỀ CÁC GIẢI THUẬT DÙNG TRONG PHÂN LOẠI VĂN BẢN 24

Trang 10

3.1 G IẢI THUẬT N AIVE B AYES 25

3.1.1 Một số lý thuyết về xác suất 25

3.1.2 Phân loại văn bản bằng giải thuật Bayes 26

3.1.3 Đánh giá giải thuật 27

3.2 G IẢI THUẬT K N EAREST N EIGHBORS 28

3.2.1 Giải thuật K Nearest Neighbors 28

3.2.2 Đánh giá giải thuật 29

3.3 G IẢI THUẬT R OCCHIO 30

3.3.1 Giải thuật Rocchio 30

3.3.2 Đánh giá giải thuật 31

3.4 G IẢI THUẬT P ERCEPTRONS 31

3.4.1 Giải thuật Perceptrons 31

3.4.2 Đánh giá giải thuật 34

3.5 G IẢI THUẬT CÂY QUYẾT ĐỊNH ( DECISION TREE ) 35

3.5.1 Entropy 35

3.5.2 Độ lợi thông tin 36

3.5.3 Giải thuật cây quyết định 37

3.5.4 Xén tỉa cây quyết định 41

3.5.5 Đánh giá giải thuật 44

3.6 K ẾT LUẬN 44

PHẦN 4 45

THIẾT KẾ VÀ HIỆN THỰC 45

PHÂN LOẠI VĂN BẢN 45

4.1 G IẢI THUẬT VÀ MIỀN CỦA VĂN BẢN ĐƯỢC SỬ DỤNG TRONG LUẬN ÁN 45

4.2 G IẢI THUẬT CỦA CÁC BƯỚC TRONG QUÁ TRÌNH XÂY DỰNG CÂY QUYẾT ĐỊNH 46

4.2.1 Giải thuật thống kê các từ kép, từ ba 46

4.2.2 Giải thuật phân đoạn từ tiếng Việt 48

4.2.3 Biểu diễn các văn bản theo các từ trong từ điển 54

4.2.4 Chọn các từ để xây dựng cây quyết định 55

4.2.5 Xây dựng cây quyết định 56

4.2.6 Xén tỉa cây quyết định 58

4.3 C HƯƠNG TRÌNH HIỆN THỰC 63

4.3.1 Dữ liệu và ngôn ngữ lập trình 63

4.3.2 Giao diện của chương trình 63

4.3.3 Nhận xét kết quả và cải tiến 69

PHẦN 5 73

Trang 11

5.1 Đ ÁNH GIÁ 73

5.2 H ƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 74

TÀI LIỆU THAM KHẢO 76

PHỤ LỤC

Trang 12

Phần 1

PHÁT BIỂU VẤN ĐỀ

1.1 Giới thiệu

Xử lý ngôn ngữ tự nhiên là một lĩnh vực của khoa học máy tính được

sự quan tâm của nhiều nhà khoa học và đã thu được nhiều thành tựu Một

trong những nội dung của xử lý ngôn ngữ tự nhiên là vấn đề phân loại

Phân loại trong ngôn ngữ tự nhiên là gán các đối tượng của ngôn ngữ vào

các lĩnh vực, phạm trù đã biết trước

Một số phân loại trong xử lý ngôn ngữ tự nhiên có thể kể đến như:

- Nhận dạng tác giả

- Nhận dạng ngôn ngữ

- Giải quyết nhập nhằng ngữ nghĩa

- Phân loại văn bản

- Phân loại từ (tagging)

- Prepositional phrase attachment

Trong luận án này, tác giả trình bày một hướng nghiên cứu trong lĩnh

vực xử lý ngôn ngữ tự nhiên, đó là phân loại văn bản (text

catergorization) Văn bản ở đây có thể là một mẩu tin, một báo cáo, một

bức thư điện tử, một bài báo, v…v

Phân loại văn bản là sắp xếp các văn bản vào các chủ đề hoặc lĩnh

vực khác nhau dựa trên nội dung của chúng Các chủ đề này thường đã

được định nghĩa trước, còn văn bản cần phân loại là một văn bản bất kỳ

Hiện nay với sự bùng nổ thông tin, nhu cầu về phân loại văn bản ngày

càng tăng, đòi hỏi cần phải có những bộ phân loại văn bản thông minh

hơn và có độ chính xác cao

Trang 13

Một vài ứng dụng của phân loại văn bản có thể kể đến là:

- Tự động phân loại email:

Kiểm tra xem email vừa nhận được có phải là spam email

không?

• Phân các email vào các thư mục riêng dựa vào nội dung hoặc

tác giả của email đó

Tự động chuyển email này (routing) đến các địa chỉ khác

- Phân loại tin tức:

Mỗi ngày một hãng tin có thể nhận được hàng ngàn mẩu tin Các mẩu

tin này cần được phân loại vào những chủ đề khác nhau để tiện tham

khảo Nếu dùng phương pháp cổ điển (đọc và phân loại bằng tay) thì sẽ

tốn thời gian và cần số lượng nhân viên rất lớn, đồng thời độ chính xác sẽ

không cao do sự cảm nhận thông tin của mỗi nhân viên sẽ khác nhau

Thay vào đó nếu dùng phương pháp tự động phân loại văn bản thì hiệu

quả và độ chính xác sẽ cao hơn nhiều

- Tìm kiếm thông tin theo chủ đề:

Khi cần tìm thông tin trên Internet, người ta cần phải tìm kiếm theo từ

khóa Thông tin tìm kiếm được phải hoàn toàn khớp với từ khóa nếu

không sẽ bị loại bỏ Tuy nhiên có những thông tin mặc dù có chứa từ khóa

nhưng lại không liên quan đến vấn đề cần tìm hoặc ngược lại, có những

thông tin liên quan đến vấn đề cần tìm nhưng lại không chứa từ khóa Vì

vậy, nếu áp dụng việc tìm kiếm thông tin theo từ khóa kết hợp với chủ đề

thì sẽ nâng cao hiệu quả tìm kiếm thông tin

1.2 Đề tài nghiên cứu

Trong luận án này tác giả nghiên cứu và áp dụng giải thuật cây quyết

định để phân loại văn bản tiếng Việt

Trang 14

Đối với ngôn ngữ tiếng Việt, theo sự tìm hiểu của tác giả thì cho đến

nay chưa có một công trình nào liên quan đến vấn đề này, kể cả trong

nước lẫn ngoài nước Ngôn ngữ tiếng Việt về cơ bản rất khác với ngôn

ngữ tiếng Anh và các ngôn ngữ khác nói chung Ở đây tác giả chưa đề cập

đến khía cạnh cú pháp ngôn ngữ, vì giải thuật không sử dụng đến cú pháp

Về khía cạnh ngữ nghĩa, ngôn ngữ tiếng Việt có rất nhiều điểm nhập

nhằng do bản chất phức tạp của nó Chẳng hạn ngôn ngữ tiếng Việt có rất

nhiều từ Hán Việt, từ ghép…

Trong luận án này tác giả phân loại các văn bản trong hai chủ đề tin

học và viễn thông, hai chủ đề này cùng thuộc lĩnh vực khoa học kỹ thuật

Mục đích của tác giả là xây dựng mô hình giải thuật phân loại văn bản

tiếng Việt và thử nghiệm trên hai chủ đề nói trên Nếu chủ đề của các văn

bản hoàn toàn khác nhau (giả sử như các chủ đề thuộc về các lĩnh vực

khác nhau như văn học, khoa học kỹ thuật, y học, luật pháp ) thì việc

phân loại văn bản sẽ dễ dàng hơn và đạt được độ chính xác cao hơn Hai

chủ đề trên có thể xem là tiêu biểu vì chúng rất gần nhau, đều thuộc cùng

một lĩnh vực Một văn bản có thể thuộc cùng lúc cả hai chủ đề Việc phân

loại các văn bản thuộc hai chủ đề trên sẽ khó khăn hơn và đạt được độ

chính xác thấp hơn Vì vậy nếu giải quyết tốt việc phân loại văn bản cho

hai chủ đề tin học và viễn thông, việc phân loại văn bản cho các chủ đề

khác sẽ đạt được độ chính xác cao hơn

Sau khi xây dựng thành công giải thuật phân loại văn bản cho hai chủ

đề trên, việc mở rộng để phân loại văn bản cho nhiều chủ đề là điều hoàn

toàn có thể thực hiện được một cách dễ dàng Mỗi chủ đề cần phân loại

phải có vài ngàn văn bản mẫu thì mới có thể đạt được độ chính xác cao

Thêm vào đó, cần phải có các chuyên gia thuộc các chủ đề này để tạo lập

các văn bản mẫu

1.3 Kết quả đạt được và những đóng góp

- Đề tài đã xây dựng được cây quyết định để phân loại văn bản

tiếng Việt trên hai chủ đề Tin học và Viễn Thông với thông số F1 =

94,2% Đây là kết quả tương đối cao nếu so sánh với các kết quả của các

giải thuật được xây dựng trên ngôn ngữ tiếng Anh (79,4 %) Điều này đạt

được là do trong quá trình xây dựng cây quyết định, tại mỗi bước tác giả

Trang 15

đều có phân tích, lựa chọn những giải thuật tối ưu, đồng thời số lượng văn

bản dùng để huấn luyện và kiểm tra tương đối lớn

- Sử dụng kết hợp xác suất bi-gram và tri-gram trong việc phân

đoạn từ cho văn bản tiếng Việt thành các từ đơn, từ đôi, từ ba , đồng thời

đưa ra một số cải tiến nhằm năng cao độ chính xác của việc phân đoạn từ

tiếng Việt như : đưa vào công đoạn tiền xử lý trước khi phân đoạn từ, thay

đổi công thức so sánh số lần xuất hiện của các từ đôi, từ ba

- Đưa ra một phương pháp khác trong việc chọn từ để xây dựng

cây quyết định Cây quyết định được xây dựng theo phương pháp này sẽ

có độ chính xác cao hơn phương pháp cũ trong trường hợp các văn bản

thuộc cùng lúc nhiều chủ đề Với các văn bản chỉ thuộc một chủ đề,

phương pháp này có độ chính xác sấp sỉ như phương pháp cũ

Trang 16

Phần 2

CƠ SỞ LÝ THUYẾT CHO PHÂN LOẠI VĂN BẢN

2.1 Biểu diễn văn bản

Bước đầu tiên trong việc phân loại văn bản là chuyển đổi văn bản này

từ một hay nhiều chuỗi các từ sang một dạng thích hợp để có thể được xử

lý bởi các giải thuật Các văn bản thường được coi là một tập hợp của các

từ mà không cần chú ý đến cấu trúc câu, trật tự các từ trong câu, thì của

câu, từ loại…

Thông thường người ta sử dụng mô hình không gian vector [CH01] để

biểu diễn một văn bản Trong mô hình này một văn bản được biểu diễn

bằng một vector các từ Số chiều M của không gian vector là số từ mẫu

dùng để biểu diễn tập văn bản Hình 2.1 biểu diễn tập gồm 3 văn bản d1,

d2, d3 với số chiều M=2 Hai từ mẫu là thuê bao và điện thoại

123

d2

d30

Hình 2.1 Mô hình không gian vector 2 chiều

điện thoại thuê bao

Trang 17

Trong hình trên văn bản d1 gồm 2 từ điện thoại và 4 từ thuê bao

Một tập các văn bản sẽ được biểu diễn bởi một ma trận A với mỗi cột

là một vector biểu diễn cho một văn bản Mỗi phần tử trong ma trận A

tượng trưng cho sự xuất hiện của một từ trong một văn bản nào đó

A = (aik)

Trong đó a ik biểu diễn sự xuất hiện của từ i trong văn bản k Do mỗi

văn bản thường chỉ chứa một số từ nào đó nên ma trận A sẽ có nhiều phần

tử có giá trị bằng 0 Số hàng M của ma trận là tổng số các từ khác nhau

trong các văn bản M có thể là một số rất lớn Vì vậy một khó khăn trong

việc phân loại văn bản là phải xử lý một ma trận với kích thước rất lớn

Bằng quan sát chúng ta có thể thấy như sau:

- Nếu một từ xuất hiện trong một văn bản càng nhiều, khả năng từ đó

có liên quan đến chủ đề của văn bản đó càng lớn

- Nếu một từ xuất hiện trong hầu hết các văn bản thuộc các chủ đề

khác nhau thì từ đó không mang ý nghĩa thông tin đối với một chủ đề nào

cả

Gọi f ik là số lần từ i xuất hiện trong văn bản k

N là tổng số các văn bản

M là tổng số các từ khác nhau

n i là số văn bản có từ i xuất hiện

Có nhiều phương pháp để xác định giá trị của a ik Sau đây là một số

phương pháp phổ biến

2.1.1 Phương pháp Boolean

Trong phương pháp này, giá trị a ik bằng 1 trong trường hợp từ i có

xuất hiện trong văn bản k và bằng 0 trong trường hợp ngược lại [KL99]

0 1

ik

ik ik

f

f a

nếu nếu

Trang 18

2.1.2 Phương pháp tần xuất từ (word frequency)

Một phương pháp khác cũng tương đối đơn giản là a ik sẽ bằng số lần

xuất hiện của từ i trong văn bản k [KL99]

a ik = f ik

2.1.3 Phương pháp tf x idf

(term frequency x inverse document frequency)

Hai phương pháp trên chỉ quan tâm đến sự xuất hiện của từ i trong

văn bản k mà không để ý đến sự xuất hiện của từ này trong các văn bản

còn lại Trong phương pháp này a ik sẽ tỉ lệ thuận với f ik và tổng số các văn

bản N đồng thời tỉ lệ nghịch với tổng số văn bản có từ i xuất hiện [KL99]

ik

n

N f

2.1.4 Phương pháp tfc

(Term Frequency Component)

Phương pháp này tương tự như phương pháp trên Tuy nhiên trong

phương pháp này chiều dài của các văn bản sẽ được để ý đến Với cùng

số lần xuất hiện của từ i, văn bản nào có chiều dài ngắn hơn thì sẽ có hệ

số a ik lớn hơn [KL99]

i jk

i ik

ik

n

N f

n

N f

a

1

2log

Trang 19

Phương pháp này có cải tiến so với phương pháp trên Vì các f ik có giá

trị biến thiên rất lớn nên chúng thường kéo theo sự biến thiên lớn của a ik

Để giảm bớt sự biến thiên này, người ta sẽ lấy logarit của fik [KL99]

=

M j

j jk

i ik

ik

n

N f

n

N f

a

1

2log

*1log

log

*1log

2.1.6 Phương pháp Entropy

Phương pháp này dựa trên lý thuyết về entropy Hệ số a ik tỉ lệ thuận

với số lần xuất hiện của từ i và entropy của từ này trong toàn tập văn bản

ij ik

ik

m

f m

f N f

a

1

loglog

11

*1log

ij

m

f m

f

log1

Entropy của từ i

m i là tổng số lần xuất hiện của từ i trong toàn tập văn bản

Entropy của từ i sẽ bằng -1 nếu từ i phân bố đều trong tất cả các văn

bản, đồng thời sẽ bằng 0 nếu từ i chỉ xuất hiện trong một văn bản

2.2 Rút gọn kích thước ma trận

Một khó khăn lớn trong việc phân loại văn bản là kích thước của ma

trận A biểu diễn các văn bản quá lớn Số hàng trong ma trận bằng với số

từ để biểu diễn tập các văn bản Thông thường số từ này có thể lên đến cả

vài chục ngàn Nếu không rút gọn kích thước ma trận thì rất khó tính toán

trên ma trận này, đồng thời chi phí tính toán sẽ rất lớn Vì vậy vấn đề đặt

Trang 20

ra là phải rút gọn kích thước ma trận nhưng vẫn đảm bảo đầy đủ tính

thông tin của văn bản Dưới đây là một số phương pháp dùng trong việc

rút gọn kích thước ma trận Các phương pháp này tìm ra các từ không

mang ý nghĩa thông tin cho bất cứ chủ đề nào và loại bỏ các từ này ra

khỏi ma trận

2.2.1 Phương pháp số lần xuất hiện

Trong phương pháp này, số lần xuất hiện của một từ là tổng số các

văn bản trong đó có xuất hiện từ này Mỗi từ trong ma trận sẽ được tính ra

giá trị của số lần xuất hiện Nếu giá trị này nhỏ hơn một ngưỡng đã định

trước thì từ này sẽ bị loại bỏ khỏi ma trận Phương pháp này dựa trên giả

thiết rằng những từ có số lần xuất hiện thấp sẽ ít mang ý nghĩa thông tin

cho việc phân loại văn bản [KL99][YJ97]

2.2.2 Phương pháp độ lợi thông tin

Gọi c 1 ,…,c k là các chủ đề của các văn bản

Độ lợi thông tin của một từ w được tính như sau:

+ +

= K

j

K j

K j

j j

j j

j

j P c P w P c w P c w P w P c w P c w c

P w

IG

)

| ( log )

| ( ) ( )

| ( log )

| ( ) ( ) ( log ) ( )

(

Trong đó

P(c j ) là xác suất của một văn bản thuộc chủ đề c j P(w) là xác suất của một văn bản có từ w xuất hiện P(c j | w) là xác suất của một văn bản thuộc chủ đề c j mà có từ w

xuất hiện

)

|(c w

P j là xác suất của một văn bản thuộc chủ đề c j mà không

có từ w xuất hiện

Các từ sẽ lần lượt được tính giá trị độ lợi thông tin Từ nào có giá trị

độ lợi thông tin nhỏ hơn một ngưỡng đã định trước sẽ bị loại bỏ khỏi ma

trận [KL99][YJ97]

2.2.3 Phương pháp thống kê χ2

Trang 21

Phương pháp này xác định sự phụ thuộc giữa từ w và chủ đề c j

A là tổng số văn bản thuộc chủ đề c j có chứa từ w

B là tổng số văn bản không thuộc chủ đề c j nhưng có chứa từ w

C là tổng số văn bản thuộc chủ đề c j nhưng không chứa từ w

D là tổng số văn bản không thuộc chủ đề c j và cũng không chứa

E

E O c

ƒ i, k là các chỉ số tương ứng với các ô trong bảng 2.1

ƒ O ik là giá trị quan sát được Giá trị O 11 , O 21 , O 12 , O 22 trong bảng trên

lần lượt là A, B, C, D

ƒ E ik là giá trị phân bố Giá trị phân bố của mỗi ô trong bảng 2.1 được

tính như sau:

Văn bản có chứa từ w Văn bản không chứa từ w

Văn bản thuộc

Văn bản không

Trang 22

N N

B A N

C A

N N

D C N

C A

N N

D B N

B A

N N

D B N

D C

Ta có:

))(

(

2

11

2 11 11

B A C A N

BC AD E

E O

++

(

2

21

2 21 21

D B B A N

BC AD E

E O

++

(

2

12

2 12 12

D C C A N

BC AD E

E O

++

(

2

22

2 22 22

D B D C N

BC AD E

E O

++

CB AD N c

+

×+

×+

×+

Nhận xét: giá trị χ2( )w, c j cho biết bình phương độ lệch giữa giá trị

phân bố thực tế và giá trị phân bố lý thuyết (phân bố đồng đều) của từ w

Nếu từ w được phân bố đều trong các chủ đề thì giá trị này bằng 0 Ngược

lại nếu từ w chỉ có trong chủ đề c j thì giá trị này sẽ khác 0

Giá trị thống kê χ2 của từ w trên tất cả các chủ đề được tính như sau:

Trang 23

P w

1

2

χvà

2

Trong đó M là tổng số các chủ đề

2.2.4 Phương pháp Thông tin tương hỗ

Sử dụng lại các ký hiệu trong bảng 2.1, thông tin tương hỗ của từ w

và chủ đề c j được tính như sau:

j

j j

c P w P

c w P c

w I

×

= log,

Công thức này được tính xấp sỉ như sau:

B A C A

N A c

w

+

×+

×

≈ log,

Thông tin tương hỗ trung bình của từ w đối các chủ đề được cho bởi:

i i avg w P c I w c

Một điểm yếu của Thông tin tương hỗ là giá trị thông tin tương hỗ của

từ w phụ thuộc vào xác suất của từ đó nên những từ ít xuất hiện sẽ có giá

trị thông tin tương hỗ cao và ngược lại [YJ97]

2.2.5 Phương pháp Độ mạnh của từ

Phương pháp này tính độ mạnh của từ w dựa trên sự xuất hiện đồng

thời của nó trong các văn bản có liên quan với nhau Hai văn bản được gọi

Trang 24

là liên quan khi giá trị cosin của hai vector biểu diễn hai văn bản này nhỏ

hơn một ngưỡng nào đó [YJ97]

Giả sử x và y là hai văn bản liên quan với nhau, khi đó độ mạnh của từ

w là:

Phương pháp này giả thiết rằng các từ càng có trong nhiều văn bản

liên quan với nhau thì các từ này càng có ý nghĩa thông tin

2.3 Các tập văn bản dùng để phân loại

2.3.1 Tập training, tập validation và tập test

Tập training dùng trong quá trình xây dựng giải thuật phân loại văn

bản Mục đích của tập này là để huấn luyện giải thuật trong việc nhận

biết chủ đề của các văn bản

Tập validation dùng để hiệu chỉnh lại giải thuật sau khi giải thuật đã

được huấn luyện bởi tập training Một số giải thuật không cần đến tập

này

Tập test dùng để đánh giá độ chính xác của giải thuật sau khi giải

thuật đã được xây dựng và hiệu chỉnh hoàn chỉnh

2.3.2 Các văn bản trong tuyển tập Reuters

Tuyển tập Reuters [CH01][Yim98][KL99][Pet02] hiện nay được sử

dụng rất phổ biến trong lĩnh vực phân loại văn bản bằng ngôn ngữ tiếng

Anh Để so sánh độ chính xác của các giải thuật thì các giải thuật này

phải được xây dựng trên cùng các tập văn bản

Tuyển tập Reuters-22173 (version 1) do Carnegie Group, Inc tạo dựng

bao gồm 22173 văn bản và 182 chủ đề Có một số văn bản không được

gán chủ đề Hình 2.2 mô tả một văn bản thuộc tuyển tập này

Trang 25

<REUTERS NEWID=”11”>

<DATE>26-FEB-1987 15:18:59.34</DATE>

<TOPIC><D>earn</D></TOPIC>

<TEXT>

<TITLE>COBANCO INC &LT;CBCO> YEAR NET</TITLE>

<DATELINE> SANTA CRUZ, Calif.,Feb 26 - </DATELINE>

<BODY>Shr 34 cts vs 1.19 dlrs

Net 807,000 vs 2,858,000 Assets 510.2 mln vs 479.7 mln Deposits 472.3 mln vs 440.3 mln Loans 299.2 mln vs 327.2 mln Note: 4th qtr not available Year includes

Tuyển tập Reuter-21450 (version 2) do Lewis chỉnh sửa Bảng 2.2 liệt

kê các version của tuyển tập Reuter

Version Được xây dựng bởi Số lượng chủ đề

Số lượng văn bản trong tập

training

Số lượng văn bản trong tập

test

Phần trăm số văn bản thuộc chủ đề

Bảng 2.2 Các version của tuyển tập Reuter

văn bản

Trang 26

Để phân loại một văn bản vào các chủ đề cho trước, văn bản này sẽ

lần lượt được xem xét với từng chủ đề Để đánh giá độ chính xác của việc

phân loại một văn bản vào một chủ đề nào đó ta đưa ra các công thức tính

toán như sau [Yim98][CH01][Pet02]

Recall:

Nếu a+c > 0

c a

a r

b f

+

=

Accuracy Nếu a+b+c+d > 0

d c b a

d a Acc

+++

+

=

Error Nếu a+b+c+d > 0

d c b a

c b Err

+++

+

=

Trong đó:

a là số văn bản được gán chính xác vào chủ đề này

b là số văn bản bị gán sai vào chủ đề này

c là số văn bản bị loại khỏi chủ đề này một cách không chính

xác

d là số văn bản bị loại khỏi chủ đề này một cách chính xác

b a

a p

+

=

Trang 27

Bảng 2.3 tóm tắt ý nghĩa của các giá trị a, b, c, d

Văn bản thực sự thuộc chủ đề Văn bản thực sự không thuộc chủ đề Văn bản được

Văn bản không

được gán vào

Bảng 2.3 Ý nghĩa của các giá trị a, b, c, d

2.4.1 Phân tích giá trị của accuracy và error

Accuracy là phần trăm số văn bản được gán và loại bỏ khỏi chủ đề

một cách chính xác

Error là phần trăm số văn bản được gán sai hoặc loại bỏ sai khỏi chủ

đề

Từ đó suy ra:

Accuracy + Error =100%

Accuracy hoặc Error nếu thoạt nhìn sẽ là một công cụ hiệu quả để

đánh giá, so sánh độ chính xác của các giải thuật trong việc phân loại văn

bản Tuy nhiên trong một số trường hợp, Accuracy hoặc Error sẽ bị mắc

một sai lầm tiềm ẩn và sẽ không còn chính xác để được sử dụng trong

việc so sánh, đánh giá Ví dụ sau sẽ minh họa sai lầm tiềm ẩn này

Tuyển tập Reuter version 3 có tổng cộng 93 chủ đề và 7789 văn bản

trong tập training Trung bình mỗi văn bản có thể thuộc về 1,2 chủ đề

Điều này có nghĩa xác suất trung bình để một văn bản được gán vào một

chủ đề nào đó là 1,2/93 = 1,3% Giả sử tồn tại một giải thuật mà nó loại

bỏ tất cả các văn bản khỏi tất cả các chủ đề, nói cách khác tất cả các văn

bản đầu vào của giải thuật này đều không được gán cho bất cứ một chủ đề

Trang 28

nào Từ đó suy ra giải thuật này có Error là 1,3% và Accuracy là 1 –

1,3% = 98,7% Đây là giá trị Accuracy rất cao mà ít có giải thuật nào đạt

được Tuy nhiên giải thuật trên lại hoàn toàn không có giá trị gì cả (do

không hề gán bất cứ văn bản nào cho một chủ đề nào)

Ví dụ trên cho thấy việc dùng giá trị Accuracy hoặc Error để so sánh

độ chính xác của các giải thuật trong việc phân loại văn bản sẽ dễ mắc

phải sai lầm, đặc biệt trong các trường hợp số lượng các chủ đề lớn và số

văn bản thuộc về mỗi chủ đề là nhỏ Trường hợp tương tự, nếu dùng các

các giá trị này để huấn luyện giải thuật thì giải thuật sẽ có khuynh hướng

loại bỏ các văn bản khỏi tất cả các chủ đề

Ngoài ra, một khuyết điểm của các giá trị Accuracy và Error là chúng

có độ nhạy thấp, xuất phát từ các công thức xác định chúng Cả hai giá trị

này đều có mẫu số là a+b+c+d (là tổng số văn bản) Vì vậy nếu có sự

thay đổi nhỏ ở tử số ( a+d đối với Accuracy và b+c đối với Error) thì các

giá trị Accuracy và Error sẽ biến thiên gần như không đáng kể Đối với

các chủ đề có ít văn bản, nói cách khác các giá trị a và c bé, thì a hoặc c

khi biến thiên từ giá trị nhỏ nhất đến giá trị lớn nhất của chúng cũng

không làm cho hai giá trị Accuracy và Error thay đổi nhiều

2.4.2 Phân tích giá trị của recall và Precision

Giá trị của Recall phản ánh phần trăm số văn bản được gán đúng vào

chủ đề trên tổng số văn bản thuộc chủ đề đó Giá trị này đạt lớn nhất khi

tất cả các văn bản thuộc chủ đề đều được gán vào chủ đề đó Điều này

không có nghĩa là tất cả các văn bản được gán vào chủ đề đều là những

văn bản thực sự thuộc chủ đề đó Vì vậy nếu lấy giá trị Recall làm mục

tiêu cho các giải thuật thì các giải thuật này sẽ có khuynh hướng gán thật

nhiều văn bản vào mỗi chủ đề, bất chấp các văn bản đó có thực sự thuộc

những chủ đề này hay không

Giá trị Precision phản ánh phần trăm số văn bản được gán đúng vào

chủ đề trên tổng số văn bản được gán vào chủ đề đó Giá trị này đạt lớn

nhất khi tất cả các văn bản được gán vào chủ đề đều là những văn bản

thực sự thuộc chủ đề đó Điều này không có nghĩa là tất cả các văn bản

thực sự thuộc chủ đề đều được gán vào chủ đề đó Vì vậy nếu lấy giá trị

Trang 29

Precision làm mục tiêu cho các giải thuật thì các giải thuật này sẽ có

khuynh hướng gán thật ít văn bản vào mỗi chủ đề sao cho những văn bản

được gán thực sự là những văn bản thuộc chủ đề đó

Hai giá trị Recall và Precision mang tính trái ngược nhau Nếu thiết

kế sao cho giá trị Recall cao thì giá trị Precission sẽ thấp và ngược lại

Hình 2.3 biểu diễn mối tương quan giữa hai giá trị này

Khi xem xét một giải thuật, nếu chỉ để ý đến một trong hai giá trị

Precision hoặc Recall thì không đánh giá chính xác được giải thuật Vì

vậy cần phải xem xét cả hai Để dung hoà giữa hai giá trị này người ta

đưa ra khái niệm điểm Break-Even (BEP) Điểm Break-Even là điểm tại

đó giá trị Precision bằng với giá trị Recall

Điểm Break-Even là một thông số được sử dụng khá phổ biến để đánh

giá độ chính xác của các giải thuật phân loại văn bản Giá trị của điểm

này càng cao thì giải thuật càng có tính chính xác Tuy nhiên trong nhiều

trường hợp việc xác định giá trị điểm Break-Even tương đối khó khăn vì

hai giá trị Precision và Recall không bằng nhau mà chỉ gần nhau Trong

trường hợp này giá trị điểm Break-Even sẽ được tính xấp sỉ

Giá trị Recall có độ nhạy tương đối cao Recall được xác định bởi

a/(a+c) Thông thường hai thông số a và c có giá trị không lớn lắm trong

tập các văn bản Ngoài ra a + c luôn là một số cố định và bằng tổng số

văn bản thuộc chủ đề này Vì vậy một sự thay đổi của a trên tử số sẽ dẫn

đến một sự biến thiên lớn của giá trị Recall Nếu một văn bản được gán

đúng vào chủ đề hay gán sai vào chủ đề cũng sẽ gây nên một sự biến

thiên của Recall là 1/(a+c) Giá trị biến thiên này là lớn so với giá trị biến

thiên 1/(a+b+c+d) của Accuracy hay Error trong trường hợp tương tự Nói

cách khác Recall có độ nhạy cao hơn nhiều so với Accuracy hoặc Error

Trang 30

2.4.3 Thông số F

Như phân tích ở mục trên, cần phải xem xét đồng thời cả hai giá trị

Precision và Recall khi đánh giá độ chính xác của một giải thuật Điểm

Break-Even là một phương pháp kết hợp cả hai giá trị này Tuy nhiên việc

xác định giá trị của điểm Break-Even đôi lúc cũng có những khó khăn

Thông số F, do Van Rijsbergen thiết lập [KL99], là một phương pháp

đánh giá cũng dựa trên Precision và Recall nhưng khắc phục được nhược

điểm của điểm Break-Even

r p

pr p

r F

+

+

= 22 1,

β

β

β

Trong đó:

p là giá trị của Precision

r là giá trị của Recall

thuộc chủ đề

Rất nhiều văn bản được gán vào chủ đề nhưng chỉ có một số ít là thực sự thuộc chủ đề

0

Hình 2.3 Mối quan hệ giữa Precision và Recall

Trang 31

β là giá trị trọng số của Precision so với Recall Trong một số trường hợp Precision và Recall không được xem trọng

như nhau

Nếu Precision và Recall được xem trọng như nhau (β =1),

công thức trên sẽ trở thành:

r p

pr F

+

= 21

Thông số F1 được sử dụng rất phổ biến trong việc đánh giá độ chính

xác của các giải thuật phân loại văn bản Giá trị của thông số này sẽ đạt

cực đại khi giá trị của Precision bằng hoặc xấp sỉ với giá trị Recall

Thông số F1 có tính tổng quát hơn điểm Break-Even Khi đạt đến

điểm Break-Even, r=p, ta có:

p r r

r r p

Lúc đó giá trị của F1 bằng đúng giá trị của điểm Break-Even

Thông số F1 có độ nhạy nằm trong khoảng giữa độ nhạy của Recall và

Accuracy

Thông số F1 được xem là thông số hữu hiệu nhất trong việc so sánh độ

chính xác của các giải thuật phân loại văn bản Thông số này tỏ ra hiệu

quả đối với các chủ đề có nhiều văn bản lẫn đối với các chủ đề có ít văn

bản

2.4.4 Trung bình Micro và trung bình Macro

Khi phân loại văn bản, tùy theo từng chủ đề mà độ chính xác có thể

khác nhau Có hai phương pháp xác định độ chính xác trung bình trên tất

cả các chủ đề, đó là trung bình Micro và trung bình Macro

Trong phương pháp trung bình Micro, các giá trị a, b, c, d được

cộng dồn trên tất cả các chủ đề Các phương pháp đánh giá độ chính xác

Trang 32

sẽ dựa trên các giá trị a, b, c, d tổng cộng này để tính độ chính xác trung

bình cho toàn bộ giải thuật

Trong phương pháp trung bình Macro, độ chính xác được tính

riêng cho từng chủ đề Độ chính xác trung bình sẽ bằng trung bình các độ

chính xác của từng chủ đề

Giá trị độ chính xác trung bình Micro sẽ khác với giá trị độ chính xác trung bình Macro Ý nghĩa của chúng cũng khác nhau Trong giá trị

trung bình Micro, tất cả các văn bản đều có cùng trọng số Còn trong giá

trị trung bình Macro tất cả các chủ đề đều có cùng trọng số

Ví dụ sau sẽ minh họa cách tính giá trị trung bình Micro, giá trị trung

bình Macro và sự khác nhau của chúng

Giả sử chủ đề 1 có bảng phân bố các giá trị a 1 , b 1 , c 1 , d 1 như sau:

Văn bản thực sự thuộc

chủ đề 1

Văn bản thực sự không thuộc chủ đề 1 Văn bản được

gán vào chủ

đề 1

Văn bản không được

gán vào chủ

đề 1

Chủ đề 2 có bảng phân bố các giá trị a 2 , b 2 , c 2 , d 2 như sau:

Trang 33

Văn bản thực sự thuộc

chủ đề 2

Văn bản thực sự không thuộc chủ đề 2 Văn bản được

gán vào chủ

Văn bản không được

gán vào chủ

đề 2

Để tính giá trị trung bình Micro, các giá trị a, b, c, d được cộng dồn

như trong bảng sau:

Văn bản thực sự thuộc chủ đề 1&2

Văn bản thực sự không thuộc chủ đề 1&2 Văn bản được

gán vào chủ

Văn bản không được

gán vào chủ

Giá trị Precision của chủ đề 2:

p 2 = a 2 /(a 2 +c 2 )

= 90/(90+10) = 0,9

Trang 34

Giá trị Precision tính theo trung bình macro

p ma = (p 1 + p 2 ) /2

= (0,5 + 0,9) /2 = 0,7

Giá trị Precision tính theo trung bình micro

p mi = a/(a + c)

= 100 / (100 + 20) = 0,83

Giá trị Precision tính theo trung bình macro (0,7) hoàn toàn khác với

giá trị Precision tính theo trung bình micro (0,83)

2.5 Kết luận

Chương này trình bày các cơ sở lý thuyết liên quan đến việc phân loại

văn bản như biểu diễn các văn bản, rút gọn kích thước ma trận, các cách

đánh giá độ chính xác của các giải thuật Tất cả các giải thuật phân loại

văn bản đều liên quan đến những vấn đề này Để so sánh độ chính xác

của các giải thuật, cần phải so sánh chúng trên cùng một thông số trung

bình Giá trị trung bình của các thông số này trên các chủ đề phải cùng là

Micro hay Macro Đồng thời thông số này phải có độ chính xác cao trong

mọi trường hợp, ví dụ như điểm Break-Even, F1 Ngoài ra các giải thuật

phân loại văn bản cần phải được xây dựng và kiểm tra trên cùng một tập

training và tập test

Trang 35

Phần 3

TỔNG QUAN VỀ CÁC GIẢI THUẬT

DÙNG TRONG PHÂN LOẠI VĂN BẢN

Có nhiều giải thuật được đưa ra để giải quyết bài toán phân loại văn

bản Về phương pháp có thể phân thành hai loại: loại nhị phân và loại m

phân (m>2)

- Loại nhị phân: đưa vào một văn bản, giải thuật sẽ lần lượt xác định

xem văn bản này có thuộc về từng chủ đề cho trước hay không Một văn

bản có thể thuộc về hơn một chủ đề Hầu hết các giải thuật đều thuộc loại

nhị phân Các giải thuật có thể kể đến là: Naive Bayes, Decision Tree,

Rocchio,…

- Loại m phân (m>2): các chủ đề sẽ được sắp xếp theo thứ tự ứng với

mức độ tương thích với văn bản đưa vào Mỗi chủ đề sẽ có một điểm số

đối với văn bản cần phân loại Nếu điểm số này lớn hơn một ngưỡng đã

xác định trước (tùy vào từng chủ đề) thì văn bản này sẽ thuộc về chủ đề

đó Một văn bản có thể thuộc về nhiều chủ đề Các giải thuật thuộc nhóm

này là: K Nearest Neighbor, WORD,…

Có nhiều phương pháp để chuyển đổi giữa 2 loại trên Chẳng

hạn để chuyển từ m phân sang nhị phân, người ta có thể chọn 1 ngưỡng

thích hợp cho m phân để thu được nhị phân Ngược lại nếu phương pháp

nhị phân có ghi lại mức độ tương thích với từng chủ đề thì người ta cũng

sẽ dễ dàng xếp các chủ đề này theo thứ tự từ cao xuống thấp và thu được

m phân

Dưới đây là một số giải thuật tiêu biểu

Trang 36

3.1 Giải thuật Naive Bayes

Giải thuật này được nói đến trong [CH01][LR94][DH02][KL99][YX99]

3.1.1 Một số lý thuyết về xác suất

- Các xác suất đều nằm giữa 0 và 1

0 ≤ P(A) ≤ 1

- Xác suất hợp của A và B sẽ được tính bởi công thức

P(A ∨ B) = P(A) + P(B) - P(A ∧ B)

- Xác suất có điều kiện:

Xác suất để sự kiện A xảy ra khi đã có sự kiện B là

B P

B A P B A

- Công thức Bayes:

E P

H P H E P E H

|

Trang 37

3.1.2 Phân loại văn bản bằng giải thuật Bayes

- Gọi tập các chủ đề là {c1, c2, … , cn}

- Gọi E làvăn bản cần phân loại

- Ta cần tìm xác suất của văn bản E đối với mỗi chủ đề ci

E P

c P c E P E c

i i

n i

i

E P

c E P c P E

c P

n i

i P E c c

P E

i =

Trong đó:

N là tổng số văn bản trong tập training

n i là số văn bản trong tập training thuộc về chủ đề c i

- Văn bản E được biểu diễn bằng các từ e i như sau:

Trang 38

• e1 = sneeze; e2 = cough; e3 = fever

• E = {sneeze, cough, ¬ fever}

P(cold | E) = (0.05)(0.9)(0.8)(0.3)/P(E) = 0.01/P(E)

P(allergy | E) = (0.05)(0.9)(0.7)(0.6)/P(E) = 0.019/P(E)

P(E) = 0.089 + 0.01 + 0.019 = 0.0379 P(well | E) = 0.23

P(cold | E) = 0.26 P(allergy | E) = 0.50 Vậy xác suất của allergy là cao nhất

3.1.3 Đánh giá giải thuật

- Giải thuật đơn giản, dễ thực hiện

- Xác suất của văn bản đối với chủ đề c i phụ thuộc vào xác suất

P(c i ) Xác suất này được tính dựa vào các văn bản trong tập training Như

vậy xác suất P(c i ) phụ thuộc hoàn toàn vào tập training Giả sử số lượng

các văn bản thuộc về mỗi chủ đề trong tập training khác nhau, khi đó chủ

đề j nào có số lượng văn bản nhiều nhất sẽ có xác suất P(c j ) lớn nhất

Điều này sẽ ảnh hưởng đến độ chính xác của giải thuật

Trang 39

- Trong quá trình tính toán, để đơn giản ta có giả sử các từ e i của

một văn bản là độc lập với nhau khi cho trước chủ đề c i , điều này đôi khi

gây ra sự không chính xác Nếu không đưa ra giả thuyết trên thì việc tính

toán sẽ rất phức tạp (độ phức tạp là một hàm mũ tỉ lệ với hệ số m)

3.2 Giải thuật K Nearest Neighbors

Giải thuật này được nói đến trong [CH01] [KL99] [Yim98]

[Jam02] [YX99] [Ale01]

3.2.1 Giải thuật K Nearest Neighbors

Nguyên tắc của giải thuật này khá đơn giản Với K = 1, để phân

loại một văn bản, ta tìm trong tập training một văn bản giống với văn bản

này nhất và gán chủ đề của văn bản trong tập training cho văn bản cần

j

i sim x d y d c b c

x y

i j

j

c đề chủ uộc ông d

bản văn nếu

c đề chủ uộc d bản văn nếu d

y

th kh

th

c i

01,

Trang 40

b i là ngưỡng để một văn bản thuộc về chủ đề c i. Ngưỡng này

được xác định thông qua tập validation Ngưỡng tốt nhất là ngưỡng làm

cho các thông số đánh giá giải thuật, lấy ví dụ thông số F1, đạt giá trị lớn

nhất Nhờ vào ngưỡng này mà giải thuật có thể gán nhiều chủ đề cho cùng

một văn bản

D là tập training sim(x, d j ) là hàm xác định độ giống nhau giữa văn bản x và văn bản d j thuộc tập training Có nhiều giải thuật để xác định độ giống nhau

của hai văn bản, trong đó tiêu biểu là giải thuật sử dụng hàm cosin của hai

vector như sau:

( )

2 2

),(

j

d x t

ij i j

d x

d x d

t i là từ vừa có trong văn bản x vừa có trong văn bản d j

x i là số hạng biểu diễn cho từ t i trong văn bản x

d ij là số hạng biểu diễn cho từ t i trong văn bản d j

2 3

2 2

2 1

2 = x +x +x +

x

2 3

2 2

2 1

2 = j + j + j +

d

3.2.2 Đánh giá giải thuật

- Giải thuật đơn giản, dễ hiểu

- Không cần giai đoạn huấn luyện như các giải thuật khác

- Thời gian phân loại rất lớn do phải so sánh văn bản đầu vào với tất

cả các văn bản trong tập training

Ngày đăng: 09/02/2021, 17:20

TỪ KHÓA LIÊN QUAN

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