Tuy nhiên bài toán phân loại văn bản thường gặp phải khó khăn lớn vềtính nhiều chiều của văn bản, tính nhập nhằng của ngôn ngữ… Vì vậy, phân loại văn bản là một trong những phương pháp h
Trang 1HÀ HẢI ĐĂNG
XÂY DỰNG ỨNG DỤNG HỖ TRỢ PHÂN LOẠI VĂN BẢN TIẾNG VIỆT DỰA TRÊN PHƯƠNG PHÁP POINTWISE VÀ BỘ PHÂN LOẠI SVM
Chuyên ngành: Khoa học máy tính
LUẬN VĂN THẠC SĨ KỸ THUẬT
Hà Nội - Năm 2014
Trang 3Cán bộ hướng dẫn chính: TS Lê Đình Sơn
Cán bộ chấm phản biện 1:
Cán bộ chấm phản biện 2:
Luận văn thạc sĩ được bảo vệ tại:
HỘI ĐỒNG CHẤM LUẬN VĂN THẠC SĨ
HỌC VIỆN KỸ THUẬT QUÂN SỰNgày….tháng… năm 2014
Trang 4trung thực, của tôi, không vi phạm bất cứ điều gì trong luật sở hữu trí tuệ vàpháp luật Việt Nam Nếu sai, tôi xin chịu hoàn toàn trách nhiệm trước phápluật.
TÁC GIẢ LUẬN VĂN
Hà Hải Đăng
Trang 5thông tin, Học viện Kỹ thuật Quân sự đã giúp đỡ, chỉ bảo em trong suốt quátrình học tập tại trường cũng như khi làm luận văn tốt nghiệp.
Em xin gửi lời cảm ơn sâu sắc đến Ts Lê Đình Sơn, thầy đã tận tìnhgiúp đỡ, hướng dẫn và truyền đạt những kiến thức, những kinh nghiệp quýbáu trong suốt quá trình thực hiện và hoàn thành luận văn
Cuối cùng, tôi xin gửi lời cảm ơn các anh chị, bạn bè đồng nghiệp, đặcbiệt là những người thân trong gia đình đã tạo điều kiện, giúp đỡ và động viêntôi trong suốt quá trình học tập cũng như làm luận văn tốt nghiệp!
Trang 6Trang phụ bìa
Bản cam đoan
Mục lục
Tóm tắt luận văn
Danh mục bảng
Danh mục hình vẽ
MỞ ĐẦU 1
Chương 1 TỔNG QUAN VỀ PHÂN LOẠI VĂN BẢN 1.1 Một số định nghĩa trong văn bản và ngôn ngữ 3
1.1.1 Các cấp độ ngôn ngữ 3
1.1.2 Quan hệ trong ngôn ngữ 4
1.2 Phân loại ngôn ngữ 5
1.2.1 Phân loại theo cội nguồn 5
1.2.2 Phân loại theo loại hình 6
1.2.3 Phân loại theo thứ tự của ngôn ngữ 6
1.3 Các đặc điểm cơ bản của tiếng Việt 7
1.3.1 Tiếng – đơn vị cấu tạo nên từ 8
1.3.2 Cấu tạo từ 10
1.3.3 Nhập nhằng 12
1.4 Mô hình tổng quát của bài toán phân loại văn bản tiếng Việt 12
1.4.1 Yêu cầu đối với bài toán phân loại văn bản 13
1.4.2 Cấu trúc chương trình 13
1.5 Các nghiên cứu đối với bài toán phân loại văn bản 17
1.5.1 Các phương pháp phân loại văn bản tiếng Anh 18
1.5.2 Các nghiên cứu đối với phân loại văn bản tiếng Việt 20
Trang 7PHƯƠNG PHÁP TIỀN XỬ LÝ TRONG PHÂN LOẠI VĂN BẢN
2.1 Tầm quan trọng của bước tiền xử lý trong phân loại văn bản 24
2.1.1 Tách câu 25
2.1.2 Tách từ 27
2.2 Một số phương pháp tách từ tiếng Việt 29
2.2.1 Phương pháp khớp nối tối đa Muximun Matching: forward/backward29 2.2.2 Phương pháp giải thuật học cải biến (Tranformation based learning) .31 2.2.3 Phương pháp quy hoạch động (Dynamic Programming) 32
2.3 Phương pháp Pointwise 33
2.3.1 Mô hình ngôn ngữ N-Gram 33
2.3.2 Ý tưởng chung về phương pháp Pointwise 35
2.4 Những đặc trưng trong phương pháp pointwise 37
Chương 3 PHÂN LOẠI VĂN BẢN VỚI BỘ PHÂN LOẠI SVM 3.1 Giới thiệu SVM 41
3.2 Bộ phân loại vector hỗ trợ (SVM) 45
3.3 Phân loại văn bản và SVM 50
3.4 Thiết kế chương trình thử nghiệm 54
3.4.1 Giới thiệu về chương trình 54
3.4.2 Thư viện Dongdu và svm.net 55
3.4.3 Nguồn dữ liệu 59
3.5 Kết quả đạt được 60
KẾT LUẬN VÀ KIẾN NGHỊ 1 Kết luận 65
2 Kiến nghị 65
TÀI LIỆU THAM KHẢO 66
Trang 8Họ và tên học viên: Hà Hải Đăng
Cán bộ hướng dẫn: TS Lê Đình Sơn
Tên đề tài: Xây dựng ứng dụng hỗ trợ phân loại văn bản tiếng Việt dựa trên phương pháp pointwise và bộ phân loại SVM.
Tóm tắt: Luận văn nghiên cứu bài toán phân loại văn bản, áp dụng vớitiếng Việt Qua việc nghiên cứu với phương pháp tách từ Pointwise và bộphân loại SVM, qua đó xây dựng chương trình ứng dụng hỗ trợ phân loại vănbản tiếng Việt
Trang 9Bảng 1.1 Bảng cấu trúc của tiếng trong tiếng Việt 9
Bảng 2.1 Thông tin dữ liệu huấn luyện cho phương pháp pointwise 40
Bảng 2.2 Kết quả so sánh hai phương pháp Vntokenizer và Pointwise 40
Bảng 3.1 Bảng dữ liệu huấn luyện và dữ liệu kiểm tra 59
Bảng 3.2 Kết quả phân loại của chương trình 60
Trang 10Hình 1.1 Cấu trúc chương trình 13
Hình 2.1 ví dụ về việc tham khảo các kết quả trước 35
Hình 2.2 ví dụ về việc không tham chiếu đến các nhãn trước đó 36
Hình 2.3 Ví dụ N – gram âm tiết và N– gram chủng loại âm tiết với W = 2.38 Hình 2.4 Ví dụ về đặc trưng từ điển 38
Hình 3.1 Mô hình hệ thống phân loại ăn bản bằng SVM 42
Hình 3.2 Mặt siêu phẳng tách các mẫu dương khỏi các mẫu âm 46
Hình 3.3 Tần suất từ trong văn bản 52
Hình 3.4 Lưu các từ vào vector đặc trưng 52
Hình 3.5 Mô hình giải quyết bài toán 55
Hình 3.6 Huấn luyện cho thuật toán tách từ pointwise 61
Hình 3.7 Lựa chọn cấu hình cho việc phân loại văn bản 61
Hình 3.8 Huấn luyện văn bản với bước tiền xử lý 62
Hình 3.9 Huấn luyện văn bản 62
Hình 3.10 Phân loại văn bản 63
Hình 3.11 Biểu diễn vector văn bản 63
Hình 3.12 Mô hình huấn luyện văn bản trên một chủ đề 64
Hình 3.13 Kết quả phân loại văn bản trên tập kiểm tra 64
Trang 11MỞ ĐẦU
Ngày nay, sự phát triển mạnh mẽ của Internet dẫn đến sự bùng nổthông tin về nhiều mặt cả nội dung và số lượng Tuy nhiên đi kèm với sự pháttriển về công nghệ thông tin ấy thì số lượng người sử dụng Internet để tìmkiếm và truy cập tài liệu, văn bản ngày càng gia tăng Trong quá trình tìmkiếm, số lượng văn bản và tài liệu trả về vô cùng lớn, người sử dụng khôngthể đọc hết được chúng Mặt khác, mô hình biểu diễn văn bản hiện nay là môhình không gian vector, trong đó mỗi văn bản được biểu diễn bằng các từkhóa Tuy nhiên bài toán phân loại văn bản thường gặp phải khó khăn lớn vềtính nhiều chiều của văn bản, tính nhập nhằng của ngôn ngữ…
Vì vậy, phân loại văn bản là một trong những phương pháp hữu ích, cóứng dụng thực tế trong nhiều lĩnh vực khác nhau Phân loại văn bản đáp ứngnhu cầu tìm kiếm và phân chia tài liệu của người sử dụng, giảm đáng kể thờigian chọn lọc tài liệu, giúp cho quá trình quản lý và sử dụng văn bản thuậntiện hơn
Đề tài luận văn “Xây dựng ứng dụng hỗ trợ phân loại văn bản tiếng Việt dựa trên phương pháp pointwise và bộ phân loại SVM”.
Mục tiêu của đề tài:
+ Tìm hiểu một số phương pháp tách từ tiếng Việt
+ Tìm hiểu một số phương pháp phân loại văn bản tiếng Việt hiệnnay
+ Nghiên cứu phương pháp tách từ pointwise ứng dụng vào bàitoán tách từ tiếng Việt
+ Nghiên cứu thuật toán SVM và áp dụng vào bài toán phân loạivăn bản tiếng Việt với bước tiền xử lý có áp dụng phương pháptách từ tiếng Việt pointwise
Trang 12+ Xây dựng ứng dụng hỗ trợ phân loại văn bản tiếng Việt dựa trên
+ Chương 2: Phương pháp tiền xử lý trong phân loại văn bản tiếng Việt.Tìm hiểu phương pháp tách từ và ý tưởng của Pointwise áp dụng chotiền xử lý văn bản tiếng Việt
+ Chương 3: Phân loại văn bản tiếng Việt với bộ phân loại SVM Nghiêncứu máy hỗ trợ vector SVM và thuật toán phân loại văn bản SVM.Chương trình minh họa thực hiện phương pháp của luận văn
Trang 13Chương 1 TỔNG QUAN VỀ PHÂN LOẠI VĂN BẢN
Việc khai thác thông tin từ các nguồn dữ liệu văn bản trong tiếng Việtdựa vào những kết quả nghiên cứu về văn bản nói chung, về dữ liệu văn bản
và các kỹ thuật xử lý đã được phát triển trên thế giới Tuy nhiên văn bản tiếngViệt lại có những đặc điểm riêng, ta có thể nhận thấy ngay được sự khác biệt
về mặt cú pháp và ngữ pháp của tiếng Việt khác so với các ngôn ngữ phổ biếntrên thế giới như tiếng Anh, tiếng Pháp Vậy những đặc trưng này sẽ ảnhhưởng thế nào đến bài toán phân loại văn bản, dùng kỹ thuật nào để có thể tậndụng được những ưu thế của tiếng Việt cũng như giải quyết được những phứctạp trong tiếng Việt
Trong chương này, chúng ta sẽ cùng nhau nghiên cứu những khái niệmchung nhất của ngôn ngữ, những đặc điểm của tiếng Việt cũng như những yêucầu đối với bài toán xử lý ngôn ngữ tiếng Việt Mô hình tổng quát của bàitoán phân loại văn bản và các nghiên cứu đối với bài toán phân loại văn bản
1.1 Một số định nghĩa trong văn bản và ngôn ngữ
Ngôn ngữ là hệ thống tín hiệu đặc biệt và quan trọng bậc nhất của loàingười, là phương tiện và công cụ giao tiếp xã hội Ngôn ngữ bao gồm ngônngữ nói và ngôn ngữ viết, chính vì vậy tìm hiểu ngôn ngữ là tìm hiểu tư duycủa con người Đối với những bài toán xử lý ngôn ngữ tự nhiên thì vấn đề tìmhiểu nguồn gốc, đặc điểm của ngôn ngữ có ý nghĩa quan trọng để quyết địnhvấn đề đối với ngôn ngữ đang nghiên cứu
1.1.1 Các cấp độ ngôn ngữ
Theo trình tự từ nhỏ đến lớn, có thể kể ra các đơn vị ngôn ngữ là:
Từ: đơn vị mang nghĩa độc lập, được cấu tạo bởi hình vị, có chức năngđịnh danh
Trang 14Ngữ: gồm hai hay nhiều từ có quan hệ ngữ pháp hay ngữ nghĩa vớinhau, ví dụ: bức thư, mạng máy tính, hệ thống máy tính,
Câu: gồm các từ/ngữ có quan hệ ngữ pháp hay ngữ nghĩa với nhau và
có chức năng cơ bản là thông báo, ví dụ: Tôi đang đọc sách,
Văn bản: là hệ thống các câu được liên kết với nhau về mặt hình thức,
từ ngữ, ngữ nghĩa và ngữ dụng
1.1.2 Quan hệ trong ngôn ngữ
Mỗi đơn vị kể trên, chúng ta lại làm thành một tiểu hệ thống trong hệthống lớn là hệ thống ngôn ngữ Người ta gọi mỗi tiểu hệ thống (gồm nhữngđơn vị đồng loại) của ngôn ngữ là một cấp độ Đó là vì các tiểu hệ thống cóquan hệ chi phối lẫn nhau Ví dụ: cấp độ câu, cấp độ từ, cấp độ hình vi, cấp
độ âm vị Các đơn vị của ngôn ngữ quan hệ với nhau rất phức tạp và theonhiều kiểu, tuy nhiên có 3 quan hệ cốt lõi đó là:
Quan hệ cấp bậc (hierachical relation): đơn vị cấp cao hơn bao giờcũng bao hàm đơn vị của cấp độ thấp hơn và ngược lại Ví dụ: câu bao hàm
từ,
Quan hệ ngữ đoạn (syntagmatical relation): nối kết các đơn vị ngônngữ thành chuỗi khi ngôn ngữ đi vào hoạt động Đây là tính hình tuyến củangôn ngữ Tính chất này bắt buộc các đơn vị ngôn ngữ phải nối tiếp nhau lầnlượt trong ngữ lưu để cho ta những kết hợp gọi là ngữ đoạn (syntagmes) Vídụ: This book, this book is interesting,
Quan hệ liên tưởng (associative relation): là quan hệ xâu chuỗi, mộtyếu tố xuất hiện với những yếu tố khác “đứng sau lưng” nó về nguyên tắc cóthể thay thế nó Ví dụ: I read book (newspage, magazine, .) thì các từnewspage, magazine là tương đương với book và có thể thay thế cho book
Trang 151.2 Phân loại ngôn ngữ
Mỗi ngôn ngữ là công cụ tư duy, nó là thành quả của việc nghiên cứutrí tuệ Phân loại các ngôn ngữ là cách phân loại ngôn ngữ theo cấu trúc vàchức năng của chúng Kết quả phân loại cho ta những loại hình ngôn
ngữ Loại hình ngôn ngữ không phải là một ngôn ngữ cụ thể nào, cũng không
phải là một tổng hoặc một tập các ngôn ngữ Loại hình ngôn ngữ là tổng thểcủa những đặc điểm hoặc thuộc tính về cấu trúc và chức năng vốn có của cácngôn ngữ thuộc nhóm đó, phân biệt nhóm đó với các nhóm ngôn ngữ khác
Trong mỗi ngôn ngữ có thể thấy ba nhóm thuộc tính: thuộc tính phổ quát, tức
là thuộc tính chung, vốn có đối với tất cả các ngôn ngữ thế giới, thuộc tính riêng biệt là thuộc tính chỉ có ở ngôn ngữ đó, thuộc tính loại hình là thuộc
tính đặc trưng cho từng nhóm ngôn ngữ nhất định Thuộc tính loại hình đượcdùng làm tiêu chuẩn để quy định vị trí của một ngôn ngữ nào đó trong khiphân loại
1.2.1 Phân loại theo cội nguồn
Căn cứ theo cội nguồn (nghiên cứu lịch đại), ta có các ngữ hệ sau:
Ấn-Âu: Dòng ngôn ngữ Ấn Độ, I-Ran, Bantic, Slave, Roman, HyLạp, German (Gồm Đức, Anh, Hà Lan, )
Sê-Mít: Dòng ngôn ngữ Sê-mít, Ai Cập, Kusit, Beebe,
Thổ: Ngôn ngữ Thổ Nhĩ Kỳ, Azecbaizan, Tacta,
Hán-Tạng: Dòng ngôn ngữ Hán, Tạng, Miến,
Nam Phương: Dòng Nam-Thái, Nam Á Trong đó dòng Nam Á cócác ngành: Nahali, MunDa, Nicoba và Môn-Khmer Trong ngànhMôn-Khmer có nhóm Việt-Mường và trong nhóm này có ngôn ngữtiếng Việt của chúng ta
Trang 161.2.2 Phân loại theo loại hình
Căn cứ theo các đặc điểm hiện nay của các ngôn ngữ (nghiên cứu đồngđại), người ta phân các ngôn ngư thành các loại hình khác nhau (một cách gầnđúng) bao gồm:
Ngôn ngữ hòa kết (flexional): loại hình này bao gồm các ngôn ngữ:Đức, Latin, Hy lạp, Anh, Pháp, Nga, A-Rập,
Ngôn ngữ cháp dính (agglutinate): có hiện tượng cứ nối tiếp thêmmột cách máy móc, cơ giới vào căn tố nào đó một hay nhiều phụ tố,
mà mỗi phụ tố đó lại chỉ luôn mang lại một ý nghĩa ngữ pháp nhấtđịnh Ví dụ: Thổ Nhĩ Kỳ, Mông Cổ, Nhật Bản, Triều Tiên,
Ngôn ngữ đơn lập (isolate): còn gọi là ngôn ngữ phi hình thái,không biến hình, đơn âm tiết, phân tiết, Loại hình này bao gồmcác ngôn ngữ: tiếng Việt, Hán, Êvê, Vùng Đông Nam Á,
Ngôn ngữ đa tổng hợp (polysynthetic): còn gọi là ngôn ngữ hỗnnhập hay nhập khuân Đây là loại mang những đặc điểm của cáclọai hình nói trên
1.2.3 Phân loại theo thứ tự của ngôn ngữ
Xét về loại hình trật tự ở cấp độ câu, thì tiếng Anh và tiếng Việt cócùng chung loại hình, đó là loại hình S-V-O, có nghĩa là trong một câu bìnhthường (không đánh dấu), thứ tự các thành phần được sắp xếp như sau:
S (Subject: chủ ngữ) – V (Verb: động từ) – O (Object: bổ ngữ)
Trang 17 Loại hình S-O-V chiếm 41,0 - 51,8 % như tiếng Nhật.
Loại hình V-S-O chiếm 2,0 % - 4,0 %
Loại hình V-O-S chiếm 9 - 18 %
Loại hình O-S-V chiếm khoảng 1 %
Trật tự từ (word - order) là sự thể hiện hình tuyến của ngôn ngữ Trật tự
từ được hiểu theo nghĩa hẹp là: trật tự các thành phần S-V-O như trên, cònnếu hiểu theo nghĩa rộng thì là trật tự các thành tố ở ba cấp độ đơn vị ngônngữ:
Từ: trật tự các tiếng, hình vị, từ tố trong từ ghép Ví dụ:Cha-Mẹ/Mẹ-Cha
Ngữ: trật tự các từ trong cụm từ hay ngữ như: trật tự định tố trongdanh ngữ, trật tự bỏ ngữ trong động ngữ
Câu: trật tự các thành phần S, V, O trong câu
Có một số ngôn ngữ tuy cùng loại hình trật tự từ ở cấp độ câu (nhưtiếng Anh và tiếng Việt cùng loại hình S-V-O), nhưng trật tự từ bên trong cácngữ có thể khác nhau Chẳng hạn: trong tiếng Anh tính từ đứng trước danh từcòn trong tiếng Việt thì ngược lại [1]
1.3 Các đặc điểm cơ bản của tiếng Việt
Một vấn đề khó khăn đầu tiên trong việc xử lý tự động tiếng Việt làviệc định nghĩa từ trong tiếng Việt vẫn còn nhiều tranh luận Theo quan điểmcủa Đinh Điền, một câu tiếng Việt bao gồm nhiều từ, mỗi từ bao gồm một haynhiều “tiếng”, mỗi “tiếng” là một chuỗi ký tự liền nhau, phân biệt với cáctiếng khác bằng một hay nhiều khoảng trắng Ví dụ:
Từ “học” là một từ gồm một tiếng
Từ “học sinh” là một từ gồm hai tiếng
Cụm từ “công nghệ thông tin” gồm 2 từ (4 tiếng)
Trang 18Trong các hệ thống tìm kiếm thông tin văn bản các tiếng Châu Âu,người ta có thể đơn giản lấy xác định các từ nhờ vào các khoảng trắng đểphân cách từ và chọn các đặc trưng cho nội dung văn bản (thông qua tần suấtxuất hiện của từ) làm chỉ mục mà hiệu quả tìm kiếm vẫn chấp nhận được Đốivới tiếng Việt chúng ta không thể làm tương tự bởi nếu chúng ta xác định từchỉ dựa vào khoảng trắng phân cách thì chúng ta chỉ có thể nhận được nhiều
“tiếng” vô nghĩa và do đó độ chính xác của hệ thống sẽ rất thấp Theo các nhàngôn ngữ học thì tiếng Việt có đến 80% là từ 2 “tiếng”
Một đặc điểm của tiếng Việt là từ tiếng Việt không có biến thể về hìnhthái học và do đó công đoạn chuẩn hóa về hình thái học là không hiệu quả đốivới tiếng Việt Dĩ nhiên tiếng Việt cũng có một số hình thức biến thể về hìnhthái học như trường hợp thêm tiếng “sự” trước một động từ để biến nó thànhdanh từ tương đương ví dụ như: động từ “lựa chọn” và danh từ “sự lựa chọn”hay việc thêm tiếng “hóa” sau một số danh từ để biến nó thành động từ tươngđương như: danh từ “tin học” và động từ “tin học hóa”
Nhưng xét trên góc độ ứng dụng, ta có thể hiểu một cách đơn giản là
“từ được cấu tạo bởi một hoặc nhiều tiếng” Chúng ta tìm hiểu khái niệm
“tiếng” trong tiếng Việt với hình vị từ
1.3.1 Tiếng – đơn vị cấu tạo nên từ
Tiếng là đơn vị cơ sở để cấu tạo nên từ tiếng Việt Về mặt hình thức,tiếng là một đoạn phát âm của người nói, dù chúng ta có cố tình phát âmchậm đến mấy cũng không thể tách tiếng ra thành các đơn vị khác được.Tiếng được các nhà ngôn ngữ gọi là âm tiết (syllable) Về mặt nội dung, tiếng
là đơn vị nhỏ nhất có nội dung được thể hiện, ít nhất tiếng cũng có giá trị vềmặt hình thái học (cấu tạo từ), đôi khi người ta gọi tiếng là hình tiết(morphemesyllable), tức là âm tiết có giá trị về hình thái học
Trang 19Các tiếng không phải tất cả đều giống nhau, xét về mặt ý nghĩa, chúng
ta có thể chia tiếng thành các loại sau:
Tiếng tự thân nó đã có ý nghĩa, thường được quy chiếu vào một đốitượng, khái niệm Ví dụ: trời, đất, nước, cây, cỏ,
Tiếng tự thân nó không có ý nghĩa, chúng không được quy chiếuvào đối tượng, khái niệm nào cả Chúng thường đi cùng với mộttiếng khác có nghĩa và làm thay đổi sắc thái của tiếng đó, ví dụ:(xanh) lè, (đường) xá, (nắng) nôi,
Tiếng tự thân nó không có ý nghĩa nhưng lại đi với nhau để tạothành từ Nhiều tiếng nếu tách rời tiếng này ra đứng riêng thì chúnglại không có ý nghĩa, nhưng khi ghép lại thì thành từ có nghĩa Tathường xuyên gặp ở những từ vay mượn như Phéc-mơ-tuya, a-pa-tít,pa-tin, mì-chính,
Trong tiếng Việt thì các tiếng thuộc nhóm đầu là chiếm đa số Các tiếngthuộc hai nhóm sau chỉ chiếm số ít, đặc biệt là nhóm thứ 3, chúng thườngđược gọi là tiếng vô nghĩa Việc nhóm đầu tiên chiếm đa số phản ánh thực tế
là khi nói, người ta thường sử dụng các tiếng có nghĩa, hiếm khi lại nói toàn
vô nghĩa
Mô hình tiếng trong tiếng Việt và các thành tố của tiếng Việt
Ta có thể biểu diễn cấu trúc của tiếng như bảng sau:
Bảng 1.1 Bảng cấu trúc của tiếng trong tiếng Việt
Âm đầu
Thanh điệuVần
Trong đó:
Trang 20+ Thanh điệu: mỗi tiếng đều có một thanh điệu là một trong 6 loại:sắc, huyền, hỏi, ngã, nặng và thanh bằng Chúng có tác dụngphân biệt tiếng về cao độ Ví dụ: “việt” và “viết”, “nặng” và
“nắng”,
+ Âm đầu: có tác dụng mở đầu âm tiết Ví dụ: “nắng” và “mắng”+ Âm đệm: có tác dụng biến đổi âm sắc của âm tiết sau lúc mởđầu Ví dụ: “toán” và “tán”
+ Âm chính: là hạt nhân và mang âm sắc chủ đạo của tiếng Ví dụ:
“túy” và “túi”, “tôi”
+ Âm cuối: có tác dụng kết thúc tiếng với các âm sắc khác nhau,
do đó có thể phân biệt các tiếng Ví dụ: “bàn” và “bài”
+ Cụm gồm âm đệm, âm chính và âm cuối ta gọi là vần Ví dụ: vần
“ang”, và vần “oan”
Đây là thành tố của tiếng (vần không phải là một thành tốt mà chỉ làcách gọi của cụm 3 âm đã nói ở trên), mà bất cứ tiếng nào trong tiếng Việtđều tuân theo cấu trúc như trên Nhưng cũng có trường hợp một số âm trùngnhau, nhất là với nhưng tiếng gồm 3 kí tự trở xuống
Trang 21+ Từ ghép chính phụ: các thành phần cấu tạo từ có mối quan hệphụ thuộc bói nhau về nghĩa Thành phần phụ sẽ có vai trò làmchuyên biệt hóa, tạo sắc thái cho thành phần chính Ví dụ: hoahồng, đường sắt,
Từ láy: Một từ sẽ được coi là từ láy khi các yếu tố cấu tạo nên nó cóthành phần ngữ âm được lặp lại, nhưng vừa có lặp vừa có biến đổi(gọi là đối) Ví dụ: đo đỏ, man mát, Nếu một từ chỉ có phần lặplại mà không có sự biến đổi ví dụ như từ nhà nhà, ngành ngành, thì ta có dạng láy của từ, hoàn thoàn không phải là từ láy Độ dài từláy thay đổi từ 2 tiếng đến 4 tiếng Nhưng trong tiếng Việt đa số là
từ hai tiếng, chúng chia thành hai loại từ láy sau:
+ Láy hoàn toàn: là cách láy mà tiếng sau lặp lại hoàn toàn tiếngtrước Gọi là hoàn toàn nhưng thực ra các tiếng không trùng khítnhau mà có những sai khác rất nhỏ mà ta có thể nhận ra ngay.Một số kiểu láy hoàn toàn mà ta hay gặp:
o Láy hoàn toàn đối nhau ở thanh điệu, ví dụ: “sừng sững”,
+ Láy bộ phận: là cách láy mà chỉ có điệp ở phần âm đầu của tiếng,hoặc điệp ở phần vần thì được gọi là láy bộ phận Căn cứ vào đó
ta chia ra từng kiểu láy sau:
o Từ láy điệp ở âm đầu và đối ở vần, ví dụ: “nhưng nhức”,
Trang 22o Từ láy đệm ở vần và đối với âm đầu, ví dụ: “hấp tấp”, “liểngxiểng”,
1.3.3 Nhập nhằng
Nếu ta dựa trên khái niệm “từ” của các nhà ngôn ngữ học để trực tiếptách từ bằng tay thì khó có thể xay ra việc nhập nhằng trong tiếng Việt Songdưới góc độ đang nghiên cứu ứng dụng phân loại ngôn ngữ trên máy tính,chúng ta coi một từ chỉ đơn giản là cấu tạo từ một hoặc nhiều tiếng và việcnày rất dễ gây ra sự nhập nhằng trong quá trình phân đoạn từ
Sự nhập nhằng của tiếng Việt có thể chia thành 2 kiểu sau:
Nhập nhằng chồng chéo: chuỗi “abc” được gọi là nhập nhằng chồngchéo nếu như từ “ab”, “bc” đều xuất hiện trong từ điển tiếng Việt Ví
dụ như trong câu “ông già đi nhanh quá” thì chuỗi “ông già đi” bị nhậpnhằng chồng chéo vì các từ “ông già” và “già đi” đều cùng có trong từđiển
Nhập nhằng kết hợp: chuỗi “abc” được gọi là nhập nhằng kết hợp nếunhư từ “a”, “b”, “ab” đều suất hiện trong từ điển tiếng Việt Ví dụ nhưtrong câu “bàn là này còn rất mới” thì chuỗi “bàn là” bị nhập nhằng kếthợp, do các từ “bàn”, “là”, “bàn là” đều cùng có trong từ điển[2]
1.4 Mô hình tổng quát của bài toán phân loại văn bản tiếng Việt
Bài toán phân loại văn bản có thể được phát biểu như sau: Cho trướcmột tập văn bản D ={d1,d2, , dn} và tập chủ đề được định nghĩa C={c1,c2,
…,cn} Nhiệm vụ của bài toán là gán lớp di thuộc về cj đã được định nghĩa.Hay nói cách khác, mục tiêu của bài toán là đi tìm hàm f:
f : DxC Booleanf(d,c) = true, nếu d cf(d,c) = false, nếu d c
1.4.1 Yêu cầu đối với bài toán phân loại văn bản
(1.1)
Trang 23Yêu cầu chính của việc phân loại văn bản đó là việc xác định một vănbản sau khi xử lý sẽ được xác định được văn bản đó thuộc nhóm văn bản nàotrong các văn bản đã được xác định trước đó Đối với các văn bản không thểxác định được hoặc văn bản đó có tính “nhập nhằng” thì chương trình cầnphải chỉ ra và cho phép người sử dụng có thể xác định bằng tay văn bản nàythuộc nhóm văn bản nào Sau khi xác định thì kết quả này phải được cập nhậtvào hệ thống nhận dạng để chương trình có thể nhận dạng được các văn bảntương tự lần sau:
Vấn đề quan trọng ở đây là việc đọc nội dung và phân tích ngữ nghĩa
để xác định loại văn bản, nếu phần việc này làm tốt thì việc phải xác định lạivăn bản bằng phân công sẽ giảm đi khá nhiều Do đó có thể coi như bài toánphải giải quyết là công việc đọc nội dung và phân tích nội dung đọc được sau
đó chọn thuật toán để đưa ra quyết định nhóm của văn bản đã được đọc
1.4.2 Cấu trúc chương trình
Dựa vào các nghiên cứu đã mô tả và theo yêu cầu của bài toán nhưtrên, ta có thể thấy rằng để việc nhận dạng một văn bản được chính xác cầnphải thực hiện các bước sau:
Đánh trọng số Vecto trọng số
Thuật toán phân loại văn bản
Thuật toán phân loại văn bản
Xác định
nhóm văn bản
Trang 241.4.2.1 Tiền xử lý số liệu
Mục đích của bước này là xử lý tương đối sạch dữ liệu đọc vào để cácbước sau sẽ xử lý tốt hơn, do đó công việc của bước này sẽ chỉ là chuyểnchuỗi ký tự thuần túy (text) Với mục đích của luận văn nên tác giả đã bỏ qua
bước này, bước xây dựng dữ liệu tiền xử lý số liệu lấy mặc định là *.txt (text
thuần túy) và dữ liệu đã được lấy mẫu quá trình này làm bằng phương phápthủ công
1.4.2.2 Tách câu
Mục đích của bước này là tách một văn bản *.txt thuần túy thành cáccâu
Đầu vào: Chuỗi ký tự văn bản thuần túy *.txt
Đầu ra: Vecto chứa các câu được tách trong văn bản
Đoạn văn bản sẽ được duyệt tuần tự và sẽ được cho ngắt câu khi gặpcác kí tự ngắt câu như “.” (dấu chấm), “!” (chấm than), “?” (chấm hỏi), vớiđiều kiện: ký tự tiếp theo (có thể là các kí tự “khoảng trắng” ở giữa) là kí tựviết in
Cách làm trên loại bỏ được các trường hợp không phải là câu như:+ Dấu “.” Không phải là ngắt câu mà là dấu trong một chuỗi số Có đượcđiều này vì nếu là dấu chấm trong mỗi chuỗi câu thì kí tự tiếp theo phải
là số, không phải kí tự viết in
+ Dấu “.” trong một loạt “dấu ba chấm” bên trong câu, chưa phải là cuốicâu
Ta thấy nếu dùng hai luật trên vẫn chưa đủ để phân tích hết các trườnghợp xuất hiện dấu chấm Khi đó ta sẽ xử lý thêm cho các trường hợp có xuấthiện dấu chấm nhưng không tách câu như sau:
Chuỗi link hay địa chỉ trang Web (URL): khi đó dấu hiệu nhận diện
có chứa kí tự “.” hay “/” và chứa một trong các chuỗi con sau (chỉ
Trang 25liệt kê một số chuỗi thông dụng trong các địa chỉ Web): “http”,
“.com”, “.net”, “.edu”, “.vn”, “.html”, “.asp”, “.php”, “.jpg”,
Ký hiệu viết tắt: Danh sách các từ viết tắt được xử lý: “GS.”,
“PGS.”, “TS.”, “VS.”, “TSKH.”, “NGNN”, “NCS.”, “ThS.”, Chuỗi có chứa nhiều dấu chấm liên tục: Như dạng chuỗi version haydạng địa chỉ IP (ví dụ version 1.2.25, 192.122.45.26) chuỗi này chứanhiều giá trị số
1.4.2.3 Tách từ
Tách từ là vấn đề quan trọng nhất của chương trình, nó quyết địnhchương trình có thể thực hiện đúng và chính xác việc phân loại hay không lànhờ kết quả của việc tách từ đúng hay sai Do đặc điểm tiếng Việt như đãtrình bày ở trên (phần 1.3) trong đó đặc biệt chú ý việc tiếng Việt không thểtách từ bằng khoảng trắng (dấu cách) nên việc chọn phương pháp để tách từcũng khá khó khăn
Như đã phân tích ở trên việc chọn một phương pháp duy nhất có nhữngcái hay và cái dở khác nhau do đó trong luận văn này sẽ tác giả chọn phươngpháp pointwise để đưa vào bài toán tách từ
1.4.2.4 Đánh trọng số
Việc gán nhãn và đánh trọng số là để lượng hóa các từ trong văn bản,nhờ việc lượng hóa này mà chương trình có thể xác định được văn bản đangchọn thuộc nhóm văn bản nào Việc đánh nhãn cũng có tính chất quyết địnhđến kết quả phân loại văn bản Việc gán nhãn - đánh trọng số sẽ được thựchiện như sau: Các từ của văn bản sau khi đọc vào sẽ được sắp xếp vào mộtbảng có các thông tin như sau:
+ Từ đặc trưng
+ Số lần suất hiện trong văn bản: đây là số đếm số lần suất hiện trongvăn bản
Trang 26+ Khoảng cách lớn nhất: đây là khoảng cách tính bình quân lớn nhấtcủa khoảng cách của từ đến đặc trưng đến đầu câu.
+ Khoảng cách nhỏ nhất: đây là khoảng cách tính bình quân nhỏ nhấtcủa khoảng cách của từ đặc trưng đến đầu câu
+ Khoảng cách trung bình: đây là khoảng cách tính bình quân trungbình của khoảng cách của từ đặc trưng đến đầu câu
Các từ được dùng để biểu diễn các tài liệu cũng thường được gọi là cácđặc trưng Để nâng cao tốc độ và độ chính xác trong quá trình phân loại, quátrình tiền xử lý sẽ loại bỏ được các từ không có ý nghĩa, thông thường những
từ này sẽ là những từ mà tần số xuất hiện ít, stopword, các từ nối Với sốlượng lớn các đặc trưng bộ phân loại sẽ học chính xác tập tài liệu huấn luyện.Tuy vậy, để thu thập được mẫu đủ lớn tương ứng với số lượng đặc trưngthường khó thực hiện được trong thực tế Do đó để cho bài toán phân loại cóhiệu quả thực tiễn cao thì cần phải giảm số lượng đặc trưng, thông qua các
phương pháp như lượng tin tương hỗ.
Trong khi sử dụng các phương pháp chọn đặc trưng, có thể bỏ đi nhiều
từ quan trọng, dẫn đến mất mát nhiều thông tin, điều đó làm cho độ chính xácphân loại văn bản sẽ giảm đi đáng kể Vì vậy việc chọn lựa giải thuật SVM
Trang 27đáp ứng được khả năng điều chỉnh năng lực phân loại tự động thông qua việchọc, điều đó bảo đảm hiệu suất tổng quát tốn hơn.
1.2.4.6 Phân loại văn bản
Thông qua các bước ở trên, sau quá trình tách từ sẽ được biểu diễn dướidạng vector với các thành phần (chiều) của vector này là các trọng số của từ.Bằng phương pháp bộ phân loại SVM sẽ đưa ra nhóm văn bản và các biệnpháp khắc phục tình trạng nhập nhằng giữa các tài liệu (trình bày chi tiết ởchương 3)
1.5 Các nghiên cứu đối với bài toán phân loại văn bản
Phân loại văn bản tự động là một trong các lĩnh vực được chú ý nhấttrong những năm gần đây đối với bài toán xử lý ngôn ngữ tự nhiên Mặc dùđây không còn là một bài toán mới nhưng vẫn luôn thu hút được một lượnglớn các nghiên cứu và các công trình nhằm cải thiện, nâng cao hiệu quả củacác phương pháp đang có Để phân loại người ta sử dụng nhiều cách tiếp cậnkhác nhau như dựa trên từ khóa, dựa trên ngữ nghĩa các từ có tần suất xuấthiện cao, hay tập thô Tiếng Anh là một trong những ngôn ngữ nghiên cứusớm và rộng rãi nhất với kết quả đạt được rất khả quan Một số lượng lớn cácphương pháp phân loại đã được áp dụng thành công trên ngôn ngữ này, hiệuquả của các phương pháp này là rất khác nhau ngay cả khi áp dụng cho phânloại văn bản tiếng Anh
Việc đánh giá gặp nhiều khó khăn do việc thiếu các tập ngư liệu huấnluyện chuẩn Trong phần này tác giả sẽ giới thiệu các thuật toán phân loạiđược sử dụng phổ biến nhất đồng thời so sánh các phương pháp sử dụng kếtquả của Yang [21]
Trang 281.5.1 Các phương pháp phân loại văn bản tiếng Anh
Bước đầu tiên của mọi phương pháp phân loại là chuyển việc mô tả vănbản dùng chuỗi kí tự thành một dạng mô tả khác, phù hợp với các thuật toánhọc theo mẫu và phân lớp Hầu hết các thuật toán đều sử dụng cách biểu diễnvăn bản sử dụng vector đặc trưng, sự khác nhau có chăng là việc chọn khônggian vector đặc trưng khác nhau
số của một chủ đề chính là tổng tất cả khoảng cách ở trên của các văn bảntrong k láng giềng có cùng chủ đề, chủ đề nào không xuất hiện trong k lánggiềng sẽ có trọng số bằng 0 Sau đó các chủ đề sẽ được sắp xếp theo mức độtrọng số giảm dần và các chủ đề có trọng số cao sẽ được chọn là chủ đề củavăn bản cần phân loại
є {0,1} với
y = 0: văn bản d i
không thuộc về chủ đề cj
y = 1: văn bản di thuộc về chủ đề cj.( , )i
Trang 29Với bj là ngưỡng phân loại của chủ đề cj được tự động học sử dụng mộttập văn bản hợp lệ được chọn ra từ tập huấn luyện.
Để chọn được tham số k tốt nhất cho việc phân loại, thuật toán phảiđược chạy trên nhiều giá trị k khác nhau, giá trị k càng lớn thì giải thuật càng
ổn định và sai sót càng thấp [21] Giá trị tốt nhất được sử dụng tương ứng trênhai bộ dữ liệu Reuter và Oshumed là k = 45 [19]
1.5.1.2 Naive Bayes (NB)
NB là phương pháp phân loại dựa trên xác suất được sử dụng rộng rãitrong lĩnh vực máy học được sử dụng lần đầu tiên trong lĩnh vực phân loại bởiMaron vào năm 1961, sau đó trở nên phổ biến dùng trong nhiều lĩnh vực nhưtrong các công cụ tìm kiếm Rijsbergen, các bộ lọc email của Sahami,
Ý tưởng: Ý tưởng cơ bản của cách tiếp cận NB là sử dụng xác suất cóđiều kiện giữa từ và chủ đề để dự đoán xác suất chủ đề của một văn bản cầnphân loại Điểm quan trọng của phương pháp này chính là ở chỗ giả định rằng
sự xuất hiện của tất cả các từ trong văn bản đều độc lập với nhau Với giảđịnh này NB không sử dụng sự phụ thuộc của nhiều từ vào một chủ đề, không
sử dụng việc kết hợp các từ để đưa ra phán đoán chủ đề và do đó việc tínhtoán NB chạy nhanh hơn các phương pháp khác với độ phức tạp theo hàm sốmũ
1.5.1.3 Neural Network (NNet)
Phương pháp Nnet được nghiên cứu mạnh trong hướng trí tuệ nhân tạo.Wiener là người đã sử dụng Nnet để phân loại văn bản, sử dụng 2 hướng tiếpcận: kiến trúc phẳng (không sử dụng lớp ẩn) và mạng nơron 3 lớp (bao gồmmột lớp ẩn) [15]
Cả hai hệ thống trên đều sử dụng một mạng nowrron riêng rẽ cho từngchủ đề, Nnet học cách ánh xạ phi tuyến tính những yếu tố đầu vào như từ, hay
mô hình vector của một văn bản vào một chủ đề cụ thể
Trang 30Nhược điểm của phương pháp Nnet là tiêu tốn nhiều thời gian giànhcho việc huấn luyện mạng nơron.
Ý tưởng: Mô hình mạng nowowrron gồm có ba thành phần chính nhưsau: kiến trúc (architecture), hàm chi phí (cost function) và thuật toán tìmkiếm (search algorithm) Kiến trúc định nghĩa dạng chức năng (functionalform) liên quan giá trị nhập (inputs) đến giá trị suất (outputs)
1.5.1.4 Support vector Machine (SVM)
Support vector Machine (SVM) là phương pháp tiếp cận phân loại rấthiệu quả được Vapnik giới thiệu năm 1995 để giải quyết vấn đề nhận dạngmẫu 2 lớp sử dụng nguyên lý Cực tiểu hóa Rủi ro có Cấu trúc (Structural RiskMinimization) [19]
Ý tưởng: Cho trước một tập huấn luyện được biểu diễn trong khônggian vector trong đó mỗi tài liệu là một điểm, phương pháp này tìm ra mộtsiêu phẳng h quyết định tốt nhất có thể chia các điểm trên không gian nàythành hai lớp riêng biệt tương tương ứng là lớp + và lớp - Chất lượng củasiêu phẳng này được quyết định bởi khoảng cách (gọi là biên) của điểm dữliệu gần nhất của mỗi lớp đến mặt phẳng này Khoảng cách biên càng lớn thìmặt phẳng quyết định càng tốt đồng thời việc phân loại càng chính xác Mụcđích thuật toán SVM tìm được khoảng cách biên lớn nhất
1.5.2 Các nghiên cứu đối với phân loại văn bản tiếng Việt
Chúng ta nhận thấy trong các phương pháp phân loại văn bản tiếngViệt cũng dựa trên các phương pháp phân loại văn bản tiếng Anh, chỉ có điềukhi áp dụng với tiếng Việt thì có sự thay đổi vì với tiếng Việt có sự đặc thù về
từ thông qua các đặc trưng của tiếng Việt Từ đó các phương pháp phân loạivăn bản tiếng Việt đã được công bố cũng dựa trên các hướng và nghiên cứutrên
Trang 31Bài toán phân loại văn bản là một trong những bài toán kinh điển tronglĩnh vực xử lý dữ liệu văn bản Xử lý dữ liệu văn bản bao gồm các dạng chínhsau:
Kiểm tra lỗi chính tả (spelling-checker)Kiểm tra lỗi văn phạm (grammar checker)
Từ điển đồng nghĩa (thesaurus)Phân tích văn bản (text analyzer)
Phân loại văn bản (text classification)
Tóm tắt văn bản (text summarization)Tổng hợp tiếng nói (voice synthesis)Nhận dạng giọng nói (voice recognization)Dịch tự động (automatic translation)
Vấn đề phân loại văn bản tiếng Việt được nhiều cơ sở nghiên cứu cảtrong nước và nước ngoài quan tâm trong những năm gần đây Một số côngtrình nghiên cứu cũng đạt được những kết quả khả quan Các hướng tiếp cậnbài toán phân loại văn bản đã được nghiên cứu bao gồm:
+ Hướng tiếp cận bài toán phân loại bằng lý thuyết đồ thị như:
o Nguyễn Ngọc Bình, “Dùng lý thuyết tập thô và các kỹ thuậtkhác để phân loại, phân cụm văn bản tiếng Việt”, Kỷ yếu hộithảo ICT.rda’04 Hà nội 2004
o Đỗ Phúc, “Nghiên cứu ứng dụng tập phổ biến và luật kết hợpvào bài toán phân loại văn bản tiếng Việt” 2006
+ Cách tiếp cận sử dụng lý thuyết tập thô:
o Đỗ 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 SouthWales - Australia 2004
+ Cách tiếp cận thống kê:
Trang 32o Nguyễn Linh Giang, Nguyễn Duy Hải, “Mô hình thống kêhình vị tiếng Việt và ứng dụng”, Chuyên san “Các công trìnhnghiên cứu, triển khai Công nghệ Thông tin và Viễn thông,Tạp chí Bưu chính Viễn thông, số1, tháng 7-1999, trang 61-
67 1999
o Huỳnh Tân Trung, “Hệ thống nhận dạng và phân loại vănbản”, Luận văn cao học Trường Đại học Công nghệ thông tin– Đại học Quốc gia Thành phố Hồ Chí Minh, 2007
+ Cách tiếp cận sử dụng phương pháp học không giám sát và đánhchỉ mục như:
o Huỳnh Quyết Thắng, Đinh Thị Phương Thu “Tiếp cậnphương pháp học không giám sát trong học có giám sát vớibài toán phân lớp văn bản tiếng Việt và đề xuất cải tiến côngthức tính độ liên quan giữa hai văn bản trong mô hìnhvector”, Kỷ yếu Hội thảo ICT.rda’04, trang 251-261, Hà Nội2005
o Đinh Thị Phương Thu, Hoàng Vĩnh Sơn, Huỳnh QuyếtThắng, “Phương án xây dựng tập mẫu cho bài toán phân lớpvăn bản tiếng Việt: nguyên lý, giải thuật, thử nghiệm và đánhgiá kết quả”, Bài báo đã gửi đăng tại Tạp chí khoa học vàcông nghệ, 2005
o Vũ Đình Tiệp, “Nghiên cứu phương pháp phân loại văn bảntheo chủ đề có khai thác thông tin ngữ nghĩa”, Luận văn caohọc Trường Học viện Kỹ thuật Quân sự, Hà Nội 2011
o Nguyễn Trần Thiên Thanh, Trần Khải Hoàng, “Tìm hiểu cáchướng tiếp cận cho bài toán phân loại văn bản và ứng dụngphân loại tin tức báo điện tử”, 2005
Trang 33Nhìn chung, những cách tiếp cận này đều cho kết quả chấp nhận được.Tuy vậy để đi đến những triển khai khả thi thì vẫn cần đẩy mạnh nghiên cứu.
1.6 Mô tả phương pháp nghiên cứu trong luận văn
Sau khi nghiên cứu, xem xét các phương pháp phân loại văn bản, chúng
ta thấy rõ là các phương pháp đều có những ưu, nhược điểm khác nhau, tất cảcác phương pháp đều chưa đạt được kết quả tuyệt đối, do vậy mà việc tìm mộtphương pháp khác có thể có khả năng tốt hơn là một việc cần làm
Tác giả đề tài quyết định chọn phương pháp bộ phân loại SVM Support Vector Machine) với ứng dụng phương pháp pointwise trong bướctiền xử lý văn bản
(SVM-Việc chọn phương pháp Pointwise trong việc tiền xử lý văn bản là vìđây là một phương pháp được giới thiệu mới hiện nay (2012) Poinntwise làcách tiếp cận nhằm khắc phục nhược điểm của những phương pháp máy họctrước đó Trong phương pháp pointwise, các nhãn sẽ được đánh giá một cáchđộc lập và không tham khảo kết quả của các nhãn trước đó
Phương pháp thích hợp nhất để thực hiện việc đánh giá độc lập này là
sử dụng Support Vector Machine (SVM) SVM là phương pháp học máy đơngiản nhưng rất hiệu quả cho tập trung vào từng nhãn một cách độc lập, ít bịảnh hưởng bởi các ví dụ sai trong dữ liệu huấn luyện Ngoài ra, SVM cũngkhá dễ dàng để thực hiện việc chọn lựa đặc trưng (features selection) để giảmkích thước dữ liệu model
Thông qua việc chọn phương pháp Pointwise và SVM xây dựngchương trình thử nghiệm việc phân loại văn bản tiếng Việt
Trang 34Chương 2 PHƯƠNG PHÁP TIỀN XỬ LÝ TRONG PHÂN LOẠI VĂN BẢN
Tách từ là một khó khăn chính trong việc phân loại văn bản đối với cácngôn ngữ châu Á như tiếng Hoa, tiếng Nhật, tiếng Hàn và cả tiếng Việt Mặc
dù được viết bằng các ký tự La tinh mở rộng, tiếng Việt cũng có những đặctính chung với các ngôn ngữ phonographic Đông Nam Á khác như khó xácđịnh ranh giới giữa các từ và có các điểm khác biệt về phonetic, văn phạm vàngữ nghĩa so với các ngôn ngữ Ấn Âu
Do đó, rất khó có thể áp dụng các kỹ thuật và hướng tiếp cận đã đượcnghiên cứu và thử nghiệm thành công trên các ngôn ngữ Ấn Âu cho tiếngViệt nếu không xây dựng thành công giải pháp cho việc tách từ trong văn bảntiếng Việt
2.1 Tầm quan trọng của bước tiền xử lý trong phân loại văn bản
Văn bản trước khi được vector hoá, tức là trước khi sử dụng, cần phảiđược tiền xử lý Quá trình tiền xử lý sẽ giúp nâng cao hiệu suất phân loại vàgiảm độ phức tạp của thuật toán huấn luyện Tuỳ vào mục đích bộ phân loại
mà chúng ta sẽ có những phương pháp tiền xử lý văn bản khác nhau
Văn bản trước khi được vector hoá, tức là trước khi sử dụng, cần phảiđược tiền xử lý Quá trình tiền xử lý sẽ giúp nâng cao hiệu suất phân loại vàgiảm độ phức tạp của thuật toán huấn luyện
Tuỳ vào mục đích bộ phân loại mà chúng ta sẽ có những phương pháptiền xử lý văn bản khác nhau:
+ Phân tích từ vựng:
Bước phân tích từ vựng nhằm xác định các từ có trong văn bản Kếtquả của công việc này là cho ra một tập các từ riêng biệt Tuy nhiên trong
Trang 35nhiều trường hợp cần có cách đối xử riêng biệt đối với một số từ đặc biệt,chẳng hạn như số, dấu ngoặc, dấu chấm câu và trường hợp chữ hoa, chữthường Về cách ứng xử đặc biệt, các số thường bị loại ra trong khi phân tích
vì một mình nó không mang lại một ý nghĩa nào cho tài liệu (ngoại trừ mộtvài trường hợp đặc biệt, ví dụ trong thu thập thông tin về lĩnh vực lịch sử).Dấu chấm câu, ví dụ như “.”, “!”, “?”, “-“, … cũng thường được loại ra màkhông có ảnh hưởng gì đến nội dung của tài liệu Tuy nhiên cần phải chú ýtrong một vài trường hợp, chẳng hạn đối với những từ ghép nối là không đượcphép bỏ dấu “-“, vì sẽ làm thay đổi nghĩa của từ
+ Loại bỏ từ dừng
Từ dừng (stop words) dùng để chỉ các từ mà xuất hiện quá nhiều trongvăn bản của toàn tập kết quả, thường thì không giúp ích gì trong việc phânbiệt nội dung của tài liệu Ví dụ, những từ “web”, “site”, “link”, “www”, thường xuất hiện hầu hết trong các văn bản
+ Loại bỏ tiền tố, hậu tố: Việc tiến hành loại bỏ của từ để biến đổi nóthành từ gốc (với tiếng Việt thì trường hợp này gần như không có)
2.1.1 Tách câu
Vấn đề tách một văn bản ra thành các đơn vị câu độc lập dường nhưđược ít các nhà nghiên cứu quan tâm nhất, mặc dù nó cũng là phần việc quantrọng trong phân tích văn bản Để tách một văn bản ra thành các đơn vị câuđộc lập đối với tiếng Việt không đơn thuần là chỉ dựa vào các dấu hiệu kếtcâu (dấu chấm ‘.’, dấu chấm than ‘!’ và dấu chấm hỏi ‘?’) Vẫn có những câutiếng Việt mà các dấu hiệu kết câu đó vẫn chưa phải là kết câu Ví dụ như
“Giá xăng mới tăng lên thành 24.680 đồng/lít”, hay “Tp.Hà Nội”, “GS.TSKHPhạm Thế Long”,…
Sau khi nhận đoạn văn bản đã được lọc các ký tự dư thừa, các ký tự phụ,
bộ phận tách câu bắt đầu phân tích dựa trên cách chấm câu và ngữ nghĩa một
Trang 36số từ để tách ra các câu riêng biệt.
Xử lý dấu chấm:
Dấu chấm “.” là dấu có nhiều trường hợp mơ hồ nhất Sau đây sẽ một
số ví dụ dấu chấm xuất hiện
Ví dụ 2.1:
1 Dấu chấm kết thúc câu
2 Dấu chấm thập phân trong chữ số (1,345.567)
3 Dấu chấm biểu thị sự viết tắt (Mr., Dr.,…)
4 Dấu chấm trong các trường hợp email (dangltvp.huv@gamil.com)
Để có thể phân biệt được các trường hợp trên ta có thể dựa vào một sốđặc trưng riêng trong cách trình bày của từng trường hợp
1 Nếu dấu chấm không thuộc các trường hợp (2,3,4) thì dấu hiệu đểnhận biết kết thúc sẽ là: “ Luôn luôn có ít nhất một khoàn trắng sau dấu chấm
và ký tự tiếp theo sẽ là chữ cái sẽ được viết hoa”
2 Ta có thể nhận biết dấu chấm thập phân bằng cách đọc toàn bộ phầnliền trước và phần liền sau dấu chấm để phát hiện số có dấu chấm thập phân
3 Để nhận biết dấu chấm trong các trường hợp các từ viết tắt, ta xâydựng một danh sách các từ viết tắt để tra cứu khi cần
4 Trường hợp này là trường hợp đa dạng nhất, nhưng vẫn có tính chấtchung là dấu chấm không bao giờ nằm cuối từ, luôn ở giữa hai ký tự nào đó(nghĩa là không có khoảng trắng liền sau) nên có thể dễ dàng phân biệt được
Những quy luật trên đây là những quy luật chung nhất trong cách trìnhbày văn bản tiếng Anh Đối với văn bản tiếng Việt, các trường hợp cũng nhưvậy Do dựa chủ yếu vào cách trình bày văn bản nên có điểm yếu là dễ nhầmlẫn khi văn bản đưa vào có cách trình bày khác chuẩn và do không hiểu nghĩacâu nên không thể phân biệt một số trường hợp mơ hồ như trong ví dụ sau:
Trang 37Ví dụ 2.2:
1 It was due Friday 5p.m Saturday would be too late.
2 She has an appointment at 5 p.m Saturday to get her car fixed.
Để xác định được dấu chấm (in đậm) trong 2 trường hợp trên có phải làdấu chấm hết câu không cũng là việc không đơn giản đối với máy Thậm chíđối với con người mà trình độ tiếng Anh chưa vững Trong cả hai trường hợp,
từ ngay trước hoặc ngay sau dấu chấm câu cho ta những thông tin quan trọng
về vai trò của dấu trong câu Tuy nhiên bộ phận tách câu sẽ phải cần nhiềuthông tin về ngữ cảnh và cú pháp hơn trong trường hợp sự chấm câu xuất hiện
ở một câu con như trong trường hợp ví dụ 2.2
Xử lý dấu chấm trong ngoặc
Khi bộ tách câu gặp dấu mở ngoặc đơn hoặc ngoặc kép thì nó sẽ quéttrong đoạn văn bản đang xét để tìm dấu đóng tương ứng Nếu tìm thấy, toàn
bộ phần trong ngoặc sẽ được giữ nguyên và tìm câu kết thúc câu tiếp theongoài dấu ngoặc Nếu không tìm thấy dấu ngoặc đóng tương ứng, dấu mở sẽ
bị bỏ qua và xử lý tiếp ký tự sau dấu mở như bình thường
2.1.2 Tách từ
Trong những năm gần đây có nhiều công trình nghiên cứu để giải quyếtbài toán tách từ tiếng Việt Các nghiên cứu này thường tập trung vào 2 hướngtiếp cận lớn để giải quyết bài toán này là tách từ dựa trên đơn vị từ và tách từdựa trên âm tiết
Hướng tiếp cận dựa trên đơn vị từ:
Hướng tiếp cận dựa trên từ với mục tiêu tách được các từ hoàn chỉnhtrong câu Hướng tiếp cận này có thể chia ra theo ba hướng: dựa trên thống kê(statistics-based), dựa trên từ điển (dictionary-based) và hydrid (kết hợp nhiềuphương pháp với hy vọng đạt được những ưu điểm của các phương phápnày)
Trang 38- Hướng tiếp cận dựa trên thống kê: Dựa trên các thông tin như tần số
xuất hiện của từ trong tập huấn luyện ban đầu Hướng tiếp cận nàyđặc biệt dựa trên tập ngữ liệu huấn luyện, nhờ vậy nên hướng tiếpcận này tỏ ra linh hoạt và hữu dụng trong nhiều lĩnh vực khác nhau
- Hướng tiếp cận dựa trên từ điển: Ý tưởng của hướng tiếp cận này là
những cụm từ được tách ra từ văn bản phải được so khớp với các từtrong từ điển Do đó trong hướng tiếp cận này đòi hỏi từ điển riêngcho từng lĩnh vực quan tâm Hướng tiếp cận “full word /phrase” cần
sử dụng một từ điển hoàn chỉnh để có thể tách được đầy đủ các từhoặc ngữ trong văn bản, trong khi đó hướng tiếp cận thành phần
“component” lại sử dụng từ điển thành phần Từ điển thành phần chỉchứa các thành phần của từ và ngữ như hình vị và các từ đơn giản.Hướng tiếp cận theo từ điển vẫn còn một số hạn chế trong việc tách
từ vì thực hiện hoàn toàn dựa vào từ điển Nếu như thực hiện thaotác tách từ bằng cách sử dụng từ điển hoàn chỉnh thì trong thực tếviệc xây dựng một bộ từ điển hoàn chỉnh là khó thực hiện vì đòi hỏinhiều thời gian và công sức Nếu tiếp cận theo hướng sử dụng từđiển thành phần thì sẽ giảm nhẹ hạn chế, khó khăn khi xây dựng từđiển, vì khi đó chúng ta sẽ sử dụng các hình vị từ và các từ đơn giản
và các từ khác để hình thành nên từ, cụm từ hoàn chỉnh
- Hướng tiếp cận theo Hybrid: Với mục đích kết hợp các hướng tiếp
cận khác nhau để thừa hưởng được các ưu điểm của nhiều kỹ thuật
và các hướng tiếp cận khác nhau nhằm nâng cao kết qủa Hướngtiếp cận này thường kết hợp giữa hướng dựa trên thống kê và dựatrên từ điển nhằm tận dụng các mặt mạnh của các phương pháp này.Tuy nhiên hướng tiếp cận Hybrid lại mất nhiều thời gian xử lý,không gian đĩa và đòi hỏi nhiều chi phí
Trang 39 Hướng tiếp cận dựa trên đơn vị âm tiết
Trong tiếng Việt, hình vị nhỏ nhất là âm tiết (tiếng) được hình thànhbởi nhiều ký tự trong bảng chữ cái Hướng tiếp cận này đơn thuần rút trích ramột số lượng nhất định các tiếng trong văn bản như rút trích từ một ký tự(unigram) hay nhiều ký tự (ngram) và cũng mang lại một số kết qủa nhấtđịnh Qua nhiều công trình nghiên cứu của các tác giả đã được công bố,hướng tiếp cận tách từ dựa trên nhiều ký tự, cụ thể là cách tách từ hai ký tựđược cho là sự lựa chọn thích hợp
2.2 Một số phương pháp tách từ tiếng Việt
Kho văn bản mà trong đó mỗi câu được chú giải cấu trúc cú pháp lànguồn tài nguyên rất hữu ích trong lĩnh vực xử lý ngôn ngữ tự nhiên Kho vănbản này được gọi là treebank Treebank có nhiều ứng dụng quan trọng nhưđánh giá, kiểm định các công cụ xử lý ngôn ngữ tự động, các phần mềm dịchmáy, tóm tắt văn bản, các hệ thống hỏi đáp… Với mục đích của luận văn nên
em xin trình bày một số phương pháp tách từ cho tiếng Việt mà nhiều tác giả
và các chương trình liên quan đến xử lý ngôn ngữ tiếng Việt đã dùng hiệnnay
2.2.1 Phương pháp khớp nối tối đa Muximun Matching:
forward/backward
Phương pháp khớp tối đa (Muximun Matching) còn gọi là phương phápleft Right Muximun Matching (LRMM) Theo phương pháp này, ta sẽ duyệtmột ngữ câu hoặc câu từ trái sang phải và chọn từ có nhiều âm tiết nhất cómặt trong từ điển, rồi cứ vậy tiếp tục cho từ kế tiếp cho đến hết câu Thuậttoán này được trình bày bởi Chih-Hao Tsai năm 2004 [13]