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

PHÂN LOẠI VĂN BẢN BẰNG THUẬT TOÁN NAIVE BAYES

34 856 2

Đ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 34
Dung lượng 1,13 MB

Nội dung

LỜI MỞ ĐẦUPhân loại văn bản là một vấn đề quan trọng trong lĩnh vực xử lý ngơn ngữ.Nhiệm vụ của bài tốn này là gán các tài liệu văn bản vào nhĩm các chủ đề cho trước.Đây là một bài tốn r

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO MÔN HỌC MÔN MÁY HỌC

ĐỀ TÀI: PHÂN LOẠI VĂN BẢN BẰNG THUẬT TOÁN

NAIVE BAYES

Giảng viên hướng dẫn: TS.Nguyễn Thị Thu Hà

Nhóm sinh viên thực hiện:

Trần Văn ĐạiNguyễn Minh Đức

Vũ Văn Tuấn

Hà Nội, 12-2012

Trang 2

LỜI MỞ ĐẦU

Phân loại văn bản là một vấn đề quan trọng trong lĩnh vực xử lý ngơn ngữ.Nhiệm vụ của bài tốn này là gán các tài liệu văn bản vào nhĩm các chủ đề cho trước.Đây là một bài tốn rất thường gặp trong thực tế điển hình như: một nhà chuyên phântích thị thường chứng khốn, anh ta cần phải tổng hợp rất nhiều tài liệu, bài viết về thịtrường chứng khốn để đọc và đưa ra phán đốn của mình Tuy nhiên, anh ta khơngthể đọc tất cả các bài viết, bài báo hay các tài liệu để rồi phân loại chúng đâu là tài liệuchứng khốn sau đĩ anh ta mới đọc kỹ chúng cho mục đích của anh ta Lý do của vấn

đề này là bởi vì số lượng bài viết, bài báo hiện nay rất nhiều, đặc biệt là trên internet,nếu để đọc hết được tất cả tài liệu đĩ thì sẽ mất rất nhiều thời gian Một ví dụ kháctrong thực tế là việc phân loại spam mail Khi một mail được gửi đến hộp thư, nếu đểngười dùng phải đọc tất cả các mail thì sẽ tốn rất nhiều thời gian vì spam mail rấtnhiều Vì vậy, cần cĩ một hệ thống phân loại đâu là spam mail và đâu là mail tốt

Để giải bài tốn này đã cĩ rất nhiều phương pháp được đưa ra như: thuật tốnNạve Bayes, K-NN (K-Nearest-Neighbor), Cây quyết định (Decision Tree), MạngNeuron nhân tạo (Artificial Neural Network) và SVM (Support Vector Machine) Mỗiphương pháp đều cho kết quả khá tốt cho bài tốn này, tuy nhiên phương pháp phânloại văn bản bằng thuật tốn Bayes được sử dụng phổ biến hơn cả và dễ dàng cài đặt

Chính vì vậy chúng em lựa chọn đề tài: “Phân loại văn bản bằng thuật tốn Bayes “

làm đề tài kết thúc mơn học của mình

Chúng em xin chân thành cảm ơn các thầy, cơ bộ mơn đã tận tình giảng dạy emtrong suốt thời gian học tập vừa qua Nhờ cĩ sự chỉ dạy tận tình của cơ Nguyễn ThịThu Hà trực tiếp hướng dẫn giảng dạy, cùng sự đào tạo của các thầy cơ bộ mơn kháctrong thời gian qua giúp chúng em hồn thành bài báo cáo này Do đây là lần đầu tiêntriển khai một hệ thống cĩ tính thực tiễn cao, nên quá trình triển khai cĩ thể cịn nhiềusai sĩt Mong các thầy cơ đĩng gĩp ý kiến giúp chúng em hiểu rõ hơn về bài tốn.Một lần nữa chúng em xin chân thành cảm ơn các thầy cơ!

Trang 3

MỤC LỤC

Trang 4

DANH MỤC HÌNH ẢNH

Trang 5

DANH MỤC BẢNG

Trang 6

CHƯƠNG 1 BÀI TỐN PHÂN LOẠI VĂN BẢN

1.1 Giới thiệu

Ngày nay, sự bùng nổ thơng tin do bị tác động bởi sự xuất hiện của các siêuphương tiện và World Wide Web (WWW) đã làm cho khơng gian dữ liệu gia tăngthường xuyên, điều này tạo ra một thách thức cho các hệ thống truy vấn thơng tin saocho cĩ hiệu quả Một trong những khĩ khăn mà các hệ thống thơng tin thường phảigặp đĩ là tần suất cập nhật của các thơng tin quá lớn Phương thức sử dụng giấy tronggiao dịch đang dần được số hĩa, do nhiều tính năng vượt trội mà phương thức nàymang lại, như là cĩ thể lưu trữ lâu dài, cập nhật, sửa đổi, tìm kiếm một cách nhanhchĩng Do đĩ số lượng văn bản số hĩa ngày nay đang tăng dần theo cấp số nhân, cùngvới sự gia tăng của số lượng văn bản, nhu cầu tìm kiếm văn bản cũng tăng theo, khi đĩphân loại văn bản tự động là một yêu cầu cấp thiết được đặt ra Phân loại văn bản giúp

sẽ giúp chúng ta tìm kiếm thơng tin một cách nhanh chĩng hơn thay vì phải tìm lầnlượt trong từng văn bản, hơn nữa khi mà số lượng văn bản đang gia tăng một cáchnhanh chĩng thì thao tác tìm lần lượt trong từng văn bản sẽ mất rất nhiều thời gian,cơng sức và là một cơng việc nhàm chán và khơng khả thi Chính vì thế nhu cầu phânloại văn bản tự động là thực sự cần thiết

Cĩ rất nhiều cơng trình nghiên cứu về phân loại văn bản và đã cĩ được nhữngkết quả đáng khích lệ, như là: Support Vector Machine, K–Nearest Neighbor, LinearLeast Squares Fit, Neural Network, Nạve Bayes, Centroid Base… Điểm chung củacác phương pháp này đều dựa vào xác suất thống kê hoặc dựa vào trọng số của các từ,cụm từ trong văn bản.Trong mỗi phương pháp đều cĩ cách tính tốn khác nhau, tuynhiên các phương pháp này đều phải thực hiện một số bước chung như: đầu tiên mỗiphương pháp sẽ dựa vào thơng tin về sự xuất hiện của các từ trong văn bản(tần số xuấthiện trong tập văn bản,…) để biểu diễn thành dạng vector, sau đĩ tùy từng bài tốn cụthể mà chúng ta sẽ quyết định chọn áp dụng phương pháp nào, cơng thức tính tốn nàocho phù hợp để phân loại tập văn bản dựa trên tập các vector đã xây dựng được ở bướctrên, nhằm mục đích đạt được kết qủa phân loại tốt nhất

Trang 7

1.2 Phát biểu bài toán

Bài toán phân loại văn bản có thể được phát biểu như sau: Cho trước một tập vănbản D={d1,d2,…,dn} và tập chủ đề được định nghĩa C={c1,c2,…,cn} Nhiệm vụ củabài toán là gán lớp Di thuộc về Cj đã được định nghĩa Hay nói cách khác, mục tiêucủa bài toán là đi tìm hàm f :

1.3 Mô hình tổng quát

Có rất nhiều hướng tiếp cận bài toán phân loại văn bản đã được nghiên cứu như:tiếp cận bài toán phân loại dựa trên lý thuyết đồ thị, cách tiếp cận sử dụng lý thuyết tậpthô, cách tiếp cận thống kê… Tuy nhiên, tất cả các phương pháp trên đều dựa vào cácphương pháp chung là máy học đó là: học có giám sát, học không giám sát và học tăngcường

Vấn đề phân loại văn bản theo phương pháp thống kê dựa trên kiểu học có giámsát được đặc tả bao gồm 2 giai đoạn: giai đoạn huấn luyện và giai đoạn phân lớp

- Giai đoạn huấn luyện

Chúng ta có một tập huấn luyện, mỗi phần tử trong tập huấn luyện được gán vàomột hoặc nhiều lớp mà chúng ta sẽ thể hiện chúng bằng một mô hình mã hoá Thôngthường, mỗi phần tử trong tập huấn luyện được thể hiện theo dạng () Trong đó, làvector biểu diễn cho văn bản trong tập huấn luyện

Sau đó, chúng ta định nghĩa một lớp mô hình và một thủ tục huấn luyện Lớp môhình là họ các tham số của bộ phân loại, thủ tục huấn luyện là một giải thuật (hay thuậttoán) để chọn ra một họ các tham số tối ưu cho bộ phân loại

Hình 1.1 Mô hình giai đoạn huấn luyện

Trang 8

Đầu vào : ngữ liệu huấn luyện và thuật toán huấn luyện

Đầu ra : mô hình phân lớp (bộ phân lớp – classifier)

Các bước trong giai đoạn huấn luyện:

Hình 1.2 Các bước trong giai đoạn huấn luyệnTrong đó :

Ngữ liệu huấn luyện: kho ngữ liệu thu thập từ nhiều nguồn khác nhau

Tiền xử lý: chuyển đổi tài liệu trong kho ngữ liệu thành một hình thức phù hợp

để phân loại

Vector hoá: mã hoá văn bản bởi một mô hình trọng số

Trích chọn đặc trưng: loại bỏ những từ (đặc trưng) không mang thông tin khỏi tàiliệu nhằm nâng cao hiệu suất phân loại và giảm độ phức tạp của thuật toán huấn luyện.Thuật toán huấn luyện: Thủ tục huấn luyện bộ phân lớp để tìm ra họ các tham sốtối ưu

Đánh giá : bước đánh giá hiệu suất (chất lượng) của bộ phân lớp

- Giai đoạn phân lớp

Sau khi đã hoàn thành giai đoạn huấn luyện, mô hình phân lớp sẽ được áp dụngcho các văn bản mới cần phân loại

Trang 9

Hình 1.3 Mô hình giai đoạn phân lớpCác bước trong giai đoạn phân lớp:

Hình 1.4 Các bước trong giai đoạn phân lớp

1.4 Mục đích và phạm vi nghiên cứu

Mục đích:

+ Tìm hiểu thuật toán Navie Bayes và phạm vi ứng dụng của nó trong phânloại văn bản

+ Nắm rõ hơn về cơ chế học tập và huấn luyện máy học

+ Xây dựng một chương trình có khả năng phân loại văn bản sau khi tìmhiểu thuật toán

Phạm vi nghiên cứu: chương trình thực hiện trong một quy mô nghiên cứu nhỏvới một số lượng văn bản không nhiều vào khoảng <100 văn bản

Trang 10

CHƯƠNG 2 CƠ SỞ XÂY DỰNG CHƯƠNG TRÌNH

2.1 Chương trình sử dụng

2.1.1 Microsoft SQL 2008

Microsoft SQL 2008 là một hệ quản trị cơ sở dữ liệu tương tác với người sử dụngchạy trên môi trường Windows, nó tăng thêm sức mạnh trong công tác tổ chức và tìmkiếm thông tin, các qui tắc kiểm tra dữ liệu, giá trị mặc định, khuôn nhập dữ liệu củaMicrosoft SQL 2008 hoàn toàn đáp ứng yêu cầu Quản lý được khối lượng dữ liệu lớnvới tần suất truy cập dữ liệu cao, đáp ứng các dịch vụ trực tuyến và đảm bảo các yêucầu về an toàn dữ liệu Với việc hỗ trợ các chuẩn CSDL sẽ giúp hệ thống dữ liệu mạnhhơn với khả năng kết nối, nâng cấp và bảo trì

2.1.2 Microsoft Visual Studio 2010

Microsoft Visual Studio 2010 là ngôn ngữ hoàn thiện và hoạt động theo hướng đối tượng.

Microsoft Visual Studio 2010 là ngôn ngữ lập trình thông dụng trên Windows,

hỗ trợ quản lý Cơ sở dữ liệu, lập trình Internet

Microsoft Visual Studio 2010 có nhiều tính năng mới, các điều khiển mới chophép ta viết các chương trình ứng dụng kết hợp các giao diện, cách xử lý và tính năngcủa Office và trình duyệt Web, ngoài ra khi dùng Microsoft Visual Studio 2010 sẽ tiếtkiệm thời gian và công sức so với các ngôn ngữ lập trình khác khi xây dựng cùng mộtứng dụng

Microsoft Visual Studio 2010 gắn liền với khái niệm lập trình trực quan (Visual),nghĩa là khi thiết kế chương trình ta nhìn thấy ngay kết quả qua từng thao tác và giaodiện khi chương trình thực hiện Đây là thuận lợi lớn so với các ngôn ngữ lập trìnhkhác

Bên cạnh đó, Microsoft Visual Studio 2010 còn hỗ trợ tính năng kết nối môitrường dữ liệu Access, SQL, việc liên kết dữ liệu có thể thực hiện bằng nhiều cách

2.2 Cơ sở lý thuyết

2.2.1 Tiền xử lý văn bản

Trang 11

Văn bản trước khi được vector hoá, tức là trước khi sử dụng, cần phải được tiền

xử lý Quá trình tiền xử lý sẽ giúp nâng cao hiệu suất phân loại và giảm độ phức tạpcủa thuật toán huấn luyện

Tuỳ vào mục đích bộ phân loại mà chúng ta sẽ có những phương pháp tiền xử lývăn bản khác nhau như:

- Chuyển văn bản về chữ thường

- Loại bỏ dấu câu (nếu không thực hiện tách câu)

- Loại bỏ các kí tự đặc biệt ([ ],[.], [,], [:], [“], [”], [;], [/], [[]], [~], [`], [!], [@],[#], [$],[%],[^],[&],[*],[(],[)]), các chữ số, phép tính toán số học

- Loại bỏ các stopword (những từ xuất hiện hầu hết trong các văn bản) không có

ý nghĩa khi tham gia vào phân loại văn bản

- …

2.2.2 Phương pháp biểu diễn văn bản

Một trong những nhiệm vụ đầu tiền trong việc xử lý phân loại văn bản là chọnđược một mô hình biểu diễn văn bản thích hợp Một văn bản ở dạng thô (dạng chuỗi)cần được chuyển sang một mô hình khác để tạo thuận lợi cho việc biểu diễn và tínhtoán Tuỳ thuộc vào từng thuật toán phân loại khác nhau mà chúng ta có mô hình biểudiễn riêng Một trong những mô hình đơn giản và thường được sử dụng trong nhiệm

vụ này là mô hình không gian vector Một văn bản trong nhiệm vụ này được biểu diễntheo dạng , với là một vector n chiều để đo lường giá trị của phần tử văn bản

2.2.3 Mô hình không gian vector

Mô hình không gian vector là một trong những mô hình được sử dụng rộng rãinhất cho việc tìm kiếm (truy hồi) thông tin Nguyên nhân chính là bởi vì sự đơn giảncủa nó

Trong mô hình này, các văn bản được thể hiện trong một không gian có số chiềulớn, trong đó mỗi chiều của không gian tương ứng với một từ trong văn bản Phươngpháp này có thể biểu diễn một cách hình tượng như sau : mỗi văn bản D được biểudiễn dưới dạng (vector đặc trưng cho văn bản D) Trong đó, =(x1, x2, …, xn ), và n là

số lượng đặc trưng hay số chiều của vector văn bản, xi là trọng số của đặc trưng thứ i(với 1≤ i ≤n)

Như vậy, nếu trong kho ngữ liệu của quá trình huấn luyện nhiều văn bản, ta kíhiệu Dj, là văn bản thứ j trong tập ngữ liệu, và vector j=( x1j , x2j , … , xnj ) là vector đặctrưng cho văn bản Dj, và xij là trọng số thứ i của vector văn bản j

2.2.4 Khái niệm trọng số

Trang 12

Một vấn đề quan trọng nữa trong việc biểu diễn một văn bản đó là tính trọng sốcho vector đặc trưng của văn bản Có nhiều cách khác nhau để tính trọng số này như:

- Word frequency weighting

từ đó trong văn bản Tuy nhiên vẫn có nhiều cách khác nhau để tính trọng số dạng này

Có ba thông tin được sử dụng trong cách tính trọng số bằng tần suất từ là: termfrequency ( tfij số lần suất hiện của từ wi trong văn bản dj ), document frequency (dfi sốvăn bản có chứa từ wi), collection frequency ( cfi số lần suất hiện của từ wi trong cả tậpngữ liệu) Trong đó, dfi ≤ cfi và ∑j tfij =cfi

Thông tin được nắm bắt bởi term frequency là sự nổi bật của thông tin (hay từ)trong một văn bản Term frequency càng cao (số lần xuất hiện càng nhiều trong vănbản) thì đó là từ miêu tả tốt cho nội dung văn bản Giá trị thứ hai, document frequency,

có thể giải thích như là một bộ chỉ định nội dung thông tin Một từ được tập trung ngữnghĩa thường xảy ra nhiều lần trong một văn bản nếu nó cũng xuất hiện trong tất cảcác văn bản khác Nhưng từ không được tập trung ngữ nghĩa trải đều đồng nhất trongtất cả các văn bản

Để thể hiện trọng số phản ánh hết thông tin của từ, thường ta sẽ kết hợp cả hailoại trọng số là tf và df trong một đơn vị chung Dạng biểu diễn trọng số này được gọi

là tf * idf Công thức kết hợp hai giá trị trọng số :

Trong đó, N là tổng số văn bản Biểu thức thứ nhất áp dụng cho các từ có xuấthiện trong văn bản, còn biểu thức thứ hai cho các từ không xuất hiện trong văn bản

Trang 13

CHƯƠNG 3 PHÂN TÍCH VÀ THIẾT KẾ

Chương trình có một giao diện thân thiện dễ sử dụng với người dùng

Việc thêm văn bản có thể thêm nhiều văn bản cùng một lúc để việc quản lý tiếtkiệm thời gian hơn

Có thể sử lý với các loại văn bản txt hoặc doc

Trang 14

3.2 Thiết kế

3.2.1 Kiến trúc chung

Chương trình được xây dựng theo mơ hình 3 lớp

- Về tổng quan chương trình được xây dựng cĩ các form chức năng sau:+ Về mặt quản lý:

From QLVB nhằm quản lý các văn bản và thơng tin liên quan

From QLTV nhằm quản lý các từ vựng phục vụ cho việc phân loại

Form QLLV nhằm quản lý các lĩnh vực được phân loại

Các form quản lý mã hĩa (QLMH), quản lý huấn luyện (QLHL), quản lý chi tiếthuấn luyện (QLCTHL)… nhằm lưu và quản lý các thơng tin trong mỗi lần huấn luyện

+ Về chức năng:

Form HuanLuyen nhằm huấn luyện và quản lý các văn bản huấn luyện

Form PhanLoai nhằm phân loại văn bản

3.2.2 Thuật tốn

3.2.2.1 Định lý Bayes

Đây là thuật tốn được xem là đơn giản nhất trong các phương pháp Bộ phân lớpBayes cĩ thể dự báo các xác suất là thành viên của lớp, chẳng hạn xác suất mẫu chotrước thuộc về một lớp xác định Chúng giả định các thuộc tính là độc lập nhau (độclập điều kiện lớp)

Thuật tốn Nạve Bayes dựa trên định lý Bayes được phát biểu như sau:

Trong đĩ:

- Y đại diện một giả thuyết, giả thuyết này được suy luận khi cĩ được chứng cứmới X

- P(X) : xác xuất X xảy ra (Xác suất biên duyên của X)

- P(Y) : xác xuất Y xảy ra (Điều kiện tiên nghiệm của Y)

- P(X|Y) : xác xuất X xảy ra khi Y xảy ra (xác suất cĩ điều kiện, khả năng X khi

Y đúng)

- P(Y|X) : xác suất hậu nghiệm của Y nếu biết X

Trang 15

- Các thuộc tính x1,x2,…xn độc lập xác suất đôi một với nhau

Theo định lý Bayes :

Theo tính chất độc lập điều kiện :

Khi đó, luật phân lớp cho các tài liệu mới Xnew ={x1, x2, … , xn} là:

Trong đó :

- P(Ci): được tính dựa trên tần suất xuất hiện tài liệu trong tập huấn luyện

- P(xk|C): được tính từ những tập thuộc tính đã được tính trong quá trìnhhuấn luyện

- Xnew được gán vào lớp có giá trị lớn nhất theo công thức:

Xét một ví dụ kinh điển là ví dụ dự đoán xem quyết định của người chơi có đichơi Tennis hay không với các điều kiện về thời tiết đã được biết trước Trong ví dụnày, ta có một bảng dữ liệu huấn luyện như sau:

Trang 16

Bảng 3.1 Ví dụ về bảng dữ liệu huấn luyệnBước 1 :

Trang 17

P(yes)*P(Xnew|yes) = 0.005

P(no)* P(Xnew|no) = 0.021

→ Xnew thuộc vào lớp No

3.2.2.3 Áp dụng trong phân loại văn bản

Để áp dụng thuật tốn Nạve Bayes vào phân loại văn bản, ta cần thực hiện cácbước tiền xử lý và vector hố các văn bản trong tập huấn luyện Các phương pháp tiền

xử lý và vector hố đã được trình bày ở những phần trước Tuy nhiên, do thuật tốnNạve Bayes dựa trên xác suất văn bản và xác suất đặc trưng, do đĩ ở phương phápnày, chúng ta sẽ sử dụng phương pháp vector hố bằng cách đếm tần suất từ (Wordfrequency weighting)

Ngày đăng: 03/07/2015, 14:44

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w