DSpace at VNU: Xây dựng bộ phân lớp các văn bản sử dụng thuật toán Maximum Entropy trên miền dữ liệu tội phạm tài liệu,...
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
LÊ ANH TRUNG
XÂY DỰNG BỘ PHÂN LỚP CÁC VĂN BẢN SỬ DỤNG THUẬT TOÁN MAXIMUM ENTROPY
TRÊN MIỀN DỮ LIỆU TỘI PHẠM
Ngành:
Chuyên ngành:
Mã số:
LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚNG DẪN KHOA HỌC: Tiến sĩ Nguyễn Trí Thành
Hà Nội – 2015
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
LÊ ANH TRUNG
XÂY DỰNG BỘ PHÂN LỚP CÁC VĂN BẢN SỬ DỤNG THUẬT TOÁN MAXIMUM ENTROPY
TRÊN MIỀN DỮ LIỆU TỘI PHẠM
LUẬN VĂN THẠC SĨ
HÀ NỘI – 2015
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
LÊ ANH TRUNG
XÂY DỰNG BỘ PHÂN LỚP CÁC VĂN BẢN SỬ DỤNG THUẬT TOÁN MAXIMUM ENTROPY
TRÊN MIỀN DỮ LIỆU TỘI PHẠM
Chuyên ngành : Hệ thống Thông tin
LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS NGUYỄN TRÍ THÀNH
HÀ NỘI – 2015
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan luận văn “Xây dựng bộ phân lớp các văn bản sử dụng thuật toán Maximum Entropy trên miền dữ liệu tội phạm” là công trình nghiên cứu của riêng tôi
Các số liệu, kết quả được trình bày trong luận văn là hoàn toàn trung thực và chưa từng được công bố trong bất cứ một công trình nào khác
Tôi đã trích dẫn đầy đủ các tài liệu tham khảo, công trình nghiên cứu liên quan ở trong nước và quốc tế Ngoại trừ các tài liệu tham khảo này, luận văn là công việc của riêng tôi
Hà Nội, tháng 6 năm 2015
Tác giả luận văn
Lê Anh Trung
Trang 4LỜI CẢM ƠN
Trước tiên, tôi xin được gửi lời cảm ơn và lòng biết ơn sâu sắc nhất tới Thầy giáo, PGS TS Nguyễn Trí Thành, người đã tận tình chỉ bảo, hướng dẫn, động viên và giúp
đỡ tôi trong suốt quá trình thực hiện luận văn tốt nghiệp
Tôi xin gửi lời cảm ơn tới ThS Nguyễn Minh Tiến, anh đã nhiệt tình giúp đỡ, hỗ trợ và chỉ bảo tôi trong quá trình thực nghiệm của luận văn
Cuối cùng, tôi muốn gửi lời cảm ơn tới bố mẹ hai bên gia đình, vợ và đặc biệt là con gái - những người thân yêu luôn bên cạnh quan tâm, động viên tôi trong suốt quá trình học tập và thực hiện luận văn tốt nghiệp này
Tôi xin chân thành cảm ơn!
Hà Nội, tháng 6 năm 2015
Lê Anh Trung
Trang 5MỤC LỤC
Chương 1 8
1.1 Bài toán phân lớp văn bản 8
1.2 Xây dựng bộ phân lớp văn bản Error! Bookmark not defined 1.3 Quá trình tiền xử lý dữ liệu Error! Bookmark not defined 1.4 Đánh giá bài toán phân lớp Error! Bookmark not defined 1.5 Tổng kết Error! Bookmark not defined Chương 2 Error! Bookmark not defined 2.1 Phương pháp sử dụng hệ luật Error! Bookmark not defined 2.1.1 Luật cú pháp Error! Bookmark not defined 2.1.2 Luật ngữ nghĩa (lexico-sematic) Error! Bookmark not defined 2.2 Phương pháp sử dụng học máy Error! Bookmark not defined 2.2.1 Thuật toán K-người láng giềng gần nhất Error! Bookmark not defined 2.2.2 Mô hình cây quyết định Error! Bookmark not defined 2.2.3 Thuật toán máy hỗ trợ vector (SVM - Support Vector Machine)Error! Bookmark not defined 2.2.4 Mô hình Entropy cực đại (Maximum Entropy) Error! Bookmark not defined. 2.2.4.1 Nguyên lý Entropy cực đại……… .25
2.2.4.2 Các ràng buộc và đặc trưng……… 25
2.2.4.3 Mô hình Entropy cực đại ……… … 26
2.2.4.4 Entropy cực đại cho phân lớp văn bản….……… … 27
2.2.4.5 Xây dựng các đặc trưng ……… ……27
2.2.4.6 Ưu điểm của mô hình Maximum Entropy……… …… 29
2.3 Tổng kết Error! Bookmark not defined
Chương 3 Error! Bookmark not defined
3.1 Một số đặc trưng của dữ liệu văn bản tiếng Việt Error! Bookmark not defined
3.2 Xây dựng các lớp trong miền dữ liệu tội phạm Error! Bookmark not defined
3.2.1 Khái niệm tội phạm theo bộ luật hình sự Error! Bookmark not defined
3.2.2 Các lớp tội danh được xây dựng trong thực tế bài toán.Error! Bookmark not defined
3.3 Phát biểu bài toán phân lớp các văn bản miền dữ liệu tội phạm trên văn bản tiếng
Việt Error! Bookmark not defined
3.4 Tổng kết Error! Bookmark not defined
Trang 6Chương 4 Error! Bookmark not defined 4.1 Dữ liệu chương trình Error! Bookmark not defined 4.2 Kết quả thực nghiệm Error! Bookmark not defined 4.3 Tổng kết Error! Bookmark not defined TỔNG KẾT Error! Bookmark not defined
Trang 7DANH SÁCH CÁC BẢNG
Bảng 1: Các công cụ và phần mềm……… 41
Bảng 2: Kết quả pha phát hiện……… 41
Bảng 3: Kết quả pha phân lớp……… 42
Bảng 4: Kết quả pha phân lớp trực tiếp……… 43
Trang 8DANH SÁCH HÌNH VẼ
Hình 1: Biểu đồ tăng trưởng dữ liệu Internet tới năm 2020 9
Hình 2: Dữ liệu được sinh ra mỗi phút trên Internet… 10
Hình 3: Mô hình bài toán phân lớp văn bản… 11
Hình 4: Sơ đồ hoạt động bộ phân lớp văn bản… 12
Hình 5: Mô tả thuật toán SVM… 23
Hình 6: Quá trình phân lớp và phát hiện văn bản 37
Hình 7: Quá trình phân lớp trực tiếp văn bản… 38
Trang 9LỜI NÓI ĐẦU
Thời đại hiện nay - thời đại của Internet, với sự ảnh hưởng đi vào mọi ngóc ngách của đời sống và tác động đến hầu hết cá nhân trong xã hội Internet đã thay đổi hoàn toàn cách sống của con người và thực sự là công cụ hết sức hữu ích phục vụ cho hầu hết các lĩnh vực đời sống Gần đây, với sự suất hiện ngày càng nhiều của các thiết bị thông minh và xu hướng điều khiển, cập nhật các thiết bị thông qua Internet, cụm từ “Internet
of Things” đã được sử dụng ngày càng phổ biến, cho thấy xu hướng của tương lai thế giới – mọi thứ đều được kết nối vào Internet Do vậy, có thể nói rằng gần như mọi tri thức của nhân loại đều có thể tìm thấy được bởi nguồn dữ liệu khổng lồ sinh ra từ Internet, gồm các dạng dữ liệu về văn bản, hình ảnh, video
Dữ liệu văn bản, được lưu trên các websites với vô số các chủ đề, thể loại và dữ liệu ở các website này cũng tăng lên một cách chóng mặt do sự bùng nổ của thông tin từ Internet Mọi thông tin từ lớn đến nhỏ, từ chính trị, kinh tế, xã hội đến giải trí, giáo dục… đều được cập nhật hàng ngày, hằng giờ trên các website này Việc tìm kiếm được thực hiện bằng một thao tác đơn giản với các từ khóa, tuy nhiên thông tin nhận lại được
từ Internet là một khối lượng đồ sộ Do vậy thông tin tuy rất lớn nhưng việc khai thác các thông tin này một cách có hiệu quả là một việc làm không hề đơn giản Khai phá dữ liệu văn bản và phát hiện ra tri thức từ khối dữ liệu khổng lồ này là bài toán nhận được nhiều quan tâm trong thời gian gần đây
Khai phá dữ liệu văn bản là sự phân tích và trích lọc các thông tin từ một tập dữ liệu văn bản lớn một cách tự động hoặc bán tự động để tìm thấy được các tri thức có lợi trong quá trình tìm kiếm thông tin Phân lớp văn bản là một bài toán cơ bản và quan trọng của khai phá dữ liệu văn bản, đây là công việc gán văn bản vào một hay một số nhóm chủ đề đã được biết trước Được mô tả bằng quá trình tập dữ liệu văn bản đầu vào, sau khi qua bộ phân lớp, sẽ được gán nhãn tương ứng với nội dung của nó
Luận văn tập trung nghiên cứu về bài toán phân lớp văn bản, với miền dữ liệu quan tâm là về miền dữ liệu tội phạm Bao gồm các bước trình bày, giới thiệu về bài
Trang 10toán, các phương pháp tiếp cận để giải quyết bài toán và kết quả thực nghiệm trong quá trình nghiên cứu Lý do tác giả chọn miền dữ liệu về tội phạm, do nhu cầu về phân lớp, tổng hợp các tài liệu liên quan đến miền dữ liệu này là việc làm cần thiết, có thể sử dụng các kết quả này trong việc phân tích, báo cáo xu hướng về các loại tội phạm Qua
đó có thể tra cứu thông tin hiệu quả, rút ngắn thời gian xử lý các vụ án, đảm bảo an ninh, trật tự xã hội Cấu trúc luận văn được chia thành các chương như sau:
Chương 1: Giới thiệu về bài toán phân lớp văn bản trên miền dữ liệu về tội phạm
trong văn bản tiếng Việt từ các bài báo trên Internet Chương này trình bày cơ bản về khai phá dữ liệu văn bản nói chung và phân lớp văn bản nói riêng, trong bối cảnh bùng
nổ của công nghệ thông tin và mạng Internet Về khối lượng thông tin mà người sử dụng tiếp cận so với những thông tin có ích mà người dùng thực sự cần thiết Tiếp theo giới thiệu về ý nghĩa của bài toán phân lớp thông tin tội phạm trên văn bản tiếng Việt từ các nguồn trên Internet
Chương 2: Trình bày các phương pháp tiếp cận để giải quyết bài toán Chương
này trình bày các phương pháp để giải quyết bài phân lớp văn bản Bao gồm các phương pháp sử dụng luật và sử dụng học máy Trong phương pháp sử dụng học máy, tác giả cũng trình bày các thuật toán được áp dụng như Người láng giềng gần nhất (K-Nearest Neighbor), mô hình cây quyết định, thuật toán máy hỗ trợ vector (SVM – Support Vector Machine), mô hình Entropy cực đại (Maximum Entropy) Luận văn cũng đưa ra đánh giá đối với từng phương pháp và đưa ra lý do khi quyết định sử dụng phương pháp Maximum Entropy
Chương 3: Trình bày về các đặc trưng của dữ liệu văn bản tiếng Việt, các lớp tội
danh được xây dựng trong quá trình phân lớp Cuối cùng là phát biểu cụ thể bài toán phân lớp văn bản trên miền dữ liệu tội phạm Chương 3 cũng trình bày cụ thể về hai mô hình của bài toán mà luận văn nghiên cứu, mô hình thứ nhất là phát hiện bài báo có liên quan đến miền dữ liệu đang xét, sau đó mới phân lớp Mô hình thứ hai là phân lớp trực tiếp cho các bài báo dữ liệu đầu vào
Trang 11Chương 4: Áp dụng thực tế, trình bày kết quả và đánh giá Chương này mô tả quá
trình thực nghiệm và đánh giá kết quả của phương pháp đề xuất dựa trên hai mô hình của bài toán được trình bày ở chương 3
Tổng kết: Phần tổng kết sẽ là phần đánh giá kết quả của luận văn, các kết quả của thực nghiệm, những hạn chế và hướng phát triển trong tương lai
Trang 12Chương 1
GIỚI THIỆU VỀ BÀI TOÁN PHÂN LỚP VĂN BẢN
Trong chương này tác giả sẽ trình bày giới thiệu về bài toán phân lớp văn bản, quá trình xây dựng bộ phân lớp văn bản, quá trình tiền xử lý dữ liệu và cách đánh giá với bài toán phân lớp mà tác giả đang thực hiện
1.1 Bài toán phân lớp văn bản
Công nghệ thông tin đã tác động mạnh mẽ đến sự phát triển của tất cả các ngành nghề trong đời sống xã hội và đặc biệt là sự ra đời của Internet Đây thực sự là cuộc cách mạng vĩ đại vì một trong số các ứng dụng nổi bật của Internet là Word Wide Web
đã mang lại cho chúng ta một kho kiến thức mà không một bộ bách khoa toàn thư hay một hệ thống thư viện nào có thể so sánh được
Theo Oracle – công ty hàng đầu về hệ quản trị cơ sở dữ liệu, dữ liệu trên Internet
từ năm 2008 đến năm 2020 sẽ tăng theo cấp số mũ, và đạt đến con số 45ZB (Zettabyte - 1ZB = 270 B) vào năm 2020 [10] Thời đại hiện nay của Internet là thời đại của những Big Data, Cloud Computing hay Internet of Things Dữ liệu được sinh ra ở khắp mọi nơi trên Internet, từ mạng xã hội, từ các website, các trang chia sẻ nội dung, email… và với nhiều dạng dữ liệu khác nhau như text, âm thanh, hình ảnh… Độ tăng trưởng của
dữ liệu cũng tăng lên cấp số mũ do công nghệ lưu trữ phát triển cùng với sự bùng nổ của Internet và số lượng người dùng khổng lồ trên khắp thế giới Theo báo cáo Visual Networking Index của Cisco [11], tổng lưu lượng truyền tải dữ liệu của mạng Internet toàn cầu trong năm 2010 là 20.2 exabyte mỗi tháng, tương đương với 242 exabyte mỗi năm Lưu lượng truyền tải dữ liệu trên Internet toàn cầu đã tăng gấp 8 lần chỉ trong 5 năm (từ 2006 đến 2010), và được dự báo sẽ tăng thêm 4 lần nữa – có thể đạt mức xấp xỉ
1 zettabyte (1 nghìn exabyte) tại thời điểm năm 2015 Chúng ta hiện đang ngập tràn trong dữ liệu nhưng việc tìm kiếm chính xác thông tin cần thiết lại là điều khó khăn
Trang 13Hình 1: Biểu đồ tăng trưởng dữ liệu Internet tới năm 2020
Theo trang https://www.domo.com/ [12] hiện nay với 2.4 tỉ người dùng Internet trên thế giới, lượng dữ liệu được tính toán trong một phút trên Internet là những con số khổng lồ Ví dụ trong một phút, có 72 giờ video mới được chia sẻ trên YouTube,
2460000 nội dung mới được cập nhật trên mạng xã hội FaceBook hay hơn 4 triệu câu truy vấn từ trang tìm kiếm Google… Mỗi ngày, con người tạo ra khoảng 2.5 * 1018 byte
dữ liệu Khoảng 90% dữ liệu trên thế giới ngày nay được tạo ra chỉ trong 2 năm vừa qua Gần đây, với sự phát triển mạnh mẽ của các thiết bị thông minh, khái niệm Internet
of Things lại càng được nhắc đến và cho thấy viễn cảnh của tương lai công nghệ thế giới Khi đó mọi vật đều được cung cấp định danh và khả năng tự động truyền tải dữ liệu thông qua mạng Internet mà không cần sự tương tác giữa con người với con người hoặc con người với máy tính “Thing” – sự vật – trong Internet of Things, có thể là một con người với màn hình cấy ghép tim, một động vật trong trang trại với bộ tiếp sóng chip sinh học, một chiếc xe ô tô tích hợp các cảm biến để cảnh báo lái xe khi lốp quá non – hoặc bất kỳ đồ vật nào do tự nhiên sinh ra hoặc do con người sản xuất ra mà có thể được gán với một địa chỉ IP và được cung cấp khả năng truyền tải dữ liệu qua mạng
Trang 14lưới Như vậy ta có thể nhìn thấy được trong tương lai, lượng dữ liệu sinh ra mỗi giây, mỗi phút trên Internet là vô cùng lớn và đa dạng
Hình 2: Dữ liệu được sinh ra mỗi phút trên Internet
Từ các con số như trên, ta thấy rằng dữ liệu Internet đang có xu hướng bùng nổ một cách mạnh mẽ, tuy nhiên để người dùng có được các tri thức hay các thông tin cần thiết với nguồn dữ liệu Internet khổng lồ thì không phải điều dễ dàng Do vậy, khai phá
dữ liệu, mà ở đây là khai phá dữ liệu văn bản với đối tượng là nội dung trang web, cụ thể là nội dung các bài báo trên website với một chủ đề cụ thể là hết sức quan trọng Phân lớp văn bản là một trong số các bài toán nằm trong công việc khai phá dữ liệu văn bản, có ý nghĩa quan trọng trong việc tổ chức cũng như tìm kiếm thông tin trên nguồn
dữ liệu lớn
Trang 15TÀI LIỆU THAM KHẢO
Tiếng Việt
[1] Nguyễn Hưng (2013), Tìm hiểu về mô hình không gian Vector, http://butchiso.com/
[2] Minh-Tien Nguyen and Tri-Thanh Nguyen (2013) Extraction of disease events for a real-time monitoring system In SoICT, Danang, Vietnam
[3] Nguyễn Minh Tiến (2014), Trích chọn sự kiện dịch bệnh cho hệ thống giám sát trực tuyến, Luận văn thạc sĩ Công nghệ Thông tin, Trường Đại học Công nghệ, Đại học Quốc
gia Hà Nội, tr.12-14
[4] Nguyễn Văn Chức (2010), Thuật toán K láng giềng gần nhất, http://bis.net.vn
[5] Lưu Tuấn Anh (2012),Thuật toán Cây quyết định, (Nature Language Processing)
http://viet.jnlp.org/
[6] Trần Cao Đệ và Phạm Nguyên Khang (2012), Phân loại văn bản với máy học vector
hỗ trợ và cây quyết định, Tạp chí Khoa học, trường Đại học Cần Thơ, tr 52 – 63
[7] Lưu Tuấn Anh (2012),Thuật toán Entropy cực đại, (Nature Language Processing)
http://viet.jnlp.org/
[8] Maxreading (2010), Đại cương về tiếng Việt, www.maxreading.com
[9] Quốc hội (2009), Bộ luật hình sự, sửa đổi bổ sung 2009/QH12, Hệ thống văn bản quy
phạm pháp luật, http://www.moj.gov.vn/
Tiếng Anh
[10] Austin Wentzlaff (2014),“Big Data and Mobile Banking Applications”, Business Development Analyst
[11] Cisco (2014), “Forecast and Methodology 2014–2019”, Cisco Visual Networking Index
[12] Josh James (2014), “Data Never Sleeps 2.0”, https://www.domo.com/
[13] Python Course (2014), “Text Categorization and Classification”, http://www.python-course.eu
[14] Hamish Cunningham (2002) “Gate, a general architecture for text engineering In