Nghiên cứu phân lớp tự động văn bản báo chí tiếng Việt về tài nguyên và môi trường
Nghiên cứu phân lớp tự động văn bản báo chí tiếng Việt về tài nguyên và môi trường Trần Thị Lan Hương Trường Đại học Công nghệ Luận văn Thạc sĩ ngành: Hệ thống thông tin; Mã số: 60 48 05 Người hướng dẫn: PGS.TS Đỗ Trung Tuấn Năm bảo vệ: 2012 Abstract: Trình bày khái quát về phân lớp văn bản và thuật toán KNN. Khái quát về khai phá văn bản, phân lớp văn bản, thuật toán KNN. Tìm hiểu bài toán phân lớp văn bản báo chí tiếng Việt về tài nguyên và môi trường trình bày đặc điểm cơ bản của tiếng Việt, kỹ thuật tách từ văn bản tiếng Việt, tìm hiểu thông tin chuyên ngành tài nguyên và môi trường, nêu và mô tả bài toán ứng dụng, … Thiết kế xây dựng hệ thống phân lớp văn bản tiếng Việt về tài nguyên môi trường: thiết kế xây dựng hệ thống. Cài đặt mô hình và kiểm thử kết quả: Trình bày một số giao diện chương trình, kết quả kiểm thử. Keywords: Công nghệ thông tin; Hệ thống thông tin; Bài toán phân lớp; Khai phá dữ liệu; Phân lớp văn bản Content MỞ ĐẦU Phân lớp văn bản là bài toán cơ bản trong khai phá dữ liệu văn bản. Bài toán phân lớp văn bản là việc gán tên các chủ đề (tên lớp/nhãn lớp) đã được xác định trước, vào các văn bản dựa trên nội dung của chúng. Phân lớp văn bản là công việc được sử dụng để hỗ trợ trong quá trình tìm kiếm thông tin, chiết lọc thông tin, lọc văn bản hoặc tự động dẫn đường cho các văn bản tới những chủ đề xác định trước. Phân lớp văn bản có thể thực hiện thủ công hoặc tự động sử dụng các kỹ thuật học máy có giám sát. Các hệ thống phân lớp có thể ứng dụng trong việc phân loại tài liệu của các thư viện điện tử, phân loại văn bản báo chí trên các trang tin điện tử,… những hệ thống tốt, cho ra kết quả khả quan, giúp ích nhiều cho con người. 2 Đề tài "Nghiên cứu phân lớp tự động văn bản báo chí tiếng Việt về tài nguyên và môi trường", học viên vận dụng những kiến thức về kỹ thuật khai phá văn bản, kỹ thuật phân lớp văn bản nói riêng, và kiến thức về công nghệ thông tin nói chung, xây dựng bộ phân lớp văn bản báo chí tiếng Việt về tài nguyên và môi trường. Mong muốn ứng dụng hệ thống phân lớp này vào phục vụ nghiên cứu khoa học và công tác quản lý, phân loại các tài liệu văn bản các thông tin chuyên ngành về tài nguyên môi trường, bởi tài nguyên và môi trường hiện nay đang là vấn đề nóng bỏng không những Việt Nam mà cả thế giới đang rất quan tâm. Nội dung và phạm vi đề tài: Trình bày khái niệm khai phá dữ liệu, khai phá văn bản, một số kỹ thuật khai phá văn bản và phân lớp văn bản. Nghiên cứu một số đặc điểm đặc trưng của ngôn ngữ tiếng Việt, phương pháp tách từ tiếng Việt và loại bỏ từ dừng. Nghiên cứu các chủ đề về thông tin chuyên ngành tài nguyên và môi trường. Nghiên cứu, sử dụng thuật toán K-NN xây dựng bộ phân lớp văn bản báo chí tiếng việt về tài nguyên và môi trường vào các chủ đề chuyên ngành. Đầu vào của bộ phân lớp là văn bản báo chí tiếng Việt về tài nguyên và môi trường ở dạng tệp tin.doc,.txt, phông chữ Unicode. Đầu ra là kết quả phân lớp văn bản báo chí tiếng Việt vào một trong các chủ đề thông tin chuyên ngành: Tài nguyên đất; tài nguyên nước; tài nguyên khoáng sản; tài nguyên biển; khí tượng thuỷ văn; môi trường; đo đạc và bản đồ. Bố cục của luận văn bao gồm: Chương 1: Khái quát về phân lớp văn bản và thuật toán KNN. Chương này trình bày khái quát về khai phá văn bản, Phân lớp văn bản, thuật toán KNN Chương 2: Bài toán phân lớp văn bản báo chí tiếng Việt về tài nguyên và môi trường. Chương này trình bày đặc điểm cơ bản của tiếng Việt, kỹ thuật tách từ văn bản tiếng Việt, tìm hiểu thông tin chuyên ngành tài nguyên và môi trường, nêu và mô tả bài toán ứng dụng, … Chương 3: Thiết kế xây dựng hệ thống phân lớp văn bản tiếng Việt về tài nguyên môi trường: Trình bày thiết kế xây dựng hệ thống Chương 4: Cài đặt mô hình và kiểm thử kết quả: Trình bày một số giao diện chương trình, kết quả kiểm thử. 3 Kết luận và định hướng phát triển. Chương 1 KHÁI QUÁT VỀ PHÂN LỚP VĂN BẢN VÀ THUẬT TOÁN K LÁNG GIỀNG GẦN NHẤT 1.1. KHAI PHÁ DỮ LIỆU VĂN BẢN Khai phá dữ liệu văn bản là quá trình trích chọn ra các tri thức mới, có giá trị và tác động được, đang tiềm ẩn trong các văn bản, để sử dụng các tri thức này vào việc tổ chức thông tin tốt hơn nhằm hỗ trợ con người. Dữ liệu văn bản thường được chia thành hai loại: 1. Dạng phi cấu trúc: là dạng văn bản chúng ta sử dụng hằng ngày được thể hiện dưới dạng ngôn ngữ tự nhiên của con người và không có một cấu trúc định dạng cụ thể nào. Ví dụ: các văn bản lưu dưới dạng tệp tin.TXT,.DOC 2. Dạng bán cấu trúc: là các loại văn bản không được lưu trữ dưới dạng các bản ghi chặt chẽ mà được tổ chức qua các thẻ đánh dấu để thể hiện nội dung chính của văn bản. Ví dụ: dạng tệp tin HTML, email, … Tùy từng mục đích sử dụng cụ thể mà việc xử lý văn bản được thực hiện trên dạng cấu trúc nào. Trong luận văn này, học viên quan tâm xử lý các dữ liệu văn bản ở dạng phi cấu trúc (biểu diễn dưới dạng tệp tin.TXT,.DOC). 1.2. KHÁI NIỆM CƠ BẢN TRONG KHAI PHÁ VĂN BẢN 1.2.1. Một số khái niệm sử dụng trong luận văn - Từ khóa: là các từ xuất hiện trong một văn bản có nghĩa trong từ điển. - Thuật ngữ: là các từ khóa có nghĩa liên quan đến một số lĩnh vực nào đó. ví dụ: "máy tính", "công nghệ phần mềm", "tính toán song song". Các thuật ngữ này thuộc về lĩnh vực "tin học". - Từ dừng: Nhiều từ được dùng để biểu diễn cấu trúc câu, xuất hiện thường xuyên trong các văn bản, nhưng hầu như không mang ý nghĩa về mặt nội dung, chẳng hạn các giới 4 từ, liên từ, … những từ đó được gọi là từ dừng. Ví dụ: Có thể, nếu, vì vậy, sau khi, thì, một số, với lại, quả thật, hầu như, … - Trọng số của từ là độ quan trọng hay hàm lượng thông tin mà từ đó mang lại cho văn bản. Trọng số của từ là đại lượng dùng để đo sự khác biệt giữa văn bản chứa nó với các văn bản khác. 1.2.2. Các phƣơng pháp đánh trọng số cho từ khóa 1.2.2.1. Phương pháp boolean Giả sử có một tập gồm m văn bản D = {d 1, d 2 , d 3 , d m }, T là một tập từ vựng gồm n từ khóa T = {t 1, t 2 , t n }. gọi w = (w i j ) là ma trận trọng số, trong đó w i j là trọng số của từ khóa t i trong văn bản d j . Phương pháp boolean là phương pháp đánh trọng số đơn giản nhất, giá trị trọng số w i j được xác định như sau: 1.2.2.2. Phương pháp dựa trên tần số 1/ Phương pháp dựa trên tần số từ khóa TF: Các giá trị w ij được tính dựa trên tần số xuất hiện của từ khóa trong văn bản. Gọi f ij là số lần xuất hiện của thuật ngữ t i trong văn bản d j , khi đó w ij được tính bởi một trong 3 công thức sau: w ij = f ij hoặc w ij = 1 + log(f ij ) hoặc w ij = ij f Trong phương pháp này, trọng số w ij tỷ lệ thuận với số lần xuất hiện của từ t i trong văn bản d j . Khi số lần xuất hiện từ khóa t i trong văn bản d j càng nhiều thì điều đó có nghĩa là văn bản d j càng phụ thuộc vào từ khóa t i , hay nói cách khác từ khóa t i mang nhiều thông tin trong văn bản d j . Ví dụ: khi văn bản xuất hiện nhiều từ khóa máy tính, điều đó có nghĩa là văn bản đang xét chủ yếu liên quan đến lĩnh vực tin học. 1 t i d j 0 t i d j w i j = 5 2/ Phương pháp dựa trên nghịch đảo tần số văn bản IDF: Trong phương pháp này, giá trị w ij được tính theo công thức sau: trong đó m là số lượng văn bản và h i là số văn bản mà từ khóa t i xuất hiện. 3/ Phương pháp TF × IDF: Phương pháp này là tổng hợp của hai phương pháp TF và IDF, giá trị của ma trận trọng số được tính như sau: Phương pháp này kết hợp được ưu điểm của cả 2 phương pháp trên. Trọng số w ij được tính bằng tần số xuất hiện của từ khóa t i trong văn bản d j và độ hiếm của từ khóa t i trong toàn bộ cơ sở dữ liệu. 1.3. MỘT SỐ PHƢƠNG PHÁP BIỂU DIỄN VĂN BẢN 1.3.1. Mô hình Boolean Giả sử có một tập gồm m văn bản D = {d 1, d 2 , d 3 , d m }, T là một tập từ vựng gồm n từ khóa T = {t 1, t 2 , t n }. gọi w = (w i j ) là ma trận trọng số, trong đó w i j là trọng số của từ khóa t i trong văn bản d j và được xác định như sau: Trong mô hình boolean, văn bản vốn là tập hợp của các từ khóa, được biểu diễn bởi chỉ số từng từ và trọng số của chúng. Trọng số của từng từ - dùng để đánh giá độ quan trọng của chúng - trong mô hình này chỉ mang hai giá trị 0 và 1, tùy theo sự xuất hiện của từ đó trong văn bản. 1.3.2. Mô hình không gian vector log )hlog()mlog( h m 1 i nế u từ khóa t i xuấ t hiệ n trong tà i liệ u d j 0 nế u ngược lạ i w ij = w ij = [1+log(f ij )] log i h m nế u f ij ≥ 1 0 nế u ngược lạ i 1 t i d j 0 t i d j w i j = 6 Mô hình không gian véc tơ là mô hình toán học được sử dụng rộng rãi. Mỗi văn bản được biểu diễn thành một vector, trong một không gian véc tơ nhiều chiều, mỗi chiều tương ứng với một từ khóa trong văn bản. Mỗi thành phần của một vector văn bản, là một từ khóa riêng biệt trong tập văn bản gốc và được gán một giá trị là hàm f của từng từ khóa trong văn bản. (thường là gán trọng số từ khóa). Cách biểu diễn văn bản thông dụng nhất là thông qua mô hình không gian vector, đây là một cách biểu diễn tương đối đơn giản. Khi áp dụng xử lý vector thưa, mang lại hiệu quả cao cho bài toán ứng dụng. Các vector thực sự thưa: số phần tử có trọng số khác 0 nhỏ hơn rất nhiều so với số thuật ngữ trong cơ sở dữ liệu. Phép xử lý vector đơn giản. 1.3.3. Mô hình xác suất Mô hình xác suất là mô hình toán học làm việc với các biến ngẫu nhiên và phân bố xác xuất của nó. Theo thuật ngữ toán học, một mô hình xác suất có thể coi như một cặp (Y, P), trong đó Y là tập các quan sát (biến ngẫu nhiên) và P là tập các phân bố xác suất trên Y. Khi đó, sử dụng suy diễn xác suất sẽ cho ta kết luận về các phần tử của tập Y. Văn bản trong mô hình xác suất được coi như một quan sát trong tập Y, trong đó các từ trong văn bản được giả thiết là độc lập, không phụ thuộc vào vị trí cũng như ngữ pháp của văn bản. Khi đó văn bản sẽ gồm các từ mà nó chứa trong đó, chính vì vậy phương pháp này được gọi là biểu diễn túi - các - từ. 1.3.4. Mô hình LSI 1.4. PHƢƠNG PHÁP LỰA CHỌN TỪ TRONG BIỂU DIỄN VĂN BẢN 1.4.1. Loại bỏ từ dừng 1.4.2. Thu gọn đặc trƣng biểu diễn Một trong những giải pháp để khắc phục những vấn đề trên là thu gọn số lượng các từ để biểu diễn văn bản hay là thu gọn số lượng các đặc trưng bằng cách lựa chọn các đặc trưng có khả năng ảnh hưởng đến chất lượng phân lớp của các giải thuật phân lớp, còn các đặc trưng khác có thể bỏ qua. Việc thu gọn này cần đảm bảo sao cho các đặc trưng còn lại vẫn có khả năng "đại diện" cho toàn bộ văn bản, không làm giảm chất lượng phân lớp. 7 Lựa chọn đặc trưng là tiến trình lựa chọn một tập các đặc trưng (hay còn gọi là tập phổ biến) xuất hiện trong tập đào tạo và chỉ sử dụng các tập này như là các đặc trưng để biểu diễn văn bản. 1.4.2.1. Định luật Zipf Luhn đưa ra một phương pháp đơn giản cho việc lựa chọn các từ để biểu diễn văn bản (lựa chọn đặc trưng) như sau: 1. Cho một tập gồm n văn bản, tính tần số của mỗi từ duy nhất (xuất hiện một lần) trong mỗi văn bản. 2. Tính tần số xuất hiện của mỗi từ trong toàn bộ tập n văn bản 3. Sắp xếp tần số các từ giảm dần. Chọn một giá trị ngưỡng trên để loại bỏ các từ có tần số cao hơn ngưỡng đó. Việc này sẽ loại bỏ các từ có tần số cao. 4. Cũng như vậy, chọn một giá trị ngưỡng dưới để loại bỏ các từ có tần số thấp. 5. Các từ còn lại là các từ được dùng trong quá trình đánh chỉ số văn bản. Việc chọn các từ để đánh chỉ số văn bản hay còn gọi là lựa chọn đặc trưng. 1.4.2.2. Thuật toán lựa chọn k đặc trưng tốt nhất Thuật toán lựa chọn đặc trưng cơ bản được mô tả ở hình 1.5 cho một lớp c, tính toán một hàm tiện ích A (t, c) cho mỗi thuật ngữ trong tập từ vựng, sau đó lựa chọn k thuật ngữ có giá trị A (t, c) là cao nhất. Tất cả các thuật ngữ còn lại sẽ bị loại bỏ. SELECT FEATURES (ID, c, k) 1. V EXTRACT VOCABULARY (ID) (Trích rút tập từ vựng V từ tập văn bản) 2. L [] (Tập đặc trưng ban đầu gán là rỗng, L = ø) 3. for each t V (lấy mọi từ khóa t thuộc tập từ vựng V) 4. do A (t, c) COMPUTE FEATURE UTILITY (id, t, c) (Tính hàm tiễn ích đặc trưng A(t, c) nhờ mỗi từ khóa t, mỗi chủ đề c, mỗi tập văn bản đã đánh chỉ số id) 8 5. APPEND (L, A(t, c), t) (đánh giá lựa chọn cho bộ (L, A(t, c), t)) 6. Return FEATURESWITHLARGESTVALUES (L, k) (trả về tập đặc trưng L với k đặc trưng tốt nhất, có A(t, c) lớn nhất). Hình 1.4. Thuật toán lựa chọn đặc trưng cơ bản cho việc lựa chọn k đặc trưng tốt nhất 1.4.2.3. Thông tin tương hỗ 1.4.2.4. Giải thuật Apriori 1.5. ĐỘ LIÊN QUAN GIỮA CÁC VĂN BẢN Độ liên quan giữa hai văn bản là một đại lượng đo mức độ giống nhau về mặt nội dung giữa hai văn bản đó. Sim(X, Y) = cosin(X, Y) = YX YX. = m i i m i i m i ii yx yx 1 2 1 2 1 . Trong đó x i , i = 1…m, y j , j = 1…m, là là các tần số xuất hiện của các từ khóa trong từng văn bản. 1.6. PHÂN LỚP VĂN BẢN Phân lớp văn bản là một trong những bài toán cơ bản trong khai phá dữ liệu văn bản. - Bài toán phân lớp văn bản: là việc gán tên các chủ đề (tên lớp/nhãn lớp) đã được xác định trước, vào các văn bản dựa trên nội dung của chúng. - Phân lớp là công việc được sử dụng để hỗ trợ trong quá trình tìm kiếm thông tin, chiết lọc thông tin, lọc văn bản hoặc tự động dẫn đường cho các văn bản tới những chủ đề xác định trước. - Để phân lớp văn bản tự động thường sử dụng các kỹ thuật học máy có giám sát, dữ liệu văn bản đã được phân lớp bằng tay, được chia thành hai phần: Tập huấn luyện hay tập mẫu và tập kiểm thử (kiểm tra), tập mẫu chiếm 2/3 dữ liệu, tập kiểm thử 1/3 dữ liệu còn lại. 9 Đầu tiên hệ thống được huấn luyện (học) thông qua tập mẫu, Sau đó đánh giá hiệu quả của hệ thống thông qua các dữ liệu kiểm thử. - Các hệ thống phân lớp có thể ứng dụng trong việc phân loại tài liệu của các thư viện điện tử, phân loại văn bản báo chí trên các trang tin điện tử,… những hệ thống tốt, cho ra kết quả rất khả quan, giúp ích nhiều cho con người. Đại lượng đánh giá hiệu suất phân lớp: Việc đánh giá độ phân lớp dựa trên việc áp dụng mô hình đối với các dữ liệu thuộc tập dữ liệu kiểm tra D test , sử dụng mô hình cho từng trường hợp dữ liệu ở D test mà kết quả đầu ra là lớp c dự báo cho từng dữ liệu. Hai độ đo được dùng phổ biến để đánh giá chất lượng của thuật toán phân lớp là độ hồi tưởng và độ chính xác 1.7. THUẬT TOÁN K LÁNG GIỀNG GẦN NHẤT (KNN) Ý tưởng của phương pháp này là khi cần phân lớp một văn bản mới, thuật toán sẽ xác định khoảng cách (có thể áp dụng các công thức về khoảng cách như Euclide, Cosine, …) của tất cả các văn bản trong tập huấn luyện đến văn bản này để tìm ra k văn bản gần nhất, gọi là k láng giềng gần nhất. Sau đó dùng các khoảng cách này đánh trọng số cho tất cả các chủ đề, bằng cách trọng số của một chủ đề chính là tổng tất cả các khoảng cách ở trên của các văn bản trong k láng giềng có cùng chủ đề, chủ đề nào không xuất hiện trong k láng giềng sẽ có trọng số bằng 0. Sau đó các chủ đề sẽ được sắp xếp theo giá trị trọng số giảm dần và các chủ đề có trọng số cao sẽ được chọn làm chủ đề của văn bản cần phân loại. Trọng số của chủ đề c j đối với văn bản x được tính như sau: c j , d i y. {kNN} d i d i , x sim c j x, W Trong đó: - y = 0: văn bản d i không thuộc về chủ đề c j - y = 1: văn bản d i thuộc về chủ đề c j sim (x, d i ): độ giống nhau giữa văn bản cần phân loại x và văn bản d i . Chúng ta có thể sử dụng độ đo cosine để tính khoảng cách: 10 d i x d i . x d i , x cos d i , x sim 1.8. KẾT CHƢƠNG Trong chương này, học viên đã trình bày những lý thuyết cơ bản về bài toán phân lớp văn bản, đây cũng là bài toán nghiên cứu trong luận văn. Về cơ bản đối với ngôn ngữ tiếng Việt phức tạp, cần có sự nghiên cứu vận dụng, phù hợp, mang lại hiệu quả khi áp dụng. Chương 2 BÀI TOÁN PHÂN LỚP TỰ ĐỘNG VĂN BẢN BÁO CHÍ TIẾNG VIỆT VỀ TÀI NGUYÊN VÀ MÔI TRƢỜNG 2.1. MỘT SỐ ĐẶC ĐIỂM TIẾNG VIỆT 2.1.1. Âm tiết Âm tiết là đơn vị nhỏ nhất có thể có ý nghĩa, có thể không. Về mặt ngữ âm thì âm tiết được ghi lại thành một cụm kí tự trong văn bản. Âm tiết là đơn vị ngữ pháp dùng để cấu tạo từ. 2.1.2. Từ Từ là đơn vị nhỏ nhất có nghĩa, có chức năng gọi tên, được vận dụng độc lập, tái hiện tự do trong lời nói để tạo câu. 2.1.3. Câu Câu là đơn vị ở bậc cao hơn, mang tính hoàn chỉnh của quá trình tư duy so với từ. 2.1.4. Các đặc điểm chính tả văn bản tiếng Việt - Các tiếng đồng âm, Các từ địa phương - Vị trí dấu: Dấu được đặt trên nguyên âm có ưu tiên cao nhất. - Cách viết hoa: theo quy định dấu câu và dấu tên riêng phải viết hoa. - Phiên âm tiếng nước ngoài: Các cách viết sau cẫn được chấp nhận và không có trong quy chuẩn tiếng Việt: Singapore/ Xin-ga-po,