Xây dựng tập văn bản dùng cho huấn luyện

Một phần của tài liệu Khai phá dữ liệu văn bản bằng lý thuyết tập thô (Trang 67 - 86)

Tập văn bản dùng cho huấn luyện được thu thập từ các trang tin trên Internet. Từ tập văn bản này, xác định được mô hình tập thô dung sai để cập nhật giá trị cho từng thuật ngữ trong tập thuật ngữ [26].

Trong luận văn này, sử dụng bốn chủ đề khác nhau: văn hóa, công nghệ, kinh tế, thể thao.

Gọi D là tập văn bản dùng cho huấn luyện, mỗi Dk

là tập văn bản đối với mỗi chủ đề k. D được biểu diễn như sau

D={D1, D2,..., Dm}

Đối với mỗi chủ đề Dk

ta có:

D={d1,d2,...,dm}

3.2.2. Xây dựng tập từ dừng, từ tầm thƣờng

Từ dừng, từ tầm thường là những từ không mang nhiều giá trị thông tin trong văn bản. Loại bỏ tập từ dừng, từ tầm thường (xem phụ lục luận văn) sẽ giảm thiểu thời gian xử lý đồng thời tăng độ chắnh xác khi phân loại văn bản.

3.2.3. Xây dựng tập thuật ngữ

Đối với mỗi một chủ đề, xây dựng một tập thuật ngữ riêng tương ứng với chủ đề đó. Đối với chủ đề Dk } ,..., , {t1 t2 tn T

3.2.4. Tiền xử lý văn bản đầu vào

Văn bản trước khi đưa vào phân lớp được thông qua module tiền xử lý văn bản. Mục đắch của tiền xử lý là chuyển văn bản về dạng rút gọn nhất để dễ dàng biểu diễn văn bản cho chức năng tắnh toán tiếp theo. Quy trình tiền xử lý văn bản đầu được mô tả như Hình 3.3 dưới đây.

Số hóa bởi Trung tâm Học liệu Ờ Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Văn bản biểu diễn theo tần suất Tiền xử lý văn bản Tiền xử lý văn bản Tiền xử lý văn bản Tách từ khóa Thống kê từ khóa Loại bỏ từ dừng Văn bản thô

Hình 3.2. Quy trình tiền xử lý văn bản.

Đầu tiên, văn bản thô được đưa vào chức năng tiền xử lý của hệ thống, các từ dừng và từ tầm thường được loại bỏ dựa trên tập các từ dừng, từ tầm thường đã được xây dựng. Hình 3.4 dưới đây là thuật toán mô tả quy trình tiền xử lý văn bản

Hình 3.3. Thuật toán tiền xử lý văn bản.

Trong thuật toán tiền xử lý văn bản, có 2 hàm chắnh được sử dụng là hàm

length(d) lấy chiều dài văn bản và hàm remove là hàm loại bỏ từ t(i) nếu t(i) là từ dừng.

3.2.5. Huấn luyện

Quy trình huấn luyện bao gồm 2 giai đoạn chắnh: tách thuật ngữ tắnh giá trị thuật ngữ và tạo lớp dung sai cho thuật ngữ.

THUẬT TOÁN TIỀN XỬ LÝ VĂN BẢN (PRE-TEXT) Đầu vào: d: văn bản; stw:tập từ dừng; Đầu ra: d: văn bản đã được xử lý; Begin

Fori=1 to length(d)

if t(i)stw then

remove t(i);

Số hóa bởi Trung tâm Học liệu Ờ Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Tắnh giá trị thuật ngữ Văn bản đầu vào đã tiền xử lý Tiền xử lý văn bản Tiền xử lý văn bản Tắnh ( ) i d i f t Tắnh fD( )ti Lấy A thuật ngữ có wij Tắnh wij Các văn bản với A thuật ngữ, tần số, trọng số

Hình 3.4 Cập nhật giá trị tần suất thuật ngữ.

Văn bản sau khi tiền xử lý được tách ra các thuật ngữ dựa vào tập thuật ngữ theo chủ đề và được cập nhật trọng số. Hình 3.5 dưới đây là thuật toán cập nhật trọng số cho các thuật ngữ.

Hình 3.5. Thuật toán cập nhật trọng số cho các thuật ngữ.

Mô tả thuật toán cập nhật trọng số cho các thuật ngữ bao gồm hai hàm chắnh đó là hàm count và hàm length. Hàm count trả về giá trị số văn bản trong tập D, hàm length là hàm trả về chiều dài của văn bản d. Duyệt từng văn

THUẬT TOÁN CẬP NHẬT TẬP THUẬT NGỮ (UP- TERM)

Đầu vào:

Dk: tập văn bản huấn luyện tương ứng chủ đề k; Tk: tập thuật ngữ tương ứng chủ đề k;

Đầu ra:

Tk: tập thuật ngữ đã được cập nhật giá trị;

Begin

Fori=1 to count(D)

For each d in D For j=1 to length(d) if t(i)T then    2 ) ( ) ( ) ( i j hj i t t d t N i t End.

Số hóa bởi Trung tâm Học liệu Ờ Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

bản trong tập D, đối với mỗi văn bản d trong tập D, tìm thuật ngữ dựa trên tập thuật ngữ đã được xây dựng sẵn, để tắnh trọng số cho thuật ngữ.

Tạo lớp dung sai xấp xỉ

Tạo lớp dung sai xấp xỉ cho các thuật ngữ được mô tả như Hình 3.6 dưới đây. Các thuật ngữ với trọng số Tiền xử lý văn bản Tiền xử lý văn bản Tắnh ( , ) D i j f t t Xác định ) (ti I GhiI(ti) ra file

Lơp dung sai của tất cả các thuật ngữ

Hình 3.6 Tạo lớp dung sai xấp xỉ cho các thuật ngữ.

Thuật toán tạo lớp dung sai xấp xỉ cho các thuật ngữ được mô tả như Hình 3.7 dưới đây.

Hình 3.7. Thuật toán tạo lớp dung sai cho các thuật ngữ.

THUẬT TOÁN TẠO LỚP DUNG SAI (CRE-CLUS) Đầu vào:

Tk: tập thuật ngữ đã được cập nhật giá trị;

Đầu ra:

DS: Lớp dung sai tất cả các thuật ngữ;

Begin

Fori=1 to count(D)

For each d in D For j=1 to length(d) If ti and tj T then fD(ti,tj); } i {t θ} ) j t , i (t D f | j {t ) i (t θ I    ; End.

Số hóa bởi Trung tâm Học liệu Ờ Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Tạo các tập xấp xỉ cho văn bản

Tạo các cận xấp xỉ trên và xấp xỉ dưới của văn bản nhằm mục đắch tạo khoảng để xác định các văn bản có thuộc chủ đề mà tập thuật ngữ nằm trong khoảng đó hay không. Phương pháp tạo tập xấp xỉ được mô tả như Hình 3.8 dưới đây. Lớp dung sai của các tuật ngữ và thuật ngữ, tần số, trọng số văn bản Tiền xử lý văn bản Tiền xử lý văn bản Tắnh M j N i d ti j ... 1 ... 1 : đó Trong ) , (    Xác định L(R, dj) trong đó: j =1ẦM Xác định U(R,dj) trong đó: j =1ẦM Tập xấp xỉ dưới của văn bản Tập xấp xỉ trên của văn bản Hình 3.8 Sơ đồ tạo tập xấp xỉ.

Hình 3.9 dưới đây là thuật toán tắnh tập xấp xỉ trên và tập xấp xỉ dưới của văn bản với đầu vào là lớp dung sai của các thuật ngữ, trọng số của các văn bản và trọng số của các thuật ngữ.

Hình 3.9. Thuật toán tạo xấp xỉ trên và xấp xỉ dưới.

THUẬT TOÁN TÍNH TẬP XẤP XỈ (APRO-SET) Đầu vào:

Tk: tập thuật ngữ đã được cập nhật giá trị; DS: Lớp dung sai tất cả các thuật ngữ;

Đầu ra:

C1:Tập xấp xỉ trên; C2: Tập xấp xỉ dưới;

Begin

Fori=1 to count(D)

For each d in D For j=1 to length(d) If ti and tj T then ) ( | | ) ( | ) ), ( ( ) , ( i i i i t I X t I X t I v X t        // Tắnh xấp xỉ dưới C1(R,dj)= {tiT | v((I(ti),dj)=1} // Tắnh xấp xỉ trên C2(R,dj)= {tiT | v((I(ti),dj)>0} End.

Số hóa bởi Trung tâm Học liệu Ờ Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

3.2.6. Phân lớp văn bản

Sau khi tắnh được các cận xấp xỉ. Quy trình phân lớp được mô tả như Hình 3.11 dưới đây. Đầu vào Tiền xử lý văn bản Tiền xử lý văn bản Phân tách thuật ngữ của văn bản d Đầu ra Gán d vào Ck Tạo xấp xỉ trên theo d Tìm Ck gần nhất 1 2 3 4 Hình 3.10. Phân lớp văn bản.

Đầu vào: Văn bản d

Đầu ra: Kết quả phân lớp vào lớp thứ k có sẵn. Chức năng gồm các bước sau:

Bước 1: Phân tách thuật ngữ của văn bản d. Bước 2: Tạo xấp xỉ trên và dưới cho văn bản d.

Bước 3: Tìm nhóm Ck có độ tương tự lớn nhất so với d. Bước 4: Gán d vào nhóm Ck đó.

Các bước trên được mô tả bằng thuật toán phân lớp như Hình 3.11 dưới đây.

Số hóa bởi Trung tâm Học liệu Ờ Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Hình 3.11. Thuật toán phân lớp văn bản.

Trong thuật toán trên, có các hàm PRE-TEXT() là hàm tiền xử lý văn bản d. Hàm UP-TERM() là hàm cập nhật giá trị thuật ngữ. Hàm CRE-CLUS() là hàm tạo lớp dung sai, APRO-SET () là hàm tạo cận xấp xỉ và Sim(d,Ck) là độ tương tự giữa văn bản d và lớp Ck. Độ tương tự này được tắnh toán dựa trên công thức phân loại Bayes, dựa trên tập dữ liệu đã được huấn luyện để tắnh toán độ tương tự của văn bản d với lớp Ck. Dựa vào độ tương tự này, ta có thể tắnh toán để đưa văn bản d về đúng lớp chủ đề của nó.

3.3. Kết luận chƣơng 3

Phân lớp văn bản là đưa văn bản về nhóm đã được tổ chức sẵn. Sử dụng phương pháp xấp xỉ trong tập thô sẽ phân lớp văn bản tiếng Việt tự động một cách tương đối chắnh xác.

THUẬT TOÁN PHÂN LỚP VĂN BẢN

Đầu vào:

d: Văn bản xác định phân lớp;

Đầu ra:

d: Văn bản được phân vào lớp cụ thể

1. Gọi PRE-TEXT(d); 2. For i=1 to count(d) do If t(i)  T then Gọi UP-TERM(t(i)) 3. Gọi CRE-CLUS((t(i),t(j)) 4. Gọi APRO-SET(d)

Số hóa bởi Trung tâm Học liệu Ờ Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

CHƢƠNG 4. XÂY DỰNG HỆ THỐNG PHÂN LOẠI VĂN BẢN TIẾNG VIỆT THEO CHỦ ĐỀ

Trong chương này trình bày tổng quan về giao diện của hệ thống phân loại văn bản tiếng Việt theo chủ đề, nền tảng xây dựng phần mềm và cơ sở dữ liệu của hệ thống.

Sau khi dữ liệu được thu thập, đã tiến hành thủ công để tạo ra các tập thuật ngữ tương ứng với 4 chủ đề khác nhau: văn hóa, kinh tế, thể thao, công nghệ.

4.1. Môi trƣờng và nền tảng ứng dụng

Hệ thống phân loại văn bản tiếng Việt theo chủ đề được xây dựng trên nền tảng Visual Studio 2010.

Hình 4.1 Hệ thống phân loại văn bản tiếng Việt tự động.

Tập văn bản huấn luyện được thu thập từ các trang tin trên Internet như http://vnexpress.net, http://vietnamnet.vn, http://pcworld.vn,...

Số hóa bởi Trung tâm Học liệu Ờ Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Hình 4.2 Kho lưu trữ các văn bản dành cho huấn luyện.

Mỗi văn bản được lưu dưới dạng file.txt như sau

Hình 4.3 Mô tả file huấn luyện của hệ thống.

Các thuật ngữ này được tạo ra thủ công bằng cách dựa trên công cụ VLSP để tách từ.

Số hóa bởi Trung tâm Học liệu Ờ Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Hình 4.4. Hệ thống VLSP.

Cơ sở dữ liệu chứa các thuật ngữ và văn bản huấn luyện được thiết kế như Hình 4.2 sau.

Hình 4.5. Bảng cơ sở dữ liệu.

4.2. Giao diện hệ thống

Dưới đây là hình ảnh của giao diện chắnh, các chức năng bao gồm: huấn luyện, phân loại, quản lý và kết quả.

Số hóa bởi Trung tâm Học liệu Ờ Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Hình 4.6 Giao diện chắnh

Hình 4.6 dưới đây là giao diện chức năng huấn luyện của hệ thống. Trong chức năng này, trọng số của các thuật ngữ được cập nhật thông qua các văn bản trong kho dữ liệu huấn luyện. Có bốn chủ đề bao gồm: giáo dục, kinh tế, thể thao, tin học.

Số hóa bởi Trung tâm Học liệu Ờ Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Giao diện phân loại được trình bày như hình 4.8 dưới đây. Chức năng phân loại cho phép di chuyển một văn bản tại bất kỳ vị trắ nào trên đĩa tới đúng nhóm của nó.

Hình 4.8 Giao diện quy trình phân lớp.

4.3. Kết luận chƣơng 4

Các giao diện được trình bày trong chương 4 là mô hình được xây dựng dựa trên lý thuyết và thuật toán đã được trình bày ở chương 3. Với hệ thống này, chúng tôi đã thực hiện thử nghiệm với bốn chủ đề khác nhau: giáo dục, kinh tế, thể thao, tin học được download từ các website http://vnexpress.net, http://vietnamnet.vn đều cho kết quả phân lớp tương đối chắnh xác với kết quả phân lớp bởi người dùng.

Số hóa bởi Trung tâm Học liệu Ờ Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Kết luận

Các phương pháp khai phá dữ liệu hiện nay ngày càng gần với yêu cầu của người dùng là mong muốn cho thông tin hữu ắch nhất trong vô vàn lượng thông tin trên Internet. Trong đó, dữ liệu dạng văn bản chiếm tới trên 80% kho dữ liệu lớn đã có. Để khai phá hiệu quả thông tin này cần tới nhiều công cụ khác nhau để khai phá, trong đó có lý thuyết tập thô.

Trong luận văn này đã trình bày một kỹ thuật khai phá dữ liệu văn bản là kỹ thuật phân lớp văn bản tiếng Việt theo chủ đề và áp dụng lý thuyết tập thô tương đối hiệu quả cho kết quả tương đối chắnh xác với kết quả đã được phân lớp bởi con người.

Để các kết quả được trình bày trong luận văn ngày càng gần gũi với người sử dụng hơn, trong tương lai, luận văn sẽ phát triển thành hệ thống phân loại tự động văn bản tiếng Việt trên môi trường Internet và mở rộng nhiều hơn các chủ đề cho phân loại văn bản. Đồng thời, kho dữ liệu cũng sẽ được bổ sung để đảm bảo tắnh học cập nhật ngày càng tốt hơn.

Dù đã hết sức cố gắng để hoàn thành luận văn và xây dựng hệ thống phân lớp văn bản tiếng Việt tự động, tuy nhiên, do thời gian nghiên cứu có hạn nên không thể tránh khỏi những sai sót. Kắnh mong các thầy cô, đồng nghiệp, bạn bè đóng góp để luận văn hoàn thiện hơn.

Số hóa bởi Trung tâm Học liệu Ờ Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

TÀI LIỆU THAM KHẢO

TIẾNG VIỆT

[1]. Louis Rigand, Dunod (1984), Thiết lập hệ thống thông tin quản lý của các tổ chức, Bản dịch tiếng Việt 1988.

[2]. Jeffrey D. Ullman (1998), Nguyên lý các hệ cơ sở dữ liệu và cơ sở

tri thức, NXB Thống kê.

[3]. Vũ Huy Hiện (2006), Khai phá dữ liệu văn bản theo cách tiếp cận lý thuyết tập thô.

[4]. Lê Bắch Liên Ờ ỘKhai phá dữ liệu bằng lý thuyết tập thôỢ Luận văn Thạc sỹ 2007.

[5]. Roger S.Pressman (1999), Kỹ nghệ phần mềm, NXB Giáo dục. [6]. Đoàn Sơn (2002) Phương pháp biểu diễn văn bản sử dụng tập mờ và ứng dụng trong khai phá dữ liệu văn bản Luận văn thạc sỹ Khoa Công Nghệ, ĐHQGHN, năm 2002.

[7]. Vũ Đức Thi (1997), Cơ sở liệu - Kiến thức và thực hành, NXB Thống kê.

[8]. Hà Quang Thụy (1996). Một số vấn đề về không gian xấp xỉ, tập thô đối với hệ thông tin. Luận án Phó tiến sĩ Khoa học Toán Lý, ĐHKHTN, 1996.

[9]. Nguyễn Thanh Thuỷ (2001), Khai phá dữ liệu - Kỹ thuật và ứng dụng, NXB Khoa học kỹ thuật.

TIẾNG ANH

[10]. D. Tikk, J. D. Yang, and S. L. Bang, Hierarchical text categorization using fuzzy relational thesaurus . Kybernetika, 39(5), pp. 583Ờ600, 2003

Số hóa bởi Trung tâm Học liệu Ờ Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

[11]. F.Sebastiani, Machine learning in automated text categorization, Technical Report IEI-B4-31-1999, Consiglio Nazionale delle Ricerche, Pisa, Italy, 1999.

[12]. Alan Rea (1995), Data Mining Ờ An Introduction, the Parallel

Computer Centre, The Queen‟s University Belfast.

[13]. Tu Bao Ho, Saori Kawasaki, Ngoc Binh Nguyen, ỘCluster Ờ based Information Retrieval with Tolerance Rough Set ModelỢ, 2nd International Symposium on Advanced Intelligent Systems Conference Proceedings, 2001.

[14]. Jiawei Han and Micheline Kamber (2001): Data Mining: Concepts and Techniques. Academic Press 2001.

[15]. Hearst, M. What Is Text Mining? 2003

[16]. Fayyad, Piatetsky-Shapiro, Smyth, ỘFrom Data Mining to Knowledge Discovery: An OveriewỢ, in Fayyad, Piatetsky-Shapiro, Smyth, Uthurusamy, Advances in Knowl\ledge Discovery and Data Mining, AAAI Press/ The MIT Press, Menlo Park, CA, 1996, pp,1-34

[17]. Ricardo Baeza-Yates, Berthier Ribeiro-Neto, Modern Information Retrieval, Addison Wesley, 1999

[18]. Wojciech P.Ziarko (Ed.,1994).Rough Sets, Fuzzy Sets and Knowledge Discovery. Proceedings of the Inrnational Workshop on Rough Sets and Knowledge Discovery (RSKD‟93), Banff, Alberta, canada, 12-15 October 1993. Springer-Verlag.

[19]. Eui-Hong Han, Text Categorization Using Weight Adjusted k- earest Neighbor Classification. PhD thesis, University of Minnesota, October 1999.

Số hóa bởi Trung tâm Học liệu Ờ Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

[20]. T. Joachims, Text categorization with Support Vector Machines: Learning with many relevant features. In Machine Learning: ECML-98, Tenth European Conference on Machine Learning, pp. 137-142

[21]. Daniel T.Larose, Data Mining Method and Model, Willey Publication.

[22]. Andrzej Skowron, Ning Zong (2000). Rough Sets in KDD. Tutorial Notes

[23]. Sinh Nguyen Hoa, Andrzej Skowron, Piotr Synak (1998). Discovery of Data Patterns with Application to Decomposition and Classification Problems.

[24]. Nguyen Hung Son, Nguyen Sinh Hoa. From Optimal

Một phần của tài liệu Khai phá dữ liệu văn bản bằng lý thuyết tập thô (Trang 67 - 86)