phân loại văn bản sử dụng học máy svm và naive bayes

17 340 0
phân loại văn bản sử dụng học máy svm và naive bayes

Đ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

MỤC LỤC LỜI MỞ ĐẦU Phân loại văn vấn đề quan trọng lĩnh vực xử lý ngơn ngữ Nhiệm vụ tốn gán tài liệu văn vào nhóm chủ đề cho trước Đây toán thường gặp thực tế điển : nhà chuyên phân tích thị thường chứng khốn, cần phải tổng hợp nhiều tài liệu, viết thị trường chứng khoán để đọc đưa phán đoán Tuy nhiên, khơng thể đọc tất viết, báo hay tài liệu để phân loại chúng đâu tài liệu chứng khốn sau đọc kỹ chúng cho mục đích Lý vấn đề ví số lượng bào viết, báo nhiều, đặc biệt internet, để đọc hết tất tài liệu nhiều thời gian Một ví dụ khác thực tế việc phân loại spam mail Khi mail gửi đến hộp thư, để người dùng phải đọc tất mail tốn nhiều thời gian spam mail nhiều Vì vậy, cần có hệ thống phân loại đâu spam mail đâu mail tốt Để giải tốn có nhiều phương pháp đưa : thuật tốn Nạve Bayes, K-NN (K-Nearest-Neighbor), Cây định (Decision Tree), Mạng Neuron nhân tạo (Artificial Neural Network) SVM (Support Vector Machine) Mỗi phương pháp cho kết tốt cho toán này, nhiên phương pháp phân loại văn thuật toán Bayes sử dụng phổ biến dễ dàng cài đặt Chính chúng em lựa chọn đề tài: “Phân loại văn thuật toán Support Vector Machine“ làm đề tài kết thúc môn học Chúng em xin chân thành cảm ơn thầy, mơn tận tình giảng dạy em suốt thời gian học tập vừa qua Nhờ có dạy tận tình Nguyễn Thị Thu Hà trực tiếp hướng dẫn giảng dạy, đào tạo thầy cô môn khác thời gian qua giúp chúng em hoàn thành báo cáo Do lần triển khai hệ thống có tính thực tiễn cao, nên q trình triển khai nhiều sai sót Mong thầy đóng góp ý kiến giúp chúng em hiểu rõ toán Một lần chúng em xin chân thành cảm ơn thầy cô! CHƯƠNG BÀI TOÁN PHÂN LOẠI VĂN BẢN 1.1 Giới thiệu Ngày nay, bùng nổ thông tin bị tác động xuất siêu phương tiện World Wide Web (WWW) làm cho không gian liệu gia tăng thường xuyên, điều tạo thách thức cho hệ thống truy vấn thông tin cho có hiệu Một khó khăn mà hệ thống thơng tin thường phải gặp tần suất cập nhật thông tin lớn Phương thức sử dụng giấy giao dịch dần số hóa, nhiều tính vượt trội mà phương thức mang lại, lưu trữ lâu dài, cập nhật, sửa đổi, tìm kiếm cách nhanh chóng Do số lượng văn số hóa ngày tăng dần theo cấp số nhân, với gia tăng số lượng văn bản, nhu cầu tìm kiếm văn tăng theo, phân loại văn tự động yêu cầu cấp thiết đặt Phân loại văn giúp giúp tìm kiếm thơng tin cách nhanh chóng thay phải tìm văn bản, mà số lượng văn gia tăng cách nhanh chóng thao tác tìm văn nhiều thời gian, công sức cơng việc nhàm chán khơng khả thi Chính nhu cầu phân loại văn tự động thực cần thiết Có nhiều cơng trình nghiên cứu phân loại văn có kết qủa đáng khích lệ, là: Support Vector Machine, K–Nearest Neighbor, Linear Least Squares Fit, Neural Network, Naïve Bayes, Centroid Base… Điểm chung phương pháp dựa vào xác suất thống kê dựa vào trọng số từ, cụm từ văn Trong phương pháp có cách tính tốn khác nhau, nhiên phương pháp phải thực số bước chung như: phương pháp dựa vào thông tin xuất từ văn (tần số xuất tập văn bản, …) để biểu diễn thành dạng vector, sau tùy tốn cụ thể mà định chọn áp dụng phương pháp nào, cơng thức tính tốn cho phù hợp để phân loại tập văn dựa tập vector xây dựng bước trên, nhằm mục đích đạt kết qủa phân loại tốt 1.2 Phát biểu toán Bài toán phân loại văn phát biểu sau : Cho trước tập văn D={d1,d2,…,dn} tập chủ đề định nghĩa C={c1,c2,…,cn} Nhiệm vụ toán gán lớp di thuộc cj định nghĩa Hay nói cách khác, mục tiêu tốn tìm hàm f : 1.3 Mơ hình tổng qt Có nhiều hướng tiếp cận tốn phân loại văn nghiên cứu như: tiếp cận toán phân loại dựa lý thuyết đồ thị, cách tiếp cận sử dụng lý thuyết tập thô, cách tiếp cận thống kê… Tuy nhiên, tất phương pháp dựa vào phương pháp chung máy học : học có giám sát, học khơng giám sát học tăng cường Vấn đề phân loại văn theo phương pháp thống kê dựa kiểu học có giám sát đặc tả bao gồm giai đoạn : giai đoạn huấn luyện giai đoạn phân lớp - Giai đoạn huấn luyện Chúng ta có tập huấn luyện, phần tử tập huấn luyện gán vào nhiều lớp mà thể chúng mơ hình mã hố Thơng thường, phần tử tập huấn luyện thể theo dạng Trong đó, vector biểu diễn cho văn tập huấn luyện Sau đó, định nghĩa lớp mơ hình thủ tục huấn luyện Lớp mơ hình họ tham số phân loại, thủ tục huấn luyện giải thuật (hay thuật toán) để chọn họ tham số tối ưu cho phân loại Hình 1.1 Mơ hình giai đoạn huấn luyện Đầu vào : ngữ liệu huấn luyện thuật toán huấn luyện Đầu : mơ hình phân lớp (bộ phân lớp – classifier) Các bước giai đoạn huấn luyện: Hình 1.2 Các bước giai đoạn huấn luyện Trong : Ngữ liệu huấn luyện : kho ngữ liệu thu thập từ nhiều nguồn khác Tiền xử lý : chuyển đổi tài liệu kho ngữ liệu thành hình thức phù hợp để phân loại Vector hố : mã hố văn mơ hình trọng số Trích chọn đặc trưng : loại bỏ từ (đặc trưng) không mang thông tin khỏi tài liệu nhằm nâng cao hiệu suất phân loại giảm độ phức tạp thuật toán huấn luyện Thuật toán huấn luyện : Thủ tục huấn luyện phân lớp để tìm họ tham số tối ưu Đánh giá : bước đánh giá hiệu suất (chất lượng) phân lớp - Giai đoạn phân lớp Sau hồn thành giai đoạn huấn luyện, mơ hình phân lớp áp dụng cho văn cần phân loại Hình 1.3 Mơ hình giai đoạn phân lớp Các bước giai đoạn phân lớp: Hình 1.4 Các bước giai đoạn phân lớp 1.4 Mục đích phạm vi nghiên cứu Mục đích: + Tìm hiểu thuật toán Support Vector Machine phạm vi ứng dụng phân loại văn + Nắm rõ chế học tập huấn luyện máy học + Xây dựng chương trình có khả phân loại văn sau tìm hiểu thuật tốn Phạm vi nghiên cứu: chương trình thực quy mô nghiên cứu nhỏ với số lượng văn không nhiều vào khoảng < 3000 văn CHƯƠNG CHƯƠNG PHÂN LOẠI VĂN BẢN SỬ DỤNG SUPPORT VECTOR MACHINE 2.1 Giới thiệu Tf-idf 2.1.1 Tf- term frequency dùng để ước lượng tần xuất xuất từ văn Tuy nhiên với văn có độ dài khác nhau, số lần xuất từ nhiều Vì số lần xuất từ chia độ dài văn (tổng số từ văn đó) TF(t, d) = ( số lần từ t xuất văn d) / (tổng số từ văn d) 2.1.2 IDF- Inverse Document Frequency dùng để ước lượng mức độ quan trọng từ Khi tính tần số xuất tf từ coi quan trọng Tuy nhiên có số từ thường được sử dụng nhiều không quan trọng để thể ý nghĩa đoạn văn , ví dụ : Từ nối: và, nhưng, nhiên, thế, vậy, … Giới từ: ở, trong, trên, … Từ định: ấy, đó, nhỉ, … Vì ta cần giảm mức độ quan trọng từ cách sử dụng IDF : IDF(t, D) = log_e( Tổng số văn tập mẫu D/ Số văn có chứa từ t ) 2.2 Cơ sở lý thuyết 2.1.3 2.7.1 Tiền xử lý văn Văn trước vector hoá, tức trước sử dụng, cần phải tiền xử lý Quá trình tiền xử lý giúp nâng cao hiệu suất phân loại giảm độ phức tạp thuật toán huấn luyện Tuỳ vào mục đích phân loại mà có phương pháp tiền xử lý văn khác nhau, : Chuyển vẳn chữ thường Loại bỏ dấu câu (nếu không thực tách câu) Loại bỏ kí tự đặc biệt biệt([ ],[.], [,], [:], [“], [”], [;], [/], [[]], [~], [`], [!], [@], [#], [$],[%],[^],[&],[*],[(],[)]), chữ số, phép tính tốn số học Loại bỏ stopword (những từ xuất hầu hết văn bản) khơng có ý nghĩa tham gia vào phân loại văn … 2.1.4 2.7.2 Phương pháp biểu diễn văn Một nhiệm vụ đầu tiền việc xử lý phân loại văn chọn mơ hình biểu diễn văn thích hợp Một văn dạng thơ (dạng chuỗi) cần chuyển sang mơ hình khác để tạo thuận lợi cho việc biểu diễn tính tốn Tuỳ thuộc vào thuật toán phân loại khác mà có mơ hình biểu diễn riêng Một mơ hình đơn giản thường sử dụng nhiệm vụ mơ hình khơng gian vector Một văn nhiệm vụ biểu diễn theo dạng , với vector n chiều để đo lường giá trị phần tử văn 2.1.5 2.7.3 Mơ hình khơng gian vector Mơ hình khơng gian vector mơ hình sử dụng rộng rãi cho việc tìm kiếm (truy hồi) thơng tin Ngun nhân đơn giản Trong mơ hình này, văn thể khơng gian có số chiều lớn, chiều khơng gian tương ứng với từ văn Phương pháp biểu diễn cách hình tượng sau : văn D biểu diễn dạng (vector đặc trưng cho văn D) Trong đó, =( x1, x2, … , xn ), n số lượng đặc trưng hay số chiều vector văn bản, x i trọng số đặc trưng thứ i (với 1≤ i ≤n) Như vậy, kho ngữ liệu q trình huấn luyện nhiều văn bản, ta kí hiệu Dj, văn thứ j tập ngữ liệu, vector j=( x1j , x2j , … , xnj ) vector đặc trưng cho văn Dj, xij trọng số thứ i vector văn j 2.1.6 2.7.4 Khái niệm trọng số Một vấn đề quan trọng việc biểu diễn văn tính trọng số cho vector đặc trưng văn Có nhiều cách khác để tính trọng số : Word frequency weighting Boolean weighting tf*idf weighting Entropy weighting Tuy nhiên, để đơn giản cho vấn đề này, xem xét cách tính Word frequency weighting (trọng số tần suất từ) tf*idf, cách đơn giản đếm số từ văn Tuy nhiên có nhiều cách khác để tính trọng số dạng Có ba thơng tin sử dụng cách tính trọng số tần suất từ : term frequency ( tfij số lần suất từ wi văn dj ), document frequency (dfi số văn có chứa từ wi), collection frequency ( cfi số lần suất từ w i tập ngữ liệu) Trong đó, dfi ≤ cfi ∑j tfij =cfi Thơng tin nắm bắt term frequency bật thông tin (hay từ) văn Term frequency cao (số lần xuất nhiều văn bản) từ miêu tả tốt cho nội dung văn Giá trị thứ hai, document frequency, giải thích định nội dung thông tin Một từ tập trung ngữ nghĩa thường xảy nhiều lần văn xuất tất văn khác Nhưng từ không tập trung ngữ nghĩa trải đồng tất văn Để thể trọng số phản ánh hết thông tin từ, thường ta kết hợp hai loại trọng số tf df đơn vị chung Dạng biểu diễn trọng số gọi tf * idf Công thức kết hợp hai giá trị trọng số : Trong đó, N tổng số văn Biểu thức thứ áp dụng cho từ có xuất văn bản, biểu thức thứ hai cho từ không xuất văn 2.3 Thuật toán support vector machine Bài toán phân lớp (Classification) dự đoán (Prediction) hai toán có nhiều ứng dụng tất lĩnh vực như: học máy, nhận dạng, trí tuệ nhân tạo, v.v Trong đề tài này, chúng em sâu nghiên cứu phương pháp Support Vector Machines (SVM), phương pháp hiệu Phương pháp SVM coi công cụ mạnh cho tốn phân lớp phi tuyến tính tác giả Vapnik Chervonenkis phát triển mạnh mẽ năm 1995 Phương pháp thực phân lớp dựa nguyên lý Cực tiểu hóa Rủi ro có Cấu trúc SRM (Structural Risk Minimization), xem phương pháp phân lớp giám sát không tham số tinh vi Các hàm công cụ đa dạng SVM cho phép tạo không gian chuyên đổi để xây dựng mặt phẳng phân lớp 2.1.7 2.3.1 Định nghĩa Là phương pháp dựa tảng lý thuyết thống kê nên có tảng tốn học chặt chẽ để đảm bảo kết tìm xác Là thuật tốn học giám sát (supervied learning) sử dụng cho phân lớp liệu Là phương pháp thử nghiệm, đƣa phương pháp mạnh xác số thuật toán tiếng phân lớp liệu SVM phương pháp có tính tổng qt cao nên áp dụng cho nhiều loại tốn nhận dạng phân loại 2.1.8 2.3.2 Ý tưởng phương pháp Cho trƣớc tập huấn luyện, biểu diễn khơng gian vector, tài liệu điểm, phương pháp tìm siêu phẳng định tốt chia điểm không gian thành hai lớp riêng biệt tương ứng lớp + lớp - Chất lƣợng siêu phẳng định khoảng cách (gọi biên) điểm liệu gần lớp đến mặt phẳng Khi đó, khoảng cách biên lớn mặt phẳng định tốt, đồng thời việc phân loại xác Mục đích phương pháp SVM tìm khoảng cách biên lớn nhất, điều minh họa sau: Hình 5: Siêu phẳng phân chia liệu học thành lớp + - với khoảng cách biên lớn Các điểm gần (điểm khoanh tròn) Support Vector 2.1.9 2.3.3 Nội dung phương pháp Cơ sở lý thuyết SVM thực chất toán tối ưu, mục tiêu thuật tốn tìm không gian F siêu phẳng định f F cho sai số phân loại thấp Bài tốn SVM giải kỹ thuật sử dụng toán tử Lagrange để biến đổi thành dạng đẳng thức Một đặc điểm thú vị SVM mặt phẳng định phụ thuộc Support Vector có khoảng cách đến mặt phẳng Cho dù điểm khác bị xóa thuật toán cho kết giống ban đầu Đây điểm bật phương pháp SVM so với phương pháp khác tất liệu tập huấn luyện đùng để tối ưu hóa kết TĨM LẠI: trường hợp nhị phân phân tách tuyến tính, việc phân lớp thực qua hàm định f(x) = sign( + b), hàm thu việc thay đổi vectơ chuẩn w, vectơ để cực đại hóa viền chức Việc mở rộng SVM để phân đa lớp đầu tƣ nghiên cứu Có phương pháp tiếp cận để giải vấn để xây dựng kết hợp nhiều phân lớp nhị phân SVM (Chẳng hạn: trình luyện với SVM, tốn phân m lớp biến đổi thành tốn phân 2*m lớp, hai lớp, hàm định xác định cho khả tổng quát hóa tối đa) Trong phương pháp đề cập tới hai cách một-đổi-một, một-đối-tất 2.1.10 2.3.4 Bài toán phân lớp với SVM Bài toán đặt là: Xác định hàm phân lớp để phân lớp mẫu tƣơng lai, nghĩa với mẫu liệu xi cần phải xác định xi phân vào lớp +1 hay lớp -1 Để xác định hàm phân lớp dựa phương pháp SVM, ta tiến hành tìm hai siêu phẳng song song cho khoảng cách y chúng lớn để phân tách hai 10 lớp làm hai phía Hàm phân tách tƣơng ứng với phương hai siêu phẳng tìm trình siêu phẳng nằm Hình 6: Minh họa toán phân lớp phương pháp SVM Các điểm mà nằm hai siêu phẳng phân tách gọi Support Vector Các điểm định đến hàm phân tách liệu 2.1.11 2.3.5 Bài toán nhiều phân lớp với SVM Để phân nhiều lớp kỹ thuật SVM ngun thủy chia khơng gian liệu thành phần trình lặp lại nhiều lần Khi hàm định phân liệu vào lớp thứ i tập n , 2-Iớp là: fi(x) = wiix + bi Những phần tử x support vector thỏa điều kiện Như vậy, toán phân nhiều lớp sử dụng phương pháp SVM hồn tồn thực giống tốn hai lớp Bằng cách sử dụng chiến lƣợc "một- đối- một”(one against - one) Giả sử toán cần phân loại có k lớp (k > 2), chiến lƣợc "một-đối-một”sẽ tiến hành k(k-l)/2 lần phân lớp nhị phân sử dụng phương pháp SVM Mỗi lớp tiến hành 11 phân tách với k-1 lớp lại để xác định k-1 hàm phân tách dựa vào toán phân hai lớp phương pháp SVM 2.1.12 2.3.6 Các bước phương pháp SVM Phương pháp SVM yêu cầu liệu diễn tả vector số thực Như đầu vào chƣa phải số ta cần phải tìm cách chuyển chúng dạng số SVM Tiền xử lý liệu: Thực biến đổi liệu phù hợp cho q trình tính tốn, tránh số q lớn mơ tả thuộc tính Thƣờng nên co giãn (scaling) liệu để chuyển đoạn [-1, 1] [0, 1] Chọn hàm hạt nhân: Lựa chọn hàm hạt nhân phù hợp tƣơng ứng cho tốn cụ thể để đạt độ xác cao trình phân lớp Thực việc kiểm tra chéo để xác định thám số cho ứng đụng Điều định đến tính xác trình phân lớp Sử dụng tham số cho việc huấn luyện với tập mẫu Trong trình huấn luyện sử dụng thuật tốn tối ưu hóa khoảng cách siêu phẳng q trình phân lớp, xác định hàm phân lớp không gian đặc trưng nhờ việc ánh xạ liệu vào không gian đặc trưng cách mô tả hạt nhân, giải cho hai trường hợp liệu phân tách khơng phân tách tuyến tính khơng gian đặc trưng 12 CHƯƠNG CHƯƠNG GIAO DIỆN CHƯƠNG TRÌNH DEMO 3.1 Luồng chương trình B1: Chuẩn bị liệu Dữ liệu ban đầu crawl định dạng json Chúng ta cần tách json để lấy liệu cần thiết Đồng thời, xử lý trường hợp bị lỗi encoding B2: Tiền xử lí liệu Loại bỏ hết ký hiệu thừa, loại bỏ liệu ngắn, sử dụng lib tách từ để tách từ tiếng việt B3: Chuẩn bị liệu phù hợp với input toán – Cấu trúc lại liệu Đưa liệu chuẩn có cấu trúc: , Trộn liệu trước tách riêng train test B3: Tiến hành huấn luyện lưu lại model B5: Đọc model lưu tiến hành kiểm tra 3.2 Một số hình ảnh chương trình 13 Giao diện hướng dẫn sử dụng 14 Giao diện xem liệu tập test 15 Giao diện kiểm tra nhãn text nhập từ bàn phím dung thuật toán navie bayes 16 Giao diện thị độ xác thuật tốn svm 17 ... lượng văn bản, nhu cầu tìm kiếm văn tăng theo, phân loại văn tự động yêu cầu cấp thiết đặt Phân loại văn giúp giúp tìm kiếm thơng tin cách nhanh chóng thay phải tìm văn bản, mà số lượng văn gia... tốn số học Loại bỏ stopword (những từ xuất hầu hết văn bản) khơng có ý nghĩa tham gia vào phân loại văn … 2.1.4 2.7.2 Phương pháp biểu diễn văn Một nhiệm vụ đầu tiền việc xử lý phân loại văn chọn... hành k(k-l)/2 lần phân lớp nhị phân sử dụng phương pháp SVM Mỗi lớp tiến hành 11 phân tách với k-1 lớp lại để xác định k-1 hàm phân tách dựa vào toán phân hai lớp phương pháp SVM 2.1.12 2.3.6

Ngày đăng: 14/06/2019, 22:05

Từ khóa liên quan

Mục lục

  • CHƯƠNG 1. BÀI TOÁN PHÂN LOẠI VĂN BẢN

    • 1.1. Giới thiệu

    • 1.2. Phát biểu bài toán

    • 1.3. Mô hình tổng quát

    • 1.4. Mục đích và phạm vi nghiên cứu

    • CHƯƠNG 2. CHƯƠNG 2. PHÂN LOẠI VĂN BẢN SỬ DỤNG SUPPORT VECTOR MACHINE

      • 2.1. Giới thiệu về Tf-idf

        • 2.1.1. Tf- term frequency

        • 2.1.2. IDF- Inverse Document Frequency

        • 2.2. Cơ sở lý thuyết

          • 2.1.3. 2.7.1. Tiền xử lý văn bản

          • 2.1.4. 2.7.2. Phương pháp biểu diễn văn bản

          • 2.1.5. 2.7.3. Mô hình không gian vector

          • 2.1.6. 2.7.4. Khái niệm trọng số

          • 2.3. Thuật toán support vector machine

            • 2.1.7. 2.3.1. Định nghĩa

            • 2.1.8. 2.3.2. Ý tưởng của phương pháp

            • 2.1.9. 2.3.3. Nội dung phương pháp

            • 2.1.10. 2.3.4. Bài toán phân 2 lớp với SVM

            • 2.1.11. 2.3.5. Bài toán nhiều phân lớp với SVM

            • 2.1.12. 2.3.6. Các bước chính của phương pháp SVM

            • CHƯƠNG 3. CHƯƠNG 3. GIAO DIỆN CHƯƠNG TRÌNH DEMO

              • 3.1. Luồng của chương trình

              • 3.2. Một số hình ảnh của chương trình

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

Tài liệu liên quan