III. Các giải pháp áp dụng cho Vietnamese TextMining
a. Bài toán phân loại văn bản tiếng Việt
Cần xây dựng một hệ thống có thể phân loại được tài liệu tiếng Việt. Hay nói khác đi, khi đưa ra một tài liệu tiếng Việt, hệ thống cần chỉ ra rằng đó là loại văn bản thuộc chủ đề nào (văn hoá, kinh tế, chính trị, thể thao,...).
Ở trên chúng ta đã trình bày hai phương pháp phân loại khác nhau, đó là phương pháp sử dụng từ điển phân cấp chủ đề và phương pháp cây quyết định.
Đối với giải thuật sử dụng từ điển phân cấp chủ đề, có thể hiểu đây là một phương pháp chuẩn. Quá trình thực hiện khá dễ dàng và mọi kết quả đã được lường trước. Tuy nhiên, đây là một phương pháp thu được hiệu quả không cao. Lý do là phương pháp này không đề cập đến vấn đề ngữ nghĩa của văn bản.
Ở phương pháp thứ hai, chúng ta đã gắn bài toán vào một dạng trí tuệ nhân tạo. So với phương pháp trước thì phương pháp này cho kết quả tốt hơn do tính mềm dẻo, tính tự học của giải thuật. Tuy nhiên, kết quả đạt được vẫn còn rất khiêm tốn.
Do một số đặc trưng, như đã nêu ở trên, của văn bản tiếng Việt, việc phân tích văn bản sẽ rất phức tạp. Việc áp dụng hai phương pháp đã nêu ở trên chỉ thu được các kết quả tương đối hạn chế. Để giải giải quyết bài toán phân loại văn bản tiếng Việt một cách triệt để phương pháp phân tích cú pháp được ưu tiên lên hàng đầu.
Trong đề tài này của em chưa đề cập được đến phương pháp này. Nó thuộc vào các phương pháp xử lý ngôn ngữ tự nhiên. Do thời gian có hạn hướng tiếp cận ban đầu không đúng, nên em vẫn để ngỏ phương pháp này. Tuy nhiên, hướng mục tiêu của em trong kì làm luận văn tốt nghiệp tới sẽ tập trung giải chuyết bài toán này. Đó là:
“Phân loại văn bản tiếng Việt bằng phương pháp phân tích cú pháp.” b. Bài toán thu thập thông tin từ văn bản tiếng Việt
Ở trên chúng ta đã chình bày ba phương pháp cho bài toán thu thập thông tin. Đó là các phương pháp: mô hình Boolean, mô hình không gian vec-tơ, và mạng nơ-ron.
Đối với mô hình Boolean, đây là phương pháp truy vấn thông tin dựa theo các biểu thức logic. ưu điểm lớn nhất của phương pháp này là tính đơn giản, dễ cài đặt và tốc độ nhanh. Tuy nhiên, hạn trế lớn nhất của nó không gian lưu trữ và giá thành cho việc thêm bớt văn bản từ kho lưu trữ tài liệu.
Phương pháp thứ hai đã cài tiến được một số hạn trế của phương pháp thức nhất. Tuy nhiên, nhược điểm lớn nhất của phương pháp này là tốc độ. Tuy nhiên, đây vẫn là một phương án có tính khả thi cao. Phương pháp này nên được áp dụng cho thu thập thông tin tiếng Việt.
Phương pháp thứ ba dựa trên giải thuật trí tuệ nhân tạo. ưu điểm của phương pháp này là khả năng huấn luyện được của hệ thống. Khi các mẫu huấn luyện và phương pháp huấn luyện tốt, hệ thống sẽ cho ra các kết quả rất tốt. Nhưng nhược điểm của phương pháp này là giải thuật phức tạp, khó cài đặt.
IV. Xây dựng thử chương trình tách thuật ngữ tiếng Việt theo phương pháp cổ điển điển
1. Chương trình và bài toán được giải quyết
Để phục vụ cho bài toán phân tích văn bản tiếng Việt, em đã xây dựng thử nghiệm một chương trình Tách thuật ngữ tiếng Việt. Chương trình được viết bằng ngôn ngữ java. Bài toán đặt ra được mô tả như sau:
Xây dựng một công cụ tách các thuật ngữ trong một văn bản tiếng Việt theo một từ điển thuật ngữ có sẵn
Đầu vào của bài toán là một tệp tin chứa một tài liệu tiếng Việt được định dạng Text dưới dạng phông .VN (ví dụ phông .VnTime), một tệp tin chứa thông tin về các thuật ngữ cũng được đinh dạng Text dưới dạng phông .VN.
Đầu ra của bài toán là một tệp tin định dạng Text bởi phông .VN, trong đó chưa các thông tin về các thuật ngữ tìm được theo khuân dạng: “Tên thuật ngữ ” (số từ tìm được).
Chương trình được xây dựng bằng ngôn ngữ java và được đặt với tên
“tachthuatngu”.
2. Kết quả chạy chương trình
Khi chạy chương trình với tệp tin “Test.txt” (tệp tin mẫu có sẵn) với nội dung là một báo cáo nghiên cứu về lý thuyết tập thô, kết quả hiện ra với nội dung như sau:
Ket qua phan tich tu tep tin "Test.txt" Ten tu khoa (so lan xuat hien)
"th«ng tin" (40) "hµm" (34) "khai th¸c" (33) "truy vÊn" (26)
"thùc hiÖn" (22) "d÷ liÖu" (22) "tËp th«" (14) "hÖ thèng" (10) "xö lý" (10)
"kh«ng gian dung sai" (8) "ph©n nhãm" (5) "tõ kho¸" (5) "l-u tr÷" (5) "nghiªn cøu" (4) "ng÷ nghÜa" (3) "khai ph¸ d÷ liÖu" (3) "kh¸i niÖm" (2) "chØ tiªu" (2)
Sau hai dòng mở đầu, trên mỗi dòng sau đó ghi “tên thuật ngữ tìm được” (số lần xuất hiện trong tài liệu). Ví dụ: với từ “tập thô” ta thấy xuất hiện 14 lần trong tài
TÀI LIỆU THAM KHẢO
[1] “Text Categorization Using a Hierarchical Topic Dictionary” -
Alexander Gelbukh, Grigori Sidorov, Adolfo Guzmán-Arenas
[2] “Machine Learning in Automated Text Categorization” - Fabrizio Sebastiani
[3] “Ngữ pháp tiếng Việt” – Trung tâm Khoa học xã hội và Nhân văn quốc gia – Nhà xuất bản Khoa học và xã hội – Hà nội 2000
PHỤ LỤC Các thông tin về báo cáo
Trên đĩa mềm gồm có:
- Báo cáo (2 bản softcopy) nằm trong các tệp tin
“A:\Docs\BaocaoTTTN.doc”, và “A:\Docs\BaocaoTTTN.pdf”
- Bản bảo vệ bằng Microsoft PowerPoint “A:\Docs\Baove.ppt”
- Chương trình demo chứa trong thư mục “A:\Project” bao gồm mã nguồn viết bằng java chứa trong thư mục “A:\Project\src” và mã dịch chứa trong thư mục “A:\Project\tachthuatngu”.
Cách chạy chương trình demo
Yêu cầu:
- Trên máy tính chưa bộ dịch java.
- Đặt đường dẫn đến thư mục chứa tệp tin “java.exe” trong PATH.
- Sao thư mục “A:\Project” vào một nơi khác trên đĩa cứng
Cách chạy:
- Vào chế độ Command Prompt
- Chuyển đến thư mục “Project” đã sao trên đĩa cứng
- Ghõ vào dòng lệnh: “java tachthuatngu.Main ten_file_tai_lieu”
- Sau khi chương trình kết thúc, kết quả đã được ghi ra tệp tin như chương trình thông bao. Bạn có thể mở tệp tin này (nên mở bằng Notepad) để xem kết quả
TỪ ĐIỂN THUẬT NGỮ
Data Mining Khai phá văn bản dữ liệu
Text Mining Khai phá dữ liệu văn bản
Text Categorization Phân loại văn bản
Text Clustering Lập nhóm văn bản
Information Retrieval (IR) Thu thập thông tin
Neural Network Mạng Nơ-ron
Decision tree Cây quyết định
AI-based method Phương pháp dựa trí tuệ nhân tạo
similarity Độ tương đồng
Vector space model (VSM) Mô hình không gian vec-tơ
Text summarization Tổng hợp văn bản
Term Thuật ngữ
MỤC LỤC
MỤC LỤC ... 57
BẢNG DANH MỤC HÌNH HOẠ ... 61
LỜI GIỚI THIỆU ... 1
I. Đặt vấn đề ... 5
II. Cơ sở lý thuyết ... 7
a. Khai phá dữ liệu (Data Mining) ... 7
b. Khai phá dữ liệu văn bản (Text Mining) ... 8
2. Bài toán phân loại văn bản (Text categorization) ... 12
a. Khái niệm phân loại văn bản ... 12
b. Các phương pháp phân loại văn bản ... 13
b.1. Sử dụng từ điển phân cấp chủ đề ... 13
b.1.1. Giải thuật phân lớp và phân cấp chủ đề ... 13
b.1.2. Sự phù hợp và sự phân biệt của các trọng số ... 14
b.2. Phương pháp cây quyết định (Decision tree) ... 16
3. Bài toán thu thập thông tin (Information retrieval - IR) ... 18
a. Khái niệm thu thập thông tin ... 18
b. Các phương pháp thu thập thông tin ... 20
b.1. Các phương pháp chuẩn ... 21
b.1.1. Mô hình Boolean ... 21
b.1.2. Mô hình không gian vec-tơ (Vector space model - VSM) ... 23
b.2. Các phương pháp dựa trí tuệ nhân tạo (AI-based method) ... 28
b.2.1 Kỹ thuật mạng Nơ-ron (Neural network) ... 29
4. Một số công cụ phân tích văn bản tiếng Anh ... 35
III. Các giải pháp áp dụng cho Vietnamese Text Mining ... 39
1. Đặc trưng của văn bản tiếng Việt ... 39
a. Các đơn vị của tiếng Việt ... 39
a.1. Tiếng và đặc điểm của tiếng ... 39
a.1.1. Tiếng và giá trị ngữ âm ... 39
a.1.2. Tiếng và giá trị ngữ nghĩa ... 39
a.1.3. Tiếng và giá trị ngữ pháp ... 40
a.2.1. Từ là đơn vị nhỏ nhất để đặt câu ... 40
a.2.2. Từ có nghĩa hoàn chỉnh và cấu tạo ổn định ... 41
a.3. Câu và các đặc điểm của câu ... 41
a.3.1. Câu có ý nghĩa hoàn chỉnh ... 41
a.3.2. Câu có cấu tạo đa dạng. ... 42
b. Các phương tiện ngữ pháp của tiếng việt. ... 42
b.1. Trong phạm vi cấu tạo từ. ... 42
b.2. Trong phạm vi cấu tạo câu. ... 42
c. Từ tiếng việt ... 43
c.1. Từ đơn - từ ghép ... 43
c.2. Từ loại ... 45
c.3. Dùng từ cấu tạo ngữ ... 45
d. Câu tiếng việt ... 46
d.1. Câu đơn ... 47
d.2. Câu ghép ... 48
d.2.1. Câu ghép song song ... 48
d.2.2. Câu ghép qua lại ... 48
d.2.3. Các thành phần câu... 49
e. Các đặc điểm chính tả và văn bản tiếng Việt ... 49
2. Các giải pháp, đánh giá hiệu quả, đề ra giải pháp cho phân tích văn bản tiếng Việt ... 50
a. Bài toán phân loại văn bản tiếng Việt... 51
b. Bài toán thu thập thông tin từ văn bản tiếng Việt ... 51
IV. Xây dựng thử chương trình tách thuật ngữ tiếng Việt theo phương pháp cổ điển ... 53
2. Kết quả chạy chương trình ... 53
TÀI LIỆU THAM KHẢO... 55
PHỤ LỤC ... 56
Các thông tin về báo cáo ... 56
Cách chạy chương trình demo ... 56
BẢNG DANH MỤC HÌNH HOẠ
Hình 1: Một ví dụ về cây quyết định Hình 2. Mô hình thu thập thông tin chuẩn
Hình 3. Đồ thị biểu diễn các vec-tơ của bài báo D1 và D2
Hình 4: Đồ thị biểu diễn quan hệ giữa truy vấn (query) và các tài liệu D1, D2 Hình 5. Mạng nơ-ron: toán tử AND (a) và toán tử OR (b)
Hình 6. Mạng nơ-ron với lớp ẩn: toán tử NOR Hình 7: Mô hình biểu diễn mạng nơ-ron Hình 8: Minh hoạ công cụ TextAnalyst