Phânloại với SVM

Một phần của tài liệu phân loại văn bản bằng phương pháp support vector machine (Trang 65 - 80)

4.2.2.1. Giải thuật SVM trong Oracle

Support Vector Machine (SVM) là một giải thuật để phân loại và hồi quy, SVM là một giải thuật với các thuộc tính chuẩn mạnh, đó là, thủ tục tối ưu tính chính xác dựđoán tối đa. Các mạng nơron và RBF, hai kỹ thuật khai phá dữ liệu phổ biến, có cùng kiểu chức năng với mô hình SVM; tuy nhiên, hoặc các giải thuật có hướng tiếp cận lý thuyết tốt các kiểu chuẩn của SVM.

khác nhau và các lựa chọn tham số khác nhau có thể sinh ra nhiều mô hình phân loại khác nhau. Oracle SVM áp dụng hai kiểu kernel: tuyến tính và Gaussian. Oracle cũng cung cấp việc đánh giá dựa trên cơ số của các đặc điểm của dữ liệu. SVM thực hiện tốt với các ứng dụng thế giới thực như phân loại văn bản, nhận dạng chữ viết tay, phân loại ảnh như các thông tin sinh học phân tích.

Sự phát triển mạnh của SVM vào đầu những năm 1990 đưa tới một sự bùng nổ các ứng dụng và các phân tích lý thuyết sâu hơn mà SVM được lập với các mạng nơron như một trong các công cụ chuẩn cho học máy và khai phá dữ liệu. Không có giới hạn trên số các thuộc tính và số yếu tố trong tập hợp cho SVM; và chỉ có các ràng buộc bởi phần cứng. SVM là giải thuật được ưa thích hơn với dữ liệu thưa. Các đặc trưng sau được thêm vào giải thuật SVM trong ODM 10 phiên bản 2:

- SVM hỗ trợ học chủđộng

- SVM tự động tạo các mẫu phân tầng cho các tập huấn luyện lớn và tự động chọn một kiểu kernel cho mô hình được xây dựng

Hc ch động (Active Learning) Các mô hình SVM tăng theo tập dữ liệu huấn luyện. Thuộc tính này giới hạn các mô hình SVM với các tập huấn luyện nhỏ và vừa (ít hơn 100,000 trường hợp). Học chủ động cung cấp một cách giải quyết với các tập huấn luyện lớn. Tiêu chí kết thúc cho học chủ động là một giới hạn trên số các vector hỗ trợ; khi giới hạn trên đã có, quá trình xây dựng dừng lại. Tiêu chuẩn dừng là phải chất lượng, đó là cách cải tiến độ chính xác các mô hình trên các mẫu ở phần đã có.

Học chủ động bắt buộc giải thuật SVM giới hạn việc học tới hầu hết các mẫu huấn luyện có thông tin và không cố sử dụng toàn bộ nội dung dữ liệu. Trong hầu hết trường hợp, các mô hình kết quả có độ chính xác dự đoán

so sánh với mô hình SVM chuẩn. Học chủđộng có thể áp dụng tới tất cả các mô hình SVM. Học chủ động trong Oracle được thiết lập mặc định, và người sử dụng có thể không dùng.

Trong phân loại, tăng tốc sự hội tụ và giảm độ lớn mô hình có thểđược thu được qua học chủđộng. Với học chủđộng, giải thuật tạo một mô hình bắt đầu trên một số mẫu nhỏ, tính điểm và giữ nguyên dữ liệu huấn luyện, thêm vào tập làm việc của bản ghi dữ liệu gần với giới hạn quyết định hiện tại, và sau đó cải tiến cục bộ siêu phẳng quyết định. Mô hình tăng cường thay đổi liên tục cho tới khi mô hình hội tụ trên dữ liệu huấn luyện hoặc đạt tới số các vector hỗ trợ tối đa được phép. Để tránh chi phí quét toàn bộ tập dữ liệu, các bản ghi dữ liệu mới được chọn từ một vùng bản ghi nhỏ hơn (tối đa 10,000). Vùng này được xuất phát từ mẫu dữ liệu phân tầng đích (target-stratified) thu được trong quá trình dữ liệu tải vào. Các vector hỗ trợ trong vùng đó được cân bằng với các giá trị đích của chúng. Trong một bài toán phân loại nhị phân, mỗi lớp đích cung cấp một nửa vùng. Nếu không đủ các mẫu hoặc của các lớp đích hoặc dành cho vùng dữ liệu được điền đầy từ một lớp khác. Trong bài toán phân loại đa nhãn, chúng tôi đưa vào mọt chiến lược một với tất cả (ví dụ như một mô hình nhị phân được xây dựng cho từng lớp đích và các bản ghi kết hợp với các giá trị đích khác được đối xử như các mẫu đếm). Vùng học chủđộng được chia cân bằng giữa các mẫu của đích dương hiện tại và các mẫu đếm – sau đó được chọn qua lấy mẫu phân tầng theo các giá trị đích khác.

Ly mu phân loi. Để phân loại, SVM tựđộng thực hiện lấy mẫu phân tầng trong quá trình xây dựng mô hình. Giải thuật quét toàn bộ tập dữ liệu và chọn một mẫu cân bằng theo các giá trịđích.

tập dữ liệu ban đầu. Vì lấy mẫu ngẫu nhiên hiếm khi được đầy đủ, các chiến lược lấy mẫu đặc biệt cần được đưa vào. Để giảm bớt khó khăn này cho người dùng, chúng tôi bao hàm các kỹ thuật lựa chọn dữ liệu trong thực hiện SVM. Các kỹ thuật đó là các chức năng xác định và được thiết kế để thu được tính co giãn tốt mà không làm hỏng tính chính xác.

Một yêu cầu lựa chọn dữ liệu đặc biệt cho các công việc phân loại là tất cả các giá trị đích được biểu diễn tương xứng. Oracle sử dụng một cách tiếp cận lấy mẫu phân tầng với tỷ lệ lẫy mẫu nghiêng về các giá trị đích tỷ lệ. Thậm chí qua các thống kê giá trị liên quan (số bản ghi, yếu tố đích và sự phân bố các giá trị đích) chưa biết tại thời điểm dữ liệu được tải vào, giải thuật thực hiện trải qua 1 lần dữ liệu và tải vào trong bộ nhớ một phần dữ liệu càng cân bằng càng tốt với các giá trị đích. Tập con của các biểu ghi giữ trong bộ nhớ bao gồm 500.000 bản ghi với tối đa 50.000 bản ghi trên 1 giá trị đích. Nếu một vài giá trịđích không thểđiền các phần, các phần trên các đích khác có thể tăng lên.

S phân tích và la chn tp làm vic. Modul tối ưu cơ bản trong cách thực hiện của Oracle sử dụng hướng tiếp cận phân tích – mô hình SVM được xây dựng gia tăng bằng cách tối ưu hoá các tập làm việc nhỏ hướng về giải pháp chung. Mô hình được huấn luyện cho tới khi độ hội tụ trên tập làm việc hiện tại và sau đó tập làm việc này được cập nhật thêm các bản ghi mới và mô hình thích nghi với dữ liệu mới. Tiến trình tiếp tục lặp cho tới khi các điều kiện hội tụ trên tập dữ liệu huấn luyện được đáp ứng. Các mô hình với kernel tuyến tính sử dụng một tập làm việc độ dài cố định. Với các mẫu kernel không tuyến tính, độ lớn của tập làm việc được chọn về kernel kết hợp để kernel kết hợp với từng tập làm việc có thể được lưu trữ trong bộ nhớ dedicated kernel cache.

Tính lặp của tiến trình tối ưu hoá tạo cho phương pháp thiên về dao động – phương pháp có thể vượt ngưỡng các tập làm việc cục bộ do đó làm chậm sự hội tụ về giải pháp chung. Để tránh sự dao động, Oracle làm nhẵn giao dịch giữa các tập làm việc. Một phần đáng kể (tối đa) của tập làm việc sẽ được huấn luyện lại trong quá trình thay đổi tập làm việc. Khả năng nhớ lại được đưa ra tới các vector hỗ trợ không bị giới hạn với các bộ nhân Lagrangian hầu như giống với nhu cầu điều chỉnh sau này. Để thu được sự cải tiến mô hình nhanh, chọn các thành phần mới của tập làm việc từ trong số các bản ghi dữ liệu mà thực hiện kém hơn mức trung bình với mô hình hiện tại (ví dụ như kém mức vi phạm trung bình về các ràng buộc sự hội tụ mô hình). Về truyền thống, các phương pháp lựa chọn tập làm việc đánh giá tất cả các bản ghi dữ liệu huấn luyện, phân loại chúng và chọn các thành viên đứng đầu như các thành viên trong tập làm việc. Trong thực hiện của chúng tôi, chúng tôi không chọn chịu chi phí tính điểm các bản ghi dữ liệu thành viên. Thay vào đó, trong giai đoạn đánh giá chúng tôi tính toán một mức vi phạm trung bình. Oracle thực hiện quét các bản ghi dữ liệu. Nếu sự vi phạm lớn hơn trung bình, bản ghi dữ liệu sẽđược bao gồm trong tập làm việc. Nếu việc quét này không sinh ra một số bản ghi đủ để điền đầy tập làm việc, một lần quét thứ hai sẽ được khởi tạo với mọi bản ghi mà không đạt điều kiện hội tụ (ví dụ như có các vi phạm bằng 0) được bao gồm trong tập làm việc. Cả 2 lần quét để bắt đầu tại một điểm ngẫu nhiên trong danh sách các bản ghi và có thế bọc xung quanh nếu cần. Các lần quét kết thúc khi tập làm việc được điền đành. Cách tiếp cận này đã được tìm thấy thuận tiện cho việc tính điểm, không chỉ trong các giai đoạn tính toán hiệu quả, nhung cũng trong việc làm nhẵn giải pháp từ một tập làm việc với tập tiếp theo. Việc lựa chọn các bộ vi phạm tối đa có xu hướng sinh ra các thay đổi và dao động mô hình lớn trong giải pháp. Mặt

khác, thành phần ngẫu nhiên trong sự lựa chọn tập làm việc góp phần các giao dịch nhẵn hơn và hội tụ nhanh hơn

La chn Kernel t động. SVM tự động quyết định kiểu kernel tương ứng dựa trên các đặc tính dữ liệu xây dựng. Sự lựa chọn này có thể được thay đổi bởi một kiểu kernel xác định.

SVM kernel tựđộng được lựa chọn theo nguyên tắc sau: nếu nguồn dữ

liệu có số chiều lớn (100 chiều), một kernel tuyến tính được sử dụng, ngược lại Gaussian kernel được sử dụng. Nguyên tắc này đưa ra không chỉ số cột trong dữ liệu nguồn nhưng cũng là các yếu tố trong các thuộc tính phân loại và thông tin từ bất kỳ các cột bảng lồng nhau.

Chun b d liu và chn cu hình cho SVM. Người sử dụng có thể tác động tới cả chất lượng (tính chính xác) mô hình SVM và sự thực hiện (thời gian xây dựng) qua 2 kỹ thuật chính: chuẩn bị dữ liệuvà thiết lập mô hình. Sự giảm sút hiệu suất đáng kể có thể được gây ra bởi các sự lựa chọn kém của thiết lập sự chuẩn bị dữ liệu không tương ứng. Các thiết lập kém có thểđưa tói các mô hình không chính xác. SVM đã xây dựng các kỹ thuật dựng sẵn để lựa chọn các thiết đặc tương ứng tựđộng dựa trên dữ liệu được cung cấp. Có thể tự thiết lập các cấu hình quyết định hệ thống cho một vài lĩnh vực. Oracle 10g hỗ trợ 2 kernels là Linear và Gaussian.

Trong Oracle Text, các bản ghi dữ liệu với N thuộc tính có thểđược coi như các điểm trong không gian N chiều, SVM thực hiện phân chia các điểm vào các tập con với các giá trịđồng nhất cuối cùng bằng các siêu phẳng trong trường hợp tuyến tính và không tuyến tính (Gaussian) bằng các phân tách không tuyến tính. SVM tìm các vector mà định nghĩa các phân tác đưa ra sự phân biệt rộng nhất các lớp. SVM giải quyết vấn đề hồi quy bằng cách định nghĩa một “tupe” N_chiều xung quanh các điểm dữ liệu, quyết định các vector đưa ra sự phân tách lớn nhất

Cơ s tri thc. Cơ sở tri thức của Oracle Text chứa hơn 400,000 khái niệm từ nhiều lĩnh vực lớn được phân loại vào trong 2000 phân loại chúnh. Các phânloại đó được tổ chức phân cấp theo 6 terms chính: kinh doanh và kinh tế, khoa học và kỹ thuật, địa lý, chính phủ và quân đội, môi trường xã hội và các ý tưởng và khái niệm trừu tượng. Sự phân loại khái niệm, lựa chọn các phân loại và tổ chức phân cấp được thiết kế cẩn thận để hữu ích nhất trong thu nhận thông tin, đặc biệt tránh các vấn đề về nhập nhằng ngữ nghĩa.

Người dùng có thể mở rộng và thay đổi cơ sở tri thức bằng cách thêm các thuật ngữ hoặc định nghĩa lại một khái niệm nào đó.

4.2.2.2. Quy trình phân loại văn bản với Oracle

Phương pháp thứ hai có thể được sử dụng cho mục đích huấn luyện là phân loại Support Vector Machine (SVM). SVM là một kiểu giải thuật học máy xuất phát từ lý thuyết học thống kê. Một thuộc tính của phân loại SVM là có khả năng học từ một tập mẫu rất nhỏ. Để sử dụng bộ phân loại SVM người dùng phải tạo một bảng lưu các nguyên tắc phân loại, dữ liệu trong bảng này được tạo ra trong quá trình huấn luyện dựa trên các việc tính toán các đặc trưng của từng phân loại bắt nguồn từ các tài liệu đã được phân loại trước đó (tập dữ liệu huấn luyện đã phân loại). Bảng lưu các nguyên tắc cho từng phân loại phải có ít nhất các cột:

cat_id number, type number, rule blob

Như bạn thấy, rule sinh ra được ghi vào một trường BLOB. Với phân loại SVM, bộ nhớ định sẵn phải rất lớn để tải vào mô hình SVM, ngược lại, ứng dụng trên SVM sẽ sinh ra một lỗi tràn bộ nhớ. Công thức tính:

Chu trình thc hin: Cây phân loại Tập huấn luyện (có gán nhãn phân loại) Giải thuật huấn luyện Các từ khoá đánh trọng số theo từng phân loại Giải thuật Phân loại Tập tài liệu cần được phân loại Đánh chỉ số

Tài liệu phân loại vào 1 hoặc nhiều phân loại

Hình 4.2. Mô hình phân loại tổng quan trong Oracle

Các bước thc hin

9 Chuẩn bị dữ liệu: dữ liệu phải được chuẩn bị theo yêu cầu của giải thuật khai phá dữ liệu trước khi giải thuật được gọi. Các giải thuật khác nhau có các yêu cầu về sự chuẩn bị dữ liệu khác nhau. Chuẩn bị dữ liệu có thể đưa ra theo nhiều kiểu, như kết nối 2 hoặc nhiều bảng vào trong một bảng hoặc view, xử lý dữ liệu thiếu, chọn lựa các cột cho tập dữ liệu huấn luyện. Việc chuẩn bị dữ liệu bắt đầu với việc chọn lựa dữ liệu. Dữ liệu được chọn để huấn luyện cần có đủ thông tin để thể hiện được các phân loại dự định phân loại theo.

Thông thường việc này thực hiện được cần có sự kết hợp với các chuyên gia về lĩnh vực phát triển ứng dụng. Sau khi đã chọn được dữ liệu chúng ta cần phải xử lý chúng: loại bỏ các giá trị thưa, các giá trị thiếu, ...

9 Đá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òn được gọi là quá trình biểu diễn văn bản, dạng biểu diễn phải có cấu trúc và dễ dàng khi xử lý. Tốc độđánh chỉ số đóng vai trò quan trọng vì một số các văn bản mới có thể được xử lý trong thời gian thực. Đầu tiên, các văn bản được chuyển tới bộ đánh chỉ số. Tại đây, bộ đánh chỉ số đếm số các từ trong văn bản (N) theo tần xuất xuất hiện của mỗi từ

ki. Tại đây, bộđánh chỉ sốđếm số các từ trong văn bản (N) theo tần xuất xuất hiện của mỗi từki. Trong quá trình đánh chỉ số, một số từ khoá bị loại bỏ nếu nằm trong một trong các điều kiện sau:

ƒ Từ khoá thông thường (như: and, with,...) được định nghĩa trong danh sách các từ dừng, hoặc

ƒ Các từ khoá có trọng số thấp hơn một ngưỡng được xác định trước

Kết quả của bộ đánh chỉ số là một danh sách các từ được sinh ra gồm có: các từ khoá và trọng số của nó wi = ki /N.

9 Xác định bộ phân lớp/ Huấn luyện: phân loại văn bản yêu cầu diễn tả việc xác định văn bản thuộc lớp văn bản cho trước như thế nào, dựa trên cấu trúc biểu diễn của nó. Đối với hệ phân loại văn bản, quá trình này được gọi là bộ phân loại (categorier hoặc classifier). Để tạo ra các câu hỏi hay bộ phân lớp này Oracle sử dụng các thủ tục dựng sẵn tính toán các đặc trưng dựa trên các tham số mô hình

9 So sánh/Kiểm thử: trong hầu hết các bộ phân loại, mỗi văn bản đều được yêu cầu gán đúng sai vào một lớp nào đó, Oracle lại sử dụng một hệ thống tính điểm sự tương quan giữa một tài liệu với một phân loại theo thang điểm 100, điểm càng thấp thì khả năng tài liệu

Một phần của tài liệu phân loại văn bản bằng phương pháp support vector machine (Trang 65 - 80)

Tải bản đầy đủ (PDF)

(99 trang)