3. Bố cục và cấu trúc của luận văn
7.2. Chƣơng trình phân đoạn từ tiếng Việt và tạo các ma trận thuộc tính
tính
Đây là chƣơng trình phân đoạn từ tiếng Việt, đƣa ra không gian thuộc tính, các ma trận thuộc tính tƣơng ứng của tập huấn luyện và tập kiểm thử. Tính trọng số theo TF-IDF. Chƣơng trình đƣợc phát triển dựa trên công cụ phân đoạn từ tiếng Việt mã nguồn mở đƣợc phát triển bởi Phan, X.H [37], đây là cài đặt cho phƣơng pháp phân đoạn từ tiếng Việt dựa trên CRFs [21].
Chƣơng trình sử dụng một Corpus gồm 8000 câu tiếng Việt đƣợc đánh dấu, trình bày trong 4.3.3. Ngoài ra đƣợc bổ sung một số từ điển phụ trợ là từ điển tiếng Việt, hơn 84 nghìn từ, từ điển danh từ riêng tiếng Việt, khoảng 2000 từ và từ điển các địa phƣơng Việt Nam 700 từ.
Hình 7-4: Minh họa cấu trúc thƣ mục đầu vào chƣơng trình phân đoạn từ tiếng Việt và tạo các ma trận thuộc tính
Một danh sách khoảng 1000 từ dừng trong tiếng Việt đƣợc cung cấp. Các thuộc tính (từ) đƣợc chọn nếu nhƣ nó xuất hiện xuất hiện ít nhất 3 lần trong corpus và không nằm trong danh sách từ dừng.
Đầu vào của chƣơng trình là Corpus, đƣợc đặt trong một thƣ mục gốc, có thể là dữ liệu của một fold-set sau khi tiến hành phân chia dữ liệu theo theo k- Fold Cross validation, trong đó các thƣ mục lƣu tập huấn luyện và tập kiểm thử. Trong mỗi thƣ mục dữ liệu mẫu cho các nhóm đƣợc lƣu riêng thành từng thƣ mục. Mỗi văn bản đƣợc lƣu dƣới dạng một file văn bản.
Đầu ra là các file ma trân tƣơng ứng cho tập huấn luyện và kiểm thử với trọng số tính theo TF-IDF, tính theo (2-2). Ngoài ra còn có một file đầu ra khác (tùy chọn) là danh sách các thuộc tính ( feature bag) của corpus. Các ma trân đầu ra đƣợc lƣu trữ dƣới dạng ma trận thƣa và phù hợp với định dạng đầu vào của LIBSVM [35]. Khi xử lý dữ liệu tập dữ liệu kiểm thử các thuộc tính không nằm trong tập huấn luyện sẽ đƣợc loại bỏ.
Cấu hình cho dữ liệu vào và các tham số cần thiết đƣợc lƣu ở file .ini, chƣơng trình đƣợc viết bằng ngôn ngữ Java và không phụ thuộc vào nền hệ điều hành, đã đƣợc chạy thử nghiệm trên Windows và Linux.
Cấu trúc file .ini nhƣ sau:
[RUN_MODE] : Biểu thị chạy chƣơng trình cho tập dữ liệu huấn luyện hay kiểm thử
[DIR]: Thƣc mục nguồn và thƣ mục lƣu trữ đầu ra
[INPUT_TYPE]: Xử lý đầu vào theo cấu trúc thƣ mục, hay là một file
[OUTPUT_TYPE]: Dữ liệu đầu ra tƣơng thích để sử dụng cho SVM, Clustering hay kNN
[CATEGORY]: Biểu thị các nhóm nào sẽ đƣợc xử lý, biểu thi là id của nhóm [OUPUT_CAT]: Kết xuất dữ liệu ra cùng với nhãn
[OUTPUT_FS]: Kết xuất ra file chứa danh sách thuộc tính [FEATURE_SEL1]: Ngƣỡng tần xuất văn bản
[CATEGORY_i]: Cấu hình cho từng nhóm, gồm mô tả và tên thƣ mục lƣu trữ
Ví dụ:
[CATEGORY_1]: Folder1 = Chinh tri Description1 = Chính trị [CATEGORY_2]
Folder2 = CNTT-Tin hoc
Description2 = Công nghệ thông tin - Tin học
Cú pháp thực hiện: