Đề 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ươn
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
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ực tiế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ác giả, 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ôi
xin chịu hoàn toàn trách nhiệm
Tác giả luận văn
Nguyễn Thị Thùy Dương
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ám Hiệ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ận vă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ốt quá 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ường Trung 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à động viê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ận vă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
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
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
Trang 9DANH SÁCH CÁC CHỮ VIẾT TẮT
k- NN k- Nearest Neighbor k-Láng giềng gần nhất SVM Support Vector Machine Máy véc tơ hỗ trợ
ML Machine Languages Ngôn ngữ máy
LSI Latent Sematic Indexing Chỉ số ngữ nghĩa ẩn SVD Singular Value Decomposition
sffDđsadfsdầdsafdsaDecomposDecompositio
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ông tưở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ác thô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ột trong 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àm nhiệm vụ đưa những văn bản có cùng nội dung chủ đề giống nhau về cùng mộ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ệc tìm kiếm thông tin cần thiết đồng thời có thể lưu trữ các thông tin theo đúng chủ đề (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 Naive Bayes
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
Trang 11 Chươ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ực nghiê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ới giảm chiều nhằm giảm đi độ phức tạp tính toán đồng thời tăng độ chính xác củ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 được xây dựng dựa trên phương pháp đề xuất mang lại tính ứng dụng hỗ trợ ngày một tốt hơn cho người dùng trên Internet
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ân loạ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ếp cậ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ân loạ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âm hơ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ượng cá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ính củ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 tin củ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 khai phá 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ây dự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ăn bả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 đầu xâ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ác vào một trong những chủ đề của tập chủ đề C [4]
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 văn bản dj vào một chủ đề ck thích hợp thuộc tập chủ đề C = {c1,c2, ,cm}theo đú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:
Văn bản
Tập văn bản
Nhãn
Trích chọn đặc trưng
Thuật toán học
Trích chọn đặc trưng
Bộ phân loại
Nhãn Huấn luyện
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ích chọ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 đặc trưng dường như là khá lớn, bởi thế, các đề xuất trước đây [5] sẽ gặp phải nhữ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 trong cá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ặc thự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ễn vă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ực hiện phân loại thường có số chiều đặc trưng là khá lớn Thông thường, các bướ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 chia thà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ước giú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ăn bản có thể biến đổi từ dạng chữ đầy đủ thành một véc tơ văn bản Thông
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ễn bằng các véc tơ từ Ví dụ như ma trận trọng số sau:
T1 T2 Tαt 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à w tn 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ân loại văn bản là trích chọn đặc trưng để xây dựng véc tơ không gian, để làm tă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ích chọ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ích chọn đặc trưng được thực hiện bằng cách giữ lại các từ có chỉ số cao theo mộ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á đặc trưng theo
độ lợi ích thông tin (information gain), tần suất từ (term frequency), độ 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 Bayes Classification), 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 theo hướ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ản mớ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 trong tậ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ác vă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 theo giá 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ữa vă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ớn thì mặt phẳng quyết định càng tốt và việc phân lớp càng chính xác Mục đích thuật toán SVM là tìm đƣợc khoảng cách biên lớn nhất
Hình sau minh họa cho thuật toán này:
+ +
+
+ +
h
Trang 18Phương trình siêu mặt phẳng chứa véc tơ d i
nó là: 1
|| w ||
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ác phươ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
Trang 19đượ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ân loạ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ếng Anh 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ếng Việ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ựng phụ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ác phương pháp máy học hoặc áp dụng các phương pháp đã được đề xuất hiệu quả cho tiếng Anh như Phân loại văn bản do nhóm tác giả Phạm Nguyên Khang, Đỗ Thanh Nghị, Francois Poulet đề xuất Phân loại văn bản tiếng Việt dựa trên tập thô do nhóm tác giả Đỗ Phúc và các cộng sự đề xuất (2004) Phân loại văn bản Tiếng Việt bằng phương pháp Support véc tơ Machines (Nguyễn Kim 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ụng cho tiếng Việt (Nguyễn Tuấn, Anh, 2003), Phương pháp “A comparative study for Vietnamese text classification” (Hoang Cong Duy Vu, Nguyen Le Nguyen, Ngo Quoc Hung, Dinh Dien, 2007), hoặc mô hình tần suất (Tu Anh Hoang Nguyen, 2009)…
Trang 201.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ệm chứ 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; TP i ,
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óm cá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ạnh giả đị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ó được giớ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ẳng hạ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 21nà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ũng tì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ỏi mộ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 đối tượng là một nhóm (group) trong các lớp nếu chúng có cùng các đặc trưng chung 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ẵn dựa trên các đặc trưng được trích rút Trong phân loại Bayes, việc học được coi 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 được quan sát trước đó Phân loại Bayes sử dụng mô hình xác suất trong đó phân loạ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ân loạ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ình mạng tin cậy (belief network) trong trường hợp đặc biệt, và phân loại là chỉ dựa trê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ưng quan sát được cho mỗi đặc trưng đầu vào
Trang 22Định lý Bayes: Giả sử A và B là hai sự kiện đã xảy ra Xác suất có điều kiệ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
(C|F1, , Fn) = C (F1, ,Fn|C)
(F1, ,Fn|C)
Một cách mô tả đơn giản cho công thức trên như sau:
Hậu nghiệm = 𝑛𝑔 𝑖ệ𝑚𝑡𝑟 ướ𝑐×𝑘ả𝑛ă𝑛𝑔
Trang 231.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:
𝑐𝑙𝑎𝑠𝑠𝑖𝑓𝑦(𝑓1, … , 𝑓𝑛) = 𝑎𝑟𝑔𝑚𝑎𝑥 𝑝 𝐶 = 𝑐 𝑛𝑖=1𝑝(𝐹𝑖 = 𝑓𝑖| C=c)
Ví dụ về phân lớp giới tính nam và nữ dựa trên một số độ đo đặc trưng Các đặc trưng bao gồm: chiều cao, cân nặng và cỡ chân
Trang 24Để giải quyết vấn đề này dựa trên phân loại Naive Bayes, cần phải theo cá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
(inches)
Male 5.92 (5'11") 190 11 male 5.58 (5'7") 170 12 male 5.92 (5'11") 165 10
female 5.5 (5'6") 150 8 female 5.42 (5'5") 130 7 female 5.75 (5'9") 150 9
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:
Sex mean
(height)
variance (height)
mean (weight)
variance (weight)
mean (foot size)
variance (foot size)
Male 5.855 3.5033e-02 176.25 1.2292e+02 11.25 9.1667e-01 Female 5.4175 9.7225e-02 132.5 5.5833e+02 7.5 1.6667e+00
Giả sử rằng tạo ra hai lớp tương đương P(male)= P(female) = 0.5 Xác suấ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 qua tầ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:
Trang 25Sex height (feet) weight (lbs) foot size(inches)
evidence =
𝑃 𝑚𝑎𝑙𝑒 𝑒𝑖𝑔𝑒𝑡 𝑚𝑎𝑙𝑒 𝑤𝑒𝑖𝑔𝑡 𝑚𝑎𝑙𝑒 (𝑓𝑜𝑜𝑡𝑠𝑖𝑧𝑒|𝑚𝑎𝑙𝑒) +
𝑃 𝑓𝑒𝑚𝑎𝑙𝑒 𝑒𝑖𝑔𝑒𝑡 𝑓𝑒𝑚𝑎𝑙𝑒 𝑤𝑒𝑖𝑔𝑡 𝑓𝑒𝑚𝑎𝑙𝑒 (𝑓𝑜𝑜𝑡𝑠𝑖𝑧𝑒|𝑓𝑒𝑚𝑎𝑙𝑒) 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ới mỗi một giới tính theo ví dụ trên:
P(female) = 0.5
𝑒𝑖𝑔𝑡 𝑚𝑎𝑙𝑒 = 2.2346 10−1
𝑤𝑒𝑖𝑔𝑡 𝑓𝑒𝑚𝑎𝑙𝑒 = 1.6789 10−2
𝑓𝑜𝑜𝑡𝑠𝑖𝑧𝑒 𝑓𝑒𝑚𝑎𝑙𝑒 = 2.8669 10−1
Trang 26Posterior numerator(female) = their product = 5.3778 10−4
Từ ví dụ trên ta dự đoán giới tính là fermale
1.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ệm tổng quan đã trình bày tại chương 1 để đưa ra phương pháp phân loại văn bản tiếng Việt dựa trên bộ phân loại Naive Bayes
Trang 27Chươ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ản tiếng Việt dựa trên phương pháp Naive Bayes, từ cách thức mô hình hóa văn bả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ếng Việ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ụng rộ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ện giữa từ hoặc cụm từ và chủ đề để dự đoán xác suất chủ đề của một văn bản cần phân loại Điểm quan trọng của phương pháp này chính là ở chỗ giả định rằng sự xuất hiện của tất cả các từ trong văn bản đều độc lập với nhau Như thế 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
d' 1 i
C'
| wi Pr c' Pr
d' 1
i Pr wi | C j
C j Pr argmax
C
c j d'
HBAYES
Trang 28Vớ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
C'
C j C
C j
C j Pr
trong tập dữ liệu huấn luyện
c j , w' TF F
c j , wi TF 1
C j
| wi Pr
Ngồi ra cịn cĩ các phương pháp NB khác cĩ thể kể ra như ML Naive Bayes, MAP Naive Bayes, Expected Naive Bayes Nĩi chung Nạve Bayes là một cơng cụ rất hiệu quả trong một số trường hợp Kết qủa cĩ thể rất xấu nếu
dữ liệu huấn luyện nghèo nàn và các tham số dự đốn (như khơng gian đặc trưng) cĩ chất lượng kém Nhìn chung đây là một thuật tốn phân loại tuyến tí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 tốn nhanh, dễ dàng cập nhật dữ liệu huấn luyện mới và cĩ tính độc lập cao 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ới cá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ự đốn xác suát chủ đề của một văn bản cần phân loại Điểm quan trọng của phương pháp này chính là ở chỗ giả định rằng sự xuất hiện của tất cả các từ trong văn bản đều độc lập với nha Giả định đĩ là cho việc tính tốn Naive Bayes hiệu quả và nhanh chĩng hơn các phương pháp khác vì khơng sử dụng việc kết hợp các từ để đưa ta phán đốn chủ đề
Trang 29Thuậ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) = P X Y P(Y)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à P(𝑥𝑘|𝐶𝑖)
Bước 2: Phân lớp Xnew
= (𝑥1,𝑥2, , 𝑥𝑛), ta cần tính xác suất thuộc từng phân lớp khi đã biết trước Xnew
.Xnewđược gán vào lớp có xác suất lớn nhất theo công thức
𝑚𝑎𝑥
𝑐𝑖 ∈ 𝐶 𝑃(𝐶𝑖 𝑛𝑘=1𝑃(𝑥𝑘|𝐶𝑖))
Mô hình tổng quát việc phân loại:
Trang 30Văn bản
Tập văn bản
Nhãn
Trích chọn đặc trưng
Thuật toán học
Trích chọn đặc trưng
Bộ phân loại
Nhãn Huấn luyện
Phân loại
Hì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
2 P(“Công thức”|Máy tính)= 1
3 P(“Công thức”|Toán)=3
4Khi ta xét một tập Tài liệu 3 với dữ liệu sau: hỏi xem Tài liệu 3 thuộc lớp này trong hai lớp Máy tính và Toán
Trang 31Tậ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
Hà / Nội / mùa / này / vắng / những / cơn / mưa
Những khúc đoa ̣n âm thanh này không thể chia nhỏ hơn được nữa dù chúng ta có cố tình phát âm thâ ̣t châ ̣m, thâ ̣t tách ba ̣ch Điều đó chứng tỏ rằng,
Trang 32đây là những khúc đoa ̣n âm thanh tự nhiên nhỏ nhất khi phát âm , và được gọi
là âm tiết Trong tiếng Viê ̣t , mô ̣t âm tiết bao giờ cũng được phát ra với mô ̣t thanh điê ̣u, và tác h rời với âm tiết khác Vì vậy, viê ̣c nhâ ̣n ra âm tiết trong tiếng Viê ̣t là dễ dàng hơn nhiều so với các ngôn ngữ Ấn Âu Trên chữ viết , mỗi âm tiết tiếng Viê ̣t được ghi thành mô ̣t "chữ"
Đặc điểm thứ hai của âm tiết tiếng Việt là mỗi âm tiết tiếng Việt đều gắn liền với một trong sáu thanh điệu (không, huyền, ngã, hỏi, sắc, nặng) vì tiếng Việt là loại ngôn ngữ có thanh điệu khác với ngôn ngữ khác Thanh điệu tham gia vào việc cấu tạo từ, làm chức năng phân biệt ý nghĩa của từ và là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ện trong 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ệc nghiê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 âm tiế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 so vớ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ê ̣t là mô ̣t khối hoàn chỉnh trong phát âm Trên thực tế không ai phát âm tách nhỏ cái khối đó ra được trừ những người nói lắp Trong ngữ cảm của người Viê ̣t , âm tiết tuy được phát âm liền mô ̣t hơi , nhưng không phải là mô ̣t khối bất biến mà có cấu ta ̣o lắp ghép Khối lắp ghép ấy có thể tháo rời từng bô ̣ phâ ̣n của âm tiết này để hoán vi ̣ với bô ̣ phâ ̣n tương ứng của ở âm tiết khác Ví dụ:
Trang 33tiền đâu -> đầu tiên đảo trâ ̣t tự âm tiết và hoán vi ̣ thanh điê ̣u "`"
hiê ̣n đa ̣i -> hại điện hoán vị phần sau "iên" cho "ai"
nhỉ đay -> nhảy đi thanh điê ̣u giữ nguyên vi ̣ trí cùng với phần đầu "nh"
Âm đầu là một trong các phụ âm và bởi vậy còn gọi là phụ âm đầu
Âm đê ̣m là yếu tố đứng ở vị trí thứ hai , sau âm đầu , là âm vị bán nguyên âm /u/ (xem Bảng âm vi ̣ nguyên âm ) và âm vị "zero" (âm vi ̣ trống )
Âm đê ̣m "zero" có thể tồn tại cùng tất cả các âm đầu, không có ngoa ̣i 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 chính trong tiếng Viê ̣t do nguyên âm đảm nhiê ̣m Nguyên âm của tiếng Viê ̣t chỉ có chức năng làm âm chính và nó khô ng bao giờ vắng mă ̣t 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ân bố sau các nguyên âm bổng và trung hoà, trừ nguyên âm "ơ" ngắn, ví dụ trong ní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ổng chỉ đượ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ô ̣t âm vi ̣ trống nên không được biểu thi ̣ bằng chữ viết
Trang 34Thanh điê ̣u là một yếu tố thể hiện độ cao và sự chuyển biến của độ cao
trong mỗi âm tiết Mỗi âm tiết tiếng Viê ̣t nhất thiết phải được thể hiê ̣n với mô ̣t thanh điê ̣u Thanh điê ̣u có chức năng phân biê ̣t với âm thanh, phân biê ̣t nghĩa
của từ
Có nhiều ý kiến khác nhau về vị trí của thanh điệu trong âm tiết Nhưng
ý kiến cho rằng thanh điệu nằm trong cả quá trình phát âm của âm tiết (nằm trên toàn bô ̣ âm tiết) là đáng tin cậy nhất về vị trí của thanh điệu
2.2.2 Rút trích đặc trưng
2.2.2.1 Giảm chiều đặc trưng
Dữ liệu trong thế giới thực (real world data), chẳng hạn như tín hiệu tiếng nói, ảnh kỹ thuật số, ảnh scan MRI, thường có số chiều đặc trưng rất lớn Để xử lý các dữ liệu này một cách đầy đủ, sẽ rất phức tạp và tốn thời gian Do vậy, trong thực tế, ta có thể giảm chiều đặc trưng xuống một mức có thể, sau đó sẽ tính toán trên số chiều đặc trưng đã được giảm Lý tưởng nhất, cần biểu diễn các chiều tương ứng với chiều nội tại của dữ liệu Chiều nội tại của dữ liệu là số lượng đặc trưng tối thiểu nhất để có thể mô tả được thuộc tính của dữ liệu Giảm chiều trở thành một bài toán ứng dụng trong nhiều lĩnh vực, những bài toán phức tạp trở nên đơn giản và dễ ứng dụng hơn trong cuộc sống
Trong máy học và thống kê, giảm chiều hoặc giảm chiều là quá trình làm giảm số lượng các biến ngẫu nhiên được xem xét, và có thể được chia thành hai phần chính: lựa chọn đặc trưng (Feature selection) và trích rút đặc trưng (Feature extraction)
- Lựa chọn đặc trưng: Là cách tìm một tập hợp con của các biến ban đầu (còn gọi là tính năng hoặc các thuộc tính) Trong một số trường hợp, phân tích dữ liệu như hồi quy hoặc phân loại có thể được thực hiện trong không gian đã được giảm chiều chính xác hơn trong không gian ban đầu
Trang 35- Trích rút đặc trưng: Trích rút đặc trưng biến đổi các dữ liệu trong không gian có số chiều lớn (high dimensional space) tới một không gian có số chiều ít hơn Việc chuyển đổi dữ liệu này có thể sử dụng phương pháp tuyến tính, như phân tích thành phần chính (PCA), hoặc có thể sử dụng những kỹ thuật giảm chiều phi tuyến tính Đối với dữ liệu đa chiều, biểu diễn tensor có thể được sử dụng thông qua phương pháp học trong không gian con đa tuyến (multilinear subspace)
Hình 2.2 Trực quan hóa dữ liệu giảm chiều
Đối với dạng dữ liệu văn bản, số lượng đặc trưng trở nên hàng nghìn, hàng trăm nghìn đặc trưng Để xử lý các đặc trưng này, thường mất khá nhiều thời gian trong việc trích rút đặc trưng, và tính toán các đặc trưng Do đó rất khó khăn khi xây dựng thành những hệ thống xử lý văn bản ứng dụng trong thực tế
Các phương pháp giảm chiều trong văn bản hiện nay:
- Loại bỏ các từ dừng (stop words):
Loại bỏ từ dừng là phương pháp sử dụng tập các từ dừng (đã được xây dựng thủ công) từ đó đối sánh với văn bản và loại bỏ chúng ra khỏi văn bản nếu thấy chúng xuất hiện tại văn bản cần xử lý
2D - Coordinates
Data - base Excel
Preprp cessing
-Dimension - reduction
Raw data
Features
Attributess Visualiation