1 M HNH SVM Svm l phng php

  • Slides: 21
Download presentation
1. MÔ HÌNH SVM Svm là phương pháp phân lớp xuất phát từ lý

1. MÔ HÌNH SVM Svm là phương pháp phân lớp 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. Ý tưởng của nó là ánh xạ (tuyến tính hoặc phi tuyến) dữ liệu vào ko gian vector đặc trưng mà ở đó 1 siêu phẳng tối ưu được tìm ra để tách dữ liệu thuộc các lớp khác nhau. Phương pháp SVM được coi là phương pháp hiệu quả để giải quyết bài toán phân lớp với dữ liệu có số chiều lớn như các vector biểu diễn văn bản.

 Về mặt lý thuyết, thuật toán phân lớp nhị phân này cũng có

Về mặt lý thuyết, thuật toán phân lớp nhị phân này cũng có thể sử dụng cho các bài toán đa lớp bằng cách chuyển bài toán đa lớp thành bài toán nhị phân. v Ưu điểm của mô hình SVM: ü Ưu điểm lớn nhất của SVM là độ chính xác phân lớp rất cao. Do đó SVM là một trong những phương pháp phân lớp phổ biến nhất hiện nay. ü SVM đã cho thấy một hiệu năng tổng quát hóa rất tốt trên rất nhiều bài toán như: Nhận dạng ký tự viết tay, phát hiện khuôn mặt, phân lớp văn bản, . . .

ü Thời gian phân lớp nhanh: Thời gian phân lớp chỉ phụ thuộc tuyến

ü Thời gian phân lớp nhanh: Thời gian phân lớp chỉ phụ thuộc tuyến tính với số lượng vector hỗ trợ hoặc số lượng mẫu huấn luyện ü Mỗi mô hình SVMs có nhiều tham số nên có nhiều cách điều chỉnh sao cho phù hợp với mục tiêu (Độ chính xác hoặc thời gian huấn luyện). ü SVMs có thể khắc phục tình trạng overfitting: Overfitting là tình trạng một máy học (learner) xây dựng một hàm phân lớp thể hiện rất tốt trên tập dữ liệu huấn luyện nhưng lại cho độ chính xác thấp hơn nhiều trên dữ liệu thực tế.

v Khuyết điểm của mô hình SVM: ü Thời gian huấn luyện rất lâu,

v Khuyết điểm của mô hình SVM: ü Thời gian huấn luyện rất lâu, không gian bộ nhớ dùng khi huấn luyện thường là rất lớn. ü SVM chỉ được thiết kế cho phân lớp nhị phân, trong khi đó, các ứng dụng trong thực tế thường là bài toán phân loại đa lớp. ü Các mô hình tổ chức để phân loại đa lớp có chi phí tính toán cao. ü Đối xử với tất cả các mẫu huấn luyện như nhau ü Để đạt được hiệu năng tốt cần phải chọn hàm nhân và các tham số phù hợp

2. MÔ HÌNH CRFS Input: Cho một tập X={X 1, X 2, X 3,

2. MÔ HÌNH CRFS Input: Cho một tập X={X 1, X 2, X 3, …, Xn} là các câu đầu vào. Output: Một dãy Y = {Y 1, Y 2, Y 3, …, Yn} là các nhãn cụm từ Quy trình: �Sử dụng một tập câu được gán nhãn (tập ngữ liệu huấn luyện) để huấn luyện một hình học cho một câu mới (không thuộc tập huấn luyện). �Sử dụng mô hình CRFs (1).

 Mô hình hệ thống CRFs :

Mô hình hệ thống CRFs :

 Phương pháp học: �B 1: Tạo bộ dữ liệu huấn luyện bé. Bước

Phương pháp học: �B 1: Tạo bộ dữ liệu huấn luyện bé. Bước này được thực hiện bằng việc nhập liệu từ người chuyên gia. �B 2: Sử dụng mô hình CRFs để huấn luyện trên tập dữ liệu này. �B 3: Cho tập test và sự dụng CRFs để gán nhãn. �B 4: Tạo bộ dữ liệu mới. Bộ dữ liệu mới được bổ sung kết quả từ việc gán nhãn tập test.

IV. PH N CỤM VỚI MÔ HÌNHSVMS VÀ CÔNG CỤ YAMCHA 1. MÔ HÌNH

IV. PH N CỤM VỚI MÔ HÌNHSVMS VÀ CÔNG CỤ YAMCHA 1. MÔ HÌNH SVMS

 SVMs ban đầu là phân lớp nhị phân, để áp dụng cho bài

SVMs ban đầu là phân lớp nhị phân, để áp dụng cho bài toán phân cụm của chúng ta. Chúng ta cần phải biến đổi nó thành đa lớp để sử dụng cho 3 lớp BIO hoặc 5 lớp BIOES. Như trong trường hợp này là 3 lớp BIO. Trong bài toán này chúng ta cần sử dụng tất cả thông tin có mặt của toàn bộ ngữ liệu từng từ, pos của nó, và nhãn cụm. Và dùng nó để xác định nhãn cụm ci cho từ thứ i

Trong đó wi là từ xuất hiện tại vị trí thứ i, ti là

Trong đó wi là từ xuất hiện tại vị trí thứ i, ti là pos của wi, và ci là nhãn cụm của từ wi. Tóm tắt các bước của mô hình: � Bước 1 : Sử dụng cấu trúc trên tạo ra file huấn luyện dữ liệu � Bước 2 : Sử dụng công cụ huấn luyện dữ liệu tao ra file ngữ liệu � Bước 3 : Sử dụng file ngữ liệu và thuật toán để phận cụm cho đoạn văn bản test

ÁP DỤNG CHO BÀI TOÁN CHUNKER Kết hợp với nhãn BIO và POS :

ÁP DỤNG CHO BÀI TOÁN CHUNKER Kết hợp với nhãn BIO và POS :

VÍ DỤ Thấp_thoáng phía sau V N N B-VP B-NP I-NP VP những ngôi_nhà

VÍ DỤ Thấp_thoáng phía sau V N N B-VP B-NP I-NP VP những ngôi_nhà L B-NP N I-NP NP ngói N A I-NP đỏ mới. A B-AP O ADJP

MÔ HÌNH HOẠT ĐỘNG Phương pháp phân loại đa lớp: One-versus-All Tư tưởng của

MÔ HÌNH HOẠT ĐỘNG Phương pháp phân loại đa lớp: One-versus-All Tư tưởng của phương pháp này là phân một lớp với các lớp còn lại. Giả sử ta cần giải quyết bài toán phân loại dữ liệu với k lớp, ta sử dụng n bộ phân lớp SVM nhị phân. Đối với mỗi lớp thứ i, ta chia bộ huấn luyện làm 2 loại: Các mẫu dương là các mẫu thuộc lớp i, các mẫu âm là các mẫu còn lại, sau đó dùng SVMs để huấn luyện tập này.

2. CÔNG CỤ YAMCHA Giới thiệu chung về Yamcha : �Yamcha là một sản

2. CÔNG CỤ YAMCHA Giới thiệu chung về Yamcha : �Yamcha là một sản phẩm mã nguồn mở có thể thực hiện nhiều nhiệm vụ trong NLP như gán nhãn POS, phân loại văn bản, phân cụm danh từ. . �Yamcha dựa trên thuật toán SVM của Vapnik giới thiệu năm 1995 �Yamcha được đánh giá là hệ thống thực hiện chunking tốt nhất trong Co. NLL 2000.

a. Quá trình thực hiện. v Chuẩn bị file huấn luyện ü Môi trường

a. Quá trình thực hiện. v Chuẩn bị file huấn luyện ü Môi trường Windows ü Chuẩn bị file huấn luyện: File huấn luyện : + Gồm 3 cột : cột 1 các tiếng được tách ra từ văn bản, cột 2 các nhãn tương ứng, cột 3 là lớp BIO. Lưu ý : các cột cách nhau khoảng trắng + Phải có 2 dòng trống cuối file + Tất cả các file huấn luyện đều phải sử dụng font TCVN 3 (hoặc UTF-8). ü

b. Quá trình huấn luyện. Môi trường linux Sử dụng bộ Tiny. SVM, Yamcha

b. Quá trình huấn luyện. Môi trường linux Sử dụng bộ Tiny. SVM, Yamcha được cung cấp sẵn (Tiny. SVM-0. 09. tar. gz, yamcha-0. 33. tar. gz) Quá trình này gồm 13 câu lệnh sau khi thực hiện ta sẽ có được file dữ liệu huấn luyện. Cách tạo file train cho việc huấn luyện trên linux: Mở file train. data được cung cấp sẵn bởi chương trình. Chép đè lên nội dung cũ bằng nội dung file chuẫn bị sẵn ở trên. Lưu lại.

c. Chuẩn bị file test. Môi trường windows/linux 1 file test có cấu trúc

c. Chuẩn bị file test. Môi trường windows/linux 1 file test có cấu trúc tương tự như file train nhưng chỉ có 1 cột các tiếng. d. Quá trình test sử dụng command line Sử dụng file yamcha được cung cấp sẵn (yamcha. exe, libyamcha. dll) Chép tất cả file mô hình (. model) và file test vào thư mục chứa yamcha. exe Sử dụng dòng lệnh sau : yamcha -m <tên file mô hình> < <tên file input> -o <tên file outut> Trên file output, cột cuối cùng chứa nhãn do mô hình thực hiện.

FORMAT OUTPUT YAMCHA

FORMAT OUTPUT YAMCHA

3. THỬ NGHIỆM Dựa vào kết quả thực nghiệm Taku Kudo trong báo chunking

3. THỬ NGHIỆM Dựa vào kết quả thực nghiệm Taku Kudo trong báo chunking with SVMs thực hiện với dữ liệu chunking dataset kết quả đạt được là 93. 91% đối với tiếng Anh.

4. KẾT LUẬN Với kết quả đạt được trong việc training và test bằng

4. KẾT LUẬN Với kết quả đạt được trong việc training và test bằng mô hình SVMs và công cụ yamcha chúng ta có kết luận sau : Kết quả của việc phân cụm dữ liệu đạt kết quả cao với dữ liệu huấn luyện tốt -> chỉ cần làm tốt khâu chuẩn bị ngữ liệu huấn luyện chúng ta sẽ được kết quả phân cụm tốt. Thời gian huấn luyện hơi cao, tốn kém chi phí nhưng bù lại được kết quả tốt nên có thể chấp nhận được.

TÀI LIỆU THAM KHẢO 1. Phân cụm từ Tiếng Việt bằng phương pháp học

TÀI LIỆU THAM KHẢO 1. Phân cụm từ Tiếng Việt bằng phương pháp học máy cấu trúc – Nguyễn Lê Minh, Cao Hoàng Trụ. 2. An Empirical Study of Vietnamese Noun Phrase Chunking with Discriminative Sequence Models - Le Minh Nguyen, Huong Thao Nguyen, Phuong Thai Nguyen, Tu Bao Ho and Akira Shimazu. (2009) 3. Chunking with Support Vector Machines - Kudo, Taku, and Yuji Matsumoto. (2001) 4. Chunk Parsing Revisited - Tsuruoka, Yoshimasa, and Jun'ichi Tsujii. (2005). 5. Source: yamcha-0. 33. tar. gz http: //chasen. org/~taku/software/yamcha/src/yamcha-0. 33. tar. gz 6. Tiny. SVM-0. 09. tar. gz http: //chasen. org/~taku/software/Tiny. SVM/src/Tiny. SVM-0. 09. tar. gz 7. Guideline sử dụng Yamcha – Th. s Ngô Quốc Hưng. https: //sites. google. com/a/uit. edu. vn/hungnq/research/vietnamese/gui deline-su-dung-yamcha