ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA LÊ TRUNG NHỰT NGHIÊN CỨU CÁC PHƯƠNG PHÁP PHÂN LỚP VĂN BẢN VÀ ỨNG DỤNG XÂY DỰNG PHẦN MỀM PHÂN LOẠI VĂN BẢN HÀNH CHÍNH TẠI SỞ THÔNG TIN VÀ TRUYỀN
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA
LÊ TRUNG NHỰT
NGHIÊN CỨU CÁC PHƯƠNG PHÁP PHÂN LỚP VĂN BẢN VÀ ỨNG DỤNG XÂY DỰNG PHẦN MỀM PHÂN
LOẠI VĂN BẢN HÀNH CHÍNH TẠI SỞ THÔNG TIN VÀ TRUYỀN THÔNG
THÀNH PHỐ ĐÀ NẴNG
Chuyên ngành : Khoa học máy tính
Mã số : 60.48.01.01
TÓM TẮT LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Đà Nẵng – Năm 2017
Trang 2Công trình được hoàn thành tại TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
Người hướng dẫn khoa học: PGS.TS HUỲNH CÔNG PHÁP
Phản biện 1 : PGS.TS Nguyễn Tấn Khôi
Phản biện 2 : TS Trần Thiên 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ĩ ngành Khoa học máy tính họp tại Trường Đại học Bách khoa Đà Nẵng vào ngày 13 tháng 08 năm 2017
Có thể tìm hiểu luận văn tại :
- Trung tâm học liệu, Đại học Đà Nẵng tại trường Đại học Bách Khoa
- Thư viện khoa Khoa học máy tính, trường Đại học Bách Khoa – ĐHĐN
Trang 3MỞ ĐẦU
1 Tính cấp thiết của đề tài
Cùng với sự phát triển chung của khoa học kỹ thuật và công nghệ thông tin đã đem đến cho con người khả năng tiếp cận với tri thức khoa học một cách nhanh chóng, cụ thể như: thư viện điện tử, cổng thông tin điện tử, báo mạng, các ứng dụng tìm kiếm…,
đã giúp con người thuận tiện hơn trong việc trao đổi, cập nhật thông tin trên toàn cầu thông qua mạng Internet Hệ thống dữ liệu số hoá ngày càng trở nên khổng lồ để phục vụ cho việc lưu trữ trao đổi thông tin, dữ liệu số hoá này rất đa dạng - nó có thể là các dữ liệu dưới dạng tập tin văn bản text, tập tin văn bản MS Word, tập tin văn bản PDF, mail, HTML v.v Các tập tin văn bản cũng được lưu trữ trên máy tính cục bộ hoặc được truyền tải trên intenet, cùng với thời gian và số lượng người dùng tăng nhanh thì các tập tin này ngày càng nhiều và đến một thời điểm nào đó số lượng tập tin này sẽ vượt quá tầm kiểm soát, do đó khi muốn tìm kiếm lại một văn bản nào đó việc tìm kiếm sẽ rất khó khăn và phức tạp, đặc biệt là trong trường hợp người cần tìm kiếm không nhớ rõ các câu cần tìm chính xác trong văn bản
Hiện nay tin học hóa các hoạt động quản lý nhà nước đang ngày càng đặt biệt được chú trọng Tại Việt Nam phần lớn các cơ quan hành chính nhà nước đang sử dụng các hệ thống phần mềm hỗ trợ văn bản và điều hành để xử lý hồ sơ văn bản, tại sở Thông tin và Truyền thông thành phố Đà Nẵng hằng năm việc nhận và chuyển đi
số lượng lớn văn bản hành chính các loại, hệ thống lưu trữ cơ sở dữ liệu cho văn bản khá lớn và mỗi ngày càng phình to, khối lượng dữ
Trang 4liệu lớn khi có việc tìm lại các văn bản cần thiết sẽ mất khá nhiều thời gian công sức nếu thực hện quá trình phân loại bằng thủ công sẽ tốn nhiều thời gian và chi phí Vì vậy để nâng cao hiệu quả trong việc
sử dụng các hệ thống phần mềm này, chúng ta cần phải xây dựng chức năng có khỏa năng phân loại tự động nhằm sắp xếp phân loại văn bản để quá trình tìm kiếm, truy xuất của người dùng được nhanh nhạy và dễ dàng hơn
Phân loại văn bản tự động là gán các nhãn phân loại lên một văn bản mới dựa trên mức độ tương tự của văn bản đó so với các văn bản đã được gán nhãn trong tập huấn luyện 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, chẳng hạn: phương pháp quyết định dựa vào Naive Bayes, cây quyết định, k–láng giềng gần nhất, mạng nơron,… những nghiên cứu gần đây, phương pháp phân loại văn bản sử dụng Máy vector hỗ trợ (SVM) được quan tâm và sử dụng nhiều trong những lĩnh vực phân loại Phương pháp SVM ra đời từ lý thuyết học thống kê do Vapnik và Chervonenkis xây dựng và có nhiều tiềm năng phát triển
về mặt lý thuyết cũng như ứng dụng trong thực tiễn
Những năm gần đây vấn đề phân loại văn bản tiếng Việt được nhiều cơ sở nghiên cứu trong cả nước quan tâm Một số công trình nghiên cứu cũng đạt được những kết quả khả quan Các hướng tiếp cận bài toán phân loại văn bản đã được nghiên cứu bao gồm: hướng tiếp cận bài toán phân loại bằng lý thuyết đồ thị, cách tiếp cận sử dụng lý thuyết tập thô, cách tiếp cận thống kê, 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 Nhìn chung, những cách tiếp cận này đều cho kết quả chấp nhận được Tuy nhiên SVM chưa được áp dụng một cách có hiệu quả vào phân loại văn bản tiếng Việt Vì vậy với mục đích xây dựng mô hình và cải tiến
Trang 5phương pháp máy vector hỗ trợ SVM để nâng cao hiệu quả phân loại văn bản tiếng Việt là một công việc cấp thiết
Chính vì vậy, trong luận văn này, tập trung nghiên cứu các phương pháp nhằm phân loại văn bản tiếng Việt hiệu quả hơn Nhận thấy đây là lĩnh vực mang tính khoa học cao Vì vậy tôi đã
chọn đề tài “Nghiên cứu các phương pháp phân lớp văn bản và ứng dụng xây dựng phần mềm phân loại văn bản hành chính tại
Sở Thông tin và Truyền thông Đà Nẵng” là một việc làm không
chỉ mang tính khoa học mà còn áp dụng vào thực tiễn Đã có rất nhiều công trình nghiên cứu và ứng dụng thực tế dùng để thực hiện việc phân loại văn bản, tuy nhiên các ứng dụng đó cũng chưa thể đáp ứng hoàn toàn nhu cầu của người sử dụng, do vậy mà việc tìm kiếm, nghiên cứu các giải thuật, các phương pháp phân loại văn bản vẫn được tiếp tục nghiên cứu và hoàn thiện
2 Mục tiêu nghiên cứu
Mục tiêu chung của đề tài là nghiên cứu ứng dụng kỹ thuật học máy vào bài toán phân loại văn bản tiếng Việt
Mục tiêu cụ thể như sau:
- Tập trung nghiên cứu một số kỹ thuật và phương pháp phân lớp văn bản, mô tả các yêu cầu chính yếu nhất của từng phương pháp
và rút ra các ưu/khuyết điểm của từng phương pháp
- Nắm vững được các vấn đề liên quan đến phân loại văn bản gồm: các mô hình phân loại, quy trình thực hiện Nghiên cứu các thuật toán xử lý văn bản, cách thức tương tác tài liệu, văn bản
- Ứng dụng các phương pháp trên để xây dựng chương trình phân loại văn bản tiếng Việt bước đầu thử nghiệm trên các văn bản thuộc sở Thông tin và Truyền thông TP.Đà Nẵng
Trang 63 Đối tượng và phạm vi nghiên cứu
3.1 Đối tượng nghiên cứu của đề tài
- Các thuật toán phân loại, phân cụm dữ liệu trong cơ sở dữ liệu có cấu trúc và bán cấu trúc, phương pháp tách từ, tách câu trong các loại văn bản tiếng Việt
- Một số hệ thống phân loại văn bản hiện có
- Hệ thống văn bản hành chính tại Sở Thông tin và Truyền thông Đà Nẵng
3.2 Chúng tôi giới hạn phạm vi nghiên cứu trong luận văn này gồm:
- Trong khuôn khổ của luận văn, tôi nghiên cứu và xây dựng ứng dụng phân loại văn bản thành các loại theo các bộ phận chức năng như: công nghệ thông tin, báo chí xuất bản, điện tử viễn thông,
an ninh thông tin
- Chỉ tập trung cho hệ thống phân loại văn bản tiếng việt
4 Phương pháp nghiên cứu
- Phương pháp tài liệu: Tập trung nghiên cứu cơ sở lý thuyết
về các kỹ thuật phân lớp văn bản các tư liệu và thông tin liên quan chủ yếu được thu thập, tổng hợp từ các nguồn, các tạp chí khoa học Chuyên ngành trong và ngoài nước, Internet Các tài liệu có liên quan đến các nội dung nghiên cứu như: học máy, phân loại văn bản, phân loại văn bản tiếng Việt
- Phương pháp thực nghiệm: Nghiên cứu đánh giá thực
nghiệm từng mô hình, phương pháp phân loại văn bản, từ đó so sánh, đánh giá với phương pháp được đề xuất Ứng dụng xây dựng chương trình phân loại văn bản
- Phương pháp chuyên gia: Lấy ý kiến các chuyên gia, các
giải pháp đề xuất và khảo sát ý kiến của người sử dụng
Trang 75 Bố cục đề tài
Nội dung chính của luận văn được trình bày trong 3 chương gồm:
Chương 1: Nghiên cứu tổng quan
Chương này trình bày các khái niệm và những nội dung cơ bản về bài toán phân lớp văn bản Tìm hiểu các kết quả nghiên cứu tổng quan liên quan đến học máy, các phương pháp học máy, phân lớp dữ liệu và phân loại văn bản, tìm hiểu các quy trình phân loại văn bản tiếng Việt Trên cơ sở nghiên cứu, đánh giá các vấn đề còn tồn tại, đề xuất những nội dung nghiên cứu trình bày trong các chương tiếp theo
Chương 2: Đề xuất phương pháp áp dụng
Nội dung chương này tập trung phân tích, trình bày kiến thức nền tảng, cơ sở lý thuyết sử dụng trong luận văn làm rõ một số giải pháp kỹ thuật liên quan, nêu khái quát đặc điểm các phương pháp được sử dụng tại mỗi bước của quy trình phân loại, qua đó định hướng áp dụng trong việc giải quyết bài toán phân loại văn bản Kết quả nghiên cứu của chương là cơ sở để giải quyết bài toán phân loại văn bản tiếng Việt ở chương sau
Chương 3: Xây dựng chương trình thử nghiệm
Chương này trình bày các áp dụng thuật toán trong việc phân loại văn bản, sử dụng ngôn ngữ lập trình python để viết chương trình phân loại văn bản tại sở Thông tin và Truyền thông TP Đà Nẵng Thử nghiệm các kết quả thực nghiệm thu được khi thực hiện ở các phương pháp Đưa ra một số nhận xét đánh giá kết luận
Trong phần kết luận, luận văn tóm tắt lại những công việc đã thực hiện trong thời gian qua, và kết quả đã đạt được, đồng thời cũng
đề cập đến những điểm còn hạn chế của luận văn và đề ra phương hướng nghiên cứu trong thời gian tới
Trang 86 Tổng quan tài liệu nghiên cứu
Tài liệu tham khảo được sử dụng trong luận văn gồm các luận văn của các học viên các lớp cao học ở các trường, các bài báo khoa học công nghệ
CHƯƠNG 1 NGHIÊN CỨU TỔNG QUAN
1.1 TỔNG QUAN VỀ PHÂN LỚP DỮ LIỆU
1.1.1 Tổng quan về bài toán phân lớp dữ liệu
Bài toán phân lớp dữ liệu là quá trình phân lớp một đối tượng
dữ liệu cụ thể vào một hoặc nhiều lớp dữ liệu đã xác định trước thông qua một mô hình phân lớp được xây dựng từ trước dựa trên một tập đối tượng dữ liệu thiết lập nhãn sẵn từ trước hay chúng ta vẫn thường gọi là tập huấn luyện
Trong thực tế phân lớp dữ liệu có rất nhiều bài toán khác nhau
như bài toán phân lớp nhị phân, bài toán phân lớp đa trị,…
1.1.2 Tổng quan về quá trình phân lớp dữ liệu
Bước 1: Thiết lập mô hình phân lớp:
Bước 2: Tiến hành phân lớp sử dụng mô hình phân lớp tạo ở bước 1:
1.2 TỔNG QUAN VỀ PHÂN LỚP VĂN BẢN
1.2.1 Khái niệm
Phân lớp văn bản (Text classification) là quá trình gán nhãn (tên lớp/nhãn lớp) các văn bản ngôn ngữ tự nhiên một cách tự động vào một hoặc nhiều lớp cho trước
1.2.2 Thực trạng của vấn đề
Các phương thức giao dịch sử dụng giấy tờ trong thời đại hiện
Trang 9nay thì phương thức số dần đang thay thế các phương thức giao dịch truyền thống Bởi nhiều ưu điểm như tiện dụng, gọn nhẹ và sự lưu trữ
ổn định lâu dài, dễ dàng hiệu chỉnh cũng như truyền gửi Song song với sự gia tăng số lượng văn bản thì nhu cầu khai thác tìm kiếm các
dữ liệu văn bản cũng đang trở thành một nhu cầu thiết yếu trong thời điểm hiện tại Với số lượng văn bản đồ sộ thì việc phân lớp văn bản
tự động là một nhu cầu bức thiết và là lĩnh vực được chú ý nhiều và
đã được nghiên cứu nhiều trong những năm gần đây
1.2.3 Tổng quan về phương pháp phân lớp văn bản
Hiện nay, có rất nhiều các phương pháp dùng để phân lớp văn bản như phương pháp Bayes, sử dụng cây quyết định, k láng giềng gần nhất hay SVM
1.2.4 Ứng dụng của việc phân lớp văn bản
Phân lớp văn bản có vai trò vô cùng quan trọng với công việc tìm kiếm văn bản, lọc văn bản hoặc một phần văn bản, ứng dụng trích chọn thông tin trên mạng Internet…
1.2.5 Quá trình phân lớp văn bản
Phân lớp dữ liệu văn bản có thể chia làm 4 bước cơ bản sau:
Bước 1: Tạo chỉ mục (indexing)
Bước 2: Xác định độ phân lớp
Bước 3: So sánh
Bước 4: Phản Hồi
1.2.6 Đánh giá máy phân lớp văn bản
Độ hồi tưởng và độ chính xác, và độ đo F1 được sử dụng khá phổ biến trong việc đánh giá độ chính xác của các mô hình phân lớp Các chỉ số này cũng là cơ sở để học viên áp dụng vào đánh giá các phương pháp đề xuất trong phần thực nghiệm chương 3
Trang 101.2.7 Những yếu tố ảnh hưởng đến quá trình phân lớp
Có 3 yếu tố thiết yếu ảnh hưởng đến kết quả của việc phân lớp
có thể kể đến:
- Tập dữ liệu được thiết lập nhãn trước phải đủ lớn
- Phương pháp tách từ khóa trong văn bản ảnh hưởng tới quá trình biểu diễn văn bản bằng vector
- Phân lớp dữ liệu văn bản phải sử dụng thuật toán hợp lý về thời gian xử lý gồm:
1.3 PHÁT BIỂU VỀ BÀI TOÁN PHÂN LOẠI VĂN BẢN
1.3.1 Mô hình tổng quát
Hình 1.4 Mô hình tổng quát
1.3.2 Giai đoạn huấn luyện
1.3.3 Giai đoạn phân lớp
1.4 TỔNG QUAN VỀ TÌNH HÌNH NGHIÊN CỨU TRONG VÀ NGOÀI NƯỚC
Phần này, học viên trình bày những công trình và hệ thống nghiên cứu liên quan trong nước và trên thế giới Phân tích ưu/khuyết điểm để từ đó định hướng xây dựng chương trình
1.4.1 Tổng quan thế giới
1.4.2 Tổng quan trong nước
Trang 111.4.3 Giới thiệu các công trình nghiên cứu liên quan
1.4.3.1 Phân loại vector hỗ trợ và cây quyết định
1.4.3.2 Xây dựng hệ thống phân loại tiếng việt
1.4.3.3 Phân loại email Spam bằng Matlad áp dụng 6 giải thuật
1.5 KẾT LUẬN CHƯƠNG 1
Trên đây là kết quả nghiên cứu tổng quan liên quan đến học máy, phân lớp dữ liệu và phân loại văn bản, giới thiệu một số công trình nghiên cứu liên quan thông qua đó tìm hiểu các quy trình phân loại văn bản tiếng Việt Trên cơ sở nghiên cứu, đánh giá các vấn đề còn tồn tại, Nội dung của chương là cơ sở quan trọng để triển khai các nội dung nghiên cứu đề xuất sẽ được trình bày trong các chương sau
CHƯƠNG 2
ĐỀ XUẤT CÁC PHƯƠNG PHÁP ÁP DỤNG
2.1 PHÁT BIỂU BÀI TOÁN
2.2 PHÂN TÍCH YÊU CẦU ĐỀ TÀI
Bài toán phân loại văn bản dựa trên học máy có hai hướng nghiên cứu chính Hướng thứ nhất là xây dựng giải thuật học máy mới hoặc cải thiện các giải thuật đã có nhằm nâng cao hiệu suất phân loại Trong hướng tiếp cận đầu tác giả sử dụng các thư viện hỗ trợ trong việc xây dựng thử nghiệm các giải thuật phân loại hiện nay, sau
đó đưa ra các nhận xét, đánh giá các giải thuật và đề xuất phương pháp để áp dụng vào chương trình Hướng thứ hai là tập trung vào tập dữ liệu (huấn luyện và kiểm thử) cùng với việc xử lý chúng để chạy các giải thuật đã có và đánh giá các giải thuật đó Nhiệm vụ hướng tiếp cận thứ hai nằm trong việc thu thập dữ liệu, tiền xử lý dữ liệu và mô hình hóa nó phù hợp với mô hình đầu vào của các giải thuật sẵn có
Trang 122.3 MÔ HÌNH ĐỀ XUẤT
Dựa vào các nghiên cứu đã mô tả ở chương I và theo yêu cầu của bài toán như mô tả ở phần 1.3, ta có thể thấy rằng để việc nhận dạng một văn bản được chính xác, cần phải thực hiện các bước sau:
- Bước 1: Tiền xử lý dữ liệu (Tách từ, loại bỏ từ dừng
(Stopword)
- Bước 2: Biểu diễn văn bản (Trích chọn đặc trưng)
- Bước 3: Huấn luyện tập mẫu
- Bước 4: Phân loại văn bản
Hình 2.1 Mô hình đề xuất
2.4 TIỀN XỬ LÝ VĂN BẢN
2.4.1 Tách từ trong tiếng việt
2.4.2 Một số phương pháp tách từ hiện nay
Tách từ có thể nói là giai đoạn quan trọng nhất, ảnh hưởng đến kết quả của mô hình xử lý Bước này có nhiệm vụ xác định các từ có trong văn bản, kết quả của nó là một tập các từ riêng biệt Việc tách
từ sẽ được thấy rõ qua mô hình sau
Trang 13Hình 2.2 Mô hình tách từ tiếng Việt
a Phương pháp maximum matching
b Phương pháp transformation-based learning (TBL)
c Phương pháp weighted finite-state transducer (WFST)
2.4.3 So sánh các phương pháp tách từ tiếng Việt
2.4.4 Loại bỏ từ dừng
Trong việc phân loại văn bản thì sự xuất hiện của những từ đó không những không giúp gì trong việc đánh giá phân loại mà còn gây nhiễu và giảm độ chính xác của quá trình phân loại Trong luận văn này tác giả tiến hành tách stop word dựa trên tần xuất, và kết quả phân loại sau khi loại bỏ stop word hiệu quả hơn nhiều so với không thực hiện
2.5 CHUYỂN ĐỔI VĂN BẢN TỪ DẠNG NGÔN NGỮ TỰ NHIÊN SANG MÔ HÌNH KHÔNG GIAN VECTOR
Bước đầu tiên của mọi phương pháp phân loại văn bản là chuyển việc mô tả văn bản dùng chuỗi kí tự thành một dạng mô tả khác, phù hợp với các thuật toán học theo mẫu và phân lớp Có nhiều cách để chuyển đổi văn bản từ dạng ngôn ngữ tự nhiên (phi cấu trúc) sang dạng ngôn ngữ máy (ngôn ngữ có cấu trúc) như mô hình Boolean, xác suất… Tuy nhiên, trong đề tài này tác giả chỉ tìm hiểu
và sử dụng phương pháp biểu diễn văn bản theo mô hình không gian