Đề tài “Nghiên cứu lý thuyết Naive Bayes và ứng dụng trong phân loại văn bản Tiếng Việt” nhằm tìm hiểu và thử nghiệm các phương pháp phân loại văn bản áp dụng trên tiếng Việt.. Chương
Trang 1ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
-
-NGUYỄN THỊ THÙY DƯƠNG
NGHIÊN CỨU LÝ THUYẾT NAIVE BAYES VÀ
ỨNG DỤNG TRONG PHÂN LOẠI VĂN BẢN TIẾNG VIỆT
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60.48.0101 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Người hướng dẫn khoa học:
TS NGUYỄN THỊ THU HÀ THÁI NGUYÊN, NĂM 2015
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan:
1 Những nội dung trong luận văn này là do tôi thực hiện dưới sự trựctiếp hướng dẫn của cô giáo TS Nguyễn Thị Thu Hà
2 Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tácgiả, tên công trình, thời gian, địa điểm công bố
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôixin chịu hoàn toàn trách nhiệm
Tác giả luận văn
Nguyễn Thị Thùy Dương
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Trang 3LỜI CẢM ƠN
Lời đầu tiên tôi xin được bày tỏ lòng biết ơn chân thành đến Ban GiámHiệu, các thầy giáo, cô giáo phòng Sau đại học trường Đại học Công NghệThông Tin & Truyền Thông, các thầy giáo ở Viện Công Nghệ Thông Tin đãgiảng dạy và tạo mọi điều kiện cho tôi học tập, nghiên cứu và hoàn thành luậnvăn này
Đặc biệt, tôi xin bày tỏ sự kính trọng và lòng biết ơn sâu sắc đến TS.Nguyễn Thị Thu Hà, người đã tận tình hướng dẫn và giúp đỡ tôi trong suốtquá trình học tập, nghiên cứu và hoàn thành luận văn
Tôi chân thành cảm ơn các thầy cô Khoa Công nghệ thông tin, TrườngTrung cấp nghề Phát Thanh Truyền Hình Thanh Hóa nơi tôi công tác đã tạođiều kiện và hỗ trợ tôi trong suốt thời gian qua
Tôi cũng xin chân thành cảm ơn người thân, bạn bè đã giúp đỡ và độngviên tôi trong suốt thời gian học tập cũng như trong thời gian thực hiện luậnvăn
Xin chân thành cảm ơn!
Thái Nguyên, ngày 20 tháng 08 năm 2015
Trang 4MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN iii
DANH SÁCH CÁC BẢNG vi
Chương 1: TỔNG QUAN VỀ PHÂN LOẠI VĂN BẢN 3
1.1 Giới thiệu bài toán phân loại văn bản tiếng Việt 3
1.1.1 Tổng quan bài toán phân loại văn bản 3
1.1.2 Mô hình hệ thống phân loại văn bản 4
1.1.3 Các khái niệm cơ bản trong phân loại văn bản 5
1.2 Các nghiên cứu liên quan 9
1.2.1 Đánh giá phân loại văn bản 11
1.2.2 Lý thuyết Naive Bayes 11
1.2.3 Khái niệm 12
1.3 Kết luận chương 1 17
Chương 2: PHÂN LOẠI VĂN BẢN TIẾNG VIỆT DỰA TRÊN PHƯƠNG PHÁP NAIVE BAYES 18
2.1 Bộ phân loại Naive Bayes 18
2.2 Phân loại văn bản tiếng Việt 22
2.2.1 Ứng dụng Naive Bayes trong phân loại văn bản tiếng Việt 22
2.2.2 Rút trích đặc trưng 25
2.2.3 Phân loại văn bản tiếng Việt dựa trên Naive Bayes 39
2.3 Kết luận chương 2 42
Chương 3: PHÁT TRIỂN HỆ THỐNG PHÂN LOẠI VĂN BẢN TIẾNG VIỆT DỰA TRÊN NAIVE BAYES 43
3.1 Mô hình tổng quát của hệ thống 43
3.2 Xây dựng tập ngữ liệu 44
3.2.1 Xây dựng tập dữ liệu 44
3.2.2 Tiền xử lý và chuẩn hóa dữ liệu 47
3.2.3 Xây dựng bộ từ điển danh từ 48
3.3 Môi trường cài đặt 50
3.3.1 Môi trường cài đặt của hệ thống 50
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Trang 53.3.2 Cấu trúc của chương trình 50
3.3.3 Giao diện chương trình 51
3.4 Kết quả thực nghiệm 56
3.5 Kết luận chương 3 57
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 59
TÀI LIỆU THAM KHẢO 60
Trang 6DANH SÁCH CÁC BẢNG
Bảng1.2 Đánh giá phân loại văn bản 11
Bảng 2.1 Các từ chủ đề trong tập mô tả của Andrews năm 2009 30
Bảng 2.2 Danh sách một số chủ đề đã được xây dựng 41
Bảng 3.1 Các chức năng của chương trình 45
Bảng 3.2 Danh sách một số từ trong tập từ chủ đề 49
Bảng 3.3 Độ triệu hồi khi thực hiện các truy vấn 57
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Trang 7DANH SÁCH HÌNH VẼ
Hình 1.1 Quá trình học phân loại văn bản 4
Hình 1.2 Mô hình SVM 8
Hình 2.1 Mô tả bước xây dựng bộ phân lớp 21
Hình 2.2 Trực quan hóa dữ liệu giảm chiều 26
Hình 2.3 Danh sách một số từ dừng 27
Hình 2.4 Chỉ số ngữ nghĩa ẩn 28
Hình 2.5 Mô tả việc sắp xếp một văn bản vào chủ đề phù hợp 29
Hình 2.6 Mô tả một cách suy diễn chủ đề dựa trên các thuật ngữ 30
Hình 2.7 Mô hình chủ đề dựa trên mạng Bayesian 33
Hình 2.8 Mô hình chủ đề dựa trên HMM 34
Hình 2.9 Quy trình phân loại văn bản tiếng Việt 36
Hình 2.10 Mô hình chủ đề dựa trên xác suất 37
Hình 2.11 Thuật toán xây dựng mô hình chủ đề 39
Hình 3.1 Sơ đồ chức năng hệ thống xử lý văn bản tiếng Việt 43
Hình 3.2 Biểu đồ Use case tổng quát 44
Hình 3.2 Văn bản đã chuẩn hóa 48
Hình 3.3 Hệ thống VLSP 49
Hình 3.4 Giao diệntrang chủ 51
Hình 3.5 Giao diện các thể loại tin 52
Hình 3.6 Giao diện tin huấn luyện 52
Hình 3.7 Giao diện danh sách từ khóa 53
Hình 3.8 Giao diện cài đặt huấn luyện 54
Hình 3.9 Giao diện huấn luyện phân loại 55
Trang 8Hình 3.10 Giao diện danh sách tin tức 55
Hình 3.11 Giao diện người dùng 56
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Trang 9DANH SÁCH CÁC CHỮ VIẾT TẮT
k- NN k- Nearest Neighbor k-Láng giềng gần nhấtSVM Support Vector Machine Máy véc tơ hỗ trợ
RSS Really Simple Syndication Định dạng tập tin
LSI Latent Sematic Indexing Chỉ số ngữ nghĩa ẩnSVD Singular Value Decomposition Phân tích giá trị đơn
Trang 10MỞ ĐẦU
1 Lý do chọn đề tài
Với lượng thông tin đồ sộ, 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 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 Nhưng một thực tế làkhối lượng thông tin quá lớn, việc phân loại dữ liệu thủ công là điều khôngtưởng Hướng giải quyết là một chương trình máy tính tự động phân loại cácthông tin trên
Đề tài “Nghiên cứu lý thuyết Naive Bayes và ứng dụng trong phân loại
văn bản Tiếng Việt” nhằm tìm hiểu và thử nghiệm các phương pháp phân loại
văn bản áp dụng trên tiếng Việt Phân loại văn bản (Text classification) là mộttrong những công cụ khai phá dữ liệu dạng văn bản một cách hữu hiệu, làmnhiệm vụ đưa những văn bản có cùng nội dung chủ đề giống nhau về cùngmột lớp có sẵn Phân loại văn bản giúp người dùng dễ dàng hơn trong việctìm kiếm thông tin cần thiết đồng thời có thể lưu trữ các thông tin theo đúngchủ đề (topic) hay lớp (class) dựa trên các thuật toán phân loại
2 Đối tượng và phạm vi nghiên cứu: Tìm hiểu lý thuyết Naive Bayes và
ứng dụng trong phân loại văn bản tiếng Việt
3 Những nội dung nghiên cứu chính
Chương 1: Tổng quan về phân loại văn bản
Tổng quan về phân loại văn bản và khái niệm cơ bản về lý thuyết Naive Bayes, bộ phân loại Naive Bayes trên mô hình xác suất.
Chương 2: Phân loại văn bản tiếng Việt dựa trên phương pháp NaiveBayes
Trình bày phương pháp phân loại văn bản tiếng Việt dựa trên phân loại Naive Bayes và cách giảm chiều đặc trưng nhằm tăng tốc trong quá trình tính toán xử lý bằng cách sử dụng mô hình chủ đề dùng cho tiếng Việt.
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Trang 11Chương 3: Phát triển hệ thống phân loại văn bản Tiếng Việt
Trình bày chi tiết từ phân tích thiết kế của hệ thống và các giao diện của hệ thống.
4 Phương pháp nghiên cứu
- Tổng hợp các thông tin liên quan, lựa chọn các cách tiếp cận đã được
áp dụng
thành công, tiến hành cài đặt thử nghiệm, đánh giá kết quả
- Các tư liệu và thông tin liên quan chủ yếu được thu thập, tổng hợp từcác nguồn: Các tạp chí khoa học chuyên ngành trong và ngoài nước,Internet, Trao đổi với thầy hướng dẫn và các đồng nghiệp cùng lĩnh vựcnghiên cứu
5 Ý nghĩa khoa học của đề tài
Ý nghĩa luận văn nhằm giải quyết một số vấn đề chính nhằm nâng cao hiệu năng của hệ thống phân loại văn bản tiếng Việt tự động:
- Phương pháp phân loại văn bản tiếng Việt tự động có kết hợp vớigiảm chiều nhằm giảm đi độ phức tạp tính toán đồng thời tăng độ chính xáccủa phương pháp đã đề xuất
- Có ý nghĩa thực tiễn cao trong cuộc sống, hệ thống thực nghiệm đượcxây dựng dựa trên phương pháp đề xuất mang lại tính ứng dụng hỗ trợ ngàymột tốt hơn cho người dùng trên Internet
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Trang 12Chương 1: TỔNG QUAN VỀ PHÂN LOẠI VĂN BẢN
Trong chương này, luận văn trình bày các khái niệm cơ bản về phânloại văn bản tự động, mô hình của hệ thống phân loại văn bản tự động, từ đógiới thiệu một số các phương pháp nghiên cứu liên quan dựa trên cách tiếpcận học máy và một số phương pháp đánh giá hiệu năng của hệ thống phânloại văn bản tự động
1.1 Giới thiệu bài toán phân loại văn bản tiếng Việt
1.1.1 Tổng quan bài toán phân loại văn bản
Các nghiên cứu về khai phá dữ liệu dạng văn bản đang được quan tâmhơn trong thời gian gần đây vì số lượng các tài liệu điện tử tăng nhanh chóng
từ nhiều nguồn khác nhau Không kể tới những văn bản có cấu trúc, số lượngcác văn bản không cấu trúc và cấu trúc cũng tăng lên quá lớn Mục đích chínhcủa việc khai phá dữ liệu văn bản là cho phép người dùng trích xuất thông tincủa các nguồn văn bản và sử dụng chúng thông qua các công cụ như: tra cứu,hỏi đáp, phân loại và tóm tắt sử dụng ngôn ngữ tự nhiên
Phân loại văn bản là một trong những phần quan trọng của việc khaiphá dữ liệu văn bản, khá nhiều các hệ thống phân loại văn bản sử dụng kỹthuật dựa trên tri thức (knowledge based) hoặc dựa trên các luật được xâydựng sẵn để tạo thành một tập hợp các quy tắc logic để hiểu và phân loại vănbản Mỗi loại (hay còn gọi là lớp –class) tương đương với một chủ đề ví dụ
“thể thao”, “chính trị” hay “nghệ thuật” Nhiệm vụ phân loại được bắt đầuxây dựng từ một tập các văn bản D = {d1,d2, ,dn} được gọi là tập huấn luyện
và trong đó các tài liệu di được gán nhãn cj với cjthuộc tập các chủ đề
C={c1,c2, ,cm} Nhiệm vụ tiếp theo đó là xác định được mô hình phân loại
mà có thể gán đúng lớp để một tài liệu dk bất kỳ có thể phân loại chính xácvào một trong những chủ đề của tập chủ đề C [4]
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Trang 13Khái niệm [Phân loại văn bản]: Phân loại văn bản là nhiệm vụ gán một
đúng nội dung của văn bản đó
1.1.2 Mô hình hệ thống phân loại văn bản
Mô hình bài toán phân loại văn bản được mô tả như hình sau:
loại Phân loại
Hình 1.1 Quá trình học phân loại văn bản.
Một quy trình xử lý phân loại văn bản bao gồm 2 pha chính: Pha huấn luyện và pha phân loại
- Pha huấn luyện: Các văn bản đầu vào được gán nhãn và được tríchchọn đặc trưng để nhận dạng và sử dụng thuật toán học để lưu trữ lại các giátrị của đặc trưng theo một mô hình chuẩn
- Pha phân loại: Văn bản đầu vào được trích rút thành các đặc trưng vàdựa trên mô hình chuẩn đã được học để phân theo đúng nhãn
Đối với những bài toán xử lý phân loại các đối tượng, việc quan trọng
Trang 14là xác định đặc trưng bởi hầu hết trong những bài toán này, số chiều đặctrưng dường như là khá lớn, bởi thế, các đề xuất trước đây [5] sẽ gặp phảinhững khó khăn sau:
- Thời gian tính toán lớn (do số chiều đặc trưng cao)
- Độ chính xác cũng như hiệu năng của hệ thống bị hạn chế
1.1.3 Các khái niệm cơ bản trong phân loại văn bản
1.1.3.1 Tập văn bản huấn luyện (Training documents set)
Tập văn bản huấn luyện là một tập hợp các dữ liệu được sử dụng trongcác quá trình tìm kiếm những quan hệ, các luật để dùng cho dự đoán hoặc dựbáo sau này
1.1.3.2 Tiền xử lý (Preprocessing)
Tiền xử lý là một bước quan trọng trước khi nhận diện văn bản hoặcthực hiện việc gán nhãn cho tập văn bản huấn luyện Đầu tiên cần biểu diễnvăn bản dưới dạng các từ (word) rõ ràng Các văn bản được chuẩn bị thựchiện phân loại thường có số chiều đặc trưng là khá lớn Thông thường, cácbước tiền xử lý bao gồm:
Tokenization: Văn bản được coi như là một chuỗi, do đó cần phân chiathành danh sách các tokens (token ở đây có thể là ký tự, từ, )
Loại bỏ các từ dừng: Loại bỏ các từ dừng được coi như là một bướcgiúp lọc bỏ các nhiễu, giúp hạn chế các sai số trong quá trình tính toán vàcũng giảm bớt được số chiều của đặc trưng Các từ dừng như “và”, “thôi”,
“này”
1.1.3.3 Đánh chỉ số (Indexing)
Biểu diễn văn bản là một trong những kỹ thuật tiền xử lý, nó được sửdụng để giảm độ phức tạp của văn bản và dễ dàng trong lưu trữ và xử lý, vănbản có thể biến đổi từ dạng chữ đầy đủ thành một véc tơ văn bản Thông
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Trang 15thường nhất sử dụng mô hình véc tơ không gian Các văn bản được biểu diễnbằng các véc tơ từ Ví dụ như ma trận trọng số sau:
T1 T2 Tαtt ci
D1 w 11 w 21 w t1 c 1
D2 w 12 w 22 w t2 c 2
Dn w 1n w 2n w tn c n
Trong đó mỗi một phần tử biểu diễn tần suất xuất hiện của tử trong văn
bản và wtn là trọng số của từ i trong văn bản n Có rất nhiều cách để xác định
các trọng số w trong ma trận trên, có thể sử dụng phương pháp trọng sốBoolean, trọng số tần xuất từ, mô hình tf-idf, entropy, [3]
1.1.3.4 Trích chọn đặc trưng (Feature selection)
Sau khi tiền xử lý và đánh chỉ số, bước quan trọng tiếp theo của phânloại văn bản là trích chọn đặc trưng để xây dựng véc tơ không gian, để làmtăng chất lượng, độ chính xác của phân loại văn bản Ý tưởng chính của tríchchọn đặc trưng là lựa chọn ra tập các đặc trưng từ trong văn bản gốc Tríchchọn đặc trưng được thực hiện bằng cách giữ lại các từ có chỉ số cao theomột độ đo đã được xác định trước Bởi bài toán phân loại văn bản thường lànhững bài toán có số chiều đặc trưng cao Một số các độ đo đánh giá đặctrưng theo độ lợi ích thông tin (information gain), tần suất từ (termfrequency), độ tương hỗ thông tin (mutual information)
1.1.3.5 Kỹ thuật phân loại
Phân loại văn bản tự động sử dụng một số các kỹ thuật để phân loại: kỹthuật học giám sát, kỹ thuật học không giám sát và kỹ thuật học bán giám sát.Một số các phương pháp phân loại chính như: Phân loại Bayes (Naive BayesClassification), cây quyết định (Decision tree),k - NN
Trang 16Phương pháp k-NN [6] là phương pháp truyền thống khá nổi tiếng theohướng tiếp cận thống kê đã được nghiên cứu trong nhiều năm qua k - NNđược đánh giá là một trong những phương pháp tốt nhất được sử dụng từnhững thời kỳ đầu trong nghiên cứu về phân loại văn bản.
Ý tưởng của phương pháp này đó là khi cần phân loại một văn bảnmới, thuật toán sẽ xác định khoảng cách (có thể áp dụng các công thức vềkhoảng cách như Ơclit, Cô sin, Manhattan, …) của tất cả các văn bản trongtập huấn luyện đến văn bản này để tìm ra k văn bản gần nhất, gọi là k – NN,sau đó dùng các khoảng cách này đánh trọng số cho tất cả các chủ đề Khi đó,trọng số của một chủ đề chính là tổng tất cả các khoảng cách ở trên của cácvăn bản trong k láng giềng có cùng chủ đề, chủ đề nào không xuất hiện trong
k láng giềng sẽ có trọng số bằng 0 Sau đó các chủ đề sẽ được sắp xếp theogiá trị trọng số giảm dần và các chủ đề có trọng số cao sẽ được chọn làm chủ
đề của văn bản cần phân loại
Trọng số của chủ đề cj đối với văn bản x được tính như sau:
∈ sin( , )
-Trong đó: y (di, c) thuộc {0,1}, với:
+ y = 0 : văn bản di không thuộc về chủ đề cj
+ y = 1 : văn bản di thuộc về chủ đề cj sim (x , d) : độ giống nhau giữavăn bản cần phân loại x và văn bản d Chúng ta có thể sử dụng độ đo Cô sin
Trang 17thuật toán càng ổn định và sai sót càng thấp.
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ớnthì 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 đíchthuậ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 1.2 Mô hình SVM
Công thức
Trang 18vào 2 lớp nói trên
Từ đó h(d) biểu diễn sự phân lớp của d i
Trang 19Tìm , trong đó wi và b thỏa mãn điều kiện:
i 1, n : y i (sin g ( d i w b)) 1
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àocác điểm gần nó nhất (véc tơ hỗ trợ - support véc tơ) mà có khoảng cách đến
nó là: 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
1.2 Các nghiên cứu liên quan
Các nghiên cứu về phân loại văn bản tập trung vào việc áp dụng cácphương pháp học giám sát, sử dụng các kho dữ liệu lớn là tập các văn bảnđược phân loại theo các chủ đề khác nhau như phương pháp Naive Bayes(McCalum, 1998; Ko, 2000), Phương pháp k - NN (Yang, 2002), và Rocchio(Lewis, 1996)
Đối với phân loại bằng mạng nơ ron, mô hình đơn giản nhất được đềxuất bởi Dagan và các cộng sự (1997) và Ng (1997) là perceptron Một môhình đơn giản khác là mạng nơ ron tuyến tính bổ sung một kiểu hồi quy logic
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Trang 20được đề xuất bởi Schutze và các cộng sự vào năm 1995 mang lại hiệu quảtương đối cao.
Một mô hình nơ ron không tuyến tính nhiều lớp sử dụng trong phânloại văn bản được đề xuất bởi Lam và Lee vào năm 1999 thay thế cho môhình một nơ ron tuyến tính đơn giản, tiếp theo đó một loạt các mô hình mạng
nơ ron nhiều lớp được đề xuất như Ruiz và Srinivasan (1999), Weigend
(1999); Yang and Liu (1999) Trong mô hình nhiều lớp này có thể thể hiệnđược sự tương tác giữa các thuật ngữ và có khả năng học tốt hơn [9]
Các nghiên cứu về tiếng Việt mới được phát triển từ những năm 2004
-2005, do đó các công bố về phân loại văn bản tiếng Việt còn ít so với tiếngAnh Mặt khác, các kho dữ liệu và các công cụ phục vụ cho nghiên cứu tiếngViệt còn thiếu hoặc hiệu quả chưa cao, một số các nghiên cứu đều dừng lại ởmức tìm hiểu, đề xuất phương pháp mà chưa xây dựng hệ thống hoàn chỉnh.Các kho dữ liệu chưa thống nhất và tự do các nhóm nghiên cứu tự xây dựngphục vụ cho nghiên cứu của mình Chưa thành lập được các chuẩn đánh giáhiệu năng cho các hệ thống phân loại văn bản
Một số các nghiên cứu phân loại tiếng Việt tập trung vào ứng dụng cácphương pháp máy học hoặc áp dụng các phương pháp đã được đề xuất hiệuquả cho tiếng Anh như Phân loại văn bản do nhóm tác giả Phạm NguyênKhang, Đỗ Thanh Nghị, Francois Poulet đề xuất Phân loại văn bản tiếng Việtdựa trên tập thô do nhóm tác giả Đỗ Phúc và các cộng sự đề xuất (2004) Phânloại văn bản Tiếng Việt bằng phương pháp Support véc tơ Machines (NguyễnKim Ngân) Phân loại văn bản dựa trên mô hình xác suất Bayes và áp dụngcho tiếng Việt (Nguyễn Tuấn, Anh, 2003), Phương pháp “A comparativestudy for Vietnamese text classification” (Hoang Cong Duy Vu, Nguyen LeNguyen, Ngo Quoc Hung, Dinh Dien, 2007), hoặc mô hình tần suất (Tu AnhHoang Nguyen, 2009)…
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Trang 211.2.1 Đánh giá phân loại văn bản
Cách đánh giá phân loại văn bản tập trung vào đánh giá thực nghiệmchứ không sử dụng cách đánh giá dựa trên phân tích lý thuyết Các đánh giáthực nghiệm của phân loại văn bản sử dụng độ đo chính xác (precision) và độhồi tưởng (recall)
Trung bình hóa có độ chính xác và thu hồi trên các loại khác nhau; TPi ,
TN i , FP i và FN itham khảo các bộ tích cực đúng, âm đúng, sai tích cực, sai tiêu
cực và wrt ci, tương ứng
1.2.2 Lý thuyết Naive Bayes
Trong học máy, phân loại Naive Bayes là một thành viên trong nhómcác phân loại có xác suất dựa trên việc áp dụng định lý Bayes khai thác mạnhgiả định độc lập giữa các hàm, hay đặc trưng
Mô hình Naive Bayes cũng được biết đến với nhiều tên khác nhau vídụ: Simple Bayes hay independence Bayes hay phân loại Bayes
Naive Bayes đã được nghiên cứu rộng rãi từ những năm 1950 Nó đượcgiới thiệu vào đầu những năm 1960 đầu tiên ứng dụng trong phân loại văn bản,các vấn đề của việc đánh giá các tài liệu thuộc về một thể loại hay khác (chẳnghạn như thư rác hoặc hợp pháp, thể thao, chính trị, v.v ) với tần số từ như cácđặc trưng Với tiền xử lý thích hợp, đó là cạnh tranh trong lĩnh vực
Trang 22này với nhiều phương pháp tiên tiến bao gồm cả máy véc tơ hỗ trợ Nó cũngtìm thấy ứng dụng trong chẩn đoán tự động.
Phân loại Naive Bayes được đánh giá cao khả năng mở rộng, đòi hỏimột số thông số tuyến tính trong số lượng các biến (các tính năng/tố dự báo)trong nhiều lĩnh vực khác nhau
1.2.3 Khái niệm
Một phân loại Naive Bayes dựa trên ý tưởng nó là một lớp được dựđoán bằng các giá trị của đặc trưng cho các thành viên của lớp đó Các đốitượng là một nhóm (group) trong các lớp nếu chúng có cùng các đặc trưngchung Có thể có nhiều lớp rời rạc hoặc lớp nhị phân
Các luật Bayes dựa trên xác suất để dự đoán chúng về các lớp có sẵndựa trên các đặc trưng được trích rút Trong phân loại Bayes, việc học đượccoi như xây dựng một mô hình xác suất của các đặc trưng và sử dụng môhình này để dự đoán phân loại cho một ví dụ mới
Biến chưa biết hay còn gọi là biến ẩn là một biến xác suất chưa đượcquan sát trước đó Phân loại Bayes sử dụng mô hình xác suất trong đó phânloại là một biến ẩn có liên quan tới các biến đã được quan sát Quá trình phânloại lúc này trở thành suy diễn trên mô hình xác suất
Trường hợp đơn giản nhất của phân loại Naive Bayes là tạo ra các giảthiết độc lập về các đặc trưng đầu vào và độc lập có điều kiện với mỗi một lớp
đã cho Sự độc lập của phân loại Naive Bayes chính là thể hiện của mô hìnhmạng tin cậy (belief network) trong trường hợp đặc biệt, và phân loại là chỉ dựatrên một nút cha duy nhất của mỗi một đặc trưng đầu vào Mạng tin cậy này đềcập tới xác suất phân tán P(Y) đối với mỗi một đặc trưng đích Y và
P(Xi|Y) đối với mỗi một đặc trưng đầu vào Xi Với mỗi một đối tượng, dựđoán bằng cách tính toán dựa trên các xác suất điều kiện của các đặc trưngquan sát được cho mỗi đặc trưng đầu vào
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Trang 23Định lý Bayes: Giả sử A và B là hai sự kiện đã xảy ra Xác suất có điềukiện A khi biết trước điều kiện B được cho bởi:
P(A|B) = P(B|A).P(A)/P(B)
- P(A): Xác suất của sự kiện A xảy ra
- P(B): Xác suất của sự kiện B xảy ra
- P(B|A): Xác suất (có điều kiện) của sự kiện B xảy ra,nếu biết rằng sựkiện A đã xảy ra
- P(A|B): Xác suất (có điều kiện) của sự kiện A xảy ra, nếu biết rằng sựkiện B đã xảy ra
Trang 241.2.3.2 Xây dựng phân lớp từ mô hình xác suất
Phân lớp Bayes kết hợp với luật quyết định tạo ra phân loại Naive Bayes Một luật thông thường đưa ra giả thuyết về khả năng nhất hay còn được xem như là cực đại hóa xác suất hậu nghiệm (maximum a posteriori) Bộ phân loại Bayes là một hàm phân loại được định nghĩa:
Trang 25Để giải quyết vấn đề này dựa trên phân loại Naive Bayes, cần phải theocác bướcsau: huấn luyện (training), kiểm tra (testing).
Có dữ liệu huấn luyện như sau:
sex height (feet) weight (lbs) foot size
Bộ phân loại được tạo từ tập huấn luyện sử dụng giả thiết phân tán Gauss tạo ra giá trị cho các đặc trưng như sau:
mean variance mean variance mean variance
(height) (height) (weight) (weight) (foot size)
size)
Giả sử rằng tạo ra hai lớp tương đương P(male)= P(female) = 0.5 Xácsuất hậu nghiệm phân tán dựa trên những tri thức đã tính toán được thông quatần suất trong tổng thể dân số lớn hoặc tần suất trong tập huấn luyện
Kiểm tra: Sau khi xây dựng xong bộ phân lớp, có thể dễ dàng kiểm tra,kiểm thử việc phân lớp với một bộ dữ liệu dùng kiểm tra (test) như sau:
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Trang 26Sex height (feet) weight (lbs) foot size(inches)
Theo các công thức trên, với ví dụ đã cho là một hằng số, do đó độ đo
về hậu nghiệm của cả hai lớp là bằng nhau Xác định xác suất phân tán vớimỗi một giới tính theo ví dụ trên:
Trang 271.3 Kết luận chương 1
Luận văn đã trình bày khái niệm tổng quan về phân loại văn bản vàkhái niệm cơ bản về lý thuyết Naive Bayes, bộ phân loại Naive Bayes trên môhình xác suất Trong chương tiếp theo, luận văn dựa trên những khái niệmtổng quan đã trình bày tại chương 1 để đưa ra phương pháp phân loại vănbản tiếng Việt dựa trên bộ phân loại Naive Bayes
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Trang 28Chương 2: PHÂN LOẠI VĂN BẢN TIẾNG VIỆT DỰA TRÊN
PHƯƠNG PHÁP NAIVE BAYES
Trong chương này, luận văn trình bày phương pháp phân loại văn bảntiếng Việt dựa trên phương pháp Naive Bayes, từ cách thức mô hình hóa vănbản, trích chọn các đặc trưng, phương pháp tính toán xác suất để xây dựng bộphân loại văn bản Naive Bayes, từ đó xây dựng phương pháp phân loại tiếngViệt dựa trên bộ phân loại Naive Bayes
2.1 Bộ phân loại Naive Bayes
Naive Bayes là phương pháp phân loại dựa vào xác suất được sử dụngrộng rãi trong lĩnh vực máy học và nhiều lĩnh vực khác như trong các công cụtìm kiếm, các bộ lọc mail
Ý tưởng cơ bản của cách tiếp cận này là sử dụng xác suất có điều kiệngiữa từ hoặc cụm từ và chủ đề để dự đoán xác suất chủ đề của một văn bảncần phân loại Điểm quan trọng của phương pháp này chính là ở chỗ giả địnhrằ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ế Naive Bayes không tận dụng được sự phụ thuộc của nhiều từ vào một chủ
đề cụ thể Chính giả định đó làm cho việc tính toán Naive Bayes hiệu qủa vànhanh chóng hơn các phương pháp khác với độ phức tạp theo số mũ vì nókhông sử dụng cách kết hợp các từ để đưa ra phán đoán chủ đề.[9]
Mục đích chính là làm sao 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 luật 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 để tính Pr(Cj, d’) như sau :
Trang 31Với :
- 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) được tính dựa trên tỷ lệ phần trăm của số văn bản mỗi lớp tươngứng
dữ liệu huấn luyện nghèo nàn và các tham số dự đoán (như không gian đặctrưng) có chất lượng kém Nhìn chung đây là một thuật toán phân loại tuyếntính thích hợp trong phân loại văn bản nhiều chủ đề NB có ưu điểm là cài đặtđơn giản, tốc độ thực hiện thuật toán nhanh, dễ dàng cập nhật dữ liệu huấnluyện mới và có tính độc lập cao với tập huấn luyện
Ta áp dụng phương pháp Naive Bayes vào chương trình phân loại vớicách tiếp cận trực tiếp cận Naive Bayes là sử dụng xác suất có điều kiện giữa
từ cà chủ đề dự đoán xác suát chủ đề của một văn bản cần phân loại Điểmquan trọng của phương pháp này chính là ở chỗ giả định rằng sự xuất hiệncủa tất cả các từ trong văn bản đều độc lập với nha Giả định đó là cho việctính toán Naive Bayes hiệu quả và nhanh chóng hơn các phương pháp khác vì
Trang 33Thuật toán Naive Bayes dựa trên nguyên lý Bayes được phát biểu nhưsau:
P(Y|X) = P(XY ) = P X Y P(Y)
P(X) P(X)
Áp dụng trong bài toán phân loại, các dữ kiện gồm có:
- D: tập dữ liệu huấn luyện đã được vector hóa dạng = ( 1 , 2 , , )
Các bước thực hiện thuật toán Naive Bayes
Bước 1: Huấn luyện Naive Bayes (dựa vào tập dữ liệu), tính P(Ci) và
Trang 34theo công thức gán vào lớp có xác suất lớn nhất
Trang 35Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Trang 36Hình 2.1 Mô tả bước xây dựng bộ phân lớp
Ví dụ: Cho hai tập dữ liệu gồm: Tài liệu 1 thuộc lớp Máy tính và Tài liệu 1 thuộc lớp Toán với từ đƣợc xét là: Công nghệ và Công thức
Tập dữ liệu Công nghệ Công thức Lớp
Ta có:
Máy tính ToánTổng số từ thuộc lớp
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Trang 37Tập dữ liệu Công nghệ Công thức Lớp
Dựa vào công thức tính ta có:
Cnb = P(Máy tính).[P(“Công nghệ”|Máy tính)*1*P(“Công thức”|Máy tính)*2]
= 0.222
Cnb = P(Toán).[P(“Công nghệ”| Toán) * 1 * P (“Công thức”|Toán) * 2]
= 0.1875
Vậy Tài liệu 3 thuộc lớp Máy tính
2.2 Phân loại văn bản tiếng Việt
2.2.1 Ứng dụng Naive Bayes trong phân loại văn bản tiếng Việt
Trang 38đây lànhư¼ng khúc đoaṇ âm thanh tư ̣nhiên nhỏnhất khi phát âm , và được gọi
là âm tiết Trong tiếng Viêṭ, môṭâm tiết bao giơ cung đươc ̣ phat ra vơi môṭ
dấu hiệu phân biệt từ Ví dụ ba, bà, bã, bả, bá, bạ mỗi từ có một nghĩa riêng.
Thanh điệu có chức năng như một âm vị, nó gắn liền với âm tiết và biểu hiệntrong toàn âm tiết [2]
Do đó đặc điểm trên mà âm tiết có vị trí rất quan trọng trong việcnghiên cứu âm tiếng Việt Muốn xác định thành phần âm vị của ngôn ngữ,người ta thường xuất phát từ việc xác định các hình vị rồi từ các moocphem
đó mà phân tích ra các âm vị hình vị trong tiếng Việt trùng hợp với các âmtiết; chúng ta xuất phát từ việc phân tích các âm tiết để xác định các âm vị.Nếu như trong ngôn ngữ Ấn – Âu, âm tiết chỉ là vấn đề thuộc hàng thứ yếu sovới âm vị và hình vị thì trong tiếng Việt, âm tiết là vấn đề hàng đầu của âm vịhọc
2.2.1.2 Cấu trúc âm tiết
Mỗi âm tiết tiếng Viêṭla môṭkhối hoan chinh trong phat âm Trên thưc ̣
Trang 40tiền đâu -> đầu tiên đao trâṭtư ̣âm tiết va hoan vi ̣̀thanh điêụ "`"
hiêṇ đaị -> hại điện hoán vị phần sau "iên" cho "ai"
thanh điêụ giư nguyên vi ̣tri cung vơi phần đầu "nh"
và "đ"
Mỗi âm tiết tiếng Việt có 3 bộ phận: phụ âm đầu, vần và thanh điệu, ví dụ:
Thanh điệu: không (zero), huyền ( `), hỏi (?), ngã (~), sắc ( ′ ), nặng (.)
Vần
Âm đầu là một trong các phụ âm và bởi vậy còn gọi là phụ âm đầu
Âm đêṃ là yếu tố đứng ở vị trí thứ hai , sau âm đầu , là âm vi ̣ban
̀́nguyên âm /u/ (xem Bảng âm vi nguyêṇ âm ) và âm vị "zero" (âm vi trống ̣ )
Âm đêṃ "zero" có thể tồn tại cùng tất cả các âm đầu, không cóngoaịlê ̣
Âm chínhđứng ởvi trị́thứ ba trong âm tiết , là hạt nhân, là đỉnh của âm
tiết, nó mang âm sắc chủ yếu của âm tiết Âm chinh́ trong tiếng Viêṭdonguyên âm đảm nhiêṃ Nguyên âm của tiếng Viêṭchỉcóchức năng làm âm chính và nó khô ng bao giờvắng măṭtrong âm tiết Vì mang âm sắc chủ yếu của âm tiết nên âm chính là âm mang thanh điệu Ví dụ: a, ô, ê
Âm cuốicó vị trí cuối cùng của âm tiết , nó có chức năng kết thúc một
âm tiết Âm cuối làbán nguyên âm /u/ (ngắn) có âm sắc trầm chỉ được phânbốsau các nguyên âm bổng vàtrung hoà, trưº nguyên âm "ơ" ngắn, ví dụ trongníu, áo, bêu dếu, cầu cứu Bánnguyên âm cuối /i/ (i ngắn) có âm sắc bổngchỉ đươc ̣ phân bốsau các nguyên âm trầm và
trunghoà, ví dụ trong tôi, chơi, túi, gư»i, lấy
Âm cuối zero làmôṭâm vi trống ̣ nên không đươc ̣ biểu thi bằng ̣ chư¼viết
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/