Phần lớn dữ liệu được lưu trữ dưới dạng văn bản nên phân lớp văn bản là bài toán hết sức phổ biến trong ngành khai phá dữ liệu và máy học và đã được ứng dụng rỗng rãi trong nhiều lĩnh vự
Trang 1Nghiên cứu các phương pháp xác định cấu trúc cây tổng quát cho phân đa lớp văn bản
BÁO CÁO TĨM TẮT
Đề tài đã thực hiện:
- Nghiên cứu tổng quan và chi tiết các phương pháp và các thuật tốn về phân lớp thơng tin (văn bản) như cây quyết định, phương pháp k-láng giềng, phương pháp SVM, FSVM, phương pháp nạve bayes…So sánh và đánh giá các phương pháp phân lớp thơng tin đã nghiên cứu Nghiên cứu tổng quan về các chiến lược phân đa lớp như phương pháp OAO, phương pháp OAR, phương pháp HAH, phương pháp DDAG, phương pháp ADAG
- Thử nghiệm kết hợp thuật tốn SVM với các chiến lược phân đa lớp như OAO, OAR, HAH, DDAG và ADAG
- Kết quả thử nghiệm và dữ liệu thu thập được trên mơ hình nghiên cứu và xây dựng được đánh giá tương đối khá tốt cĩ thể ứng dụng phục vụ bài tốn phân đa lớp văn bản
- Bài báo “A Combination method based on characteristics of feature for feature selection in text categorization” được chấp nhận trong kỷ yếu đăng tại hội nghị ACIS 2014(The third asian conference on information systems) từ 1-3/12/2014 tại Nha Trang do IEEJ, JAIST, ĐHBK, ĐHNT và Viện John Von Neuman đồng tổ chức và tài trợ Bài báo “Local vector space model for multi-class text classification” được chấp nhận trong kỷ yếu đăng tại hội nghị RIVF 2015 (The
2015 IEEE RIVF International Conference on Computing & Communication Technologies) từ 25-28/01/2015 tại ĐH Cần Thơ do ĐHBK, ĐHCT và IEEE đồng
tổ chức và tài trợ
- Bài báo “Sử dụng lý thuyết tập thơ cho việc tạo cấu trúc cây HAH trong phân lớp
đa lớp” được chấp đăng tại tạp chí khoa học trường Đại học Sư Phạm TpHCM (ISSN 1859-3100) Bài báo “Improving multi-class text classification method combined the SVM classifier with OAO and DDAG strategies” được chấp nhận đăng bởi tạp chí JCIT (Journal of Convergence Information Technology – ISSN: 1975-9320) của Advance Institute of Convergence IT
- Đào tạo 6 sinh viên kỹ sư CNPM và 3 Thạc sĩ chuyên ngành KHMT
Trang 2ABSTRACT
The subject researched about:
- Researching the general and detail about algorithms to classify as decision tree algorithm, k-NN algorithm, SVM algorithm, FSVM algorithm, Nạve bayes algorithm…To compare and evaluate these algorithms to classify documents Overview of the general methods about multi-classification strategy such as OAO method, OAR method, HAH method, DDAG method, ADAG method
- Testing the SVM algorithm combined with multi-classification strategy such as OAO, method, OAR method, HAH method, DDAG method, ADAG method
- Test results and data collected on research model are relatively good evaluation can
be applied to documents multi-classification problem
- The article "A Combination Characteristics of the method based on feature for feature selection in text categorization" was accepted in the conference proceedings published in ACIS 2014 (The third Asian conference on information systems) 1-3 / 12/2014 at NhaTrang by IEEJ, JAIST, University of Technology-VNU-HCM, NhaTrang University and John von Neumann Institute co-organizers and sponsors The article "Local vector space model for multi-class text classification" was accepted in the conference proceedings published in RIVF 2015 (The 2015 IEEE RIVF International Conference on Computing & Communication Technologies) 25-28/01/2015 at CanTho University by Polytechnic, CanTho University and IEEE co-organizers and sponsors
- The article “Using the rough set theory for creating HAH tree structure for multi layer” was accepted in scientific journal of HCMC University of Pedagogy (ISSN 1859-3100) The article “Improving multi – class text classification method combined with the SVM classifier with OAO and DDAG strategies” acceptable published by JCIT of Advanced Institute of Convergence IT (Journal of Convergence Information Technology – ISSN:1975-9320)
- Training 6 software engineering graduated students and 3 masters of computer science
Trang 3I NGHIÊN CỨU CÁC PHƯƠNG PHÁP PHÂN LỚP DỮ LIỆU
Trong thời đại bùng nổ dữ liệu và thông tin, đặc biệt là sự ra đời của internet, dữ liệu được phát triển theo cấp số nhân, vì thế khả năng nhận lĩnh dữ liệu trở nên vô cùng to lớn đi cùng với sự phát triển như vũ bão của máy tính, đặc biệt là phần cứng
Internet là một kho thông tin khổng lồ của cả thế giới Các thông tin mà nó cung cấp thuộc mọi ngành, mọi lĩnh vực, các thông tin này ngày càng phong phú và được cập nhật liên tục thông qua các trang Web Có rất nhiều các ứng dụng được phát triển để khai thác kho thông tin khổng lồ này Tuy nhiên, bước đầu tiên mà cũng là quan trọng nhất là phải nhận biết và lấy ra phần thông tin mang nội dung chính trên các trang web bên cạnh các thông tin về trình bày, định dạng
Đã có rất nhiều nghiên cứu về khai thác thông tin trên Internet như tìm kiếm, phân loại các trang Web theo yêu cầu dựa vào từ khóa hoặc ngữ nghĩa của câu truy vấn đạt kết quả rất khả quan Ngoài ra, việc khai thác thông tin từ nguồn dữ liệu quan hệ đã và đang được phát triển mạnh mẽ với nhiều kết quả rất khả quan trong các ứng dụng như:
Hỗ trợ ra quyết định, thống kê, dự báo, … với các kỹ thuật như: Cây quyết định,giải thuật di truyền, mạng Nơron, … Điều này được chứng minh thông qua việc phát triển mạnh mẽ các hệ quản trị cơ sở dữ liệu nổi tiếng như Microsoft SQL Server, Oracle,
hỗ trợ rất tốt những tính năng trên Những ứng dụng này đòi hỏi số lượng dữ liệu đầu vào rất lớn
Khai thác nguồn dữ liệu này trên internet không dễ dàng vì nhiều lý do như các trang web có thể là tài sản và là sở hữu của các cơ quan, công ty, tổ chức, và thường chỉ được trình bày ở dạng rời rạc và thường đã được xử lý nên khó sử dụng được trực tiếp Ngoài ra chỉ bằng một thao tác tìm kiếm đơn giản, người sử dụng 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 đến nội dung tìm kiếm
Vì thế nó mang đến cho người sử dụng rất nhiều khó khăn trong việc chắ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 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 các dữ liệu thì văn bản là loại dữ liệu phổ biến mà con người thường gặp phải nhất Với sự bùng nổ thông tin và phát triển mạnh mẽ của Internet như hiện nay thì việc phân lớp dữ liệu lại càng có vai trò tích cực và vô cùng quan trọng Phần lớn dữ liệu được lưu trữ dưới dạng văn bản nên phân lớp văn bản là bài toán hết sức phổ biến trong ngành khai phá dữ liệu và máy học và đã được ứng dụng rỗng rãi trong nhiều lĩnh vực như: truy vấn và rút trích thông tin, tổ chức phân cấp dữ liệu web, lọc spam mail, định tuyến thư điện tử, xác định thể loại văn bản,
Phân lớp văn bản là bài toán cơ bản trong khai phá dữ liệu văn bản Các hệ thống phân lớp văn bản là các hệ thống phải có khả năng xác định, khai phá ra nội dung thông tin của các văn bản một cách 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 tài nguyên trên nguồn tài nguyên lớn này 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 Phân lớp văn bản là việc gán tên các chủ đề (tên lớp/nhãn lớp) đã được xác trước, vào các văn bản dựa trên nội dung của chúng
Trang 4Phâ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, chiết lọc thông tin, 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
Các hệ thống phân lớp có thể có thể ứng dụng trong việc phân loại tài liệu của của các thư viện điện tử, phân loại văn bản báo chí trên các trang điện tử,…những hệ thống tốt, cho ra kết quả khả quan, giúp ích nhiều cho con người
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.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, 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
á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
Trang 5Internet 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
Biểu diễn văn bản là phương pháp thể hiện văn bản dưới một dạng thức nào đó mà giải thuật học hiểu và sử dụng được các dạng thức này Văn bản đơn thuần là chuỗi các kí
tự, ở dạng nguyên thủy này chỉ có con người mới có thể hiểu được chúng Vì vậy các giải thuật yêu cầu các văn bản phải phải được chuyển hóa sao cho phù hợp với giải thuật học
Định nghĩa phân lớp văn bản
Phân lớp văn bản là đặt một giá trị Boolean cho mỗi cặp , trong đó D
là tập các văn bản và C là tập các lớp cho trước
‐ Văn bản thuộc vào lớp khi cặp gán giá trị là TRUE
‐ Văn bản không thuộc vào lớp khi cặp gán giá trị là FALSE
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 Φ:D×C → {T , F} trong
đó D là tập các văn bản và C = {c1,c2,…cm} là tập các lớp cho trước, hàm Φ:D×C →
{T , F} được gọi là bộ phân lớp
Phân loại
Tùy vào những ràng buộc khác nhau ta có thể có nhiều cách phân loại bài toán phân lớp văn bản khác nhau 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 lớp
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
Một sô thuật toán biểu diễn văn bản
Việc mô tả lại văn bản được coi là một khâu quan trọng trong quá trình xử lý văn bản Mỗi tài liệu được mô tả như một chuỗi các ký tự, cần phải được biến đổi thành
Trang 6những mô tả phù hợp với nhiệm vụ và thuật toán xử lý văn bản Có rất nhiều phương pháp biểu diễn văn bản, mỗi phương pháp thích hợp với từng bài toán cụ thể Phương pháp biểu diễn bằng vector là phương pháp 1 trong các phương pháp biểu diễn được quan tâm nhiều nhất hiện nay do các tính chất và ưu điểm của nó Báo cáo đề cập đến phương pháp biểu diễn văn bản theo không gian vector dựa vào tần suất, vì đây được coi là một hướng tiếp cận tương đối đơn giản và rất hiệu quả
để biểu diễn văn bản
Trong mô hình tần xuất, ma trận W={wij} được xác định dựa trên tần số xuất hiện của thuật ngữ ti trong văn bản dj hoặc trong toàn bộ tập văn bản D
a Phương pháp dựa trên tần số thuật ngữ (TF-Term Frequency)
Các giá trị wijđược xác định dựa trên tần số (hay số lần) xuất hiện của thuật ngữ trong văn bản Gọi fijlà tần số của thuật ngữ titrong văn bản dj, thì wij có thể được tính bởi một trong số các công thức sau:
w ij = f ij
w ij = 1+log(f ij)
w ij= f ij Trong phương pháp này, trọng số wijtỷ lệ thuận với số lần xuất hiện của thuật ngữ titrong văn bản dj, wijcàng lớn thì văn bản dj càng phụ thuộc nhiều vào thuật ngữ ti.
Tuy nhiên, cũng có những từ xuất hiện nhiều lần trong văn bản, nhưng nó lại không có ý nghĩa nhiều đối với văn bản như tần số xuất hiện của nó Phương pháp IDF trình bày sau đây, phần nào khắc phục nhược điểm của phương pháp
) log(
i ij
h m
h
m
Trong đó, m là số lượng văn bản, hilà số các văn bản có chứa thuật ngữ ti
Trọng số wijtrong công thức này cho ta biết độ quan trọng của thuật ngữ titrong văn bản dj Nếu wijcàng lớn, thì số lượng văn bản chứa ti càng ít Điều đó có nghĩa là ti là thuật ngữ quan trọng để phân biệt văn bản djvới các văn bản khác trong cơ sở dữ liệu
c Phương pháp TF × IDF
Phương pháp này, thực chất là sự kết hợp của phương pháp TF và phương pháp IDF Theo phương pháp này, trọng số wijđược tính bằng tần số xuất hiện của thuật ngữ titrong văn bản djvà khả năng xuất hiện của thuật ngữ titrong các văn bản khác, cụ thể:
nếu ti xuất hiện trong dj
nếu ngược lại
Trang 71 log
) log(
i
ij ij
h h
m f
Trong phần này đề tài đã trình bày và phân tích các bước tiền xử lý văn bản bao gồm: thuật toán tách từ, phương pháp lựa chọn đặc trưng và biểu diễn văn bản Kết quả của các bước này là mỗi văn bản diđã được biểu diễn bằng một vector
x i =(w i1 , w i2 , , w in ), w ij là trọng số của từ t j trong văn bản d i Quá trình phân loại
văn bản không thực hiện trực tiếp với các văn bản d imà thực hiện trên các vector
x i Tiếp theo, chúng ta sẽ xem xét một số phương pháp phân loại văn bản
Một số thuật toán phân loại văn bản
1.1 Hướng tiếp cận hệ chuyên gia
Theo E Feigenbaum : "Hệ chuyên gia (Expert System) là một chương trình máy tính thông minh sử dụng tri thức (knowledge) và các thủ tục suy luận (inference procedures) để giải những bài toán tương đối khó khăn đòi hỏi những chuyên gia mới
giải được"
Hướng tiếp cận hệ chuyên gia việc phân lớp sẽ được tiến hành thủ công dựa trên các tập luật định nghĩa bởi các chuyên gia về thể loại tài liệu, văn bản đó, chủ yếu dựa trên luật kết hợp
Hệ chuyên gia có dạng:
If (DNF formula) then (class)
Một công thức DNF (“Disjunctive Normal Form”) là hợp của các mệnh đề liên kết,
tài liệu được phân loại vào category nếu nó thỏa mãn công thức, nghĩa là, nếu nó
thỏa mãn ít nhất một mệnh đề trong công thức Một ví dụ nổi tiếng cho cách tiếp cận này là hệ thống CONSTRUE [Hayes et al 1990], xây dựng bởi Carnegie Group cho tập tin tức Reuters Sau đây, là một ví dụ về luật được sử dụng trong CONSTRUE:
If ((wheat & farm) or (wheat & commodity)
or (bushels & export) or (wheat & tonnes)
or (wheat & winter & ¬ soft))
then WHEAT
else ¬ WHEAT
Để xây dựng các luật này, người ta dùng các phương pháp như khám phá luật kết hợp (dựa trên ý kiến của các chuyên gia), sau đó chọn lọc lại các luật với điều kiện vế phải chứa các giá trị phân lớp, hoặc xây dựng cây quyết định từ đó suy ra các luật
Cách tiếp cận hệ chuyên gia có một số lợi điểm như: Có khả năng trả lời với mức độ ngang bằng hoặc cao hơn chuyên gia trong cùng lĩnh vực, Các vấn đề được giải quyết một cách dễ hiểu, nhất quán
Tuy nhiên cách tiếp cận này gặp khó khăn là khi các phân lớp thay đổi chẳng hạn như tăng số phân lớp thì tập luật cũng cần được cập nhật lại một cách thủ công bởi chính
nếu nếu ngược lại
Trang 8những chuyên gia đó Điều này làm mất rất nhiều thời gian và nếu phân lớp rất lớn thì công việc sẽ diễn ra kém hiệu quả
Ngoài ra điều trở ngại của cách tiếp cận này là hạn chế trong quá trình thu nhận tri thức từ tài liệu của các hệ thống chuyên gia Nghĩa là, các luật phải được định nghĩa bằng tay bởi kỹ sư tri thức với sự giúp đỡ của chuyên gia về lĩnh vực được nêu trong tài liệu: nếu tập hợp của các loại được cập nhật, thì hai nhà chuyên gia phải can thiệp lại, và nếu phân loại được chuyển hoàn toàn sang một phạm vi khác, một chuyên gia
về lĩnh vực này cần thiết phải can thiệp vào và công việc phải được bắt đầu lại từ tập tài liệu hỗn tạp ban đầu
1.2 Cách tiếp cận bằng các phương pháp máy hoc
Đầu thập kỷ 90, cách tiếp cận máy học (Machine Learning) để phân lớp văn bản được coi là nổi tiếng và trở thành thống trị, ít nhất là trong cộng đồng người nghiên cứu Trong kỹ thuật máy học, bài toán phân lớp là hoạt động học có giám sát, quá trình học được “giám sát” bởi tri thức của các phân loại và của các mẫu huấn luyện thuộc chúng Với phương pháp máy học, sự cố gắng về phương diện công việc của
kỹ sư theo hướng không phải xây dựng một phân lớp mà xây dựng một phân lớp tự động (học) từ một tập hợp các tài liệu đã được phân loại bằng tay Trong các tiếp cận máy học, các tài liệu đã được phân lớp trở thành nguồn Trường hợp thuận lợi nhất, chúng đã có sẵn, khi đó quá trình phân loại bắt đầu bằng việc học từ tập dữ liệu này, sau đó sẽ thực hiện phân loại tự động với các tài liệu khác Trường hợp ít thuận lợi, không có sẵn tài liệu đã phân loại bằng tay; khi đó quá trình phân loại bắt đầu một hành động phân loại và chọn một phương pháp tự động ngay lập tức Do
đó, cách tiếp cận máy học là thuận lợi hơn cách tiếp cận kỹ sư tri thức
Các phân lớp xây dựng theo nghĩa của kỹ thuật máy học ngày nay gây được ấn tượng về mức độ hiệu quả, khiến cho phân lớp tự động trở thành một lựa chọn tốt để thay thế phân loại bằng tay (không chỉ về phương diện kinh tế) Chúng ta có thể hình dung các công việc của bài toán phân lớp văn bản dựa trên kỹ thuật máy học như sau:
Trang 9Hính 1.2 Bài toán phân lớp văn bản dựa trên kỹ thuật máy học
Cách tiếp cận máy học dựa trên một tập dữ liệu có sẵn từ đầu Ω= {d1, …, d|Ω| }
D, trong đó D tập tất cả các tài liệu đã được phân lớp trước, djlà văn bản thứ j, Tập các lớp C={c1, …, c|C|}, cilà kí hiệu của lớp thứ i Hàm :DxC T,F với mọi
xC c
d j, i , Một tài liệu dj là mẫu dương của cinếu d,c T là một mẫu âm nếu d,c F
Với mỗi cách phân lớp được đưa ra, người ta mong muốn đánh giá được hiệu quả phân lớp của chúng Vì thế, trước khi xây dựng phân lớp người ta chia tập dữ liệu ban đầu thành 2 tập hợp:
Tập huấn luyện Tr={d 1 , …, d |TV| } Phân lớp Φ cho các phân lớp C={c 1 , …, c |C| }
được xây dựng quy nạp dựa trên sự quan sát các đặc trưng của các tài liệu trong
Tr
Tập kiểm tra Te={d |TV+1| , …d | | }, được sử dụng để kiểm tra hiệu quả của phân lớp Mỗi d j∈T e được đưa vào hệ thống phân lớp để xác định giá trị, và so sánh giá trị này với quyết định d, c của chuyên gia Hiệu quả của phân lớp dựa trên
sự phù hợp giữa d, c và d, c Số tài liệu trong tập luyện và tập kiểm tra thường được chọn theo tỷ lệ tương ứng là 70% và 30% Trong đó, Tr Te, nếu điều kiện này bị vi phạm thì kết quả đánh giá hiệu quả của mô hình mất đi yếu tố khách quan, khoa học
Phân lớp văn bản chủ yếu dựa trên cơ chế rút trích thông tin Kỹ thuật rút trích thông tin được sử dụng trong 3 giai đoạn của quá trình phân lớp văn bản:
Trang 101) Đánh chỉ số: các văn bản ở dạng thô cần được chuyển sang một dạng biểu diễn
nào đó để xử lý Quá trình này được gọi là quá trình biểu diễn văn bản, dạng biểu diễn của văn bản phải có cấu trúc và dễ dàng xử lý
2) Kỹ thuật: kỹ thuật ở đây là phương pháp học để phân lớp văn bản, nó thường
được sử dụng trong quá trình xây dựng quy nạp của các phân lớp
3) Đánh giá: đánh giá hiệu quả của các phân lớp được thực hiện
Sự khác nhau trong các cách tiếp cận trước đây phần lớn là để giải quyết (2) mặc dù trong một số ít đề xuất cũng sử dụng (1) và (3)
Hầu hết các phương pháp phân lớp văn bản dựa trên kỹ thuật máy học hiện nay đều dựa vào tần xuất xuất hiện (số lần xuất hiện) của từ hoặc cụm từ trong văn bản, hoặc dựa vào tần xuất xuất hiện của từ trong văn bản và tần xuất văn bản (số các văn bản trong tập dữ liệu huấn luyện có chứa từ đó) Độ chính xác của kết quả tách từ có ảnh hưởng rất lớn đến kết quả của phân lớp, không thể có một kết quả phân lớp tốt nếu như không tách được đúng các từ trong văn bản Bởi vậy, một vấn đề quan trọng đối với phân lớp văn bản là phải tách được chính xác các từ trong văn bản Các văn bản được viết bằng các ngôn ngữ khác nhau thì có đặc trưng riêng của ngôn ngữ đó, và không có một phương pháp chung nào để tách các từ trong các văn bản được viết bằng các ngôn ngữ khác nhau
Tóm lại, một bài toán phân lớp văn bản dựa trên kỹ thuật máy học gồm các bước sau:
- Chuẩn bị tập dữ liệu huấn luyện (Training Set) và tập dữ liệu kiểm tra (Test Set)
- Tách từ trong văn bản
- Biểu diễn văn bản
- Phương pháp học để phân lớp văn bản
- Đánh giá hiệu quả của phương pháp học
Cho đến nay, đã có nhiều đề xuất xây dựng bài toán phân loại văn bản tự động như Neive Bayes, Bayes net, k-láng giềng gần nhất, cây quyết định, mạng nơron, Support Vector Machines, … Các phương pháp phân loại này, đạt được những thành công đáng kể đối với các văn bản tiếng Anh, Pháp, Nhật, Trung Quốc, và đã được ứng dụng trong thực tế như trong các hệ tìm tin của Yahoo, Altavista, Google,
… Trong đó, phương pháp Support Vector Machines được đánh giá cho độ chính
xác của phân loại văn bản cao hơn nhiều phương pháp phân loại khác
1.2.1 Phương pháp kNN (k Nearest Neighbor)
Giới thiệu phương pháp
kNN là phương pháp truyền thống khá nổi tiếng theo hướng tiếp cận thống kê cho bài toán nhận dạng mẫu và được nghiên cứu trong hơn bố thập niên qua kNN được đánh giá là một trong những phương pháp tốt nhất được sử dụng từ những thời kỳ đầu trong nghiên cứu về phân loại văn bản và kNN cho kết quả khả quan và thành công trong nhiều ứng dụng phân lớp văn bản
Trang 11Ý tưởng của phương pháp được xây dựng trên nền tảng vector hóa Tất cả các văn bản của cá nhóm dữ liệu huấn luyện được biểu diễn bằng các vector và khi cần phân loại một văn bản mới X, thuật toán cũng sẽ biểu biểu văn bản dưới dạng vector ( ) chứa các vector văn bản huấn luyện và xác định khoảng cách (Euclidean, Cosine, Manhattan,…) của tất cả các vector văn bản huấn luyện đến vector văn bản cần kiểm tra để tìm ra k văn bản gần nhất với , gọi là k nearest neighbor (k láng giềng gần nhất) Từ tập k vector thu được, giải thuật sẽ xác định trọng số của từng chủ đề dành cho Trọng số này biểu hiện độ phù hợp của chủ đề với văn bản cần phân loại Phương thức xác định trọng này cũng có nhiều cách khác nhau và được trình bày trong phần tiếp theo Sau đó các chủ đề sẽ được sắp xếp theo giá trị trọng
số giảm dần và các chủ đề có trọng số cao sẽ được chọn làm chủ đề của văn bản cần phân loại
Các vấn đề chính cần quan tâm của giải thuật kNN là khái niệm về tính “gần” – công thức tính mức độ gần và việc xác định giá trị k để giải thuật đạt được hiệu quả phân loại mong muốn
Trong giải thuật của phương pháp này, tính “gần” phải được hiểu theo độ đo được
áp dụng cho giải thuật Ví dụ, nếu độ đo được dùng là khoảng cách Euclidean thì tính gần phải được hiểu theo khoảng cách hình học, do đó độ đo Euclidean càng thấp thì các vector văn bản càng “gần” nhau Ngược lại, với hệ số cosine là độ đo
về góc giữa hai vector, hệ số cosine càng cao thì tính tương tự hay tính “gần” giữa hai vector càng cao Người ta thường dùng độ đo cosine để xác định tính gần cho các vector văn bản
Hình 1.3.: Mô tả độ đo Cosine kNN là phương pháp học dựa vào sự biểu quyết hay phán xét (instance-based learning) của k vector văn bản gần nhất Mô hình của phương pháp này dễ thực hiện vì không chứa và chịu sự chi phối của các tham số Trong phương pháp này, k
là tham số đáng quan tâm và hiệu quả của phương pháp này phụ thuộc nhiều và giá trị của k thông thường k có giá trị từ 5 đến 100 Trong một số bài toán với dữ liệu lớn (như dữ liệu khách hàng, dữ liệu web…) giá trị của k có thể lên đến vài trăm, thậm chí hàng nghìn và chưa có một giải thuật nào được chứng minh là hiệu quả trong việc xác định giá trị k bằng phương phương pháp lý thuyết Thông thường người ta tiến hành phương pháp thực nghiệm trong khoảng giá trị nào đó tùy thuộc
X
Dj
Trang 12vào độ lớn của dữ liệu để xác định giá trị k cho hiệu quả phân lớp tốt cho từng bộ
dữ liệu cụ thể Tóm lại, việc xác định k mang tính thử nghiệm và phụ thuộc nhiều vào dữ liệu cụ thể
Các phương pháp đánh trọng số
Có 3 chiến lược chủ yếu cho việc xác định trọng số của các nhóm dữ liệu đối với vector văn bản cần phân lớp: dựa vào tổng độ gần, dựa vào số lượng văn bản gần nhất cho từng nhóm và dựa vào vector gần nhất Nếu tập k văn bản gần nhất không chứa văn bản nào của nhóm Cj thì trọng số của nhóm Cj là 0 Trong trường hợp có nhiều chủ đề có cùng trọng số cao nhất ta có thể kết hợp với các chiến lược khác để đưa ra quyết định phân lớp
Gán nhãn dựa vào số đông
Chiến lược này quy định nhãn được gán là nhãn có số văn bản thuộc nhãn
và thuộc tập k văn bản gần nhất nhiều nhất Trọng số theo chiến lược này được tính như sau:
Gán nhãn dựa vào tổng độ tương tự
Chiến lược quy ước nhãn được gán là nhãn có tổng độ gần của các văn bản thuộc nhãn và thuộc tập k văn bản gần nhất lớn nhất Do đó, trọng số nhãn được xác định như sau
Trong đó: có giá trị thuộc {0, 1}, với:
‐ Y=0: văn bản Di không thuộc chủ đề Cj
‐ Y=1: văn bản Di thuộc chủ đề Cj
Gán nhãn dựa vào văn bản gần nhất
Chiến lược này quy ước nhãn được chọn là nhãn của vector văn bản gần nhất với vector văn bản được phân lớp Do đó công thức trọng số có dạng như sau
Trang 13Chiến lược này tương đối đơn giản và là trường hợp đặc biệt với k =1 Tuy nhiên, chiến lược vẫn còn hạn chế khi dữ liệu huấn luyện có nhiễu và dễ dẫn đến sai sót khi không có quyết định phân lớp mang tính chất tổng hợp từ nhiều thành phần vector văn bản
Nhận xét
Thuật toán kNN đơn giản, dễ hiểu và dễ áp dụng Tuy nhiên giải thuật sẽ không mang lại kết quả phân loại tốt khi dữ liệu huấn luyện chứa nhiễu Trong mỗi phương pháp đánh giá độ tương tự và các chiến lược gán nhãn đều có những nhược điểm nhất định mà ta không thể khắc phục một cách toàn vẹn Do đó xử lý và làm sạch dữ liệu, biểu diễn tốt các văn bản và yếu tố thực nghiệm là những cơ sở quyết định hiệu quả của giải thuật này Ngoài ra, giá trị k cũng cần được xem xét và chọn lọc thích hợp Có thể chọn k với giải thuật học từ tập huấn luyện bằng cách chia tập huấn luyện thành các thành phần nhỏ hơn để huấn luyện và kiểm tra hiệu quả của giá trị k Thông thường đối với các bài toán có dữ liệu không quá lớn (vài trăm đến vài ngàn mẫu học) người ta chọn k là một số lẻ từ 5 đến vài chục Trong những bài toán liên quan đến dữ liệu lớn (hàng trăm ngàn hoặc lên đến hàng triệu mẫu) thì giá trị của k có thể lên đến hàng trăm, thậm chí hàng nghìn Ngoài ra thuật toán này có nhược điểm lớn là: yêu cầu lưu trữ lớn, lặp lại nhiều lần các tính toán khó, phải lựa chọn khoảng cách cẩn thận, tốn nhiều thời gian tính toán, và tính toán khó khăn nếu
số chiều lớn
1.2.2 Thuật toán cây quyết định
Cây quyết định là một phương pháp thông dụng trong khai thác dữ liệu Cây quyết định mô tả một cấu trúc cây, trong đó, các nút lá đại diện cho các phân lớp còn nhánh đại diện cho các kết hợp của các thuộc tính dẫn tới phân lớp đó
Xây dựng cây quyết định gồm:
‐ Phát triển cây quyết định: đi từ gốc, đến các nhánh, phát triển quy nạp theo hình thức chia để trị
Bước 1: chọn thuộc tính “tốt” nhất bằng một độ đo đã định trước
Bước 2: phát triển cây bằng việc thêm các nhánh tương ứng với từng giá trị của thuộc tính đã chọn
Bước 3: sắp xếp, phân chia tập dữ liệu đào tạo tới node con
Bước 4: nếu các ví dụ được phân lớp rõ ràng thì dừng Ngược lại: lặp lại bước 1 tới bước 4 cho từng node con
‐ Cắt tỉa cây: nhằm đơn giản hóa, khái quát hóa cây, tăng độ chính xác
Thuật toán cây quyết định những ưu, nhược điểm như sau:
Cây quyết định dễ hiểu Người ta có thể hiểu mô hình cây quyết định sau khi được giải thích ngắn
Việc chuẩn bị dữ liệu cho một cây quyết định là cơ bản hoặc không cần thiết Các kỹ thuật khác thường đòi hỏi chuẩn hóa dữ liệu, cần tạo các biến phụ
(dummy variable) và loại bỏ các giá trị rỗng
Trang 14 Cây quyết định cĩ thể xử lý cả dữ liệu cĩ giá trị bằng số và dữ liệu cĩ giá trị là tên thể loại Các kỹ thuật khác thường chuyên để phân tích các bộ dữ liệu chỉ gồm một loại biến Chẳng hạn, các luật quan hệ chỉ cĩ thể dùng cho các biến tên, trong khi mạng nơ-ron chỉ cĩ thể dùng cho các biến cĩ giá trị bằng số
Cây quyết định là một mơ hình hộp trắng Nếu cĩ thể quan sát một tình huống cho trước trong một mơ hình, thì cĩ thể dễ dàng giải thích điều kiện đĩ bằng logic Boolean Mạng nơ-ron là một ví dụ về mơ hình hộp đen, do lời giải thích cho kết quả quá phức tạp để cĩ thể hiểu được
Cĩ thể thẩm định một mơ hình bằng các kiểm tra thống kê Điều này làm cho ta
cĩ thể tin tưởng vào mơ hình
Cây quyết định cĩ thể xử lý tốt một lượng dữ liệu lớn trong thời gian ngắn Cĩ thể dùng máy tính cá nhân để phân tích các lượng dữ liệu lớn trong một thời gian đủ ngắn để cho phép các nhà chiến lược đưa ra quyết định dựa trên phân tích của cây quyết định
Nhược điểm của thuật tốn cây quyết đinh:
Dễ xảy ra lỗi khi cĩ nhiều lớp: do chỉ thao tác với các lớp cĩ giá trị dạng nhị phân
Chi phí tính tốn đắt để học: do phải đi qua nhiều node để đến node lá cuối cùng
1.2.3 Thuật tốn Nạve Bayes
Phương pháp Nạve Bayes là phương pháp khá kinh điển được sử dụng đầu tiên bởi Maron vào năm 1961, và sau đĩ rất phổ biến trong các lãnh vực tìm kiếm, lọc mail, phân lớp…Nạve Bayes là một phương pháp rất phổ biến sử dụng xác suất cĩ điều kiện giữa từ và chủ đề để xác định chủ đề của văn bản Các xác suất này dựa trên việc thống kê sự xuất hiện của từ và chủ đề trong tập huấn luyện Tập huấn luyện lớn cĩ thể mang lại kết quả khả quan cho Nạve Bayes Ưu điểm của Nạve Bayes bởi phương pháp đơn giản, tốc độ nhanh, cài đặt tương đối khơng quá phức tạp phù
hợp với thời gian cho phép
Thuật tốn phân loại Nạve Bayes dựa trên luật Bayes, với giả định tất cả các thuộc
tính X 1 …X n đều độc lập cĩ điều kiện với nhau do sự kiện Y gây ra Chính giả thiết này đã đơn giản hĩa cách tính của P(X|Y), và vấn đề ước lượng P(X|Y) từ tập ngữ
liệu huấn luyện
Giả sử X chứa n thuộc tính đều độc lập với nhau do sự kiện Y gây ra được biểu diễn
Trang 15Trong đĩ, tổng giá trị ở mẫu của biểu thức là tổng cho bởi tất cả các giá trị y j
của Y Lúc này, sử dụng cơng thức trên, cĩ thể viết lại cơng thức trên như sau:
Cơng thức trên là cơng thức cơ bản của phương pháp phân loại Nạve Bayes Nếu chúng ta chỉ quan tâm đến giá trị lớn nhất của Y, thì sử dụng cơng thức sau:
Ứng dụng phương pháp Nạve Bayes trong phân loại văn bản
Phương pháp Nạve Bayes tìm chủ đề của văn bản d bằng các xác định chủ đề
cĩ xác suất P(Y = ci | X = d ), xác suất để văn bản d nằm trong lớp c i, lớn nhất thơng qua việc sử dụng cơng thức xác suất đầy đủ Bayes:
Trong đĩ
c jlà chủ đề thứ j
d = (w1 ,w 2 , ,w n ) là văn bản cần phân loại
P(Y=c i | X=d) gọi là xác suất xảy ra văn bản d thuộc về chủ đề c i
P(X=d | Y=c i ) gọi là xác suất chủ đề c i cĩ chứa văn bản d trong tập huấn luyện
Một cách để xác định P(Y | X ) là sử dụng tập huấn luyện để ước lượng P(X |Y)
và P(Y) Sau đĩ sử dụng cơng thức xác suất đầy đủ trên để xác định P(Y = c i | X
= d) với d bất kỳ
Ước lượng P(X|Y)
Giả sử với mỗi chủ đề, ta cĩ biến cố các từ phụ thuộc vào chủ đề là độc lập cĩ điều kiện (conditional independence) với nhau Khi đĩ cơng thức biểu diễn sự độc lập cĩ điều kiện của 2 biến cố X,Z vào Y được trình bày như sau:
Trang 16Trong đó
#D{ X = wj∧Y = ci}: số văn bản trong tập huấn luyện chứa đồng thời w j và c i
#D{Y = ci }: số văn bản trong tập huấn luyện chứa ci
Công thức ước lượng trên sẽ cho kết quả P(X = wj | Y = ci) = 0 khi không có
văn bản chứa đồng thời cả hai (w j và c i) Nhằm tránh trường hợp này, nên sử dụng công thức ước lượng đã được làm mịn như sau:
Với
R : số lượng chủ đề
l : quyết định độ mịn của phép ước lượng
Ước lượng P(Y)
Việc ước lượng P(Y=ci) đơn giản là tính phần trăm số văn bản trong tập huấn
luyện có chủ đề ci:
1.2.4 Thuật toán Support Vector Machines (SVM)
Support Vector Machines là một phương pháp phân loại máy học do Vladimir Vapnik và các cộng sự xây dựng nên từ những năm 70 của thế kỷ 20 SVMs là một phương pháp phân loại xuất phát từ lý thuyết học thống kê, dựa trên nguyên tắc tối thiểu rủi ro cấu trúc (Structural Risk Minimisation) SVMs sẽ cố gắng tìm cách phân loại dữ liệu sao cho có lỗi xảy ra trên tập kiểm tra là nhỏ nhất (Test Error Minimisation) Ý tưởng của nó là ánh xạ (tuyến tính hoặc phi tuyến) dữ liệu vào không gian các vector đặc trưng (space of feature vectors) mà ở đó một siêu phẳng tối ưu được tìm ra để tách dữ liệu thuộc hai lớp khác nhau Mặc dù đã được phát triển từ những năm cuối thập niên 70 nhưng SVMs chỉ được thật sự chú ý từ năm
1995 khi được đăng báo đầu tiên Thực nghiệm cho thấy rằng phương pháp SVMs rất thích hợp cho phân loại văn bản
Chúng ta hãy xem xét một bài toán phân loại văn bản bằng phương pháp Support Vector Machines như sau: Kiểm tra xem một tài liệu bất kỳ d thuộc hay không thuộc một phân loại c cho trước? Nếu dc thì d được gán nhãn là 1, ngược lại thì d
được gán nhãn là –1 Giả sử, chúng ta lựa chọn được tập các đặc trưng là T={t 1 , t 2 ,
…, t n }, thì mỗi văn bản d i sẽ được biểu diễn bằng một vector dữ liệu x i =(w i1 , w i2 , …,
w in ), w ijR là trọng số của từ t j trong văn bản d i Như vậy, tọa độ của mỗi vector
dữ liệu x i tương ứng với tọa độ của một điểm trong không gian R n Quá trình phân loại văn bản sẽ thực hiện xử lý trên các vector dữ liệu x i chứ không phải là các văn bản d i Bởi vậy, trong phần này chúng tôi sẽ sử dụng đồng nhất các thuật ngữ văn bản, vector dữ liệu, điểm dữ liệu
Dữ liệu huấn luyện của SVMs là tập các văn bản đã được gán nhãn trước Tr={(x1,
y1), (x 2 , y 2 ), …, (x l , y l )}, trong đó, x i là vector dữ liệu biểu diễn văn bản d i (x iR n ),
yi{+1, -1}, cặp (x i , y i ) được hiểu là vector x i (hay văn bản d i ) được gán nhãn là y i
Trang 17Nếu coi mỗi văn bản d i được biểu diễn tương ứng với một điểm dữ liệu trong không gian Rn thì ý tưởng của SVMs là tìm một mặt hình học (siêu phẳng) f(x) “tốt nhất” trong không gian n-chiều để phân chia dữ liệu sao cho tất cả các điểm x +
được gán nhãn 1 thuộc về phía dương của siêu phẳng (f(x + )>0), các điểm x - được gán nhãn –1 thuộc về phía âm của siêu phẳng (f(x - )<0) Với bài toán phân loại
SVMs, một siêu phẳng phân chia dữ liệu được gọi là “tốt nhất”, nếu khoảng cách từ điểm dữ liệu gần nhất đến siêu phẳng là lớn nhất Khi đó, việc xác định một tài liệu
xTr có thuộc phân loại c hay không, tương ứng với việc xét dấu của f(x), nếu f(x)>0 thì xc, nếu f(x)0 thì xc
Hình 1.4 Siêu phẳng phân chia tập mẫu huấn luyện Trong hình trên, đường tô đậm là siêu phẳng tốt nhất và các điểm được bao bởi hình chữ nhật là những điểm gần siêu phẳng nhất, chúng được gọi là các vectorhỗ trợ (support vector) Các đường nét đứt mà các support vector nằm trên đó được gọi là lề (margin)
một siêu phẳng tuyến tính có dạng như sau để phân chia tập dữ liệu này:
0 x b
w T
Trong đó: wR n là vector trọng số (weight vector), bR là hệ số tự do
1
1
1
1 } {
x w sign x
nếu
Trang 18Hình 1.5 Siêu phẳng phân chia dữ liệu và các ràng buộc
Giả sử rằng siêu phẳng phân chia dữ liệu theo hình trên với các ràng buộc:
1
minw T x i b
hay yw T x i b l
i 1 , i 1, ,
Vấn đề đặt ra bây giờ là xác định các hệ số w và b như thế nào để siêu phẳng tìm
được là tốt nhất? Siêu phẳng tốt nhất là siêu phẳng mà có khoảng cách từ điểm dữ liệu huấn luyện gần nhất đến siêu phẳng là xa nhất Mà khoảng cách từ một điểm
dữ liệu xi đến siêu phẳng trên là:
w
b x w x b w
T i
.)
; , (
b
x
w T. i : là giá trị tuyệt đối của biểu thức w T x i +b
w : là độ dài Ơcơlit của vector w
Giả sử h(w,b) là tổng của khoảng cách từ điểm dữ liệu gần nhất của lớp 1 đến siêu
phẳng và khoảng cách từ điểm dữ liệu gần nhất của lớp –1 đến siêu phẳng Ta có:
w
b x w b
x w w
w
b x w w
b x w
x b w d x
b w d b
w h
i T y x i
T y x
i T y x i
T y x
i y
x i y
x
i i i
i
i i i
i
i i i
i
2
min
min
1
min
min
)
; , ( min )
; , ( min ) , (
1 , 1
,
1 , 1
,
1 , 1
x w y
w w
Min
i
T i
w
, 1, i , 1 ) (
2
1 ) (
Trường hợp 2
Tập dữ liệu huấn luyện Tr có thể phân chia được tuyến tính nhưng có nhiễu Trong
trường hợp này, hầu hết các điểm trong tập dữ liệu được phân chia bởi siêu phẳng tuyến tính Tuy nhiên có một số ít điểm bị nhiễu, nghĩa là điểm có nhãn dương nhưng lại thuộc về phía âm của siêu phẳng, điểm có nhãn âm thuộc về phía dương của siêu phẳng
Trang 19Hình 1.6 Trường hợp dữ liệu có nhiễu Trong trường hợp này, chúng ta thay ràng buộc y(w T.x i b) 1
i bằng ràng buộc dưới đây
l b
x w
i( ) 1 i 1, ,
Ở đây, i gọi là các biến nới lỏng (slack variable) i0
Bài toán này trở thành
l i b
x w y
C w w
i
i i
T i
l i i
, , 1 0
, , 1 , 1 ) (
2
1 ) , ( Min
1 2
Tuy nhiên không phải tập dữ liệu nào cũng có thể phân chia tuyến tính được Trong
trường hợp này, chúng ta sẽ ánh xạ các vector dữ liệu x từ không gian n-chiều vào
một không gian m-chiều (m>n) , sao cho trong không gian m-chiều này tập dữ liệu
có thể phân chia tuyến tính được Giả sử là một ánh xạ phi tuyến tính từ không gian Rn vào không gian Rm
m
R
Rn :
Khi đó, vector xi trong không gian Rn sẽ tương ứng với vector (x i ) trong không
gian Rm
Thay ( x i ) vào công thức trên ta có :
Trang 20l i b
x w y
C w w
i
i i
T i
l i i
, , 1 0
, , 1 , 1 ) ) ( (
2
1 ) , ( Min
1 2
) ( ) ( ) , (x i x j x i x j
Một số hàm nhân hay dùng trong phân loại văn bản là :
Hàm tuyến tính (linear): T j
i j
Hàm RBF (radial basis function) : K(x i , x j )=exp(-(x i -x j ) 2 ), R +
1.2.5 Thuật toán Fuzzy Vector Support Machines (FSVM)
Trong SVMs thông thường thì các điểm dữ liệu đều có giá trị như nhau, mỗi một điểm sẽ thuộc hoàn toàn vào một trong hai lớp Tuy nhiên trong nhiều trường hợp
có một vài điểm sẽ không thuộc chính xác vào một lớp nào đó, những điểm này được gọi là những điểm nhiễu, và mỗi điểm có thể sẽ không có ý nghĩa như nhau đối với mặt phẳng quyết định Để giải quyết vấn đề này Lin CF và Wang SD (2002) đã giới thiệu Fuzzy support vector machines (FSVMs) bằng cách sử dụng một hàm thành viên để xác định giá trị đóng góp của mỗi điểm dữ liệu đầu vào của SVMs vào việc hình thành siêu phẳng
Cho tập dữ liệu huấn luyện S {(x i,y i,s i),i 1 , ,l}
Với x i là một mẫu huấn luyện, n
l i b
x w y
s C w w
i
i i
T i
l
, , 1 0
, , 1 , 1 ) ) ( (
2
1 ) , ( Min
1 2
Trang 21Để giải quyết bài toán tối ưu trên cần xây dựng hàm Lagrangian:
l i i i i
i
T i i i
i
w b
w L
) 1 ) ( (
2
1 ) , , , ,
i y z w
w
b w L
1
0 )
, , , ,
i y b
b w L
1
0 )
, , , ,
0 )
, , , ,
i i i i
C s b
C s y
x x K y y L
i i
l
i i i
j i j i l
i l j j i l
i i D
, , 2 , 1 0
0
) , ( 2
1 )
( max
1
1 1 1
Đây là dạng đơn giản của bài toán QP (Quadratic programming) Và tìm giá trị tối
ưu (w,b,,) cho những điều kiện Kunhn-Tucker (Cristianini và Shawe-Taylor 2000) được định nghĩa như sau:
0
v
I i i
i y z
0
l I i i
v
y
l i b
z w
y i( i ) 1 i 0 , 1 ,
l i C
s i i) i 0, 1,
(
l i b
z w
Với I s.v = {j|x j là support vector}
Theo các điều kiện trên ta sẽ tìm được giá trị tối ưu Có được , các tham số của siêu phẳng tối ưu là:
.v s
I i
i i
i y z
Trang 22b được tính bằng cách chọn bất kỳ i sao cho i >0 Điểm x i tương ứng với với
i
>0 được gọi là support vector
Như vậy trong không gian m chiều, việc phân loại tài liệu x tương đương với việc
x
Chọn hàm thành viên
Việc chọn hàm thành viên s i thích hợp là rất quan trọng trong FSVMs Theo Chun
hàm thành viên s i dùng để giảm mức độ ảnh hưởng của những điểm dữ liệu nhiễu
được mô tả là một hàm xác định khoảng cách giữa điểm dữ liệu x i với trung tâm của nhóm tương ứng với i
Gọi C+ là tập chứa các điểm x i với y i =1
||
||
1
) /(
r x X s
i
i
là một hằng số để tránh trường hợp s i = 0 Tuy nhiên FSVMs với hàm thành viên như trên vẫn chưa đạt kết quả tốt do việc tính toán khoảng cách giữa các điểm dữ liệu với trung tâm của nhóm được tiến hành ở không gian đầu vào, không gian n chiều Trong khi đó trong trường hợp tập
dữ liệu không thể phân chia tuyến tính, để hình thành siêu phẳng ta phải đưa dữ liệu về một không gian khác với số chiều m cao hơn gọi là không gian đặc trưng (feature space) Vì vậy để có thể đạt kết quả tốt hơn, Xiufeng Jiang, Zhang Yi và Jian Cheng Lv (2006) đã xây dựng một hàm thành viên khác dựa trên ý tưởng của hàm thành viên nhưng được tính toán trong không gian đặc trưng m chiều
Giả sử là một ánh xạ phi tuyến tính từ không gian Rn vào không gian Rm
m
R
Rn :
Trang 23Định nghĩa là trung tâm của lớp C+ trong không gian đặc trưng:
x i
i j i
x x n
x x n
x x K n
x x K n
x x K
Với x’ C+ và n+là số mẫu huấn luyện trong lớp C+ Tương tự :
x x K n
x x K n
x x K
Với x’ C- và n-là số mẫu huấn luyện trong lớp C-
Bình phương khoảng cách giữa x i C+ và trung tâm của lớp trong không gian đặc trưng có thể được tính như sau:
} ) , (
1 ) , (
2 ) ,
i i
i i
x x K n
x x K n
x x K d
Tương tự như vậy bình phương khoảng cách giữa x i C- và trung tâm của lớp trong không gian đặc trưng có thể được tính như sau:
} ) , (
1 ) , (
2 ) ,
i i
i i
x x K n
x x K n
x x K d