http:123link.proV8C5Mục tiêu của đề tài: Đề xuất giải pháp vận dụng phương pháp tính độ tương tự giữa từ với từ để tính được độ tương đồng giữa các văn bản. Công cụ hỗ trợ tìm kiếm được những tài liệu có nội dung tương tự thành từng nhóm trong nguồn thông tin Trung tâm dữ liệu và công nghệ thông tin Cục Hải quan Đồng Nai Đồng Nai. Giảm thiểu số lượng đối tượng trong việc phân loại tài liệu. Tạo tiền đề phát triển các ứng dụng khác.
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC LẠC HỒNG
LÊ TIẾN MẠNH
XÂY DỰNG CÔNG CỤ PHÂN LOẠI VĂN BẢN TỰ ĐỘNG LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Đồng Nai, Năm 2017
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC LẠC HỒNG
LÊ TIẾN MẠNH
XÂY DỰNG CÔNG CỤ PHÂN LOẠI VĂN BẢN TỰ ĐỘNG
Chuyên ngành: Công Nghệ Thông Tin
Mã số: 60480201
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS TRẦN VĂN HOÀI
Đồng Nai, Năm 2017
Trang 3LỜI CẢM ƠN
Để hoàn thành luận văn này, đầu tiên tôi bày tỏ lòng biết ơn chân thành đến PGS.TS Trần Văn Hoài, Thầy đã tận tình hướng dẫn, giúp đỡ và tạo mọi điều kiện thuận lợi để tôi hoàn thành tốt luận văn Tôi cũng xin cảm ơn đến tất cả quý thầy cô tại trường Đại học Lạc Hồng đã dạy dỗ và hướng dẫn tận tình trong quá trình học tập tại Trường Tất
cả các kiến thức mà tôi đã lĩnh hội được sẽ là hành trang quý giá trên con đường học tập, làm việc và nghiên cứu sau này Xin cảm ơn gia đình, bạn bè và đồng nghiệp đã động viên, hỗ trợ và giúp đỡ trong quá trình thực hiện luận văn
Tuy nhiên do kiến thức và thời gian có giới hạn nên đề tài này khó tránh khỏi thiếu sót, kính mong quý thầy cô và các bạn đóng góp thêm để đề tài được hoàn chỉnh hơn!
Tôi xin chân thành cảm ơn!
Đồng Nai, Ngày 09 tháng 09 năm 2017
Học viên
Lê Tiến Mạnh
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan :
a Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy PGS.TS Trần Văn Hoài
b Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng và trung thực tên tác giả, tên công trình, thời gian, địa điểm công bố
c Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm
Tôi xin chịu trách nhiệm về nghiên cứu của mình!
Đồng Nai, ngày 09 tháng 09 năm 2017
Học viên
Lê Tiến Mạnh
Trang 5TRƯỜNG ĐẠI HỌC LẠC HỒNG
KHOA SAU ĐẠI HỌC
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
TÓM TẮT LUẬN VĂN
(Dùng cho học viên và người hướng dẫn)
Đề tài: Xây dựng công cụ phân loại văn bản tự động
Ngành: Công nghệ thông tin Mã số: 60.48.02.01
Học viên: Lê Tiến Mạnh
Người hướng dẫn: PGS TS Trần Văn Hoài
NỘI DUNG TÓM TẮT
Cùng với xu hướng bùng nổ thông tin trong thời đại ngày nay, không năm ngoài xu hướng đó Cục Hải quan Đồng Nai nơi tôi đang công tác đang gặp những vấn đề về sự bùng nổ thông tin khiến thông tin tìm kiếm tài liệu bị trùng lặp, dễ lẫn lộn khiến ta khó có thể phân loại được tài liệu có nội dung tương tự hay tài liệu thuộc một chủ đề nào đó Thực tiễn tại Trung tâm dữ liệu và công nghệ thông tin – Cục Hải quan Đồng Nai hàng ngày phát sinh hàng ngàn các văn bản tài liệu trao đổi qua lại giữa Cục Hải quan với các đơn vị liên quan, đặc biệt là với Doanh nghiệp và ngược lại chưa có biện pháp nào để phân loại, hỗ trợ phận loại cho cán bộ công chức Cục Hải quan Đồng Nai nhằm giảm thiểu nhân lực, thời gian, vật chất phục vụ công tác đạt hiệu quả cao hơn Vấn đề do nhu cầu cấp bách đặt ra cần có một công cụ để hỗ trợ phân loại văn bản tự động nhằm giúp cho cán bộ, công chức Cục Hải quan Đồng Nai tiếp nhận các văn bản và phân loai tự động văn bản đó vào một số lĩnh vực phát sinh thường xuyên
- Tập trung xây dựng công cụ hỗ trợ phân loại văn bản tự động nhằm tra cứu văn bản
có nội dung tương tự dựa trên thuật toán mạng Kohonen để giải quyết vấn đề
- Ngoài việc sử dụng dữ liệu văn bản dạng text tóm tắt các văn bản được lưu trữ tại Trung tâm dữ liệu và công nghệ thông tin Cục Hải quan Đồng Nai,
- Sử dụng một số công cụ tách từ văn bản đã được kiểm nghiệm thực tế như phần mềm vnTokenizer
Trang 6- Thuật toán huấn luyện mạng Kohonen, truy vấn thông tin lớp ra Kohonen
- Thực hiện một số thực nghiệm thực tế, sử dụng một số chỉ số đánh giá như Precision, Recall và F-measure giữa hai nhóm trong hệ thống để đánh giá thử nghiệm hệ thống
- Tổng hợp đánh giá đối với lần thử nghiệm trước đó, tiếp tục thưc hiện cho đến khi đạt được kết quả tốt hơn
- Giảm thiểu số lượng đối tượng trong việc phân loại tài liệu
- Định hướng phát triển và tích hợp vào ứng dụng vào thực tế
Trang 7MỤC LỤC
LỜI CẢM ƠN I LỜI CAM ĐOAN II TÓM TẮT LUẬN VĂN III DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT VIII
DANH MỤC HÌNH ix
MỞ ĐẦU 1
1 Lý do thực hiện đề tài: 1
2 Mục tiêu của luận văn 2
3 Phạm vi và đối tượng nghiên cứu 2
4 Nội dung thực hiện 2
5 Ý nghĩa khoa học và thực tiễn của đề tài nghiên cứu 2
6 Bố cục của luận văn 2
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 4
1.1 Giới thiệu 4
1.1.1 Khai phá dữ liệu và khám phá tri thức 4
1.1.2 Quy trình khám phá tri thức 4
1.1.3 Các phương pháp áp dụng trong khai phá dữ liệu 6
1.2 Gom nhóm trong khai phá dữ liệu 7
1.2.1 Khái niệm và mục tiêu của gom nhóm dữ liệu 7
1.2.2 Các ứng dụng của gom nhóm dữ liệu 10
CHƯƠNG 2: GOM NHÓM VĂN BẢN 12
2.1 Tổng quan bài toán 12
2.2 Đặc điểm ngôn ngữ tiếng Việt 16
2.2.1 Cấu tạo từ tiếng Việt 16
2.3 Hướng tiếp cận cho bài toán 19
2.3.1 Tiền xử lý văn bản tiếng Việt 19
2.3.2 Tính độ tương đồng giữa các văn bản 20
2.3.3 Hướng giải quyết bài toán 21
Trang 82.4 Độ tương đồng 22
2.4.1 Khái niệm độ tương đồng 22
2.4.2 Độ tương đồng 22
2.4.3 Các phương pháp tính độ tương đồng 22
2.5 Gom nhóm bằng mạng Kohonen 24
2.5.1 Kiến trúc cụm phẳng 24
2.5.2 Mạng Kohonen 24
2.5.3 Gom nhóm từ lớp ra Kohonen 25
2.5.4 Thuật giải huấn luyện mạng Kohonen 25
2.5.5 Cải tiến thuật giải huấn luyện mạng Kohonen 26
2.6 Mạng nơron bản đồ tự tổ chức: Error! Bookmark not defined CHƯƠNG 3: KHẢO SÁT NGUỒN THÔNG TIN TẠI TRUNG TÂM DỮ LIỆU & CÔNG NGHỆ THÔNG TIN CỤC HẢI QUAN ĐỒNG NAI VÀ PHÂN TÍCH HỆ THỐNG TRA CỨU NỘI DUNG TƯƠNG TỰ 29
3.1 Giới thiệu về Trung tâm dữ liệu và công nghệ thông tin Cục Hải quan Đồng Nai29 3.2 Phân tích hệ thống, công cụ để xây dựng phần mềm tra cứu 30
3.2.1 Xử lý dữ liệu 30
3.2.2 Huấn luyện mạng Kohonen – Gom nhóm tài liệu 31
3.2.3 Truy vấn tương tự qua lớp ra Kohonen 32
3.2.4.Đánh giá và cải thiện 33
CHƯƠNG 4: CÀI ĐẶT, THỬ NGHIỆM, SO SÁNH 35
4.1 Kết quả thực nghiệm 35
4.1.1 Môi trường thực nghiệm 35
4.1.2 Công cụ 35
4.1.3 Dữ liệu 36
4.2 Kết quả thực nghiệm 36
4.2.1 Chức năng 1: Hiện thị tập tin 37
4.2.2 Chức năng 2: Huấn luyện Kohonen 41
4.2.3 Chức năng 3: Truy vấn Lớp ra Kohonen 44
4.3 Đánh giá kết quả gom nhóm 47
4.4 Tiếp tục gom nhóm có số lượng văn bản nhiều: 50
Trang 9CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 54
5.1 Kết quả đạt được của luận văn 54
5.2 Hướng phát triển của luận văn 54
TÀI LIỆU THAM KHẢO 56
Trang 10DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT
Gom nhóm dữ liệu GCDL Data Clustering
Khai phá dữ liệu KPDL Data mining
Khai phá tri thức KPTT Knowledge Mining Khai phá tri thức trong
cơ sở dữ liệu KDD
Knowledge Discovery
In database Phân loại dữ liệu PLDL Classification
Tổng cục Hải quan TCHQ Việt Nam Customs Hải quan tỉnh Đồng Nai HQĐN Đồng Nai Customs
Trang 11DANH MỤC HÌNH
Hình 1.1 Quy trình khám phá tri thức 5
Hình 1.2 Gom nhóm dữ liệu dựa trên khoảng cách 8
Hình 1.3 Ví dụ gom nhóm văn bản theo chủ đề 9
Hình 2.1 Quy trình gom nhóm văn bản 15
Hình 2.2 Sơ đồ khái quát hệ thống từ loại tiếng Việt 16
Hình 2 3 Cấu trúc của mạng Kohonen hai chiều 25
Hình 2.4 Vùng lân cận nơron chiến thắng 27
Hình 2.6 Cấu trúc SOM với lớp Kohonen 2 chiều Error! Bookmark not defined Hình 3.1 Biểu diễn vector văn bản trong không gian 2 chiều 31
Hình 3.2 Các nhóm từ phổ biến đặc trưng cho một nhóm trên lớp ra Kohonen 32
Hình 3.3 Các văn bản trong một nhóm trên lớp ra Kohonen 33
Hình 4.1 Danh sách tập tin tài liệu huấn luyện 36
Hình 4.2 Giao diện chương trình hệ thống 37
Hình 4.3 Hiển thị tập tin 38
Hình 4.4 Danh sách các từ mới sau khi tách 39
Hình 4.5 Danh sách các tập tin đã huấn luyện Kohonen 40
Hình 4.6 Chuyển văn bản sang vector 40
Hình 4.7 Vector các văn bản 41
Hình 4.8 Giao diện gom nhóm bằng Kohonen 41
Hình 4.9 InputtoKohone 42
Hình 4.10 Kết quả lớp ra Kohonen 43
Hình 4.11 Lọc từ đặc trưng 43
Hình 4.12 Gom nhóm với ngưỡng đặc trưng 44
Hình 4.13 Giao diện lớp ra Kohonen 45
Hình 4.14 Vẽ lớp ra Kohonen 45
Hình 4.15 Nhóm Kohonen 46
Hình 4.16 Hiển thị nhóm file tương tự 47
Hình 4.17 Quan hệ giữa hai nhóm 47
Trang 12MỞ ĐẦU
1 Lý do thực hiện đề tài:
Hiện nay với sự phát triển bùng nổ của thời đại công nghệ thông tin, cơ
sở dữ liệu văn bản cũng đang phát triển chóng mặt với số lượng khổng lồ, nhất là nguồn thông tin ở dạng số hóa, ví dụ tài liệu điện tử, email, các trang web….Vấn đề đặt ra là với số lượng lớn dữ liệu được số hóa hàng ngày hàng giờ như vậy, ta làm sao phân loại tìm kiếm và khai phá dữ liệu đó nhanh chóng và hiệu quả, giảm thiểu chi phí và thời gian tìm kiếm của người sử dụng Để đáp ứng phần nào yêu cầu này, cần xây dựng các công cụ hỗ trợ tìm kiếm và xử lý thông tin nhằm giúp người dùng tìm kiếm được các thông tin cần thiết nhanh chóng thuận tiện
Với các phương pháp khai phá cơ sở dữ liệu truyền thống chưa đáp ứng được các yêu cầu đó Để giải quyết vấn đề này, một hướng đi mới đó là nghiên cứu và áp dụng kỹ thuật khai phá dữ liệu và khám phá tri thức trong môi trường tài liệu văn bản điện tử Do đó việc nghiên cứu các mô hình dữ liệu mới và áp dụng các phương pháp khai phá dữ liệu trong khai phá tài nguyên văn bản điện tử là một xu thế vừa
có ý nghĩa khoa học vừa mang ý nghĩa thực tiễn cao
Để đi sâu vào thực tế, bằng kiến thức đã học được trong thời gian vừa qua, tôi muốn áp dụng những kiến thức đó để xây dựng một công cụ hỗ trợ tìm kiếm tài liệu có nội dung tương tự tại Trung tâm dữ liệu và công nghệ thông tin Cục Hải quan Đồng Nai Đồng Nai
Bản thân tác giả đang công tác tại Trung tâm dữ liệu và công nghệ thông tin
- Cục Hải quan Đồng Nai Đồng Nai, nơi chứa rất nhiều tài liệu văn bản điện tử - tài liệu số chưa được khai phá và chưa có một công cụ phần mềm nào đáp ứng nhu cầu tra cứu những tài liệu có nội dung tương tự nhau Tôi cảm thấy cấp bách cần một công cụ tra cứu tài liệu áp dụng ngay tại nơi làm việc của mình Do đó, tôi đã chọn
đề tài “Xây dựng công cụ hỗ trợ phân loại văn bản tự động”
Sơ lược tình hình thực trạng của Trung tâm dữ liệu và công nghệ thông tin Cục Hải quan Đồng Nai Đồng Nai với nguồn lực thông tin được tham khảo như sau:(nguồn tại trang web Cục Hải quan Đồng Nai http://www.dncustoms.gov.vn)
1 Tài liệu tiếng Việt 43.289 văn bản
2 Tài liệu Ngoại văn >16.000 bản
3 Hồ sơ khác 13.000 biểu ghi
4 Tài liệu đa phương tiện 12.500 tên
Bảng 1.1 Nguồn lực thông tin tài liệu
Trang 13Mô tả tình huống tường minh:
Input: Tập dữ liệu văn bản text
Output: Xuất ra danh sách các tập tin văn bản của từng nhóm, các tập tin có
nội dung tương tự Mỗi tập tin chỉ xuất hiện trong duy nhất một nhóm
2 Mục tiêu của luận văn
- Luận văn đề xuất giải pháp vận dụng phương pháp tính độ tương tự giữa từ với từ để tính được độ tương đồng giữa các văn bản
- Công cụ hỗ trợ tìm kiếm được những tài liệu có nội dung tương tự thành từng nhóm trong nguồn thông tin Trung tâm dữ liệu và công nghệ thông tin Cục Hải quan Đồng Nai Đồng Nai
- Giảm thiểu số lượng đối tượng trong việc phân loại tài liệu
- Tạo tiền đề phát triển các ứng dụng khác
3 Phạm vi và đối tượng nghiên cứu
- Nguồn tài liệu số tại Trung tâm dữ liệu và công nghệ thông tin Cục Hải quan Đồng Nai
- Tài liệu số có định dạng file text chuẩn tiếng tiếng Việt, không chứa hình ảnh, âm thanh, …
- Các thuật toán dùng để gom nhóm nội dung; mạng Kohonen
4 Nội dung thực hiện
- Tìm hiểu về các phương pháp gom nhóm rồi chọn phương pháp tốt Cụ thể
ta chọn thuật toán gom nhóm mạng Kohonen để thực hiện chương trình vì không cần chỉ định số nhóm và giao diện truy vấn trực quan
- Nghiên cứu lý thuyết về độ tương đồng, cách tính độ tương đồng giữa từ với từ
- Tìm hiểu cách tách từ trong văn bản Tiếng Việt Phần mềm VnTokenizer
- Dựa trên những hiểu biết và các công cụ liên quan xây dựng các thuật toán cần thiết để chuẩn bị xây dựng chương trình
- Dùng ngôn ngữ Visual studio C# 2017 để thiết kế và xây dựng chương trình
- Ứng dụng thực tế tại Trung tâm dữ liệu và công nghệ thông tin - Cục Hải quan Đồng Nai
- Đề ra hướng phát triển và ứng dụng vào thực tiễn
5 Ý nghĩa khoa học và thực tiễn của đề tài nghiên cứu
- Công cụ được sử dụng tra cứu tài liệu và liệt kê những tài liệu có nội dung tương tự nhau trong Trung tâm dữ liệu và công nghệ thông tin Cục Hải quan Đồng Nai Đồng Nai
6 Bố cục của luận văn
- Ngoài các phần Mở đầu, Mục lục, Danh mục hình, Danh mục bảng, Tài liệu tham khảo Luận văn chia là 5 chương:
Trang 14Chương 1: Tổng quan về đề tài
- Phần này giới thiệu một cách tổng quát về quy trình khám phá tri thức nói chung và khai phá dữ liệu văn bản nói riêng
- Các phương pháp, lĩnh vực và các hướng tiếp cận trong khai phá dữ liệu
Chương 2: Gom nhóm văn bản
- Trong phần này trình bày tổng quan bài toán
- Một số vấn đề biểu diễn và xử lý dữ liệu văn bản áp dụng dụng trong khai phá văn bản
- Độ tương đồng của các văn bản
- Thuật giải huấn luyện mạng Kohonen
Chương 3: Khảo sát Trung tâm dữ liệu và công nghệ thông tin Cục Hải quan
Đồng Nai Đồng Nai và phân tích hệ thống tra cứu nội dung tương tự
Các chức năng của hệ thống truy vấn tài liệu tương tự
- Xử lý văn bản: phần mềm Vntokenizer
- Huấn luyện Kohonen
- Truy vấn ra lớp Kohonen
Chương 4: Cài đặt và thử nghiệm
- Chuẩn bị dữ liệu có ở Trung tâm lưu trữ
- Huấn luyện dữ liệu bằng mạng Kohonen
- Truy vấn nội dung tương tự của các tài liệu cho sẵn tại Trung tâm dữ liệu
và công nghệ thông tin Cục Hải quan Đồng Nai Đồng Nai
Chương 5: Kết luận và hướng phát triển
Trang 15CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1.1 Giới thiệu
1.1.1 Khai phá dữ liệu và khám phá tri thức
Sự bùng nổ thông tin là một một cuộc cách mạng khoa học kỹ thuật, khiến cho lượng thông tin mà con người lưu trữ và tìm kiếm ngày càng khổng lồ, kích thước cơ sở dữ liệu tăng Trong cơ sở dữ liệu đó tiềm ẩn rất nhiều tri thức
mà con người chưa khám phá được và tìm kiếm thông tin trở nên khó khăn Chính vì lý do đó nhu cầu tìm kiếm tri thức trong khối CSDL lớn đã hình thành, nhu cầu này ngày một cấp thiết dẫn tới sự ra đời một lĩnh vực mới- lĩnh vực khai phá dữ liệu
Thông thường, chúng ta coi dữ liệu như là một chuỗi các bits, hoặc các số
và các ký hiệu hay là các “đối tượng” với một ý nghĩa nào đó khi được gửi cho một chương trình dưới một dạng nhất định Các bits thường được sử dụng
để đo thông tin, và xem nó như là dữ liệu đã được loại bỏ phần tử thừa, lặp lại,
và rút gọn tới mức tối thiểu để đặc trưng một cách cơ bản cho dữ liệu
Tri thức được xem như là các thông tin tích hợp, bao gồm các sự kiện và mối quan hệ giữa chúng, đã được nhận thức, khám phá, hoặc nghiên cứu Nói cách khác, tri thức có thể được coi là dữ liệu ở mức độ cao của sự trừu tượng và tổng quát
Khám phá tri thức hay phát hiện tri thức trong cơ sở dữ liệu là một quy trình nhận biết các mẫu hoặc các mô hình trong dữ liệu với các tính năng: Phân tích, tổng hợp, hợp thức, khả ích và có thể hiểu được
Khai phá dữ liệu là một bước trong quy trình khám phá tri thức, gồm các thuật toán khai phá dữ liệu chuyên dùng dưới một số quy định về hiệu quả tính toán chấp nhận được để tìm ra các mẫu hoặc các mô hình trong dữ liệu Nói cách khác, mục tiêu của khai phá dữ liệu là tìm kiếm các mẫu hoặc mô hình tồn tại trong cơ sở dữ liệu nhưng ẩn trong khối lượng lớn dữ liệu
1.1.2 Quy trình khám phá tri thức
Trang 16Quy trình khám phá tri thức tiến hành thường qua các giai đoạn
Hình 1.1 Quy trình khám phá tri thức Bắt đầu của quy trình là kho dữ liệu thô và kết thúc với tri thức được chiết xuất ra Về lý thuyết thì có vẻ rất đơn giản nhưng thực sự đây là một quy trình rất khó khăn gặp phải rất nhiều vướng mắc như: quản lý các tập dữ liệu, phải lặp đi lặp lại toàn bộ quy trình Hình 1.1 là quy trình khai phá tri thức gồm các bước sau:
- Trích lọc dữ liệu: Giai đoạn này là trích chọn những tập dữ liệu cần được khai phá từ các tập dữ liệu lớn ban đầu theo một tiêu chí nhất định Ví dụ chọn tất cả những tài liệu tiếng anh ngành công nghệ thông tin xuất bản năm 2008
- Tiền xử lý dữ liệu: đây là bước làm sạch dữ liệu (xử lý những dữ liệu không đầy đủ, nhiễu, không nhất quán…), rút gọn dữ liệu, rời rạc hóa dữ liệu Giai đoạn này là giai đoạn hay bị sao lãng, nhưng thực tế nó là một bước rất quan trọng trong quy trình khai phá dữ liệu Một số lỗi thường mắc phải trong khi gom dữ liệu
là tính không đủ chặt chẽ, logíc Vì vậy, dữ liệu thường chứa các giá trị vô nghĩa
và không có khả năng kết nối dữ liệu Bởi vậy, đây là một quy trình rất quan trọng
vì dữ liệu này nếu không được “làm sạch – tiền xử lý – chuẩn bị trước” thì sẽ gây nên những kết quả sai lệch nghiêm trọng
- Biến đổi dữ liệu: Tiếp theo là giai đoạn biến đổi dữ liệu, dữ liệu được chuẩn hóa và làm mịn, tức là dữ liệu sẽ được chuyển đổi về dạng phù hợp, thuận lợi cho việc khai phá bằng cách thực hiện các thao tác nhóm hoặc tập hợp
- Khai phá dữ liệu: Đây là bước mang tính tư duy trong khai phá dữ liệu, áp dụng những kỹ thuật phân tích (như các kỹ thuật của máy học) nhằm để khai phá
dữ liệu, trích chọn được những mẫu thông tin, những mối liên hệ đặc biệt trong dữ
Trang 17liệu Quy trình này được xem là bước quan trọng và tốn nhiều thời gian nhất của quy trình KDD
- Đánh giá các luật và biểu diễn tri thức: Ở giai đoạn này, các mẫu dữ liệu được chiết xuất ra bởi phần mềm khai phá dữ liệu Không phải bất cứ mẫu dữ liệu nào cũng đều hữu ích, đôi khi nó còn bị sai lệch Vì vậy, cần phải ưu tiên những tiêu chuẩn đánh giá để chiết xuất ra các tri thức cần chiết xuất ra Đánh giá
sự hữu ích của các mẫu biểu diễn tri thức dựa trên một số phép đo Sau đó sử dụng các kỹ thuật trình diễn và trực quan hoá dữ liệu để biểu diễn tri thức khai phá được cho người sử dụng
Trên đây là các giai đoạn của quy trình khám phá tri thức, trong đó giai đoạn
4 - khai phá dữ liệu là giai đoạn được quan tâm nhiều nhất [2]
1.1.3 Các phương pháp áp dụng trong khai phá dữ liệu
Với hai mục đích khai phá dữ liệu (KPDL) là mô tả và dự đoán, người ta thường sử dụng các phương pháp sau cho khai phá dữ liệu [2]:
Các kỹ thuật KPDL được có thể chia làm 2 nhóm chính:
- Kỹ thuật KPDL mô tả: có nhiệm vụ mô tả về các tính chất hoặc các đặc tính chung của dữ liệu trong CSDL hiện có Nhóm kỹ thuật này gồm các phương pháp: phân nhóm(Clustering), tổng hợp hóa (Summerization), phát hiện sự biến đổi và độ lệch (Change and deviation detection), phân tích luật kết hợp (Association Rules),
- Kỹ thuật KPDL dự đoán: có nhiệm vụ đưa ra các dự đoán dựa vào các suy diễn trên dữ liệu hiện thời Nhóm kỹ thuật này gồm các phương pháp: phân lớp (Classification), hồi quy (Regression),…
Có nhiều phương pháp khai phá dữ liệu được nghiên cứu ở trên, trong đó
có ba phương pháp được các nhà nghiên cứu sử dụng nhiều nhất đó là: Luật kết hợp, Phân lớp dữ liệu và Gom nhóm dữ liệu Phương pháp phân nhóm dữ liệu được
sử dụng được đi sâu trong luận văn này và được trình bày ở những phần sau
1.1.4 Tổng quan các kỹ thuật khai phá dữ liệu
Vấn đề khai phá dữ liệu có thể được phân chia theo lớp các kỹ thuật khai phá chính sau:
Trang 18- Phân lớp và dự đoán: Là quy trình xếp một đối tượng vào một trong những lớp đã biết trước (ví dụ: phân lớp các bệnh nhân theo dữ liệu hồ sơ bệnh án, phân lớp vùng địa lý theo dữ liệu thời tiết ) Đối với hướng tiếp cận này thường sử dụng một số kỹ thuật của học máy như cây quyết định, mạng nơron nhân tạo, hay lớp bài toán này còn đươc gọi là học có giám sát - Học có thầy
- Phân nhóm: Sắp xếp các đối tượng theo từng nhóm dữ liệu tự nhiên, tức là
số lượng và tên nhóm chưa được biết trước Các đối tượng được gom nhóm sao cho mức độ tương tự giữa các đối tượng trong cùng một nhóm là lớn nhất và mức
độ tương tự giữa các đối tượng nằm trong các nhóm khác nhau là nhỏ nhất Lớp bài toán này còn được gọi là học không giám sát - Học không thầy Luận văn chủ yếu tập trung vào phần này
- Luật kết hợp: Là dạng luật biểu diễn tri thức ở dạng khá đơn giản (Ví dụ: 80% sinh viên đăng ký học Cơ sở dữ liệu thì có tới 60% trong số họ đăng ký học Phân tích thiết kế hệ thống thông tin) Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vực kinh doanh, y học, tin sinh học, giáo dục, viễn thông, tài chính và thị trường chứng khoán,
- Phân tích chuỗi theo thời gian: Cũng tưng tự như khai phá dữ liệu bằng luật kết hợp nhưng có thêm tính thứ tự và tính thời gian Một luật mô tả mẫu tuần
tự có dạng tiêu biểu X -> Y, phản ánh sự xuất hiện của biến cố X sẽ dẫn đến việc xuất hiện biến cố Y Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vực tài chính và thị trường chứng khoán bởi chúng có tính dự báo cao
- Mô tả khái niệm: Lớp bài toán này thiên về mô tả, tổng hợp và tóm tắt khái niệm (Ví dụ: tóm tắt nội dung văn bản)
1.2 Gom nhóm trong khai phá dữ liệu
1.2.1 Khái niệm và mục tiêu của gom nhóm dữ liệu
1.2.1.1 Gom nhóm dữ liệu:
Gom nhóm dữ liệu là một kỹ thuật trong khai phá dữ liệu nhằm tìm kiếm, phát hiện các nhóm, các mẫu dữ liệu tự nhiên tiềm ẩn và quan trọng trong tập dữ liệu lớn để từ đó cung cấp thông tin, tri thức cho việc ra quyết định [1]
Gom nhóm dữ liệu là sự phân chia một cơ sở dữ liệu lớn thành các nhóm
dữ liệu với trong đó các đối tượng tương tự như nhau Trong mỗi nhóm, một số
Trang 19chi tiết có thể không quan tâm đến để đổi lấy dữ liệu đơn giản hóa Hay ta có thể hiểu “Gom nhóm dữ liệu là quy trình tổ chức các đối tượng thành từng nhóm mà các đối tượng ở mỗi nhóm đều tương tự nhau theo một tính chất nào đó, những đối tượng không tương tự tính chất sẽ ở nhóm khác”
Gom nhóm dữ liệu là quy trình nhóm một tập các đối tượng tương tự nhau trong tập dữ liệu vào các nhóm sao cho các đối tượng thuộc cùng một nhóm
là tương đồng còn các đối tượng thuộc các nhóm khác nhau sẽ không tương đồng Gom nhóm dữ liệu là một ví dụ của phương pháp học không có thầy Không giống như phân lớp dữ liệu, gom nhóm dữ liệu không đòi hỏi phải định nghĩa trước các mẫu dữ liệu huấn luyện Vì thế, có thể coi gom nhóm dữ liệu là một cách học bằng quan sát, trong khi phân lớp dữ liệu là học bằng ví dụ Ngoài ra gom nhóm dữ liệu còn có thể được sử dụng như một bước tiền xử lí cho các thuật toán khai phá dữ liệu khác như là phân loại và mô tả đặc điểm, có tác dụng trong việc phát hiện ra các nhóm.[2]
Như vậy, gom nhóm dữ liệu là quy trình phân chia một tập dữ liệu ban đầu thành các nhóm dữ liệu sao cho các đối tượng trong một nhóm “tương tự” với nhau và các đối tượng trong các nhóm khác nhau sẽ “ không tương tự ” với nhau
Số các nhóm dữ liệu được phân ở đây có thể được xác định trước theo kinh nghiệm hoặc có thể được tự động xác định Ví dụ đơn giản như sau:
Hình 1.2 Gom nhóm dữ liệu dựa trên khoảng cách Trong hình 1.2 này, chúng ta dễ dàng xác định được 3 nhóm dựa vào các
dữ liệu đã cho; các tiêu chí “tương tự” để gom nhóm trong trường hợp này là khoảng cách: hai hoặc nhiều đối tượng thuộc nhóm của chúng được “đóng gói”
Trang 20theo một khoảng cách nhất định Điều này được gọi là gom nhóm dựa trên khoảng cách
Một kiểu khác của gom nhóm dữ liệu là gom nhóm dữ liệu dựa vào khái niệm: hai hay nhiều đối tượng thuộc cùng nhóm nếu có một định nghĩa khái niệm chung cho tất cả các đối tượng trong đó Nói cách khác, đối tượng của nhóm phải phù hợp với nhau theo miêu tả các khái niệm đã được định nghĩa, không phải theo những biện pháp đơn giản tương tự
1.2.1.2 Các mục tiêu của gom nhóm dữ liệu
Mục tiêu của gom nhóm dữ liệu là để xác định các nhóm nội tại bên trong một bộ dữ liệu không có nhãn Nhưng để có thể quyết định được cái gì tạo thành một nhóm tốt Nhưng làm thế nào để quyết định cái gì đã tạo nên một gom nhóm dữ liệu tốt? Nó có thể được hiển thị rằng không có tiêu chuẩn tuyệt đối “tốt nhất” mà sẽ là độc lập với mục đích cuối cùng của gom nhóm dữ liệu Do đó, mà người sử dụng phải cung cấp tiêu chuẩn, theo cách như vậy
mà kết quả của gom nhóm dữ liệu sẽ phù hợp với nhu cầu của họ cần
Ví dụ hình 1.3 chúng ta có thể quan tâm đến việc tìm kiếm đối tượng đại diện cho các nhóm đồng nhất trong “các nhóm tự nhiên” và mô tả thuộc tính không biết của chúng trong việc tìm kiếm các nhóm hữu ích và phù hợp hoặc trong việc tìm kiếm các đối tượng bất thường trong dữ liệu (cá biệt, ngoại lệ, nhiễu)
Hình 1.3 Ví dụ gom nhóm văn bản theo chủ đề
Trang 21Một vấn đề thường gặp trong gom nhóm là hầu hết các dữ liệu cần cho gom nhóm đều có chứa dữ liệu nhiễu do quy trình thu thập thiếu chính xác hoặc thiếu đầy đủ, vì vậy cần phải xây dựng chiến lược cho bước tiền xử lí dữ liệu nhằm khắc phục hoặc loại bỏ nhiễu trước khi chuyển sang giai đoạn phân tích nhóm dữ liệu Nhiễu ở đây được hiểu là các đối tượng dữ liệu không chính xác, không tường minh hoặc là các đối tượng dữ liệu khuyết thiếu thông tin về một
số thuộc tính
Một trong các kỹ thuật xử lí nhiễu phổ biến là việc thay thế giá trị các thuộc tính của đối tượng nhiễu bằng giá trị thuộc tính tương ứng Ngoài ra, dò tìm đối tượng ngoại lai cũng là một trong những hướng nghiên cứu quan trọng trong gom nhóm, chức năng của nó là xác định một nhóm nhỏ các đối tượng dữ liệu khác thường so với các dữ liệu trong cơ sở dữ liệu, tức là các đối tượng dữ liệu không tuân theo các hành vi hoặc mô hình dữ liệu nhằm tránh
sự ảnh hưởng của chúng tới quy trình và kết quả của gom nhóm
Theo các nghiên cứu đến thời điểm hiện nay thì chưa có một phương pháp gom nhóm tổng quát nào có thể giải quyết trọn vẹn cho tất cả các dạng cấu trúc cơ sở dữ liệu Hơn nữa, đối với các phương pháp gom nhóm cần có cách thức biểu diễn cấu trúc của cơ sở dữ liệu, với mỗi cách thức biểu diễn khác nhau sẽ có tương ứng một thuật toán gom nhóm phù hợp Vì vậy gom nhóm dữ liệu vẫn đang là một vấn đề khó và mở, vì phải giải quyết nhiều vấn đề cơ bản một cách trọn vẹn và phù hợp với nhiều dạng dữ liệu khác nhau, đặc biệt là đối với dữ liệu hỗn hợp đang ngày càng tăng trong các hệ quản trị dữ liệu và đây cũng là một trong những thách thức lớn trong lĩnh vực khai phá dữ liệu
1.2.2 Các ứng dụng của gom nhóm dữ liệu
Gom nhóm dữ liệu có thể ứng dụng trong nhiều lĩnh vực như [8]:
- Thương mại: tìm kiếm nhóm các khách hàng quan trọng dựa vào các thuộc tính đặc trưng tương đồng và những đặc tả của họ trong các bản ghi mua bán của cơ sở dữ liệu;
- Sinh học: phân loại động, thực vật qua các chức năng gen tương đồng của chúng;
- Thư viện : phân loại các nhóm sách có nội dung và ý nghĩa tương đồng nhau để cung cấp cho độc giả, cũng như đặt hàng với nhà cung cấp;
Trang 22- Bảo hiểm : nhận dạng nhóm tham gia bảo hiểm có chi phí yêu cầu bồi thường trung bình cao, xác định gian lận trong bảo hiểm thông qua các mẫu cá biệt;
- Quy hoạch đô thị : nhận dạng các nhóm nhà theo kiểu, vị trí địa lí, giá trị nhằm cung cấp thông tin cho quy hoạch đô thị;
- Nghiên cứu địa chấn : gom nhóm để theo dõi các tâm động đất nhằm cung cấp thông tin cho việc nhận dạng các vùng nguy hiểm;
- Khai phá web: tài liệu phân loại, phân nhóm dữ liệu weblog để khám phá các nhóm về các hình thức tiếp cận tương tự trợ giúp cho việc khai phá thông tin từ
dữ liệu
Luận văn này tập trung xây dựng ứng dụng gom nhóm tài liệu có nội dung tương tự tại Trung tâm dữ liệu và công nghệ thông tin Cục Hải quan Đồng Nai
Trang 23CHƯƠNG 2: GOM NHÓM VĂN BẢN
2.1 Tổng quan bài toán
Hiện nay con người đang tràn ngập trong vô vàn tài liệu, nhiều khi tài liệu trùng lặp một số nội dung tương tự hoặc tài liệu bị sao chép, tài liệu bị làm giả… Vấn đề đặt ra làm sao xác định được độ giống nhau hay tương tự nhau về nội dung giữa các tài liệu văn bản để người dùng phân loại và đánh giá được giá trị tài liệu cần tìm
Thực tế đã có một số nghiên cứu đề xuất các phương pháp khác nhau đề xác định xem một đoạn văn bản của một tài liệu có nằm trong một tài liệu nào khác không Các phương pháp này chủ yếu dựa trên tìm kiếm và so khớp chuỗi, tuy nhiên so khớp chuỗi chỉ có hiệu quả nếu việc sao chép là “nguyên văn” Việc sao chép có sửa đổi như thay thế một số từ bằng từ đồng nghĩa hay thay đổi thứ tự các câu trong văn bản cần các phương pháp khác hiệu quả hơn
Trong xử lý ngôn ngữ, phân loại nội dung tài liệu văn bản trong những năm gần đây là lĩnh vực đang được quan tâm của cộng đồng khoa học trong và ngoài nước Các công trình liên quan đến vấn đề xử lý ngôn ngữ tự nhiên và phân loại dữ liệu đã được công bố như:
Ngoài nước:
- Đề tài “Active Learning for Text Classification” [9] tạm dịch “Hoạt
động huấn luyện để phân loại văn bản” của tác giả Rong Hu, đang làm việc tại School of Computing, Dublin Institute of Technology
Đề tài thực hiện đưa các thông tin vào học máy dùng các thuật toán gom nhóm để tạo ra bộ dữ liệu mẫu Đề tài tập trung vào việc tối ưu cho việc học máy tích cực
- Bài báo “Text Categorization with Support Vector Machines: Learning
with Many Relevant Features” [10] tạm dịch “Phân loại văn bản dùng Support
Vector Manchines: Huấn luyện với nhiều tính năng liên quan” của tác giả Thorsten Joachims, trường Đại học Dortmund, Đức
Bài báo trình bày về việc sử dụng và cải tiến kỹ thuật Support Vector Machines (SVM) cho việc học máy có hiệu quả trong việc phân loại văn bản
Trang 24- Bài báo “Text Categorization” [11] của tác giả Fabrizio Sebastiani,
trường Đại học Padova, Ý
Bài báo trình bày 3 giai đoạn trong 1 hệ thống phân loại văn bản: lập chỉ mục tài liệu văn bản dùng LSI, học tập phân loại văn bản dùng SVM và Boosting, và đánh giá phân loại văn bản
- Bài báo “Text Categorization Based on Regulazired Linear
Classification Methods” [12] tạm dịch “Phân loại văn bản dựa trên phương
pháp phân loại tuyến tính chính quy” của nhóm tác giả Tong Zhang và Franks J.Oles, Mathematical Sciences Department, IBM T.J.Watson Research Center, NewYork
Bài báo trình bày phương pháp phân loại văn bản tuyến tính dựa vào các
kỹ thuật Linear Least Squares Fit, Logistic Regression, SVM
Hầu hết các đề tài trên đều tập trung xử lý cho phần học máy là chính Mặt khác, các đề tài dành cho xử lý ngôn ngữ tiếng nước ngoài, cụ thể là tiếng Anh Để áp dụng cho các tài liệu văn bản bằng tiếng Việt thì không có được độ chính xác như mong muốn
Trong nước có những công trình như:
- Bài báo “Social-aware Document Similarity Compution for
Recommender System” [13] của tác giả Tran Vu Pham, Le Nguyen Thach,
Faculty of Computer Science and Engineering, Ho Chi Minh City University of Technology, Ho Chi Minh City, Vietnam
Bài báo nói về tính toán sự tương đồng trong văn bản dựa vào kỹ thuật tính toán sự tương đồng qua 3 khía cạnh của văn bản: Content, Tag, User Tác giả nghiên cứu áp dụng kỹ thuật này để tính toán sự tương đồng của văn bản so với dữ liệu mẫu đã được học máy trước đó
- Bài báo “Dynamic Profile Representation and Matching in
Distributed Science Networks” [14] tạm dịch Biểu diễn và so sánh động hồ sơ cá
nhân trong các mạng khoa học của tác giả Phạm Trần Vũ, Trường Đại học Bách Khoa – Đại học Quốc gia TP.HCM, đăng trên Journal of Science and Technology Development, Vol 14, No K2, 2011
Bài báo có đề cập tới phương pháp so trùng các hồ sơ dựa trên các phân tích về mặt ngữ nghĩa (LSA) Các phương pháp này không cần sử dụng
Trang 25ontology, nhưng vẫn có khả năng thực hiện các so sánh liên quan đến ngữ nghĩa, dựa vào các phương pháp thống kê
- Bài báo “On the Use of Self-Organizing Map for Text Clustering in Engineering Change Process Analysis: A Case Study” của nhóm tác giả Massimo Pacella, Antonio Grieco, và Marzia Blaco
- Đề tài “Phân lớp tài liệu Web độc lập ngôn ngữ” [15] của Nguyễn Thị
Thùy Linh, ngành Công nghệ thông tin, trường Đại học Công Nghệ, Đại học Quốc gia Hà Nội năm 2006
Đề tài này nghiên cứu, đề xuất một phương pháp phân loại nội dung Web độc lập ngôn ngữ Phương pháp cho phép tích hợp thêm các ngôn ngữ mới vào bộ phân lớp vài giải quyết vấn đề bùng nổ đặc trưng thông qua hướng tiếp cận kỹ thuật học máy Entropy cực đại để xây dựng mô hình phân lớp và sử dụng chiến lược tối ưu hóa hàm nhiều biến Đề tài này tập trung vào việc học máy
- Đề tài “Phát triển thuật toán gom nhóm văn bản HTML và ứng dụng”
[16] của tác giả Nguyễn Thế Quang
Mục tiêu đề tài là nghiên cứu các khái niệm toán học nền tảng về mô hình không gian vectơ, mô hình Latent Semantic Indexing (LSI) được sử dụng
để lập chỉ mục, quản lý và truy xuất trên các tập văn bản lớn và thuật toán gom nhóm
Các đề tài trên đều có những ưu điểm nhất định của nó, tuy nhiên phạm
vi xử lý văn bản của nó quá rộng, hầu như không xác định cụ thể cho một loại văn bản nào Do đó, kết quả cho ra độ chính xác không được đồng nhất và khó
để đánh giá
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
Áp dụng thực tế tại Trung tâm dữ liệu và công nghệ thông tin Cục Hải quan Đồng Nai Đồng Nai Bài toán gom nhóm tài liệu văn bản ở đây là xử lý
Trang 26các tài liệu thành các nhóm, nhóm Với việc xử lý phân nhóm, một quyết định được đưa ra là nó thuộc nhóm nào hay không Ví dụ, một tài liệu đưa ra xem nó thuộc nhóm nào và những tài liệu tương tự tài liệu đó
Quy trình gom nhóm văn bản
Hình 2.1 Quy trình gom nhóm văn bản
Quy trình để gom nhóm văn bản nói chung bao gồm các bước sau:
- Xây dựng bộ dữ liệu văn bản đã được xử lý Tiến hành cho học máy bộ
dữ liệu và rút ra đặc trưng cho từng nhóm
- Chạy huấn luyện mạng Kohonen và rút ra kết quả nhóm
- Truy vấn dữ liệu của từng nhóm
Ý nghĩa của khai phá văn bản:
- Phát hiện các tri thức ‘tiềm ẩn’ trong kho văn bản
- Thực hiện phân tích ngữ học: rút trích các khái niệm chính, tạo từ vựng, tạo ngân hàng thuật ngữ, tóm tắt nội dung
- Gom nhóm tài liệu có nội dung tương tự theo chủ đề
- Tìm kiếm dựa trên khái niệm và sự hình dung
- Cung cấp tài nguyên thỏa yêu cầu truy vấn
Trang 272.2 Đặc điểm ngôn ngữ tiếng Việt
2.2.1 Cấu tạo từ tiếng Việt
tư cách một thành tố trong các cơ chế cấu tạo từ (từ đơn, từ láy, từ ghép…) Theo
từ điển tiếng Việt- Hoàng Phê (1998) thì tiếng Việt hiện đại sử dụng 6718 âm tiết
Sử dụng tiếng để tạo từ có hai trường hợp:
Trường hợp một tiếng: đây là trường hợp một tiếng được dùng làm một từ, gọi là từ đơn Tuy nhiên không phải tiếng nào cũng tạo thành một từ
Trường hợp hai tiếng trở lên: đây là trường hợp hai hay nhiều tiếng kết hợp với nhau, cả khối kết hợp với nhau gắn bó tương đối chặt chẽ, mới có tư cách ngữ pháp là một từ Đây là trường hợp từ ghép hay từ phức
Từ:
Có rất nhiều quan niệm về từ trong tiếng Việt, từ nhiều quan niệm về từ tiếng Việt khác nhau đó chúng ta có thể thấy đặc trưng cơ bản của "từ" là sự hoàn chỉnh về mặt nội dung, từ là đơn vị nhỏ nhất để đặt câu
Người ta dùng "từ" kết hợp thành câu chứ không phải dùng "tiếng", do
đó tách câu thành các "từ" cho kết quả tốt hơn là tách câu bằng “tiếng”
Nhóm từ là những kiến trúc gồm hai từ trở lên kết hợp tự do với nhau theo quan hệ ngữ pháp nhất định và không chứa kết từ ở đầu
Ví dụ:
Từ “học” là một từ gồm một tiếng
Từ “đại học” là một từ gồm hai tiếng
Nhóm từ “Khoa học máy tính” gồm 2 từ hay 4 tiếng
Trang 282.2.2 Đặc điểm chính tả
Đặ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ư [3]: -Các tiếng đồng âm: kĩ/kỹ, lí, lý… thường bị sử dụng lẫn nhau như: lý luận,
lí luận, kĩ thuật, kỹ thuật…
- 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: cây kiểng/cây cảnh, đờn/đàn, đậu phộng/lạc…
- 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…
- Cá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ụ: Singapore/Xin−ga−po
- 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ư “.”, “;”, “!”, “?”,
2.2.3.1 Phương pháp Maximum Matching: Forward / Backward
Phương pháp so khớp tối đa (MM-Maximum Matching) hay còn gọi là LRMM - Left Right 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 ba từ có bắt đầu với C1 hoặc
C1C2.Ví dụ : Giả sử chúng ta có được các đoạn sau:
Nhận xét :
Trang 29Phươ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
2.2.3.2 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 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à để 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 để
có thể rút ra các luật đầy đủ
2.2.3.3 Mô hình tách từ bằng WFST và mạng Neural
Mô hình mạng chuyển dịch trạng thái hữu hạn có trọng số Weighted Finit State Transducer (WFST) đã được áp dụng trong tách từ từ năm 1996 Ý tưởng cơ bản là áp dụng WFST với trọng số là xác suất xuất hiện của mỗi từ trong kho ngữ liệu Dùng WFST để duyệt qua các câu cần xét, khi đó từ có trọng số lớn nhất là
từ được chọn để tách Phương pháp này cũng đã được sử dụng trong công trình đã được công bố của tác giả Đình Điền năm 2001, tác giả đã sử dụng WFST kèm với mạng Neural để khử nhập nhằng khi tách từ, trong công trình tác giả đã xây dựng
Bước 1: Xây dựng từ điển trọng số: theo mô hình WFST, thao tác phân
đoạn từ được xem như là một sự chuyển dịch trạng thái có xác suất
Chúng ta miêu tả từ điển D là một đồ thị biến đổi trạng thái hữu hạn có trọng số
Giả sử:
- H là tập các từ chính tả tiếng Việt (còn gọi là “tiếng”) P là từ loại của từ
- Mỗi cung của D có thể là:
Từ một phần tử của H tới một hần tử của H Các nhãn trong D biểu diễn một chi phí được ước lượng theo côngthức: Cost = -log(f/N)
Trong đó: f là tần số của từ, N là kích thước tập mẫu
Bước 2: Xây dựng các khả năng phân đoạn từ: Để giảm sự bùng nổ tổ
hợp khi sinh ra dãy các từ có thể từ một dãy các tiếng trong câu, tác giả đã đề xuất phương pháp kết hợp dùng thêm từ điển để hạn chế sinh ra các bùng nổ tổ
Trang 30hợp, cụ thể là nếu phát hiện thấy một cách phân đoạn từ nào đó không phù hợp (không có trong từ điển, không có phải là tứ láy, không phải là danh từ riêng,…) thì tác giả loại bỏ các nhánh xuất phát từ cách phân đoạn đoạn đó
Bước 3: Lựa chọn khả năng phân đoạn từ tối ưu: Sau khi có được danh
sách các cách phân đoạn từ có thể có của câu, tác giả đã chọn trường hợp phân đoạn từ có trọng số bé nhất
và khi đó tầng mạng Neural sẽ loại bỏ đi các từ không phù hợp bằng cách kết hợp với từ điển Bên cạnh đó, cũng tương tự như phương pháp TBL điểm quan trọng của mô hình này cần tập ngữ liệu học đầy đủ
2.3 Hướng tiếp cận cho bài toán
2.3.1 Tiền xử lý văn bản tiếng Việt
Văn bản trước khi được đưa vào công cụ hệ thống tra cứu cần được tiền xử
lý Quy trình này sẽ giúp nâng cao hiệu quả của công cụ hệ thống 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 Thông thường các bước tiền xử lý văn bản gồm:
- Phân tích cấu trúc văn bản, tách phần
- Tách văn bản thành các câu và các từ riêng lẻ để sử dụng cho mục đích tính toán sau này
- Loại bỏ hư từ, từ dừng, loại bỏ các ký tự không phải chữ cái hoặc chữ số
- Lưu các câu và các từ vào một cấu trúc dữ liệu phù hợp
- Chuyển văn bản sang vector
- Bộ công cụ tách từ vnTokenizer thuộc nhánh đề tài “Xử lý văn bản tiếng Việt” nằm trong Đề tài thuộc Chương trình Khoa học Công nghệ cấp Nhà nước
“Nghiên cứu phát triển một số sản phẩm thiết yếu về xử lý tiếng nói và văn bản tiếng Việt” (2006) cũng cho độ chính xác cao, trên 97%
Trang 312.3.1.2 Loại bỏ hư từ - từ dừng
Hư từ, từ dừng trong hệ thống tiếng Việt là các từ thường xuất hiện nhiều trong các văn bản của tập dữ liệu, thường thì chúng không giúp ích gì trong việc phân biệt nội dung của các tài liệu
Ví dụ: “như vậy”, “sau đó”, “một số”, “chỉ”, “thì”, “mà”, “là”, “và’,
“bị”, “này”, “nếu”…
2.3.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 nên loại bỏ
2.3.2 Tính độ tương đồng giữa các văn bản
Một số đề tài đáng chú ý về so sánh, đánh giá độ tương tự văn bản như [5] của tác giả Đỗ Thị Thanh Nga (Đại học Công nghệ Đại học Quốc gia Hà Nội, 2010), đề tài [4] của tác giả Dương Thăng Long (Viện Đại học Mở Hà Nội, 2014)
Đề tài của tác giả Đỗ Thị Thanh Nga đưa ra mô hình tính độ tương tự ngữ nghĩa giữa hai văn bản dựa trên độ tương tự giữa từ với từ kết hợp với tần suất đặc trưng của từ [5] Kết quả của đề tài tương đối khả quan với những cặp văn bản hoặc là giống nhau nhiều hoặc là khác nhau nhiều Tuy nhiên, do phương pháp này chưa xét đến mối quan hệ về cấu trúc của từ/nhóm từ, vị trí của câu… nên vẫn còn nhiều trường hợp chương trình thử nghiêm cho kết quả không chính xác Cũng chình vì thế các văn bản có sự tương đồng cao về ngữ nghĩa không hẳn đã là giống nhau Nói cách khác, độ tương đồng về ngữ nghĩa không phản ánh được chính xác sự sao chép trong các văn bản đem so sánh
Đề tài của tác giả Dương Thăng Long giới thiệu phương pháp đánh giá độ tương tự văn bản tiếng Việt sử dụng 3 yếu tố: độ tương tự dựa trên vector đặc trưng ngữ nghĩa, độ tương tự dựa trên cấu trúc thứ tự các từ và độ tương tự dựa trên ma trận so sánh cặp từ vựng theo nhóm từ loại [4] Sự kết hợp của 3 yếu
tố trên làm tăng hiệu quả đánh giá, tuy nhiên, phương pháp đề xuất còn phụ thuộc vào kết quả của các xử lý trung gian, đặc biệt là dịch từ tiếng Việt sang
Trang 32tiếng Anh và đánh giá độ tương tự của cặp từ vựng tiếng Anh, dẫn đến độ tin cậy của kết quả đánh giá độ tương tự văn bản giảm nhiều
2.3.3 Hướng giải quyết bài toán
Do việc xây dựng bộ tách từ khá phức tạp và nằm ngoài phạm vi của luận văn nên trong thực nghiệm, Luận văn sử dụng bộ tách từ đã được viết sẵn
và cung cấp miễn phí Vn Tokenizer để thực hiện bước tiền xử lý văn bản Việc xác định các từ dừng trong văn bản được thực hiện thông qua một từ điển từ dừng
Sau khi phân tách từ thành công, văn bản sẽ gồm tập các từ, nhóm từ mà ngữ nghĩa của chúng tạo nên nội dung của văn bản Trong đa số các hệ xử lý văn bản, các văn bản đều được coi là tập các từ khóa và biểu diễn chúng dưới dạng vector, chẳng hạn như Di = (di1,di2, …, din) với dik biểu diễn trọng số/tần xuất của từ tk trong Di Việc so sánh độ tương tự giữa hai văn bản Di và Dj, kí hiệu là Sim(Di,Dj), được tính toán theo các công thức tính toán độ tương tự, trong luận văn này sử dụng độ đo khoảng cách Euclide
Nếu độ tương tự này đạt đến một ngưỡng đủ lớn thì người ta nói rằng chúng có liên quan về mặt ngữ nghĩa và ta có thể thiết lập một liên kết giữa hai văn bản này
Nhằm kế thừa ưu điểm của các phương pháp đã biết, hướng tiếp cận bài toán so sánh văn bản tiếng Việt là xác định độ tương tự của văn bản dựa trên độ tương tự của từ, nhóm từ và tần số xuất hiện của từ trong câu Những cải tiến của phương pháp đề xuất so với so sánh văn bản tiếng Anh và các phương pháp đã biết là:
Kết hợp sử dụng bộ tách từ, từ điển từ dừng làm tăng tính ngữ nghĩa của tập từ khóa và vector đặc trưng biểu diễn văn bản Sau đó huấn luyện mạng Kohonen để gom nhóm tài liệu
Trong các phần tiếp theo, chúng tôi sẽ trình bày chi tiết về các phương pháp tính độ tương đồng và mô hình hệ thống so sánh văn bản tiếng Việt sử dụng mạng Kohonen
Trang 332.4 Độ tương đồng
2.4.1 Khái niệm độ tương đồng
Trong toán học, một độ đo là một hàm số cho tương ứng với một "chiều dài", một "thể tích" hoặc một "xác suất" với một phần nào đó của một tập hợp cho sẵn Nó là một khái niệm quan trọng trong giải tích và trong lý thuyết xác suất
Ví dụ độ đo đếm được định nghĩa bởi µ(S) = số phần tử của S
Rất khó để đo sự giống nhau, sự tương đồng Sự tương đồng là một đại lượng (con số) phản ánh cường độ của mối quan hệ giữa hai đối tượng hoặc hai đặc trưng
Đại lượng này thường ở trong phạm vi từ -1 đến 1 hoặc 0 đến 1 Như vậy, một độ đo tương đồng có thể coi là một loại Scoring Function (hàm tính điểm)
Ví dụ trong mô hình không gian vector, ta sử dụng độ đo khoảng cách Euclide để tính độ tương đồng giữa hai văn bản, mỗi văn bản được biểu diễn bởi một vector
2.4.2 Độ tương đồng
Phát biểu bài toán độ tính tương đồng như sau: Xét 2 văn bản di và dj Mục tiêu của bài toán là tìm ra một giá trị của hàm S(di,dj) với S ∈ (0,1) Hàm S(di,dj) được gọi là độ đo sự tương đồng giữa 2 văn bản di và dj Giá trị càng cao thì sự giống nhau về nghĩa của hai văn bản càng nhiều
Ví dụ: Xét hai câu sau: “con hổ rượt con sư tử” và “Con sư tử rượt con hổ”, bằng trực giác có thể thấy rằng hai câu trên có sự tương đồng khá cao Độ tương đồng ngữ nghĩa là một giá trị tin cậy phản ánh mối quan hệ ngữ nghĩa giữa hai câu Trên thực tế, khó có thể lấy một giá trị có chính xác cao bởi vì ngữ nghĩa chỉ được hiểu đầy đủ trong một ngữ cảnh cụ thể
2.4.3 Các phương pháp tính độ tương đồng
Bài toán độ tương đồng ngữ nghĩa được sử dụng phổ biến trong lĩnh vực
xử lý ngôn ngữ tự nhiên và có nhiều kết quả khả quan Một số phương pháp tính độ tương đồng được sử dụng để tính độ đo này như sau: