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.. Gần đây, cá
Trang 1LÊ 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
Trang 2Ngườ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
Trang 3MỞ ĐẦ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
Trang 4trườ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
Trang 52 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
Trang 66 Ý 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
Trang 7quả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
Trang 8Để 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:
Trang 9Thuậ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
Trang 10vự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
Trang 11- 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
Trang 12bà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
Trang 132.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