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

TÌM HIỂU THUẬT TOÁN BAYES VÀ CÀI ĐẶT ỨNG DỤNG DOCUMENT CLARIFICATION

20 1,2K 12

Đ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 20
Dung lượng 7,85 MB

Nội dung

Tuy nhiên, cũng có một kỹ thuật khá phổ biến và cho độ chính xác cao trong việc phân loại văn bản đó là phương pháp phân loại theo xác suất Bayes.. Bảng này sẽ gồm một cột “word” chứa cá

Trang 1

Trường Đại Học Công Nghệ Thông Tin

BÀI THU HOẠCH MÔN

KHAI PHÁ DỮ LIỆU

ĐỀ TÀI:

TÌM HIỂU THUẬT TOÁN BAYES

VÀ CÀI ĐẶT ỨNG DỤNG

DOCUMENT CLARIFICATION

GVHD: PGS.TS Đỗ Phúc Người thực hiện: Bùi Chí Cường

Mã số: CH1101007

Lớp: Cao học khóa 6

TP.HCM – 2012

Trang 2

LỜI CẢM ƠN

Lời đầu tiên, em xin gửi lời chân thành cảm ơn đến Ban Chủ nhiệm trường Đại học công nghệ thông tin TP HCM đã tạo điều kiện cho em được tiếp cận với bộ môn Khai phá dữ liệu

Em xin cảm ơn thầy PGS.TS Đỗ Phúc đã tận tình truyền đạt kiến thức cho chúng

em cũng những gì thầy đã giúp đỡ, hướng dẫn để em thực hiện bài tiểu luận.

Em cũng xin gửi lời cảm ơn sâu sắc đến quý thầy cô trong Khoa Công nghệ Thông tin cùng các bạn bè thân hữu đã nhiệt tình đóng góp ý kiến, cũng như động viên để em hoàn thiện hơn đề tài của mình.

Mặc dù đã rất cố gắng nhưng đề tài khó tránh khỏi những thiếu sót và sai lầm, em mong thầy cô và bạn bè cho ý kiến để đề tài ngày càng hoàn thiện hơn.

Một lần nữa, em xin chân thành cảm ơn!

Tp HCM, 10 tháng 11 năm 2012

Bùi Chí Cường CH1101007

Trang 3

MỤC LỤC

LỜI CẢM ƠN

MỤC LỤC

DANH MỤC CÁC HÌNH ss CHƯƠNG I - MỞ ĐẦU 5

1.1 Giới thiệu chung 5

1.2 Hoạt động nghiên cứu 5

CHƯƠNG II - TỔNG QUAN VỀ THUẬT TỐN BAYES 6

2.1 Sự phân hoạch và cơng thức Bayes 6

2.2 Bộ phân lớp Nạve Bayes 6

2.3 Áp dụng định lý Bayes trong phân loại văn bản 9

CHƯƠNG III – DEMO VÀ SETUP 12

3.1 Tổng quan về chương trình demo 12

3.2 Hướng dẫn cài đặt và sử dụng chương trình 12

3.2.1 Yêu cầu 12

3.2.2 Cài đặt và sử dụng chương trình 12

3.2.3 Xử lý văn bản 14

3.2.4 Huấn luyện văn bản: 15

3.2.5 Phân loại văn bản 17

3.2.6 Thử nghiệm 19

CHƯƠNG IV - KẾT LUẬN 20

4.1 Tĩm tắt kết quả đạt được 20

4.2 Hướng phát triển 20

4.3 Tài liệu tham khảo 20

Trang 4

DANH MỤC CÁC HÌNH

Hình 1 - Giao diện chính 13

Hình 2 - Giao diện about 13

Hình 3 - Training with text input 15

Hình 4 - Training with file input 16

Hình 5 - Chọn file để clarify 17

Hình 6 - Clarify file đã chọn 18

Hình 7 - Clarify với dữ liệu nhập vào textbox 18

Hình 8 - Kết quả sau khi clarify 18

Trang 5

1 CHƯƠNG I - MỞ ĐẦU

1.1 Giới thiệu chung.

Ngày này, internet ngày càng phát triển và phổ biến trên thế giới dẫn đến thông tin ngày càng da dạng Việc phân loại thông tin bằng tay thì rất khó khăn và tốn nhiều thời gian Với sự phát triển của công nghệ thông tin đã giúp cho việc phân loại thông tin trở nên dễ dàng hơn

Một lĩnh vực quan trọng trong máy học (learning machine) đó là phân loại văn bản Phân loại văn bản tức là gom những văn bản có cùng chung một chủ đề vào trong một nhóm Những văn bản có thể là những mục tin tức, mục giải trí, thể thao…

Hiện nay, có rất nhiều kỹ thuật để phân loại văn bản như k+nearestneighbor, support vector machines(SVM), boosting decisiontreesand neural network Có rất nhiều nghiên cứu và ứng dụng đã sử dụng kỹ thuật SVM để phân loại văn bản Tuy nhiên, cũng có một kỹ thuật khá phổ biến và cho độ chính xác cao trong việc phân loại văn bản đó là phương pháp phân loại theo xác suất Bayes Đây cũng là phương pháp

mà đề tài thực hiện nghiên cứu và áp dụng

Trong đề tài này sẽ tìm hiểu về lý thuyết Bayes trong phân lớp và từ đó áp dụng trong phân loại văn bản Tiếp theo đề tài sẽ cài đặt và chạy demo thử nghiệm với một

số văn bản để thử nghiệm Chương trình demo được viết bằng ngôn ngữ C# rất quen thuộc và dễ phát triển Cuối cùng là một số danh sách các tài liệu tham khảo

1.2 Hoạt động nghiên cứu.

 Nghiên cứu và áp dụng công thức Bayes trong phân loại văn bản

 Cài đặt và thử nghiệm phân lớp Bayes trong phân loại văn bản

Trang 6

2 CHƯƠNG II - TỔNG QUAN VỀ THUẬT TỐN BAYES

2.1 Sự phân hoạch và cơng thức Bayes

Cho H1, H2, …, Hn là một phân hoạch khơng gian mẫu M và A là biến cố bất kỳ trong M Ta cĩ:

 

0

( )( | )

n

i



Các xác suất P(Hi) và P(A|Hi) thường được biết trước khi thực hiện phép thử và được gọi là xác suất tiền nghiệm ( apriori probability) Xác suất P(A|Hi) cho biết khả năng tham gia của Hi vào việc xảy ra biến cố A Xác suất P(A|Hi) được gọi là xác suất hậu nghiệm ( a posteriori probability) Cĩ thể tính các xác suất hậu nghiệm từ các xác suất tiền nghiệm theo cơng thức sau:

( ) ( | ) ( | )

( )

P Hi P A Hi

P Hi A

P A

* Định lý Bayes:

Cho H1, H2, …, Hn là một phân hoạch khơng gian mẫu và A là biến cố trong M Khi đĩ với mọi i= 1….n ta cĩ:

0

( ) ( | ) ( | )

( ) ( | )

n

k

P Hi P A Hi

P Hi A

P H P A H

2.2 Bộ phân lớp Nạve Bayes

Cho V1,V2, …, Vn là phân hoạch khơng gian mẫu V, mỗi Vi là một lớp Khơng gian các thể hiện X gồm các thể hiện được mơ tả bởi tập thuộc tính A1, A2, …, An Khơng gian các thể hiện X là tập học Khi cĩ thể hiện mới với giá trị <a1,a2,…, an>,

bộ phân lớp sẽ xuất hiện giá trị hàm phân lớp f(x) là một trong các Vi

Tiếp cận Bayes lấy các giá trị cĩ xác suất cao nhất VMAP cho thể hiện mới Chữ MAP viết tắt của cụm từ Maximum A Posterior

1 2

max ( | , , , )

i

V   P v a a a

Trang 7

Sử dụng định lý Bayes ta cĩ:

1 2

1 2

( ) ( , , , | ) max

( , , , )

i

n

V

 max ( ) ( , , ,P v P a a i 1 2 a v n| )i (4.1)

Trong cơng thức trên cĩ hai số hạng cần quan tâm là P(v1) và P(a1,a2,…,an) Ta tính P(vj) bằng cách đếm số lần xuất hiện của giá trị đích vj trong tập học Để tính P(a1,a2,…,an) ta giả thuyết ban đầu các thuộc tính là độc lập Nĩi cách khác, xác suất của một thể hiện quan sát được <a1, a2, …, an> trên mỗi lớp vj là tích của các khả năng của từng thuộc tính riêng biệt trên vj

1 2

( , , , | ) ( | )

i

Do vậy, cơng thức (4.1) được viết lại là:

NB vi V i i i

i

với NB là viết tắt của cụm từ Nạve Bayes

Bộ phân lớp Bayes liên quan đến bước học trong đĩ P(vj) và P(a1,a2,…,an) được tính dựa trên tập học

Để phân lớp ta dùng cơng thức:

n

NB v V i i i

i

V   P vP a v

Ví dụ:

Cho bảng dữ liệu “Chơi bĩng đá”

Trang 8

Nắng Ấm_áp Cao Không N

Ta có thể tính các xác suất sau:

Thời tiết

Nhiệt độ

Độ ẩm

Gió

Cuối cùng ta có P(p) = 9/14 và P(n) = 5/14

Với bảng dữ liệu trên Cho phân lớp X chưa được tìm thấy như sau X= < mưa, nóng, cao, không>

Phân lớp X:

Một mẫu chưa được gặp X = <mưa, nóng, cao, không>

P(X|p)P(p) = P(mưa|p)P(nóng|p)P(cao|p)P(không|p)P(p) =

3/9x2/9x3/9x6/9x9/14=0.010582

P(X|n)P(n)= P(mưa|n)P(nóng|n)P(cao|n)P(không|n)P(n) =

2/5x2/5x4/5x2/5/5/14=0.018286

Vậy mẫu X được phân vào lớp n (không chơi bóng đá)

Trang 9

2.3 Áp dụng định lý Bayes trong phân loại văn bản

Phương pháp phân loại Bayes thực hiện việc phân loại bắt đầu với việc phân tích văn bản bằng cách trích những từ được chứa trong văn bản Để thực hiện việc phân tích này, một thuật toán trích từ đơn giản để lấy ra những từ khác nhau trong văn bản Những từ này sẽ được lưu vào một danh sách dùng để tính xác suất mỗi từ thuộc về mỗi loại Danh sách từ sau đó sẽ được sử dụng để sinh ra một bảng chứa xác suất của

từ đó thuộc về một loại Bảng này sẽ gồm một cột “word” chứa các từ trong văn bản và một số cột xác suât của từ đó cho mỗi loại, tức là có bao nhiêu loại văn bản thì sẽ có bấy nhiêu cột xác suất Giá trị của cột xác suất sẽ tính theo công thức Bayes mà sẽ được trình bày ở bên dưới

Trước khi tính xác của từ thuộc về một loại nào, từ đó cần phải được huấn luyện bằng một tập dữ liệu huấn luyện được tổ chức, định dạng theo một qui chuẩn Mỗi từ phân biệt từ các văn bản huấn luyện trong cùng một loại sẽ đưa vào danh sách xuất hiện từ cho loại đó

Dựa vào danh sách xuất hiện của từ, việc phân loại theo xác suất sẽ tiến hành tính toán xác suất hậu nghiệm của từ đó thuộc về một loại cụ thể bằng cách sử dụng công thức (2) Từ xuất hiện càng nhiều cho một loại thì xác suất càng càng cao, việc phân loại càng chính xác

Công thức trên cho thấy rằng bằng cách quan sát giá trị của một từ cụ thể wj, xác suất của một loại cụ thể Ci, Pr(Ci) có thể được chuyển thành xác suất hậu nghiệm Pr(Ci|wj) Pr(Ci|wj) là xác suất của từ wj thuộc về loại Ci Pr(Ci) có thể được tính bằng công thức sau:

Trang 10

Pr(wj) có thể được tính bằng công thức sau:

Theo công thức Bayes trong phân loại văn bản, với giá trị của xác suất

Pr(Category), Pr(Word|Category) và Pr(Word), xác suất hậu nghiệm Pr(Category | Word) của mỗi từ trong văn bản thuộc về một loại có thể được xác định

Xác suất hậu nghiệm của một từ thuộc về mỗi loại sẽ được điền vào bảng xác suất bên dưới

Sau khi các ô xác suất được điền vào, xác suất tổng thể của một văn bản thuộc về một loại cụ thể Ci được tính bằng cách chia tổng mỗi cột xác suất cho tổng số từ trong văn bản

Trang 11

Loại nào có xác suất Pr(Category | Document) cao nhất thì văn bản sẽ thuộc về loại đó theo luật phân loại Bayes

Trang 12

3 CHƯƠNG III – DEMO VÀ SETUP

3.1 Tổng quan về chương trình demo

 Chương trình demo được thực hiện qua 2 giai đoạn:

o Training cho ứng dụng phân loại chính xác hơn

o Làm rõ và phân loại văn bản nào đó

3.2 Hướng dẫn cài đặt và sử dụng chương trình

Chương trình chạy trên nền Net Framework 4.0 nên người dùng cần phải cài đặt Net Framework 4.0 Tải và cài đặt tại địa chỉ:

http://www.microsoft.com/en-us/download/details.aspx?id=17851

Chương trình được đóng gói thành tập tin DocumentClarification.exe Người

dùng có thể click setup và theo hướng dẫn cài đặt cho đến khi hoàn tất

Sau khi kết thúc cài đặt, hãy khởi động chương trình bằng cách double click vào biểu tượng hình mặt cười trên desktop

Trang 13

Giao diện màn hình giao diện chính sẽ hiển thị.

Hình 1 - Giao diện chính

Hình 2 - Giao diện about

Trang 14

Người dùng thơng qua giao diện ( GUI ) để huấn luyện một số văn bản cho một số loại cụ thể Các văn bản này sẽ thơng qua Learning Facility để chia nhĩm các văn bản

ra theo từng loại Nhĩm các văn này sẽ được lưu vào cơ sở dữ liệu và sau đĩ thơng qua

bộ Training data gerneration facility để sinh ra danh sách số lần xuất hiện của từ Danh sách này sẽ được dùng trong việc tính xác suất Bayes trong cơng thức phân loại văn bản

Để tiến hành phân loại người dùng cũng thơng qua giao diện để nhập văn bản cần phân loại Văn bản này sẽ được đưa vào bộ phân tích từ gọi là Input Document

Analysis để sinh ra một danh sách số lần xuất hiện của từ Danh sách này sẽ tính tốn trong cơng thức Nạve Bayes để tính xác suất đúng cho loại của văn bản nhập vào

Chương trình demo sẽ gồm 2 chức năng đĩ là huấn luyện văn bản và phân loại văn bản Dữ liệu huấn luyện sẽ được lưu lại theo một chuẩn và cĩ thể được sử dụng cho những lần huấn luyện tiếp theo

Để tiến hành huấn luyện hay phân loại văn bản, trước hết văn bản cần phải được đưa qua bộ xử lý văn bản Nhiệm vụ chủ yếu của bộ xử lý văn bản là tách những từ riêng biệt trong văn bản và đưa vào một danh sách Những từ được tách trong văn bản

là những từ cĩ chiều dài tối thiểu tùy thuộc vào chương trình qui định Trong chương trình demo trong đề tài này thì những từ cần xử lý là những từ cĩ chiều dài tối thiểu là

3 ký từ Vì những từ cĩ cĩ chiều dài quá ngắn sẽ khơng mang nhiều ý nghĩa trong văn bản

Bộ xử lý văn bản cũng cần xử lý những từ thường xuyên xuất hiện nhưng khơng mang ý nghĩa gì trong văn bản Những từ này gọi là STOP LIST, chẳng hạn như các từ the, a, an, is, …Việc loại bỏ những từ này sẽ gĩp phần cho dữ liệu huấn luyện được chính xác hơn

Trang 15

3.2.4 Huấn luyện văn bản:

Từ giao diện chính của chương trình click vào biểu tượng , chương trình

sẽ mở hộp thoại để cho người dùng huấn luyện văn bản

Để huấn luyện văn bản, người dùng có thể nhập trực tiếp nội dung vào chương trình hoặc nhập từ một tập tin văn bản Sau đó chọn một loại cho văn bản đó rồi nhấn nút Add

Hình 3 - Training with text input

Trang 16

Hình 4 - Training with file input

Vì mục đích demo, chương trình chỉ hổ trợ 3 loại văn bản: Sport, News,

Entertainment…Những văn mang nội dung thể thao như bóng đá, bóng rỗ, quần vợt,

… sẽ thuộc về loại Sport Những văn bản mang tính chất tin tức như tài chính, thế giới, kinh tế, cổ phẩn, thị trường chứng khoán… sẽ thuộc về loại News Những văn bản mang nội dung giải trí như âm nhạc, điện ảnh, thời trang… sẽ thuộc về loại

Entertainment

Việc huấn luyện cần phải thực hiện chính xác cho mỗi loại, tức là văn bản thuộc

về loại nào thì cần phải chọn đúng loại cho văn bản đó Việc huấn luyện này càng nhiều thì chương trình sẽ phân loại càng chính xác

Sau khi huấn luyện xong, nhấn nút Finish để kết thúc quá trình huấn luyện văn

bản Chương trình sẽ tạo ra một tập tin dữ liệu huấn luyện “dictionary.bcc” cùng với

thư mục chạy của chương trình Người dùng có thể lưu tập tin này để sử dụng cho những lần huyến luyện tiếp theo

Trang 17

Người dùng có thể khám phá tập tin dữ liệu huấn luyện “dictionary.bcc” mở tập tin

này bằng một chương trình soạn thảo văn bản Tập tin này chứa tất cả các từ mà người dùng đã huấn luyện cùng với số lần xuất hiện cho mỗi loại Chú ý là người dùng không nên sửa đổi tập tin này bởi vì có thể gây ra hỏng dữ liệu

Có 2 cách phân loại văn bản:

1 Mở 1 file dữ liệu có sẵn nào đó :

- Click “Browse ” button

Hình 5 - Chọn file để clarify

- Chọn file dữ liệu nào đó và click “Clarify” button

Trang 18

Hình 6 - Clarify file đã chọn

2 Nhập văn bản vào ô textbox và click “Clarify” button

Hình 7 - Clarify với dữ liệu nhập vào textbox

Kết quả được phân loại văn bản hiển thị:

Trang 19

3.2.6 Thử nghiệm

Chương trình đã tiến hành huấn luyện dữ liệu từ trang tin tức CNN news

http://edition.cnn.com/

Sau đây là một số kết quả của quá trình huấn luyện và phân loại

Văn bản Tổng sổ lần xuất hiện Tổng sổ từ

Văn bản Số văn bản Phân loại đúng Phân loại sai Tỉ lệ

Kết quả phân loại trên chỉ mang tính tương đối vì việc huấn luyện được thực hiện trong một phạm vi nhỏ Nhưng đa số các văn bản mà người dùng đã huấn luyện vài lần cho thì việc phân loại là khá chính xác Tuy nhiên, về tổng thể thì bộ dữ liệu huấn luyện cần phải được huấn luyện từ vài ngàn đến vài chục ngàn văn bản trở lên thì mới đảm bảo tính chính xác cho việc phân loại

Trang 20

4 CHƯƠNG IV - KẾT LUẬN

4.1 Tóm tắt kết quả đạt được

Đề tài đã nghiên cứu và áp dụng được lý thuyết phân lớp Bayes vào việc phân loại văn bản

Chương trình demo đã áp dụng thành công lý thuyết Bayes trong phân loại văn bản

4.2 Hướng phát triển

Do đề tài được thực hiện trong thời gian ngắn nên bộ dữ liệu huấn luyện còn khá nhỏ dẫn đến việc huấn luyện thiếu chính xác Để khắc phục nhược điểm này đề tài cần

có thêm thời gian để huấn luyện thêm văn bản

Chương trình demo chỉ xử lý cho ngôn ngữ là tiếng Anh Tương lai đề tài cần mở rộng xử lý cho ngôn ngữ là tiếng Việt

Về tốc độ xử lý là khá chậm đề tài cần phải được cải thiện Để khắc phục nhược điểm này, đề tài cần phải kết hợp với thuật toán SVM trong việc phân loại văn bản

4.3 Tài liệu tham khảo

[1] Dino Isa, V P Kallimani , R Rajkumar , Lam Hong, Lee - Text Document Pre-Processing Using the Bayes Formula for Classification Based on the Vector Space Model 2008

[2] TS Đỗ Phúc - Giáo trình khai thác dữ liệu, Đại Học Quốc Gia HCM 2006

[3] Kun Yang, Fei Yao - Document Classification 2005

[4] XiaohuaZhou, XiaodanZhang, XiaohuaHu - Semantic Smoothing for Bayesian Text Classification with Small Training Data

Ngày đăng: 10/04/2015, 00:24

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w