Tài liệu ứng dụng máy vector hỗ trợ phân loại công văn theo lĩnh vực

  • Số trang: 26 |
  • Loại file: PDF |
  • Lượt xem: 38 |
  • Lượt tải: 0
okyeuniterd

Tham gia: 20/08/2016

Mô tả:

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA NGUYỄN THANH XUÂN SỬ DỤNG MÁY VECTOR HỖ TRỢ PHÂN LOẠI CÔNG VĂN THEO LĨNH VỰC Chuyên ngành: Khoa học máy tính Mã số: 8480101 TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT Đà Nẵng - Năm 2018 Công trình được hoàn thành tại TRƯỜNG ĐẠI HỌC BÁCH KHOA Người hướng dẫn khoa học: TS. PHẠM MINH TUẤN Phản biện 1: TS. TRƯƠNG NGỌC CHÂU Phản biện 2: TS. PHẠM XUÂN HẬU Luận văn được bảo vệ trước Hội đồng chấm Luận văn tốt nghiệp thạc sĩ kỹ thuật chuyên ngành Khoa học may tính họp tại Trường Đại học Bách khoa Đà Nẵng vào ngày 05 tháng 01 năm 2018 Có thể tìm hiểu luận văn tại: - Trung tâm Học liệu và Truyền thông Trường Đại học Bách khoa Đại học Đà Nẵng tại - Thư viện Khoa Công nghệ thông tin, Trường Đại học Bách khoa Đại học Đà Nẵng 1 MỞ ĐẦU 1. Lý do chọn đề tài Trong các cơ quan hành chính việc phân loại văn bản, công văn theo lĩnh vực như: Công nghệ thông tin, Du lịch, Giao thông vận tải, Giáo dục và đào tạo, … là công việc thực hiện hàng ngày, việc này có thể được thực hiện bởi văn thư tại cơ quan, đơn vị tuy nhiên việc này rất tốn nhiều công sức và có khi không chính xác. Do đó tính cấp thiết cần phải có một công cụ phân loại tự động giúp cho công việc này đơn giản, nhanh và chính xác. Phân loại văn bản là một bài toán xử lý ngôn ngữ tự nhiên nhưng nó được gắn liền với học máy bởi vì nó cũng thuộc bài toán phân loại. Việc phân loại văn bản tự động bằng tiếng anh đã được áp dụng từ lâu, nhưng với văn bản tiếng việt thì có một số khó khăn hơn vì văn bản tiếng việt có các từ ghép gây ra sự nhập nhằng về mặt ngữ nghĩa trong quá trình tiền xử lý văn bản, trích chọn đặc trưng. Vì những lý do như trên tôi đề xuất chọn đề tài luận văn cao học: “Ứng dụng máy vector hỗ trợ phân loại công văn theo lĩnh vực” 2. Mục đích nghiên cứu Nghiên cứu các bước giải quyết bài toán Machine Learning. Nắm vững lý thuyết phân lớp trong Machine Learning, Máy vector hỗ trợ. Nắm vững cách trích chọn đặc trưng từ văn bản, công văn. 2 Xây dựng được phần mềm có thể phân loại văn bản, công văn một cách chính xác nhất. 3. Đối tượng và phạm vi nghiên cứu Đối tượng nghiên cứu bao gồm: Học máy áp dụng vào bài toán phân loại, trích rút đặc trưng văn bản, ngôn ngữ lập trình và công cụ xây dựng bài toán học máy và phân loại văn bản. Phạm vi nghiên cứu: Nghiên cứu học máy, nghiên cứu kỹ thuật phân loại, nghiên cứu các kỹ thuật chuẩn hóa văn bản, nghiên cứu các kỹ thuật trích đặc trưng trong văn bản tiếng việt. 4. Phương pháp nghiên cứu Phương pháp chính là nghiên cứu qua nguồn tư liệu đã xuất bản, các bài báo đăng trên các tạp chí khoa học, sưu tập các tư liệu liên quan đến vấn đề đang nghiên cứu trên mạng Internet. Xây dựng kho dữ liệu dataset phục vụ cho việc training. Đánh giá độ chính xác của thuật toán phân loại. 5. Ý nghĩa khoa học và ý nghĩa thực tiễn của luận văn Nghiên cứu chuẩn hóa văn bản, trích rút đặc trung văn bản tiếng việt cho bài toán nhận dạng, phân loại văn bản. Kết quả sẽ mở ra cách trích rút đặc trung văn bản cho các nghiên cứu sau này. 6. Cấu trúc luận văn Cấu trúc luận văn bao gồm phần Mở đầu, Kết luận và 3 chương chính như sau: Chương 1 - Cơ sở lý thuyết Chương 2 - Ứng dụng máy vector hỗ trợ phân loại công văn theo lĩnh vực Chương 3 - Triển khai và đánh giá kết quả 3 Chương 1 - CƠ SỞ LÝ THUYẾT 1.1. GIỚI THIỆU Phân loại văn bản [1] [2] là một bài toán thuộc về lĩnh vực Xử lý ngôn ngữ tự nhiên [3] dưới dạng văn bản. Nhưng nó được gắn liền với học máy (Machine Learning) [4] vì nó liên quan đến phân loại. Bài toán phân loại văn bản được trình bày như sau: cho một tập { }. Kết quả của gồm văn bản đầu vào ký hiệu: việc phân loại là gán các văn bản vào một tập gồm { } hiệu là: phân lớp ký Cũng giống như những bài toán học máy khác thì bài toán phân loại văn bản cũng bao gồm hai bước đó là Huấn luyện (learning) [4] và Phân loại (prediction) [4]. Hình 1.1: Mô hình bài toán phân loại văn bản, tài liệu 4 Bước thứ nhất là Huấn luyện (learning) [4] hay chính là cách chúng ta sử dụng các kỹ thuật học máy để tìm ra được một model hợp lý nhất cho bài toán phân loại, nó bao gồm các bước như sau: Tiền xử lý văn bản [5] o Làm sạch dữ liệu o Tách từ (Words segmentation) [7] Biểu diễn vector đặc trưng (Feature Extraction) [8] Huấn luyện (learning) [8] Bước thứ hai đó chính là đem mô hình thu được sau khi huấn luyện ở bước thứ nhất, đi vào thực tế để xem nó có thực sự đủ tốt hay không. Bước này bao gồm các bước xử lý văn bản ở bước 1, chỉ khác một điều là không huấn luyện lại mô hình nữa mà sử dụng trực tiếp mô hình có sẵn để dự đoán văn bản đưa vào và cho ra kết quả. 1.2. TIỀN XỬ LÝ VĂN BẢN 1.2.1. Xử lý ngôn ngữ tự nhiên 1.2.1.1. Lọc bỏ lỗi chính tả, lỗi kí tự 1.2.1.2. Loại bỏ những từ không mang nghĩa, lặp lại nhiều trong văn bản (Stop Words) 1.2.1.3. Tách từ 1.2.2. Biểu diễn văn bản dưới dạng vector đặc trưng 1.2.2.1. Túi đựng từ (BoW) 1.2.2.2. TF-IDF TF-IDF [10] là trọng số của một từ trong văn bản thu được qua thống kê thể hiện mức độ quan trọng của từ này trong một văn bản, mà bản thân văn bản đang xét nằm trong một tập hợp các văn bản. TF: Term Frequency, là số lần term xuất hiện trong văn bản. Cách tính TF như sau: 5 ( ( ) { ( ) )} Thương của số lần xuất hiện 1 từ trong văn bản và số lần xuất hiện nhiều nhất của một từ bất kỳ trong văn bản đó. (giá trị sẽ thuộc khoảng [0, 1]) ( )- số lần xuất hiện từ t trong văn bản d. { ( )} - số lần xuất hiện nhiều nhất của một từ bất kỳ trong văn bản. IDF: inverse document frequency. Tần số nghịch của 1 từ trong tập văn bản ( | | ) }| |{ | |: - tổng số văn bản trong tập |{ }|:- số văn bản chứa từ nhất định, với điều kiện xuất hiện trong văn bản . Nếu từ đó không xuất hiện ở bất cứ một văn bản nào trong tập thì mẫu số sẽ bằng 0 => phép chia cho không không hợp lệ, vì thế người ta thường thay bằng mẫu thức }| 1 + |{ Cơ số trong công thức này không thay đổi giá trị của một từ mà chỉ thu hẹp khoảng giá trị của từ đó. Vì thay đổi cơ số sẽ dẫn đến việc giá trị của các từ thay đổi bởi một số nhất định và tỷ lệ giữa các trọng lượng với nhau sẽ không thay đổi. Tuy nhiên việc thay đổi khoảng giá trị sẽ giúp tỷ lệ giữa IDF và TF tương đồng để dùng như bên dưới. cho công thức Giá trị TF-IDF: ( ) ( ) ( ) 6 Những từ có giá trị cao là những từ xuất hiện nhiều trong văn bản này, và xuất hiện ít trong các văn bản khác. Việc này giúp lọc ra những từ phổ biến và giữ lại những từ có giá trị cao (từ khoá của văn bản đó). 1.2.3. Giảm chiều dữ liệu 1.3. HỌC MÁY 1.3.1. Khái niệm 1.3.2. Các phương pháp học máy 1.3.2.1. Học không giám sát (Unsupervised Learning) 1.3.2.2. Học có giám sát (Supervised Learning) 1.3.2.3. Học bán giám sát (Semi-Supervised Learning) 1.3.2.4. Học tăng cường (Reinforcement learning) 1.4. MỘT SỐ GIẢI THUẬT HỌC MÁY PHÂN LOẠI VĂN BẢN 1.5. MÁY VECTOR HỖ TRỢ (SVM) 1.5.1. Lý thuyết về máy vector hỗ trợ Là một phương pháp dựa trên nền tảng cơ bản của lý thuyết thống kê với hệ thống toán học chặt chẽ, V được đảm bảo rằng kết quả tìm được là chính xác. Với tính tổng quát cao, V là phương pháp được áp dụng cho nhiều bài toán nhận dạng và phân loại đối tượng. 1.5.1.1. Tổng quan về máy vector hỗ trợ SVM [18] được biết đến là một công cụ mạnh mẽ trong những bài toán phân lớp phi tuyến tính được các tác giả Vapnik và Chervonenkis đề xuất vào năm 1995. Về mặt học thuật, một hệ thống máy vector hỗ trợ xây dựng một hoặc một tập hợp các siêu ph ng trong không gian một hoặc vô hạn chiều, có thể được sử dụng cho ứng dụng phân loại, hồi quy hoặc các 7 nhiệm vụ cụ thể khác. ột cách trực giác, để phân loại tốt nhất các điểm trong không gian, khoảng cách từ siêu ph ng tới các điểm dữ liệu của tất cả các lớp càng xa càng tốt, hay c n gọi là khoảng cách lề càng lớn thì sai số tổng quát hóa của thuật toán càng bé. 1.5.1.2. Cơ sở lý thuyết V về bản chất là một bài toán tối ưu với mục tiêu tìm một và siêu g ng không gian nằm trên sao cho sai số phân loại được cực tiểu hóa. Với tập mẫu {( )( { thuộc vào hai lớp nhãn: ( biểu thị lớp , ) ( )} với , } là nhãn lớp tương ứng của các biểu thị lớp ). Ta có, phương trình siêu ph ng chứa vectơ Xi trong không gian: ( ) ( ) { Như vậy, ( ) biểu diễn sự phân lớp của nêu. Ta nói nếu . Khi đó, để có siêu ph ng || ||với với vào hai lớp như đã và nếu ta sẽ phải giải bài toán sau: tìm thỏa mãn điều kiện sau: ( ( )) . Bài toán V có thể giải bằng kỹ thuật sử dụng toán tử Lagrange để biến đổi về thành dạng đ ng thức. của V ột đặc điểm thú vị là mặt ph ng quyết định chỉ phụ thuộc các upport Vector và nó có khoảng cách đến mặt ph ng quyết định là || || Cho d các điểm khác bị xóa đi thì thuật toán vẫn cho kết quả giống như ban đầu. Đây chính là điểm nổi bật của phương pháp V so với các 8 phương pháp khác vì tất cả các dữ liệu trong tập huấn luyện đều được đ ng để tối ưu hóa kết quả. Tóm lại, trong trường hợp nhị phân phân tách tuyến tính, việc phân lớp được thực hiện qua hàm quyết định ( ) ( ) hàm này thu được bằng việc thay đổi vector chuẩn đây là vector để cực đại hóa viền chức năng. Việc mở rộng V , để phân đa lớp hiện nay vẫn đang được đầu tư nghiên cứu. Có một phương pháp tiếp cận để giải quyết vấn để này là xây dựng và kết hợp nhiều bộ phân lớp nhị phân SVM. 1.5.1.3. Bài toán phân lớp nhị phân với SVM Bài toán đặt ra là: Xác định hàm phân lớp để phân lớp các mẫu trong tương lai, nghĩa là với một mẫu dữ liệu mới xi thì cần phải xác định xi được phân vào lớp hay lớp . Để xác định hàm phân lớp dựa trên phương pháp V , ta sẽ tiến hành tìm hai siêu ph ng song song sao cho khoảng cách y giữa chúng là lớn nhất có thể để phân tách hai lớp này ra làm hai phía. Hàm phân tách tương ứng với phương trình siêu ph ng nằm giữa hai siêu ph ng tìm được: Trong đó Các điểm có nhãn Các điểm có nhãn và Các điểm tương ứng với uport Vector. Hình 1.2: Mô hình b i t n hân l nh hân s n 9 Các điểm mà nằm trên hai siêu ph ng phân tách được gọi là các upport Vector. Các điểm này sẽ quyết định đến hàm phân tách dữ liệu. 1.5.1.4. Bài toán phân nhiều lớp với SVM Để phân nhiều lớp thì kỹ thuật SVM nguyên thủy sẽ chia không gian dữ liệu thành hai phần và quá trình này lặp lại nhiều lần. Khi đó hàm quyết định phân lớp dữ liệu sẽ là: ( ) Những phần tử là support vector sẽ thỏa điều kiện ( ) { Như vậy, bài toán phân nhiều lớp sử dụng V có thể hiểu và biến đổi thành bài toán phân hai lớp nếu ta coi một lớp là một tập dữ liệu cần tìm c n lớp c n lại là tất cả các tập dữ liệu c n lại. Đối với V trong bài toán phân nhiều lớp chủ yếu sử dụng hai chiến lược: - Một với tất cả ( ): mỗi mô hình phân lớp sẽ phân tách một lớp từ các lớp khác. Do vậy nếu có k lớp sẽ có k mô hình tương ứng. - Một với một ( Với lớp sẽ có ( ): mỗi mô hình phân tách thành hai lớp. ) mô hình 1.5.1.5. Các bước chính của SVM i n l liệu: Thực hiện biến đổi dữ liệu ph hợp cho quá trình tính toán, tránh các số quá lớn mô tả các thuộc tính. Thường nên co giãn (scaling) dữ liệu để chuyển về đoạn hoặc 10 Ch n h m nhân (Kernel function): Lựa chọn hàm nhân ph hợp tương ứng cho từng bài toán cụ thể để đạt được độ chính xác cao trong quá trình phân lớp. n th m h việ hu n lu ện v i tậ m u: Trong quá trình huấn luyện sẽ sử dụng thuật toán tối ưu hóa khoảng cách giữa các siêu ph ng trong quá trình phân lớp, xác định hàm phân lớp trong không gian đặc trưng nhờ việc ánh xạ dữ liệu vào không gian đặc trưng bằng cách mô tả hạt nhân, giải quyết cho cả hai trường hợp dữ liệu là phân tách và không phân tách tuyến tính trong không gian đặc trưng. iểm th tậ liệu hu n lu ện 1.5.1.6. So sánh và một số cải tiến Về cơ bản, V - có hai đặc trưng cơ bản: Luôn kết hợp với các dữ liệu có ý nghĩa lớp về mặt vật lý, do đó có thể giải thích một cách tường minh. - Không cần thiết phải sử dụng bộ dữ liệu huấn luyện lớn, tuy nhiên bất kì phương pháp nào có bộ dữ liệu huấn luyện đủ lớn cũng đều cho kết quả tối ưu. 1.5.1.7. Một số ứng dụng của SVM 1.5.2. Hàm nhân (Kernel Function) 1.5.2.1. Khái niệm Một hàm nhân là hàm ( sao cho với mọi ) 〈 ( ) , ta đều có: ( )〉 Trong đó 〈 〉 là tích vô hướng trong không gian đặc trưng. 11 1.5.2.2. Hàm nhân trong máy học tuyến tính 1.5.2.3. Hàm nhân trong mô hình SVM Kernel là một trong những hàm nhân trả về giá trị tích giữa các ảnh của các điểm dữ liệu trên một vài không gian. Bảng 1.1: Công thức các hàm nhân trong SVM Gauss RBF Đa thức Sigmoidal Inverse multi-quadric ( ) ( ) ( ) ( ) ‖ ( (〈 ‖ 〉 ) ( 〈 √‖ ) 〉 ‖ ) 12 Chương 2 - ỨNG DỤNG MÁY VECTOR HỖ TRỢ PHÂN LOẠI CÔNG VĂN THEO LĨNH VỰC 2.1. BÀI TOÁN TRONG THỰC TẾ Trên cơ sở lý thuyết đã được chỉ ra ở chương I, luận văn tiến hành xây dựng ứng dụng phân loại văn bản tự động nhằm xác định hiệu quả và khả năng tiếp cận với hiệu suất chấp nhận được khi ứng dụng mô hình trên cơ sở thực tế. Tập dữ liệu để training và testing được lấy từ dữ liệu văn bản của tỉnh Quảng Bình được phân loại theo lĩnh vực một cách chính xác nhất, sau đó chọn ra 10 lĩnh vực phổ biến để sử dụng. Như đã tìm hiểu các phương pháp phân loại văn bản ở các chương trước, tôi nhận thấy SVM là một phương pháp nhiều cải tiến, có hiệu suất cao so với các phương pháp khác. Do đó, tôi chọn phương pháp V để phát triển ứng dụng. 2.2. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 2.2.1. Mục tiêu Xây dựng được phần mềm đọc tự động văn bản với định dạng Microsoft Word hoặc dạng text sau đó đưa ra được kết quả lĩnh vực của văn bản đầu vào. 2.2.2. Mô hình hoạt động của phần mềm 13 Hình bên dưới thể hiện mô hình hoạt động của phần mềm. Ở mô hình dưới có 2 luồng dữ liệu đó là training và predict. Ở luồng training, người dùng cung cấp văn bản mẩu để cho chương trình học để tạo ra model có thể dự đoán. Ở luồng predict, người dung cung cấp văn bản cần phân loại, sau khi được xử lý văn bản thành vector sẽ đưa vào phần mềm. Phần mềm sẽ trả về lĩnh vực thuộc văn bản đầu vào một cách chính xác nhất. Hình 2.1: Mô hình hoạt động của phần m m phân loại 2.2.3. Chức năng chính của phần mềm 2.2.3.1. Tiền xử lý văn bản 2.2.3.2. Học hàm phân loại văn bản 2.2.3.3. Phân loại văn bản 2.3. SỬ DỤNG MÁY VECTOR HỖ TRỢ ĐỂ PHÂN LOẠI 2.3.1. Tiền xử lý văn bản 2.3.1.1. Chuyển định dạng từ Word sang dạng text (.txt) 2.3.1.2. Làm sạch dữ liệu text a) Loại bỏ các ký tự đặc biệt Loại các ký tự không có ý nghĩa như “%@$.,=+!;/()*"&^:#|\n\t\'” và các chử số, khoảng trắng b) X lý lỗi đ nh dạn văn bản 14 Cùng với đó là các văn bản không phải định dạng Unicode (UTF-8) vì khi đưa vào phần mềm sẽ dẫn tới bị lỗi như bên dưới: C¸c ho¹t ®éng cña TuÇn lÔ ph¶i ®¶m b¶o thiÕt thùc, hiÖu qu¶, tËp trung h-íng vÒ c¬ së , doanh nghiÖp vµ ng-êi lao ®éng cïng chung tay thùc hiÖn tèt c«ng t¸c b¶o ®¶m an toµn lao ®éng trong s¶n xuÊt, tr¸nh h×nh thøc, l·ng phÝ. II. Chñ ®Ò vµ h×nh thøc tæ chøc: 1. Chñ ®Ò: Chñ ®Ò ph¸t ®éng cña TuÇn lÔ quèc gia lÇn thø 16 lµ: "Suy nghÜ vµ hµnh ®éng v× môc tiªu kh«ng tai n¹n lao ®éng, bÖnh nghÒ nghiÖp, ch¸y næ t¹i n¬i lµm viÖc Phần lớn các văn bản của cơ quan nhà nước tại Quảng Bình có một số đơn vị không sử dụng Font chử Unicode (UTF-8) để soạn thảo, mà sử dụng định dạng Font chữ khác, nên khi đưa vào phần mềm phải xác định được văn bản nào có lỗi và tiến hành thay thế các định dạng bị lỗi đó để cho văn bản có thể đọc được. Do đó ở bước 2.3.1.1 khi chuyển văn bản Word thành file text sẽ gặp các văn bản bị lỗi định dạng, không thể đọc được, dẫn đến việc phân loại sai. Chính vì thế ở bước này nếu gặp các văn bản có định dạng khi chuyển sang file text bị lỗi như trên, phải thực hiện các bước để thay thế các định dạng lỗi đó để trở thành file có ý nghĩa có thể đọc được. Bằng các bước như sau: Bước 1: Kiểm tra văn bản có bị lỗi định dạng Font chữ không bằng cách xét tần số xuất hiện của các ký tự như là ¶, ×, Ç, Ö, ®, µ, … có nhiều trong văn bản, kết luận là văn bản đó bị lỗi Font chữ Trong khuôn khổ luận văn, tôi đánh giá những văn bản có tỉ lệ ký tự lỗi so với toàn văn bản lớn hơn 10% là văn bản lỗi định dạng 15 Bước 2: Thay thế các ký tự lỗi đó thành các ký tự có ý nghĩa. Ta có bảng định dạng ký tự bị lỗi và các ký tự Unicode thay thế ở phụ lục Bước 3: Chuyển qua bước tiếp theo để tiến hành nhận dạng văn bản. 2.3.1.3. Chuẩn hóa từ Mục đích là đưa văn bản từ các dạng không đồng nhất về cùng một dạng. Dưới góc độ tối ưu bộ nhớ lưu trữ và tính chính xác cũng rất quan trọng. Một việc quan trong nữa là định dạng tất cả các từ về dạng chử thường, vì khi đưa vào chương trình sẽ có phân biệt hoa thường gây nhập nhằng trong việc phân loại. 2.3.1.4. Tách từ Trong tiếng Việt, dấu cách (space) không được sử dụng như 1 kí hiệu phân tách từ, nó chỉ có ý nghĩa phân tách các âm tiết với nhau. Vì thế, để xử lý tiếng Việt, công đoạn tách từ (word segmentation) là 1 trong những bài toán cơ bản và quan trọng bậc nhất. 2.3.1.5. Loại bỏ các từ StopWords StopWords là những từ xuất hiện nhiều trong ngôn ngữ tự nhiên, tuy nhiên lại không mang nhiều ý nghĩa. Ở Tiếng Việt StopWords là những từ như: để, này, kia... Đối với ứng dụng phân loại văn bản, công văn trong cơ quan nhà nước thì số lượng StopWords ngoài các từ thông dụng trong Tiếng Việt thì sẽ có nhiều từ đặc thù của văn bản, công văn như là: ‘ủy ban nhân dân’, ‘đoàn thể’, ‘chủ tịch’, ‘phó chủ tịch’, ‘cộng hòa xã hội chủ nghĩa việt nam’, … các địa danh của tỉnh 16 2.3.1.6. Vector hóa từ Để vector hóa từ ta sử dụng Bag of Words, là một thuật toán hỗ trợ xử lý ngôn ngữ tự nhiên và mục đích của BoW là phân loại text hay văn bản. Ý tưởng của BoW là phân tích và phân nhóm dựa theo "Bag of Words". Với test data mới, tiến hành tìm ra số lần từng từ của test data xuất hiện trong "bag". Tuy nhiên BoW vẫn tồn tại khuyết điểm, nên TF-IDF là phương pháp khắc phục. 2.3.2. Phân loại văn bản dựa vào máy vector hỗ trợ Sau khi văn bản được vector hóa, bước này ta chọn một mô hình, thuật toán học máy phân lớp đó là Máy vector hỗ trợ (SVM). Dữ liệu văn bản được vector hóa sẽ được chia thành hai tập dữ liệu gồm: - Dữ liệu training - Dữ liệu testing để đánh giá mô hình Trong chương trình phân loại văn bản công văn này, tôi sử dụng hàm nhân Linear (Hàm nhân tuyến tính). 2.3.3. Kiểm thử, đánh giá hàm phân loại Việc kiểm thử, đánh giá này rất quan trọng giúp xác định được độ chính xác của thuật toán. Giá trị của hàm phân loại được tính tại các vector trong tập vector kiểm thử. Nếu giá trị của hàm phân loại không âm thì vector đang xét là một vector văn bản công văn và ngược lại. au đó, bằng cách so sánh với nhãn đúng của các vector kiểm thử, ta tính được độ chính xác của hàm phân loại. Độ chính xác này giúp quyết định có giữ lại hàm phân loại vừa học được hay là phải thực hiện lại giải thuật xử lý văn bản và sử dụng thuật toán phân loại khác. 17 Chương 2. TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ 3.1. MÔI TRƯỜNG TRIỂN KHAI 3.1.1. Bài toán Trên cơ sở các vấn đề học thuật và phân tích thiết kế đã được đưa ra trên đây, bản luận văn tiến hành xây dựng ứng dụng thực tế “Xâ ựng phần m m phân loại văn bản, ôn văn the lĩnh vực áp d ng tại tỉnh Quảng Bình”. 3.1.2. Ngôn ngữ lập trình 3.1.3. Các thư viện hỗ trợ 3.1.3.1. scikit-learn 3.1.3.2. Words segmentation 3.1.3.3. Thư viện StopWords 3.1.3.4. Thư viện Pickle 3.1.4. Tập dữ liệu training và testing Tôi sử dụng tập dữ liệu văn bản của tỉnh Quảng Bình được phân chia thành 10 lĩnh vực khác nhau. Được phân chia tỉ lệ training và testing như bảng dưới đây: Bảng 2.1: Tập d liệu training và testing STT Lĩnh vực Tổng số Training Testing 1 CNTT và Viễn thông 45 30 15 2 Đất đai 289 239 50 3 Giáo dục đào tạo 236 199 37 4 Giao thông 121 97 24 5 Khoa học – Công nghệ 43 29 14 18 6 Nông nghiệp 247 209 38 7 Phòng chống lụt bảo 77 64 13 8 Thi đua – Khen thưởng 286 240 46 9 Xây dựng 186 159 27 10 Y tế 195 159 36 Tổng cộng 1725 1425 300 3.1.5. Hình ảnh Demo chương trình Hình 2.2: Ứng d ng phân loại văn bản tự động trên n n Web 3.2. MÔ HÌNH PHÂN LOẠI VĂN BẢN Luận văn tiến hành xây dựng mô hình phân loại văn bản theo hai phương pháp dựa trên văn bản đầu vào huấn luyện và kiểm thử để tiến hành đánh giá so sánh kết quả phân loại, nhằm chọn ra mô hình phân loại có độ chính xác cao hơn. Hai phương pháp này chỉ khác nhau ở bước làm sạch dữ liệu (2.3.1.1) ở phần tiền xử lý văn
- Xem thêm -