Nhận xét kết quả thực nghiệm

Một phần của tài liệu phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms) (Trang 71 - 79)

Từ các kết quả thực nghiệm bên trên, chúng ta có thể có được một số nhận xét như sau:

 Module tách từ khoá là một bước quan trọng trong xử lý văn bản. Tuy chưa thực sự đạt kết quả cao nhất, nhưng việc áp dụng thuật toán tách theo độ dài nhất của từ áp dụng trong chương trình cũng đáp ứng tương đối tốt chức năng của chương trình.

 Trong phương pháp phân loại văn bản bằng SVMs, quá trình huấn luyện SVMs là một bước rất quan trọng, chiếm nhiều thời gian và có ý nghĩa quyết định cho kết quả phân loại. Bộ dữ liệu được lựa chọn để huấn luyện cũng có ý nghĩa rất quan trọng đối với việc phân loại, bộ dữ liệu huấn luyện càng chuẩn thì kết quả phân loại văn bản càng tốt.

 Việc lựa chọn tập đặc trưng để biểu diễn văn bản cho kết quả tốt, với một giới hạn nhất định sẽ làm tăng hiệu quả phân loại văn bản của chương trình. Đặc biệt, cách lựa chọn tập đặc trưng theo phương pháp Chi-square cho kết quả rất tốt.

 Qua một loạt các bước thử nghiệm, kết quả phân loại thu được là tương đối tốt, các thông số: độ chính xác, độ bao đều đạt giá trị cao.

 Tuy nhiên, dung lượng bộ nhớ mà chương trình chiếm giữ là khá lớn, cần được cải tiến để đáp ứng xử lý vấn đề trên tập dữ liệu lớn.

4.3 Kết chƣơng

Trong chương 4, em đã trình bày một số kết quả thực nghiệm của chương trình phân loại văn bản bằng phương pháp SVMs, cũng đã đưa ra một số nhận xét về ưu nhược điểm của chương trình gặp phải trong khi thực thi với các CSDL văn bản tiếng Việt.

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 60/67

KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN

Những kết quảđạt đƣợc

Khoá luận đã trình bày được các vấn đề lý thuyết cơ bản trong lĩnh vực Khai phá dữ liệu nói chung và khai phá dữ liệu văn bản nói riêng. Đặc biệt, về phương pháp phân loại văn bản sử dụng SVMs, là một trong những phương pháp hiệu quả phân loại cao trong văn bản tiếng anh. Trên cơ sở tiến hành thiết kế, cài đặt, thực nghiệm với văn bản tiếng việt, chúng tôi đã đạt được những kết quả cụ thể như sau:

 Xây dựng thành công module tách từ khoá theo phương pháp từ dài nhất (chiều phải qua trái). Qua thực nghiệm, nhận thấy module chương trình tách từ ổn định, có tốc độ và hiệu quả tách từ rất tốt.

 Hoàn thành nghiên cứu và xây dựng thành công chương trình phân loại văn bản tiếng Việt sử dụng phương pháp Support Vector Machines. Cụ thể, gồm các nội dung sau:

- Trình bày và áp dụng phương pháp trích chọn tập từ khoá đặc trưng để biểu diễn văn bản. Hai kỹ thuật được áp dụng trong phương pháp này, đó là: IGChi-square. Chúng tôi đã thực nghiệm đánh giá, nhận thấy tập thuật ngữ sau khi trích chọn đã được tối giảm từ 10-20 lần khi áp dụng trong trích chọn tập thuật ngữ tiếng Việt (với tập từ đặc trưng tiếng Anh kết quả có thể giảm tới 100 lần). Kết quả danh sách thuật ngữ thu được không làm ảnh hưởng nhiều tới hiệu quả phân loại của chương trình. Đây thực sự là phương pháp phù hợp áp dụng trong bài toán phân loại văn bản sử dụng phương pháp SVMs, bởi vì nó sẽ giúp giảm chi phí thời gian xử lý trên tập vector có số chiều lớn trong khi huấn luyện.

- Nền tảng phân loại dựa trên SVMs là phân loại nhị phân, trong chương trình chúng tôi cũng đã cải tiến nhằm phù hợp cho bài toán phân loại đa lớp. Cụ thể, dựa trên nguyên tắc liên kết một-nhiều (one against all), kết hợp các bộ phân loại nhị phân sau khi huấn luyện, từ đó đưa ra danh sách các lớp liên quan đối với văn bản đầu vào.

- Tiến hành thực nghiệm trên các bộ dữ liệu văn bản khác nhau, kết quả thu được chứng tỏ phương pháp SVMs cho kết quả phân loại khá tốt, hiệu quả tương đối cao so với các phương pháp phân loại khác và khá sát với kết quả phân loại trong văn bản tiếng anh.

Những khó khăn còn tồn tại

Do thời gian thực hiện và trình độ hạn chế nên khóa luận này chưa giải quyết một số vấn đề sau:

 Đối với việc phân tách từ khoá: chưa xử lý được triệt để các vấn đề phức tạp trong ngôn ngữ tiếng Việt, đặc biệt chưa xử lý được vấn đề đồng nghĩa.  Chi phí thời gian thực thi huấn luyện SVMs vẫn chưa được ổn định trong

quá trình thử nghiệm.

 Chưa kiểm tra được tính đúng đắn của chương trình trên tập cơ sở dữ liệu lớn.

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 61/67

Hƣớng phát triển tƣơng lai

 Nâng cấp hiệu năng của thuật toán tách từ khóa.

 Thực nghiệm hệ thống trên cơ sở dữ liệu lớn hơn để có đánh giá tốt hơn về hiệu năng của SVMs.

 Đi tới xây dựng ứng dụng phân loại văn bản, tài liệu tiếng Việt.  Tích hợp với các Search Engine.

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 62/67

PHỤ LỤC 1: Mô tả mã nguồn của chƣơng trình

Hình mô tả các lớp trong chƣơng trình

Sau đây, emi trình bày chi tiết một số lớp quan trọng:

 clsDictionary: Thực hiện việc truy cập từ điển, đọc từ điển, lưu trữ các thuật ngữ, tổ chức bảng băm.

 clsGlobal : Thực hiện lưu trữ các biến toàn cục được sử dụng trong chương trình. Một số biến toàn cục quan trọng:

- clsWeightVector[] g_Rep_Weight_Vector_Arr;

- public static clsVector[] g_TF_Vector_Arr;

- public static ArrayList g_RepTermDataTrain;

//Cac bien lay thong so huan luyen

public static string g_LimitOccur;

public static string g_LimitInfoValue;

public static string g_Vp;

public static string g_Vn;

public static string g_Kernel;

public static string g_Co_Kernel;

public static string g_FuncInfo;

 clsInitialize: Thực hiện việc khởi tạo giá trị cho tham số α cho bước huấn luyện.

 clsKernel: Thực hiện việc tính toán hàm kernel cho bước huấn luyện.

 clsLearning: Thực hiện việc học máy để thu được giá trị α tối ưu theo thuật toán 2v-SVMs.

 clsPresentTermSet: Lớp để lưu trữ các thuật ngữ (đặc trưng của văn bản). Một số tham số quan trọng:

- private int limitOccur;// So van ban toi thieu chua thuat ngu

- private double limitValue; // Gia tri toi thieu cua ham uoc luong thong tin

 clsSplitWords: Lớp để thực hiện các chức năng tách từ trong một câu theo thuật toán tách từ theo từ dài nhất.

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 63/67

 clsVector: Lớp lưu trữ ID và tần xuất của thuật ngữ. Một số tham số quan trọng:

- private ArrayList IDList;

- private ArrayList FreqList;

 clsVectorization: Thực hiện vector hóa các văn bản. Như vậy, mỗi văn bản được biểu diễn bằng một vector.

 clsWeightVector: Thực hiện việc biểu diễn danh sách các thuật ngữ (đặc trưng) thành các vector trọng số.

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 64/67

PHỤ LỤC 2: Hƣớng dẫn sử dụng và cài đặt chƣơng trình.

1 Cách cài đặt chƣơng trình

Để cài đặt chương trình, máy tính phải được cài đặt hệ điều hành Win7 trở lên, có cài đặt nền tảng Frameword .NET, có hỗ trợ font Unicode. Bộ nhớ trong dư > 40MB, bộ nhớ ngoài dư > 20MB.

Chương trình cài đặt nằm tại thư mục Setup trong đĩa CD kèm theo. Người dùng có thể cài đặt chương trình bằng cách chạy tệp tin Setup.exe trong thư mục này, hoặc dùng nền tảng Visual C# chạy trực tiếp từ mã nguồn.

2 Cách chạy chƣơng trình

Sau khi cài đặt thành công chương trình, người dùng có thể chạy trực tiếp chương trình qua Shortcut nằm trên Desktop có tên Text Categorization.

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 65/67

PHỤ LỤC 3: Mô tả nội dung đĩa CD kèm theo

Trong đĩa CD kèm theo có 5 thư mục: Doc, Ref, App, Abstract, Help Doc: chứa báo cáo và slide trình bày

Ref: chứa các tài liệu tham khảo

App: chứa mã nguồn và bộ cài chương trình

Abstract: chứa bản tóm tắt báo cáo

Help: chứa file hướng dẫn.

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 66/67

DANH MỤC TÀI LIỆU THAM KHẢO

[1] Tom M. Mitchel, “Machine Learning”, McGraw-Hill International, 1999.

[2] Two Crows, “Introduction to Data Mining and Knowledge Discovery”, Third Edition.

http://www.twocrows.com/booklet.htm

[3] Tu Bao Ho, “Overview of Knowledge Discovery and Data Mining”, Lecture 1 Methodology for Knowledge Discovery in Hanoi.

[4] Amanda Hepler, “Text Mining – A Brief Summary”, North Carolina State University Division of Undergraduate Affairs Office of Assessment, 2002.

[5] Gilad Mishne & Maarten de Rijke, “Vector Space Model”, Informatics Institute University of Amsterdam, 2005.

http://ilps.science.uva.nl/Teaching/0405/IIResources/ii-0405-week02-2-8up.pdf

[6] H.G. Chew, C.C. Lim, and R.E. Bogner, “An Implementation of Training Dual-nu Support Vector Machines”; In Qi, Teo, and Yang, editors, Optimization and Control with Applications. Kluwer, 2003.

http://users.on.net/~hgchew/svm/ChewLimBogner-OCA2003.pdf.

[7] Thorsten Joachims (Universitat Dortmund Informatik, Germany), “Text Categorization with Support Vector Machines: Learning with Many Relevant Features”, 1999.

[8] Thorsten Joachims (Germany), “A Statistical Learning Model of Text Classification for Support Vector Machines”, 2001.

[9] Bernhard Schölkopf (Microsoft Research Limited, Cambridge, UK), “Statistical Learning and Kernel Methods”, 2000.

[10] H.G. Chew, C.C. Lim, and R.E. Bogner, “Dual-nu Support Vector Machines and applications in multi-class image recognition”, 2004.

http://users.on.net/~hgchew/svm/ChewLimBogner-ICOTA2004.pdf.

[11] Federico Girosi, “Approximation error bounds that use VC – Bounds”, Center for Biological and Computational Learning and Artificial Intelligence Laboratory Massachusetts Institute of Technology Cambridge, 1995.

[12] Pai-Hsuen Chen, Chih-Jen Lin, and Bernharh Scholkopf, “A Tutorial on v-Support Vector Machines”, 2002.

http://www.csie.ntu.edu.tw/~cjlin/papers/nusvmtutorial.pdf

[13] Li Baoli, Yu Shiwen, and Lu Qin, “An Improved k-Nearest Neighbor Algorithm for Text Categorization”, 2003.

[14] Tu Bao Ho, Saori Kawasaki, Ngoc Binh Nguyen, “Documents Clustering Using Tolerance Rough Set Model and Its Application to Information Retrevial”, 2000. [15] Jong-Hoon Oh, KyungSoon Lee, and Key-Sun Choi (Korea), “Term Recognition

Using Technical Dictionary Hierarchy”, 2000.

[16] Dinh Dien, Hoang Kiem, Nguyen Van Toan, “Vietnamese Word Segmentation”, 2001.

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 67/67 [17] Vladik Kreinovich, “FS I: Fuzzy Sets and Fuzzy Logic”,

http://www.abo.fi/~rfuller/nfs1.pdf

[18] J.C. Bezdek, “Editorial: Fuzzy Models - What Are They, and Why ?”, IEEE Transactions on Fuzzy Systems, 1998.

http://www.ee.vt.edu/~dadone/fuzzyIntro/intro_to_fuzzy_sets.pdf

[19] Evgeniy Gabrilovich, Shaul Markovitch. “Text Categorization with Many Redundant Features: Using Aggressive Feature Selection to Make SVMs Competitive with C4.5”, Computer Science Department, Technion Israel Institute of Technology, 32000 Haifa, Israel. (fs-svm)

[20] Tao Liu, Shengping Liu, Zheng Chen, Wei-Ying Ma, “An Evaluation on Feature Selection for Text Clustering”; Department of Information Science, Nankai University, Tianjin; and Department of Information Science, Peking University, Beijing; and Microsoft Research Asia, 49 Zhichun Road, Beijing; P. R. China. (ICML2003-15).

[21] Yiming Yang, Jan O. Perdersen, “A Comparative Study on Feature Selection in Text Categorization”, School of Computer Science Carnegie Mellon University Pittsburgh, USA, 1997. (yang97compative)

[22] Nadeem Ahmed Syed, Huan Liu, Kah Kay Sung, “Incremental Learning with Support Vector Machines”, School of Computing National University of Singapore, 1999. (syed99incremental)

[23] Liva Ralaivola and Florence d’Alch´e–Buc, “Incremental Support Vector Machine Learning: a Local Approach”, Laboratoire d’Informatique de Paris 6, Universit´e Pierre et Marie Curie, 8, rue du Capitaine Scott, F-75015 Paris, France.

Một phần của tài liệu phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms) (Trang 71 - 79)