1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bootstrapping Phân Lớp Văn Bản bằng Nguồn Tài Nguyên Thư Viện Số

64 647 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 64
Dung lượng 1,42 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài thu hoạch này sẽ giới thiệu tổng quan về phân lớp văn bản tự động, nhưlịch sử, thảo luận về các khía cạnh khác nhau của các hệ thống ATC như các ứng dụng, các phương pháp theo Machin

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

Trang 3

11 – 2012

MỤC LỤC

Trang 4

LỜI MỞ ĐẦU

Automatic Text Classification (ATC) hay Categorization là quá trình tự động gán các tài liệu văn bản thuộc ngôn ngữ tự nhiên vào một hay nhiều mục/lớp tương ứng với nội dung của chúng ATC là một lĩnh vực con của Information Retrieval (IR) Biết được chủ đề của các văn bản tài liệu có thể nâng cao hiệu năng cho các hệ thống IR trong độ chính xác và tốc độ Ngoài

ra, phân lớp văn bản còn tác động đến các phương pháp tìm kiếm dựa trên keyword mà ở đó chúng trả về một khối kết quả lớn mà người dùng phải lọc một cách thủ công Hơn nữa, các tài liệu được phân lớp theo một cơ chế phân lớp chuẩn cho phép người sử dụng duyệt theo chủ đề Với sự phát triển cực kỳ nhanh của các tài liệu điện tử và các lợi ích của việc phân lớp tài liệu, sự phát triển của các hệ thống ATC và các ứng dụng của chúng như đã nói ở trên đã thu hút các nhà nghiên cứu từ các cộng đồng machine learning, information retrieval, và data management Một số ví dụ của việc phân lớp tài liệu như phân lớp các webpage, sắp xếp email, các bài báo, tin tức hay cho các mục đích nào đó của người sử dụng

Các thuật toán Machine Learning (ML) đã trở thành cách tiếp cận phổ biến nhất cho ATC từ những năm 1990 cho đến nay Thực tế, các hệ thống ATC dựa trên ML đã chứng minh cho sự thành công to lớn trong phần lớn các ứng dụng với phân lớp văn bản chẳng hạn như lọc spam, phân mục tin tức, bài báo,

và phân loại các webpage Tuy nhiên, các hệ thống này cần phải có một lượng lớn các tài liệu, văn bản được phân lớp trước cho mỗi chủ đề/mục/lớp để huấn luyện cho các thuật toán ML, và phần lớn các trường hợp này thì các dữ liệu huấn luyện không có sẵn Trong các tình huống này, người ta thường nhờ

Trang 5

những người chuyên gia để phân loại, lập mục để tạo ra một tập dữ liệu huấn luyện được gán nhãn Tuy nhiên, quá trình này thì quá tốn kém tiền bạc cũng như thời gian và không thực tế trong nhiều trường hợp Chẳng hạn, một một cơchế phân lớp với kích cỡ trung bình là 1000 lớp, số lượng tài liệu cần được gánnhãn để huấn luyện là 100 cho mỗi lớp Thì người phân loại sẽ phán gán nhãn cho 100,000 tài liệu Ngoài ra, cơ chế phân lớp có thể bị thay đổi và dữ liệu huấn luyện lúc đầu có thể không sử dụng được nữa do lỗi thời (chẳng hạn các khái niệm nào đó thay đổi theo thời gian) Các vấn đề này đòi hỏi phải thực hiện lại quá trình gán nhãn thủ công tốn kém để giữ cho tập dữ liệu huấn luyện được cập nhật và chính xác

Bài thu hoạch này sẽ giới thiệu tổng quan về phân lớp văn bản tự động, nhưlịch sử, thảo luận về các khía cạnh khác nhau của các hệ thống ATC như các ứng dụng, các phương pháp theo Machine Learning (ML), các phương pháp đểbiểu diễn/mô hình văn bản, các kỹ thuật chọn và giảm các đặc trưng, các độ đo hiệu năng, và các tập dữ liệu kiểm chuẩn Tiếp theo, là giới thiệu một phương pháp bootstrapping cho các hệ thống phân lớp dựa trên nguồn tài nguyên thư viện điện tử để giải quyết vấn đề tốn kém khi gán nhãn văn bản bằng tay hoặc không có dữ liệu chuẩn để huấn luyện bộ phân lớp Sau cùng là phần hiện thực phương pháp đó cũng như đánh giá kết quả thử nghiệm

Lời cảm ơn, em chân thành xin dành cho thầy Phúc vì những kiến thức của Thầy mang lại để giúp em có được cũng như hoàn thành tốt bài thu hoạch này

Trang 6

I Phân Lớp Văn Bản Tự Động

1. Giới Thiệu

Trong phần này ta sẽ giới thiệu một cách tổng quan về lĩnh vực Automatic Text Classification/Categorisation (ATC) và thảo luận về các khía cạnh khác nhau của các hệ thống ATC như các ứng dụng, các phương pháp theo MachineLearning (ML), các phương pháp để biểu diễn/mô hình văn bản, các kỹ thuật chọn và giảm các đặc trưng, các độ đo hiệu năng, và các tập dữ liệu kiểm chuẩn

ATC là quá trình tự động gán các tài liệu văn bản ngôn ngữ tự nhiên vào một hay nhiều mục/lớp tương ứng với nội dung của chúng Nó có thể được chia thành ba loại như sau:

- Binary classification: ở đây chỉ có hai mục/lớp duy nhất, và một văn bản chưa được gán nhãn sẽ chỉ thuộc về một một trong hai lớp đó Một ví dụ thường thấy của kiểu này là các hệ thống lọc spam, nội dung của một email

sẽ được phân loại thành spam hay không spam

- Multi class classification: ở đây có nhiều hơn hai mục/lớp, nhưng một văn bản chỉ có thể thuộc về một lớp

- Multi label classification: ở đây có nhiều hơn hai mục/lớp, và một văn bản

có thể thuộc về nhiều lớp

Phụ thuộc vào ứng dụng, một hệ thống ATC có thể được yêu cầu thực hiện phân lớp “cứng” hoặc phân lớp “mềm” Phân lớp cứng cung cấp một giá trị chân trị {True, False} để chỉ sự thuộc về hay không thuộc về của một văn bản đối với một mục/lớp nào đó Phân lớp cứng được sử dụng phần lớp trong các

Trang 7

bộ phân lớp hoàn toàn “tự trị”, có nghĩa là các kết quả không cần được xác nhận lại bởi những chuyên gia phân loại như trong giai đoạn cuối Ngược lại, phân lớp mềm cung cấp một con số thực giữa 0.0 và 1.0 để chỉ mức độ phụ thuộc của một văn bản đối với một mục/lớp nào đó Điều này hữu ích cho các

hệ thống ATC mà việc phân lớp các tài liệu cuối cùng được quyết định bởi những người phân lớp bằng cách sử dụng các đề nghị bởi các hệ thống phân lớp tự động

ATC xuất hiện vào những năm đầu 1960 Tuy nhiên, qua hai thập kỷ, do sựphát triển bùng nổ của các tài liệu điện tử trên Internet, intranet, và các thư viện số Do đó, đã nảy sinh nhu cầu cần phải có các hệ thống tự động có khả năng quản lý các khối dữ liệu lớn, ATC đã thu hút một lượng lớn các nhà nghiên cứu làm việc trong nhiều lĩnh vực như: khai khá dữ liệu, truy hồi thông tin, quản lý dữ liệu, máy học, xử lý ngôn ngữ tự nhiên, và các thư viện số.Cho đến cuối những năm 1980, Knowledge Engineering (KE) là cách tiếp cận phổ biến nhất để hiện thực các hệ thống ATC Nói chung, các tiếp cận này đòi hỏi việc định nghĩa bằng tay một tập luật để mã hóa các kiến thức của chuyên gia về việc làm thế nào để phân lớp văn bản theo các mục/lớp đã cho

Ví dụ nổi tiếng nhất của cách tiếp cận này là hệ thống Construe Trong những năm 1990, với sự tiến bộ trong lĩnh vực máy học và sự phát triển của phần cứng với khả năng xử lý hàng ngàn tài liệu trong một thời gian ngắn hợp lý, các thuật toán máy học được chấp nhận rộng rãi trong ATC và thay thế đi các phương pháp dựa trên luật Trong cách tiếp cận sau này, các thuật toán máy học đóng vai trò các kỹ sư kiến thức tương ứng với các hệ thống dựa trên luật

và tự động học các đặc tính phân biệt cho từng lớp bằng cách phân tích một tậptài liệu mẫu được phân lớp trước cho từng lớp Ưu điểm của cách tiếp cận này là:

Trang 8

- Tập trung kỹ thuật vào việc xây dựng một bộ xây dựng tự động các bộ phânlớp (người học) thay vì xây dựng từng bộ phân lớp riêng lẻ Do đó, nếu tập các mục/lớp bị cập nhật hay nếu hệ thống bị chuyển sang lĩnh vực khác, tất

cả điều cần là một tập tài liệu được phân lớp khác để học

- Các hệ thống dựa vào máy học yêu cầu hiểu rõ lĩnh vực cho việc gán nhãn, trái ngược với việc thông thạo kỹ thuật xây dựng tri thức trong trường hợp cho các hệ thống dựa trên luật

- Đôi khi các tài liệu được phân lớp đã có sẵn, điều này giảm một phần lớn chi phí và thời gian cho việc xây dựng tập dữ liệu huấn luyện cho các chuyên gia để phát triển một hệ thống ATC dựa vào máy học Ví dụ như phát triển một hệ thống ATC để tự động phân lớp các tài liệu nghiên cứu liên quan đến khoa học máy tính giống như ACM Computing ClassificationSystem (ACM-CCS) Trong trường hợp này, có sẵn một số lượng lớn các bài báo nghiên cứu trong thư viện số ACM tại http://portal.acm.org/dl.cfm, những bài báo này được phân lớp bằng tay theo ACM-CSS và có thể được

sử dụng cho việc huấn luyện một bộ phân lớp dựa vào máy học

2. Các ứng dụng ATC

Dưới đây sẽ mô tả các ứng dụng ATC phổ biến nhất:

- Tổ chức tài liệu: tự động lập chủ đề cho các bài báo, tạp chí, các bài báo hộinghị, quảng cáo, …

- Tổ chức các thư viện số: các thư viện số quy mô lớn chứa hàng ngàn hạng mục và do đó yêu cầu triển khai các kỹ thuật truy hồi thông tin và vấn tin linh hoạt để cho phép người sử dụng dễ dàng tìm thấy những mục mà họ mong muốn Để cung cấp những kết quả tìm kiếm với độ chính xác cao, ta

Trang 9

cần phải vượt qua các kỹ thuật tìm kiếm truyền thống dựa vào keyword, mà

ở đó chúng trả về một khối lượng lớn các kết quả mà không đánh giá nội dung Việc phân lớp các tài liệu trong một thư viện số dựa trên một cơ chế được định nghĩa trước sẽ nâng cao độ chính xác trong việc truy vấn thông tin đáng kể và cho phép người sử dụng duyệt tập hợp theo chủ đề

- Phân lớp các webpage: phân lớp nội dung văn bản của webpage thực chất

là các công việc như: crawling, bán tự động xây dựng thư mục web, và phân tích cấu trúc chủ đề web Phân lớp webpage có thể giúp cho việc nângcao chất lượng tìm kiếm web

- Lọc spam: trong hình thức đơn giản, thì lọc spam có thể được xem như là một tác vụ phân loại văn bản mà chỉ có hai lớp là spam và không spam, hợp

lệ Nhiều thuật toán máy học có giám sát đã thành công khi áp dụng vào việc lọc spam email

- Nhận dạng thể loại văn bản tự động: thể loại trên văn bản có các đặc điểm khác hơn so với các nội dung chủ đề thông thường Thể loại văn bản hay kiểu của văn bản thì được xem như là đặc trưng cho mục đích của văn bản được viết Ví dụ cho các thể loại là: bài báo nghiên cứu, tiểu thuyết, thơ, tintức, quảng cáo, … Các ứng dụng dựa trên văn bản ngày càng có nhiều thể loại khác nhau, do đó phân loại theo thể loại rất hữu ích cho nhiều mục đích

- Lọc web: các request tới các web nào đó sẽ được lọc và nội dung của các web trả về sẽ được phân tích để chặn nội dung không mong muốn Lọc web

có hai ứng dụng chính sau:

Trang 10

o Bảo vệ chống lại nội dung không thích hợp: Internet đã trở thành một nguồn thông tin vô cùng quan trọng Tuy nhiên, nó cũng nơi chứa hàng loạt nội dung không thích hợp, cụ thể là cho trẻ em Lọc web có thể được sử dụng để ngăn chặn các truy cập đến các trang web mà được dựavào một chính sách, luật định trước.

o Ngăn chặn chống lại sự lạm dụng tài nguyên mạng: mục đích chính ở đây là để ngăn chặn sự lạm dụng tài nguyên trong một tổ chức nào đó Một vấn đề thường thấy trong nhiều tổ chức là cung cấp truy cập

Internet cho nhân viên mà phần lớn tài nguyên mạng được sử dụng cho các ứng dụng như chat, game, download video, audio Việc lạm dụng như thế sẽ giảm năng suất, hiệu năng tải trên toàn bộ mạng và do đó, sẽ làm trở ngại cho các hoạt động chính đáng

3. Các phương pháp máy học cho ATC

- là xác suất tiên nhiệm hay xác suất biên của một sự kiện cho trước Nó là

“tiên nghiệm” theo nghĩa rằng nó không quan tâm đến bất kỳ thông tin nào

về B.

- là xác suất có điều kiện của , biết Nó còn được gọi là xác suất hậu nhiệm bởi vì nó được suy ra từ hay phụ thuộc vào giá trị của

Trang 11

- là xác suất có điều kiện của biết Nó còn được gọi là khả năng

Như trên luật được sử dụng để tính xác suất của mỗi lớp đối với , và Class với xác suất cao nhất sẽ được phân cho Trong công thức trên, là hằng số chia,chung cho mỗi lần tính và do đó có thể bỏ đi khỏi công thức

Trong mô hình này mỗi tài liệu được biểu diễn bằng một vector gồm các từ

(vector Euclidean) trong không gian n chiều, mỗi chiều tương ứng với một từ

riêng biệt và khoảng cách dọc theo chiều đó là số lần mà từ đó xảy ra trong tài liệu Trong một thiết lập phổ biến, một tập tài liệu để huấn luyện được phân lớp bằng tay thì được sử dụng cho tham số xác suất tiên nhiệm và xác suất (từ)

có điều kiện Xác suất có điều kiện của từ trong lớp được tính như sau:

ở đây là số lần của từ xuất hiện trong các tài liệu huấn luyện mà thuộc về , n là tổng số từ trong các tài liệu huấn luyện thuộc về , và Vocabulary là một tập

hợp các từ phân biệt mà xuất hiện trong tất cả các tài liệu huấn luyện Xác suất tiên nhiệm có thể được tính bằng cách đem chia số lượng tài liệu thuộc cho tổng số lượng tài liệu huấn luyện Và nếu một tài liệu được phân loại đến lớp thích hợp nhất thì cho tài liệu đó được xác định như sau:

Trang 12

ở đây S là một tập hợp tất cả các lớp đích cĩ khả năng và là tần số của từ k

trong tài liệu kiểm thử

Nhân một lượng lớn các xác suất, với giá trị xác suất là giữa 0 và 1 thì kết quả cĩ thể bị tràn dưới dấu chấm động Để tránh điều này, ta lấy tổng logarit các xác suất thay vì nhân:

Cuối cùng, lớp với xác suất cao nhất được chọn là lớp đích cho tài liệu

Cĩ hai phương pháp khác nhau được sử dụng cho việc mơ hình hĩa dữ liệu văn bản cho thuật tốn NB Mơ hình phổ biến hơn là Multinomial Nạve Bayes(MNB), sử dụng một Bag Of Words (BOW), túi từ để biểu diễn văn bản Sử dụng cách biểu diễn BOW, một văn bản chẳng hạn như một tài liệu sẽ được chuyển thành một tập các từ khơng cĩ thứ tự và số lần mỗi từ xuất hiện trong tài liệu đĩ Để tạo một tập dữ liệu cho việc huấn luyện thuật tốn NB mà sử dụng mơ hình này, thì tất cả tài liệu mà thuộc về cùng một lớp sẽ được nối với nhau để tạo ra một tài liệu lớn Cĩ một cách tiếp cận khác ít phổ biến hơn để

mơ hình hĩa dữ liệu cho thuật tốn NB là mơ hình Multi-Variate Bernoulli (MVB) Trong mơ hình này tần số xuất hiện của từ khơng được quan tâm đến

và giá trị của mỗi đặc trưng (từ) là 0 hay 1 (mơ hình nhị phân) McCallum và đồng nghiệp [1] đã so sánh hiệu năng của mơ hình MVB với mơ hình

Multinomial và kết luận rằng mơ hình Multinomial thì hiệu quả hơn trong phầnlớn các trường hợp Tuy nhiên, một nghiên cứu gần đây bởi Schneider chứng

tỏ rằng MNB khơng vượt trội hơn MVB [2]

Thuật tốn Nạve Bayes đã trở thành “bao cát tập đấm” trong các thuật tốnphân lớp, nĩ thường xuyên được đặt cuối hay gần cuối trong nhiều nghiên cứu

để so sánh độ chính xác của các thuật tốn ATC khác dựa vào máy học Nĩ

Trang 13

thường xuyên được sử dụng trong các hệ thống ATC bởi vì tốc độ của nĩ và dễdàng cài đặt Vấn đề lớn nhất với thuật tốn NB là giả định “nạve” rằng các từthì độc lập với nhau và sự nằm kề nhau giữa chúng thì khơng liên quan Cĩ một số nghiên cứu (xem ví dụ trong [3]) đã thảo luận về các lý do tại sao kết quả đạt độ chính xác cao đáng ngạc nhiên của NB bất chấp các vấn đề về phương pháp của nĩ chẳng hạn như là giả định các từ độc lập nhau Một nghiên cứu gần đây của Wolf và các đồng nghiệp [4], đã điều tra bản chất thơng tin con người sử dụng để phân lớp tài liệu, cho thấy con người cĩ thể đạtđược độ chính xác tương tự nhau mặc dù cĩ hay khơng cĩ thơng tin về cú pháp Hơn nữa, cần lưu ý rằng các thuật tốn ATC theo máy học khác với mục tiêu mơ hình văn bản chính xác hơn và xem xét đến thơng tin cú pháp dẫn đến trở nên chậm hơn và phức tạp hơn Một nghiên cứu gần đây bởi Hand [5] đã cho thấy các đặc tính ưu việt của các thuật tốn phân lớp phức tạp dựa trên máy học khơng đáng kể để khẳng định sự hữu ích của chúng trong nhiều trường hợp và các kết quả tốt về các đặc tính của các thuật tốn đĩ trong cài đặt thử nghiệm thì khơng đạt được kết quả tốt trong các ứng dụng thực tế Các tranh luận này cho ta thấy lý do tại sao mà các thuật tốn NB được sử dụng rộng rãi trong các ứng dụng thực, mặc dù độ chính xác của các thuật tốn phứctạp khác được báo cáo trong các tài liệu Nhiều phiên bản sửa đổi của các thuậttốn NB đã được báo cáo trong tài liệu và chúng cho thấy những cải tiến hơn phiên bản đầu, xem ví dụ trong [6-7] Trong số các phiên bản cải tiến, những

sự thay đổi được đề xuất bởi Rennie và đồng nghiệp [6] thì được chấp nhận rộng rãi nhất Trong một thử nghiệm của Arash Joorabchi [19], đã cài đặt những sự thay đổi theo đề xuất bởi Rennie và các đồng nghiệp thì đạt được kết quả tương tự Nĩ xứng đáng là đối thủ của các thuật tốn ATC theo máy học tiên tiến nhất chẳng hạn như SVM

Trang 14

3.2. Support Vector Machine (SVM)

SVM được biết đến như là thuật toán tiên tiến nhất cho phân lớp văn bản tựđộng Nó được áp dụng lần đầu tiên cho vấn đề phân lớp văn bản bởi Joachimsvào năm 1998 SVM là một phương pháp máy học dựa trên không gian vector, mục đích là để tìm một ranh giới giữa hai lớp sao cho khoảng cách từ bất kỳ điểm nào trong tập dữ liệu huấn luyện tới ranh giới là xa nhất có thể Để hiểu khái niệm cơ bản của SVM, trước hết ta sẽ nói về perceptron, cũng là một máy phân lớp tuyến tính và có vài điểm giống nhau với SVM

Perceptron được đề xuất bởi Frank Rosenblatt vào năm 1956 Nó là một

máy phân lớp tuyến tính, ánh xạ đầu vào x, một vector số thực, đến một đầu ra

f(x), là một giá trị nhị phân:

với w là một vector của các trọng số số thực, w.x là tích của trọng số và các

vector đầu vào, và b là hệ số dịch chuyển, một hằng số không phụ thuộc vào

bất kỳ giá trị đầu vào nào Trong suốt quá trình huấn luyện, cho một tập huấn luyện có thể tách rời tuyến tính S:

và một tỷ số học , vector trọng số và hệ số dịch chuyển được cập nhật sau mỗi đầu vào theo thuật toán sau:

Trang 15

Thủ tục này đảm bảo hội tụ với điều kiện là tồn tại một siêu phẳng tuyến tính để mà phân loại đúng dữ liệu huấn luyện Nếu dữ liệu không tách rời tuyến tính, thì vòng lặp sẽ lặp vô tận và thủ tục sẽ không bao giờ hội tụ Do đó,perceptron tuyến tính chỉ có thể được áp dụng khi dữ liệu đảm bảo được tách rời tuyến tính Các ví dụ về dữ liệu tách rời tuyến tính và không thể tách rời trong như hình dưới đây (a-b).

Trang 16

Như trong hình (c) perceptron có vô số siêu phẳng tuyến tính Nhưng bằng trực giác siêu phẳng tốt nhất có giới hạn lớn nhất với các điểm dữ liệu như trong hình (d) SVM nhắm vào hai vấn đề này Nó có thể triển khai phân lớp

các tập dữ liệu mà không thể tách rời tuyến tính và cũng có thể tìm w và b tối

ưu, như thế siêu phẳng phân chia có lề lớn nhất với các điểm dữ liệu và do đó,

có khả năng cao nhất để phân lớp chính xác dữ liệu không thấy trước

Trang 17

Ở đây, ta sẽ xem xét trước về việc như thế nào SVM tìm siêu phẳng phân chia tốt nhất với lề lớn nhất và sau đó mô tả cách tiếp cận SVM trong việc giải quyết các vấn đề phân lớp không tuyến tính bằng cách sử dụng kỹ thuật ranh giới mềm và mẹo kernel.

Như đã nói ở trên siêu phẳng tốt nhất có lề lớn nhất với các điểm dữ liệu và

do đó, có xác suất lỗi là tối thiểu Siêu phẳng phân chia là một đường thẳng

trong n chiều Các điểm gần nhất với siêu phẳng phân chia được gọi là các

vector hỗ trợ Các đường mà các vector hỗ trợ tạo ra trên mỗi mặt của siêu phẳng phân chia được gọi là siêu phẳng chính tắc

Siêu phẳng phân chia tốt nhất

Trang 18

Trong một không gian với chiều tùy ý, một siêu phẳng phân chia có thể được viết như sau:

Bằng cách lấy phương trình một siêu phẳng trừ đi cái khác:

(w.x + b = -1) – (w.x + b = 1) = w.( (1)

ta nhận được hai vector hỗ trợ trên mỗi mặt của siêu phẳng

Lề sẽ được xác định bằng phép chiếu vector lên trên vector pháp tuyến đến siêu phẳng phân chia

Margin (lề) =

Ta có thể xem minh họa hình sau:

Trang 19

Lề của siêu phẳng phân chia

Chia đồng thời về vế của biểu thức (1) cho ||w|| sẽ cho ta phương trình cho

siêu phẳng phân chia:

Mục tiêu của ta là tối đa hóa lề tương đương với tối tiểu hóa ||w||

Do đó tối đa hóa lề tương đương tối thiếu hóa hàm:

phụ thuộc vào ràng buộc:

Trang 20

Dạng ban đầu

Bài toán tối ưu ở mục trên tương đối khó giải vì hàm mục tiêu phụ thuộc vào ||

w||, là một hàm có khai căn Tuy nhiên có thể thay ||w|| bằng hàm mục tiêu (hệ

số 1/2 để tiện cho các biến đổi toán học sau này) mà không làm thay đổi lời

giải (lời giải của bài toán mới và bài toán ban đầu có cùng w và b) Đây là một

bài toán quy hoạch toàn phương Cụ thể hơn:

Cực tiểu hóa (theo w, b)

với điều kiện (với mọi i = 1, …, n)

Bằng cách thêm các nhân tử Lagrange , bài toán trên trở thành

nghĩa là ta cần tìm một điểm yên ngựa Khi đó, tất cả các điểm không nằm trên

lề, nghĩa là đều không ảnh hưởng đến giá trị hàm mục tiêu vì ta có thể chọn bằng không

Có thể giải bài toán này bằng các kĩ thuật thông thường cho quy hoạch toàn phương Theo điều kiện Karush–Kuhn–Tucker, lời giải có thể được viết dưới dạng tổ hợp tuyến tính của các vectơ luyện tập

Trang 21

Chỉ có một vài nhận giá trị lớn hơn 0 Các điểm tương ứng là các vectơ hỗ trợ

nằm trên lề và thỏa mãn = Từ điều kiện này, ta nhận thấy

từ đó ta suy ra được giá trị Trên thực tế, một cách thức tốt hơn để tính là tính giá trị trung bình từ tất cả vectơ hỗ trợ:

Dạng đối ngẫu

Nếu viết điều kiện phân loại dưới dạng đối ngẫu không điều kiện thì sẽ dễ dàngnhận thấy siêu phẳng với lề lớn nhất, và do đó nhiệm vụ phân loại, chỉ phụ

thuộc vào các điểm luyện tập nằm trên lề, còn gọi là các vectơ hỗ trợ.

Vì và , ta nhận thấy bài toán đối ngẫu của SVM là chính là bài toán tối ưu hóa sau:

Cực đại hóa (theo )

với điều kiện (với mọi i = 1, …, n)

Trang 22

và điều kiện sau ứng với việc cực tiểu hóa theo

Ở đây hàm hạt nhân được định nghĩa là

Sau khi giải xong, có thể tính w từ các giá trị tìm được như sau:

Trong tình huống một tập huấn luyện không tách rời tuyến tính, cách tiếp cận chuẩn là cho phép lề có một vài lỗi (ví dụ vài điểm bất thường hay nhiễu thì nằm trong hay ngoài nhầm bên của lề) Thậm chí trong tình huống dữ liệu tách rời tuyến tính ta có thể ưu tiên một giải pháp mà phân chia lượng lớn dữ liệu bằng cách làm cho lề lớn hơn trong khi lờ đi một vài dữ liệu nhiễu Sau đó

ta sẽ trả một cái giá cho mỗi ví dụ phân lớp nhầm, điều này phụ thuộc vào bao

xa đến lề trong biểu thức (2) Để thực hiện điều này, ta sử dụng biến bù Một giá trị khác 0 của cho phép không gặp yêu cầu của lề với một chi phí tỷ lệ với giá trị của Công thức vấn đề tối ưu SVM với biến bù là:

với điều kiện

SVM cũng sử dụng mẹo kernel để phân lớp tập dữ liệu mà không có thể tách rời tuyến tính Ý tưởng cơ bản là ánh xạ không gian đặc trưng gốc đến vài không gian đặc trưng nhiều chiều hơn mà tập huấn luyện có thể tách rời Dĩ nhiên, ta muốn thực hiện trong những cách nào mà vẫn giữ được quan hệ các

Trang 23

chiều là những gì liên quan giữa các điểm dữ liệu, để mà kết quả bộ phân lớp vẫn khát quát hóa đúng Ví dụ, các điểm dữ liệu trong hình (a) dưới đây không tách rời tuyến tính trong không gian đặc trưng 2 chiều Lúc này nếu ta ánh xạ

dữ liệu thành không gian 3 chiều bằng cách:

sau đó ta có thể tách rời tuyến tính dữ liệu ánh xạ bằng cách sử dụng một siêu phẳng trong :

Mẹo kernel làm dữ liệu tách rời tuyến tính

3.3. K-Nearest Neighbour (k-NN)

Thuật toán k-NN là thuật toán khá nổi tiếng theo hướng tiếp cận thống kê

đã được nghiên cứu trong nhiều năm qua K-NN được đánh giá là một trong

Trang 24

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.

Ý tưởng của phương pháp này là khi cần phân loại một văn bản mới, thuật toán sẽ xác định khoảng cách (có thể áp dụng các công thức về khoảng cách như Euclide, Cosine, Manhattan, …) của tất cả các văn bản trong tập huấn

luyện đến văn bản này để tìm ra k văn bản gần nhất, gọi là k láng giềng gần

nhất, sau đó dùng các khoảng cách này đánh trọng số cho tất cả các lớp Khi

đó, trọng số của một lớp chính là tổng tất cả các khoảng cách ở trên của các

văn bản trong k láng giềng có cùng lớp, lớp nào không xuất hiện trong k láng

giềng sẽ có trọng số bằng 0 Sau đó các lớp sẽ được sắp xếp theo giá trị trọng

số giảm dần và lớp có trọng số cao sẽ được chọn là lớp cho văn bản cần phân loại

Trọng số của lớp đối với văn bản x được tính như sau:

trong đó:

thuộc {0,1}, với:

y = 0: văn bản không thuộc về chủ đề

y = 1: văn bản thuộc về chủ đề

sim(: độ tương tự giữa văn bản cần phải phân loại x và văn bản Chúng ta có

thể sử dụng độ đo cosine để tính khoảng cách:

sim(

là ngưỡng phân loại của lớp được tự động học sử dụng một tập văn bản hợp lệđược chọn ra từ tập huấn luyện

Trang 25

4. Biểu diễn văn bản

Tài liệu văn bản, bởi vì chúng không thể được “hiểu” bởi các thuật toán phân lớp Do đó cần phải có một thủ tục để mà ánh xạ văn bản thành một cách biểu diễn gọn gàng, cô đọng Chọn lựa một cách biểu diễn cho văn bản phụ thuộc vào cách người ta quan tâm đến như ý nghĩa văn bản (vấn đề ngữ nghĩa của từ vựng) và các luật ngôn ngữ tự nhiên (vấn đề ngữ nghĩa hợp thành) Trong đúng cách của truy hồi thông tin, mỗi tài liệu thông thường được biểu

diễn bằng một vector n chiều của các mục từ có trọng số mà xuất hiện trong tài

liệu Sự khác nhau giữa những cách tiếp cận khác nhau để biểu diễn nội dung văn bản là:

- Cách hiểu một mục từ là gì

- Cách đánh trọng số mục từ

Một sự chọn lựa thông thường cho vấn đề đầu tiên là xem mỗi từ trong tài liệu như là một mục từ Điều này gọi là cách tiếp cận Bag-Of-Words (BOW)

để biểu diễn tài liệu Mô hình BOW trong hình thức đơn giản nhất của nó là

chuyển một tài liệu văn bản ngôn ngữ tự nhiên thành một vector n chiều, với

mỗi từ trong tài liệu được biểu diễn như là một chiều, và tần số của từ đó trong tài liệu là trọng số/độ dài của chiều đó Mô hình BOW hoàn toàn không để ý đến trình tự của các từ trong tài liệu Có nhiều mô hình phức tạp hơn được đề xuất với mục tiêu để biểu diễn tài liệu văn bản chính xác hơn Các mô hình này

cố gắng tìm ra nhiều đơn vị tinh vi, phức tạp, giàu ngữ nghĩa trong văn bản Các đơn vị như thế có thể được chia thành ba nhóm:

- Các cụm từ theo thống kê: các cụm từ mà không có ngữ pháp, nhưng bao gồm một tập/chuỗi từ mà xảy ra liên tục kế nhau với tần số cao trong tập dữ liệu

Trang 26

- Các cụm từ có ngữ pháp: các cụm từ mà có tính ngữ pháp theo ngữ pháp của một ngôn ngữ nào đó.

- Các cụm từ theo ontology: các cụm từ mà tương ứng với một hay nhiều khái niệm trong một ontology Trong mô hình này, là các tiến bộ mới trong lĩnh vực phân tích ngữ nghĩa văn bản, tài liệu được biểu diễn bởi một vector của các khái niệm/chủ đề được liên kết trực tiếp với nội dung của nó

Đối với vấn đề thứ hai, sự khác nhau trong việc biểu diễn văn bản giữa những cách tiếp cận khác nhau, là trọng số gán cho mỗi mục từ Phương pháp đơn giản nhất là Term Frequency (TF), trong đó trọng số của mỗi mục từ thì bằng số lần nó xuất hiện trong văn bản Tuy nhiên, cơ chế đánh trọng số phổ biến nhất là Term Frequency Inverse Document Frequency (TFIDF) dựa trên hai trực giác:

- Một mục từ xuất hiện càng nhiều trong một tài liệu thì khả năng nó đại diện cho nội dung tài liệu càng cao

- Một mục từ xuất hiện trong nhiều tài liệu thì nó ít có tính phân biệt.TFIDF thì cao cho các mục từ mà có tần số cao trong một tập con nhỏ của một tài liệu trong tập dữ liệu, nhưng hiếm khi xuất hiện trong các tài liệu khác Trọng số TFIDF cho một mục từ, , trong tài liệu , trong tập dữ liệu được tính như sau:

trong đó là tần số của mục từ trong tài liệu , N là số lượng tài liệu trong tập dữ liệu, và n là số lượng tài liệu mà mục từ xuất hiện trong đó ít nhất một lần là

độ đo tần số tài liệu nghịch đảo

Trang 27

4.1. Vấn đề chiều lớn

Các văn bản tài liệu tự nhiên chứa một số lượng lớn các từ và do đó biểu diễn vector của chúng có số chiều rất lớn, mà điều này trong nhiều thuật toán máy học không dễ giải quyết với chúng Tuy nhiên, không phải tất cả các chiềunày ảnh hưởng tới quá trình phân lớp Do đó, yêu cầu là mô hình chỉ chứa những chiều/mục từ có tính phân biệt Trong phần này ta sẽ tìm hiểu các phương pháp và kỹ thuật khác nhau được sử dụng cho việc giảm số chiều của các vector văn bản

Stop word là các từ cực kỳ phổ biến chung chung (ví dụ như the, of, is) xuất

hiện trong hầu hết các tài liệu và không có giá trị phân biệt cao Loại bỏ các từ như thế khỏi việc biểu diễn văn bản làm giảm số lượng từ trong tài liệu mà không ảnh hưởng kết quả

Theo ngữ pháp, các tài liệu sử dụng các hình khác nhau của một từ tùy theo

theo nhu cầu Ví dụ động từ ‘organize’ có thể được sử dụng là ‘organizes’,

‘organizing’, … Ngoài ra, còn có các từ có chung một nguồn gốc với nghĩa tương tự nhau như ‘democracy’, ‘democratic’, và ‘democratization’ Mục tiêu

của stemming và lemmatization là giảm các hình thức biến tố và đưa hình thức của một từ về dạng phổ biến nhất Ví dụ:

am, are, is => be car, cars, car’s, cars’ => car The boy’s cars are different colours => The boy car be differ colour

Trang 28

Tuy nhiên, stemming và lemmatization có sự khác nhau Stemming thông thường là một quá trình heuristic để mà chặt bỏ phần đuôi của từ, thường là cácphụ tố của từ Lemmatization thì sử dụng một bộ phân tích từ vựng và hình thái của từ, với mục tiêu loại bỏ phần biến tố đuôi và trả về hình thức cơ bản/từ

điển của một từ Ví dụ với từ ‘saw’, stemming có thể trả về chỉ là ‘s’, ngược lại lemmatization sẽ cố gắng trả về ‘see’ hay ‘saw’, phụ thuộc vào mục từ đó là

động từ hay là danh từ Stemming thông thường thu thập các hình thức của từ gốc, ngược lại lemmatization chỉ thu thập các hình thức biến tố khác nhau của

từ Quá trình xử lý ngôn ngữ cho stemming và lemmatization thường được thực hiện bởi một thành phần phụ plug-in, có cả mã nguồn mở và thương mại Thuật toán nổi tiếng nhất cho stemming English, và đã được kiểm chứng rất hiệu quả là thuật toán Porter

4.1.3. Các phương pháp chọn đặc trưng

Mục tiêu của việc chọn/rút trích đặc trưng là để giảm số mục từ trong tài liệu bằng cách lọc ra các mục từ mà không có hoặc ít ảnh hưởng tới kết quả phân lớp Phương pháp đơn giản nhất cho việc chọn đặc trưng là giữ các từ mà xuất hiện nhiều nhất trong các tài liệu của tập dữ liệu huấn luyện Có nhiều hàm phức tạp chấm điểm mục từ để đo sự đóng góp của một mục từ cụ thể đếnkết quả của tác vụ phân lớp Một vài phương pháp trong đó là:

- Information Gain (IG): nó đo số lượng các mẩu của thông tin đạt được cho lớp tiên đoán bằng cách hiểu sự có mặt hay sự vắng mặt của một mục từ trong một tài liệu từ tập dữ liệu huấn luyện Cho là tập các lớp trong tập dữ

liệu Độ lợi của một mục từ t được tính như sau:

Trang 29

trong đó

- là xác suất của lớp i

- là xác suất của lớp i nếu t ở trong tài liệu; tức là tỷ lệ của tài liệu mà

t xuất hiện thuộc về lớp i

- là xác suất của lớp i nếu t không ở trong tài liệu; tức là tỷ lệ của tài liệu mà t không xuất hiện thuộc về lớp i

- là xác suất của mục từ t xuất hiện trong một tài liệu nào đó

- là xác suất của mục từ t không xuất hiện trong một tài liệu nào đó

Sau khi tính độ lợi thông tin cho tất cả các từ trong tập huấn luyện, các mục

từ có độ lợi thông tin dưới một ngưỡng định trước sẽ bị loại bỏ khỏi không gian đặc trưng Sự tính toán bao gồm việc ước lượng xác suất có điều kiện của một lớp với một mục từ và dữ liệu ngẫu nhiên

- Mutual information (MI): xem xét bảng phân phối xác suất hai chiều của

mục từ t và lớp c, A là số lần t và c đồng xảy ra, B là số lần t xảy ra không thuộc c, C là số lần c xảy ra ngoài t, và N là tổng số tài liệu Tiêu chuẩn độ thông tin chung giữa t và c được tính bằng:

và được ước lượng như sau:

đương nhiên là 0 nếu t và c độc lập Để đo sự ảnh hưởng của mục từ tới kết

quả phân lớp trong việc lựa chọn đặc trưng, điểm của một mục từ trong mộtlớp được kết hợp một trong hai cách sau:

trong đó, m là số lượng lớp trong tập dữ liệu huấn luyện Một điểm yếu của

mutual information là số điểm bị ảnh hướng lớn bởi xác suất biên duyên của mục từ Các mục từ hiếm sẽ có một điểm số cao hơn các mục từ phổ

Trang 30

biến Do đó, các điểm số không có thể so sánh được qua các mục từ thuộc tần số khác biệt nhiều.

- Chi-square (): Thống kê đo sự tương quan giữa một mục từ t và một lớp c Xem xét bảng phân phối xác suất hai chiều của mục từ t và lớp c, A là số lần t và c đồng xảy ra, B là số lần t xảy ra không thuộc c, C là số lần c xảy

ra ngoài t, D là số lần hoặc c hoặc t không xảy ra, và N là tổng số tài liệu, thì của mục từ t liên quan tới lớp c được tính bằng:

Sau đó tính điểm của mục từ cho lớp bằng cách sử dụng kết hợp hai hàm sau:

trong đó, m là số lượng lớp trong tập dữ liệu huấn luyện Một sự khác biệt

chính giữa và MI là là một giá trị tiêu chuẩn, và do đó các giá trị có thể được so sánh qua các mục từ trong cùng lớp

5. Các độ đo đánh giá

Cần phải có một độ đo chính xác là điều quan trọng để so sánh các thuật toán và các tập dữ dữ liệu Nó cũng cần thiết để điều chỉnh các thuật toán để đạt được kết quả tối ưu

Các độ đo hiệu năng được xây dựng dựa trên hai khái niệm là Precision (Pr) độ chính xác và Recall (Re) độ bao phủ Độ chính xác là xác suất mà một tài liệu dự đoán thuộc lớp , thật sự thuộc lớp này Độ bao phủ là xác suất mà một tài liệu đang thuộc về lớp thì được phân lớp vào lớp này Khi cần một độ

đo hiệu năng duy nhất, thì độ đo F1 sẽ hài hòa độ chính xác và độ bao phủ Vớilớp ta có công thức cho các khái niệm trên như sau:

Trang 31

Re, Pr, và F1 được tính theo các thuật ngữ của nhãn là TP (True Positive), FP

(False Positive), và FN (False Negative) để đánh giá giá trị của nhãn lớp i gán cho tài liệu j:

- : là các trường hợp đồng thời cả bộ phân lớp và chuyên gia phân lớp

đồng ý gán nhãn lớp i cho tài liệu j

- : là các trường hợp khi bộ phân lớp đã nhầm lẫn(theo phán đoán bởi

chuyên gia phân lớp) gán nhãn lớp i cho tài liệu j

- : là các trường hợp khi bộ phân lớp đã thất bại (theo phán đoán bởi

chuyên gia phân lớp) để gán một nhãn lớp i chính xác cho tài liệu j

Nhiều thuật toán đã điều chỉnh các tham số theo độ chính xác và độ bao phủ sẽ phụ thuộc, chẳng hạn một ngưỡng tin cậy Ở trường hợp này, một độ đoduy nhất có thể tìm ra được bằng cách thử các tham số khác nhau và tìm điểm cân bằng độ chính xác-độ bao phủ, là giá trị ‘nội suy’ của độ chính xác bằng cách thử các tham số cho đến khi độ chính xác trở nên bằng hoặc gần bằng độ bao phủ

Đồng thời F1 và các điểm cân bằng thì thích hợp tới các vấn đề phân lớp

single-class, tức là khi một ví dụ có thể là “tích cực” hay “không tích cực” Còn cho phân lớp văn bản, ngoại trừ trường hợp đặc biệt là phân lớp nhị phân, các giá trị độ chính xác độ bao phủ cho các lớp khác nhau nên được kết hợp để nhận một độ đo chính xác của thuật toán sử dụng Có hai cách tiếp cận cho

điều này: macro averaging và micro averaging Điểm số hiệu năng

macro-averaging được tính bằng cách tính điểm số cho mỗi lớp (tức là ) và sau đó

tính điểm số trung bình cho mỗi lớp Trong khi micro-averaging, số điểm được

Trang 32

tính qua toàn thể tất cả các lớp Đó là điều quan trọng phân biệt giữa

macro-averaging và micro-macro-averaging Micro-averaing cho điểm số như nhau cho mỗi

tài liệu, và do đó được xem là trung bình trên mỗi tài liệu (chính xác hơn là,

trung bình qua tất cả cặp tài liệu – lớp) Trái ngược lại, macro-averaging cho

điểm số như nhau cho mỗi lớp, bất kể số lượng lớp, (trung bình mỗi lớp)

6. Các tập dữ liệu chuẩn để đánh giá

Nhiệm vụ chính của bất kỳ việc thử nghiệm phân loại văn bản nào là đo hiệu năng của phương pháp phát triển cho một tập dữ liệu chuẩn và so sánh kếtquả với các phương pháp khác Có nhiều tập dữ liệu chuẩn được sử dụng rộng rãi trong việc đánh giá các thuật toán phân lớp văn bản Dưới đây là một trong

số đó:

6.1. 20 Newsgroups

Tập dữ liệu 20 Newsgroups là một tập hợp xấp xỉ 20,000 tài liệu, được chiathành 20 nhóm khác nhau Nó được thu thập bởi Ken Lang, công việc của ông

ta là đánh đầu mục “Newsweeder: Leanring to filter net news” Tập 20

Newsgroups đã trở thành một tập dữ liệu phổ biến cho việc thử nghiệm trong phân lớp văn bản và phân nhóm văn bản Các tài liệu trong tập dữ liệu này được tổ chức thành 20 nhóm, mỗi nhóm tương ứng với một chủ đề khác nhau

Vài nhóm thì có quan hệ gần giống nhau (ví dụ, comp.sys.ibm.pc.hardware và

comp.sys.mac.hardware), trong khi những nhóm khác thì không hoặc ít liên

quan với nhau (ví dụ, misc.forsale và soc.religion.christian) Dưới đây là danh

sách 20 chủ đề của tập dữ liệu

Ngày đăng: 10/04/2015, 00:04

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w