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

Phân loại bán tự động văn bản quy phạm pháp luật dựa theo chủ đề cho hệ thống truy hồi thông tin (tt)

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 (576.85 KB, 41 trang )

1

MỞ ĐẦU
Quản lý hành chính nhà nước là một trong những vấn đề cơ bản và cấp thiết
nhất của mọi quốc gia. Trong việc quản lý hành chính nhà nước thì hệ thống văn
bản quy phạm pháp luật đóng vai trò then chốt, ở nước ta việc quản lý các hệ thống
văn bản vẫn chưa được thống nhất và tập trung. Bên cạnh đó các thủ tục hành chính,
các văn bản hành chính cho mỗi lĩnh vực, mỗi ngành nghề, lĩnh vực rất nhiều và đa
dạng. Việc phân loại văn bản quy phạm pháp luật, các văn bản hành chính một cách
tự động để tra cứu văn bản dễ dàng là một yêu cầu thiết thực trong công tác quản lý
hành chính.
Bài toán phân loại văn bản không phải là một bài toán mới, trước đây đã có
nhiều người nghiên cứu và cũng đạt được thành quả nhất định như: Nguyễn Linh
Giang - Nguyễn Mạnh Hiển (tỉ lệ chính xác từ 51%  94%) [2], Trần Cao Đệ và
Phạm Nguyên Khang (tỉ lệ chính xác 88%  92%) [1].
Để giải quyết bài toán phân loại văn bản ta có thể tiếp cận bằng nhiều cách
như: hướng tiếp cận bài toán phân loại bằng lý thuyết đồ thị [3], cách tiếp cận sử
dụng lý thuyết tập thô [4], cách tiếp cận thống kê [5], cách tiếp cận sử dụng phương
pháp học không giám sát và đánh chỉ mục [6],[7]. Các cách tiếp cận trên đều mạng
lại một số kết quả khả quan nhất định. Trong những năm gần đây, phương pháp
phân loại sử dụng Bộ phân loại vector hỗ trợ (SVM) được quan tâm và sử dụng
nhiều trong những lĩnh vực nhận dạng và phân loại, thuật toán cải tiến của SVM là
thuật toán Fuzzy SVM cho phép loại bỏ các dữ liệu nhiễu trong quá trình huấn
luyện và cải thiện độ chính xác của quá trình Phân loại.
Về kỹ thuật truy tìm văn bản, luận văn tìm hiểu sử dụng mô hình truy tìm
văn bản theo mô hình không gian vector VSM (Vector Space Model). Nguyên lý
hoạt động cốt lõi của hệ truy tìm văn bản VSM là tự động hóa quy trình tìm kiếm


2


các văn bản có liên quan bằng cách tính độ đo tương tự giữa câu truy vấn và các văn
bản đó.
Việc phân loại văn bản quy phạm pháp luật bán tự động dựa trên chủ đề của
văn bản có thể thực hiện được bằng cách xây dựng các ontology để thu thập thông
tin và Phân loại.
-

Mục đích nghiên cứu: Phân loại văn bản bán tự động dựa trên chủ đề

theo nội dung của văn bản.
-

Đối tượng nghiên cứu:
o Các loại văn bản hành chính, văn bản quy phạm pháp luật liên

quan đến các qui định về nhân sự của Ngành Giáo dục từ năm 2011 đến nay.
o Học máy (machine learning), học có giám sát và học có giám sát.
-

Phân loại văn bản:
o Các kỹ thuật phân loại văn bản.
o Các thuật toán thường áp dụng trong phân loại văn bản

-

Mô tả bài toán:

Cho trước một tập Chủ đề S = {s1, s2, …, sn} và tập văn bản
D = {d1, d2, …dm}. Trong đó di là văn bản đã được phân chủ đề sj (theo hệ chuyên
gia). Văn bản d (văn bản mới) được đưa vào tập D, nhiệm vụ là cho biết d thuộc chủ

đề nào trong tập S hoặc đưa ra yêu cầu người dùng tự phân loại bằng tay (nếu văn
bản d không có đặc trưng của các chủ đề hoặc độ tương tự với các văn bản đã được
phân loại là quá thấp).
Hướng giải quyết:


3

Khi có một văn bản mới D được thêm vào, ta thực hiện: tìm loại văn bản
(Công văn, Quyết định, nghị định, thông tư, nghị quyết,…), tìm số hiệu văn bản,
tách từ, sau khi tách từ ta vectơ hoá các từ, tính độ tương tự D với các văn bản đã
được gán chủ đề, tìm văn bản x có độ tương tự cao nhất mà văn bản D có từ đặc
trưng của chủ để x, nếu tồn tại văn bản x thoả điều này thi ta gán D cùng chủ đề với
x, người lại yêu cầu người dùng gán chủ đề bằng tay.
Cấu trúc luận văn bao gồm 5 chương:
-

Chương 1: Tổng quan bài toán phân loại văn bản.

-

Chương 2: Các phương pháp phân loại văn bản.

-

Chương 3: Phân loại bán tự động văn bản quy phạm pháp luật dựa trên
chủ đề cho hệ thống truy hồi thông tin

-


Chương 4: Cài đặt, đánh giá, hướng phát triển.

-

Chương 5: Kết luận.


4

CHƯƠNG 1
TỔNG QUAN BÀN 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à tiến trình đưa các văn bản chưa biết chủ đề vào các lớp
văn bản đã biết chủ đề. Các chủ đề này được xác định bởi một tập các tài liệu mẫu.
Trước thập kỷ 90 của thể kỷ XX công việc này thường được làm bằng tay
bỏi các chuyên gia tri thức (Knowledge Engineering), Đầu thập kỷ 90 của thế kỷ
XX, cách tiếp cận để giải quyết bài toán Phân loại đã có sự thay đổi, cách tiếp cận
máy học (Machine Learning). Nhiều kỹ thuật máy học và khai phá dữ liệu đã được
áp dụng vào bài toán phân loại văn bản như: Naïve Bayes, cây quyết định, kNN,
mạng nơron, SVM, thuật toán cực đại hóa kỳ vọng, …
Bài toán phân loại văn bản có thể được phát biểu như sau: Cho trước một tập
văn bản D={d1,d2,…,dn} và tập chủ đề được định nghĩa C={c1,c2,…,cn}. Mỗi văn
bản di đã được gán một chủ đề cj nào đó. Nhiệm vụ của bài toán là khi có một văn
bản mới d, thì ta cần gán chủ đề cho d. Hay nói cách khác, mục tiêu của bài toán là
đi tìm hàm f:
f: DxC  boolean
f(d,c) = True/False
True: nếu d thuộc lớp c, false nếu d không thuộc lớp c
Với tiếng Việt thì bài toán này gặp nhiều khó khăn hơn bởi cấu trúc tiếng
Việt không chỉ có từ đơn mà còn có từ ghép. Để thực hiện bài toán này cho văn bản

tiếng Việt ta phải thêm một công đoạn tiền xử lý (tách từ).


5

1.1.1 Phân loại văn bản dựa trên cách tiếp cận chuyên gia [24]
Việc Phân loại văn bản tự động được điều khiển bằng tay bởi các chuyên gia
tri thức và hệ chuyên gia có khả năng đưa ra quyết định Phân loại. Hệ chuyên gia
bao gồm một tập các luật logic định nghĩa bằng tay, cho mỗi loại, có dạng:
If (DNF formula) then (category).
Công thức DNF (Disjunctive Normal Form) là hợp của các mệnh đề liên kết,
tài liệu được Phân loại vào category nếu nó thỏa mãn công thức, nghĩa là, nếu nó
thỏa mãn ít nhất một mệnh đề trong công thức. Ví dụ:
If (“bổ nhiệm” & “giáo viên”) or (“bổ nhiệm” & “nhân viên”) then
“bổ nhiệm”
Else  “bổ nhiệm”
Điều này là một hạn chế trong cách tiếp cận chuyên gia vì nó đòi hỏi việc
định nghĩa các DNF formula bằng tay. Nếu tập hợp (category) được thay đổi thì
phải thiết lập lại DNF formula từ đầu. Ngoài ra để định nghĩa tập DNF formula ta
cần đến sự can thiệp của các chuyên gia tri thức của lĩnh vực mà văn bản đề cập
đến. Việc làm như vậy sẽ tốn rất nhiều chi phí nhân lực, thời gian.

1.1.2 Phân loại văn bản dựa trên cách tiếp cận máy học [15]
Trong kỹ thuật máy học, bài toán Phân loại là hoạt động học có giám sát, quá
trình học được “giám sát” bởi tri thức của các Phân loại và của các mẫu huấn luyện
thuộc chúng.
Trong các tiếp cận máy học, các tài liệu đã được Phân loại trở thành nguồn.
Trường hợp thuận lợi nhất, chúng đã có sẵn, khi đó quá trình Phân loại bắt đầu bằng



6

việc học từ tập dữ liệu này, sau đó sẽ thực hiện Phân loại tự động với các tài liệu
khác. Trường hợp ít thuận lợi, không có sẵn tài liệu đã Phân loại bằng tay; khi đó
quá trình Phân loại bắt đầu một hành động Phân loại và chọn một phương pháp tự
động ngay lập tức. Do đó, cách tiếp cận máy học là thuận lợi hơn cách tiếp cận kỹ
sư tri thức.
Các bước cơ bản trong cách tiếp cận máy học:
-

Bước 1: chuẩn bị tập dữ liệu huấn luyện (training set) và tập dữ liệu kiểm
tra (test set)

-

Bước 2: Tách từ trong văn bản.

-

Bước 3: Biểu diễn văn bản.

-

Bước 4: Thực hiện phân loại.

Bước 1: Chuẩn bị tập dữ liệu huấn luyện (training set) và tập dữ liệu
kiểm tra (test set).
Cho trước một tập văn bản D = {d1, d2, …, dn} và tập chủ đề được định nghĩa
C = {c1, c2, …, cn}. Tập H = {h1 ,h2 , …, hk} là tập huấn luyện và tập T = {t1, t2,
…,tk} là tập kiểm tra (tập test) với H  T = D và H  T = .

Với mỗi phần ti  T ta đưa vào hệ thống Phân loại và so với việc Phân loại
theo hệ chuyên gia để kiểm tra hiệu quả của việc Phân loại. Hiệu quả được đánh giá
dựa trên sự phù hợp của hệ Phân loại theo máy học so với Phân loại theo chuyên
gia.
Thông thường ta chọn tỉ lệ của tập H và tập T theo tỉ lệ 70% – 30% của tập
D.
Bước 2: Tách từ trong văn bản.


7

Hầu hết các phương pháp Phân loại văn bản dựa trên kỹ thuật máy học hiện
nay đều dựa vào tần xuất xuất hiện của từ hoặc cụm từ trong văn bản, hay dựa vào
tần xuất xuất hiện của từ trong văn bản và tần xuất văn bản.
Độ chính xác của kết quả tách từ có ảnh hưởng rất lớn đến kết quả của Phân
loại, không thể có một kết quả Phân loại tốt nếu như không tách được đúng các từ
trong văn bản. Bởi vậy, một vấn đề quan trọng đối với Phân loại văn bản là phải
tách được chính xác các từ trong văn bản.
Bước 3: Biểu diễn văn bản.
Các văn bản ở dạng thô cần được chuyển sang một dạng biểu diễn nào đó để
xử lý. Quá trình này được gọi là quá trình biểu diễn văn bản, dạng biểu diễn của văn
bản phải có cấu trúc và dễ dàng xử lý.
Việc biểu diễn lại văn bản được coi là một khâu quan trọng trong quá trình
xử lý văn bản. Mỗi tài liệu được mô tả như một chuỗi các ký tự, cần phải được biến
đổi thành những mô tả phù hợp với nhiệm vụ và thuật toán xử lý văn bản. Có rất
nhiều phương pháp biểu diễn văn bản, mỗi phương pháp thích hợp với từng bài toán
cụ thể. Trong luận văn này chúng ta sẽ tìm hiểu sâu về phương pháp biểu diễn văn
bản theo mô hình không gian vector.
Bước 4: Phương pháp học để Phân loại văn bản
Hiện nay, đã có nhiều đề xuất xây dựng bài toán Phân loại văn bản tự động

như Naïve Bayes, K-Means, Knn (K-láng giềng gần nhất), cây quyết định (Decision
tree), mạng nơron ANN (Artificial Neural Network), SVM (Support Vector
Machines), … Các phương pháp này đạt được những thành công đáng kể không
những đối với các văn bản mẫu tự la-tinh như: tiếng Anh, tiếng Pháp, tiếng Việt,…
mà còn đối với các văn bản mẫu tự tượng hình như tiếng Hoa, tiếng Nhật, tiếng
Hàn,… Nó đã được ứng dụng trong thực tế như trong các hệ tìm tin của Google,
Yahoo,… Trong đó, Support Vector Machines và các thuật toán cải tiến của nó


8

được đánh giá cho độ chính xác Phân loại văn bản cao hơn nhiều phương pháp Phân
loại khác.

1.2 Phương pháp tách từ
Để máy tính có thể tự động Phân loại văn bản, các văn bản được trình bày
dưới dạng chuỗi các ký tự cần phải được biến đổi thành một biểu diễn thuận lợi cho
thuật toán huấn luyện và bài toán phân loại, nghĩa là văn bản được chuyển từ dạng
không có cấu trúc hoặc bán cấu trúc sang dạng có cấu trúc. Có rất nhiều cách biểu
diễn văn bản, nhưng dù theo cách này hay cách khác thì việc biểu diễn văn bản đều
dựa vào sự xuất hiện của từ trong văn bản. Độ chính xác của việc tách từ có ảnh
hưởng rất lớn đến việc phân loại văn bản.
Đối với văn bản hành chính thì các câu tương đối rõ nghĩa và nghĩa của mỗi
câu thường là duy nhất. Vì vậy việc tách từ trong văn bản hành chính thường đơn
giản hơn các văn bản thông thường.

1.2.1 Đặc điểm tiếng Việt [16],[17], [25]
Tiếng Việt là ngôn ngữ đơn âm tiết và thuộc nhóm ngôn ngữ Đông Nam Á.
Mẫu tự trong văn bản tiếng Việt là mẫu tự thuộc hệ la-tinh.
Tiếng Việt cấu thành bởi đơn vị tiếng (một âm tiết), mỗi tiếng được viết

thành một chữ, mỗi chữ viết được đọc thành một tiếng. Tiếng được dùng để tạo
thành từ. Từ trong tiếng Việt bao gồm từ đơn (81,55%) và từ ghép (18,45%).
Khi xử lý văn bản tiếng Việt ta thường gặp khó khăn bỏi các từ ghép. Do tính
đặt thù của tiếng Việt nên xử lý từ ghép là công đoạn khó khăn. Ví dụ: khi gặp xâu
chứa “đất nước” ta có thể thấy bản thân từ ghép “đất nước” có nghĩa, nhưng nếu ta


9

tách ra thành “đất” và “nước” thì cũng có nghĩa; khi gặp xâu “kheo khéo” thì ta thấy
từ “kheo khéo” có nghĩa, nhưng tách ra “kheo” thì lại không rõ nghĩa. Ngoài ra từ
ghép tiếng Việt còn có thể có nhiều âm tiết ví dụ: “sát sàn sạt”, “vội vội vàng vàng”,
“lếch tha lếch thếch” …
Bên cạnh đó ta thấy tiếng Việt hiện nay vẫn chưa được chuẩn hoá, đôi khi
còn không rõ nghĩa, nghĩa của câu còn phụ thuộc vào ngữ cảnh. Ví dụ: “ông già đi
nhanh quá” ta có thể hiểu khác nhau ở ba ngữ cảnh khác nhau, mang nghĩa chỉ một
người lớn tuổi di chuyển nhanh (ngữ cảnh hai người đang nói chuyện về một người
thứ ba), hoặc có thể hiểu nhận xét về diện mạo của một người (ngữ cảnh hai người
bạn lâu ngày gặp nhau), ở nghĩa bóng ta có thể hiểu một người lớn tuổi chết đi đột
ngột.
Riêng trong văn bản thể hiện trên máy tính còn phụ thuộc vào cách bỏ dấu
của phần mềm hỗ trợ gõ tiếng Việt. ví dụ “Uỷ ban” “Ủy ban”. Khi tách từ và so
sánh ta máy nhận dạng hai chữ trên khác nhau dẫn đến việc giảm độ chính xác khi
phân loại.

1.2.2 Tách từ bằng cách xây dựng các Ontology [18]
Như đã phân tích đặc điểm tiếng Việt ở trên công việc tách từ sẽ ảnh hưởng
đến việc phân lóp. Hiện nay việc tách từ bằng việc xây dựng các ontology đã được
nhiều người, nhiều tổ chức thực hiện. Nhưng đa phần dùng bộ từ điển bằng thống
kê.

Để xây dựng ontology tách từ ta thực hiện theo trình tự:
- Xây dựng ontology âm tiết đoán nhận tất cả các âm tiết tiếng Việt.
- Xây dựng ontology từ vựng đoán nhận tất cả các từ vựng tiếng Việt.


10

- Dựa vào ontology trên xây dựng đồ thị với câu cần phân tích, sử dụng
thuật toán tìm kiếm trên đồ thị để liệt kê các cách phân tích có thể.
- Do kết quả của việc tìm kiếm trên có nhiều phương án nên chúng ta sử
dụng bộ từ điển do hệ chuyên gia cung cấp hoặc do thống kê từ một khối lượng lớn
văn bản để chọn một cách phân tích ít xác suất sai nhất.

1.2.3 Tách từ bằng so khớp dài nhất trong bộ tự điển
- Trong phương pháp này đòi hỏi ta phải có bộ từ điển tương đối đầy đủ,
đối với tiếng Việt hiện nay thì trong bộ từ điển có khoảng 44000 từ.
- Phương pháp này có tốc độ xử lý khá nhanh, tuy nhiên khi gặp một từ
mới (không nằm trong từ điển) chẳng hạn tên riêng thì việc phân tích không chính
xác ở cụng từ này.
- Phương pháp này sẽ ít hiệu quả nếu gặp những câu có thể hiểu nhiều
nghĩa khác nhau bằng cách ngắt từ khác nhau ví dụ: “ông già đi nhanh quá” nếu
tách từ: [ông già] [đi nhanh] [quá] thì ta có thể nghĩa “một người lớn tuổi di chuyển
nhanh”, nếu tách [ông] [già đi] [nhanh quá] thì ta có thể hiểu nghĩa “diện mạo của
một con người thay đổi quá nhanh”.
- Ngược lại đối với các câu trong văn bản hành chính thì thường là đơn
nghĩa, ít khi có cách hiểu khác do việc tách từ thì phương pháp này tỏ ra khá hiệu
quả do tốc độ xử lý của nó.

1.3 Phương pháp biểu diễn văn bản trên máy [19]
Một số khái niệm khi biểu diễn văn bản:

- Từ (Thuật ngữ): là một chuỗi các kí tự xuất hiện trong văn bản, mà
không phải là dấu câu, con số, từ dừng (Stop Word).
- Từ đặc trưng: Sau khi dùng các phương pháp trích chọn thuật ngữ để
biểu diễn văn bản, ta thu được một tập các thuật ngữ T’ từ tập thuật ngữ ban đầu T


11

(T’<bản), hay thuật ngữ đặc trưng.
- Từ dừng (Stop word): từ dừng là từ không mang lại ý nghĩa nội dung
cho văn bản, vì nó xuất hiện trong hầu hết các văn bản.
Bảng 1.3: liệt kê một số stopword


Có thể

Khi mà

Rõ ràng

Sau khi

Bởi

Không thể

Với

Quả thật


Trước khi



Nhưng

Vì vậy

Với lại

Trước hết

Thay vì

Cho nên

Tất cả

Tóm lại

Ngoài ra

Nếu

Do

Phần lớn

Loại trừ


Nếu không

Thì

Hầu như

Vì thế

Hầu hết

Khi đó

Cho nên

Một số



1.3.1 Một số kỹ thuật trích chọn đặc trưng của văn bản [19]
- Loại bỏ từ dừng (stopword): trong tiếng Việt có nhiều từ dùng để biểu
diễn cấu trúc câu nhưng lại không mang nghĩa về nội dung của văn bản. Trong tiếng
Việt các từ này thường thuộc loại: quan hệ từ, kết từ, …
- Sử dụng SVM (Support Vector Machines) để trích chọn đặc trưng.


12

- F-score kết hợp với SVM (điểm F kết hợp với SVM)[8] F-score là một
kỹ thuật đơn giản để đánh giá sự phân biệt của hai bộ số thực. Cho các vector huấn

luyện xk, k = 1, ..., m, nếu số các trường hợp dương và âm là n+ và n-, tương ứng, thì
điểm F của đối tượng thứ i được định nghĩa là:

Trong đó ̅ , ̅
toàn thể, tích cực và âm;
,

, ̅

là trung bình của tính chất thứ i của tập dữ liệu
,

là tính chất thứ i của trường hợp dương thứ k, và

là tính chất thứ i của trường hợp âm thứ k. Tử số chỉ ra sự phân biệt giữa tập

hợp dương và âm, và mẫu số chỉ một trong hai bộ. Điểm số F càng lớn càng có khả
năng tính năng này là phân biệt nhiều hơn. Do đó, sử dụng điểm số này làm tiêu chí
lựa chọn tính năng. Tuy nhiên điểm bất lợi của F-score là không “tiết lộ” thông tin
lẫn nhau giữa các đặc trưng. Mặc dù có bất lợi này, F-score rất đơn giản và nói
chung khá hiệu quả. Ta chọn các đặc trưng có điểm F cao và sau đó áp dụng SVM
để huấn luyện / dự đoán. Thủ tục được tóm tắt dưới đây:
1. Tính điểm F của mọi đặc trưng
2. Chọn một số ngưỡng có thể bằng tay để cắt điểm số F thấp và cao.
3. Đối với mỗi ngưỡng, ta thực hiện:
a. Bỏ không chọn các đặc trưng có điểm F dưới ngưỡng
b. Phân chia ngẫu nhiên hai tập huấn luyện H và kiển tra T.
c. Sử dụng SVM để Phân loại dựa vào hai tập H và T để kiểm tra.
d. Lặp lại các bước a,b,c khoảng 5 lần và tính trung bình lỗi.
4. Chọn ngưỡng có trung bình lỗi thấp nhất

5. Bỏ các đặc trưng có F dưới ngưỡng, sau đó sử dụng SVM cho các đặc
trưng này.


13

- Kết hợp F-score, rừng ngẫu nhiên và SVM [8]
- Sử dụng các giá trị TF, IDF và TF.IDF để trích chọn đặc trưng.

1.3.2 Biểu diễn văn bản bằng Vector[21]
Phương pháp biểu diễn văn bản theo không gian vector dựa vào tần suất là
một huớng tiếp cận tương đối đơn giản và hiệu quả dể biểu diễn văn bản, cũng là
phương pháp duợc sử dụng dể cài đặt thuật toán Phân loại văn bản theo phương
pháp SVM (Support Vector Machines) và các thuật toán cải tiến của nó.
Trong mô hình tần suất, ma trận W={wij} được xác định dựa vào tần xuất
xuất hiện của từ ti trong văn bản dj hoặc toàn bộ văn bản.

1.3.2.1 Phương pháp dựa trên tần số thuật ngữ (TF-Term Frequency)[21]
Các giá trị wij được xác định dựa trên tần số của từ trong văn bản. Gọi fij là
tần số của từ ti trong văn bản dj thì wij có thể được xác định bởi một trong các công
thức sau:

1
w

log



f


Trong phương pháp TF này trọng số wij tỉ lệ thuận với số lần suất hiện của từ
ti trong văn bản dj, dễ thấy wij càng lớp thì văn bản dj càng phụ thuộc nhiều vào từ ti.
Tuy nhiên có một số từ xuất hiện nhiều lần trong một văn bản nhưng lại không có
giá trị cao đối với văn bản đó, vì không những nó xuất hiện nhiều lần trong văn bản
đang xét mà còn xuất hiện ở hầu hết các văn bản khác.


14

1.3.2.2 Phương pháp nghịch đảo tần số văn bản IDF (Inverse Document
Frequency) [21]

Trong phương pháp này wij được tính như sau:
log

ế ừ

0 ế ừ

ấ ệ
ô



ă ả

ấ ệ
ă ả


Trong đó, m là số lượng văn bản, hi là số văn bản có chứa từ ti.
Trọng số wij cho ta biết độ quan trọng của từ ti trong văn bản dj. Nếu wij càng
lớn thì số lượng văn bản chứa ti càng bé, nghĩa là ti là từ quan trọng để phân biệt văn
bản dj với các văn bản khác.

1.3.3.3 Phương pháp TFxIDF [21]:
Phương pháp này là sự kết hợp của hai phương pháp TF và phương pháp
IDF. Theo phương pháp này trọng số wij được tính bằng tuần số xuất hiện của từ ti
trong văn bản dj và khả năng xuất hiện của ti trong các văn bản khác. Trọng số wij
được tính theo công thức:
1

log

log

ế

0 ế

1
1

Trong phương pháp này thì trọng số wij càng lớn thì độ quan trọng của từ ti
càng cao.

1.4 Phương pháp đánh giá hiệu quả của Phân loại:
Giả sử ta qui định:



15

 Tỉ lệ dương đúng TP (True Positive): là số văn bản được gán nhãn là 1
và việc gán này là đúng.
 Tỷ lệ dương sai FP (False Positive): là số văn bản được gán nhãn là 1
nhưng việc gán nhãn này là sai.
 Tỷ lệ âm đúng TN (True Negative): là số văn bản được gán nhãn là –1
và việc gán nhãn này là đúng.
 Tỷ lệ âm sai FN (False Negative): là số văn bản được gán nhãn là –1
nhưng việc gán nhãn này là sai.
Quyết định của
hệ chuyên gia

Phân loại

Quyết định của

True

False

True

TP

FP

False

FN


TN

hệ thống máy
học

Hiệu quả (hay độ chính xác) của hệ thống Phân loại, được đánh giá bởi các
công thức sau:

_





Khi đó F_Score được coi là hiệu quả của hệ thống Phân loại [8]
Việc phân loại được thực hiện bằng tay khi hệ thống không thể phân loại văn
bản. Quá trình này là quá trình thực hiện bán tự động


16

CHƯƠNG 2
CÁC PHƯƠNG PHÁP PHÂN LOẠI VĂN BẢN
2.1 Bài toán phân loại văn bản
Phân loại văn bản hay còn gọi là Text Classifcation hoặc là Text Categorizer
là một bài toán thuộc về lĩnh vực Xử lý ngôn ngữ tự nhiên dưới dạng văn bản (text),
tuy nhiên nó gắn liền với Machine Learning.

Hình 2.1: Hình mô tả phân loại văn bản

Phân loại (Classification): ta có tập văn bản D = {d1, d2, …dm} bằng cách
nào đó ta sẽ phân chúng vào tập chủ đề S = {s1, s2, …, sn} ví dụ phân loại các bài
báo vào các nhóm: giải trí, thể thao, xã hội, giáo dục, kính tế,… bước này còn gọi là
bước học (Learning).
Dự đoán (Prediction): với một văn bản mới máy sẽ đưa ra một sự đoán chủ
đề của nó dựa vào các đặc trưng của nó.
Một số khái niệm cơ bản trong phân loại văn bản:
Chuẩn hoá văn bản (Cleaning data): ta có thể hiểu việc làm này như việc làm
“sạch” văn bản như: loại bỏ những từ không mang lại ý nghĩa (Stopword), đặt lại
các dấu câu, loại bỏ các khoảng trống dư thừa,…


17

Tách từ (Words segmentation): việc tách từ là một công việc hết sức quan
trong, vì nó ảnh hưởng rất lớn đến vectơ hoá để phân loại văn bản. Hiện tại người ta
thường tách từ dựa vào máy học hoặc sử dụng bộ từ điển để tách từ.
Trích chọn đặc trưng (Feature Extraction): công việc này giúp ta đưa a được
những từ có ý nghĩa quan trong đối với văn bản đang xét, đặc trưng này cũng có thể
dùng nó để phân biệt các văn bản với nhau.
Huấn luyện (Training): là tập văn bản mẫu, từ tập văn bản này ta sẽ “dạy”
cho máy cách để phân loại văn bản mới.

2.2 Các thuật toán thường dùng trong phân loại văn bản
Thuật ngữ “Học có giám sát”: một kĩ thuật của ngành học máy để xây dựng
một hàm (function) từ dữ liệu huấn luyện. Dữ liệu huấn luyện bao gồm các cặp gồm
đối tượng đầu vào (thường dạng vectơ), và đầu ra mong muốn. Đầu ra của một hàm
có thể là một giá trị liên tục (gọi là hồi qui), hay có thể là dự đoán một nhãn phân
loại cho một đối tượng đầu vào (gọi là phân loại). Nhiệm vụ của chương trình học
có giám sát là dự đoán giá trị của hàm cho một đối tượng bất kì là đầu vào hợp lệ,

sau khi đã xem xét một số ví dụ huấn luyện (nghĩa là, các cặp đầu vào và đầu ra
tương ứng). Để đạt được điều này, chương trình học phải tổng quát hóa từ các dữ
liệu sẵn có để dự đoán được những tình huống chưa gặp phải theo một cách "hợp
lý" [28]
Thuật ngữ “Học không giám sát”: một phương pháp của ngành học máy
nhằm tìm ra một mô hình mà phù hợp với các quan sát. Nó khác biệt với học có
giám sát ở chỗ là đầu ra đúng tương ứng cho mỗi đầu vào là không biết trước.
Trong học không có giám sát, một tập dữ liệu đầu vào được thu thập. Học không có
giám sát thường đối xử với các đối tượng đầu vào như là một tập các biến ngẫu
nhiên. Sau đó, một mô hình mật độ kết hợp sẽ được xây dựng cho tập dữ liệu đó.


18

2.2.1 Thuật toán Naïve bayes [26],[27]
Thuật toán Naïve bayes thuộc nhóm thuật toán học có giám sát.
Định lý Bayes:
Cho X, C là các biến bất kỳ (rời rạc, liên tục, cấu trúc). Mục tiêu của ta là dự
đoán C từ X. Từ mô hình Bayes ta có thể lượng giá các tham số của P(X|C), P(C)
trực tiếp từ tập huấn luyện. Sau đó, ta sử dụng định lý Bayes để tính P(C|X=x).
Độc lập điều kiện (conditional independence): X độc lập điều kiện với Y khi
cho Z nếu phân bố xác suất trên X độc lập với các giá trị của Y khi cho các giá trị
của Z. Ta thường viết P(X|Y, Z) = P(X|Z). Ví dụ, P(Tuyển dụng|Giáo viên, Biên
chế) = P(Tuyển dụng|Biên chế).
Naive Bayes: Giả sử D là tập huấn luyện gồm các mẫu biểu diễn dưới dạng
X = <x1,x2,..,xn>. Ci,D là tập các mẫu của D thuộc lớp Ci (i=1,2,…,m). Các thuộc
tính x1, x2, …, xn độc lập điều kiện đôi một với nhau khi cho lớp C.
Thuật toán:
Bước 1: huấn luyện Naive Bayes trên tập dữ liệu huấn luyện.
Bước 2: X mới được gán vào lớp vào lớp có giá trị lớn nhất

|


19

2.2.2 Thuật toán k-Means [30]
Thuật toán k-Means thuộc nhóm thuật toán học không giám sát, ý tưởng của
thuật toán là chia m phần tử (m mẫu dữ liệu văn bản) thành n nhóm (n lớp) sao cho
các phần tử trong cùng một nhóm sẽ gần tâm của nhóm đó nhất.
Ưu điểm của thuật toán k-means:
-

Đây là một phương pháp đơn giản, hiệu quả, được sử dụng trong tiến

trình khởi tạo trong nhiều thuật toán khác.
-

Hiệu xuất tương đối.

-

Thường kết thúc ở tối ưu cục bộ, có thể tìm được tối ưu toàn cục.

Nhược điểm của thuật toán k-means:
-

Số cụm k phải được xác định trước.

-


Chỉ áp dụng được khi xác định được trị trung bình, không thể xử lý nhiễu

và outliers.
-

Không thích hợp nhằm khám phá các dạng không lồi hay các cụm có

kích thước khác nhau, vì đây là thuật toán độc lập tuyến tính.
Thuật toán được thể hiện qua 5 bước:
Bước 1: Chọn ngẫu nhiên n tâm (centroid) cho n cụm (cluster). Mỗi cụm
được đại diện bằng các tâm của cụm.
Bước 2: Tính khoảng cách giữa các đối tượng (objects) đến n tâm (thường
dùng khoảng cách Euclidean).
Bước 3: Nhóm các đối tượng vào nhóm gần nhất.
Bước 4: Xác định lại tâm mới cho các nhóm.


20

Bước 5: Thực hiện lại bước 2 cho đến khi không có sự thay đổi nhóm nào
của các đối tượng.

Hình 2.2.2: Sơ đồ khối của thuật toán K-Means


21

2.2.3 Thuật toán kNN (k-Nearest Neighbors, k-láng giềng gần nhất) [31]
Thuật toán kNN (k-Nearest Neighbor, k-láng giềng gần nhất) thuộc nhóm
thuật toán học có giám sát, kNN 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. kNN đượ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ư 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. Trọng số của chủ đề cj đối với văn bản
di được tính như sau:
,

,

.

,



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 cosine để tính khoảng
cách:
,

.

| |. | |

bj là ngưỡng phân loại của chủ đề cj được tự động học sử dụng một tập văn
bản hợp lệ được chọn ra từ tập huấn luyện. Để chọn được tham số k tốt nhất cho


22

thao tác phân loại, thuật toán cần được chạy thử nghiệm trên nhiều giá trị k khác
nhau, giá trị k càng lớn thì thuật toán càng ổn định và sai sót càng thấp.
Ưu điểm của KNN
-

Độ phức tạp tính toán của quá trình training là bằng 0.

-

Việc dự đoán kết quả của dữ liệu mới rất đơn giản.

-

Không cần giả sử gì về phân phối của các class.

Nhược điểm của KNN
-

KNN rất nhạy cảm với nhiễu khi K nhỏ, vì khi đó độ chính xác không

-


KNN là một thuật toán mà mọi tính toán đều nằm ở khâu test. Trong đó

cao.
việc tính khoảng cách tới từng điểm dữ liệu trong training set sẽ tốn rất nhiều thời
gian, đặc biệt là với các cơ sở dữ liệu có số chiều lớn và có nhiều điểm dữ liệu. Với
K càng lớn thì độ phức tạp cũng sẽ tăng lên. 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 KNN.

Hình 2.23 : mô tả cách hoạt động của thuật toán kNN


23

2.2.4 Thuật toán SVM (Support Vector Machine) [32]
Thuật toán SVM thuộc nhóm thuật toán học có giám sát, là một khái niệm
trong thống kê và khoa học máy tính cho một tập hợp các phương pháp học có giám
sát liên quan đến nhau để phân loại và phân tích hồi quy. SVM dạng chuẩn nhận dữ
liệu vào và phân loại chúng vào hai lớp khác nhau. Do đó SVM là một thuật toán
phân loại nhị phân. Với một bộ các ví dụ luyện tập thuộc hai thể loại cho trước,
thuật toán luyện tập SVM xây dựng một mô hình SVM để phân loại các ví dụ khác
vào hai thể loại đó. Một mô hình SVM là một cách biểu diễn các điểm trong không
gian và lựa chọn ranh giới giữa hai thể loại sao cho khoảng cách từ các ví dụ luyện
tập tới ranh giới là xa nhất có thể. Các ví dụ mới cũng được biểu diễn trong cùng
một không gian và được thuật toán dự đoán thuộc một trong hai thể loại tùy vào ví
dụ đó nằm ở phía nào của ranh giới.

Hình 2.2.4 a): Ví dụ về biên giữa các lớp (trường hợp không tốt)
Một máy vectơ hỗ trợ xây dựng một siêu phẳng hoặc một tập hợp các siêu
phẳng trong một không gian nhiều chiều hoặc vô hạn chiều, có thể được sử dụng
cho phân loại, hồi quy, hoặc các nhiệm vụ khác. Một cách trực giác, để phân loại tốt

nhất thì các siêu phẳng nằm ở càng xa các điểm dữ liệu của tất cả các lớp (gọi là
hàm lề) càng tốt, vì nói chung lề càng lớn thì sai số tổng quát hóa của thuật toán
phân loại càng bé.


24

Hình 2.2.4 b):: Ví dụ về biên giữa các lớp (trường hợp tốt)
Trong nhiều trường hợp, không thể phân chia các lớp dữ liệu một cách tuyến
tính trong một không gian ban đầu được dùng để mô tả một vấn đề. Vì vậy, nhiều
khi cần phải ánh xạ các điểm dữ liệu trong không gian ban đầu vào một không gian
mới nhiều chiều hơn, để việc phân tách chúng trở nên dễ dàng hơn trong không gian
mới. Để việc tính toán được hiệu quả, ánh xạ sử dụng trong thuật toán SVM chỉ đòi
hỏi tích vô hướng của các vectơ dữ liệu trong không gian mới có thể được tính dễ
dàng từ các tọa độ trong không gian cũ. Tích vô hướng này được xác định bằng một
hàm hạt nhân K(x, y) phù hợp. Một siêu phẳng trong không gian mới được định
nghĩa là tập hợp các điểm có tích vô hướng với một vectơ cố định trong không gian
đó là một hằng số. Vectơ xác định một siêu phẳng sử dụng trong SVM là một tổ
hợp tuyến tính của các vectơ dữ liệu luyện tập trong không gian mới với các hệ số
αi. Với siêu phẳng lựa chọn như trên, các điểm x trong không gian đặc trưng được
ánh xạ vào một siêu mặt phẳng là các điểm thỏa mãn:
Σi αi K(xi, x) = hằng số.
Ghi chú rằng nếu K(x, y) nhận giá trị ngày càng nhỏ khi y xa dần khỏi x thì
mỗi số hạng của tổng trên được dùng để đo độ tương tự giữa x với điểm xi tương
ứng trong dữ liệu luyện tập. Như vậy, tác dụng của tổng trên chính là so sánh
khoảng cách giữa điểm cần dự đoán với các điểm dữ liệu đã biết. Lưu ý là tập hợp


25


các điểm x được ánh xạ vào một siêu phẳng có thể có độ phức tạp tùy ý trong không
gian ban đầu, nên có thể phân tách các tập hợp thậm chí không lồi trong không gian
ban đầu.

2.2.5 Thuật toán FSVM (Fuzzy Support Vector Machine)
Trong SVM thông thường thì các điểm dữ liệu đều có giá trị như nhau, mỗi
một điểm sẽ thuộc hoàn toàn vào một trong hai lớp. Tuy nhiên trong nhiều trường
hợp có một vài điểm sẽ không thuộc chính xác vào một lớp nào đó, những điểm này
được gọi là những điểm nhiễu, và mỗi điểm có thể sẽ không có ý nghĩa như nhau
đối với mặt phẳng quyết định. Để giải quyết vấn đề này, Fuzzy Support Vector
Machines (FSVM) đã được giới thiệu bằng cách sử dụng một hàm thành viên để
xác định giá trị đóng góp của mỗi điểm dữ liệu đầu vào của SVM vào việc hình
thành siêu phẳng. Trong FSVM thì việc lập một hàm thành viên thích hợp là rất
quan trọng vì nó ảnh hưởng lớn đến việc Phân loại.

2.2.6 Thuật toán cực đại hoá kỳ vọng (Expectation–maximization
algorithm)
Thuật toán cực đại hóa kỳ vọng (tiếng Anh hay được gọi là EM viết tắt của
Expectation-Maximization) là một kỹ thuật được dùng rộng rãi trong thống kê và
học máy để giải bài toán tìm hợp lý cực đại hoặc hậu nghiệm cực đại (MAP) của
một mô hình xác suất có các biến ẩn. EM sở dĩ được gọi vậy một phần do thuật toán
này bao gồm việc thực hiện liên tiếp tại mỗi vòng lặp 2 quá trình (E): tính kỳ vọng
của hàm hợp lý của giá trị các ẩn biến dựa theo ước lượng đang có về các tham số
của mô hình và (M): ước lượng tham số của mô hình để cực đại hóa giá trị của hàm
tính được ở (E). Các giá trị tìm được ở (E) và (M) tại mỗi vòng lặp sẽ được dùng
cho việc tính toán ở vòng lặp kế tiếp


×