Module Kiểm tra SVMs

Một phần của tài liệu phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms) (Trang 57 - 60)

Sau quá trình huấn luyện ta thu được các tham số cần thiết để đưa ra quyết định phân loại văn bản. Quá trình kiểm tra này có mục đích để kiểm nghiệm lại hiệu năng của chương trình phân loại văn bản bằng phương pháp SVMs.

Như đã trình bày từ trước, quá trình phân loại văn bản sử dụng phương pháp SVMs dựa trên nguyên tắc phân loại nhị phân đối với một lớp văn bản nhất định. Do đó khi phân loại đa lớp, ta cần dựa vào nguyên tắc 1-nhiều (one-against-rest), nghĩa là khi có m lớp văn bản, ta sẽ tạo nên m bộ phân lớp nhị phân để ra quyết định gán nhãn cho các văn bản cần phân loại. Vì thế, thông thường một văn bản có thể được gán một nhãn biểu hiện lớp văn bản nó thuộc vào, nhưng cũng có thể nó không được gán nhãn nào (nghĩa là chương trình quyết định nó không thuộc lớp văn bản nào), hoặc số nhãn nó được gán là lớn hơn 1 (nghĩa là có nhiều hơn 1 lớp văn bản phân chia nó về phía dương của siêu phẳng tối ưu của mình).

Vì có những lý do như vậy, nên module kiểm tra của chương trình sẽ được phân chia thành hai phần kiểm tra:

Kiểm tra phân loại nhị phân: đánh giá hiệu năng của chương trình phân loại đối với từng lớp văn bản.

Kiểm tra phân loại đa lớp: đánh giá hiệu năng phân loại khi kết hợp các bộ phân loại nhị phân để đưa ra quyết định phân loại đa lớp.

Đầu vào của module kiểm tra đối với cả hai phần là tập các văn bản kiểm tra đã qua module tiền xử văn bản, và được biểu diễn ở dạng vector thưa với các thành phần là các trọng số của một từ trong văn bản. Đồng thời các văn bản kiểm tra cũng đã được gán nhãn trước với mục đích để so sánh với các nhãn mà chương trình phân loại bằng phương pháp SVMs gán cho các văn bản kiểm tra, từ đó đưa ra được các giá trị đánh giá hiệu năng của chương trình (Presicion, Recall).

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 46/67

Kiểm tra phân loại nhị phân Đầu vào:

Tập các vector biểu diễn văn bản kiểm tra, tập các vector biểu diễn các văn bản huấn luyện đã được gán nhãn, lớp văn bản cần kiểm tra, các tham số b, α* của siêu phẳng tối ưu tương ứng với lớp văn bản đang xét, các tham số của hàm nhân K(xi,xj) đã được dùng trong quá trình huấn luyện.

Đầu ra:

- Quyết định phân loại nhị phân cho các văn bản kiểm tra. - Các giá trị đánh giá hiệu năng của chương trình phân loại.

Thuật toán:

Bƣớc 1: Với mỗi vector x tương đương văn bản thuộc tập văn bản kiểm tra, tính giá trị của hàm: f(x) =    m i i i i b x x K y 1 ) , ( 

trong đó xi là vector biểu diễn văn bản huấn luyện thứ i, i = {1,…,m}. - Nếu f(x) > 0 thì x được gán nhãn 1.

- Ngược lại x được gán nhãn -1.

Bƣớc 2: Từ kết quả của bước 1, kết hợp với mảng y lưu nhãn của văn bản kiểm tra, tính các giá trị độ chính xác, độ bao, … để đưa ra kết quả đánh giá hiệu năng của chương trình phân loại đối với lớp văn bản hiện tại.

Kiểm tra phân loại đa lớp Đầu vào:

Tập các vector biểu diễn văn bản kiểm tra, tập các vector biểu diễn các văn bản huấn luyện đã được gán nhãn, tập các tham số b, α* của m siêu phẳng tối ưu tương ứng của m lớp văn bản mà chương trình huấn luyện đã được thực hiện trên đó, các tham số của hàm nhân K(xi,xj) đã được dùng trong quá trình huấn luyện.

Mảng y lưu nhãn của các văn bản có giá trị thuộc {-1, …, m-1} với: - y = -1: văn bản không thuộc chủ đề nào trong số m chủ đề đã cho. - y = 0 ÷ m-1: văn bản thuộc chủ đề có chỉ số tương ứng.

Đầu ra:

- Quyết định phân loại cho các văn bản kiểm tra.

- Các giá trị đánh giá hiệu năng của chương trình phân loại.

Thuật toán:

Bƣớc 1: với mỗi vector x tương đương văn bản thuộc lớp văn bản kiểm tra, mỗi lớp văn bản có nhãn tương ứng là k (với k = {0,…, m-1}). Thực hiện tính giá trị: fk(x) =    m i k i i kiy K x x b 1 ) , ( 

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 47/67

trong đó: xi là vector biểu diễn văn bản huấn luyện thứ i, i = {1,…,m}, bk, *

k

 là các tham số của siêu phẳng tối ưu ứng với lớp văn bản k.

Nếu fk(x) > 0 thì x được gán nhãn là k nếu giá trị fk(x) đạt max trong số tất cả các fk(x) > 0 của văn bản x.

Ngược lại x được gán nhãn là -1.

Bƣớc 2: từ kết quả của bước 1, kết hợp với mảng y lưu nhãn của các văn bản kiểm tra, tính các giá trị độ chính xác để đưa ra kết quả đánh giá hiệu năng của chương trình phân loại đối với lớp văn bản hiện tại.

Kết quả phân loại văn bản

Đây là module dùng để quyết định phân loại cho một văn bản cụ thể.

Đầu vào:

Văn bản cần phân loại biểu diễn ở dạng vector trọng số, tập văn bản huấn luyện cũng ở dạng vector trọng số và đã được gán nhãn, các tham số b, α* của siêu phẳng tối ưu, các tham số của hàm nhân K(xi,xj) được dùng trong quá trình huấn luyện.

Đầu ra:

Đưa ra danh sách chủ đề phù hợp với văn bản đang xét.

Thuật toán:

Với từng chủ đề văn bản, thực hiện tính giá trị:

fk(x) =    m i ki i i k b x x K y 1 ) , ( 

Đưa ra danh sách những chủ đề có fk(x) > 0. Nếu chỉ có 1 chủ đề mà ứng với nó văn bản được gán nhãn = 1 thì đưa ra quyết định phân loại cho văn bản vào chủ đề đó. Trường hợp số chủ đề lớn hơn 1, có 2 giải pháp:

- Đưa ra danh sách tất cả các chủ đề để người dùng quyết định.

- Hoặc tìm giá trị max{fk(x)}, sau đó phân loại văn bản vào chủ đề có giá trị hàm quyết định đạt cực đại tương ứng (dựa vào nguyên tắc tìm siêu phẳng tối ưu).

3.4 Kết chƣơng

Chƣơng 3 trình bày chi tiết các bước phân tích, thiết kế và xây dựng các chức năng trong chương trình demo phương pháp phân loại SVMs. Tính đúng đắn của các module trong chương trình cài đặt sẽ được kiểm nghiệm, đánh giá qua các bộ cơ sở dữ liệu văn bản tiếng Việt trong chƣơng 4 dưới đây.

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 48/67

CHƢƠNG 4. MÔ TẢ CHƢƠNG TRÌNH VÀ

KẾT QUẢ THỬ NGHIỆM

Sau khi cài đặt thành công các chức năng cần thiết trong chương trình, phần tổng kết sau đây sẽ giới thiệu qua về giao diện của chương trình demo, đồng thời đưa ra những kết quả thực nghiệm để có thể kiểm nghiệm và đánh giá lại những vấn đề lý thuyết và các thiết kế, cài đặt đã được nêu ra trong chương trước.

Một phần của tài liệu phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms) (Trang 57 - 60)