Xét một nhóm văn bản c, khi đó vector trọng tâm của nhóm C đƣợc tính thông qua vector tổng D(theo công thức (25), (26)):
c d d D (25) c D C (26) ở đó |c| là số phần tử thuộc tập văn bản c.
Trong các bài toán xử lý văn bản thì vector trọng tâm đƣợc dùng để làm đại diện cho cả nhóm văn bả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
Giả sử ta có hai nhóm vector c1, c2, khi đó độ tƣơng tự giữa hai nhóm văn bản đƣợc tính bằng độ gần nhau giữa hai vector trọng tâm C1, C2 nhƣ sau:
) , sim( ) , sim(c1 c2 C1 C2 (27)
Ở đây ta hiểu rằng c1 và c2 có thể là một văn bản riêng lẻ vì khi đó có thể coi một nhóm chỉ gồm một phần tử.
3.5.2. Phương án tách thuật ngữ
Vấn đề đầu tiên cần quan tâm là bài toán tách từ. Trong các phần trƣớc không nhắc tới bài toán này mà chỉ coi đó là một bƣớc nhỏ trong bài toán xử lý văn bản và ngầm định luôn luôn có thể biểu diễn một văn bản thô thành một vector Boolean, tần suất, hay tập mờ.Nhƣng trên thực tế thì không phải dễ dàng nhƣ vậy mà đây thực sự là một bài toán xử lý văn bản.
Phát biểu bài toán: Cho một văn bản d và một từ điển T. Yêu cầu tách các từ khóa có trong từ điển từ văn bản đã nêu.
Các vần đề cần quan tâm:
3.5.2.1. Đối với các ngôn ngữ đơn âm tiết (single-term)
Việc tách từ khóa trong ngônngữ đơn âm tiết tƣơng đối đơn giản. Trong các ngôn ngữ này, mỗi từ khóa có ý nghĩa thƣờng đƣợc biểu diễn dƣới dạng một dãy ký tự liên tiếp.Đối với các từ khóa có nhiều hơn một âm tiết thì chỉ có một âm tiết mang hàm nghĩa, còn các tiếng khác chỉ mang tính chất phụ âm.Nhƣng các ngôn ngữ loại này thƣờng có biến thể trong từ khóa.Ví dụ trong tiếng Anh có các biến thể của từ “do”: “do”, “doing”, “done”. Do đó các bộ tách từ cần có biện pháp xử lý các biến thể của từ khóa.
3.5.2.2. Đối với các ngôn ngữ đa âm tiết (multi-term)
Ví dụ điển hình là tiếngViệtthì việc xử lý tách từ tƣơng đối khó. Việc xử lý không chỉ khó khăn do có nhiều âm tiết mà còn gặp phải nhiều nhập nhằng trong ngôn ngữ. Một giải pháp rất tốt đƣợc đƣa ra để tránh tình trạng này là xử lý cú pháp, nhƣng cách xử lý này quá chậm và làm cho bài toán xử lý văn bản (thƣờng yêu cầu nhanh) chậm đi rất nhiều. Do đó ngƣời ta thƣờng sử dụng cách tách từ theo độ dà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
nhất của từ khóa và chấp nhận có sai số. Do những sự nhập nhằng nhƣ vậy xảy ra không nhiều trong thực tế nên cần chấp nhận sai số để có một bộ tách từ nhanh.
Vấn đề tiếp theo cần quan tâm là các ký hiệu vô nghĩa trong văn bản. Các văn bản thông thƣờng có rất nhiều ký tự vô nghĩa, ví dụ các ký tự dấu câu, các chữ số, các ký tự đặc biệt dùng cho điều khiển. Các ký tự này không xuất hiện trong các từ khóa do đó ta cần có biện pháp xóa bỏ ký tự này để tránh nhiễu khi xử lý.
Ở đây cần quan tâm giải quyết bài toán tách từ trong ngôn ngữ tiếng Việt.Theo thống kê các từ khóa thông dụng nhất thì trong tiếng Việt của chúng ta thƣờng dùng khoảng 70,000 từ khóa và các từ khóa này đƣợc cấu thành từ khoảng 6,500 âm tiết.
Từ các kết quả nghiên cứu trên tác giả xin đƣa ra mô hình tách từ nhƣ trong hình 3.9.
Hình 3.9: Mô hình tách từ khoá từ văn bản thô
Các bƣớc trong xử lý tách từ khóa:
3.5.2.3. Loại nhiễu
Mục đích của bƣớc này là loại bỏ các ký tự vô nghĩa không có
trong từ điển. Nhƣng do các ký tự điều khiển nhƣ dâu chấm câu (“.”), dấu gạch nối (“-”) vẫn có thể đƣợc dùng đến trong quá trình xử lý nên cần giữ lại các ký tự nà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
3.5.2.4. Mã hóa ký tự
Trong tiếng Việt có rất nhiều loại font chữ khác nhau,chính vìthế cần thống nhất tất cả các loại font chữ về một mối để dễ dàng hơn trong quá trình xử lý. Ngoài ra, cần chú ý rằng trong chữ viết còn có ký tự viết hoa, ký tự viết thƣờng, vì thế cần phải có biện pháp đồng nhất các ký tự này để tránh sai trong các xử lý sau.
3.5.2.5. Tách từ khóa
Từ văn bản đƣợc biểu diễn dƣới dạng danh sách các mã tiếng,bộ tách từ sẽ tiến hành ghép các tiếng lại thành các từ khóa có trong từ điển từ theo ƣu tiên từ khóa có số tiếng dài nhất. Do việc xử lý văn bản có nhiều mục đích khác nhau và theo nhiều chuyên ngành khác nhau nên từ điển ở đây cần đƣợc tổ chức thành hai dạng gồm: từ điển chuẩn (dùng nhiều trong đời sống hàng ngày), và từ điển chuyên ngành (dùng cho các chuyên ngành riêng).
3.5.2.6. Loại từ dừng (Stop Words)
Mục đích của bƣớc này là loại bỏ các từ ít mangý nghĩa trong quá trình xử lý nội dung. Quá trình xử lý này cần có một từ điển StopWords riêng do ngƣời dùng tự xây dựng. Một số từ dừng trong tiếng Việt
Bảng 3.5: Một số từ dừng trong tiếng Việt
Có thể Nếu Vì vậy Sau khi Thì Nếu không Trước khi Vì thế Loại trừ Tất cả Cho nên Một số Những Nhưng Rõ rang Phần lớn Bởi Với Hầu như Là Với lại Khi mà Không thể Quả thật Bởi vì Thay vì Tất 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
Sau 5 bƣớc xử lý ở trên, văn bản thô ban đầu sẽ đƣợcbiểu diễn dƣới dạng danh sách các từ khóa đƣợc tách ra từ từ điển, bƣớc cuối cùng bộ tách từ cần làm là thống kê xem các từ khóa xuất hiện bao nhiêu lần và biểu diễn cả văn bản vừa phân tích dƣới dạng một vector tần suất xuất hiện.
3.5.3. Sử dụng thuật giải di truyền trích chọn từ khóa 3.5.3.1.Giới thiệu 3.5.3.1.Giới thiệu
Giải thuật trích chọn từ khóa bằng cách tối ƣu hóa độ thích nghi từ khóa (Keyword Extraction by Keyword – Fitness Optimization) đƣa ra một phƣơng pháp tách từ khóa tự động từ các văn bản trong một tập văn bản cho trƣớc dựa trên hai tiêu chuẩn đánh giá là: độ đo hiệu suất và độ bao phủ.
Độ đo hiệu suất của một thuật ngữ phụ thuộc vào hiệu quả của việc sử dụng thuật ngữ đó để tìm tài liệu trong tập văn bản. Độ bao phủ của một thuật ngữ phụ thuộc vào khả năng thuật ngữ đó đƣợc sử dụng nhƣ từ khóa để tìm kiếm trong tập văn bản.Hai tiêu chuẩn trên đƣợc xác định một cách thống kê sử dụng sự phân bố các từ của những văn bản trong tập văn bản. Độ thích hợp của thuật ngữ đƣợc xác định dựa trên độ đo hiệu suất và độ bao phủ của từ đó. Giải thuật “Trích chọn từ khóa bằng cách tối ƣu hóa độ thích nghi” tìm những thuật ngữ có độ thích hợp cao nhất trong văn bản sử dụng giải thuật di truyền.
3.5.3.2. Độ thích hợp của từ khóa
Độ thích hợp của thuật ngữ là tiêu chuẩn đƣợc sử dụng để lựa chọn các thuật ngữ đặc trƣng cho văn bản. Phần này ta xem xét công thức tính độ thích hợp của một thuật ngữ và của một dãy các thuật ngữ trong văn bản.
* Độ thích hợp của một thuật ngữ trong văn bản
- Các đại lƣợng cơ sở
Gọi tập văn bản đƣợc xét là D, n là số các văn bản có trong tập D: n = | D | Số các văn bản tập D chứa các từ khóa w là h(w)
h(w) = |{dD | w in d }| (28)
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
Độ đo hiệu suất của một thuật ngữ là độ đo đánh giá hiệu quả của việc sử dụng thuật ngữ đó để tìm tài liệu trong tập văn bản. Độ đo hiệu suất của một thuật ngữ w đƣợc tính theo công thức sau:
) ) ( log( ) ( w h n w e (29) - Định nghĩa độ bao phủ
Độ bao phủ của một thuật ngữ là độ đo đánh giá khả năng thuật ngữ đó đƣợc sử dụng nhƣ từ khóa để tìm kiếm trong tập văn bản. Độ bao phủ của một thuật ngữ w đƣợc tính theo công thức sau:
a n w h a w r w r ( , ) ( ) ) ( (30) (Trong đó a là tham số thỏa mãn 0 < a < 1)
- Độ thích hợp của thuật ngữ w hay độ thích nghi của từ khóa
Độ thích hợp của thuật ngữ w đƣợc định nghĩa dựa trên hai độ đo là: độ đo hiệu suất và độ đo bao phủ của thuật ngữ. Công thức:
) ) ( log( ) ( - a) r(w, x e(w) a) f(w, n w h n w h a (31) Chú ý: 1 ≤ h(w) ≤ n.
Trong đó a là một tham số. Theo kinh nghiệm, ta có thể sử dụng a với các giá trị sau: 1.0, 0.5, 0.4, 0.2…
* Độ thích hợp của dãy các thuật ngữ
Xét một dãy gồm k thuật ngữ [w1, w2 …wk], k > 1.
Trong quá trình xử lý khi tìm kiếm văn bản, ta có thể sử dụng i thuật ngữ đầu tiên trong dãy k thuật ngữ nói trên (0 ≤ i ≤ k). Gọi hi là số văn bản chứa các thuật ngữ w1, w2, …, wi..
hi = |{dD | w1, w2,…, wiin d }|, h0=n.
Độ thích hợp của dãy thuật ngữ [w1, w2 …wk] đƣợc tính theo công thức sau:
) log( ) ( ) , ; ,..., , ( 1 1 2 1 i i a k i i b k h h n w h k b a w w w f (32)
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
Trong đó b là tham số thỏa mãn: 0 < b ≤ 1
3.5.3.3. Ứng dụng giải thuật di truyền để tối ưu hóa độ thích nghi của từ khóa
Để áp dụng giải thuật di truyền, trƣớc hết ta lựa chọn phƣơng pháp mã hóa cá thể, cách thức tạo thế hệ ban đầu, phƣơng pháp lựa chọn, lai ghép và đột biến. Các tác giả của giải thuật “Keyword Extraction by Keyword – Fitness Optimization” đã đƣa ra các lựa chọn sau:
Cách mã hóa: Các cá thể là một dãy gồm các từ trong văn bản, bao gồm cả những từ rỗng.
Tạo quần thể ban đầu: Lựa chọn m cá thể, mỗi cá thể bao gồm một số thuật ngữ đƣợc lựa chọn ngẫu nhiên trong văn bản.
Độ thích nghi của cá thể đƣợc tính bằng Keyword – Fitness của dãy thuật ngữ trong cá thể: ) log( ) ( ) , ; ,..., , ( 1 1 2 1 i i a k i i b k h h n w h k b a w w w f
Toán tử chọn lọc: lựa chọn các cá thể theo phƣơng pháp đánh giá lại. Sau khi sắp xếp các cá thể theo chiều giảm dần của độ thích nghi, xóa đi 10% cá thể có độ thích nghi thấp nhất.
Toán tử lai ghép: Sử dụng phƣơng pháp lai ghép đơn điểm.
Toán tử đột biến: Thay ngẫu nhiên một từ trong cá thể bởi một từ trong văn bả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
Hình 3.10: Giao diện chương trình chính
Hình 3.11: Thực hiện phân tách từng văn bản định dạng txt thành tệp chứa các từ tiếng Việt
Hình 3.12: Quá trình loại bỏ các stop word có trong từng văn bản và lưu thành tệp prps
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.13:Thực hiện học phân lớp thể thao và pháp luậ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 3.15: Thực hiện biểu diễn các văn bản trong từng phân lớp theo đặc trưng được trích chọn dựa trên giaỉ thuật di truyền và biểu diễn dưới dạng vecto thưa
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
Luận văn tập trung nghiên cứu về khai phá dữ liệu, giải thuật di truyền và ứng dụng giải thuật di truyền vào trích chọn từ khóa để phân loại tài liệu dạng văn bản.
* Những kết quả đã đạt đƣợc
Để đạt đƣợc các mục tiêu đề ra, luận văn đã từng bƣớc nghiên cứu các nội dung chính sau:
Tổng quan về khai phá dữ liệu: Nghiên cứu các khái niệm cơ bản về khám phá tri thức và khai phá dữ liệu. Tìm hiểu các kỹ thuật cơ bản của quá trình khai phá dữ liệu, tập trung vào hai kỹ thuật thƣờng dùng là phân cụm và phân lớp.
Tìm hiểu thuật giải di truyền: Các khái niệm chung của giải thuật di truyền nhƣ: nhiễm sắc thể, cá thể, quẩn thể, phƣơng pháp mã hóa, hàm thích nghi, các toán tử lai ghép, đột biến, tái sinh, chọn lọc, sơ đồ thuật giải di truyền và các tham số của thuật giải.
Ứng dụng giải thuật di truyền trong khai phá dữ liệu để trích chọn từ khóa trong phân loại văn bản: nghiên cứu khái quát về phân loại văn bản, các mô hình biểu diễn văn bản, một số thuật toán phân loại và mô hình phân loại văn bản(đã cài đặt đƣợc ứng dụng để minh họa).
* Hƣớng phát triển
Mục tiêu lâu dài của luận văn là áp dụng và đánh giá các phƣơng pháp phân loại văn bản hiệu quả và đƣợc nghiên cứu sâu để tìm ra phƣơng pháp hiệu quả và phù hợp nhất cho việc phân loại tài liệu dạng văn bản.
Nghiên cứu cải tiến khâu tiền xử lý văn bản, xây dựng các mẫu huấn luyện tiêu chuẩn cũng nhƣ điều chỉnh giải thuật SVM để có thể nâng cao độ chính xác phân loại hơn nữa.
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.Bùi Thế Tâm, Trần Vũ Thiệu, Các phương pháp tối ưu hóa, Nxb Giao thông vận tải Hà Nội (1998).
2. Hoàng Kiếm, Lê Hoàng Thái, Giải thuật di truyền – Cách giải các bài toán tự nhiên trên máy tính, Nxb Giáo dục (2001).
3. Nguyễn Đình Thúc, Trí tuệ nhân tạo - Lập trình tiến hóa, Nxb Giáo dục (2001). 4. Đỗ Phúc, Bài giảng Tổng quan về khai phá dữ liệu, Trƣờng Đại học CNTT, ĐHQG Tp Hồ Chí Minh (2007).
5.Đỗ Bích Diệp, “Phân loại văn bản dựa trên mô hình đồ thị”, Luận văn cao học. Trƣờng Đại học Tổng hợp New South Wales - Australia. 2004.
6. Huỳnh Quyết Thắng, Đinh Thị Phƣơng Thu, “Tiếp cận phương pháp học không giám sát trong học có giám sát với bài toán phân lớp văn bản tiếng Việt và đề xuất cải tiến công thức tính độ liên quan giữa hai văn bản trong mô hình vector”, Kỷ yếu Hội thảo ICT.rda’04, trang 251-261, Hà Nội 2005.
Tiếng Anh
7. Zbigniew Michalewicz, Genetic Algorithm + Data Structure = Evolution Program (1992)
8. T. JOACHIMS, “Text categorization with Support Vector Machines: Learning with many relevant features”, Technical Report 23, LS VIII, University of Dortmund, 1997.
9. E. OSUNA, R. FREUND, F. GIROSI, An improved training algorithm for Support Vector Machines, Neural Networks for Signal Processing VII –Proceedings of the 1997 IEEE Workshop, pp 276-285, New York, IEEE, 1997.
10. J. PLATT, Sequential minimal optimization: A fast algorithm for training Support Vector Machines, Technical Report MSR-TR-98-14, Microsoft Research, 1998.