Tải bản đầy đủ

Xây dựng công cụ phân loại văn bản tự động: luận văn thạc sĩ

BỘ 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


BỘ 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


i

LỜ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


ii

LỜ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


iii

TRƯỜ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.


iv

- 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ế.
Ngày 09

tháng 09 năm 2017

NGƯỜI HƯỚNG DẪN

HỌC VIÊN

PGS. TS. Trần Văn Hoài

Lê Tiến Mạnh


v

MỤ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


vi

2.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


vii

CHƯƠ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


viii

DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT
Từ hoặc nhóm từ

Từ viết tắt

Từ tiếng Anh

Cơ sở dữ liệu

CSDL

Database

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
Knowledge Discovery

Khai phá tri thức trong
KDD
cơ sở dữ liệu
Phân loại dữ liệu
PLDL
Tổng cục Hải quan
TCHQ
Hải quan tỉnh Đồng Nai HQĐN

In database
Classification
Việt Nam Customs
Đồng Nai Customs


ix

DANH 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


1

MỞ ĐẦ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)
STT
Tài liệu
1 Tài liệu tiếng Việt
2
3
4

Tài liệu Ngoại văn
Hồ sơ khác
Tài liệu đa phương tiện

Số lượng
43.289 văn bản
>16.000 bản
13.000 biểu ghi
12.500 tên

Bảng 1.1 Nguồn lực thông tin tài liệu


2

Mô 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:


3

Chươ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


4

CHƯƠ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


5

Quy 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ữ


6

liệ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:


7

- 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ố


8

chi 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”


9

theo 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ủ đề


10

Mộ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;


11

- 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.


12

CHƯƠ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..


13

- 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


14

ontology, 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ý


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×