Đề tài Bài toán phân lớp văn bản và áp dụng phân lớp dữ liệu tài chính ngân hàng

Phân lớp văn bản là quá trình gán văn bản một cách tự động vào một hoặc nhiều lớp cho trước. Tự động phân lớp văn bản là một nhiệm vụ rất quan trọng có thể giúp ích trong việc tổ chức cũng như tìm kiếm thông tin trên nguồn tài nguyên lớn. Mặt khác, phân lớp văn bản là một trong những thành phần cơ bản nhưng quan trọng nhất trong kiến trúc tổng thể của hầu hết các máy tìm kiếm. Hiện nay, bài toán này đã và đang trở thành lĩnh vực nhận được nhiều sựquan tâm, nghiên cứu của nhiều nhà khoa học trên thế giới.

pdf54 trang | Chia sẻ: vietpd | Lượt xem: 1707 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Đề tài Bài toán phân lớp văn bản và áp dụng phân lớp dữ liệu tài chính ngân hàng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐH Công Nghệ - ĐH QGHN CNTT Khóa luận tốt nghiệp Lê Thị Thùy Dương LỜI CẢM ƠN Trước tiên, em muốn gửi lời cảm ơn sâu sắc nhất đến thầy giáo, Phó Giáo sư Tiến sĩ Hà Quang Thụy, ThS. Đỗ Cẩm Vân và CN.Trần Mai Vũ, những người đã tận tình hướng dẫn em trong suốt quá trình thực hiện khóa luận tốt nghiệp. Em xin bày tỏ lời cảm ơn sâu sắc đến những thầy cô giáo đã giảng dạy em trong bốn năm qua, những kiến thức mà em nhận được trên giảng đường đại học sẽ là hành trang giúp em vững bước trong tương lai. Em cũng muốn gửi lời cảm ơn đến các anh chị và các bạn trong nhóm seminar về “Khai phá dữ liệu” đã giúp đỡ và cho em những lời khuyên bổ ích về chuyên môn trong quá trình nghiên cứu. Cuối cùng, em muốn gửi lời cảm ơn sâu sắc đến tất cả bạn bè, và đặc biệt là cha mẹ và anh trai, những người luôn kịp thời động viên và giúp đỡ em vượt qua những khó khăn trong cuộc sống. Sinh viên Lê Thị Thùy Dương ĐH Công Nghệ - ĐH QGHN CNTT Khóa luận tốt nghiệp Lê Thị Thùy Dương TÓM TẮT NỘI DUNG Phân lớp văn bản là quá trình gán văn bản một cách tự động vào một hoặc nhiều lớp cho trước. Tự động phân lớp văn bản là một nhiệm vụ rất quan trọng có thể giúp ích trong việc tổ chức cũng như tìm kiếm thông tin trên nguồn tài nguyên lớn. Mặt khác, phân lớp văn bản là một trong những thành phần cơ bản nhưng quan trọng nhất trong kiến trúc tổng thể của hầu hết các máy tìm kiếm. Hiện nay, bài toán này đã và đang trở thành lĩnh vực nhận được nhiều sự quan tâm, nghiên cứu của nhiều nhà khoa học trên thế giới. Khóa luận tốt nghiệp với đề tài “Bài toán phân lớp văn bản và áp dụng phân lớp dữ liệu tài chính ngân hàng” nghiên cứu nội dung, các thuộc tính, các thuật toán giải quyết bài toán phân lớp. Khóa luận tập trung nghiên cứu phương pháp phân lớp văn bản trong lĩnh vực tài chính ngân hàng tiếng Việt dựa trên hướng tiếp cận Entropy cực đại (maxent). Dựa trên việc khảo sát các đặc trưng tiếng Việt, sử dụng mô hình Entropy cực đại, khóa luận đã tiến hành thực nghiệm trên 5 lớp dữ liệu về lĩnh vực tài chính ngân hàng tự đề xuất (Huy động vốn, Tín dụng, Dịch vụ thanh toán, Ngoại tệ, Chứng khoán), kết quả thu được rất tốt với độ đo F1 trung bình là 90.22% và thời gian huấn luyện 0.4594 giây/lần với 10 bước lặp. ĐH Công Nghệ - ĐH QGHN CNTT Khóa luận tốt nghiệp Lê Thị Thùy Dương MỤC LỤC LỜI MỞ ĐẦU ................................................................................................................1 Chương 1. BÀI TOÁN PHÂN LỚP VĂN BẢN..........................................................3 1.1. Khái niệm .................................................................................................3 1.2. Phân loại bài toán phân lớp văn bản.....................................................5 1.3. Mô hình phân lớp văn bản .....................................................................5 1.3.1. Mô hình phân lớp văn bản...............................................................5 1.3.2. Quá trình xây dựng bộ phân lớp văn bản ........................................6 1.3.3. Quá trình tiền xử lý dữ liệu .............................................................7 1.3.3.1. Phương pháp biểu diễn tài liệu.....................................................8 1.3.3.2. Phương pháp lựa chọn thuộc tính...............................................10 1.3.4. Đánh giá ........................................................................................12 1.3.4.1. Đánh giá cho bài toán phân lớp..................................................12 1.3.4.2. Đánh giá dựa vào độ tương tự ....................................................14 Chương 2. CÁC PHƯƠNG PHÁP PHÂN LỚP VĂN BẢN....................................17 2.1. Thuật toán K người láng giềng gần nhất ............................................17 2.2. Mô hình cây quyết định (Decision Tree) .............................................18 2.3. Thuật toán máy hỗ trợ vector (SVM – Suport Vector Machine) .....21 2.4. Mô hình Entropy cực đại ......................................................................26 2.4.1. Định nghĩa nguyên lý entropy cực đại ..........................................26 2.4.2. Các ràng buộc và đặc trưng...........................................................27 2.4.3. Mô hình Entropy cực đại...............................................................27 2.3.4. Entropy cực đại cho phân lớp văn bản ..........................................28 Chương 3. BÀI TOÁN PHÂN LỚP VĂN BẢN TÀI CHÍNH NGÂN HÀNG TIẾNG VIỆT................................................................................................................30 3.1. Một số đặc trưng của dữ liệu tài chính ngân hàng trong tiếng Việt.30 3.2. Xây dựng một số lớp trong lĩnh vực tài chính ngân hàng .................31 3.3. Bài toán phân lớp văn bản tài chính ngân hàng trong Tiếng Việt ...33 ĐH Công Nghệ - ĐH QGHN CNTT Khóa luận tốt nghiệp Lê Thị Thùy Dương 3.3.1. Phát biểu bài toán: .........................................................................33 3.3.2. Phương pháp phân lớp...................................................................34 3.3.3. Mô hình của bài toán phân lớp văn bản tài chính ngân hàng........34 Chương 4. THỰC NGHIỆM VÀ ĐÁNH GIÁ..........................................................38 4.1. Dữ liệu và chương trình........................................................................38 4.2. Môi trường thực nghiệm.......................................................................39 4.3. Thiết kế và kết quả thực nghiệm..........................................................40 4.3.1. Thiết lập thông số cho Entropy cực đại.........................................40 4.3.2. Kết quả thực nghiệm .....................................................................40 4.4. Đánh giá kết quả thực nghiệm .............................................................44 KẾT LUẬN ..................................................................................................................45 TÀI LIỆU THAM KHẢO...........................................................................................46 Tài liệu Tiếng Việt ............................................................................................46 Tài liệu Tiếng Anh............................................................................................46 DANH SÁCH CÁC TỪ DỪNG..................................................................................49 ĐH Công Nghệ - ĐH QGHN CNTT Khóa luận tốt nghiệp Lê Thị Thùy Dương Danh sách hình vẽ và bảng biểu Hình 1. Bài toán phân lớp văn bản ..................................................................................3 Hình 2. Sơ đồ khung một hệ thống phân lớp văn bản .....................................................6 Hình 3. Quá trình xây dựng mô hình được chia thành hai bước .....................................8 Hình 4. Mối quan hệ giữa các siêu phẳng phân cách ......................................................1 Hình 5. Siêu phẳng tối ưu và biên ...................................................................................1 Hình 6. Mô hình bài toán phân lớp dữ liệu tài chính ngân hàng...................................35 Hình 7. Đồ thị biểu diễn sự phụ thuộc của độ đo F1 vào số lần lặp..............................43 Hình 8. Tổng hợp độ đo qua 10 lần huấn luyện ............................................................43 Hình 9. Biểu đồ biểu diễn độ đo F1 của các lớp trong lần lặp thứ 6.............................44 Bảng 1. Phân bố dữ liệu học và kiểm tra.......................................................................38 Bảng 2. Tập dữ liệu huấn luyện.....................................................................................39 Bảng 3. Tập dữ liệu kiểm tra .........................................................................................39 Bảng 4. Tham số huấn luyện mô hình Entropy cực đại ................................................40 Bảng 5. Kết quả 10 lần huấn luyện với Entropy cực đại...............................................41 Bảng 6. Kết quả của bước lặp thứ 6 ..............................................................................42 ĐH Công Nghệ - ĐH QGHN CNTT                         ‐ 1 -  LỜI MỞ ĐẦU Hiện nay, sự phát triển mạnh mẽ của Internet đã dẫn đến sự bùng nổ thông tin về nhiều mặt kể cả nội dung lẫn số lượng. Chỉ bằng một thao tác tìm kiếm đơn giản, ta có thể nhận về một khối lượng khổng lồ các trang web có chứa thông tin liên quan tới nội dung cần tìm kiếm. Tuy nhiên, chính sự dễ dàng này cũng mang đến cho con người rất nhiều khó khăn trong việc chiết lọc ra các thông tin có ích để thu được các tri thức mới. Phát hiện tri thức và khai phá dữ liệu là câu trả lời mới nhất cho vấn đề này nhằm phát hiện ra các tri thức mới từ khối dữ liệu khổng lồ mà con người có được. Trong thời gian gần đây, cùng với sự phát triển của nền kinh tế đất nước là sự phát triển vượt bậc của nền công nghệ thông tin. Tin học đã được áp dụng trong tất cả các lĩnh vực như kinh tế, thương mại, y tế, ngân hàng… Hầu hết các lĩnh vực này đề lưu trữ một cơ sở dữ liệu rất lớn. Các kỹ thuật thống kê truyền thống và các công cụ quản lý dữ liệu trước đây không đáp ứng được nhu cầu phân tích tập dữ liệu lớn này. Từ đòi hỏi đó phải có những phương pháp tiếp cận mới để khai phá tri thức trong các cơ sở dữ liệu. Trong các loại dữ liệu thì dữ liệu văn bản là phổ biến nhất. Khai phá dữ liệu văn bản là sự khảo sát và phân tích một tập lớn các văn bản không có cấu trúc một cách tự động hoặc bán tự động để khám phá ra những tri thức mới. Với lượng thông tin dạng văn bản đồ sộ của Internet, một yêu cầu lớn đặt ra là làm sao tổ chức và tìm kiếm thông tin có hiệu quả nhất. Phân lớp thông tin là một trong những giải pháp hợp lý cho vấn đề nêu trên. Bài toán phân lớp văn bản là một trong những bài toán cơ bản của khai phá dữ liệu văn bản. Cho trước một tập dữ liệu văn bản, bài toán thực hiện quá trình gán nhãn (phân lớp) cho từng tài liệu tương ứng với nội dung của nó thông qua bộ phân lớp. Luận văn tập trung nghiên cứu về bài toán phân lớp văn bản, cụ thể là những văn bản mang thông tin về lĩnh vực ngân hàng, tài chính với mục đích phân lớp cho những tài liệu này theo những lớp ứng dụng cụ thể trong lĩnh vực ngân hàng, tài chính. Vấn đề phân lớp văn bản đã được đặt ra từ rất lâu và đến nay đã có một số phương pháp hiệu quả thực hiện việc phân lớp văn bản… Tuy nhiên việc phân lớp cho dữ liệu tiếng việt về lĩnh vực ngân hàng, tài chính là một bài toán mới và cho đến nay chưa có một kết quả nào được công bố. Thông qua việc tìm hiểu một số phương pháp tiếp cận bài toán thường được sử dụng như phương pháp K-người láng giềng, Máy hỗ trợ vector (SVM – Suport Vector Machine), Phương pháp sử dụng mô hình Entropy cực đại và ĐH Công Nghệ - ĐH QGHN CNTT                         ‐ 2 -  nghiên cứu ưu nhược điểm của từng phương pháp, luận văn hướng tới nghiên cứu áp dụng mô hình Entropy cực đại cho bài toán này. Luận văn bao gồm 4 chương có nội dung khái quát như sau: Chương 1. Bài toán phân lớp văn bản phát biểu và trình bày về 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. Chương này cũng giới thiệu một số phương pháp đánh giá cho bài toán phân lớp và độ đo dựa vào khoảng cách và độ tương tự giữa các lớp. Chương 2. Các phương pháp giải quyết bài toán phân lớp văn bản. Trình bày một số thuật toán phân lớp văn bản điển hình, chỉ ra ưu nhược điểm của từng phương pháp. Qua đó lựa chọn phương pháp tốt nhất để thử nghiệm trong tiếng Việt. Chương 3. Bài toán phân lớp văn bản tài chính ngân hàng. Trình bày các đặc điểm đặc trưng của dữ liệu tài chính ngân hàng, xây dựng tập nhãn (lớp) trong lĩnh vực này và mô tả mô hình phân lớp sử dụng phương pháp Entropy cực đại đối với tập văn bản đó. Chương 4. Thực nghiệm và đánh giá. Trong chương này trình bày các kết quả thực nghiệm thu được khi áp dụng mô hình Entropy cực đại trên tập dữ liệu tài chính ngân hàng tiếng Việt. Đư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 lại những công việc đã thực hiện trong thời gian qua và các 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. ĐH Công Nghệ - ĐH QGHN CNTT                         ‐ 3 -  Chương 1. BÀI TOÁN PHÂN LỚP VĂN BẢN Trích chọn thông tin trên Web đã và đang tạo thêm nhiều tài nguyên thông tin, tri thức mới đáp ứng ngày càng hiệu quả nhu cầu thông tin của con người. Ngày nay, công nghệ trích chọn thông tin trên Web đã hình thành loại hình dịch vụ đầy triển vọng trong việc cung cấp thông tin phong phú và hữu ích từ nguồn dữ liệu được coi là vô hạn trên Web. Một trong những bài toán cơ bản và quan trọng trong trích chọn thông tin trên Web là bài toán phát hiện các quan hệ của các lớp đối tượng. Để thực hiện việc phát hiện mối quan hệ giữa các lớp đối tượng trên Web thì bài toán đầu tiên cần giải quyết đó là bài toán phân lớp tự động các đối tượng. Tự động phân lớp văn bản là một nhiệm vụ rất quan trọng có thể giúp ích trong việc tổ chức cũng như tìm kiếm thông tin trên nguồn tài nguyên lớn. Ngày nay, khi mà sự phát triển và ứng dụng của Internet cực kỳ phổ biến thì khối lượng dữ liệu đã tăng trưởng không ngừng theo cả hai phương diện tạo mới và lưu trữ. Sự phát triển vượt bậc của công nghệ khoa học kỹ thuật và sự mở rộng các dữ liệu khoa học về địa lý, địa chất, khí tượng thủy văn… cùng với việc tin học hóa sâu rộng trong hầu hết các lĩnh vực đã tạo ra một khối lượng dữ liệu khổng lồ. Tự động phân lớp văn bản là một nhiệm vụ rất quan trọng, đặc biệt là trong việc tổ chức cũng như tìm kiếm thông tin trên nguồn tài nguyên lớn này. 1.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. Hình 1. Bài toán phân lớp văn bản Thông thường, các lớp cho trước là các chủ đề nào đó, nhưng cũng có nhiều ứng dụng mà các lớp được thiết lập theo những tiêu chí khác, như phân lớp theo độ ưu tiên, Dữ liệu vào Thuật toán phân lớp hoạt động Lớp 1 Lớp 2 Lớp n ĐH Công Nghệ - ĐH QGHN CNTT                         ‐ 4 -  phân lớp theo chủ đề… Hầu hết các bài toán này sẽ tốn rất nhiều thời gian, công sức và đôi khi không chính xác nếu được phân loại một cách thủ công – tức là đọc từng văn bản và gán vào một lớp nào đó. Đặc biệt với số lượng tài liệu cần phân lớp cực kỳ lớn như hiện nay thì việc phân lớp thủ công là một điều không thể. Phân loại những đối tượng mới vào các lớp bằng phương pháp thủ công gặp phải những khó khăn sau: - Đối với các lĩnh vực đặc biệt, phân loại các đối tượng mới (như cơ sở dữ liệu về y tế, pháp luật, tài chính, ngân hàng... ) vào các lớp cho trước cần có hiểu biết về các lĩnh vực đó. - Phân loại bằng tay đôi khi không chính xác vì quyết định phụ thuộc vào sự hiểu biết và động cơ của người thực hiện. - Quyết định của hai chuyên gia khác nhau có thể nảy sinh bất đồng ý kiến. Vì vậy những công cụ để tự động phân lớp văn bản vào các lớp sẽ rất hữu ích với công việc này nhất là khi thông tin tràn ngập như ngày nay. Một số phương pháp phân lớp thống kê và kĩ thuật học máy như Bayesian, máy vector hỗ trợ (Support Vector Machines), K người láng giềng gần nhất, mạng nơron... được áp dụng để giải quyết bài toán này. Chính vì những nhược điểm của phương pháp thủ công nên việc xây dựng một bộ phân lớp văn bản tự động là một điều rất quan trọng và cần thiết, đặc biệt là khi hầu hết các thông tin được sinh ra và lưu trữ điện tử. Các bài báo khoa học và giải trí là những ví dụ về tập các tài liệu điện tử. Với sự phát triển ngày càng mạnh mẽ của mạng Internet và Intranet đã tạo ra nguồn thông tin vô cùng phong phú. Các kỹ thuật phân lớp văn bản sẽ giúp cho nguồn dữ liệu này đã được lưu trữ tự động một cách hiệu quả và được tìm kiếm nhanh chóng. Phân lớp văn bản được xuất hiện từ những năm 1960, nhưng chỉ 15 năm sau, nó đã trở thành lĩnh vực nghiên cứu chính trong hệ thống thông tin bởi sự đa dạng của các ứng dụng. Phân lớp văn bản là công việc được sử dụng để hỗ trợ trong quá trình tìm kiếm thông tin (Information Retrieval), chiết lọc thông tin (Information Extraction), lọc văn bản hoặc tự động dẫn đường cho các văn bản tới những chủ đề xác định trước. Một ứng dụng khác của phân lớp văn bản là trong lĩnh vực hiểu văn bản. Phân lớp văn bản có thể được sử dụng để lọc văn bản hoặc một phần văn bản chứa dữ liệu cần tìm mà không làm mất đi tính phức tạp của ngôn ngữ tự nhiên. ĐH Công Nghệ - ĐH QGHN CNTT                         ‐ 5 -  Định nghĩa phân lớp văn bản [1]: Phân lớp văn bản là nhiệm vụ đặt một giá trị Boolean cho mỗi cặp (dj, ci) CD×∈ , trong đó D là tập các văn bản và { }ccccC ,..., 21= là tập các lớp cho trước. Giá trị T (true) được gán cho cặp (dj, ci) có nghĩa là tài liệu dj thuộc lớp ci Giá trị F (false) tức là tài liệu dj không thuộc lớp ci Hay nói cách khác, phân lớp văn bản là bài toán tìm một hàm { }FTCD ,: →×Φ trong đó D là tập các văn bản và { }ccccC ,..., 21= là tập các lớp cho trước, hàm { }FTCD ,: →×Φ được gọi là bộ phân lớp. 1.2. Phân loại bài toán phân lớp văn bản Tùy vào những ràng buộc khác nhau để phân loại bài toán phân lớp văn bản. Nhìn chung có thể phân biệt bài toán phân lớp theo hai cách sau: - Phân lớp văn bản nhị phân / đa lớp: Bài toán phân lớp văn bản được gọi là nhị phân nếu |C|=2, gọi là đa lớp nếu |C|>2. - Phân lớp văn bản đơn nhãn / đa nhãn: Bài toán phân lớp văn bản được gọi là đơn nhãn nếu mỗi tài liệu được gán vào chính xác một lớp. Bài toán phân lớp văn bản được gọi là đa nhãn nếu một tài liệu có thể được gán nhiều hơn một nhãn. Trên thực tế, phân lớp hai lớp (phân lớp nhị phân) chỉ là một trường hợp đặc biệt của bài toán phân lớp song do xuất xứ cho nên phân lớp nhị phân có vị trí riêng cả về đặt bài toán lẫn về các giải pháp 1.3. Mô hình phân lớp văn bản 1.3.1. Mô hình phân lớp văn bản Phân lớp văn bản được các nhà nghiên cứu định nghĩa thống nhất như là việc gán tên các chủ đề (tên lớp / nhãn lớp) đã được xác định cho trước vào các văn bản Text dựa trên nội dung của nó. Phân lớp văn bản là công việc được sử dụng để hỗ trợ trong quá trình tìm kiếm thông tin (Information Retrieval), chiết lọc thông tin (Information Extraction), lọc văn bản hoặc tự động dẫn đường cho các văn bản tới những chủ đề xác định trước. Để phân loại văn bản, người ta sử dụng phương pháp học máy có giám sát. Tập dữ liệu được chia ra làm hai tập là tập huấn luyện và tập kiểm tra, trước hết phải ĐH Công Nghệ - ĐH QGHN CNTT                         ‐ 6 -  xây dựng mô hình thông qua các mẫu học bằng các tập huấn luyện, sau đó kiểm tra sự chính xác bằng tập dữ liệu kiểm tra. Hình 2. Sơ đồ khung một hệ thống phân lớp văn bản Hình trên biểu diễn một sơ đồ khung một hệ thống phân lớp văn bản, trong đó bao gồm ba thành phần chính: - Biểu diễn văn bản, tức là chuyển các dữ liệu văn bản thành một dạng có cấu trúc nào đó, tập hợp các mẫu cho trước thành một tập huấn luyện. - Thực hiện việc sử dụng các kỹ thuật học máy để học trên các mẫu huấn luyện vừa biểu diễn. Như vậy việc biểu diễn ở giai đoạn thứ nhất sẽ là đầu vào cho giai đoạn thứ hai. - Thực hiện bổ sung các kiến thức thêm vào do người dùng cung cấp để làm tăng độ chính xác trong biểu diễn văn bản hay trong quá trình học máy. Trong nhiều trường hợp, các phương pháp học hệ thống phân lớp có thể bỏ qua thành phần này. Như vậy thành phần thứ ba được coi là trung tâm của một hệ thống phân lớp văn bản. Trong phần này, có nhiều phương pháp học máy được áp dụng như mô hình mạng Bayes, cây quyết định, phương pháp K người láng giềng gần nhất, mạng