1. Trang chủ
  2. » Luận Văn - Báo Cá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ĩ)

57 128 0

Đ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 57
Dung lượng 2,44 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

HỌ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 2

HỌ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 3

LỜ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 4

MỤ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 5

2.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 6

DANH 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 7

MỤ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 8

DANH 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 9

MỞ ĐẦ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 10

Chươ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 11

CHƯƠ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 12

có 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 13

khoả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 14

bả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 15

Hì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 16

Hì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 18

1.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 19

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ủ đề

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 20

gian đặ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 23

Hà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 24

Phươ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 26

Cross-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 27

CHƯƠ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 28

Joachims 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

Ngày đăng: 14/03/2019, 23:43

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm