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.
54 trang |
Chia sẻ: vietpd | Lượt xem: 1707 | Lượt tải: 3
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