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 (Luận văn thạc sĩ)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 (Luận văn thạc sĩ)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 (Luận văn thạc sĩ)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 (Luận văn thạc sĩ)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 (Luận văn thạc sĩ)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 (Luận văn thạc sĩ)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 (Luận văn thạc sĩ)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 (Luận văn thạc sĩ)
Trang 1L ỜI CAM ĐOAN
Tôi cam đoan đây 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
Tp.HCM, ngày 07 tháng 11 năm 2017
Học viên thực hiện luận văn
Đoàn Đức Quí
Trang 2Trong suốt quá trình làm đề tài tôi đã nhận được sự quan tâm giúp đỡ của quý thầy cô, gia đình và bạn bè Đó là nguồn động viên quý giá, tiếp thêm động lực thêm sức mạnh cho tôi hoàn thành luận văn
Tôi xin cảm ơn Vợ tôi, người đã thay tôi mọi việc trong gia đình trong suốt thời gian thực hiện luận văn này
Một lần nữa tôi xin chân thành cảm ơn mọi người!
Tp HCM, ngày 07 tháng 11 năm 2017
Đoàn Đức Quí
Trang 3M ỤC LỤC
Lời cam đoan i
Lời cảm ơn ii
Mục lục iii
Danh mục các ký hiệu, các chữ viết tắt vi
Danh mục các bảng vii
Danh mục hình vẽ viii
MỞ ĐẦU 1
CHƯƠNG 1 − TỔNG QUAN BÀN TỐN PHÂN LOẠI VĂN BẢN 4
1.1 Giới thiệu bài tốn phân loại văn bản 4
1.1.1 Phân lớp văn bản dựa trên cách tiếp cận chuyên gia 5
1.1.2 Phân lớp văn bản dựa trên cách tiếp cận máy học 5
1.2 Phương pháp tách từ 8
1.2.1 Đặc điểm tiếng Việt 8
1.2.2 Tách từ bằng cách xây dựng các Ontology 9
1.2.3 Tách từ bằng so khớp dài nhất trong bộ tự điển 9
1.3 Phương pháp biểu diễn văn bản trên máy 10
1.3.1 Một số kỹ thuật trích chọn đặc trưng của văn bản 11
1.3.2 Biểu diễn văn bản bằng Vector 12
1.4 Phương pháp đánh giá hiệu quả của phân lớp: 14
CHƯƠNG 2 − CÁC PHƯƠNG PHÁP PHÂN LOẠI VĂN BẢN 16
2.1 Bài tốn phân loại văn bản 16
2.2 Các thuật tốn thường dùng trong phân loại văn bản 17
2.2.1 Thuật tốn Nạve bayes 18
2.2.2 Thuật tốn k-Means 19
2.2.3 Thuật tốn kNN (k-Nearest Neighbors, k-láng giềng gần nhất) 21
2.2.4 Thuật tốn SVM (Support Vector Machine) 23
2.2.5 Thuật tốn FSVM (Fuzzy Support Vector Machine) 25
Trang 42.2.6 Thuật toán cực đại hoá kỳ vọng (Expectation–maximization algorithm) 25
2.2.7 Mạng neural nhân tạo – ANN (Artificial Neural Network) 26
2.2.8 Cây quyết định (Decision Tree) 27
2.3 Kết chương 29
CHƯƠNG 3 − THỰC NGHIỆM HỆ THỐNG 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 30
3.1 Đặt vấn đề 30
3.2 Tổng quan về bài toán 31
3.3 Mô tả bài toán 33
3.4 Các bước thực hiện 33
CHƯƠNG 4 − CÀI ĐẶT, ĐÁNH GIÁ 35
4.1 Cài đặt 35
4.1.2 Ngôn ngữ và công cụ lập trình 35
4.1.3 Thiết kế dữ liệu 35
4.1.4 Mối quan hệ giữa các bảng 38
4.1.5 Giao diện 38
4.2 Đánh giá 40
CHƯƠNG 5 − KẾT LUẬN, HƯỚNG PHÁT TRIỂN 42
5.1 Kết luận 42
5.2 Hướng phát triển 42
DANH M ỤC TÀI LIỆU THAM KHẢO 43
Trang 5DANH M ỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
ANN Artificial Neural Network Mạng thần kinh nhân tạo
DNF Disjunctive Normal Form Mẫu phân bố gián đoạn
EM Expectation–Maximization
algorithm
Thuật toán cực đại kỳ vọng hoá
IDF Inverse Document Frequency Nghịch đảo tần suất tài liệu kNN k-Nearest Neighbor k-láng giềng gần nhất
SVM Support Vector Machines Máy học vectơ hỗ trợ
Trang 6
DANH SÁCH B ẢNG
Bảng 1.3: Liệt kê một số stopword 11
Bảng 4.1.3a SubJect (chủ đề) 35
Bảng 4.1.3b Document (văn bản) 36
Bảng 4.1.3c Mô tả cấu trúc Word (Từ) 37
Trang 7DANH SÁCH HÌNH V Ẽ
Hình 2.1 Hình mô tả phân loại văn bản 16
Hình 2.2.2 Sơ đồ khối của thuật toán K-Means 20
Hình 2.2.3 Mô tả cách hoạt động của thuật toán kNN 22
Hình 2.2.4a Ví dụ về biên giữa các lớp (trường hợp không tốt) 23
Hình 2.2.4b Ví dụ về biên giữa các lớp (trường hợp tốt) 24
Hình 2.2.7a Quá trình xử lý của ANN 27
Hình 2.2.7b Một số kiến trúc của ANN 27
Hình 3.2 Sơ đồ tổng quan giải pháp 32
Hình 4.1.4 Mối quan hệ giữa các bảng 38
Trang 8dạ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à
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 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 đó
Trang 9Việ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 lớp
- 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:
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 đã
Trang 10đượ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
Trang 11CHƯƠNG 1
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 tốn phân lớp đã 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 tốn phân loại văn bản như: Nạve Bayes, cây quyết định, kNN,
mạng nơron, SVM, thuật tốn cực đại hĩa kỳ vọng, …
Bài tố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ủ đề cjnào đĩ Nhiệm vụ của bài tố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 tố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 tố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 tố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ừ)
Trang 121.1.1 Phân l ớp văn bản dựa trên cách tiếp cận chuyên gia [24]
Việc phân lớp 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 lớp 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 lớp 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 lớp 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 lớp 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 lớp 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 lớp 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 lớp bắt đầu bằng
Trang 13việc học từ tập dữ liệu này, sau đó sẽ thực hiện phân lớp 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 lớp bằng tay; khi đó quá trình phân lớp bắt đầu một hành động phân lớp 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 lớp và so với việc phân lớp theo hệ chuyên gia để kiểm tra hiệu quả của việc phân lớp Hiệu quả được đánh giá
dựa trên sự phù hợp của hệ phân lớp theo máy học so với phân lớp 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
Hầu hết các phương pháp phân lớp 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
Trang 14Độ 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
lớp, khơng thể cĩ một kết quả phân lớp 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 lớp 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 tố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 tố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 lớp văn bản
Hiện nay, đã cĩ nhiều đề xuất xây dựng bài tốn phân lớp văn bản tự động như Nạ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 tốn cải tiến của nĩ được đánh giá cho độ chính xác phân lớp văn bản cao hơn nhiều phương pháp phân lớp khác
Trang 151.2 Phương pháp tách từ
Để máy tính có thể tự động phân lớp 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 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” …
Trang 16Bê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
- 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
Trang 171.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ó
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 (T’<<T), thì mỗi thuật ngữ trong T’ được gọi là từ đặc trưng (dùng để biểu diễn văn 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
Trang 18B ảng 1.3: liệt kê một số stopword
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
- 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à:
Trang 19Trong đó 𝑥̅𝑖, 𝑥̅𝑖(+) , 𝑥̅𝑖(−) là trung bình của tính chất thứ i của tập dữ liệu toàn thể, tích cực và âm; 𝑥𝑘,𝑖(+)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 lớp 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
- 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
Trang 201.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 lớp 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
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ừ titrong 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 + log�𝑓𝑖𝑗 �
wij=�fijTrong 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
Frequency ) [21]
Trong phương pháp này wij được tính như sau:
Trang 21𝑤𝑖𝑗 = �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ừ titrong văn bản dj Nếu wij càng
lớn thì số lượng văn bản chứa ticà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
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 titrong các văn bản khác Trọng số wij
được tính theo công thức:
𝑤𝑖𝑗 = ��1 + log�𝑓𝑖𝑗��log �
𝑚
ℎ𝑖� 𝑁ế𝑢 ℎ𝑖 ≥ 1
0 𝑁ế𝑢 ℎ𝑖 < 1Trong phương pháp này thì trọng số wij càng lớn thì độ quan trọng của từ ti
Trang 22 Tỷ lệ âm đúng TN (True Negative): là số văn bản được gán nhãn là –1
Khi đó F_Score được coi là hiệu quả của hệ thống phân lớp [8]
Việc phân loại được thực hiện bằng tay (bán tự động) khi hệ thống không thể phân loại văn bản
Trang 23CHƯƠNG 2 CÁC PHƯƠNG PHÁP 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,…
Trang 24Tá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
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 đó
Trang 252.2.1 Thu ật tốn Nạve bayes [26],[27]
Thuật tốn Nạve bayes thuộc nhĩm thuật tố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ự đố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 tố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
𝑎𝑟𝑔𝑚𝑎𝑥𝐶𝑘𝑃(𝐶𝑖) � 𝑃((𝑥𝑘|𝐶𝑖)
𝑛
𝑘=1
Trang 262.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