Khai phá dữliệu
Trang 1LỜ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
Trang 2TÓ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
Trang 3MỤ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
Trang 43.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
Trang 5Danh 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
Trang 6LỜ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à
Trang 7nghiê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
Trang 8Chươ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 phân lớp hoạt Thuật toán
động
Lớp 1 Lớp 2
Lớp n
Trang 9phâ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
Trang 10Đị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 (d j , c i ) ∈D×C , trong đó D là tập các văn bản và C ={c1,c2, c c}
là tập các lớp cho trước
Giá trị T (true) được gán cho cặp (d j , c i ) có nghĩa là tài liệu d j thuộc lớp c i
Giá trị F (false) tức là tài liệu d j không thuộc lớp c i
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
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
Trang 11xâ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 Neuron, SVM, mô hình Maximum Entropy
1.3.2 Quá trình xây dựng bộ phân lớp văn bản
Quá trình phân lớp dữ liệu thường gồm hai bước: xây dựng mô hình (tạo bộ phân lớp) và sử dụng mô hình đó để phân lớp dữ liệu Các công cụ phân lớp được xây dựng dựa trên một thuật toán phân lớp qua bước học quy nạp Trong bước học, hệ
Trang 12thống có tập dữ liệu đầu vào D t (tập ví dụ) mà thuộc tính lớp của mỗi tài liệu (ví dụ) trong tập đó đã biết Tại bước học, tập dữ liệu ban đầu được chia thành hai tập dữ liệu rời nhau, một tập được gọi là tập dạy (training set) và một tập được gọi là tập kiểm tra
(test set) Thông thường tập training chiếm 2/3 các ví dụ trong D t, còn tập test chiếm 1/3 số lượng ví dụ còn lại Hệ thống dùng tập training để xây dựng mô hình (xác định tham số) phân lớp và dùng tập dữ liệu test để đánh giá thuật toán phân lớp vừa được thiết lập Quá trình hai bước như sau:
- Bước 1: Xây dựng mô hình Một mô hình sẽ được xây dựng dựa trên phân tích các đối tượng dữ liệu đã được gán nhãn từ trước Tập các mẫu dữ liệu này còn được gọi là tập dữ liệu huấn luyện (training data set) Các nhãn lớp của tập dữ liệu huấn luyện được xác định bởi con người trước khi xây dựng mô hình, vì vậy phương pháp này còn được gọi là học có giám sát (supervised learning) Trong bước này, chúng ta còn phải tính độ chính xác của mô hình, mà còn phải sử dụng một tập dữ liệu kiểm tra (test data set) Nếu độ chính xác là chấp nhận được, mô hình sẽ được sử dụng để xác định nhãn lớp cho các dữ liệu khác mới trong tương lại Trong việc test lại mô hình, sử dụng các độ đo để đánh giá chất lượng của tập phân lớp, đó là độ hồi tưởng, độ chính xác, độ đo
- Bước 2: Sử dụng mô hình Sử dụng mô hình được xây dựng ở bước 1 để phân lớp dữ liệu mới
Như vậy, thuật toán phân lớp là một ánh xạ từ miền dữ liệu đã có sang một miền giá trị cụ thể của thuộc tính phân lớp, dựa vào giá trị các thuộc tính của dữ liệu
1.3.3 Quá trình tiền xử lý dữ liệu
Phân lớp văn bản là quá trình gồm hai bước, với mục đích phân các tài liệu văn bản vào các lớp hữu hạn có trước Trong bước thứ nhất, một mô hình của bộ phân lớp được xây dựng bằng cách phân tích nội dung các trang văn bản trong tập dữ liệu huấn luyện thông qua việc áp dụng các thuật toán học Tập dữ liệu huấn luyện là tập hợp các
Trang 13trang văn bản trong cơ sở dữ liệu đã gán nhãn từ trước Trong bước thứ hai, mô hình này được sử dụng cho việc phân lớp các trang văn bản chưa được gán nhãn
Để xây dựng mô hình trong bước thứ nhất, thông thường, được chia ra làm hai bước chính sau:
Văn bản Biểu diễn logic
Cây phân cấp
Mô hình
Hình 3 Quá trình xây dựng mô hình được chia thành hai bước
- Tiền xử lý dữ liệu: là quá trình biểu diễn văn bản thành một dạng biểu diễn logic mà thuật toán có thể xử lý được (ví dụ, dạng biểu diễn vector của văn bản)
- Học các bộ phân lớp: sử dụng các thuật toán phân lớp để xây dựng mô hình từ
dữ liệu đã qua tiền xử lý
1.3.3.1 Phương pháp biểu diễn tài liệu
Trong bài toán phân lớp văn bản, cách biểu diễn văn bản đóng vai trò rất lớn Một tài liệu được biểu diễn dưới dạng một tập hợp các từ, mỗi từ được xem là một thuộc tính hoặc đặc trưng và văn bản tương ứng với một vector thuộc tính Đôi khi, thay vì những từ đơn, các thuộc tính có thể được biểu diễn bằng các cụm từ hoặc chuỗi
n từ với n >= 2 Dễ nhận thấy, nhiều thuộc tính phức tạp có thể giàu thông tin hơn Ví
dụ, cụm từ “world wide web” mang nhiều thông tin hơn từng từ riêng biệt Tuy nhiên, trong thực hành, sử dụng n-grams dẫn tới việc có quá nhiều số lượng thuộc tính và có thể làm việc giải quyết bài toán khó khăn hơn Theo các nghiên cứu về phương pháp biểu diễn văn bản khác nhau, đặc biệt là khi so sánh ảnh hưởng và hiệu quả của nó thì không có cách biểu diễn văn bản nào tốt hơn cách biểu diễn bằng tập các từ riêng biệt được lấy ra từ văn bản gốc
Sau khi xác định được các thuộc tính, chúng ta cần tính giá trị thuộc tính (hoặc
trọng số từ khóa) cho mỗi văn bản Mỗi từ khóa t i trong một tài liệu D j được gán một
trọng số w ij và do đó, mỗi tài liệu được biểu diễn như một vector Trọng số từ khóa có thể được tính toán bằng nhiều cách khác nhau Cách đơn giản nhất là gán trọng số bằng một giá trị nhị phân chỉ ra từ khóa có mặt hay không có mặt trong văn bản, tức là
giá trị trọng số w ij là 1 nếu từ khóa t i xuất hiện ít nhất một lần trong tập tài liệu D j và
w ij là 0 trong trường hợp ngược lại – Đây là mô hình Boolean Phương pháp khác là
Trang 14tính số lần xuất hiện của từ khóa trong một tài liệu gọi là tần suất từ khóa Tần suất từ khóa được tính theo công thức:
N
D t occ D
t freq(k, j) = ( k, j)
Trong đó N là tổng số từ khóa của tài liệu D j và occ(t k ,D j ) là số lần xuất hiện của
từ t k trong văn bản D j Phương pháp này được gọi là phương pháp dựa trên tần số từ
khóa (TF – Term Frequency)
Phương pháp này có vẻ rất trực quan nhưng mặt hạn chế của phương pháp này là: nếu một từ xuất hiện nhiều lần trong tài liệu sẽ có tần xuất cao Tuy nhiên nếu những
từ này đều xuất hiện trong tất cả các văn bản thì nó sẽ không mang nhiều thông tin ngữ nghĩa của văn bản và do đó độ quan trọng của nó giảm đi
Ví dụ, khi văn bản xuất hiện nhiều từ khóa “máy tính”, điều đó có nghĩa là văn bản đang xét chủ yếu liên quan đến lĩnh vực “Tin học” Nhưng suy luận trên không phải lúc nào cũng đúng Một ví dụ điển hình là từ “chúng tôi” xuất hiện nhiều lần trong văn bản, nhưng trên thực tế từ này lại không mang nhiều ý nghĩa như tần suất xuất hiện của nó
Thông thường tần suất của các từ khóa trong văn bản không đồng đều nhau Một
số từ khóa xuất hiện rất thường xuyên, trong khi đó, một nửa số từ khóa xuất hiện chỉ một lần Để giải quyết hạn chế này, Phương pháp dựa trên nghịch đảo tần số văn bản
(IDF – Inverse Document Frequency) với tần suất logarit (tương tự với tần suất từ
khóa) được đề xuất và tính theo công thức:
)),(1
log(
),(t k D j freq t k D j
Hay giá trị của từ khóa t i được tính theo công thức:
)log(
)log(
Trong đó, m là số lượng văn bản và df i là số lượng văn bản trong hệ thống có
chứa từ khóa t i Trọng số w ij trong công thức này được tính dựa trên độ quan trọng của
từ khóa t i trong văn bản d j Nếu t i xuất hiện trong càng ít văn bản, điều đó có nghĩa khi
nó xuất hiện trong văn bản d j thì trọng số của nó đối với văn bản dj càng lớn hay nó là
điểm quan trọng để phân biệt văn bản d j với các văn bản khác và hàm lượng thông tin trong nó càng lớn
Trang 15Phương pháp dựa trên nghịch đảo tần số văn bản IDF được sử dụng phổ biến hơn
phương pháp dựa trên tần số IF, nhưng phương pháp này vẫn chưa giải quyết triệt để
hạn chế của phương pháp tần số từ khóa Theo đó, một từ xuất hiện nhiều lần có tần suất cao, từ xuất hiện ít có tần số thấp
Phương pháp chuẩn thường được sử dụng là Term Frequency Inverse Document Frequency ( IFIDF), hàm tính trọng số từ khóa được xác định bởi công thức:
l d
l
df
m freq
TFIDF, , * log
Trong đó, tần suất từ khóa l trong tài liệu d : freq l,d là số lần xuất hiện của từ khóa
l trong tài liệu d
Tần suất văn bản df l là số văn bản trong tập tài liệu có chứa từ khóa l
m là tổng số tài liệu học
Trọng số TFIDF của một từ khóa biểu diễn độ quan trọng của từ khóa TFIDF
của một từ khóa trong một tài liệu sẽ giảm nếu như từ đó xuất hiện trong hầu hết các văn bản Vì vậy, một từ xuất hiện quá ít hoặc quá nhiều được đánh giá ít quan trọng hơn so với các từ xuất hiện cân bằng
Trọng số TFIDF của một từ khóa trong toàn bộ tập tài liệu m được tính bởi công
thức:
∑
= TFIDF l d
1.3.3.2 Phương pháp lựa chọn thuộc tính
Kích cỡ của tập từ vựng của tập hợp văn bản thường rất lớn Việc xử lý các vector thuộc tính đòi hỏi các thuật toán được tính toán mở rộng và có thể đôi khi không thể tính toán được đối với một số thuật toán học Bên cạnh đó, nhiều thuộc tính không mang thông tin, nhập nhằng hoặc bị nhiễu, do đó có thể dẫn tới bộ phân lớp đạt được kết quả tốt trên dữ liệu học nhưng không tốt trên dữ liệu kiểm tra (overfitting) Lựa chọn thuộc tính là quá trình chọn ra những thuộc tính mang nhiều thông tin nhất trong không gian thuộc tính và loại bỏ những thuộc tính nhiễu Để giải quyết vấn
đề này, quá trình lựa chọn thuộc tính được tiến hành bằng cách chỉ giữ những từ khóa
có giá trị về thông tin Vì vậy, vấn đề phát hiện các từ khóa không quan trọng phải được giải quyết để thu được không gian từ khóa T' ⊂T với |T’| << |T|
Trang 16Trong học máy, một số kỹ thuật chính sau đây được xây dựng cho quá trình lựa chọn thuộc tính [16]:
Kỹ thuật thứ nhất thực hiện các phương pháp lọc (filtering) trên tập thuộc tính ban đầu Với phương pháp này, kết quả thu được từ tính toán thống kê được sử dụng
để loại bỏ những từ khóa không thích hợp Sau đó, bộ phân lớp được huấn luyện trên không gian từ khóa đã được rút gọn Với chiến lược lựa chọn từ khóa này, có một vài phương pháp như: lựa chọn từ khóa theo tần suất văn bản (Document Frequency), độ
đo thông tin qua lại (Mutual Information)
- Tần suất văn bản: Tần suất của văn bản là số tài liệu mà một từ khóa xuất hiện Để lựa chọn từ khóa theo phương pháp tần suất văn bản thì cần phải tính tần suất văn bản với mỗi từ khóa trong tập tài liệu học và sau đó loại bỏ những
từ khóa có tần suất nhỏ hơn một ngưỡng nào đó để thu được không gian từ khóa nhỏ hơn Đây là kỹ thuật đơn giản nhất để làm giảm số lượng tập thuộc tính
- Độ đo thông tin qua lại (MI): Là phương pháp được sử dụng khá phổ biến để
lựa chọn tập thuộc tính dựa vào mô hình thống kê Với mỗi cặp từ khóa t và lớp c, độ đo thông tin qua lại được tính theo công thức sau:
c t
c t c
t I
PrPr
)Pr(
log,
N A c
t I
+
×+
×
≈ log,
Trong đó:
- A là số lần từ khóa t và lớp c đồng thời xuất hiện
- B là số lần từ khóa t xuất hiện mà không thuộc c
- C là số lần c xuất hiện mà không chưa t
Trang 17gian từ khóa mới được sinh ra bằng việc thêm hoặc bớt từ Khi một tập hợp từ khóa mới được tạo ra, bộ phân lớp dựa vào đó để xây dựng và sau đó kiểm tra trên tập dữ liệu kiểm tra Tập dữ liệu cho kết quả tốt nhất sẽ được chọn Không gian từ khóa tốt nhất được tạo ra cho thuật toán phân lớp Phương pháp này tạo thuận lợi cho thuật toán phân lớp Tuy nhiên hạn chế của phương pháp này là sự phức tạp trong tính toán Ngoài việc lựa chọn các thuộc tính mang nhiều thông tin từ tập thuộc tính ban đầu, quá trình lựa chọn thuộc tính có thể tạo ra các thuộc tính mới (ví dụ các khái niệm) để thay thế cho một nhóm các thuộc tính thông qua kỹ thuật phân cụm Nhóm các từ có sự giống nhau về ngữ nghĩa sẽ được xem là một thuộc tính mới thay thế cho các từ đơn lẻ Với phương pháp này, cần xác định độ tương tự giữa các từ và áp dụng
các kỹ thuật phân cụm như k người láng giềng gần nhất
1.3.4 Đánh giá
1.3.4.1 Đánh giá cho bài toán phân lớp
Đánh giá kết quả phương pháp phân lớp văn bản có thể được tính toán theo nhiều cách khác nhau Theo khảo sát của Sebastiani [3], độ đo phổ biến nhất được sử dụng
để đánh giá phân lớp là độ hồi tưởng và độ chính xác
Kí hiệu:
Dữ liệu thực
Lớp C i
Thuộc lớp C i Không thuộc lớp C i
- TNi (true negatives): số lượng ví dụ âm được thuật toán phân đúng vào lớp C i
- FPi (false positives): số lượng ví dụ dương được thuật toán phân sai vào C i
- FNi (false negatives): số lượng ví dụ âm được thuật toán phân sai vào C i
Trang 18Độ chính xác Pri của lớp Ci là tỷ lệ số ví dụ dương được thuật toán phân lớp cho giá trị đúng trên tổng số ví dụ được thuật toán phân lớp vào lớp C i:
i i
Độ hồi tưởng Reicủa lớp C ilà tỷ lệ số ví dụ dương được thuật toán phân lớp cho giá trị đúng trên tổng số ví dụ dương thực sự thuộc lớp C i:
i i
i i
FP TP
TP
+
= Re
Dựa vào độ chính xác và độ hồi tưởng chuẩn của mỗi lớp, độ chính xác và độ hồi tưởng cho toàn bộ các lớp, tức là {C1,C2, ,C m} có thể thu được bằng hai cách: cực tiểu
trung bình (Micro-Average) và cực đại trung bình (Macro-Average)
i
TP Pr
i
TP Re
Pr Pr
Re Re
- Break-Even Point (BEP): BEP được đề xuất bởi Lewis [3], xác định điểm mà tại đó độ chính xác và độ hồi tưởng bằng nhau Tuy nhiên, trong một số trường hợp không thể xác định được BEP Ví dụ, nếu chỉ có vài dữ liệu dương
và rất nhiều dữ liệu âm, khi đó độ hồi tưởng sẽ cao hơn rất nhiều so với độ chính xác, khi đó không thể xác định được BEP
Trang 19- Độ đo Fβ: độ đo Fβ được đề xuất bởi Rijbergen [3] Nó là độ đo đơn giản được tính từ độ chính xác và độ hồi tưởng phụ thuộc vào độ quan trọng mà người dùng định nghĩa ( )β Thông thường, β = 1 Công thức tính độ đo Fβlà:
Re Pr
Re Pr 1
- Độ chính xác trung bình của 11 điểm: độ chính xác là nội suy của 11 điểm mà
độ hồi tưởng là 0.0, 0.1, … , 1.0 Độ đo này được sử dụng khi phương pháp phân lớp tính hạng tài liệu phù hợp với một lớp hoặc lớp tương tự với một tài liệu
Bên cạnh độ chính xác và độ hồi tưởng, một số độ đo phổ biến khác cũng được
sử dụng như: tỉ lệ đúng (Accuracy) và tỉ lệ lỗi (Error) kí hiệu là Ac ivà Er icủa lớp C i:
i i i
i i i
FN FP TP
FN TP Ac
+ +
+
=
i i
i i i
i i
FN FP TN TP
TN FP
+ + +
+
1.3.4.2 Đánh giá dựa vào độ tương tự
Nếu phương pháp A và B đều không phân tài liệu vào đúng lớp C i của nó, nhưng phương pháp A phân vào lớp tương tự với lớp C i hơn thì phương pháp A được đánh giá là tốt hơn so với phương pháp B Vì vậy, Sun và Lim [3] đã mở rộng định nghĩa độ chính xác và độ hồi tưởng chuẩn để đánh giá bộ phân lớp A và B
Độ tương tự giữa hai lớp C i và C k, kí hiệu là CS(C i,C k) có thể được tính bằng nhiều cách khác nhau
Trong phân lớp văn bản, nếu mỗi tài liệu được biểu diễn là một vector thuộc tính:
Trang 20N n n n
N n
n n k
i
v w
v w C
C CS
2 2
C C CS ASC
m i
m i k
k i
Trong đó t n là chỉ số từ khóa và w n và v n là trọng số từ khóa
Dựa vào độ đo tương tự, chúng ta có thể tính mức độ đúng của việc tài liệu d j
được gán vào lớp C i Trường hợp đơn giản nhất là d j được gán vào đúng lớp C i , tức
là do d j∈TP i, d j được tính là một trong công thức tính độ chính xác và độ hồi tưởng
của lớp C i Tuy nhiên, nếu d j không được gán nhãn đúng (tức là d j∈FP i) chúng ta
sẽ xem xét độ tương tự của các lớp mà d j được gán nhãn với lớp C i bằng cách tính phân phối của d j đối với lớp C i , kí hiệu là Con(d j,C i) theo công thức:
ACS
ACS C
C CS C
d
i i
Trong đó, d j.agd là các lớp mà d j được gán vào
Tương tự, nếu d j là dữ liệu âm và thuật toán phân đúng vào lớp C i , tức là
C CS C
d
i i
trung bình ACS Chú ý rằng một tài liệu có thể thuộc nhiều hơn một lớp Phân phối của
một tài liệu d j với lớp C i được hạn chế trong đoạn [-1,1] Vì vậy, phân phối cải tiến
(Refined - Contribution), kí hiệu RCon(d j,C i) được xác định:
(d j C i) ( ( Con(d j C i) ) )
Rcon , = min 1 , max − 1 , ,
Trang 21Với tất cả các tài liệu thuộc FP i , tổng phân phối FpCon i sẽ là:
i j
i j
i
i i
i CS
i
FpCon TN
TP
TnCon FpCon
TP
++
++
= max0,Pr
Recall:
i i
i
i i
i CS
i
TnCon FP
TP
TnCon FpCon
TP
++
++
=max 0,Re
Ngoài ra, chúng ta cũng có thể đánh giá dựa vào khoảng cách giữa các lớp [3] Thay vì sử dụng độ tương tự giữa các lớp, chúng ta sử dụng độ đo khoảng cách giữa
các lớp Khoảng cách giữa hai lớp C i và C k , kí hiệu là Dis(C i , C k ) được định nghĩa là số đường liên kết giữa C i và C k Nếu đường liên kết càng ngắn thì hai lớp càng gần nhau
hơn Từ đó, có thể tính được độ hồi tưởng, độ chính xác và độ đo F dựa vào khoảng
cách giữa các lớp
Trang 22Chương 2 CÁC PHƯƠNG PHÁP PHÂN LỚP VĂN BẢN
Phân lớp văn bản là quá trình gán nhãn các văn bản ngơn ngữ tự nhiên vào một hoặc nhiều lớp từ tập các lớp hữu hạn cho trước Hiện nay tồn tại rất nhiều thuật tốn phân lớp văn bản như: thuật tốn K người láng giềng gần nhất, thuật tốn học cây quyết định [4][5][7], thuật tốn Nạve Bayes, thuật tốn máy hỗ trợ vector [13][11][14][12][16], thuật tốn Boosting, Mơ hình Maximum Entropy[15][16][2]… Chương này sẽ giới thiệu một số thuật tốn điển hình, trong đĩ tập trung vào thuật tốn Maximum Entropy
2.1 Thuật tốn K người láng giềng gần nhất
Bộ phân lớp dựa trên thuật tốn K người láng giềng gần nhất là một bộ phân lớp dựa trên bộ nhớ, đơn giản vì nĩ được xây dựng bằng cách lưu trữ tất cả các đối tượng trong tập huấn luyện Để phân lớp cho một điểm dữ liệu mới x, trước hết bộ phân lớp
sẽ tính khoảng cách từ điểm dữ liệu trong tập huấn luyện Qua đĩ tìm được tập N(x, D, k) gồm k điểm dữ liệu mẫu cĩ khoảng cách đến x là gần nhất Ví dụ nếu các dữ liệu
mẫu được biểu diễn bởi khơng gian vector thì chúng ta cĩ thể sử dụng khoảng cách
Euclian để tính khoảng cách giữa các điểm dữ liệu với nhau Sau khi xác định được tập N(x, D, k), bộ phân lớp sẽ gán nhãn cho điểm dữ liệu x bằng lớp chiếm đại đa số trong tập N(x, D, k) Mặc dù rất đơn giản, nhưng thuật tốn K người láng giềng gần
nhất đã cho kết quả tốt trong nhiều ứng dụng thực tế
Để áp dụng thuật tốn K người láng giềng vào tài liệu văn bản, chúng ta sử dụng hàm tính trọng số cho mỗi lớp theo biểu thức :
o score( | ) = ( | ), ∈
¾ Phương pháp K người láng giềng gần nhất là một phương pháp đươn giản Tuy nhiên, thuật tốn này ổn định và sai sĩt thấp khi số văn bản trong tập văn bản láng giềng phải lớn
Trang 232.2 Mô hình cây quyết định (Decision Tree)
Trong lý thuyết quyết định, một cây quyết định là một đồ thị những quyết định
và những kết quả có khả năng của chúng (bao gồm cả giá phải trả và độ rủi ro) được
sử dụng để tạo ra một đường đi tới đích [4] Cây quyết định là một dạng đặc biệt của cấu trúc cây được xây dựng để trợ giúp việc ra quyết định
Trong lĩnh vực học máy, cây quyết định là một mô hình dự đoán, có nghĩa là từ việc quan sát các item để rút ra kết luận về giá trị đích của item đó Mỗi nút bên trong tương đương với một biến, mỗi cung đi tới một nút con tương ứng với giá trị có thể của biến đó Các là tương ứng với giá trị đích được dự đoán cho các biến Kỹ thuật học máy sử dụng việc xây dựng cây quyết định trên tập dữ liệu được gọi là học cây quyết định hay đơn giản chỉ là cây quyết định
Học cây quyết định cũng là một phương pháp rất thông dụng trong khai phá dữ liệu Trong đó cây quyết định mô tả cấu trúc cây mà ở đó các lá đại diện cho các lớp
và các nhánh cây biểu diễn sự kết hợp của các đặc trưng dẫn dắt tới việc phân lớp Một cây quyết định có thể được học bằng cách chia tập nguồn thành các tập con dựa trên giá trị các thuộc tính kiểm tra [4], [5] Quá trình này được lặp lại trên từng tập con thu được Quá trình đệ quy sẽ kết thúc khi không thể chia tiếp được nữa hoặc khi từng phần tử của tập con được gán với một lớp đơn [5]
Cây quyết định được mô tả bằng cách tính toán xác suất có điều kiện Cây quyết định cũng có thể được mô tả như là một kỹ thuật tính toán và hỗ trợ toán học, kỹ thuật này hỗ trợ việc mô tả, phân loại và khái quát tập dữ liệu đưa vào Dữ liệu đưa vào dạng ghi có dạng:
(x, y) = (x 1 , x 2 , … ,x k , y ) Biến phụ thuộc y là biến mà chúng ta cố gắng để biết, phân lớp hay tổng quát hóa, còn các biến x 1 , x 2 ,… là các biến giúp ta thực hiện công việc đó
Để xây dựng được cây quyết định của tập dữ liệu nào đó chúng ta phải hiểu được khái niệm độ đo Entropy và Information Gain (Lợi ích thông tin)
Khái niệm lượng thông tin và độ đo Entropy:
Khái niệm lượng thông tin được Shanon (nhà toán học, nhà vật lý) [7] đưa ra
năm 1948 thông qua khái niệm trung gian là “độ bất định” trong dự án khả năng xảy ra trước khi nhận được thông tin Sau khi nhận được thông tin, nếu độ bất định giảm đi thì có thể coi lượng thông tin nhận được là bằng mức độ giảm đi của độ bất định Nếu
Trang 24dự đoán càng nhiều tình huống có thể xảy ra thì độ bất định trong dự báo càng lớn
Tuy nhiên Shanon cũng cho rằng trong n tình huống dự đoán có thể xảy ra không nhất thiết cả n tình huống đều có khả năng xảy ra như nhau, do vậy công thức tính độ bất
định do ông đưa ra có tính tới các xác suất khác nhau của dự báo Độ đo entropy của
biến ngẫu nhiên rời rạc x với n trạng thái có thể 1, 2, … , n là:
i p i
p i
p i
p x
1log)()
(
Công thức này hoàn toàn trùng với công thức tính Entropy trong nhiệt động học
do nhà toán học Boltzmann người áo đưa ra
Theo nguyên lý thứ 2 của nhiệt động học thì một hệ kín, không có trao đổi năng lượng bên ngoài tất yếu sẽ chuyển động đến trạng thái cân bằng tới khi các bộ phận cấu thành của hệ thống đó giống nhau, đồng nhất và mất đi cấu trúc hay là tan vỡ trật
tự và trở nên hỗn độn
Entropy là đại lượng để đo trạng thái mất trật tự, mất cấu trúc trong hệ thống Độ
đo entropy luôn là một số dương [7]
Lợi ích thông tin (Information Gain)
Gain(S, A) là lợi ích thông tin mà thuộc tính A mang lại cho sự phân lớp tập S A
S A
S
Gain
1
)(
|
|
|
|),
Khởi tạo cây một đỉnh gốc
Toàn bộ tập ví dụ huấn luyện D đều đi vào đỉnh này
Trang 25Bước 2:
Repeat
Chọn một đỉnh lá chưa gán nhãn để phát triển gọi là đỉnh hiện thời
Giả sử tập ví dụ huấn luyện đi vào đỉnh này là S
2.1 If (S = rỗng)
Then (gán nhãn chung nhất trong D)
Else
2.2 if (tất cả các ví dụ trong S đều được gán cùng một nhãn c)
Then (đỉnh hiện thời được gán nhãn c)
Tập ví dụ huấn luyện đi tới đỉnh mới đó là Sv trong đó
Sv = {s ∈ S | s có giá trị của thuộc tính A là v}
Until (tất cả các đỉnh của cây đều được gán nhãn)
¾ So với các phương pháp khác trong Data Mining, phương pháp cây quyết định có những ưu điểm nổi bất như:
- Rất dễ hiểu và dễ giải thích: mọi người đều có thể hiểu mô hình cây quyết định qua một số giải thích tổng quát ban đầu
- Dữ liệu dùng cho cây quyết định chỉ là những dữ liệu căn bản hoặc có thể không cần thiết Một số kỹ thuật khác có thể đòi hỏi dữ liệu chuẩn, tạo các biến giả và loại bỏ đi các giá trị trống
- Có khả năng xử lý cả dữ liệu thực và dữ liệu mập mờ Một số kỹ thuật khác chỉ sử dụng những tập dữ liệu đặc biệt chẳng hạn như mạng nơron có thể chỉ
sử dụng các biến là số
Trang 26- Có thể kiểm chứng mô hình bằng cách thử thống kê
- Có khả năng thực hiện tốt đối với dữ liệu lớn trong thời gian ngắn: một lượng lớn dữ liệu có thể được phân tích bằng máy tính cá nhân trong thời gian ngắn
đủ để người sử dụng đưa ra quyết định dựa trên sự phân tích đó
Tuy nhiên sử dụng phương pháp cây quyết định có thể xảy ra hiện tượng overfit,
tức là tồn tại một giả thuyết h phù hợp với tập ví dụ huấn luyện nhưng tiên đoán không chính xác bằng giả thuyết h’ ít phù hợp với tập ví dụ huấn luyện hơn so với h
Để giải quyết vấn đề này chúng ta phải dùng cách chặt bớt cây (pruning), bỏ bớt
đi các nhánh dữ liệu nhiễu và dư thừa…
2.3 Thuật toán máy hỗ trợ vector (SVM – Suport Vector Machine)
Thuật toán máy vector hỗ trợ (Support Vector Machines - SVM) được Corters
và Vapnik giới thiệu vào năm 1995 [13] 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 [13], 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
Cho tập dữ liệu học D={( , ),x y i i i =1, ,n} với m
i
x ∈R và y i∈ −{ }1,1 là một số nguyên xác định x i là dữ liệu dương hay âm Một tài liệu x i được gọi là dữ liệu dương nếu nó thuộc lớp c i; x i được gọi là dữ liệu âm nếu nó không thuộc lớp c i Bộ phân lớp tuyến tính được xác định bằng siêu phẳng:
{x f x: ( ) =w T +w0 = 0}Trong đó w R∈ m và w0 ∈R đóng vai trò là tham số của mô hình Hàm phân lớp
nhị phân h R: m →{ }0,1 có thể thu được bằng cách xác định dấu của f(x) :
h x ⎧
= ⎨
⎩
Nếu f(x) > 0 ngược lại
Trang 27tách rời tuyến tính (linearly separable) nếu tồn tại một siêu phẳng sao cho hàm phân
lớp phù hợp với tất cả các nhãn; tức là y f x i ( ) 0i > với mọi i = 1, ,n Với giả thuyết
này, Rosenblatt đã đưa ra một thuật toán đơn giản để xác định siêu phẳng :