Tải bản đầy đủ (.pdf) (32 trang)

Tổng hợp ý kiến phản hồi của độc giả theo sự kiện phản ánh bởi báo chí ( tt luận văn thạc sĩ )

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.07 MB, 32 trang )

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
----------------------------------

Trần Minh Hùng

TỔNG HỢP Ý KIẾN PHẢN HỒI CỦA ĐỘC GIẢ
THEO SỰ KIỆN PHẢN ÁNH BỞI BÁO CHÍ

Chun ngành: Hệ thống thơng tin
Mã số: 08.48.01.04

TÓM TẮT LUẬN VĂN THẠC SĨ

HÀ NỘI - 2019


Luận văn được hồn thành tại:

HỌC VIÊN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG

Người hướng dẫn khoa học: TS. Nguyễn Mạnh Hùng

Phản biện 1:

Phản biện 2:

Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện
Cơng nghệ Bưu chính Viễn thơng
Vào lúc: ……..giờ…….ngày ……..tháng……..năm …….

Có thể tìm hiểu luận văn tại:


- Thư viện của Học viện Cơng nghệ Bưu chính Viễn thơng


1

MỞ ĐẦU
Hiện nay với sự phát triển mạnh mẽ của công nghệ thông tin, sự phổ biến của
mạng Internet là môi trường phổ biến dùng để lưu trữ các thông tin. Một lượng lớn
tri thức đã được sản sinh và chia sẻ trên mạng Internet. Ngồi ra, hàng ngày có rất
nhiều bài báo, sách được chia sẻ hàng ngày trên mạng Internet để cập nhật thông
tin về cuộc sống quanh chúng ta. Cùng với đó là nhu cầu tiếp thu kiến thức, lượng
thông tin, tri thức trên mạng Internet của con người ngày càng tăng lên do vậy khi
chúng ta tiếp thu, chắt lọc nội dung bằng phương pháp thông thường sẽ mất rất
nhiều thời gian. Ứng dụng phân loại nội dung của một văn bản tiếng Việt cung cấp
thêm một phương pháp tiếp cận thông tin dựa trên nội dung đã được phân phân loại
chủ đề giúp người đọc dễ dàng tiếp cận thơng tin mình mong muốn.
Phân loại nội dung của của một văn bản đó là xử lý, phân tích , trích xuất và
tổng hợp nội dung của một văn bản tiếng Việt, từ đó phân loại nội dung văn bản
theo các chủ đề khác nhau, giúp người đọc dễ dàng nắm bắt được các văn bản có
nội dung theo chủ đề mà người dùng quan tâm. Đây là một đề tài có tính ứng dụng
cao trong thực tiễn nên được nghiên cứu và giải quyết bằng nhiều phương pháp
khác nhau trên toàn thế giới. Trong phạm vi của luận văn này chỉ làm việc trên văn
bản bằng tiếng Việt, cụ thể là các bài báo trên mạng Internet
Vì vậy, Học viên xin chọn đề tài “Tổng hợp ý kiến phản hồi của độc giả
theo sự kiện phản ánh bởi báo chí” nhằm phân loại nội của một bài báo trên mạng
Internet theo các thuật toán phân loại văn bản và từ đó chọn ra thuật tốn phân loại
nội dung bài báo tiếng Việt tốt nhất trong khn khổ nghiên cứu. Dựa vào việc cài
đặt thuật tốn và kết quả thu được về bài báo để phân loại bài toán và đưa ra kết quả
đánh giá về các thuật toán thực hiện phân loại văn bản.
Luận văn sẽ trình bày tổng quan về bài tốn phân loại nội dung văn bản và

các thuật toán xử lý phân loại nội dung văn bản. Cài đặt thuật toán phân loại nội
dung văn bản Tiếng việt được mô tả trong luận văn với dữ liệu đầu vào là các bài
báo trên mạng Internet và đưa ra kết quả đánh giá nhận được.


2

Luận văn có bố cục gồm: Phần mở đầu, 3 chương chính, phần kết luận, tài
liệu tham khảo và phụ lục. Được bố trí theo thứ tự:
- Mở đầu.
- Chương 1: Tổng quan về phân loại nội dung văn bản
Trong chương này, luận văn sẽ trình bày tổng quan về xử lý và phân loại nội
dung, đặc trưng của một văn bản tiếng Việt , phương pháp tiếp cận bài toán phân
loại văn bản và các bước trong giai đoạn tiền xử lý văn bản trước khi thực hiện phân
loại văn bản. Các thuật toán sử dụng để phân loại văn bản sẽ được giới thiệu ở
chương 2.
- Chương 2: Thuật toán phân loại nội dung văn bản
Trong chương này, luận văn sẽ trình bày một số thuật tốn hay dùng để phân
loại văn bản. Luận văn cũng sẽ trình bày chi tiết các thuật toán sử dụng để phân loại
nội dung văn bản tiếng Việt. Việc cài đặt thuật toán và đánh giá kết quả nhận được
sẽ được thực hiện trong chương 3.
- Chương 3: Cài đặt thuật toán và đánh giá kết quả
Trong chương này, luận văn sẽ trình bày các bước cài đặt thuật tốn phân
loại nội dung văn bản, kết quả thực nghiệm thu được từ việc cài đặt và sử dụng
thuật tốn. Từ đó đưa ra kết luận và đánh giá về thuật toán sử dụng để phân loại nội
dung văn bản.
- Kết luận luận văn.
- Tài liệu tham khảo



3

CHƯƠNG 1 TỔNG QUAN VỀ PHÂN LOẠI
NỘI DUNG VĂN BẢN
Trong chương này, luận văn sẽ trình bày tổng quan về xử lý và phân loại nội
dung của một văn bản tiếng Việt, các phương pháp tiếp cận bài toán phân loại văn
bản và các bước hay dùng trong giai đoạn tiền xử lý văn bản.

1.1. Tổng quan về bài toán phân loại nội dung văn bản
1.1.1. Giới thiệu về bài tốn phân loại văn bản
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 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ủ đề.

Hình 1. 1 Mơ tả bài tốn phân loại nội dung văn bản [12].
Vậy phân loại văn bản là quá trình phân loại, gán nhãn (lớp) cho các tài liệu
văn bản bao gồm các văn bản có cấu trúc hoặc không cấu trúc vào một tập hợp của
một hay nhiều chủ đề đã được định nghĩa trước đó.


4

1.1.2. Ứng dụng bài toán phân loại văn bản
Lọc thư rác
Phân loại tin tức điện tử
Xây dựng các cỗ máy tìm kiếm

1.2. Mơ hình cho bài tốn phân loại văn bản
Trong phần này, luận văn sẽ giới thiệu mơ hình để thực hiện phân loại văn
bản vào các lớp.


Hình 1. 2 Mơ hình thực hiện bài tốn phân loại văn bản [9] .

1.2.1. Yêu cầu đối với bài toán phân loại văn bản
Vậy để giải quyết được bài toán phân loại văn bản chúng ta cần phải nắm được:
- Dữ liệu đầu vào cho việc phân loại (tin tức điện tử, bài báo khoa học, nghị
luận chính trị ....)
- Mơ hình thực hiện phân loại văn bản
- Thuật tốn sử dụng để phân loại văn bản
- Kết quả và đánh giá.


5

Trong luận văn này, dữ liệu đầu vào sẽ các bài báo trên mạng Internet.

1.2.2. Giai đoạn 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

Hình 1. 3 Chi tiết giai đoạn huấn luyện [5].

1.2.3. Giai đoạn phân lớp
Đây là giai đoạn thực hiện phân loại cho một văn bản chưa có nhãn dựa trên
mơ hình mẫu đã được xây dựng từ giai đoạn huấn luyện

1.3. Tiền xử lý văn bản
Trong phần này, luận văn sẽ trình bày các bước cơ bản được thực hiện trong
giai đoạn tiền xử lý văn bản và một số mơ hình và phương pháp áp dụng để thực

hiện trong giai đoạn này.

1.3.1. Tách từ trong văn bản
Phương pháp khớp tối đa
Mơ hình tách từ bằng WFST và mạng Neural
Tầng WFST: Gồm có ba bước
Bước 1: Xây dựng từ điển trọng số


6

Bước 2: Xây dựng các khả năng tách từ
Bước 3: Lựa chọn khả năng tách tối ưu
Tầng mạng Neural
Phương pháp học dựa vào sự biến đổi trạng thái

1.3.2. Trọng số của từ trong văn bản
Mơ hình Boolean
Phương pháp dựa trên tần số từ khố
1.3.3. Trích chọn đặc trưng văn bản
a. Phương pháp rút trích đặc trưng
b. Phương pháp đặc trưng đề nghị sử dụng trong luận văn

1.3.4. Các mơ hình biểu diễn văn bản
Mơ hình xác suất

Hình 1. 4 Biểu diễn văn bản theo mơ hình xác suất [1].
Mơ hình xác suất là mơ hình tốn học làm việc với các biến ngẫu nhiên và
phân bố xác suất của nó . Theo thuật ngữ tốn học, một mơ hình xác suất có thể
được coi như một cặp (Y, P), trong đó Y là tập các quan sát (biến ngẫu nhiên) và P

là tập các phân bố xác suất trên Y. Khi đó, sử dụng suy diễn xác suất sẽ cho ta kết


7

luận về các phần tử của tập Y. Các phương pháp suy diễn có thể là các phương pháp
hồi quy hoặc suy diễn Bayes.

Mơ hình khơng gian vector


Các đặc trưng của văn bản khi biểu diễn dưới dạng vector
- Không gian đặc trưng thường lớn. Các văn bản càng dài, lượng thơng tin

trong nó đề cập đến nhiều vấn đề thì khơng gian đặc trưng càng lớn.
- Các đặc trưng độc lập nhau. Sự kết hợp các đặc trưng này thường khơng

có ý nghĩa trong phân lớp.
- Các đặc trưng rời rạc: Vector đặc trưng di có thể có nhiều thành phần

mang giá trị 0 do có nhiều đặc trưng không xuất hiện trong văn bản d i (nếu tiếp cận
theo cách sử dụng giá trị nhị phân 0,1 để biểu diễn cho việc có xuất hiện hay khơng
một đặc trưng nào đó trong văn bản đang được biểu diễn thành vector).

1.4. Đặc trưng văn bản Tiếng Việt
1.4.1. Đặc trưng của tiếng Việt
1.4.2. Đặc trưng văn bản tin tức
1.4.3. Xử lý tiếng Việt trong phân loại văn bản
1.5. Kết luận
Trong chương này, luận văn đã trình bày tổng quan về xử lý và phân loại nội

dung, đặc trưng của một văn bản tiếng Việt , phương pháp tiếp cận bài toán phân
loại văn bản và các bước trong giai đoạn tiền xử lý văn bản trước khi thực hiện phân
loại văn bản. Các thuật toán sử dụng để phân loại văn bản sẽ được giới thiệu ở
chương 2


8

CHƯƠNG 2 THUẬT TOÁN PHÂN LOẠI
NỘI DUNG VĂN BẢN
Trong chương này, luận văn sẽ trình bày một số thuật tốn hay dùng để phân
loại văn bản. Nội dung đầu vào của các thuật toán là các văn bản tiếng Việt. Việc
cài đặt thuật toán và đánh giá kết quả nhận được sẽ được thực hiện trong chương 3.

2.1 Thuật toán Naive Bayes
Naïve Bayes (NB) [6] là phương pháp phân loại dựa vào xác suất, được coi
là một trong những thuật tốn phân lớp điển hình nhất trong học máy và khai phá
dữ liệu, đặc biệt được sử dụng rộng rãi trong phân lớp văn bản.
Thuật tốn Nạve Bayes dựa trên định lý Bayes được phát biểu như sau:
𝑃 (𝑌 | 𝑋 ) =

𝑃(𝑋𝑌)
𝑃(𝑋)

=

𝑃(𝑋|𝑌)𝑃(𝑌)
𝑃(𝑋)

(2.1)


Á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ưới dạng 𝑥⃗ = (𝑥1 , 𝑥2 , … , 𝑥𝑛 )
 Ci: phân lớp i, với i = {1,2,…,m}.
 Các thuộc tính độc lập điều kiện đôi một với nhau.

Theo định lý Bayes:
𝑃(𝐶𝑖 |𝑋) =

𝑃(𝑋|𝐶𝑖 )𝑃(𝐶𝑖 )
𝑃(𝑋)

(2.2)

Theo tính chất độc lập điều kiện:
𝑃(𝑋 |𝐶𝑖 ) = ∏𝑛𝑘=1 𝑃(𝑥𝑘 |𝐶𝑖 )
Trong đó:
 𝑃(𝐶𝑖 |𝑋) là xác suất thuộc phân lớp i khi biết trước mẫu X.
 𝑃(𝐶𝑖 ) xác suất là phân lớp i.

(2.3)


9

 𝑃(𝑥𝑘 |𝐶𝑖 ) xác suất thuộc tính thứ k mang giá trị xk khi đã biết X thuộc phân
lớp i.
Các bước thực hiện thuật tốn Nạve Bayes:
Bước 1: Huấn luyện Nạve Bayes (dựa vào tập dữ liệu), tính 𝑃(𝐶𝑖 ) và
𝑃(𝑥𝑘 |𝐶𝑖 )

Bước 2: Phân lớp 𝑋 𝑛𝑒𝑤 = (𝑥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
max(𝑃(𝐶𝑖 ) ∏𝑛𝑘=1 𝑃(𝑥𝑘 |𝐶𝑖 ))
𝐶𝑖 ∈𝐶

(2.4)

Nói chung Nạve Bayes là một cơng cụ rất hiệu quả trong học máy nói chung
và phân loại văn bản nói riêng. Kết quả của thuật tốn 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. Đâ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 toá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.

2.2 Thuật toán Long Short Term Memory networks
Mạng bộ nhớ dài-ngắn (Long Short Term Memory networks) [10], thường
được gọi là LSTM - là một dạng đặc biệt của RNN (Recurrent Neural Network), nó
có khả năng học được các phụ thuộc xa. LSTM được giới thiệu bởi Hochreiter &
Schmidhuber (1997), và sau đó đã được cải tiến và phổ biến bởi rất nhiều người
trong ngành. Chúng hoạt động cực kì hiệu quả trên nhiều bài toán khác nhau nên
dần đã trở nên phổ biến như hiện nay.
LSTM được thiết kế để tránh được vấn đề phụ thuộc xa (long-term
dependency). Việc nhớ thông tin trong suốt thời gian dài là đặc tính mặc định của
chúng, chứ ta khơng cần phải huấn luyện nó để có thể nhớ được. Tức là ngay nội tại
của nó đã có thể ghi nhớ được mà khơng cần bất kì can thiệp nào.


10


Mọi mạng hồi quy đều có dạng là một chuỗi các mô-đun lặp đi lặp lại của
mạng nơ-ron. Với mạng RNN chuẩn, các mơ-dun này có cấu trúc rất đơn giản,
thường là một tầng tanh.

Hình 2. 1 The repeating module in a standard RNN contains a single layer
LSTM cũng có kiến trúc dạng chuỗi như vậy, nhưng các mô-đun trong nó có
cấu trúc khác với mạng RNN chuẩn. Thay vì chỉ có một tầng mạng nơ-ron, chúng
có tới 4 tầng tương tác với nhau một cách rất đặc biệt.

Hình 2. 2 The repeating module in an LSTM contains four interacting layers
Giờ thì đừng hoang mang về chi tiết bên trong chúng ngay, chúng ta sẽ khám
phá chúng chi tiết chúng ở bước sau. Điều bạn cần làm bây giờ là làm hãy làm quen
với các kí hiệu mà ta sẽ sử dụng ở dưới đây:

Hình 2. 3 các ký hiệu sử dụng trong mơ hình LSTM
Ở sơ đồ trên, mỗi một đường mang một véc-tơ từ đầu ra của một nút tới đầu
vào của một nút khác. Các hình trong màu hồng biểu diễn các phép toán như phép


11

cộng véc-tơ chẳng hạn, cịn các ơ màu vàng được sử dụng để học trong các từng
mạng nơ-ron. Các đường hợp nhau kí hiệu việc kết hợp, cịn các đường rẽ nhánh ám
chỉ nội dung của nó được sao chép và chuyển tới các nơi khác nhau.

2.2.1 Ý tưởng cốt lõi của LSTM
Chìa khóa của LSTM là trạng thái tế bào (cell state) - chính đường chạy
thơng ngang phía trên của sơ đồ hình vẽ. Trạng thái tế bào là một dạng giống như
băng truyền. Nó chạy xuyên suốt tất cả các mắt xích (các nút mạng) và chỉ tương

tác tuyến tính đơi chút. Vì vậy mà các thơng tin có thể dễ dàng truyền đi thơng suốt
mà khơng sợ bị thay đổi.
LSTM có khả năng bỏ đi hoặc thêm vào các thông tin cần thiết cho trạng thái
tế báo, chúng được điều chỉnh cẩn thận bởi các nhóm được gọi là cổng (gate). Các
cổng là nơi sàng lọc thông tin đi qua nó, chúng được kết hợp bởi một tầng mạng
sigmoid và một phép nhân.
Tầng sigmoid sẽ cho đầu ra là một số trong khoản [0, 1], mô tả có bao nhiêu
thơng tin có thể được thơng qua. Khi đầu ra là 0 thì có nghĩa là khơng cho thơng tin
nào qua cả, cịn khi là 1 thì có nghĩa là cho tất cả các thông tin đi qua nó. Một
LSTM gồm có 3 cổng như vậy để duy trì và điều hành trạng thái của tế bào.

2.2.2 Bên trong LSTM
Bước đầu tiên của LSTM là quyết định xem thông tin nào cần bỏ đi từ trạng
thái tế bào. Quyết định này được đưa ra bởi tầng sigmoid - gọi là “tầng cổng quên”
(forget gate layer). Nó sẽ lấy đầu vào là ℎ𝑡−1 và 𝑥𝑡 rồi đưa ra kết quả là một số
trong khoảng [0,1] cho mỗi số trong trạng thái tế bào 𝐶𝑡−1 . Đẩu ra là 1 thể hiện
rằng nó giữ tồn bộ thơng tin lại, cịn 0 chỉ rằng tồn bộ thơng tin sẽ bị bỏ đi. Quay
trở lại với ví dụ mơ hình ngơn ngữ dự đoán từ tiếp theo dựa trên tất cả các từ trước
đó, với những bài tốn như vậy, thì trạng thái tế bào có thể sẽ mang thơng tin về
giới tính của một nhân vật nào đó giúp ta sử dụng được đại từ nhân xưng chuẩn xác.


12

Tuy nhiên, khi đề cập tới một người khác thì ta sẽ khơng muốn nhớ tới giới tính của
nhân vật nữa, vì nó khơng cịn tác dụng gì với chủ thế mới này.

Hình 2. 4 Mơ tả thuật tốn LSTM
Bước tiếp theo là quyết định xem thông tin mới nào ta sẽ lưu vào trạng thái
tế bào. Việc này gồm 2 phần. Đầu tiên là sử dụng một tầng sigmoid được gọi là

“tầng cổng vào” (input gate layer) để quyết định giá trị nào ta sẽ cập nhập. Tiếp
theo là một tầng tanh tạo ra một véc-tơ cho giá trị mới 𝐶𝑡~ nhằm thêm vào cho
trạng thái. Trong bước tiếp theo, ta sẽ kết hợp 2 giá trị đó lại để tạo ra một cập nhập
cho trạng thái.
Chẳng hạn với ví dụ mơ hình ngơn ngữ của ta, ta sẽ muốn thêm giới tính của
nhân vật mới này vào trạng thái tế bào và thay thế giới tính của nhân vật trước đó.

Hình 2. 5 Mơ tả thuật tốn LSTM
Giờ là lúc cập nhập trạng thái tế bào cũ 𝐶𝑡−1 thành trạng thái mới 𝐶𝑡 . Ở các
bước trước đó đã quyết định những việc cần làm, nên giờ ta chỉ cần thực hiện là
xong. Ta sẽ nhân trạng thái cũ với 𝑓𝑡 để bỏ đi những thông tin ta quyết định quên
lúc trước. Sau đó cộng thêm 𝑖𝑡 ∗ 𝐶𝑡~ . Trạng thái mới thu được này phụ thuộc vào


13

việc ta quyết định cập nhập mỗi giá trị trạng thái ra sao. Với bài tồn mơ hình ngơn
ngữ, chính là việc ta bỏ đi thơng tin về giới tính của nhân vật cũ, và thêm thơng tin
về giới tính của nhân vật mới như ta đã quyết định ở các bước trước đó.

Hình 2. 6 Mơ tả thuật tốn LSTM
Cuối cùng, ta cần quyết định xem ta muốn đầu ra là gì. Giá trị đầu ra sẽ dựa
vào trạng thái tế bào, nhưng sẽ được tiếp tục sàng lọc. Đầu tiên, ta chạy một tầng
sigmoid để quyết định phần nào của trạng thái tế bào ta muốn xuất ra. Sau đó, ta
đưa nó trạng thái tế bảo qua một hàm tanh tanh để co giá trị nó về khoảng [−1,1], và
nhân nó với đầu ra của cổng sigmoid để được giá trị đầu ra ta mong muốn. Với ví
dụ về mơ hình ngơn ngữ, chỉ cần xem chủ thể mà ta có thể đưa ra thơng tin về một
trạng từ đi sau đó.
Ví dụ, nếu đầu ra của chủ thể là số ít hoặc số nhiều thì ta có thể biết được
dạng của trạng từ đi theo sau nó phải như thế nào.


Hình 2. 7 Mơ tả thuật tốn LSTM


14

2.3 Thuật toán phân loại văn bản dựa trên từ đại diện
2.3.1 Mơ tả thuật tốn chọn từ đại diện
Trong lĩnh vực khai phá dữ liệu, bài toán phân loại văn bản đã được thực
hiện dựa trên nhiều thuật toán như Naïve Bayes, K-Nearest Neighbor, Support
Vector Machine… Những phương pháp này đã cho kết quả chấp nhận được và được
sử dụng nhiều trong thực tế. Luận văn này sẽ trình bày một thuật tốn khác đã được
mơ tả chi tiết trong bài báo khoa học “Best Topic Word Selection for Topic
Labelling” [8]. Thuật toán này là phương pháp phân loại văn bản dựa theo đánh giá
khách quan của người dùng, nhãn của mỗi văn bản sẽ được người dùng quyết định
bằng việc đưa ra một số lượng N keyword và thuật toán sẽ xác định đâu là nhãn của
một văn bản. Xét với các phương pháp phân lớp khác, khả năng phân lớp của thuật
toán này là khá tốt và hiệu quả.
Mơ tả chi tiết thuật tốn:
- Giả định rằng văn bản cần phân loại là rõ nghĩa và do đó, các từ trong tập
keyword truyền vào là rõ ràng, có ý nghĩa.
- Dữ liệu đầu vào là N keyword, trong N keyword truyền vào (N = 10),
chúng ta có thể chọn được một keyword để làm nhãn cho văn bản.
- Ta sẽ so sánh mức độ quan trọng giữa các keyword được truyền vào (dựa
theo công thức được mô tả), từ đó tìm ra từ nào có trọng số cao nhất để xác
định làm nhãn.
Công thức sử dụng:
- Xác suất có điều kiện của một từ wi so với từ wj được tính theo cơng thức
(CP1):
𝑃(𝜔𝑖 |𝜔𝑗 ) =


𝑃(𝜔𝑖 ,𝜔𝑗)
𝑃(𝜔𝑗)

(2.10)

Trong đó P(wi, wj ) là xác suất số lần xuất hiện của wi , wj trong cùng văn bản
P (wi) là xác suất của từ wi trong tập văn bản


15

Từ đó tính được trung bình xác suất của từ wi theo công thức như sau:
𝑎𝑣𝑔 − 𝐶𝑃1(𝜔𝑖 ) =

1

∑𝑗 𝑃(𝜔𝑖 |𝜔𝑗 )

9

(2.11)

Một từ được chọn làm nhãn thì mức độ quan trọng của từ đó so với các từ
khác cũng sẽ rất lớn. có nghĩa là thuật tốn cũng cần tính tốn mức độ quan trọng
của một từ dựa trên xác suất của từ khác.
Do vậy, trung bình xác suất có điều kiện của một từ wi so với từ wj cũng
được tính theo cơng thức (CP2):
𝑎𝑣𝑔 − 𝐶𝑃2(𝜔𝑖 ) =


1

∑𝑗 𝑃(𝜔𝑗 |𝜔𝑖 )

9

(2.12)

Thuật tốn cịn một hướng tiếp cận khác là tính xác suất có điều kiện của các
cặp từ dựa theo công thức PMI:
𝑃𝑀𝐼(𝜔𝑖 , 𝜔𝑗 ) = 𝑙𝑜𝑔

𝑃(𝜔𝑖 ,𝜔𝑗 )
𝑃(𝜔𝑖 )𝑃(𝜔𝑗 )

(2.13)

Từ đó tính trung bình xác suất PMI cho từ wi được dựa theo công thức:
𝑎𝑣𝑔 − 𝑃𝑀𝐼 (𝜔𝑖 ) =

1
9

∑𝑗 𝑃𝑀𝐼(𝜔𝑖 , 𝜔𝑗 )

(2.14)

Từ các cơng thức trên (CP1, CP2, PMI) để tính trung bình xác suất của N
keyword truyền vào (N = 10) và chọn ra từ có trung bình xác suất là lớn nhất làm
nhãn của văn bản. Trong phần thực nghiệm, luận văn sẽ trình bày thuật tốn dựa

theo cơng thức PMI.
Sau khi nhận được kết quả thực hiện thuật toán dựa theo công thức PMI, luận
văn sẽ dựa vào lý thuyết độ tương đồng văn bản để thực hiện phân loại văn bản.

2.3.2 Phân loại văn bản dựa trên độ tương đồng văn bản
a. Tính độ tương đồng sử dụng độ đo Cosine
Không gian vector (hay số chiều của vector) có kích thước bằng số mục từ
trong danh sách mục từ chính. Giá trị mỗi phần tử là độ quan trọng của mục từ
trong câu. Độ quan trọng của từ được tính theo cơng thức sau:


16

𝑊ị =

𝑡𝑓ị

(2.15)

√∑𝑗 𝑡𝑓2 𝑖𝑗

Với tfi,j là tần số xuất hiện của mục từ i trong câu j.
Với không gian biểu diễn tài liệu được chọn là không gian vector và trọng số
TF. Giả sử vector biểu diễn cho hai văn bản lần lượt có dạng:
Di = <w1i, ..., wti>, với wti là trọng số của từ thứ t trong không gian i.
Dj = <w1j, ..., wtj>, với wtj là trọng số của từ thứ t trong không gian j.
Độ đo tương đồng được tính là Cosine của góc giữa 2 vector biểu diễn cho
hai văn bản là Di và Dj. Độ tương tự giữa chúng được tính theo cơng thức:

(2.16)

b. Tính độ tương đồng dựa vào độ đo khoảng cách Euclide
Sử dụng khoảng cách Euclide là một phương pháp phổ biến để xác định mức
độ tương đồng giữa các vector đặc trưng của hai văn bản.
Cho hai vector ⃗⃗⃗⃗⃗
𝑣𝑎 và 𝑣
⃗⃗⃗⃗⃗𝑏 là các vector đặc trưng của hai văn bản trong không
gian Euclide n chiều:

𝑣𝑎 (wa1, wa2,..., wan); 𝑣
⃗⃗⃗⃗⃗=
⃗⃗⃗⃗⃗=
𝑏 (wb1, wb2,..., wbn). Khoảng cách

Euclide được định nghĩa như sau:
𝑛
2
𝑒𝑢𝑐_𝑑𝑖𝑠𝑡(𝑣
⃗⃗⃗⃗⃗,
⃗⃗⃗⃗⃗)
𝑎 𝑣
𝑏 = √∑𝑖=1(𝑤𝑎𝑖 − 𝑤𝑏𝑖 )

(2.17)

𝑒𝑢𝑐_𝑑𝑖𝑠𝑡(𝑣
⃗⃗⃗⃗⃗,
⃗⃗⃗⃗⃗)
𝑎 𝑣
𝑏
nằm trong khoảng 0 và 1.

𝑛
Mức độ tương đồng giữa hai vector này được xác định bằng công thức:


17

𝑒𝑢𝑐_𝑠𝑖𝑚(⃗⃗⃗⃗⃗,
𝑣𝑎 𝑣
⃗⃗⃗⃗⃗𝑏 ) = 1 −

⃗⃗⃗⃗⃗,𝑣
𝑒𝑢𝑐_𝑑𝑖𝑠𝑡(𝑣
𝑎 ⃗⃗⃗⃗⃗)
𝑏
𝑛

1

= 1 − √∑𝑛𝑖=1(𝑤𝑎𝑖 − 𝑤𝑏𝑖 )2
𝑛

(2.18)

c. Tính độ tương đồng dựa vào độ đo khoảng cách Manhattan
Khoảng cách Manhattan là một phương pháp khác dùng để xác định mức độ
tương đồng giữa các vector đặc trưng của hai văn bản.
Cho hai vector ⃗⃗⃗⃗⃗
𝑣𝑎 và 𝑣
⃗⃗⃗⃗⃗:
𝑣𝑎 (wa1, wa2,..., wan); 𝑣

⃗⃗⃗⃗⃗=
⃗⃗⃗⃗⃗=
(wb1, wb2,..., wbn).
𝑏
𝑏
Khoảng cách Manhattan được định nghĩa như sau:
𝑛
𝑚𝑎𝑛_𝑑𝑖𝑠𝑡(𝑣
⃗⃗⃗⃗⃗,
⃗⃗⃗⃗⃗)
𝑎 𝑣
𝑏 = ∑𝑖=1|𝑤𝑎𝑖 − 𝑤𝑏𝑖 |

(2.19)

𝑚𝑎𝑛_𝑑𝑖𝑠𝑡(𝑣
⃗⃗⃗⃗⃗,
⃗⃗⃗⃗⃗)
𝑎 𝑣
𝑏
nằm trong khoảng 0 và 1.
𝑛
Mức độ tương đồng giữa hai vector này được xác định bằng công thức:
𝑚𝑎𝑛_𝑠𝑖𝑚(⃗⃗⃗⃗⃗,
𝑣𝑎 𝑣
⃗⃗⃗⃗⃗𝑏 ) = 1 −

⃗⃗⃗⃗⃗,𝑣
𝑚𝑎𝑛_𝑑𝑖𝑠𝑡(𝑣
𝑎 ⃗⃗⃗⃗⃗)

𝑏
𝑛

1

= 1 − ∑𝑛𝑖=1|𝑤𝑎𝑖 − 𝑤𝑏𝑖 |
𝑛

(2.20)

Nhận xét: Các phương pháp nêu trên cho kết quả tốt như nhau trong việc xác
định mức độ tương đồng giữa các vector, nên tùy vào mục tiêu mà chọn phương
pháp nào là phù hợp.

2.4 Kết luận
Trong chương này, luận văn trình bày về bài tốn phân loại văn bản tiếng
Việt với các thuật toán phân loại và các khái niệm liên quan như: các kỹ thuật cơ
bản trong việc xử lý văn bản để phân loại như tách từ, đánh trọng số của từ trong
văn bản, các mô hình biểu diễn văn bản, tính độ tương đồng văn bản...
Nội dung của chương cũng đã tập trung phân tích, làm rõ một số giải pháp
kỹ thuật liên quan, qua đó định hướng áp dụng trong việc giải quyết bài tốn phân
loại văn bản như phương pháp trích chọn đặc trưng, mơ hình biểu diễn văn bản,
phương pháp đánh trọng số của từ, thuật toán phân loại...
Kết quả nghiên cứu của chương này là cơ sở để giải quyết bài toán phân loại
văn bản tiếng Việt ở chương sau.


18

CHƯƠNG 3 CÀI ĐẶT THUẬT TOÁN

VÀ ĐÁNH GIÁ KẾT QUẢ
Trong chương này, luận văn sẽ trình bày các bước cài đặt thuật toán phân
loại nội dung văn bản, kết quả thực nghiệm thu được từ việc cài đặt và sử dụng
thuật tốn. Từ đó đưa ra kết luận và đánh giá về thuật toán sử dụng để phân loại nội
dung văn bản.

3.1 Mơ tả cài đặt thuật tốn

Hình 3. 1 Mơ hình xử lý và cài đặt thuật tốn
Mơ hình trên mô tả 2 giai đoạn của phân lớp một văn bản bao gồm các bước sau:
Giai đoạn huấn luyện:
- Tập văn bản: là dữ liệu đầu vào của thuật toán, tập văn bản này bao gồm
tập các bài báo trên mạng Internet bằng tiếng Việt được thu thập lại. Toàn bộ nguồn
dữ liệu dùng để kiểm thử đã được xử lý thơ bằng tay. Tồn bộ dữ liệu được lưu lại
dưới định dạng .txt để làm đầu vào cho chương trình.
- Tiền xử lý: đây là giai đoạn xử lý dữ liệu thô đầu vào. Văn bản trước khi
được Vector hoá, tức là trước khi sử dụng, cần phải được tiền xử lý. Quá trình tiền
xử lý sẽ giúp nâng cao hiệu suất phân loại và giảm độ phức tạp của thuật toán.


19

- Trích trọng đặc trưng: đây là giai đoạn tìm ra các từ đặc trưng cho một văn
bản, văn bản lúc này chỉ còn các từ mang ý nghĩa và đã được loại bỏ các từ khơng
có ý nghĩa.
- Nhãn: đây là tập dữ liệu nhãn đầu vào của thuật toán phân loại văn bản dựa
trên từ đại diện, trong luận văn này, các nhãn là từ bao gồm nội dung của bài báo,
hoặc các từ khóa liên quan đến chủ đề đó.
- Thuật tốn phân loại: Thuật tốn đã được mô tả chi tiết tại chương 2 của
luận văn này.

Giai đoạn phân loại:
- Văn bản: đây là bài báo cần phân loại văn bản, người dùng sẽ phải đọc qua
bài báo này để xác địch các từ khóa để gán cho nội dung của bài báo đối với thuật
toán phân loại dựa trên từ đại diện. Còn với thuật tốn Naive Bayes và thuật tốn
LSTM thì nội dung văn bản là đầu vào của thuật toán.
- Chọn N từ khóa: Đây là bước mà người dùng sẽ cần phải nhập các từ khóa
liên quan đến nội dung của bài báo cần phân loại. (thuật toán phân loại văn bản dựa
trên từ khóa)
- Bộ phân loại: Đây là bước áp dụng thuật tốn phân loại để tìm ra chủ đề
của văn bản.
Hai giai đoạn trên đều được áp dụng khi tiến hành cài đặt đối với cả 3 thuật
toán được mô tả trong luận văn này.

3.1.1 Bộ dữ liệu kiểm thử
Tập dữ liệu này cũng sẽ được sử dụng trong các thuật toán phân loại để đảm
bảo kết quả khi thực hiện phân loại.


20

Chi tiết như sau:
Bảng 3. 1 Tổng quan về tập dữ liệu training cho thuật toán
Tên Chủ đề

Số lượng

Tổng dung lượng (MB)

Chính trị xã hội


5219

21.4

Đời sống

3159

15.9

Kinh doanh

2552

10.3

Khoa học

1820

7.76

Pháp luật

3868

13.1

Sức khỏe


3384

13.0

Thế giới

2989

11.2

Thể thao

5298

25.9

Văn hóa

3080

14.1

Vi Tính

2481

8.63

33850


141.29

Tổng

Tập dữ liệu để phân loại sẽ được thực nghiệm trên 500 bài báo ngẫu nhiên
trên trang , . Để đảm
bảo tính khách quan của thuật toán, các bài báo được chọn làm thực nghiệm đảm
bảo có nội dung đúng với một trong 10 chủ đề được chọn.
Tập dữ liệu nhãn bao gồm 10 chủ đề sau: Chính trị xã hội, Đời sống, Khoa
học, Kinh doanh, Pháp luật, Sức khỏe, Thế giới, Thể thao, Văn hóa, Vi Tính.

3.1.2 Xây dựng kịch bản kiểm thử
Kiểm thử là một quá trình đánh giá một hệ thống hay là các thành phần của
nó với mục đích là xác định xem nó có thỏa mãn những yêu cầu được đưa ra hay
không. Hiểu một cách đơn giản, kiểm thử là chạy một chương trình để xác nhận bất
kì lỗ hổng, lỗi sai hay những yêu cầu bị bỏ quên, những yêu cầu không đúng so với


21

yêu cầu thực tế đề ra.
Để thực hiện kiểm thử được thuật toán, luận văn sẽ xây dựng kịch bản kiểm
thử thuật tốn đã cài đặt. Mục đích là để xác định mức độ chính xác của thuật tốn.

Thuật tốn Naive Bayes và thuật toán LSTM
Đầu vào của 2 thuật toán này đơn giản là nội dung các bài báo mạng.
Bước 1: Chọn ngẫu nhiên 500 bài báo theo 10 chủ đề và đã được gán nhãn
trên trang báo điện tử /> />Bước 2: Lấy nội dung của các bài báo mạng làm đầu vào của thuật toán,
chạy thuật toán và xác định chủ đề của thuật tốn.
Bước 3: Tính độ chính xác của thuật tốn dựa theo các thơng số Accuracy,

Recall, Precision, F1-score.

Thuật toán phân loại dựa trên từ đại diện
Đầu vào của thuật toán yêu cầu phải đưa ra một danh sách N từ khóa, trong
N từ khóa (N = 10) này có thể chọn ra được một từ đại diện nội dung cho bài báo,
do vậy kịch bản kiểm thử sẽ được xây dựng để thực hiện bằng phương pháp thủ
công.
Các bước thực hiện kiểm thử thuật toán bao gồm:
Bước 1: Chọn ngẫu nhiên 500 bài báo theo 10 chủ đề và đã được gán nhãn
trên trang báo điện tử /> />Bước 2: Các từ khóa được gán nhãn tag sau mỗi bài báo sẽ được chọn để
làm dữ liệu đầu vào (N từ khóa) của thuật tốn.
Bước 3: Nhập 10 từ khóa đã nhận được từ bước 2, chạy thuật toán và xác
định chủ đề của thuật tốn.
Bước 4: Tính độ chính xác của thuật tốn dựa theo các thông số Accuracy,
Recall, Precision, F1-score.
Dựa vào kết quả thu được sau khi kiểm thử, luận văn sẽ đánh giá thuật toán
phân loại văn bản, cụ thể là các bài báo tiếng Việt được mô tả trong luận văn.


22

3.2 Kết quả thực nghiệm và đánh giá
3.2.1 Môi trường thực nghiệm
Python là một ngơn ngữ lập trình thơng dịch do Guido van Rossum tạo ra
năm 1990[3]. Python hoàn toàn tạo kiểu động và dùng cơ chế cấp phát bộ nhớ tự
động, do vậy nó tương tự như Perl, Ruby, Scheme, Smalltalk, và Tcl. Python được
phát triển trong một dự án mã mở, do tổ chức phi lợi nhuận Python Software
Foundation quản lý.
# Python: Fibonacci series up to n
>>> def fib(n):

>>>

a, b = 0, 1

>>>

while a < n:

>>>

print(a, end=‘ ‘)

>>>

a, b = b, a+b

>>>

print()

>>> fib(1000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
Hình 3. 2 Mơ tả cú pháp, các dịng lệnh trong Python
 Sau đây là các đặc điểm của Python:
• Ngữ pháp đơn giản, dễ đọc.
• Vừa hướng thủ tục (procedural-oriented), vừa hướng đối tượng
(objectoriented)
• Hỗ trợ module và hỗ trợ gói (package)
• Xử lý lỗi bằng ngoại lệ (Exception)
• Kiểu dữ liệu động ở mức cao.

• Có các bộ thư viện chuẩn và các module ngoài, đáp ứng tất cả các nhu cầu
lập trình.
• Có khả năng tương tác với các module khác viết trên C/C++ (Hoặc Java
cho Jython, hoặc .Net cho IronPython).


23

• Có thể nhúng vào ứng dụng như một giao tiếp kịch bản (scripting
interface).

Hình 3. 3 Bảng xếp hạng các ngơn ngữ lập trình năm 2016

3.2.2 Kết quả thực nghiệm
Ma trận nhầm lẫn (Confusion Matrix): là Contingency Table và chỉ được
sử dụng đối với bài toán phân loại [16]. Trong đó:
𝑇𝑃𝑖 : Số lượng các ví dụ thuộc lớp 𝐶𝑖 được phân loại chính xác vào lớp 𝐶𝑖
𝐹𝑃𝑖 : Số lượng các ví dụ khơng thuộc lớp 𝐶𝑖 bị phân loại nhầm vào lớp 𝐶𝑖
𝑇𝑁𝑖 : Số lượng các ví dụ khơng thuộc lớp 𝐶𝑖 được phân loại (chính xác)
𝐹𝑁𝑖 : Số lượng các ví dụ thuộc lớp 𝐶𝑖 bị phân loại nhầm (vào các lớp khác
𝐶𝑖 )
Bảng 3. 2 Contingency Table
Lớp 𝐶𝑖

Được phân lớp bởi thuật tốn
Thuộc

Khơng thuộc

Phân lớp thực Thuộc


𝑇𝑃𝑖

𝐹𝑁𝑖

sự (đúng)

𝐹𝑃𝑖

𝑇𝑁𝑖

Không thuộc


×