PHÂN ĐA LỚP VĂN BẢN BẰNG SVM VÀ MÔ HÌNH CÂY TỔNG QUÁT

23 873 1
PHÂN ĐA LỚP VĂN BẢN BẰNG SVM VÀ MÔ HÌNH CÂY TỔNG QUÁT

Đ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

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN CÔNG NGHỆ TRI THỨC Bài Thu Hoạch: PHÂN ĐA LỚP VĂN BẢN BẰNG SVM VÀ MÔ HÌNH CÂY TỔNG QUÁT Giảng viên hướng dẫn: GSTS. HOÀNG KIẾM Sinh viên thực hiện: LÊ MINH TRÍ - CH1101149 Lớp: Cao học khóa 6 TP. Hồ Chí Minh, tháng 6 năm 2012 Mục lục LỜI MỞ ĐẦU Ngày này, cùng với sự phát triển công nghệ thông tin cũng như sự bùng nổ của internet làm cho khối lượng thông tin trong việc lưu trữ và trao đổi đang ngày càng lớn. Vì thế, việc xử lý, phân loại thông tin bằng cách thủ công trở nên khó khăn. Do đó, đòi hỏi phải có cách tổ chức, phân loại thông tin tự động. May mắn là tốc độ xử lý của máy tính càng ngày càng lớn và thực sự trở thành một công cụ đắc lực, hỗ trợ con người trong nhiều lĩnh vực, trong đó có phân loại thông tin. Máy tính trở thành một công cụ hữu hiệu cho việc phân loại tự động thông tin bằng cách học, hay còn gọi là máy học và được áp dụng trong việc phân lớp văn bản. Trước hết, em xin gửi lời cảm ơn chân thành tới GS.TSKH. Hoàng Kiếm. Qua những buổi giảng dạy và hướng dẫn tận tình của thầy trong môn Công nghệ tri thức đã giúp em hiểu biết thêm nhiều kiến thức. Qua đó em xin trình bày trong bài tiểu luận này bài toán phân đa lớp văn bản dựa trên thuật toán vector hỗ trợ (Support Vector Machine). Hi vọng bài luận có thể góp phần nào giải quyết bài toán tổ chức và phân loại thông tin tự động. Trang 3 I. TỔNG QUAN BÀI TOÁN PHÂN LOẠI VĂN BẢN I.1. Giới thiệu bài toán phân loại văn bản Bài toán phân loại là một bài toán kinh điển, trong đó phân loại văn bản là một bài toán phổ biến. Nhiệm vụ của bài toán phân loại văn bản là xác định và phân các văn bản vào một hay một số lớp văn bản thích hợp dựa vào nội dung của văn bản. Đầu thập kỷ 90, cách tiếp cận máy học (Machine Learning) để phân loại văn bản được phổ biến và thu hút nhiều người nghiên cứu trong lĩnh vực này. Quá trình xử lý quy nạp nhằm một phân lớp cho một loại c i bằng quan sát các đặc trưng của tập hợp các tài liệu đã được phân bằng tay vào c i hay i c bởi chuyên gia về lĩnh vực này. 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. Phân loại văn bản được dựa trên cơ chế rút trích thông tin gồm 3 giai đoạn: 1 – Xử lí văn bản: các văn bản ở dạng thô cần sẽ xử lí để được chuyển sang một dạng biểu diễn đơn giản nhưng vẫn giữ được nội dung chính của văn bản. 2 – Huấn luyện: quá trình học sẽ được diễn ra dựa trên các văn bản đã được phân loại. 3 – Phân loại: sau khi đã huấn luyện sẽ là quá trình phân loại dùng để phân loại văn bản. Các phương pháp phân loại văn bản dựa máy học hiện nay đều dựa vào tần suất xuất hiện của từ hoặc cụm từ trong văn bản. Độ chính xác của kết quả của việc xử lí văn bản ảnh hưởng lớn đến kết quả của phân loại. I.2. Tiền xử lý văn bản và biểu đặc trưng văn bản trong không gian vector Để máy tính có thể tự động phân loại văn bản, các văn bản phải được biểu diễn dưới dạng các vector đặc trưng, trong đó chiều thứ i trong vector đại điện cho giá trị của đặc trưng thứ i. Để rút được các đặc trưng của văn bản, cần phải thực hiện nhiều thao tác tiền xử lý như tách từ, loại các ký tự thừa, loại bỏ các từ có chiều dài ngắn, loại bỏ các từ không mang nhiều ý nghĩa. Trang 4 I.2.1. Tiền xử lý văn bản Mục đích chính của bước tiền xử lý văn bản là đưa một văn bản về dạng chuẩn, loại bỏ tất cả những yếu tố không cần thiết hoặc có thể làm nhiễu việc phân lớp như kí tự thừa, các từ không mang nhiều ý nghĩa nội dung, dấu câu… Sau bước này, ta còn lại được những nội dung đặc trưng nhất của văn bản đó, các từ còn lại trong văn bản là các từ có giá trị thông tin cao. Điều đó giúp cho việc rút trích đặc trưng được dễ dàng, chính xác làm tiền đề cho việc nâng cao hiệu suất ở bước phân lớp. Bên cạnh đó, bước tiền xứ lý này còn giúp cho các văn bản có dung lượng nhỏ hơn mà nội dung vẫn đầy đủ, không bị thiếu thông tin. Điều này làm cho hệ thống xử lý và làm việc nhanh hơn, giúp có được kết quả tốt, văn bản gốc không bị ảnh hưởng. Do vậy bước tiền xử lý luôn luôn quan trọng trong bất cứ thuật toán phân lớp nào. Các đặc trưng là yếu tố đầu vào hết sức quan trọng: - Các đặc trưng phải thực sự là những từ đại diện cho nhóm về mặt nội dung. Nếu tập đặc trưng được chọn không bao phủ rộng tất cả các văn bản huấn luyện thì việc phân loại sẽ không khách quan và ảnh hưởng ít nhiều đến kết quả tùy thuộc vào mức độ thiếu hụt các đặc trưng. - Các đặc trưng phải được rút gọn về mặt hình thức. Điều này giúp đánh giá tốt hơn độ quan trọng của một từ dưới dạng một đặc trưng đại diện duy nhất. I.2.2. Biểu diễn đặc trưng văn bản trong không gian vector Sau bước tiền xử lý, văn bản giờ chỉ còn lại những ký tự được chọn lọc. Tuy nhiên đây mới chỉ là giai đoạn đầu, văn bản ở dạng này vẫn chưa phù hợp với nhiệm vụ và thuật toán xử lý văn bản mà nó cần được biến đổi. Mỗi văn bản sẽ được đưa về dạng 1 vector gồm n chiều. I.2.2.1. Chọn lựa đặc trưng Chọn lựa đặc trưng là quá trình làm giảm số chiều thực của vector đặc trưng nghĩa là giảm kích thước của không gian vector từ |T| thành |T ’ |<<|T|. Có hai hướng khác nhau trong việc giảm số chiều, phụ thuộc vào nhiệm vụ giảm số chiều là bộ phận hay tổng thể: Trang 5 - Giảm số chiều bộ phận: Cho một loại c i , một tập các thuật ngữ , |T ’ |<<|T|, được chọn chỉ để thực hiện phân lớp cho loại c i . - Giảm số chiều tổng thể: Một tập các thuật ngữ T ’ , với |T ’ |<<|T|, được chọn để thực hiện phân lớp cho tất cả các loại C = {c 1 ,…,c |C| }. I.2.2.2. Vector hóa văn bản Vector hóa văn bản là quá trình biến đổi nội dung văn bản, các đặc trưng của văn bản thành cách vector có các trọng số theo các đặc trung của 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ể; trong đó, 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, đây được coi là một hướng tiếp cận tương đối đơn giản và hiệu quả để biểu diễn văn bản. Trong mô hình tần suất, ma trận W={w ij } được xác định dựa trên tần số xuất hiện của thuật ngữ t i trong văn bản d j 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) Phương pháp xác định w ij dựa trên số lần xuất hiện của thuật ngữ trong văn bản. Với f ij là tần số của thuật ngữ t i trong văn bản d j , thì w ij đượ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 = ij f b. Phương pháp dựa trên nghịch đảo tần số văn bản (IDF - Inverse Document Frequency ) Theo phương pháp này, w ij được xác định theo công thức:      −= = 0 )log()log(log i i ij hm h m w Trang 6 nếu ngược lại nếu t i xuất hiện trong d j Trong đó, m là số lượng văn bản, h i là số các văn bản có chứa thuật ngữ t i c. Phương pháp TF × IDF Phương pháp này là kết hợp của cả 2 phương pháp trên. Công thức TFxIDF là: [ ]      ≥         + = 0 1log)log(1 i i ij ij h h m f w Trang 7 II. PHƯƠNG PHÁP PHÂN LỚP SVM V. Vapnik đề xuất một phương pháp học có giám sát dùng để phân lớp nhị phân phương pháp này gọi là SVM. Mục đích của phương pháp này là phân lớp dựa trên các đặc trưng của văn bản. Tư tưởng chính của SVM là tìm một mặt phẳng phân tách tuyến tính hai lớp với nhau. Khi đó một mẫu mới sẽ được phân lớp dựa trên vị trí tương đối của mẫu đó với mặt phẳng này. SVM sẽ tìm một mặt phẳng tốt nhất nghĩa là mặt phẳng có lề (khoảng cách từ điểm dữ liệu gần nhất đến mặt phẳng) lớn nhất. Hình - Phương pháp phân lớp SVM Đối với những trường hợp dữ liệu không thể phân tách tuyến tính, SVM ánh xạ dữ liệu từ không gian đầu vào vào không gian đặc trưng có số chiều lớn hơn. II.1. Phân lớp SVM nhị phân Phân loại văn bản bằng SVM nhị phân là bài toán nhắm xác định một văn bản sẽ thuộc loại gì trong hai loại đã cho trước. Sau khi tiền xử lí và vector hóa đặc trưng, mỗi văn bản được biểu thị dưới dạng một vector . Mỗi vector là một điểm trong không gian n chiều. Các văn bản huấn luyện thuộc 2 lớp (được đánh nhãn là +1 và -1) là các điểm trong không gian đầu vào n chiều. SVM sẽ tìm một mặt phẳng tốt nhất phân tách 2 tập điểm +1 và -1. Trang 8 Xét một tập huấn luyện S gồm l phần tử: Với y i thuộc 1 trong 2 giá trị là +1 và -1 có nghĩa x i thuộc 1 trong 2 lớp. Ta phải tìm một hàm số thực: Sao cho Khi phân lớp một mẫu . x được phân vào lớp dương (+1) nếu f(x) >= 0 và lớp âm (-1) nếu ngược lại Xét trường hợp f(x) là hàm tuyến tính (siêu phẳng tuyến tính). Ta có: Với: được gọi là trọng số (weight) của siêu phẳng được gọi là ngưỡng (threshold) Hình - Phân lớp SVM II.2. Ưu khuyết điểm của SVM Ưu điểm: − Ưu điểm của SVM là độ chính xác phân lớp rất cao. Vì thế, SVM là một trong những phương pháp phân lớp phổ biến hiện nay. − SVM có thể được áp dụng cho nhiều bài toán như: Nhận dạng kuôn mặt, nhận dạng Trang 9 chữ, phân lớp văn bản, … − SVM cho thời gian phân lớp tương đối nhanh. Khuyết điểm: − Thời gian để huấn luyện theo phương pháp SVM lâu, không gian bộ nhớ sử dùng lớn. − SVM chỉ được thiết kế cho phân lớp nhị phân. Tuy nhiên trong thực tế cần phải phân loại nhiều lớp. II.3. Phân loại đa lớp Một số phương pháp phân loại đa lớp sử dụng SVM phổ biến hiện nay là: One-versus- All (OvA), One-against-One (OvO), và các phương pháp dựa trên cây nhị phân. II.3.1. One-versus-All Phương pháp này là phân một lớp với các lớp còn lại. Phương pháp này 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 đó ta sẽ huấn luyện tập này. Gọi hàm phân lớp của lớp thứ i là: D i (x) = w i T x + b Hình - Minh họa phương pháp One-versus-All Đối với một vector x cần được phân lớp, ta tính tất cả các hàm D i (x). Luật phân lớp là: Nếu D i (x) > 0 thì x thuộc lớp i, ngược lại x không thuộc lớp i Trang 10 [...]... liệu và huyến luyện để có thể phân lớp một đoạn văn bản thuộc thể loại nào, chương trình cần các thông số: • File huấn luyện: file này được tạo ra ở giai đoạn huấn luyện phân loại văn bản • File kết quả và thực mục bộ phận lớp là các thông tin về mô hình cây và bộ phân lớp theo mô hình cây • Các key file và class file là các file chức các thông tin về các từ khóa của văn bản và các lớp (thể loại) văn bản. .. • Module tiền xử lý, vector hóa văn bản • Module huấn luyện bao gồm cả huấn luyện SVM nhị phân và huấn luyện đa lớp • Module phân lớp bao gồm cả phân lớp nhị phân và phân đa lớp − Quá trình tiền xử lý: có nhiệm vụ chính là nhận vào file văn bản thô, sau đó tiến hành xử lý để xuất ra file chứa các vector tương ứng với các văn bản đầu vào − Quá trình huấn luyện: các văn bản sau khi xử lý, sẽ xuất ra các... văn bản • Sau khi nhập văn bản và nhấn nút Phân lớp, máy sẽ tự động nhận diện văn bản thuộc thể loại nào Trang 21 V Kết luận: Trong tiểu luận này đã trình bày bài toán phân loại văn bản và các vấn đề liên quan đến phân loại văn bản như tiền xử lý văn bản, vector hóa văn bản Ngoài ra, tiểu luận cũng đã trình bày về phương pháp phân lớp Support Vector Machines, một phương pháp phân lớp có hiệu quả rất cao... vector được vector hóa từ các văn bản Sau đó các file này được đưa vào module huấn luyện Sau khi huấn luyện module này sẽ xuất ra các file huấn luyện − Quá trình phân lớp: các văn bản cần phân lớp được đưa vào module tiền xử lý văn bản, module này sẽ xử lý và xuất ra các vector của các văn bản Vector này được đưa vào module phân lớp, module này sẽ xác định lớp kết quả của văn bản Trang 20 IV.2 Chương trình:... trên Hai cây con T1 (cây con trái), T2 (cây con phải) tương ứng với G1 và G2 Hình - Cây T với node gốc có G1 = {c1,1, , c1,n1} ; G2 = {c2,1, , c2,n2} Gọi x là 1 mẫu bất kỳ cần được phân lớp Trường hợp 1: Khi đó, x được phân lớp sai khi xảy ra 1 trong 2 trường hợp: − node gốc phân lớp đúng (nhánh T1 được chọn), và cây T1 phân lớp sai Trang 16 − node gốc phân lớp sai (nhánh T2 được chọn) (3.1) Vì SVM cho... cho kết quả rất cao nên điều kiện “Node phân lớp đúng” thỏa với hầu hết => => Do đó để đơn giản trong việc tính toán và đệ quy, ta có thể viết lại (3.1) như sau: (3.2) Trường hợp 2: Tương tự với (3.3) Trường hợp 3: , x được phân lớp sai khi xảy ra 1 trong 2 trường hợp: − node gốc phân x vào cây T1 và cây T1 phân lớp sai − node gốc phân x vào cây T2 và cây T2 phân lớp sai Suy luận tương tự như trên ta... mặt phẳng phân lớp cho G1 và G2 B4: Tạo ra 2 node con của k là k1 và k2 tương ứng với G1 và G2 với và B5: Quay lại B2 cho k1 và k2 Quá trình phân lớp: Giả sử ta cần phân lớp một mẫu x B1 Chọn node đang xét là node gốc B2 Nếu node đang xét là node lá với một lớp c duy nhất trong nhãn thì kết luận là x thuộc lớp c và kết thúc thuật toán, ngược lại qua B3 B3 Sử dụng hàm phân lớp f(x) của node đang xét... One-Against-One Trong phương pháp này là ta sẽ phân từng cặp lớp với nhau Đối với bài toán phân lớp k lớp ta xây dựng k(k-1)/2 bộ phân lớp SVM nhị phân Đối với mỗi cặp lớp i, j, ta lấy các mẫu thuộc lớp i gán cho nhãn dương (+1), các mẫu thuộc lớp j gán cho nhãn âm (-1) Sau đó phân lớp bộ dữ liệu này Gọi hàm phân lớp cho mỗi cặp lớp i, j là: Dij(x) = wijTx + b Hình 2- Minh họa phương pháp One-against-One... của cây tổng quát Nếu tại mỗi node ta chọn 1 lớp cho G1 và 1 lớp cho G2 thì cây tổng quát sẽ trở thành DDAG Còn nếu tại mỗi node, G3 không chứa lớp nào thì cây tổng quát sẽ trở thành HAH Các công thức (3.2) và (3.3) chỉ là gần đúng trong trường hợp các bộ phân lớp SVM đạt hiệu suất cao Do đó khi các bộ phân lớp SVM có hiệu suất không cao hoặc chiều cao của cây quá lớn thì có khả năng công thức tính xác... node đang xét, nếu f(x) < 0 chọn node phải là node đang xét Quay lại B2 not 5,6 5 not not 1 not 1,2 not 4 n ot 3 ,6 not 3,5 not 3 Hình - Minh họa một cây tổng quát Quá trình chọn lớp trong mỗi node là một vấn đề mở Với mỗi cách chọn node khác nhau sẽ cho ra một cấu trúc cây khác nhau III.2 Xác suất lỗi của cây tổng quát Cây tổng quát là một cấu trúc linh hoạt Đối với một bài toán phân loại đa lớp, . (3.3) Trường hợp 3: , x được phân lớp sai khi xảy ra 1 trong 2 trường hợp: − node gốc phân x vào cây T1 và cây T1 phân lớp sai − node gốc phân x vào cây T2 và cây T2 phân lớp sai Suy luận tương tự. Module tiền xử lý, vector hóa văn bản • Module huấn luyện bao gồm cả huấn luyện SVM nhị phân và huấn luyện đa lớp • Module phân lớp bao gồm cả phân lớp nhị phân và phân đa lớp − Quá trình tiền xử lý:. phân loại văn bản là một bài toán phổ biến. Nhiệm vụ của bài toán phân loại văn bản là xác định và phân các văn bản vào một hay một số lớp văn bản thích hợp dựa vào nội dung của văn bản. Đầu thập

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

Từ khóa liên quan

Mục lục

  • LỜI MỞ ĐẦU

  • I. TỔNG QUAN BÀI TOÁN PHÂN LOẠI VĂN BẢN

    • I.1. Giới thiệu bài toán phân loại văn bản

    • I.2. Tiền xử lý văn bản và biểu đặc trưng văn bản trong không gian vector

      • I.2.1. Tiền xử lý văn bản

      • I.2.2. Biểu diễn đặc trưng văn bản trong không gian vector

      • II. PHƯƠNG PHÁP PHÂN LỚP SVM

        • II.1. Phân lớp SVM nhị phân

        • II.2. Ưu khuyết điểm của SVM

        • II.3. Phân loại đa lớp

        • II.3.1. One-versus-All

          • II.3.2. One-Against-One

            • II.3.2. Các phương pháp dựa trên cây nhị phân

            • Decision Directed Acyclic Graph (DDAG)

            • Half-against-Half (HAH)

            • III. CÂY TỔNG QUÁT VÀ XÁC SUẤT LỖI

              • III.1. Mô hình cây tổng quát

              • III.2. Xác suất lỗi của cây tổng quát

                • Định nghĩa:

                • Xác định xác suất lỗi của cây

                • IV. CHƯƠNG TRÌNH

                  • IV.1. Cấu trúc chương trình

                  • IV.2. Chương trình:

                  • V. Kết luận:

                  • Tài liệu tham khảo:

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan