Trong đó, các nghiên cứu phổ biến là xử lý ngôn ngữ tiếng Anh với các bài toán điển hình như tóm tắt văn bản, trích chọn từ khóa, dịch tự động,… và đặc biệt là bài toán đánh giá độ tương
Trang 1TRƯỜNG ĐẠI HỌC QUẢNG BÌNH KHOA KỸ THUẬT - CÔNG NGHỆ THÔNG TIN
- -
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
NGHIÊN CỨU CÁC PHƯƠNG PHÁP ĐÁNH GIÁ ĐỘ
TƯƠNG ĐỒNG CỦA VĂN BẢN
Họ tên sinh viên: Trương Thanh Đồng
Mã số sinh viên: DQB04140022
Chuyên ngành: Công nghệ thông tin
Giảng viên hướng dẫn: TS Trần Văn Cường
QUẢNG BÌNH, 2018
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu độc lập của riêng cá nhân, các công thức, thuật toán, số liệu và kết quả nghiên cứu sử dụng trong
đề tài nghiên cứu khóa luận là chân thực Nghiên cứu này chưa từng được công bố trong bất kì một công trình nào khác Những tài liệu thu thập của các tác giả khác sử dụng trong khóa luận đều có trích dẫn ở tài liệu tham khảo và chú thích có nguồn gốc
Sinh viên
Trương Thanh Đồng
Trang 3NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Xác nhận của giảng viên hướng dẫn
TS Trần Văn Cường
Trang 4LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn và biết ơn sâu sắc nhất tới TS Trần Văn Cường - Người đã chỉ bảo và hướng dẫn tận tình cho tôi trong suốt quá trình nghiên cứu thực hiện khoá luận này
Tôi chân thành cảm ơn các thầy, cô đã tạo cho tôi những điều kiện thuận lợi để học tập và nghiên cứu tại trường Đại học Quảng Bình
Tôi cũng xin gửi lời cảm ơn tới các bạn sinh viên trong lớp đã động viên tôi trong quá trình học tập, nghiên cứu và làm khoá luận Đặc biệt, tôi xin cảm ơn các thầy cô trong khoa Kỹ thuật - Công nghệ thông tin, cũng như các thầy cô trong trường đã giảng dạy, dìu dắt tôi trong suốt 4 năm học
Cuối cùng, tôi muốn gửi lời cảm ơn và biết ơn vô hạn tới gia đình, bạn bè và tất cả những người thân yêu của tôi
Xin chân thành cảm ơn !
Trang 5MỤC LỤC
TỔNG QUAN ĐỀ TÀI 1
1 Lý do chọn đề tài 1
2 Mục đích đề tài 2
3 Đối tượng 2
4 Phương pháp nghiên cứu 2
5 Nội dung nghiên cứu 2
NỘI DUNG 3
CHƯƠNG I: TỔNG QUAN VỀ XỬ LÝ NGÔN NGỮ TỰ NHIÊN VÀ ỨNG DỤNG 3
1.1 Xử lý ngôn ngữ tự nhiên 3
1.2 Một số ứng dụng của xử lý ngôn ngữ tự nhiên (NLP) 4
1.3 Vấn đề về độ tương tự trong văn bản 9
1.4 Vấn đề về sự sao chép, đạo văn trong văn bản 9
CHƯƠNG II: BÀI TOÁN SO SÁNH VĂN BẢN TIẾNG VIỆT 11
2.1 Phát biểu về bài toán so sánh văn bản 11
2.2 Một số kết quả đã đạt được trong Xử lý văn bản tiếng Việt 11
2.3 Đặc điểm ngôn ngữ tiếng Việt 12
2.3.1 Cấu tạo từ tiếng Việt 12
2.3.2 Biến hình từ tiếng Việt 13
2.3.3 Từ đồng âm khác nghĩa 13
2.3.4 Từ đồng nghĩa 14
2.3.5 Đặc điểm chính tả 14
2.3.6 Bảng mã tiếng Việt trên máy tính 15
2.4 Bài toán so sánh văn bản 16
2.4.1 Tiền xử lý văn bản 16
2.4.2 Biểu diễn văn bản 21
2.4.3 Phương pháp tính độ tương đồng giữa các văn bản 21
CHƯƠNG III: MÔ HÌNH BIỂU DIỄN VĂN BẢN 22
3.1 Mô hình biểu diễn văn bản truyền thống 22
3.1.1 Mô hình túi từ ngữ (Bag-of-Word) 22
3.1.2 Mô hình logic 23
Trang 63.1.3 Mô hình phân tích cú pháp 24
3.1.4 Mô hình vector 25
3.2 Mô hình đồ thị biểu diễn văn bản 28
3.2.1 Mô hình đồ thị khái niệm (Conceptual Graphs - CGs) 29
3.2.2 Mô hình đồ thị hình sao 30
3.2.3 Mô hình đồ thị vô hướng sử dụng tần số xuất hiện 31
3.2.4 Mô hình đồ thị có hướng, cạnh không gán nhãn 31
3.2.5 Mô hình đồ thị có hướng, cạnh không gán nhãn, cạnh là khoảng cách n giữa hai từ trong văn bản 32
3.3 Mô hình word2vec văn bản 33
3.4 Mô hình doc2vec văn bản 34
CHƯƠNG IV: 36
PHƯƠNG PHÁP TÍNH ĐỘ TƯƠNG ĐỒNG VĂN BẢN 36
4.1 Khái niệm độ tương đồng 36
4.2 Độ tương đồng văn bản dựa trên tập từ chung 36
4.2.1 Khoảng cách Jaro 36
4.2.2 Mô hình tương phản (Contrast model) 37
4.2.3 Hệ số Jaccard 37
4.3 Độ tương đồng văn bản dựa trên vector biểu diễn 37
4.3.1 Độ tương đồng Cosine 37
4.3.2 Độ tương đồng dựa vào khoảng cách Euclide 38
4.3.3 Độ tương đồng dựa vào khoảng cách Manhattan 38
4.4 Độ tương đồng văn bản trong tiếng Việt 38
4.4.1 Độ tương tự ngữ nghĩa từ - từ 39
4.4.2 Độ tương tự ngữ nghĩa của văn bản 41
4.4.3 Độ tương tự về thứ tự của từ trong câu 42
4.4.3.1 Tính độ tương đồng theo hệ số cosin 42
4.4.3.2 Độ tương tự về thứ tự của từ trong câu 42
4.4.3.3 Tính độ tương đồng cho toàn bộ câu 43
4.4.4 Tính toán độ tương đồng cho toàn văn bản 44
4.4.4.1 Một số phương pháp tìm độ tương đồng giữa hai văn bản 44
Trang 74.4.4.2 Phương pháp tính độ tương đồng bằng công thức trung bình 45
CHƯƠNG V: XÂY DỰNG MÔ HÌNH SÁNH VĂN BẢN 46
5.1 Mô hình hệ thống 46
5.2 Các công đoạn xử lý trong hệ thống 47
5.2.1 Tiền xử lý 47
5.2.2 Tách từ, câu trong văn bản 47
5.2.3 Loại bỏ từ dừng 47
5.2.4 Vector hóa văn bản 47
5.2.5 Tính độ tương tự văn bản 49
5.3 Thực hiện hóa bằng chương trình 50
5.3.1 Lựa chọn công cụ tiền xử lý 50
5.3.2 Chương trình ứng dụng 50
CHƯƠNG VI: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 51
TÀI LIỆU THAM KHẢO 53
Trang 8DANH MỤC HÌNH ẢNH
Hình 2.1: Các hướng tiếp cận cơ bản trong việc tách từ 17
Hình 3.1: Mô hình Bag-of-Word 23
Hình 3.2: Mô hình vector biểu diễn văn 25
Hình 3.3: Ví dụ mô hình đồ thị khái niệm 30
Hình 3.4: Ví dụ mô hình đồ thị hình sao 30
Hình 3.5: Ví dụ mô hình đồ thị vô hướng sử dụng tần số xuất hiện 31
Hình 3.6: Ví dụ mô hình đồ thị đơn giản 32
Hình 3.7: Ví dụ mô hình đồ thị khoảng cách n đơn giản 32
Hình 3.8: Mô hình Cbow và Skip-gram 33
Hình 3.9: Mô hình túi từ phân tán của vectơ đoạn 34
Hình 3.10: Mô hình bộ nhớ phân tán 35
Hình 3.11: Mô hình bộ nhớ phân tán cho việc học vector đoạn 35
Hình 5.1: Mô hình hệ thống so sánh văn bản 46
Trang 9DANH MỤC BẢNG
Bảng 3.1: Biểu diễn văn bản trong mô hình Logic 24Bảng 3.2: Vector biểu diễn văn bản 26
Trang 10TỔNG QUAN ĐỀ TÀI
1 Lý do chọn đề tài
Ngày nay, cùng với sự phát triển mạnh mẽ của khoa học công nghệ đặc biệt là máy tính và mạng Internet thì thông tin dưới dạng dữ liệu văn bản đã trở nên phong phú về nội dung và tăng nhanh về số lượng Chỉ bằng một vài thao tác tìm kiếm thông tin đơn giản, ta có thể nhận về một khối lượng khổng lồ các trang web và các tài liệu điện tử liên quan đến nội dung tìm kiếm Chính sự dễ dàng này cũng mang đến cho chúng ta rất nhiều khó khăn trong việc tìm ra các thông tin mới hữu ích trong số các tài liệu ấy
Xử lý ngôn ngữ tự nhiên (Natural Language Processing) là một lĩnh vực nghiên cứu thường có sự kết hợp giữa công nghệ thông tin và ngôn ngữ học Trong
đó, vai trò của công nghệ thông tin ngày càng chứng tỏ sức mạnh và tầm quan trọng trong các nghiên cứu cũng như kết quả ứng dụng Cho đến nay đã có nhiều kết quả nghiên cứu và triển khai ứng dụng đem lại hiệu quả lớn cho xã hội Trong đó, các nghiên cứu phổ biến là xử lý ngôn ngữ tiếng Anh với các bài toán điển hình như tóm tắt văn bản, trích chọn từ khóa, dịch tự động,… và đặc biệt là bài toán đánh giá
độ tương đồng văn bản được nhiều tác giả quan tâm nghiên cứu với hy vọng đem lại những lợi ích to lớn trong ứng dụng thực tiễn [2] Tuy nhiên, đối với các văn bản tiếng Việt việc nghiên cứu về khai thác thông tin chưa có nhiều, hầu hết là sử dụng các phương pháp đã đề xuất cho tiếng Anh để áp dụng sang tiếng Việt Do đặc điểm của ngôn ngữ tiếng Việt có nhiều điểm khác so với ngôn ngữ tiếng Anh nên việc áp dụng các phương pháp ấy còn nhiều hạn chế [1] Đã có nhiều công trình nghiên cứu
và cải tiến các nghiên cứu cho văn bản tiếng Anh để áp dụng cho tiếng Việt và đã đạt được những thành công bước đầu
Hiện nay, tình trạng sao chép văn bản, vi phạm bản quyền tác giả và đạo văn
diễn ra thường xuyên gây khó khăn trong việc kiểm soát, xác minh thông tin Với thực tế đó, đề tài “Nghiên cứu các phương pháp đánh giá độ tương đồng văn bản” được nghiên cứu để tìm ra phương pháp đánh giá mức độ tương đồng của văn bản
và đề xuất mô hình trong việc áp dụng học máy vào so sánh văn bản Nghiên cứu
này là cơ sở cho việc xây dựng ứng dụng trong việc hỗ trợ đánh giá độ tương đồng của các văn bản, một ứng dụng nhằm hạn chế và tránh được những sao lặp, đạo văn
Trang 11góp phần nâng cao chất lượng cũng như quản lý thông tin dữ liệu văn bản một cách hiệu quả
- Mô hình được đề xuất để đánh giá độ tương đồng hai văn bản
4 Phương pháp nghiên cứu
+ Phương pháp phân tích và tổng hợp lý thuyết
Thu thập, khảo sát và hệ thống hóa các kết quả nghiên cứu đã có về vấn đề đo
độ tương đồng văn bản
Nghiên cứu lý thuyết về mô hình độ đo tương đồng văn bản làm tiền đề để thiết kế và đề xuất xây dựng mô hình mới hiệu quả trong việc đo độ tương đồng văn bản
5 Nội dung nghiên cứu
- Tìm hiểu tổng quan về các vấn đề về xử lý ngôn ngữ tự nhiên và ứng dụng
- Nghiên cứu tìm hiểu bài toán so sánh văn bản
- Nghiên cứu mô hình biểu diễn văn bản
- Nghiên cứu tìm hiểu các phương pháp đánh giá độ tương đồng văn bản
- Xây dựng mô hình so sánh văn bản
Trang 12NỘI DUNG CHƯƠNG I: TỔNG QUAN VỀ XỬ LÝ NGÔN NGỮ TỰ
NHIÊN VÀ ỨNG DỤNG
1.1 Xử lý ngôn ngữ tự nhiên
Xử lý ngôn ngữ tự nhiên (Natural Language Processing - NLP) là khái niệm để chỉ các kĩ thuật, phương pháp thao tác trên ngôn ngữ tự nhiên bằng máy tính [22] Theo [Wiki] thì Xử lý ngôn ngữ tự nhiên là một nhánh của Trí tuệ nhân tạo, tập trung vào các ứng dụng trên ngôn ngữ của con người và là một trong những phần khó nhất vì nó liên quan đến việc phải hiểu ý nghĩa ngôn ngữ - công cụ hoàn hảo nhất của tư duy và giao tiếp Mục tiêu của lĩnh vực này là để máy tính thực hiện các nhiệm vụ hữu ích liên quan đến ngôn ngữ của con người như cho phép giao tiếp người - máy, cải thiện giao tiếp giữa con người hoặc đơn giản là xử lý văn bản hoặc lời nói hữu ích
Cần phân biệt ngôn ngữ tự nhiên (ví dụ như tiếng Việt, tiếng Anh, tiếng Nhật… là những ngôn ngữ trong giao tiếp thường ngày) và ngôn ngữ nhân tạo (như ngôn ngữ lập trình, ngôn ngữ máy, …) [22]
Xử lý ngôn ngữ tự nhiên bao gồm hiểu ngôn ngữ tự nhiên (Natural Language Understanding – NLU) và sinh ngôn ngữ tự nhiên (Natural Language Generation – NLG) Trong đó, hiểu ngôn ngữ tự nhiên (NLU) bao gồm 4 bước chính:
1 Phân tích hình vị: là sự nhận biết, phân tích, và miêu tả cấu trúc của những
hình vị trong một ngôn ngữ cho trước và các đơn vị ngôn ngữ khác, như từ gốc, biên từ, phụ tố, từ loại,… Có hai loại bài toán điển hình trong phần này, bao gồm bài toán tách từ (word segmentation) và gán nhãn từ loại (POS)
2 Phân tích cú pháp: là quy trình phân tích một chuỗi các biểu tượng, ở dạng
ngôn ngữ tự nhiên hoặc ngôn ngữ máy tính, tuân theo văn phạm hình thức Văn phạm hình thức thường dùng trong phân tích cú pháp của ngôn ngữ tự nhiên bao gồm Văn phạm phi ngữ cảnh (Context-free grammar – CFG), Văn phạm danh mục kết nối (Combinatory categorial grammar – CCG), và Văn phạm phụ thuộc (Dependency grammar – DG) Đầu vào của quá trình phân tích là một câu gồm một chuỗi từ và nhãn từ loại của chúng, và đầu ra là một cây phân tích thể hiện cấu trúc
Trang 13cú pháp của câu đó Các thuật toán phân tích cú pháp phổ biến bao gồm CKY, Earley, Chart, và GLR
3 Phân tích ngữ nghĩa: là quá trình liên hệ cấu trúc ngữ nghĩa, từ cấp độ cụm
từ, mệnh đề, câu và đoạn đến cấp độ toàn bài viết, với ý nghĩa độc lập của chúng Nói cách khác, việc này nhằm tìm ra ngữ nghĩa của đầu vào ngôn từ Phân tích ngữ nghĩa bao gồm hai mức độ: Ngữ nghĩa từ vựng biểu hiện các ý nghĩa của những từ thành phần, và phân biệt nghĩa của từ; Ngữ nghĩa thành phần liên quan đến cách thức các từ liên kết để hình thành những nghĩa rộng hơn
4 Phân tích diễn ngôn: Ngữ dụng học là môn nghiên cứu về mối quan hệ giữa ngôn ngữ và ngữ cảnh sử dụng (context-of-use) Ngữ cảnh sử dụng bao gồm danh tính của người hoặc vật, và vì thế ngữ dụng học bao gồm những nghiên cứu về cách ngôn ngữ được dùng để đề cập (hoặc tái đề cập) tới người hoặc vật Ngữ cảnh sử dụng bao gồm ngữ cảnh diễn ngôn, vì vậy ngữ dụng học cũng bao gồm những nghiên cứu về cách thức cấu tạo nên diễn ngôn, và cách người nghe hiểu người đang đối thoại với mình
Trường con thứ hai của NLP là phát triển ngôn ngữ tự nhiên (NLG) Đây là nhiệm vụ xử lý ngôn ngữ tự nhiên của việc tạo ra ngôn ngữ tự nhiên từ một hệ thống biểu diễn máy như một cơ sở tri thức hoặc một dạng logic NLG đóng một vai trò quan trọng trong nhiều ứng dụng NLP, bao gồm tạo cuộc đối thoại, tương tác giữa con người và máy tính, dịch máy và tóm tắt văn bản tự động [9]
Trong xử lý ngôn ngữ tự nhiên có 2 quan điểm cơ bản :
1 Xử lý các từ ngữ bằng máy tính
2 Làm cho máy tính hiểu được các từ ngữ
Hiện tại, cả 2 hướng này đều đang được tích cực nghiên cứu và phát triển, nhờ
đó rất nhiều các hệ thống hiệu quả đã và đang được tạo ra [22]
1.2 Một số ứng dụng của xử lý ngôn ngữ tự nhiên (NLP)
Một số ứng dụng tiêu biểu của xử lý ngôn ngữ tự nhiên (theo [Wiki]):
1 Nhận dạng tiếng nói (speech recognition): từ sóng tiếng nói, nhận biết và chuyển chúng thành dữ liệu văn bản tương ứng Giúp thao tác của con người trên các thiết bị nhanh hơn và đơn giản hơn, chẳng hạn thay vì gõ một tài liệu nào đó bạn đọc nó lên và trình soạn thảo sẽ tự ghi nó ra [Jelinek, 1998], [Jurafsky and
Trang 14Martin,2000]
Đây cũng là bước đầu tiên cần phải thực hiện trong ước mơ thực hiện giao tiếp giữa con người với robot Nhận dạng tiếng nói có khả năng trợ giúp người khiếm thị rất nhiều
2 Tổng hợp tiếng nói (speech synthesis): từ dữ liệu văn bản, phân tích và chuyển thành tiếng người nói Thay vì phải tự đọc một cuốn sách hay nội dung một trang web, nó tự động đọc cho chúng ta [Jelinek, 1998], [Jurafsky and Martin, 2000] Giống như nhận dạng tiếng nói, tổng hợp tiếng nói là sự trợ giúp tốt cho người khiếm thị, nhưng ngược lại nó là bước cuối cùng trong giao tiếp giữa robot với người
3 Nhận dạng chữ viết (optical character recognition, OCR): từ một văn bản in trên giấy, nhận biết từng chữ cái và chuyển chúng thành một tệp văn bản trên máy tính Có hai kiểu nhận dạng, thứ nhất là nhận dạng chữ in, ví dụ nhận dạng chữ trên sách giáo khoa rồi chuyển nó thành dạng văn bản điện tử như dưới định dạng doc của Microsoft Word chẳng hạn Phức tạp hơn là nhận dạng chữ viết tay, có khó khăn bởi vì chữ viết tay không có khuôn dạng rõ ràng và thay đổi từ người này sang người khác Với chương trình nhận dạng chữ viết in có thể chuyển hàng ngàn đầu sách trong thư viện thành văn bản điện tử trong thời gian ngắn Nhận dạng chữ viết của con người có ứng dụng trong khoa học hình sự và bảo mật thông tin (nhận dạng chữ ký điện tử)
4 Dịch tự động (machine translation): đây là chương trình dịch tự động từ ngôn ngữ này sang ngôn ngữ khác Từ một tệp dữ liệu văn bản trong một ngôn ngữ (chẳng hạn tiếng Anh), máy tính dịch và chuyển thành một tệp văn bản trong một ngôn ngữ khác (chẳng hạn tiếng Việt) [Dorr et al., 2000], [Nagao, 1989] Một phần mềm điển hình về tiếng Việt của chương trình này là Evtrans của Softex, dịch tự động từ tiếng Anh sang tiếng Việt và ngược lại, phần mềm từng được trang web vdict.com mua bản quyền, đây cũng là trang đầu tiên đưa ứng dụng này lên mạng Tháng 10 năm 2008 có hai công ty tham gia vào lĩnh vực này cho ngôn ngữ tiếng Việt là công ty Lạc Việt (công ty phát hành từ điển Lạc Việt) và Google, một thời gian sau đó Xalo_vn cũng đưa ra dịch vụ tương tự
Trang 155 Tóm tắt văn bản (text summarization): từ một văn bản dài tóm tắt thành một văn bản ngắn hơn theo mong muốn nhưng vẫn chứa những nội dung thiết yếu nhất
Có hai phương pháp chính trong tóm tắt là phương pháp trích xuất (extractive) và phương pháp tóm lược ý (abstractive) Những bản tóm tắt trích xuất được hình thành bằng cách ghép một số câu được lấy y nguyên từ văn bản cần thu gọn Những bản tóm lược ý thường truyền đạt những thông tin chính của đầu vào và có thể sử dụng lại những cụm từ hay mệnh đề trong đó, nhưng nhìn chung được thể hiện ở ngôn ngữ của người tóm tắt [Mani and Maybury, 1999]
6 Tìm kiếm thông tin (information retrieval): từ một nguồn rất nhiều tệp văn bản hay tiếng nói, tìm ra những tệp có nội dung liên quan đến một vấn đề (câu hỏi) ta cần biết (hay trả lời) [Baeza-Yates and Ribeiro-Neto, 1999]
Thông tin ngày càng đầy lên theo cấp số nhân, đặc biệt với sự trợ giúp của internet việc tiếp cận thông tin trở lên dễ dàng hơn bao giờ hết Việc khó khăn lúc này là tìm đúng nhất thông tin mình cần giữa bề bộn tri thức và đặc biệt thông tin đó phải đáng tin cậy Điển hình của công nghệ này là Google, một hệ tìm kiếm thông tin trên Web, mà hầu như chúng ta đều dùng thường xuyên Các máy tìm kiếm dựa trên giao diện web như Google hay Yahoo hiện nay chỉ phân tích nội dung rất đơn giản dựa trên tần suất của từ khoá và thứ hạng của trang và một số tiêu chí đánh giá khác để đưa ra kết luận, kết quả là rất nhiều tìm kiếm không nhận được câu trả lời phù hợp, thậm chí bị dẫn tới một liên kết không liên quan gì do thủ thuật đánh lừa của các trang web nhằm giới thiệu sản phẩm (có tên tiếng Anh là SEO viết
tắt của từ search engine optimization) Thực tế cho đến bây giờ chưa có máy tìm
kiếm nào hiểu được ngôn ngữ tự nhiên của con người trừ trang www.ask.com được đánh giá là "hiểu" được những câu hỏi có cấu trúc ở dạng đơn giản nhất Mới đây cộng đồng mạng đang xôn xao về trang Wolfram Alpha, được hứa hẹn là có khả năng hiểu ngôn ngữ tự nhiên của con người và đưa ra câu trả lời chính xác Lĩnh vực này hứa hẹn tạo ra bước nhảy trong cách thức tiếp nhận tri thức của cả cộng đồng
7 Trích chọn thông tin (information extraction): từ một nguồn rất nhiều tệp
văn bản hay tiếng nói, tìm ra những đoạn bên trong một số tệp liên quan đến một
vấn đề (câu hỏi) ta cần biết hay trả lời Khác với truy xuất thông tin trả về một danh
Trang 16sách các văn bản hợp lệ thì trích chọn thông tin trả về chính xác thông tin mà người dùng cần Những thông tin này có thể là về con người, địa điểm, tổ chức, ngày tháng, hoặc thậm chí tên công ty, mẫu sản phẩm hay giá cả Một hệ trích chọn thông tin có thể “lần” vào từng trang Web liên quan, phân tích bên trong và trích ra các thông tin cần thiết, nói gọn trong tiếng Anh để phân biệt với tìm kiếm thông tin là
“find things but not pages” [Cohen and McCallum, 2003]
8 Phát hiện tri thức và khai phá dữ liệu văn bản (knowledge discovery and text data mining): từ những nguồn rất nhiều văn bản thậm chí hầu như không có quan hệ với nhau, tìm ra được những tri thức trước đấy chưa ai biết Thực tế để làm được điều này rất khó, nó gần như là mô phỏng quá trình học tập, khám phá khoa học của con người Đây là một vấn đề rất phức tạp và đang ở giai đoạn đầu của các nghiên cứu trên thế giới [Berry, 2004], [Sirmakessis, 2004] Ở mức độ đơn giản khi kết hợp với máy tìm kiếm nó cho phép đặt câu hỏi để từ đó công cụ tự tìm ra câu trả lời dựa trên các thông tin trên web mặc cho việc trước đó có câu trả lời lưu trên web hay không (giống như trang Yahoo! hỏi và đáp, nơi chuyên đặt các câu hỏi để người khác trả lời), nói một cách nôm na là nó đã biết xử lý dữ liệu để trả lời câu hỏi của người sử dụng, thay vì máy móc đáp trả những gì chỉ có sẵn trong bộ nhớ
Còn nhiều bài toán và công nghệ xử lý ngôn ngữ khác, như giao diện người máy bằng ngôn ngữ tự nhiên, các hệ sinh ra ngôn ngữ, …
9 Trả lời câu hỏi (Question Answering-QA) có khả năng tự động trả lời câu hỏi của con người ở dạng ngôn ngữ tự nhiên bằng cách truy xuất thông tin từ một tập hợp tài liệu Một hệ thống QA đặc trưng thường bao gồm ba mô đun: mô đun xử
lý truy vấn (Query Processing Module) – tiến hành phân loại câu hỏi và mở rộng truy vấn; Mô đun xử lý tài liệu (Document Processing Module) – tiến hành truy xuất thông tin để tìm ra tài liệu thích hợp; và Mô hình xử lý câu trả lời (Answer Processing Module) – trích chọn câu trả lời từ tài liệu đã được truy xuất
Các bài toán xử lý trong tiếng Việt:
1 Phân tách từ tiếng Việt: tách từ là bài toán cơ bản đầu tiên trong việc xử lí
và hiểu ngôn ngữ Với nhiều ngôn ngữ thông dụng, việc tách một câu thành các đơn
vị từ là không khó vì trong văn bản các từ thường được viết cách nhau bằng kí tự trắng hoặc bằng các dấu câu Tuy nhiên, nhiều ngôn ngữ không có kí hiệu đánh dấu
Trang 17biên của các từ, điều này làm cho tách từ không phải là việc dễ dàng Chẳng hạn tiếng Việt là một ngôn ngữ đơn lập điển hình, kí tự trắng không được dùng để tách các từ mà chỉ được dùng để tách các âm tiết, trong khi một từ có thể chứa nhiều âm tiết
Văn bản tiếng Việt đặt dấu cách giữa các âm tiết chứ không phải giữa các từ Một từ có thể có một, hai hoặc nhiều âm tiết nên có nhiều cách phân chia các âm tiết thành các từ, gây ra nhập nhằng Việc phân giải nhập nhằng này gọi là bài toán tách từ
Tiêu chí quan trọng nhất trong bài toán tách từ đương nhiên là độ chính xác Hiện tại người ta đã đạt được độ chính xác lên đến 97% tính theo từ Tuy nhiên nếu tính theo câu (số câu được tách hoàn toàn đúng/tổng số câu) thì độ chính xác chỉ khoảng 50% Đây là vấn đề nghiêm trọng đối với các bước xử lý sau như phân tích ngữ pháp, ngữ nghĩa vì một từ bị tách sai có ảnh hưởng toàn bộ đến cách phân tích
cả câu
Ngoài ra tiêu chí độ chính xác tách từ mới cũng quan trọng với các ứng dụng thực tế Tiếng Việt là một sinh ngữ - nó luôn luôn biến đổi Các từ mới thuần Việt cũng như vay mượn được tạo ra hàng ngày Nếu một ứng dụng không xử lý được những từ này thì hiệu năng của nó sẽ giảm dần theo thời gian
2 Phân tách câu tiếng Việt: phân tách câu (Word Segmentation) là một phần khá cơ bản trong các kỹ thuật xử lý của NLP Nhiệm vụ chính là tách một đoạn một chuỗi liên tiếp các ký tự (text) thành những từ (word hay token) riêng lẻ
3 Phương pháp mô hình ngôn ngữ: một mô hình ngôn ngữ cố gắng nắm bắt trực giác của con người về một câu "tự nhiên" hoặc "không tự nhiên" do đó mô hình ngôn ngữ có thể coi là giải pháp tối hậu cho bài toán tách từ
Số cách tách từ cho một câu có thể rất lớn do sự bùng nổ tổ hợp nên cần có một bước xử lý để lọc ra một số lượng vừa đủ các cách tách từ làm đầu vào cho mô hình ngôn ngữ Chẳng hạn vnTokenizer sử dụng phương pháp đồ thị hoá trước khi
áp dụng mô hình ngôn ngữ
4 Tự động thêm dấu: chữ viết tiếng Việt là chữ viết có dấu thanh Trong các văn bản chính thống như sách, báo chí, văn bản hành chính, các dấu thanh được viết chính xác Tuy nhiên trong cách tình huống không chính thống như chat, gõ tìm
Trang 18kiếm, người dùng thông thường không gõ các dấu thanh, dẫn tới khó khăn nhất định cho máy tính trong việc hiểu ý nghĩa của văn bản
1.3 Vấn đề về độ tương tự trong văn bản
Các độ đo độ tương đồng văn bản trong các ứng dụng của xử lý ngôn ngữ tự nhiên và các lĩnh vực liên quan đã được sử dụng rất lâu Một trong những ứng dụng sớm nhất của độ tương đồng văn bản là mô hình vectơ trong tìm kiếm thông tin, ở đó các tài liệu có liên quan nhất tới câu truy vấn đầu vào được xác định bằng cách xếp hạng các tài liệu trong kho ngữ liệu theo thứ tự ngược của độ tương tự (Salton & Lesk, 1971) Độ tương đồng văn bản cũng dược dùng trong phân lớp văn bản (Rochio 1971), trích chọn văn bản (Salton et al 1997) và phương pháp tóm tắt văn bản (Lin &Hovy 2003) Độ đo tương đồng văn bản cũng được sử dụng cho việc đánh giá tính chặt chẽ của văn bản (Lapata & Barzilay 2005) [2]
Trong một số trường hợp, việc đo độ tương đồng giữa hai đoạn văn bản là việc sử dụng so khớp từ đơn giản, và tạo ra một điểm tương tự trên số đơn vị từ vựng xảy ra ở cả hai đoạn văn bản đầu vào Việc loại bỏ các từ dừng, gán nhãn từ loại, so khớp tập con dài nhất, cũng như các trọng số và các nhân tố khác đều có thể
được tích hợp để mang lại hiệu quả cho phương pháp
Vấn đề đánh giá độ tương đồng văn bản được xem xét và nghiên cứu trong nhiều bài toán từ mức độ thấp đến mức độ cao và đưa ra nhiều phương pháp nhằm giải quyết hiệu quả bài toán đó Trong các bài toán như trích chọn thông tin, tóm tắt văn bản,… đều cần đến các phương pháp đánh giá độ tương tự văn bản Việc xác định mức độ giống nhau, khác nhau giữa các văn bản còn có một ứng dụng riêng là chống sao chép, đạo văn để bảo vệ bản quyền tác giả
1.4 Vấn đề về sự sao chép, đạo văn trong văn bản
Đạo văn theo định nghĩa của Merriam-Webster Online Dictionary, là hình thức ăn cắp và hình thành những ý tưởng hay ngôn từ mới khởi nguồn từ ý tưởng của ai đó; sử dụng sản phẩm của một ai đó mà không công bố nguồn; hoặc giới thiệu một ý tưởng hay sản phẩm mới được chuyển hóa từ nguồn đã có từ trước Nguyên nhân chính yếu dẫn đến đạo văn đó là không có kiến thức, hiểu biết về đạo văn theo định nghĩa quốc tế, dẫn đến đạo văn ngoài ý muốn Một ví dụ có thể
kể đến như việc cuối tháng 10 năm 2010, một nhóm tác giả Việt Nam đã bị rút bài
Trang 19trên tạp chí quốc tế uy tín về vật lý vì lí do đạo văn, nhưng chính họ cũng không biết rằng mình đã đạo văn khi biện hộ rằng “chỉ là đã không nêu rõ nguồn tài liệu tham khảo” Hoặc như trong một nghiên cứu của Đại học Duy Tân về việc khảo sát hơn 2.000 tân sinh viên nhập học năm 2014, kết quả cho thấy 84% sinh viên từng chép từ nửa trang A4 trở lên trong sách tham khảo, giáo trình, tài liệu trên Internet
mà không ghi nguồn và 84% sinh viên này đều cảm nhận việc làm ấy là “bình
thường” Các lý do được đưa ra là không biết cách trích dẫn (36%), không nhớ tên
tác giả (12%), không quan tâm (9%) và không thể viết hay hơn (15%) [10]
Các hình thức của đạo văn: Meuschke và Gipp (Meuschke and Gipp, 2013)
phân loại các hình thức đạo văn học như sau:
1 Đạo văn hoàn toàn: được mô tả như là một loại sao chép gần như không thay đổi so với tài liệu nguồn Nó bao gồm các hình thức “sao chép và dán”
(Maurer, Kappe et al., 2006) và “trộn và dán”(Weber-Wulff, 2010) “sao chép và
dán” là hình thức sao phép hoàn toàn nội dung mà không có một sự thay đổi nào
“trộn và dán” là hình thức sao chép có một vài thay đổi rất nhỏ so với tài liệu nguồn
2 Giả tạo đạo văn: được mô tả như là một loại diễn giải, ngụy trang kỹ thuật, hay dịch từ ngôn ngữ này sang ngôn ngữ khác Đạo văn cấu trúc và ý tưởng: đề cập một loại sử dụng cấu trúc của người khác, khái niệm rộng hơn mà không đưa ra trích dẫn nguồn phù hợp
3 Tự đạo văn: đề cập đến một loại tái sử dụng câu hay đoạn văn của của riêng mình mà không ghi nguồn phù hợp
Việc người học đạo văn và chép bài của nhau là phổ biến, làm giảm khả năng
tư duy cũng như chất lượng học tập và nghiên cứu Vấn đề đặt ra là làm thế nào để xác định được phép đo độ giống nhau giữa các văn bản, trên cơ sở đó đưa ra những kết luận về việc sao chép bài điện tử, làm căn cứ để phân loại và đánh giá kết quả bài luận, nghiên cứu của người học Bài toán so sánh độ tương đồng văn bản được đưa ra nhằm giải quyết vấn đề đó
Trang 20CHƯƠNG II: BÀI TOÁN SO SÁNH VĂN BẢN TIẾNG VIỆT
2.1 Phát biểu về bài toán so sánh văn bản
Ngày nay với sự phát triển của công nghệ, máy tính trở thành công cụ hỗ trợ đắc lực trong công việc và học tập thì dữ liệu văn bản dạng điện tử được phát sinh ngày càng nhiều gây khó khăn trong việc quản lý Hiện nay, tình trạng sao chép bài điện tử của nhau, đạo văn xảy ra là phổ biến, làm giảm khả năng tư duy cũng như chất lượng học tập và nghiên cứu Trước tình trạng đó vấn đề đặt ra là làm sao so sánh được văn bản này với một “rừng” các văn khác để xác định nó có giống nhau hay không Và bài toán so sánh độ tương đồng văn bản ra đời nhằm giải quyết vấn
đề trên Trong xử lý ngôn ngữ tự nhiên, nhiều công trình nghiên cứu, xây dựng về ứng dụng, hệ thống đánh giá độ tương tự giữa các văn bản tiếng Anh đã và đang diễn ra sôi nổi và thu được nhiều thành tựu Các ứng dụng, hệ thống hữu ích trong việc phát hiện sự vi phạm bản quyền tác giả như Turnitin, Writecheck, Grammarly,
Plagium…
Đối với xử lý ngôn ngữ tiếng Việt, hiện nay cũng bắt đầu xuất hiện các nghiên cứu về so sánh trên văn bản tiếng Việt song vẫn chiếm tỉ lệ khá khiêm tốn Trong tiếng Anh, kho ngữ liệu hay mạng từ tiếng Anh đã và đang phát triển rất tốt nên hiệu quả của các hệ thống so sánh đã cài đặt là rất cao Do đặc điểm của từ tiếng Việt có nhiều điểm khác với tiếng Anh, việc xử lý văn bản và xây dựng được kho ngữ liệu chuẩn và đầy đủ là cả một vấn đề lớn Các phương pháp đánh giá độ tương tự văn bản
tiếng Việt dựa trên kho ngữ liệu vẫn đang được nghiên cứu và phát triển [1]
2.2 Một số kết quả đã đạt được trong Xử lý văn bản tiếng Việt
Trong sự phát triển của nghành công nghệ thông tin thì việc xử lý ngôn ngữ Tiếng Việt trên máy tính đã đạt được những thành tựu quan trọng :
Trước hết là các bộ gõ chữ Việt và thành công của việc đưa được bộ mã chữ Việt vào bảng mã Unicode, cũng như việc chọn Unicode cho bộ mã chuẩn tiếng Việt
Một thành công nữa là việc Việt hóa các phần mềm hữu ích tiêu biểu như Windows và Microsoft Office của Microsoft
Các phần mềm giúp hỗ trợ việc sử dụng tiếng nước ngoài, tiêu biểu là các từ điển song ngữ trên máy tính, các phần mềm dịch ngôn ngữ trực tiếp trên giao diện
Trang 21web, Ví dụ như các từ điển điện tử của Lạc Việt đã được dùng rộng rãi trên máy tính để tra cứu từ Anh-Việt, Việt-Anh, phần mềm Google dịch giúp phát hiện và chuyển đổi ngôn ngữ sang các ngôn ngữ khác nhau
2.3 Đặc điểm ngôn ngữ tiếng Việt
2.3.1 Cấu tạo từ tiếng Việt
Nguyên tắc tách từ cho tiếng Việt xét các loại đơn vị từ vựng sau đây:
Tiếng tự thân nó không có ý nghĩa nhưng có thể ghép với nhau để tạo thành từ
có nghĩa, thường xuyên gặp ở những từ mượn như a xít, a - pa - tít, gờ - lu - cô
Trong tiếng Việt các tiếng thuộc nhóm đầu tiên chiếm đa số, các tiếng thuộc hai nhóm sau thường 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 [1]
b) Từ, cụm từ
Từ là đơn vị nhỏ nhất, cấu tạo ổn định, mang nghĩa hoàn chỉnh, được dùng để cấu thành nên câu Từ có thể làm tên gọi của sự vật (danh từ), chỉ các hoạt động (động từ), trạng thái, tính chất (tính từ) Từ là công cụ biểu thị khái niệm của con người đối với hiện thực [1]
Từ là đơn vị ngôn ngữ độc lập, có sẵn, là chỉnh thể gồm hai mặt âm và nghĩa Tính độc lập và sẵn có của từ thể hiện ở chỗ từ được toàn xã hội chấp nhận và sử dụng chứ không phải lâm thời được tạo nên trong quá trình giao tiếp [11]
Từ được cấu tạo từ một hoặc nhiều tiếng Từ cấu tạo từ một tiếng gọi là từ đơn, ví dụ: tôi, bạn, nhà, hoa… Từ cấu tạo bởi nhiều tiếng là từ ghép, giữa các tiếng
có mối quan hệ về nghĩa, ví dụ: trường học, giảng dạy …
Trang 22Cụm từ là những kiến trúc gồm hai từ trở lên kết hợp với nhau theo những quan hệ ngữ pháp nhất định Ví dụ:
- Từ “máy” là từ gồm một tiếng
- Từ “máy tính” là từ gồm hai tiếng
- Cụm từ “công nghệ thông tin” gồm 2 từ hay 4 tiếng
c) Câu
Câu là một tập hợp từ, ngữ kết hợp với nhau theo những quan hệ cú pháp xác định, được tạo ra trong quá trình tư duy, giao tiếp, có giá trị thông báo, gắn liền với mục đích giao tiếp nhất định [1]
2.3.2 Biến hình từ tiếng Việt
Tiếng Việt không có hiện tượng biến hình từ bằng những phụ tố mang ý nghĩa ngữ pháp bên trong từ như tiếng Anh Tuy nhiên, tiếng Việt cũng có một số hình thức biến hình như trường hợp thêm từ “sự” trước một động từ để biến nó thành danh từ hay thêm tiếng “hóa” sau một danh từ để biến nó thành động từ tương đương, ví dụ như “tiến bộ” và “sự tiến bộ”, “tin học” và “tin học hóa” [1]
2.3.3 Từ đồng âm khác nghĩa
Hiện tượng đồng âm khác nghĩa là hiện tượng giống nhau về ngữ âm nhưng khác nhau về ý nghĩa của nhiều đơn vị ngôn ngữ riêng biệt Hiện tượng đồng âm có thể xảy ra ở nhiều cấp độ khác nhau Người ta đề cập đến các hiện tượng đồng âm ở cấp độ câu, cụm từ nhưng phổ biến hơn cả là hiện tượng đồng âm ở cấp độ từ bởi
vì đơn vị ngôn ngữ càng ở cấp độ đơn giản thì hiện tượng đồng âm càng dễ xảy ra
Ở cấp độ từ vựng, hai từ được gọi là đồng âm khi chúng có hình thức ngữ âm giống nhau và nghĩa khác nhau
Ví dụ: Trong tiếng Việt: đá (đá bóng), và đá (hòn đá); má (mẹ) và má (gò má) Phân loại các từ đồng âm: căn cứ vào chỗ khác nhau về nghĩa từ vựng và phạm trù ngữ pháp, từ đồng âm tiếng Việt được chia ra làm hai loại:
- Từ đồng âm từ vựng: đường (đi)/ đường (ăn)
- Từ đồng âm từ vựng - ngữ pháp: câu (cá) / câu (nói)
Căn cứ vào nguồn gốc, từ đồng âm được chia thành ba loại:
- Từ đồng âm ngẫu nhiên
- Từ đồng âm tạo ra do sự diễn biến ngữ âm
Trang 23- Từ đồng âm tạo nên do sự phát triển và tách rời nghĩa của từ đa nghĩa
Hiện tượng đồng âm nói chung hay từ đồng âm nói riêng là một hiện tượng khá phổ biến trong tiếng Việt [11]
2.3.4 Từ đồng nghĩa
Từ đồng nghĩa theo là những từ tương đồng với nhau về nghĩa nhưng khác nhau về âm thanh và phân biệt với nhau về một vài sắc thái ngữ nghĩa hoặc phong cách nào đó, hoặc đồng thời cả hai [1]
Có thể chia từ đồng nghĩa thành 2 loại
- Từ đồng nghĩa hoàn toàn (đồng nghĩa tuyệt đối): là những từ có nghĩa hoàn toàn giống nhau, được dùng như nhau và có thể thay đổi cho nhau trong lời nói Ví dụ: máy bay/phi cơ, lợn/heo, tàu hỏa/xe lửa
- Từ đồng nghĩa không hoàn toàn (đồng nghĩa tương đối, đồng nghĩa khác sắc thái): là các từ tuy cùng nghĩa nhưng vẫn khác nhau phần nào sắc thái biểu cảm (biểu thị cảm xúc, thái độ) hoặc cách thức hành động Khi dùng những từ ngữ này,
ta phải cân nhắc lựa chọn cho phù hợp Ví dụ: lạnh, rét, giá; tiết kiệm, keo kiệt trong tiếng Việt [14]
2.3.5 Đặc điểm chính tả
Chính tả là sự chuẩn hoá hình thức chữ viết của ngôn ngữ Đó là một hệ thống các quy tắc về cách viết các âm vị, âm tiết, từ, cách dùng các dấu câu, lối viết hoa Chuẩn chính tả có những đặc điểm chính sau đây
Đặc điểm chính tả tiếng Việt có ý nghĩa rất quan trọng trong các hệ thống xử
lý dữ liệu văn bản Một số đặc điểm chính tả tiếng Việt cần quan tâm như :
Các tiếng đồng âm: kĩ/kỹ, lí/lý… thường bị sử dụng lẫn nhau như: kĩ thuật, kỹ thuật, vật lí, vật lý, …
Các từ địa phương: một số từ địa phương sử dụng thay cho các từ phổ thông, chẳng hạn: nác uống/nước uống, ló/lúa, lạc/đậu phộng…
Vị trí dấu thanh: theo quy định đánh dấu tiếng Việt, dấu được đặt trên nguyên
âm có ưu tiên cao nhất Tuy nhiên, khi soạn thảo văn bản nhiều bộ gõ không tuân thủ nguyên tắc này nên có hiện tượng dấu được đặt ở các vị trí khác nhau, chẳng hạn: toán, tóan, thuý, thúy…
Trang 24Cách viết hoa: theo quy định, chữ cái đầu câu và tên riêng phải viết hoa, tuy nhiên vẫn tồn tại một số cách viết tuỳ tiện
Phiên âm tiếng nước ngoài: tồn tại cách viết giữ nguyên gốc tiếng nước ngoài và phiên âm ra tiếng Việt Ví dụ:Karaoke/Ka-ra-ô-kê
Từ gạch nối: do cách viết dấu gạch nối tuỳ tiện, không phân biệt được giữa nối tên riêng hay chú thích
Kí tự ngắt câu: sử dụng nhiều loại kí tự đặc biệt như “.”, “;”, “!”, “?”, “…” ngăn cách giữa các câu hoặc các vế câu trong câu ghép [1]
2.3.6 Bảng mã tiếng Việt trên máy tính
Hiện nay có khá nhiều cách mã hoá các kí tự tiếng Việt khác nhau, dẫn đến có nhiều bảng mã khác nhau được sử dụng khi trình bày văn bản Theo thống kê, có tới trên 40 bảng mã tiếng Việt được sử dụng , có thể kể đến một số bảng mã phổ biến dưới đây: TCVN3 (hay ABC), VNI , Windows, Unicode, VIQR
Mỗi bảng mã có các bộ phông tương ứng
Bảng mã TCVN có các phông bắt đầu bằng “.Vn” như VnTime, VnArial,
VnCourier,… Bảng mã này dù đã từng là tiêu chuẩn quốc gia nhưng chỉ được sử dụng phổ biến ở miền Bắc, với tên gọi là “ABC”
Bảng mã VNI Windows có các phông bắt đầu bằng “VNI-” như VNI-Time,
VNIAptima, VNI-Helve, … Bảng mã này được sử dụng phổ biến ở miền Nam Việt Nam
Bảng mã VIQR thực chất chỉ là sự sử dụng các kí tự thay cho dấu tiếng Việt,
ví dụ:
tiê’ng Việt = tiếng Việt; đường = đương` = đường Kiểu chữ này thường được sử dụng qua thư điện tử, nhưng hiệu quả rất hạn chế
Bảng mã Unicode là bảng mã chuẩn được thiết kế để dùng chung cho tất cả
các ngôn ngữ trên thế giới (bao gồm cả các kí tự tiếng Việt, Hàn, Nhật, Thái, Hoa, Arab,…) Khi dùng Unicode, bất kể là soạn thảo từ máy tính nào, đọc từ máy tính nào, chữ đều hiển thị tốt (dĩ nhiên là với điều kiện nâng cấp bảng mã chuẩn của máy tính thành Unicode) Bảng mã này có số lượng phông chữ chưa nhiều (phổ biến nhất là Arial, Courier, Tahoma, Times New Roman, Verdana), kiểu dáng chưa đa
Trang 25dạng và phong phú, nhưng đang là xu hướng tất yếu trong sự phát triển mạnh mẽ của công nghệ thông tin và Internet hiện nay
Do chưa có sự thống nhất giữa các bảng mã biểu diễn tiếng Việt trên máy tính nên việc thu thập, khai thác xử lý tiếng Việt gặp nhiều khó khăn, đòi hỏi các hệ thống xử lý văn bản tiếng Việt cần phải có bước tiền xử lý để nhận dạng và quy chuẩn các kí tự về một bảng mã chung [1]
2.4 Bài toán so sánh văn bản
2.4.1 Tiền xử lý văn bản
Văn bản trước khi đưa vào mô hình xử lý cần được tiền xử lý Quá trình này sẽ giúp nâng cao hiệu quả của mô hình và giảm độ phức tạp của thuật toán được cài đặt vì nó có nhiệm vụ làm giảm số từ có trong biểu diễn văn bản Các bước xử lý văn bản gồm: tách từ, loại bỏ từ có tần số thấp và xác định từ đồng nghĩa
2.4.1.1 Tách từ
Trong tiếng Việt, dấu cách (space) không được sử dụng như 1 kí hiệu phân tách từ, nó chỉ có ý nghĩa phân tách các âm tiết với nhau Vì thế, để xử lý tiếng Việt, công đoạn tách từ là 1 trong những bài toán cơ bản và quan trọng bậc nhất
Ví dụ: từ “đất nước” được tạo ra từ 2 âm tiết “đất” và “nước”, cả 2 âm tiết này đều có nghĩa riêng khi đứng độc lập, nhưng khi ghép lại sẽ mang một nghĩa khác
Vì đặc điểm này, bài toán tách từ trở thành một bài toán tiền đề cho các ứng dụng xử lý ngôn ngữ tự nhiên khác như phân loại văn bản, so sánh văn bản, tóm tắt văn bản, máy dịch tự động
Tách từ chính xác hay không là công việc rất quan trọng, nếu không chính xác rất có thể dẫn đến việc ý nghĩa của câu sai, ảnh hưởng đến tính chính xác của chương trình Bước này có nhiệm vụ xác định các từ có trong văn bản, kết quả của
nó là một tập các từ riêng biệt Các trường hợp đặc biệt như số, dấu ngoặc, dấu chấm câu thường bị loại ra trong khi phân tích vì một mình nó không mang lại ý nghĩa nào cho tài liệu (ngoại trừ một và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ử) Tuy nhiên trong một vài trường hợp, chẳng hạn đối với những từ ghép nối (state-of-the-art) không được phép bỏ dấu “-”, vì sẽ làm thay đổi nghĩa của từ [15]
Trang 26Đã có nhiều công trình nghiên cứu xây dựng mô hình tách từ tiếng Việt và đạt được những kết quả chính xác cao như mô hình tách từ bằng WFST (Weighted Finit State Transduce) và mạng Neural đã được sử dụng trong công trình của tác giả
Đình Điền (2001) Công cụ tách từ JvnTextPro do nhóm tác giả Nguyễn Cẩm Tú,
Khoa Công nghệ - Trường Đại học Quốc gia Hà Nội Bộ công cụ tách từ vnTokenizer của tác giả Lê Hồng Phương
Nhiều hướng tiếp cập trong bài toán tách từ được đưa ra, trong nhiên cứu của
Đỗ Thị Thanh Nga, “Tính toán độ tương tự ngữ nghĩa văn bản dựa vào độ tương tự
giữa từ với từ” , tác giả đã chỉ ra sơ đồ bài toán tách từ gồm hai hướng đó là dựa
trên từ và dựa trên kí tự
Hình 2.1: Các hướng tiếp cận cơ bản trong việc tách từ Các hướng tiếp cận dựa trên “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ỉnh trong câu
Hướng tiếp cận dựa trên thống kê: Dựa trên các thông tin thống kê 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, hướng tiếp cậ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êng cho từng lĩnh vực quan tâm
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 quả Hướng tiếp cận này thường kết hợp giữa hướng
Tách từ
Trang 27dựa trên thống kê và dựa trê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í [3]
Các hướng tiếp cận dựa trên ký tự:
Các hướng tiếp cận dựa trên ký tự (dựa trên “tiếng” trong tiếng Việt) có thể chia làm 2 nhóm nhỏ: uni-gram và n-gram
Trong tiếng việt, hình vị nhỏ nhất là “tiếng” được hình thành bở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 ra một số lượng nhất định các tiếng trong văn bản như rút trích từ 1 ký tự (uni-gram) hay nhiều ký tự (n-gram) Theo tác giả nghiên cứu thì hướng tiếp cận dựa trên nhiều ký tự có nhiều ưu điểm nổi bật hơn Nó đơn giản, dễ ứng dụng, ngoài ra còn có thuận lợi là ít tốn chi phí cho thao tác tạo chỉ mục và xử lý nhiều câu truy vấn 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
Một số phương pháp tách từ tiếng Việt hiện nay:
Phương pháp Maximum Matching: Forward/Backward
Phương pháp khớp tối đa (MM - Maximum Matching) : Ở phương pháp này, chúng ta sẽ duyệt một ngữ 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 và cứ thực hiện lặp lại như vậy cho đến hết câu
Dạng đơn giản của phương pháp dùng để giải quyết nhập nhằng từ đơn Giả sử chúng ta có một chuỗi ký tự C1, C2, …, Cn Chúng ta sẽ áp dụng phương pháp từ đầu chuỗi Đầu tiên kiểm tra xem C1 có phải là từ hay không, sau đó kiểm tra xem C1C2 có phải là từ hay không Tiếp tục thực hiện như thế cho đến khi tìm được từ dài nhất Dạng phức tạp: Quy tắc của dạng này là phân đoạn từ Thông thường người ta chọn phân đoạn ba từ có chiều dài tối đa Thuật toán bắt đầu từ dạng đơn giản, cụ thể là nếu phát hiện ra những cách tách từ gây nhập nhằng, như ở ví dụ trên, giả sử
C1 là từ và C1C2 cũng là một từ, khi đó chúng ta kiểm tra ký tự kế tiếp trong chuỗi
C1, C2, … , Cn để tìm tất cả các đoạn có ba từ bắt đầu với C1 hoặc C1C2
Ví dụ: Giả sử chúng ta có được các đoạn sau:
- C1 C2 C3 C4
- C1C2 C3C4 C5
Trang 28- C1C2 C3C4 C5C6
Khi đó chuỗi dài nhất sẽ là chuỗi thứ ba Do đó từ đầu tiên của chuỗi thứ ba (C1C2) sẽ được chọn Thực hiện các bước cho đến khi được chuỗi từ hoành chỉnh
Nhận xét:
Phương pháp này thực hiện tách từ đơn giản, nhanh và chỉ cần dựa vào từ điển
để thực hiện Tuy nhiên, khuyết điểm của phương pháp này cũng chính là từ điển, nghĩa là độ chính xác khi thực hiện tách từ phụ thuộc hoàn toàn vào tính đủ, tính chính xác của từ điển
Phương pháp Transformation-based Learning (TBL):
Phương pháp này tiếp cận dựa trên tập ngữ liệu đã đánh dấu Theo cách tiếp cận này để cho máy tính có thể nhận biết ranh giới giữa các từ để có thể tách từ chính xác, chúng ta sẽ cho máy học các câu mẫu trong tập ngữ liệu đã được đánh dấu ranh giới giữa các từ đúng Rõ ràng chúng ta thấy phương pháp rất đơn giản, vì chỉ cần cho máy học các tập câu mẫu và sau đó máy sẽ tự rút ra qui luật của ngôn ngữ và để từ đó sẽ áp dụng chính xác khi có những câu đúng theo luật mà máy đã rút ra Và rõ ràng để tách từ được hoàn toàn chính xác trong mọi trường hợp thì đòi hỏi phải có một tập ngữ liệu tiếng Việt thật đầy đủ và phải được huấn luyện lâu để
Trang 29Phương pháp tách tách từ tiếng Việt dựa trên thống kê từ Internet và thuật giải di truyền:
Phương pháp tách tách từ tiếng Việt dựa trên thống kê từ Internet và thuật giải
di truyền – IGATEC (Internet and Genetics Algorithm based Text Categorization for Documents in Vietnamese) do H.Nguyễn đề xuất năm 2005 như một hướng tiếp cận mới trong tách từ với mục đích phân loại văn bản mà không cần dùng đến một
từ điển hay tập ngữ liệu học nào Trong hướng tiếp cận này, tác giả kết hợp giữa thuật toán di truyền với dữ liệu thống kê được lấy từ Internet [3]
Sự nhập nhằng trong tách từ tiếng Việt:
Nhập nhằng chồng chéo: chuỗi “abcd” được gọi là nhập nhằng chồng chéo nếu như từ “abc”, “bcd” đều xuất hiện trong từ điển, ví dụ: trong câu “Chiếc ô tô màu đỏ” thì chuỗi “Chiếc ô tô” nhập nhằng chồng chéo vì các từ “chiếc ô” và “tô màu” đều có trong từ điển
Nhập nhằng kết hợp: chuỗi “abcd” gọi là nhập nhằng kết hợp nếu các từ thành phần “ab”, “cd”, “abcd” đều xuất hiện trong từ điển Ví dụ trong câu “” thì chuỗi “Tủ lạnh” bị nhập nhằng kết hợp do các từ “tủ”, “lạnh”, “tủ lạnh” đều có trong từ điển
2.4.1.2 Loại bỏ từ dừng (stopwords)
Từ dừng là những từ xuất hiện nhiều trong ngôn ngữ tự nhiên, tuy nhiên lại không mang nhiều ý nghĩa Ở tiếng Việt từ dừng là những từ như: “như vậy”, “sau đó”, “một số”, “chỉ”, “của” …
Có rất nhiều cách để loại bỏ từ dừng nhưng có 2 cách chính là: dùng từ điển
và dựa theo tần suất xuất hiện của từ
Với phương pháp dùng từ điển cách này đơn giản nhất, chúng ta tiến hành lọc
văn bản, loại bỏ những từ xuất hiện trong từ điển StopWords
Đối với phương pháp dựa theo tần suất xuất hiện của từ chúng ta tiến hành
đếm số lần xuất hiện của từng từ trong data sau đó sẽ loại bỏ những từ xuất hiện nhiều lần (cũng có thể là ít lần) Khoa học đã chứng minh những từ xuất hiện nhiều nhất thường là những từ không mang nhiều ý nghĩa [1]
2.4.1.3 Loại bỏ từ có tần số thấp
Có nhiều từ trong tập văn bản xuất hiện rất ít lần và có ảnh hưởng rất ít trong văn bản Vì vậy các từ này cũng sẽ bị loại bỏ
Trang 302.4.1.4 Xác định từ đồng nghĩa
Từ đồng nghĩa là những từ tương đương về nghĩa trong một số ngữ cảnh nào
đó, bên cạnh sự tương đồng chúng có những khác biết nhất định mặc dù việc phát hiện những khác biệt đó không phải lúc nào cũng dễ dàng Với bài toán so sánh trên văn bản thì việc nhận ra các từ đồng nghĩa có ý nghĩa quan trọng bởi trong các câu, các đoạn văn luôn có các từ đồng nghĩa hoặc gần nghĩa nhau được sử dụng thay thế Việc phát hiện ra các từ đồng nghĩa sẽ làm nâng cao tính chính xác khi so sánh về
độ tương đồng ngữ nghĩa giữa các đơn vị văn bản [1]
2.4.2 Biểu diễn văn bản
Biểu diễn văn bản: sau khi văn bản được tiền xử lý ta sử dụng các phương
pháp để biểu diễn đặc trưng của văn bản Tùy theo thuật toán được áp dụng để so sánh văn bản mà ta lựa chọn cách để biểu diễn phù hợp Phổ biến nhất là phương pháp biểu diễn văn bản bằng vector
2.4.3 Phương pháp tính độ tương đồng giữa các văn bản
Trong nghiên cứu của Nguyễn Kim Anh trong đề tài “Nghiên cứu kỹ thuật
đánh giá độ tương đồng văn bản ứng dụng so sánh văn bản tiếng Việt” đã tìm hiểu,
tổng hợp các phương pháp tính độ tương đồng văn bản sau:
Với phương pháp thống kê: sử dụng các độ đo dựa vào tần suất xuất hiện của
từ trong câu như phương pháp sử dụng độ đo Cosine, độ đo khoảng cách Euclide, Manhattan Các phương pháp này tốc độ xử lý nhanh, tốn ít chi phí nhưng không đảm bảo độ chính xác cao về mặt ngữ nghĩa
Với phương pháp dựa trên quan hệ ngữ nghĩa giữa các từ: một số hướng
tiếp cận phân tích cấu trúc ngữ pháp, sử dụng mạng ngữ nghĩa đối với từ như Wordnet corpus hoặc Brown corpus, Penn TreeBank Các phương pháp này xử lý chậm hơn, tốn nhiều chi phí hơn nhưng xét về mặt ngữ nghĩa thì độ tương đồng chính xác cao hơn phương pháp thống kê [1]
Trang 31CHƯƠNG III: MÔ HÌNH BIỂU DIỄN VĂN BẢN
Biểu diễn văn bản là một bước quan trọng trong khai thác dữ liệu văn bản, truy vấn thông tin và xử lý ngôn ngữ tự nhiên Các mô hình biểu diễn đóng vai trò trung gian giữa ngôn ngữ tự nhiên dạng văn bản và các chương trình xử lý Văn bản ở dạng thô (chuỗi) sau khi được chuyển sang mô hình sẽ trở thành những cấu trúc dữ liệu trực quan, đơn giản hơn, thuận lợi cho việc hiểu và tính toán trên văn bản [1]
Vì vậy, các mô hình biểu diễn văn bản không ngừng cải thiện và phát triển Tùy thuộc vào từng bài toán, từng thuật toán khác nhau mà chúng ta có mô hình biểu diễn phù hợp Các mô hình biểu diễn văn bản truyền thống như mô hình túi từ (bag-of-word), mô hình không gian vector là các mô hình thường được sử dụng nhất Tuy nhiên, các mô hình này có nhược điểm là không nắm bắt được các thông tin cấu trúc quan trong của văn bản như trật tự các từ, vị trí của từ trong văn bản
Mô hình đồ thị biểu diễn văn bản, word2vec, doc2vec là phương pháp mới đang được quan tâm và sử dụng trong các lĩnh vực khai phá dữ liệu văn bản hiện tại
3.1 Mô hình biểu diễn văn bản truyền thống
3.1.1 Mô hình túi từ ngữ (Bag-of-Word)
Mô hình túi từ ngữ (Bag-of-Word - BOW) là một biểu diễn đơn giản hóa của
văn bản thường được sử dụng trong xử lý ngôn ngữ tự nhiên và tìm kiếm thông tin
Ý tưởng của BoW là phân tích và phân nhóm dựa theo túi từ ngữ [4]
Mô hình túi từ ngữ học được một bộ từ vựng từ tất cả các văn bản, rồi mô hình các văn bản bằng cách đếm số lần xuất hiện của mỗi từ trong văn bản đó [16]
Ví dụ, với hai câu sau :
Câu 1: “Nam là học sinh giỏi toán”
Câu 2: “Nam hướng dẫn Hoa học toán để cùng nhau học giỏi toán”
Sau khi tiền xử lý hai câu trên trở thành :
Câu 1: {Nam, học_sinh, giỏi, toán}
Câu 2: {Nam, hướng_dẫn, Hoa, học, toán, cùng_nhau, học, giỏi, toán}
Hai câu trên có tập từ là:
{Nam, học_sinh, giỏi, toán, hướng_dẫn, Hoa, học, cùng_nhau}