ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM
LÊ THANH TRANG
NGHIÊN CỨU PHƯƠNG PHÁP HỌC MÁY
ĐỂ PHÂN LOẠI VĂN BẢN TẠI VĂN PHÒNG
UBND TỈNH QUẢNG NGÃI
Chuyên ngành: Hệ thống thông tin
Mãsố: 61.49.01.04
TÓM TẮT
LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN
ĐàNẵng – Năm 2017
Công trình được hoàn thành tại
TRƯỜNG ĐẠI HỌC SƯ PHẠM- ĐHĐN
Người hướng dẫn khoa học: PGS.TS. HUỲNH CÔNG PHÁP
Phản biện 1: TS. Hoàng Thị Thanh
Phản biện 2: PGS.TS. Lê Mạnh Thạnh
Luận văn được bảo vệ trước Hội đồng chấm Luận văn tốt nghiệp thạc
sĩ Hệ thống thông tin họp tại Trường Đại học Sư phạm– ĐHĐN vào
ngày 30 tháng 7 năm 2017
Có thể tìm hiểu luận văn tại:
-Thư viện Trường Đại học Sư phạm Đà Nẵng, Đại học Đà Nẵng.
- Trung tâm thông tin học liệu, Đại học Đà Nẵng.
1
MỞ ĐẦU
1. Lý do chọn đề tài
Hiện nay một lượng lớn dữ liệu văn bản có sẵn về các lĩnh vực
khác nhau đã được thu thập, lưu trữ. Việc phân loại văn bản là tiến
trình xếp các tài liệu văn bản vào trong một hoặc nhiều các tài liệu
vào nhóm các chủ đề, để sử dụng nó là vấn đề ngày càng trở nên cần
thiết. Vì thế, vấn đề phân lớp và dự đoán là khâu rất quan trọng trong
học máy và trong khai phá dữ liệu. Một trong những công cụ được
đánh giá mạnh và tinh vi cho những bài toán phân lớp phi tuyến đó là
kỹ thuật Support Vector Machines (SVM) do Corters và Vapnik giới
thiệu vào năm 1995[14]. Nhiều ứng dụng đã và đang được xây dựng
dựa trên kỹ thuật SVM rất hiệu quả. SVM là mô hình 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. 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ính chúng trở
nên dễ dàng hơn trong không gian mới.
Gần đây, các nhà nghiên cứu đã thực hiện sử dụng các kỹ
thuật học máy để kết hợp tự động phân loại các tài liệu bằng cách
đầu tiên sử dụng một tập huấn luyện để thông qua bộ phân loại tới
tập đặc trưng của tập tài liệu. Quy trình học máy được khởi tạo bởi
một một sự kiểm tra các tài liệu mẫu để quyết định tập đặc trưng tối
thiểu mà sinh ra các kết quả phân loại mong muốn. Trong giai đoạn
huấn luyện có thể được giám sát hoặc không giám sát. Trong cả hai
2
trường hợp một tập các phân loại được định nghĩa một quyền ưu tiên,
không giống phân nhóm mà định nghĩa các phân loại dựa trên đặc
trưng của các tài liệu thực sự. Các kỹ thuật học không giám sát sử
dụng các đặc trưng của các tài liệu huấn luyện để cho giải thuật
quyết định phân loại mỗi tài liệu thuộc vào. Các kỹ thuật học có
giám sát sử dụng một tập các tài liệu huấn luyện mà đã được kết hợp
trong một phân loại để quyết định tập đặc trưng nào của các tài liệu
sẽ tạo ra kết quả mong muốn.
Tại Văn phòng UBND tỉnh Quảng Ngãi theo thống kê số
lượng văn bản hành chính được ban hành mỗi năm khoảng 15 nghìn
văn bản các loại chưa tính các loại văn bản đến đơn vị. Hạ tầng công
nghệ thông tin tại Văn phòng UBND tỉnh Quảng Ngãi được đầu tư từ
năm 2001 theo Đề án Tin học hóa quản lý hành chính nhà nước của
Chính phủ. Đến nay, CSDL văn bản được lưu giữ trên 3 TB dữ liệu.
Theo Nghị định Chính phủ yêu cầu cung cấp thông tin trực tuyến
trên Cổng thông tin điện tử của các tỉnh, Văn phòng UBND tỉnh
Quảng Ngãi chỉ mới cung cấp CSDL văn bản từ năm 2010, việc
phân loại các văn bản vào các nhóm chỉ dừng ở mức độ theo loại văn
bản chưa phân loại được theo các lĩnh vực, để thuận lợi cho việc tra
cứu, sắp xếp, lưu trữ…Do vậy, cần phải có hệ thống xử lý văn bản
hiệu quả và phương pháp học máy có giám sát để tận dụng được các
nguồn dữ liệu văn bản chưa được phân loại tại Văn phòng UBND
tỉnh Quảng Ngãi. Nhận thấy đây là lĩnh vực mang tính khoa học cao,
ứng dụng rất nhiều trong các bài toán thực tế.
Với những vấn đề nêu trên tôi chọn đề tài “Nghiên cứu
phương pháp học máy có giám sát để phân loại văn bản tại Văn
phòng UBND tỉnh Quảng Ngãi” làm chủ đề nghiên cứu tại luận
văn này.
3
2. Mục đích nghiên cứu
Nghiên cứu kỹ thuật học máy và một số giải thuật thường sử
dụng trong học máy, ứng dụng kỹ thuật học có giám sát.
3. Mục tiêu nghiên cứu
- Nghiên cứu kỹ thuật xử lý ngôn ngữ tiếng Việt.
- Xây dựng kho dữ liệu huấn luyện để ứng dụng vào bài toán
phân loại văn bản.
- Ứng dụng kỹ thuật học máy có giám sát vào bài toán phân
loại văn bản tại Văn phòng UBND tỉnh Quảng Ngãi.
4. Đối tượng và phạm vi nghiên cứu
Trong khuôn khổ luận văn thuộc loại nghiên cứu và ứng dụng,
đề tài chỉ giới hạn nghiên cứu các vấn đề sau:
- Các vấn đề liên quan đến học máy có giám sát.
- Các tài liệu, văn bản dạng text chuẩn tiếng Việt không có
hình ảnh hoặc âm thanh.
- Nghiên cứu phương pháp học có giám sát để giải quyết bài
toán phân loại văn bản theo các chủ đề như: Xây dựng, Giao thông,
Văn hóa xã hội, Công nghệ thông tin, Hành chính, Nông nghiệp, Nội
chính…
5. Phương pháp nghiên cứu
5.1. Phương pháp lý thuyết
- Thu thập và nghiên cứu tài liệu có liên quan.
- Nghiên cứu kỹ thuật học có giám sát.
- Nghiên cứu lý thuyết về xử lý ngôn ngữ tự nhiên.
- Biểu đạt kết quả.
5.2. Phương pháp thực nghiệm
- Xây dựng kho dữ liệu huấn luyện.
- Xây dựng quy trình phân loại văn bản.
- Ứng dụng quy trình phân loại văn bản vào mô hình thực tế
phân loại văn bản tại Văn phòng UBND tỉnh Quảng Ngãi.
4
6. Ý nghĩa khoa học và thực tiễn của luận văn
6.1. Ý nghĩa khoa học
- Nắm vững các vấn đề về lĩnh vực thống kê, xác suất và học
máy áp dụng vào bài toán phân loại văn bản.
- Nắm vững và vận dụng lý thuyết kỹ thuật học có giám sát, lý
thuyết phân lớp, một số thuật toán phân loại văn bản để vận dụng vào
thực tiễn.
- Hiểu được lý thuyết về xử lý ngôn ngữ tự nhiên.
- Nhìn nhận được mức độ đóng góp của các tác giả so với các
phương pháp trước đây; ý nghĩa đóng góp về mặt học thuật có tính
phát minh.
6.2. Ý nghĩa thực tiễn
- Trong thực tiễn đời sống hằng ngày, thông tin quanh ta là rất
nhiều. Biến thông tin thành tri thức để phục vụ con người là khát
vọng không chỉ riêng đối với các nhà khoa học.
- So với những phương pháp trước đây, phương pháp phân
loại văn bản với Support Vector Machines (SVM) được nghiên cứu
từ những năm 60 với những công trình của Vapnik và Lerner
(1963)[16], Vapnik và Chervonenkis (1964)[16] có khả năng cho kết
quả nhận dạng chính xác hơn so với các phương pháp học máy khác
– điều này mở ra một khả năng rộng lớn cho các bài toán ứng dụng
trong nhiều ngành.
- Đưa phương pháp học máy có giám sát vào bài toán phân
loại văn bản tại Văn phòng UBND tỉnh Quảng Ngãi.
7. Nội dung luận văn
Luận văn gồm 3 chương chính:
Chương 1: Nghiên cứu tổng quan
Chương 2: Áp dụng mô hình học máy Support Vector
Machines (SVM) cho phân loại văn bản tại văn phòng UBND tỉnh
5
quảng ngãi
Chương 3: Xây dựng chương trình thử nghiệm trong bài toán
học máy có giám sát để phân loại văn bản tại văn phòng UBND tỉnh.
Cuối cùng là những kết luận, định hướng nghiên cứu và phát
triển của luận văn.
CHƯƠNG 1
NGHIÊN CỨU TỔNG QUAN
1.1. TỔNG QUAN VỀ HỌC MÁY
Học máy (Machine Learning - ML) [22]là một ngành khoa
học nghiên cứu các thuật toán cho phép máy tính có thể học được các
khái niệm (concept). Có hai loại phương pháp học máy chính:
- Phương pháp quy nạp: là phương pháp máy học dựa trên dữ
liệu đã thu thập được trước đó. Phương pháp này cho phép tận dụng
được nguồn dữ liệu rất nhiều và sẵn có.
- Phương pháp suy diễn: là phương pháp dựa vào các luật.
Phương pháp này cho phép tận dụng được các kiến thức chuyên
ngành để hỗ trợ máy tính.
Hiện nay, các thuật toán đều cố gắng tận dụng được các ưu
điểm của hai phương pháp này.
Hình 1.1. Mô hình thuật toán học máy có giám sát
6
Để giải quyết một bài toán nào đó của học có giám sát, người
ta phải xem xét nhiều bước khác nhau:
- Xác định loại của các ví dụ huấn luyện. Trước khi làm bất cứ
điều gì, người làm nhiệm vụ phân lớp nên quyết định loại dữ liệu nào
sẽ được sử dụng làm ví dụ. Chẳng hạn đó có thể là một ký tự viết tay
đơn lẻ, toàn tập một từ viết tay, hay toàn tập một dòng chữ viết tay.
- Thu thập tập huấn luyện. Tập huấn luyện cần đặc trưng cho
thực tế sử dụng của hàm chức năng. Vì thế, một tập các đối tượng
đầu vào được thu thập và đầu ra tương ứng được thu thập, hoặc từ
các chuyên gia hoặc từ việc đo đạc tính toán.
- Xác định việc biểu diễn các đặc trưng đầu vào cho hàm chức
năng cần tìm. Sự chính xác của hàm chức năng phụ thuộc lớn vào
cách các đối tượng đầu vào được biểu diễn. Thông thường, đối tượng
đầu vào được chuyển đổi thành một vector đặc trưng, chứa một số
các đặc trưng nhằm mô tả cho đối tượng đó. Số lượng các đặc trưng
không nên quá lớn, do sự bùng nổ tổ hợp (curse of dimensionality),
nhưng phải đủ lớn để dự đoán chính xác đầu ra.
- Xác đinh cấu trúc của hàm chức năng cần tìm và giải thuật
học tương ứng. Ví dụ người thực hiện quá trình phân lớp có thể lựa
chọn việc sử dụng mạng nơ- ron nhân tạo hay cây quyết định….
- Hoàn thiện thiết kế. Người thiết kế sẽ chạy giải thuật học từ
một tập huấn luyện thu thập được. Các tham số của giải thuật học có
thể được điều chỉnh bằng cách tối ưu hoá hiệu năng trên một tập con
(gọi là tập kiểm chứng – validation set) của tập huấn luyện, hay
thông qua kiểm chứng chéo (crossvalidation). Sau khi học và điều
chỉnh tham số, hiệu năng của giải thuật có thể được đo dạc trên một
tập kiểm tra độc lập với tập huấn luyện.
Một số thuật toán điển hình:
7
Thuật toán K láng giềng
Mô hình xác suất Naive Bayes
Phương pháp Support Vector Machines
1.1.1.2. Học không có giám sát (unsupervised learning)
Học không giám sát [18]là một kỹ thuật của máy học nhằm
tìm ra một mô hình hay cấu trúc bị ẩn bởi tập dữ liệu không được
gán nhãn cho trước. Học không có giám sát khác với học có giám sát
là không thể xác định trước đầu ra từ tập dữ liệu huấn luyện được.
Tùy thuộc vào tập huấn luyện kết quả đầu ra sẽ khác nhau. Trái
ngược với học có giám sát, tập dữ liệu huấn luyện của học không có
giám sát không do con người gán nhãn, máy tính sẽ phải tự học hoàn
toàn. Có thể nói, học không có giám sát thì giá trị đầu ra sẽ phụ thuộc
vào thuật toán học không có giám sát.
1.1.1.3. Học bán giám sát (semi-supervised learning)
Trong khoa học máy tính, học bán giám sát [19]là một lớp của
kỹ thuật học máy, sử dụng cả dữ liệu đã gán nhãn và chưa gán nhãn để
huấn luyện - điển hình là một lượng nhỏ dữ liệu có gán nhãn cùng với
lượng lớn dữ liệu chưa gán nhãn. Học bán giám sát đứng giữa học
không giám sát (không có bất kì dữ liệu có nhãn nào) và có giám sát
(toàn bộ dữ liệu đều được gán nhãn). Nhiều nhà nghiên cứu nhận thấy
dữ liệu không gán nhãn, khi được sử dụng kết hợp với một chút dữ
liệu có gán nhãn, có thể cải thiện đáng kể độ chính xác. Để gán nhãn
dữ liệu cho một bài toán học máy thường đòi hỏi một chuyên viên có
kỹ năng để phân loại bằng tay các ví dụ huấn luyện. Chi phí cho quy
trình này khiến tập dữ liệu được gán nhãn hoàn toàn trở nên không khả
thi, trong khi dữ liệu không gán nhãn thường tương đối rẻ tiền.
1.1.1.4. Học tăng cường (reinforcement learning)
Trong ngành khoa học máy tính, học tăng cường là một lĩnh
8
vực con của học máy, nghiên cứu cách thức một agent trong một môi
trường nên chọn thực hiện các hành động nào để cực đại hóa một
khoản thưởng (reward) nào đó về lâu dài. Các thuật toán học tăng
cường cố gắng tìm một chiến lược ánh xạ các trạng thái của thế giới
tới các hành động mà agent nên chọn trong các trạng thái đó. Khác
với học có giám sát, trong học tăng cường không có các cặp dữ liệu
vào/kết quả đúng, các hành động gần tối ưu cũng không được đánh
giá đúng sai một cách tường minh. Hơn nữa, ở đây hoạt động trực
tuyến (on-line performance) được quan tâm, trong đó có việc tìm
kiếm một sự cân bằng giữa khám phá (lãnh thổ chưa lập bản đồ) và
khai thác (tri thức hiện có). Trong học tăng cường, sự được và mất
giữa khám phá và khai thác đã được nghiên cứu chủ yếu qua bài toán
multi-armed bandit.
1.1.2. Các ứng dụng của học máy
Học máy có ứng dụng rộng khắp trong các ngành khoa
học/sản xuất, đặc biệt những ngành cần phân tích khối lượng dữ liệu
khổng lồ. Một số ứng dụng thường thấy:
- Xử lý ngôn ngữ tự nhiên (Natural Language Processing): xử
lý văn bản, giao tiếp người – máy, …
- Nhận dạng (Pattern Recognition): nhận dạng tiếng nói, chữ
viết tay, vân tay, thị giác máy (Computer Vision) …
- Tìm kiếm (Search Engine)
- Chẩn đoán trong y tế: phân tích ảnh X-quang, các hệ chuyên
gia chẩn đoán tự động.
- Tin sinh học: phân loại chuỗi gene, quá trình hình thành
gene/protein
- Vật lý: phân tích ảnh thiên văn, tác động giữa các hạt …
- Phát hiện gian lận tài chính (financial fraud): gian lận thẻ tín
dụng
9
- Phân tích thị trường chứng khoán (stock market analysis)
- Chơi trò chơi: tự động chơi cờ, hành động của các nhân vật ảo
- Rôbốt: là tổng hợp của rất nhiều ngành khoa học, trong đó
học máy tạo nên hệ thần kinh/bộ não của người máy.
1.2. TỔNG QUAN VỀ PHÂN LỚP DỮ LIỆU
1.2.1. Giới thiệu về phân lớp
Bài toán phân lớp [9]là quá trình phân lớp một đối tượng dữ
liệu vào một hay nhiều lớp đã cho trước nhờ một mô hình phân lớp
(model). Mô hình này được xây dựng dựa trên một tập dữ liệu được
xây dựng trước đó có gán nhãn (hay còn gọi là tập huấn luyện). Quá
trình phân lớp là quá trình gán nhãn cho đối tượng dữ liệu. Như vậy,
nhiệm vụ của bài toán phân lớp là cần tìm một mô hình phần lớp để
khi có dữ liệu mới thì có thể xác định được dữ liệu đó thuộc vào
phân lớp nào.
Tóm lại phân lớp dữ liệu là quá trình sắp xếp và phân lớp các
dữ liệu vào nhiều loại hình, hình thức hoặc bất kỳ tầng lớp đặc biệt
khác. Phân lớp dữ liệu cho phép chia tách và phân lớp dữ liệu theo
yêu cầu của bộ dữ liệu cho nhiều mục tiêu kinh doanh hoặc cá nhân.
Nó chủ yếu là một quá trình quản lý dữ liệu.
1.2.2. Các loại phân lớp dữ liệu
1.2.2.1. Phân lớp dữ liệu nhị phân
Phân lớp dữ liệu nhị phân là quá trình tiến hành việc phân lớp dữ liệu
vào một trong hai lớp khác nhau dựa vào việc dữ liệu đó có hay không có
một số đặc tính theo quy định của bộ phân lớp.
1.2.2.2. Phân lớp dữ liệu đa lớp
Phân lớp dữ liệu đa lớp là quá trình phân lớp với số lượng lớn
hơn hai. Như vậy, tập hợp dữ liệu trong miền xem xét được phân
chia thành nhiều lớp chứ không đơn thuần chỉ là hai lớp như trong
10
bài toán phân lớp nhị phân. Tóm lại về bản chất, bài toán phân lớp
nhị phân là một trường hợp riêng của bài toán phân lớp đa lớp.
1.2.2.3. Phân lớp dữ liệu đơn trị
Phân lớp dữ liệu đơn trị là quá trình phân lớp mà mỗi đối
tượng dữ liệu trong tập dữ liệu huấn luyện được gán vào chính xác
một lớp.
1.2.2.4. Phân lớp dữ liệu đa trị
Phân lớp dữ liệu đa trị là mỗi đối tượng dữ liệu trong tập huấn
luyện cũng như các đối tượng mới sau khi được phân lớp có thể
thuộc vào từ hai lớp trở lên.Ví dụ như có một văn bản hành chính về
việc triển khai thực hiện Cuộc vận động "Toàn dân đoàn kết xây
dựng nông thôn mới, đô thị văn minh" vừa thuộc về lĩnh vực nông
nghiệp nhưng cũng thuộc về lĩnh vực văn hóa xã hội. Trong những
trường hợp này, việc sắp xếp một tài liệu vào nhiều lớp là phù hợp
với thực tế.
CHƯƠNG 2
ÁP DỤNG MÔ HÌNH HỌC MÁY SUPPORT VECTOR
MACHINES (SVM) VÀO PHÂN LOẠI VĂN BẢN TẠI VĂN
PHÒNG UBND TỈNH QUẢNG NGÃI
2.1. KHÁI NIỆM VỀ HỌC MÁY
Học máy (ML) là một lĩnh vực của trí tuệ nhân tạo liên quan
đến việc nghiên cứu và xây dựng các kỹ thuật cho phép các hệ thống
có thể “học” tự động từ dữ liệu để giải quyết những vấn đề cụ thể.
Học máy là tạo ra các phương pháp và chương trình để cho máy tính
có thể giải quyết các vấn đề giống như con người. Ví dụ làm như thế
nào các hệ thống máy tính có thể “học” cách phân loại văn bản vào
những lĩnh vực tương ứng đã cho trước.
11
2.2. BỘ PHÂN LOẠI SUPPORT VECTOR MACHINES (SVM)
Thuật toán vector hỗ trợ (Support Vector Machines - SVM)
được Corters và Vapnik giới thiệu vào năm 1995. SVM rất hiệu quả
để giải quyết các bài toán với dữ liệu có số chiều lớn như các vector
biểu diễn văn bản. Thuật toán SVM ban đầu chỉ được thiết kế để giải
quyết bài toán phân lớp nhị phân tức là số lớp hạn chế là hai lớp.
Hiện nay, SVM được đánh giá là bộ phân lớp chính xác nhất cho bài
toán phân lớp văn bản, bởi vì đó là bộ phân lớp tốc độ rất nhanh và
hiệu quả đối với bài toán phân lớp văn bản.
Phương pháp SVM được coi là phương pháp hiệu quả để giải
quyết bài toán phân lớp với dữ liệu có số chiều lớn như các vector
biểu diễn văn bản. Về mặt lý thuyết, thuật toán phân lớp nhị phân
này cũng có thể sử dụng cho bài toán phân lớp đa lớp bằng cách
chuyển bài toán đa lớp thành bài toán nhị phân. Tuy nhiên, đối với
bài toán phân lớp văn bản sử dụng phương pháp SVM thì việc lựa
chọn thuộc tính cho từng phân lớp lại là vấn đề cực kỳ quan trọng, nó
quyết định đến hiệu quả của phân lớp.
Trong những năm gần đây, SVM được biết đến như một
hướng tiếp cận phân lớp hiệu quả và đang được áp dụng rộng rãi
trong nhiều ứng dụng thực tế. Ưu điểm của SVM là khả năng phân
lớp với độ chính xác cao, điều này được đảm bảo bởi các tính chất
của siêu phẳng tối ưu và cách sử dụng hàm nhân (kernel) để tối thiểu
hóa rủi ro ước lượng. Nhiều thử nghiệm thực tế cho thấy, phương
pháp SVM có khả năng phân loại khá tốt đối với bài toán phân loại
văn bản cũng như trong nhiều ứng dụng khác (như nhận dạng chữ
viết tay, phát hiện mặt người trong các ảnh, ước lượng hồi quy,…).
Mục đích của thuật toán SVM là tìm ra hàm phân lớp hiệu quả
nhất để phân biệt các thành phần của các lớp trong việc huấn luyện
dữ liệu.
12
2.2.1. SVM đa lớp
SVM ban đầu chỉ xử lý bài toán phân lớp nhị phân, tuy nhiên
trong nhiều ứng dụng hiện nay, chẳng hạn như phân loại văn bản thì
buộc phải giải một bài toán nhiều lớp. Vì vậy các mô hình SVM đa
lớp cũng được nghiên cứu và phát triển để đáp ứng với các dạng bài
toán nhiều lớp. Dưới đây là một số chiến lược thường để áp dụng cho
bài toán SVM đa lớp:
- Chiến lược một đối một (OVO: One – versus – One)
- Chiến lược một chống phần còn lại (OVR: One – versus –
Rest)
- Chiến lược phân cấp
2.2.2. Các thuật toán huấn luyện
Việc xây dựng chương trình cho việc huấn luyện SVM là khó
khăn và mất nhiều công sức, vì vậy đa số thuật chương trình SVM đã
được xây dựng sẵn trong một số công cụ lập trình và cho bởi nguyên
hàm và chỉ cần điền tham số, ta sẽ có kết quả đầu vào và đầu ra. Có
ba thuật toán kinh điển đã được cung cấp trong hầu hết ứng dụng
SVM: thuật toán chặt khúc, thuật toán phân rã và thuật toán SMO.
2.4. KẾT CHƯƠNG 2
Support Vector Machines (SVM) là một trong những nghiên
cứu vô cùng thiết thực trong phân loại văn bản. Các kỹ thuật SVM
tương tự với kNN trong đó chúng xem các tài liệu huấn luyện như
các vector trong không gian đặc trưng, và chúng yêu cầu một hàm
nhân (được gọi là kernel function) đóng vai trò tương tự như hàm m
trong giải thuật k láng giềng gần nhất. Tuy nhiên thay vì xem xét các
tài liệu tương tự với tài liệu được phân loại, các giải thuật SVM học
hướng quyết định trong quá trình huấn luyện và chia các không gian
vector vào trong các vùng chỉ ra các thành viên phân loại. Sau đó sự
13
phân loại đơn giản là quyết định nào cho từng tài liệu thuộc vào.
Ưu điểm chính của SVM là chúng có thể giải quyết tốt với các
không gian đặc trưng lớn, cả về tính chính xác của các thuật ngữ trong
kết quả phân loại và hiệu quả huấn luyện và các giải thuật phân loại.
Điều này có nghĩa là một số ít hoặc không có sự lựa chọn đặc trưng
nào cần thực hiện trên dữ liệu huấn luyện, xoá bỏ một sự tiêu tốn thời
gian có thể của quy trình phân loại. Tuy nhiên, SVM có một số nhược
điểm nếu tập mẫu lớn thì tốc độ huấn luyện và phân loại chậm, không
đủ không gian nhớ để huấn luyện. Vì thế trong chương 3 xây dựng mô
hình thử nghiệm sẽ giải quyết một số nhược điểm trên.
CHƯƠNG 3
XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM TRONG BÀI
TOÁN HỌC MÁY CÓ GIÁM SÁT ĐỂ PHÂN LOẠI VĂN BẢN
TẠI VĂN PHÒNG UBND TỈNH
3.1. NGÔN NGỮ TIẾNG VIỆT
Tiế ng Viê ̣t thuô ̣c ngôn ngữ đơn lâ ̣p, tức là mỗi mô ̣t tiế ng (âm
tiế t) đươ ̣c phát âm tách rời nhau và đươ ̣c thể hiê ̣n bằng mô ̣t chữ viế t.
Đă ̣c điể m này thể hiê ̣n rõ rê ̣t ở tấ t cả các mă ̣t ngữ âm, từ vựng, ngữ
pháp.
3.2. KHÁI NIỆM VỀ VĂN BẢN QUẢN LÝ NHÀ NƯỚC
3.2.1. Văn bản quản lý nhà nước
Văn bản quản lý nhà nước là những quyết định và thông tin
quản lý thành văn ( được văn bản hóa) do các cơ quan quản lý nhà
nước ban hành theo thẩm quyền, trình tự, thủ tục, hình thức nhất định
và được nhà nước đảm bảo thi hành bằng những hình thức khác nhau
nhằm điều chỉnh các mối quan hệ quản lý nội bộ nhà nước hoặc giữa
14
các cơ quan nhà nước với các tổ chức và công dân.
3.2.2. Văn bản quản lý hành chính nhà nước
Văn bản quản lý hành chính nhà nước là một bộ phận của văn
bản quản lý nhà nước, bao gồm những văn bản của các cơ quan nhà
nước (mà chủ yếu là các cơ quan hành chính nhà nước) dùng để đưa
ra các quyết định và chuyển tải các thông tin quản lý trong hoạt động
chấp hành và điều hành.
3.2.3. Phân loại văn bản quản lý nhà nước
Văn bản quản lý nhà nước được phân ra làm ba nhóm:
- Văn bản quy phạm pháp luật.
- Văn bản hành chính.
- Văn bản chuyên môn – kỹ thuật.
3.2.4. Ngôn ngữ trong văn bản hành chính
Văn bản hành chính phải mang tính chính xác, rõ ràng. Đây là
một đặc điểm quan trọng trong văn bản hành chính. Chính xác trong
cách dùng từ đặc câu phải đi đôi với tính minh bạch trong kết cấu
văn bản để đảm bảo tính xác định, tính đơn nghĩa của nội dung, chỉ
cho phép một cách hiểu, không gây hiểu lầm, câu cú phải ngắn gọn
không rườm rà.
Văn bản hành chính phải mang tính khuôn mẫu, lịch sự đây là
quy định chung về cách trình bày văn bản áp dụng cho tất cả các loại
văn bản hành chính. Sự tuân thủ theo những khuân mẫu nhất định có
tác động đến tính chuẩn mực của văn bản ở cả hình thức lẫn nội dung.
Văn bản hành chính phải mang tính nghiêm túc, khách quan. Từ
ngữ trong văn bản hành chính bao giờ cũng phải mang tính khách
quan, không chứa đựng cảm xúc hoặc đánh giá chủ quan cá nhân. Tính
khách quan, nghiêm túc được coi như dấu hiệu đặc biệt của văn bản.
15
3.3 BÀI TOÁN PHÂN LỚP TẠI VĂN PHÒNG UBND TỈNH
QUẢNG NGÃI
Hiện nay một số lượng lớn CSDL văn bản hành chính tại Văn
phòng UBND tỉnh Quảng Ngãi đã được phân vào các lớp chính như
Quyết định, Công văn, Tờ trình, Thông báo vv..., tuy nhiên trên thực
tế văn bản cần được phân loại vào các nhóm nhỏ hơn tiện cho việc
tìm kiếm, lưu trữ thông tin như nhóm xây dựng, tài chính, y tế, dân
số, môi trường vv...
3.3.1 Mô hình SVM đa lớp cho bài toán phân lớp văn bản
Để xây dựng một bài toán phân lớp văn bản hành chính tại
Văn phòng UBND tỉnh Quảng Ngãi, bước đầu tiên ta phải thu thập
dữ liệu văn bản bước thứ hai thực hiện việc tách từ và biểu diễn các
văn bản dưới dạng đặc trưng đầu vào cho mô hình SVM.
Hình 3.1.Mô hình bài toán phân lớp văn bản dữ liệu văn bản
hành chính
Quá trình tiền xử lý bao gồm việc phân tích từ vựng và tách
các từ trong nội dung của tập văn bản, sau đó chọn tập hợp các từ có
ý nghĩa dùng để phân loại, biểu diễn dữ liệu văn bản về dạng đặc
16
trưng để từ đó các giải thuật máy học có thể học để phân loại.
Hình 3.2. Mô hình quá trình tiền xử lý
Ở bước phân tích từ vựng, công việc có thể loại bỏ các từ
không có ý nghĩa cho việc phân lớp như các mạo từ, từ nối,... Tiếp
đến là tách các từ, dựa vào từ điển.
3.3.2. Dữ liệu và chương trình
Dữ liệu dùng để thực nghiệm bài toán phân lớp văn bản được
lấy từ CSDL văn bản của Văn phòng UBND tỉnh Quảng Ngãi.
Tập dữ liệu huấn luyện bao gồm 200 văn bản được trích rút
đặc trưng phục vụ cho việc phân tích các chủ đề.
10 chủ đề ( mỗi chủ đề chứa hơn 20 văn bản) phục vụ cho việc
kiểm thử chương trình.
Dữ liệu từ điển chứa 309 từ và cụm từ phục vụ cho việc tách
từ.
STT
1
2
3
4
Bảng 3.5. Dữ liệu học và kiểm tra
Tên loại
Số lượng
Tổng số dữ liệu
Tập dữ liệu huấn luyện
Tập dữ liệu kiểm thử
Tập dữ liệu từ điển
640
200
440
309
Phân lớp dữ liệu được xây dựng dựa trên 10 lớp bao gồm:
17
CNTT, dân số, giao thông, nông nghiệp, thủy sản, trẻ em, xây dựng, y
tế, xúc tiến, môi trường. Số lượng văn bản dùng cho việc huấn luyện
cũng như số lượng văn bản cho mỗi lớp được mô tả trong bảng 3.6.
Bảng 3.6. Tập số lượng dữ liệu huấn luyện
Số lượng văn
STT
Phân lớp
Thư mục
bản
1
Công nghệ thông tin
CNTT
20
2
Dân số
Dan so
15
3
Giao thông
Giao thong
20
4
Nông nghiệp
Nong nghiep
25
5
Thủy sản
Thuy san
10
6
Tài chính
Tài chính
20
7
Xây dựng
Xay dung
30
8
Y tế
Y te
25
9
Xúc tiến đầu tư
Xuc tien
20
10
Môi trường
moi truong
15
Tổng số
200
Tập dữ liệu dùng để kiểm thử được miêu tả trong bảng 3.7,
số lượng văn bản trong mỗi lớp tỷ lệ với số lượng văn bản trong tập
dữ liệu huấn luyện.
Bảng 3.7. Tập số lượng dữ liệu kiểm thử
Phân lớp
Thư mục
Số lượng văn
bản
1
Công nghệ thông tin
CNTT
60
2
Dân số
Dan so
36
3
Giao thông
Giao thong
56
4
Nông nghiệp
Nong nghiep
65
5
Thủy sản
Thuy san
16
6
Tài chính
Tai chinh
33
7
Xây dựng
Xay dung
43
8
Y tế
Y te
49
9
Xúc tiến
Xuc tien
48
10
Môi trương
moi truong
34
Tổng số
440
STT
18
3.3.3. Xây dựng bộ từ điển danh từ
Từ tập dữ liệu học ban đầu sau khi chuẩn hóa văn bản ta xây
dựng bộ từ điển bao gồm các từ và các cụm từ. Để xây dựng bộ từ
điển ta phải xây dựng thủ công dựa trên việc gán nhãn và lưu vào dữ
liệu. Bảng 3.8 thể hiện việc gán nhãn từ loại mà luận văn sử dụng.
Danh từ
Tin học
CNTT
Giới tính
Gia đình
....
Ô nhiễm
Khói bụi
Bảng 3.8. Gán nhãn từ loại
Gán nhãn
Chủ đề
1
CNTT
1
CNTT
2
dân số
2
dân số
...
...
10
môi trường
10
môi trường
3.3.4. Giao diện chương trình
Chương trình thử nghiệm được viết trên ngôn ngữ C# trong
bộ Microsoft Visual Studio Community 2017 đồng thời sử dụng thư
viên hỗ trợ như Libsvm.
Hình 3.3. Giao diện chương trình
3.3.5. Các bước sử dụng chương trình thử nghiệm
Bước đầu tiên ta sử dụng 200 văn bản của tập huấn luyện
trích rút các đặc trưng đưa vào từ điển phục vụ cho việc tách từ chi
19
tiết của từ điển được mô tả ở hình 3.4.
Hình 3.4 dữ liệu từ điển
Bước thứ hai ta chọn thư mục chứa dữ liệu văn bản cần phân
loại. Văn bản cần phân loại có dạng text.doc hoặc text.docx.
Bước thứ ba chọn dữ liệu đã được huấn luyện (training). Vì
theo ý tưởng ban đầu nghiên cứu về luận văn là học máy có giám sát
nên việc gán nhãn cho dữ liệu huấn luyện phải gán nhãn bằng tay,
việc gán nhãn này sử dụng file.csv để đưa thêm dữ liệu mới cần được
huấn luyện, chi tiết của dữ liệu gán nhãn được mô tả ở hình 3.5.
Hình 3.5. Dữ liệu được gán nhãn
20
Sau khi gán nhãn cho tập dữ liệu ta tiến hành huấn luyện
cho tâp gán nhãn.
Hình 3.6. Dữ liệu đã được huấn luyện
Bước thứ ba là bước xác định k-fold. K-fold là một trong
những phương pháp kiểm tra độ chính xác của máy học (Crossvalidation), với phương pháp này tập dữ liệu được chia đều thành k
tâp (folds) có kính thước xấp xỉ nhau. Dây là kỹ thuật chủ yếu được
sử dụng trong xây dựng phân tích dự báo (predictive Model). Trong
đó dữ liệu gốc được chia thành n phần bằng nhau (n-fold), và quá
trình Train/Test Model thực hiện lặp lại n lần. Tại mỗi lần Train/Test
Model, một phần dữ liệu dùng để Test và (n-1) phần còn lại dùng để
Train. (Người ta đã chứng minh 10-fold Cross-Validation là tối ưu).
Sau khi các bước đã được chọn ta tiến hành thực hiện việc
phân loại văn bản, chi tiết của việc chọn ở các bước được miêu tả ở
hình 3.7.
21
Hình 3.7. Sau khi đã chọn xong các mục
3.3.6. Kết quả phân loại văn bản
Sau khi thực hiện phân loại ta được kết quả như hình 3.8
Hình 3.8. Kết quả phân loại văn bản
Qua bảng 3.9 cho thấy sau khi phân loại và so sánh với kết
quả giữa văn bản kiểm thử và văn bản được máy phân loại thu được
kết quả phần tăm trung bình là 96.93%.
22
Bảng 3.9. Tỷ lệ % phân loại văn bản
STT
1
2
3
4
5
6
7
8
9
10
Bảng đánh giá kết quả phân loại văn bản
Tập kiểm Tập phân loại Tập phân loại
Phân lớp
thử
bằng máy
sai phân lớp
CNTT
60
59
1
Dân số
36
35
1
Giao thông
56
51
5
Môi trường
34
34
0
Nông nghiệp
65
65
0
Thủy sản
16
15
1
Tài chính
33
33
0
Xây dựng
43
40
3
Xúc tiến
48
48
0
Y tế
49
47
1
Phần trăm trung bình
Tỉ lệ %
98.33%
97.22%
91.07%
100%
100%
93.75%
100%
93.02%
100%
95.91%
96.93%
3.4. ĐÁNH GIÁ KẾT QUẢ THỰC NGHIỆM
Việc tiến hành thực nghiệm trên tập dữ liệu cần phân lớp với
số lượng văn bản là 440 cho 10 phân lớp cho kết quả tương đối chính
xác.
Do số lượng dữ liệu kiểm thử cho từng lớp có số chênh lệch
chưa cao nên khả năng dự đoán của bộ phân lớp khá tốt. Muốn khả
năng dự đoán có độ chính xác cao hơn nữa thì tập dữ liệu huấn luyện
cần phải học thêm nhiều về số lượng, đảm bảo cung cấp đầy đủ các
ràng buộc ….
Ngoài ra việc xác định từ, cụm từ trong văn bản hành chính sử
dụng cho việc huấn luyện cũng là một điều đáng quan tâm, vì có
nhiều văn bản con người đọc còn chưa xác định được xếp vào thể
loại nào. Hiện nay có rất nhiều phương pháp học máy để ứng dụng
trong việc phân loại tài liệu tiếng Việt, tuy nhiên có rất ít đề tài viết
về ứng dung các phương pháp học máy để phân loại văn bản hành
chính nên làm cho việc so sánh, đánh giá kết quả cũng còn hạn chế.
Khi tiến hành thực nghiệm chương trình thực nghiệm chiếm
23
không gian bộ nhớ và tốc độ xử lý của CPU của máy tính không quá
cao theo hình 3.8
Hình 3.8. Thông số hệ thống chương trình thử nghiệm sử dụng
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Từ việc nghiên cứu lý thuyết và kết quả thực nghiệm có thể
khẳng định rằng bài toán phân lớp văn bản hành chính thực sự có ý
nghĩa rất quan trọng trong việc quản lý, tìm kiếm, lưu trữ thông tin
trên nguồn tài nguyên lớn, đặc biệt với nguồn tài nguyên về lĩnh vực
hành chính.
Luận văn tìm hiểu, nghiên cứu các thuật toán phổ biến hiện
nay, từ đó đưa ra phương pháp và thuật toán ứng dụng vào bài toán
phân lớp dữ liệu văn bản hành chính.
Dưới sự hướng dẫn tận tình của PGS.TS Huỳnh Công Pháp
trong thời gian nghiên cứu và thực hiện viết luận văn tốt nghiệp với
đề tài “Nghiên cứu phương pháp học máy có giám sát để phân loại
văn bản tại Văn phòng UBND tỉnh Quảng Ngãi” em đã rút ra một số
nhận xét sau
1. Kết quả đạt được
- Nghiên cứu lý thuyết tổng quan về học máy và học máy có
giám sát.
- Nghiên cứu lý thuyết tổng quan về phân lớp và phân loại văn