Nghiên cứu áp dụng thuật toán Multinomial bayes vào phân loại văn bảnNghiên cứu áp dụng thuật toán Multinomial bayes vào phân loại văn bảnNghiên cứu áp dụng thuật toán Multinomial bayes vào phân loại văn bảnNghiên cứu áp dụng thuật toán Multinomial bayes vào phân loại văn bảnNghiên cứu áp dụng thuật toán Multinomial bayes vào phân loại văn bảnNghiên cứu áp dụng thuật toán Multinomial bayes vào phân loại văn bảnNghiên cứu áp dụng thuật toán Multinomial bayes vào phân loại văn bảnNghiên cứu áp dụng thuật toán Multinomial bayes vào phân loại văn bảnNghiên cứu áp dụng thuật toán Multinomial bayes vào phân loại văn bảnNghiên cứu áp dụng thuật toán Multinomial bayes vào phân loại văn bảnNghiên cứu áp dụng thuật toán Multinomial bayes vào phân loại văn bảnNghiên cứu áp dụng thuật toán Multinomial bayes vào phân loại văn bản
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-
NGUYỄN MỸ HẢO
NGHIÊN CỨU ÁP DỤNG THUẬT TOÁN MULTINOMIAL BAYES
VÀO PHÂN LOẠI VĂN BẢN
LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)
HÀ NỘI - 2018
Trang 2HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-
NGUYỄN MỸ HẢO
NGHIÊN CỨU ÁP DỤNG THUẬT TOÁN MULTINOMIAL BAYES
VÀO PHÂN LOẠI VĂN BẢN
Chuyên ngành : Hệ thống thông tin
Trang 3LỜI CAM ĐOAN
Tôi cam đoan luận văn thạc sĩ “Nghiên cứu áp dụng thuật toán Multinomial Bayes vào phân loại văn bản” là công trình nghiên cứu của riêng tôi
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác Tất cả những tham khảo và kế thừa đều được trích dẫn và tham chiếu đầy đủ
Tác giả luận văn
Nguyễn Mỹ Hảo
Trang 4MỤC LỤC
LỜI CAM ĐOAN i
MỤC LỤC ii
DANH MỤC HÌNH VẼ iv
MỤC LỤC BẢNG BIỂU v
DANH MỤC TỪ VIẾT TẮT vi
MỞ ĐẦU 1
CHƯƠNG 1: GIỚI THIỆU BÀI TOÁN PHÂN LOẠI 3
VĂN BẢN 3
1.1.Giới thiệu bài toán phân loại văn bản 3
1.1.1 Mở đầu 4
1.1.2 Bài toán phân loại văn bản 6
1.1.3 Ứng dụng của bài toán phân loại văn bản 8
1.2.Các phương pháp phân loại văn bản 10
1.2.1 Phương pháp Navie Bayes 10
1.2.2 Phương pháp K – Nearest Neighbor 12
1.2.3 Phương pháp Multinomial Logistic regression 14
1.3 Kết luận 18
CHƯƠNG 2: PHƯƠNG PHÁP MULTINOMIAL BAYES TRONG BÀI TOÁN PHÂN LOẠI VĂN BẢN 19
2.1 Biểu diễn văn bản 19
2.1.1 Tiền xử lý văn bản 20
2.1.2 Kỹ thuật Bag of word 25
2.1.3 Trọng số TF-IDF 26
2.2 Thuật toán Multinomial Bayes 28
2.2.1 Ý tưởng 28
2.2.2 Nội dung thuật toán 28
2.2.3 Ví dụ các bước của phương pháp Multinomial Bayes 30
2.3.4 Ưu điểm phương pháp Multinomial Bayes trong phân loại văn bản 33
Trang 52.3 Kết luận 33
CHƯƠNG 3 - THỰC NGHIỆM VÀ ĐÁNH GIÁ 34
3.1 Giới thiệu về bộ dữ liệu sử dụng 34
3.2 Sơ đồ chương trình phân loại văn bản 35
3.3 Tiền xử lý dữ liệu 36
3.4 Biểu diễn văn bản thành vector 37
3.5 Các tiêu chuẩn đánh giá 38
3.6 Phương pháp thực nghiệm 40
3.6.1 Công cụ dùng để phân lớp 40
3.6.2 Xây dựng dữ liệu huấn luyện và kiểm tra 40
3.7 Kết quả thực nghiệm 41
3.8 So sánh với một số phương pháp khác 44
3.9 Kết luận 45
KẾT LUẬN 46
DANH MỤC TÀI LIỆU THAM KHẢO 48
Trang 6DANH MỤC HÌNH VẼ
Hình 1 1 Thời gian trung bình sử dụng internet trong 1 ngày của người Việt Nam 4
Hình 1.2 Các hoạt động trực tuyến được người dùng mạng sử dụng 5
Hình 1.3 Quy trình bài toán phân loại văn bản 7
Hình 1.4 Mô hình giai đoạn huấn luyện 8
Hình 1 5 Mô hình giai đoạn phân lớp 8
Hình 1 6 Ví dụ bài toán phân loại trên báo điện tử VNExpress 9
Hình 1.7 Đồ thị hàm sigmoid 𝝈(𝒂) 15
Hình 2.1 Hình ảnh mô tả bước tiền xử lý 21
Hình 2.2 Các bước tiền xử lý văn bản 21
Hình 2.3 Ví dụ cách biểu diễn Bang of word 25
Hình 3.1 Minh họa một văn bản trong thư mục “rec.autos” 34
Hình 3.2 Mô hình phân loại văn bản áp dụng thuật toán Multinomial Bayes 36
Hình 3.3 Tập tin “Data” sau khi đã được thực hiện xử lý 37
Trang 7MỤC LỤC BẢNG BIỂU
Bảng 1.1 Các bài toán phân loại trong ngôn ngữ tự nhiên 3
Bảng 2.1 Các nghiên cứu về biểu diễn văn bản [6] 19
Bảng 2.2 Bảng dữ liệu bộ tài liệu gồm D1 – D5 30
Bảng 2.3 Bảng dữ liệu để cần phân loại gồm D6 – D7 30
Bảng 2.4 Bảng tính toán khả năng đối với loại AUTO 32
Bảng 3.1 Danh sách phân bố dữ liệu trong 20 nhóm 35
Bảng 3.2 Kết quả lần kiểm tra Fold #1 42
Bảng 3.3 Kết quả trung bình của lần chạy Fold #1 43
Bảng 3.4 Kết quả thực nghiệm thuật toán Multinomial Bayes với 5 phần Cross validation 44
Bảng 3.5 Kết quả thực nghiệm thuật toán Multinomial Logistic Regression với 5 phần cross - validation 45
Trang 8DANH MỤC TỪ VIẾT TẮT
Từ viết
tắt Ý nghĩa tiếng Anh Ý nghĩa tiếng Việt
KNN K – Nearest Neighbor Thuật toán K – Nearest
Neighbor
Trang 9MỞ ĐẦU
Trong những năm gần đây, với sự phát triển của các siêu phương tiện và các World Wide Web (WWW)…Với số lượng lớn người dùng và thông tin liên tục được cập nhật từ đến mọi vấn đề trong đời sống, xã hội, kinh tế, giải trí… Điều này tạo ra thách thức lớn cho việc truy vấn có hiệu quả của các hệ thống truy vấn thông tin Một trong những khó khăn mà các hệ thống thông tin thường phải gặ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 trong giao 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ày mang 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 nhanh chó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ùng vớ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ần lượ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ách nhanh 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ân loại văn bản tự động là thực sự cần thiết
Xuất phát từ thực trạng đang xảy ra, luận văn sẽ trình bày về phương pháp phân loại văn bản áp dụng thuật toán Multinomial Bayes giúp người dùng có thể 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ữ thông tin theo đúng chủ đề mong muốn
Luận văn sẽ được cấu trúc với các chương như sau:
Chương 1 : Giới thiệu bài toán phân loại văn bản - Chương này đã giới thiệu
về bài toán phân loại văn bản các ứng dụng thực tế của bài toán trong môi trường công nghiệp Tiếp theo, trình bày 3 phương pháp được sử dụng trong bài toán phân loại văn bản là: Naive Bayes, K - Nearest Neighbor và Multinomial Logistic Re-gression gồm các nội dung lịch sử, ý tưởng và cách thuật toán thực hiện
Trang 10Chương 2 : Phương pháp Multinomial Bayes trong bài toán phân loại văn bản - Chương 2 của luận văn tập trung vào trình bày thuật toán Multinomial Bayes
cơ sở lý thuyết và áp dụng trong bài toán phân loại văn bản
Chương 3: Thực nghiệm và đánh giá – Nội dung của chương 3 là cách thức
mô tả dữ liệu và chuẩn hóa bộ dữ liệu 20 Newsgroups được sử dụng trong luận văn Các bước tiền xử lý dữ liệu, chạy thuật toán phân loại Multinomial Bayes với tập dữ liệu 18758 văn bản với công cụ Apache Spark MLLib
Trang 11CHƯƠNG 1: GIỚI THIỆU BÀI TOÁN PHÂN LOẠI
VĂN BẢN
1.1.Giới thiệu bài toán phân loại văn bản
Phân loại văn bản là một vấn đề trong lĩnh vực xử lý ngôn ngữ Đặc điểm nổi bật của bài toán này là sự đa dạng của chủ đề văn bản và tính đa chủ đề của văn bản Tính đa chủ đề của văn bản làm cho sự phân loại chỉ mang tính tương đối và có phần chủ quan, nếu do con người thực hiện, và dễ bị nhập nhằng khi phân loại tự động Rõ ràng một bài viết về Giáo dục cũng có thể xếp vào Kinh tế nếu như bài viết bàn về tiền nong đầu tư cho giáo dục và tác động của đầu tư này đến kinh tế -
xã hội Về bản chất, một văn bản là một tập hợp từ ngữ có liên quan với nhau tạo nên nội dung ngữ nghĩa của văn bản Từ ngữ của một văn bản là đa dạng do tính đa dạng của ngôn ngữ (đồng nghĩa, đa nghĩa, từ vay mượn nước ngoài,…) và số lượng
từ cần xét là lớn Ở đây cần lưu ý rằng, một văn bản có thể có số lượng từ ngữ không nhiều, nhưng số lượng từ ngữ cần xét là rất nhiều vì phải bao hàm tất cả các
từ của ngôn ngữ đang xét
Nhiệm vụ của bài toá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 [4] Mỗi bài toán phân loại đều có đối tượng thao tác và mục tiêu phân loại khác nhau Trong bài toán phân loại văn bản, một văn bản (Document hay text)
là đối tượng nội dung cần thao tác
Bảng 1.1 Các bài toán phân loại trong ngôn ngữ tự nhiên
Gán nhãn từ loại (POS
Gán nhãn ngữ tính từ
(Prepositional Phrase
Khử nhập nhằng nghĩa từ
vựng (Word Sense
Phân loại văn bản (Text
Trang 12có thể là mô hình gom cụm hay phân lớp văn bản, mà ở đó mô hình phân lớp được
sử dụng phổ biến trong ứng dụng như: gán nhãn tự động một bản tin, phân tích nội dung để phát hiện nhóm khủng bố, nhận dạng thư rác vì thế các nghiên cứu về khai phá dữ liệu dạng văn bản cũng được quan tâm hơn Người dùng internet thường có thói quen tìm kiếm thông tin thông qua các bài báo, tài liệu kinh doanh, thương mại điện tử,
Tại Việt Nam, số người dùng internet được xem là ở mức cao trên thế thời
Theo thống kê của We are social – Công ty chuyên thực hiện các thống kê và đánh
giá về thông số kỹ thuật số, di động và các lĩnh vực liên quan: Trung bình 1 ngày,
người Việt Nam bỏ ra 6 giờ 53 phút để duyệt web nếu xài PC và Tablet, 2 giờ 33 phút nếu xài điện thoại di động
Hình 1 1 Thời gian trung bình sử dụng internet trong 1 ngày của người Việt Nam
(Nguồn: We are social)
Nhìn chung, hoạt động thực hiện thường xuyên nhất trên Internet của người dùng là thu thập thông tin, như đọc tin tức hay sử dụng các trang web tìm kiếm Hơn 90% số lượng người sử dụng Internet đã sử dụng những trang web tìm kiếm,
Trang 13khoảng một nửa trong số họ thậm chí sử dụng hàng ngày Internet cũng được sử dụng để nghiên cứu cho việc học hay cho công việc bởi một nửa số người sử dụng Internet 1 lần 1 tuần hay thường xuyên hơn Với các trang web và ứng dụng tương tác trực tuyến mới, người sử dụng không chỉ có cơ hội tìm được thông tin mà cũng đóng góp phần nội dung của riêng họ
Thương mại điện tử hiện nay, số lượng truy cập đạt mức tăng trưởng đáng
kể Hầu hết các trang phổ biến là các trang web đấu giá và mua bán, nơi có 40% người sử dụng đã từng viếng thăm Ngân hàng trực tuyến vẫn đang ở giai đoạn sơ khai Mức độ sử dụng các trang web mua hàng trực tuyến và ngân hàng trực tuyến
đã phát triển rất mạnh trong vòng vài năm trở lại đây
Hình 1.2 Các hoạt động trực tuyến được người dùng mạng sử dụng
(Nguồn: Cimigo NetCitizens)
Trong các hoạt động và truy cập internet, việc phân loại, chọn lọc, tìm kiếm thông tin cần thiết, phù hợp với mục đích công việc là cần thiết Việc phân loại có thể được tiến hành một cách thủ công: đọc nội dung của từng hoạt động và gán nó vào một nhãn nào đó Tuy nhiên, đối với hệ thống gồm rất bản ghi hoặc với nguồn
dữ liệu lớn thì phương pháp này sẽ tốn rất nhiều thời gian và công sức Do vậy cần phải có phương pháp tự động để phân loại văn bản
Phân lớp văn bản là công việc được sử dụng để hỗ trợ trong quá trình tìm kiếm thông tin, chiết lọc thông tin, lọc văn bản hoặc tự động dẫn đường cho các văn
Trang 14bản tới những chủ đề xác định trước Phân lớp văn bản có thể thực hiện thủ công hoặc tự động sử dụng các kỹ thuật học máy có giám sát Từ thực tế về nhu cầu tìm kiếm trong kho văn bản điện tử khổng lồ và việc tìm kiếm thủ công là không khả thi, khi đó, bài toán phân loại văn bản đã, đang và sẽ được nghiên cứu, cải tiến và áp dụng vào thực tế ngày một nhiều
1.1.2 Bài toán phân loại văn bản
Phát biểu bài toán phân loại văn bản:
Đầu vào: Cho x là một văn bản, biết x thuộc một trong các nhóm(chủ đề) {1, 2 , , K}
Đầu ra: Hãy nhóm đúng nhất với x
Ví dụ: Giả sử x là một bài báo của bạn gửi đăng trên trang web điện tử Biên tập viên cần quyết định xem x thuộc chủ đề nào là tích hợp nhất: “ showbiz”, “ẩm
thực”, “thể thao”,
Giả sử x là một văn bản ngắn có mục tiêu điều khiển điều hòa Mỗi thể loại
ứng với một hành động điều khiển: “ tắt”, “bật”, “chuyển chế độ gió”,
Gọi y = ℎ∅(x) là hàm phân loại của x trong đó ∅ là tham số của hàm Ta cần tìm ℎ∅( ) có khả năng phân loại tốt
Để tìm ℎ∅, ta sử dụng phương pháp học có hướng dẫn từ dữ liệu mẫu:
- Dữ liệu học gồm N mẫu: (𝑥1, 𝑦1), (𝑥2, 𝑦2), , (𝑥𝑁, 𝑦𝑁)
- Hàm ℎ∅ được xây dựng sao cho phù hợp nhất với dữ liệu huấn luyện
Mỗi văn bản x là một đối tượng cần phân loại, thông thường x được chuyển
thành một biểu diễn vector thực D chiều:
x = {𝑥1, 𝑥2, , 𝑥𝐷} , 𝑥𝑗 𝓡
Các thành phần 𝑥𝑗, 𝑗 = 1, 2, … , 𝐷 được gọi là đặc trưng hay thuộc tính của x
Dưới đây là hình vẽ mô tả quy trình của bài toán phân loại văn bản:
Trang 15Hình 1.3 Quy trình bài toán phân loại văn bản
Để tiến hành phân loại văn bản nói chung, chúng ta sẽ thực hiện theo 2 phần chính là: huấn luyện và phân loại
- Huấn luyện: Các văn bản đầu vào với nhãn đúng được trích chọn đặc trưng
và đưa vào thuật toán học để huấn luyện mô hình dự đoán phù hợp
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ào mộ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ã hóa Thông thường, mỗi phần tử trong tập huấn luyện được thể hiện theo dạng (𝑥⃗, 𝑐) Trong đó 𝑥⃗ là vecto biểu diễn cho văn bản trong tập huấn luyện
Sau đó, đị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ật toán) để chọn ra một họ các tham số tối ưu cho bộ phân loại
Trang 16Hình 1.4 Mô hình giai đoạn huấn luyện
Đầ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
- Phân loại: Văn bản mới được trích chọn đặc trưng và đưa vào mô hình đã được huấn luyện ở bước trên để dự đoán nhãn phù hợp nhất
Hình 1 5 Mô hình giai đoạn phân lớp
1.1.3 Ứng dụng của bài toán phân loại văn bản
Bài toán phân loại đang được sử dụng phổ biến hiện nay, ta có thể bắt gặp các ứng dụng của bài toán ở một số ví dụ như:
- Công cụ phân loại mail rác (spam email) của Google – Gmail Theo như công bố đạt độ chính xác 99.9% năm 2017 (Theo vtv công nghệ - Báo điện tử thuộc đài truyền hình Việt Nam: https://vtv.vn/cong-nghe/gmail-cap-nhat-co-cau-tu-hoc-giup-ngan-chan-thu-rac-va-tin-nhan-lua-dao-20170602062734311.htm) Theo đó, google áp dụng các kỹ thuật phân loại văn bản để kiểm tra nội dung bức thư đến tự động và phát hiện được email đó là có phải là spam email hay không để cho vào mục “Spam” riêng
Trang 17- Báo vnexpress.net phục vụ 37,5 triệu người đọc thường xuyên và đạt 1,2 tỷ lượt xem mỗi tháng, đăng gần 500 tin bài mỗi ngày (số liệu 2016 http://chungta.vn/tin-tuc/kinh-doanh/vnexpress-dat-12-ty-luot-xem-mot-thang-
48730.html) VnExpress, đã áp dụng phương pháp phân loại văn bản phân loại tin bài (gợi ý bài viết liên quan, khuyến nghị những bài báo phù hợp với người dùng từ những bài báo trước đó đã đọc, marketing những sản phẩm phù hợp từ những bài báo người dùng quan tâm,…)
Dưới hình ta sẽ thấy khi vào đọc một bài báo, VNExpress sẽ giới thiệu cho ta nhưng bài báo có nội dung tương tự với bài ta đang đọc nhờ vào thuật toán phân loại văn bản tự động
Hình 1 6 Ví dụ bài toán phân loại trên báo điện tử VNExpress
Trang 181.2.Các phương pháp phân loại văn bản
Để giải bài toán phân loại văn bản, đã có nhiều phương pháp được nghiên cứu như: Naive Bayes, Multinomial Logistic regression, K-Nearest Neighbor, Mul-tinomial Bayes Để tìm hiểu và so sánh rõ hơn sự khác biệt và tối ưu với phương pháp dùng thuật toán Multinomial Bayes, một số thuật toán phân loại văn bản sau sẽ được phân tích sâu hơn:
1.2.1 Phương pháp Navie Bayes
Naive Bayes là thuật toán phân loại dựa trên định lý Bayes
Định lý Bayes thường được dùng trong lý thuyết xác suất, cho phép tính xác
xuất xảy ra sự kiện A khi biết sự kiện liên qua B đã xảy ra [2] Xác suất này được ký
hiệu là P(A|B), và đọc là “xác suất của A nếu có B” Xác suất này có công thức như
- P(A): Xác suất xảy ra sự kiện A
- P(B): Xác suất xảy ra sự kiện B
- P(B|A): Xác suất xảy ra sự kiên B khi biết sự kiện A đã xảy ra
Phương pháp Navie Bayes được sử dụng lần đầu tiên trong lĩnh vực phân loại bởi Maron vào năm 1961, sau đó trở nên phổ biến trong nhiều lĩnh vực như trong các công cụ tìm kiếm, các bộ lọc mail…
Ý tưởng
Ý tưởng của phương pháp là sử dụng xác suất có điều kiện giữa từ và chủ đề để
dự đoán xác suất chủ đề của một văn bản phân loại Điểm quan trọng của phương pháp này chính là ở chỗ để ứng dụng định lý Bayes cần 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 Giả định đó làm cho việc tính toán Navie Bayes hiệu quả và nhanh chóng hơn các phương pháp khác với độ phức
Trang 19tạp theo số mũ vì nó không sử dụng việc kết hợp các từ để đưa ra phán đoán chủ đề
do đó bước training và testing trở nên vô cùng nhanh chóng và đơn giản
Giả định đó làm cho việc tính toán Navie Bayes hiệu quả 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 việc kết hợp các từ để đưa ra phán đoán chủ đề [17]
Công thức chính
Mục đích chính là tính 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 sau dùng để tính Pr (Cj, d’) [17]:
HBayes (d’) = arg Cj 𝜖 C max( Pr(𝐶𝑗 ).∏|𝑑′|𝑖=1Pr(𝑤𝑖|𝐶𝑗)
∑𝐶′𝜖𝐶Pr(𝐶 ′ ).∏|𝑑′|𝑖=1Pr(𝑤𝑖|𝐶 ′ ))
= arg Cj 𝜖 C max( Pr(𝐶𝑗).∏𝑤𝜖𝐹Pr(𝑤 |𝐶𝑗)𝑇𝐹(𝑤,𝑑′)
∑ Pr(𝐶 ′ ).∏ Pr(𝑤𝑖|𝐶 ′ ) 𝑇𝐹(𝑤.𝑑′)
𝑤𝜖𝐹 𝐶′𝜖𝐶
)
(1.2)
Trong đó:
- TF(w, d’) là số lần xuất hiện của từ wi trong văn bản d’
|d’| là số lượng 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 trong tập dữ liệu huấn luyện:
Naive Bayes là một công cụ rất hiệu quả trong một số trường hợp Kết quả
có thể rất tồi nếu dữ liệu huấn luyện ít, nghèo nàn và các tham số dự đoán (không
Trang 20gian đặc trưng) có chất lượng kém Nói chung đây là một thuật toá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ủ đề
Naive Bayes có ưu điểm là cài đặt đơn giản, tốc độ nhanh, dễ dàng cập nhật
dữ liệu huấn luyện, có thể sử dụng kết hợp nhiều tập huấn luyện khác nhau để đưa
ra kết quả phân loại văn bản
Nhược điểm của phương pháp Naive Bayes: Do trong thực tế giả định của phương pháp là 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 rất hiếm khi xảy ra do đó độ chính xác của phương pháp so với các phương pháp khác thường không cao [17]
1.2.2 Phương pháp K – Nearest Neighbor
Phương pháp K – Nearest Neighbor dựa trên thuật toán K-Nearest bors (K-NN) được sử dụng rất phổ biến trong lĩnh vực Data Mining (phân tích dữ liệu) K-NN là phương pháp để phân lớp các đối tượng dựa vào khoảng cách gần nhất giữa đối tượng cần xếp lớp (Query point) và tất cả các đối tượng trong Train-ing Data (tập dữ liệu huấn luyện)
Neigh-Một đối tượng được phân lớp dựa vào K láng giềng của nó K là số nguyên dương được xác định trước khi thực hiện thuật toán Người ta thường dùng khoảng cách Euclidean để tính khoảng cách giữa các đối tượng
Mô tả thuật toán:
1 Xác định giá trị tham số K (số láng giềng gần nhất)
2 Tính khoảng cách giữa đối tượng cần phân lớp (Query Point) với tất cả các đối tượng trong training data (thường sử dụng khoảng các Euclidean)
3 Sắp xếp khoảng cách theo thứ tự tăng dần và xác định K láng giềng gần nhất với Query Point
4 Lấy tất cả các lớp của K láng giềng gần nhất đã xác định
5 Dựa vào phần lớn lớp của láng giềng gần nhất để xác định lớp cho Query Point
Trang 21Ý tưởng
Khi cần phân loại một văn bản mới, thuật toán sẽ tính khoảng cách (có thể áp dụng các công thức về khoảng cách như Euclide, Cosine, 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 nearest neighbor – k láng giềng gần nhất, 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 [17]
Công thức chính
- Trọng số của chủ đề cj với văn bản x được tính như sau:
W (𝑥⃗, cj) = ∑𝑑𝑖∈{kNN}𝑠𝑖𝑚 (𝑥⃗⃗, 𝑑⃗⃗⃗i).y(𝑑⃗⃗⃗i, cj ) - bj (1.5)
Trong đó:
- y(𝑑⃗⃗⃗i, cj ) = 0: văn bản 𝑑⃗⃗⃗i không thuộc về chủ đề cj
- y(𝑑⃗⃗⃗i, cj ) = 1: văn bản 𝑑⃗⃗⃗i thuộc về chủ đề cj
- sim(𝑥⃗⃗, 𝑑⃗⃗⃗i): độ giống nhau giữa văn bản cần phân loại 𝑥 ⃗⃗⃗⃗và văn bản 𝑑⃗⃗⃗i Có thể sử dụng độ đo cosine để tính sim(𝑥⃗⃗, 𝑑⃗⃗⃗i)
sim (𝑥⃗⃗, 𝑑⃗⃗⃗i) = cos (𝑥⃗⃗, 𝑑⃗⃗⃗i) = (𝑥⃗⃗⃗,𝑑⃗⃗⃗𝑖)
Trang 22Ưu điểm: Phương pháp K-NN dễ hiểu, dễ cài đặt, việc dự đoán kết quả của
dữ liệu mới rất nhanh và đơn giản mà không cần giả định gì về phân phối giữa các tập văn bản
Nhược điểm: Phương pháp K-NN phụ thuộc lớn vào việc lựa chọn tham số k (số láng giềng gần nhất) Với k càng lớn độ chính xác của phương pháp càng cao, tuy nhiên độ phức tạp của tính toán cũng tăng theo do phải tính khoảng cách tới từng điểm của tập dữ liệu Ngoài ra, việc lưu toàn bộ dữ liệu trong bộ nhớ cũng ảnh hưởng tới hiệu năng của phương pháp K-NN [17]
1.2.3 Phương pháp Multinomial Logistic regression
Phương pháp hồi quy logistic là một mô hình hồi quy nhằm dự đoán giá trị đầu
ra rời rạc (discrete target variable) y ứng với một véc-tơ đầu vào x Việc này tương đương với chuyện phân loại các đầu vào x vào các nhóm y tương ứng [18]
Phương pháp Logistic regression cho phân loại nhị phân
Sử dụng phương pháp thống kê ta có thể coi rằng khả năng một đầu vào x nằm vào một nhóm y0 là xác suất nhóm y0 khi khi biết x: p(y0∣x) Dựa vào công
thức xác xuất hậu nghiệm ta có [18]:
𝑝(𝑦0|𝑥) = 𝑝(𝑥|𝑦0)𝑝(𝑦0)
𝑝(𝑥)
= 𝑝(𝑥|𝑦0)𝑝(𝑦0)𝑝(𝑥|𝑦0)𝑝(𝑦0) + 𝑝(𝑥|𝑦1)𝑝(𝑦1)
Trang 23Hàm () ở đây được gọi là hàm sigmoid (logistic sigmoid function) Hình dạng chữ S bị chặn 2 đầu của nó rất đặt biệt ở chỗ dạng phân phối đều ra và rất mượt
Trong đó, 𝑥 là thuộc tính đầu vào còn 𝑤 là trọng số tương ứng
Sau khi có được công thức tính được xác suất rồi thì ta có thể sử dụng một
ngưỡng ϵ ∈[0,1] để quyết định nhóm tương ứng
Cụ thể:
Trang 24Phương pháp Logistic regression cho phân loại nhiều nhóm
Tương tự như phân loại 2 nhóm, ta có thể mở rộng ra thành nhiều nhóm với cùng phương pháp sử dụng công thức xác suất hậu nghiệm để được hàm softmax sau:
Trang 25Ở đây, ta sẽ mã hóa các nhóm của ta thành một véc – tơ one-hot với phần tử
ở chỉ số nhóm tương ứng bằng 1 và các phần tử khác bằng 0 Ví dụ: 𝑦1 =[1, 0, … , 0], 𝑦3 = [0, 0, 1, 0, … , 0] Tập hợp các véc – tơ này lại ta sẽ có được một
ma trận chéo Y với mỗi cột tương ứng với một nhóm Ví dụ, ma trận sau biểu diễn
Trang 26Cross-entropy là cách đo độ tương tự giữ 2 phân phối xác suất với nhau
Nếu 2 phần phối càng giống nhau thì cross-entropy của chúng càng nhỏ Như vậy
để tìm mô hình gần với mô hình thực của tập dữ liệu, ta chỉ cần tối thiểu hoá entropy của nó
cross-1.3 Kết luận
Chương này đã giới thiệu về bài toán phân loại văn bản các ứng dụng thực tế của bài toán trong môi trường công nghiệp Tiếp theo, các nội dung được trình bày là: lịch sử, ý tưởng và cách thuật toán thực hiện đối với 3 phương pháp được sử dụng rộng rãi trong bài toán phân loại văn bản được giới thiệu bao gồm: Naive Bayes, k – Nearest Neighbor và Multinomial Logistic Regression Chương 2, luận văn tập trung vào trình bày thuật toán Multinomial Bayes cơ sở lý thuyết và áp dụng trong bài toán phân loại văn bản
Trang 27CHƯƠNG 2: PHƯƠNG PHÁP MULTINOMIAL BAYES
TRONG BÀI TOÁN PHÂN LOẠI VĂN BẢN
2.1 Biểu diễn văn bản
Là bước cần thiết trong xử lý văn bản Mục đích của biểu diễn văn bản là gắn kết các từ, các chủ đề liên quan để phân biệt được từ ở các lĩnh vực khác nhau Ngoài ra, dự đoán được độ liên quan của từ với yêu cầu người dùng, với lĩnh vực và chuyên ngành cụ thể
Các nghiên cứu về biểu diễn văn bản:
Bảng 2.1 Các nghiên cứu về biểu diễn văn bản [6]
Researcg paper
ref-erence
Document tation
Represen-Feature lection
Se-Learning gorithm
al-Apté et al bag -of-words (freq)
stop list + quency Decision Rules
fre-Armstrong et al bag -of-words informativity
TFIDF Winnow, WordStat
Balabanovie et al bag -of- worlds (freq)
stop list + stemming + keep 10 best
Bartell et al bag -of- worlds (freq)
latent tic indexing using SVD
seman-Berry et al
Foltz and Dumais bag -of- worlds (freq)
latent tic indexing using SVD TFIDF
infrequent words pruned
Decision Rules ILP
Trang 28Joachims bag - of - words (freq)
infrequent words ++ in-formativity
TFIDF, FIDF, Nạve Bayes
PrT-Lam et al bag - of - words (freq) mutual infor
Bayesian work
Net-Lewis et al bag - of - words
log likelihood ratio
logistic sion with Nạve Bayes
regres-Maes
bag - of - words + header info
mail/news header + se-lecting key-words
Memory - Based reason-ing
Pazzani et al bag - of - words
stop list + formativity
in-TFIDF, Nạve Bayes, Nearest Neighbor, Neu-ral Network, Decision Trees
Sorensen and MC
El-ligott
n - gram graph (only bigrams)
weighting grap edges
connectionist combined with genetic Algo-rithms
adapted Nearest Neigh-bor