Biểu diễn văn bản là một trong những công đoạn quan trọng nhất và được quan tâm đầu tiên trong các vấn đề xử lý văn bản. Nó có ảnh hưởng rất lớn đến các bài toán tìm kiếm văn bản, phân lớp, phân cụm hay tóm tắt văn bản Khóa luận này trình bày và nghiên cứu một phương pháp biểu diễn văn bản mới dựa trên cơ sở lý thuyết tập mờ và áp dụng vào bài toán phân lớp văn bản. Nội dung của khóa luận tập trung vào các vấn đề sau:
60 trang |
Chia sẻ: vietpd | Lượt xem: 2852 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Luận văn Một số thuật toán phân lớp tiêu biểu và phương pháp biểu diễn văn bản dựa trên các khái niêm mờ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Khóa luận tốt nghiệp Nguyễn Việt Cường
i
LỜI CẢM ƠN
Em xin bày tỏ lòng kính trọng và biết ơn sâu sắc tới thầy giáo, tiến sĩ HÀ
QUANG THỤY, Trường Đại học Công nghệ, ĐHQG Hà Nội và tiến sĩ ĐOÀN SƠN,
Đại học Tohoku, Nhật Bản đã hướng dẫn và động viên em rất nhiều trong quá trình
làm luận văn.
Em xin được gửi lời cảm ơn tới các Thầy, Cô trong Trường Đại học Công
Nghệ, Đại học Quốc Gia Hà Nội và nhóm Xeminar thuộc bộ môn Các Hệ thống
Thông tin, những người đã dạy dỗ, giúp đỡ và chỉ bảo cho em trong suốt quá trình học
tập.
Cuối cùng, con xin gửi lời biết ơn tới gia đình, nơi đã sinh thành, nuôi dưỡng
và động viên con rất nhiều trong thời gian qua.
Hà Nội ngày 20/05/2006
Sinh viên
Nguyễn Việt Cường
Khóa luận tốt nghiệp Nguyễn Việt Cường
ii
TÓM TẮT
Biểu diễn văn bản là một trong những công đoạn quan trọng nhất và được quan
tâm đầu tiên trong các vấn đề xử lý văn bản. Nó có ảnh hưởng rất lớn đến các bài toán tìm
kiếm văn bản, phân lớp, phân cụm hay tóm tắt văn bản… Khóa luận này trình bày và
nghiên cứu một phương pháp biểu diễn văn bản mới dựa trên cơ sở lý thuyết tập mờ và áp
dụng vào bài toán phân lớp văn bản. Nội dung của khóa luận tập trung vào các vấn đề
sau:
1. Trình bày một số phương pháp biểu diễn văn bản thông thường, trong đó, khóa
luận đi sâu vào cách biểu diễn theo mô hình vector, tức mỗi văn bản sẽ được biểu diễn
như một vector có các thành phần là các từ khóa có mặt hoặc không có mặt trong văn bản.
Sau đó, khóa luận tìm hiểu phương pháp biểu diễn văn bản trong máy tìm kiếm.
2. Trình bày về lý thuyết tập mờ, và đề cập một cách biểu diễn văn bản mới dựa
trên các khái niệm mờ. Từ đó đề xuất hướng giải quyết khi xuất hiện các từ đồng nghĩa
trong văn bản.
3. Tiến hành thử nghiệm cách biểu diễn mới này vào bài toán phân lớp văn bản.
Chỉ ra một số kết quả phân lớp và so sánh với phương pháp biểu diễn theo mô hình vector
thông thường. Từ đó rút ra một số kết luận và hướng phát triển tiếp theo.
Khóa luận tốt nghiệp Nguyễn Việt Cường
iii
MỤC LỤC
LỜI CẢM ƠN ..........................................................................................................i
TÓM TẮT ...............................................................................................................ii
MỤC LỤC............................................................................................................. iii
MỞ ĐẦU.................................................................................................................1
Chương 1. KHAI PHÁ DỮ LIỆU VĂN BẢN........................................................3
1.1. Tổng quan về khai phá dữ liệu................................................................3
1.1.1. Khái niệm............................................................................................3
1.1.2. Các bước của quá trình khai phá dữ liệu ............................................3
1.1.3. Ứng dụng của khai phá dữ liệu...........................................................5
1.2. Một số bài toán trong khai phá dữ liệu văn bản......................................6
1.2.1. Tìm kiếm văn bản ...............................................................................6
1.2.2. Phân lớp văn bản.................................................................................7
Chương 2. CÁC PHƯƠNG PHÁP CƠ BẢN BIỂU DIỄN VĂN BẢN ...............10
2.1. Tiền xử lý văn bản ................................................................................10
2.2. Mô hình Logic.......................................................................................12
2.3. Mô hình phân tích cú pháp ...................................................................14
2.4. Mô hình không gian vector ...................................................................15
2.4.1. Mô hình Boolean ..............................................................................17
2.4.2. Mô hình tần suất ...............................................................................17
2.5. Biểu diễn văn bản trong máy tìm kiếm.................................................20
2.5.1. Giới thiệu về máy tìm kiếm..............................................................20
2.5.2. Mô hình biểu diễn văn bản trong máy tìm kiếm ..............................21
Chương 3. BIỂU DIỄN VĂN BẢN SỬ DỤNG CÁC KHÁI NIỆM MỜ ............23
Khóa luận tốt nghiệp Nguyễn Việt Cường
iv
3.1. Lý thuyết mờ .........................................................................................23
3.1.1. Tập mờ ..............................................................................................23
3.1.2. Các phép toán trên tập mờ ................................................................25
3.1.3. Quan hệ mờ.......................................................................................27
3.1.4. Các phép toán trên quan hệ mờ ........................................................27
3.2. Biểu diễn văn bản sử dụng các khái niệm mờ ......................................29
3.2.1. Khái niệm mờ ...................................................................................30
3.2.2. Biểu diễn văn bản .............................................................................32
3.2.3. Đề xuất giải pháp cho vấn đề đồng nghĩa.........................................32
Chương 4. CÁC PHƯƠNG PHÁP PHÂN LỚP VĂN BẢN................................35
4.1. Tổng quan về bài toán phân lớp............................................................35
4.2. Các thuật toán phân lớp ........................................................................36
4.2.1. Phân lớp dựa trên thuật toán Naive Bayes........................................36
4.2.2. Phân lớp dựa trên thuật toán K - Nearest Neighbor (KNN).............38
4.2.3. Phân lớp dựa vào thuật toán cây quyết định.....................................39
4.2.4. Phân lớp sử dụng Support Vector Machines (SVM)........................41
Chương 5. MỘT SỐ KẾT QUẢ THỰC NGHIỆM ..............................................43
5.1. Tập dữ liệu và tiền xử lý .......................................................................43
5.2. Công cụ và phương pháp phân lớp .......................................................44
5.3. Kết quả thực nghiệm.............................................................................45
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ............................................................53
TÀI LIỆU THAM KHẢO.....................................................................................55
Khóa luận tốt nghiệp Nguyễn Việt Cường
1
MỞ ĐẦU
Ngày nay, sự phát triển mạnh mẽ của Internet đã dẫn đến sự bùng nổ thông tin về
nhiều mặt kể cả về nội dung lẫn số lượng. Chỉ bằng một thao tác tìm kiếm đơn giản, ta có
thể nhận về một khối lượng khổng lồ các trang web có chứa thông tin liên quan tới nội
dung ta tìm kiếm. Tuy nhiên, chính sự dễ dàng này cũng mang đến cho con người rất
nhiều khó khăn trong việc chắt lọc ra các thông tin có ích để thu được các tri thức mới.
Phát hiện tri thức và khai phá dữ liệu là câu trả lời mới nhất cho vấn đề này nhằm phát
hiện ra các tri thức mới từ khối dữ liệu khổng lồ mà con người có được.
Trong các loại dữ liệu thì văn bản là loại dữ liệu phổ biến mà con người thường
gặp phải nhất. Mô hình biểu diễn văn bản phổ biến hiện nay là mô hình không gian
vector, trong đó mỗi văn bản được biểu diễn bằng một vector của các từ khóa. Tuy nhiên
bài toán khai phá dữ liệu văn bản thường gặp phải một số khó khăn như tính nhiều chiều
của văn bản, tính nhập nhằng của ngôn ngữ… Trong khóa luận này, chúng tôi xin đề cập
đến một cách biểu diễn văn bản mới: biểu diễn dựa trên các khái niệm mờ. Trong đó, mỗi
khái niệm sẽ được xác định bởi một tập các từ khóa liên quan. Và mức độ liên quan của
khái niệm đến văn bản sẽ được xác định bằng hàm tích hợp mờ các từ khóa đó. Sau khi đã
có một tập các khái niệm liên quan đến một hay nhiều chủ đề cần phần lớp, mỗi văn bản
sẽ được xem như là một vector có các thành phần là các khái niệm mờ đó.
Với lượng thông tin dạng văn bản đồ sộ của Internet, một yêu cầu lớn đặt ra đối
với chúng ta là làm sao tổ chức và tìm kiếm thông tin có hiệu quả nhất. Phân lớp (phân
loại) thông tin là một trong những giải pháp hợp lý cho yêu cầu trên. Khóa luận sẽ trình
bày một số thuật toán phân lớp tiêu biểu và đưa ra hướng thực nghiệm cho phương pháp
biểu diễn văn bản dựa trên các khái niêm mờ.
Chúng tôi áp dụng thuật toán KNN (k – người láng giềng gần nhất) và phần mềm
WEKA (K-người láng giếng gần nhất) để tiến hành phân lớp. Phần thực nghiệm cho thấy
rằng phương pháp biểu diễn văn bản dựa khái niệm mờ có kết quả phân lớp tốt hơn so với
phương pháp biểu diễn văn bản theo vector từ khóa.
Ngoài phần mở đầu và kết luận, nội dung của luận văn được trình bày trong 5
chương:
Khóa luận tốt nghiệp Nguyễn Việt Cường
2
Chương 1, giới thiệu tổng quan về khai phá dữ liệu văn bản, một số định nghĩa và
một số bài toán điển hình.
Chương 2, trình bày một số phương pháp biểu diễn văn bản truyền thống: mô
hình tần suất, mô hình phân tích cú pháp, mô hình không gian vector... Đồng thời nêu ra
cách biểu diễn văn bản thường dùng trong máy tìm kiếm.
Chương 3, giới thiệu tổng quan về lý thuyết tập mờ [9][14] và một số phép toán
trên tập mờ. Nội dung chính của chương là đề cập một cách biểu diễn văn bản mới dựa
trên các khái niệm mờ.
Chương 4, trình bày bài toán phân lớp văn bản và một số thuật toán phân lớp tiêu
biểu.
Chương 5, chỉ ra các kết quả thực nghiệm có được khi áp dụng mô hình biểu diễn
mới trong bài toán phân lớp văn bản. Đánh giá và so sánh với mô hình biểu diễn thông
thường.
Khóa luận tốt nghiệp Nguyễn Việt Cường
3
Chương 1. KHAI PHÁ DỮ LIỆU VĂN BẢN
1.1. Tổng quan về khai phá dữ liệu
1.1.1. Khái niệm
Khai phá dữ liệu[1][7][13] là một khái niệm ra đời vào những năm cuối của thập
kỷ 80 của thế kỷ 20. Nó bao hàm một loạt các kỹ thuật nhằm phát hiện ra các thông tin có
giá trị tiềm ẩn trong các tập dữ liệu lớn như các kho dữ liệu, các cơ sở dữ liệu (CSDL) có
dung lượng rất lớn. Về bản chất, khai phá dữ liệu liên quan đến việc phân tích các dữ liệu
và sử dụng các kỹ thuật để tìm ra các mẫu có tính hệ thống trong tập dữ liệu.
Một số định nghĩa tiêu biểu về Data mining:
Khái niệm data mining được định nghĩa như sau: “The nontrivial extraction
of implicit, previously unknown, and potentially useful information from data” [13], tạm
dịch: “là việc trích rút một cách phức tạp các thông tin - ẩn, không biết trước và có khả
năng hữu ích - từ dữ liệu”.
“The science of extracting useful information from large data sets or databases”
[1], tạm dịch là: “Nghành khoa học chuyên trích chọn những thông tin có giá trị từ những
tập dữ liệu lớn hoặc các CSDL”.
Năm 1989, Fayyad, Piatestky-Shapiro và Smyth đã đưa ra khái niệm “Phát hiện
tri thức trong cơ sở dữ liệu” (Knowledge Discovery in Databases - KDD) để chỉ toàn bộ
quá trình phát hiện các tri thức có ích từ các tập dữ liệu lớn [6]. Trong đó, khai phá dữ
liệu là một bước đặc biệt quan trọng trong toàn bộ quá trình, sử dụng các thuật toán
chuyên dụng để chiết xuất ra các mẫu (pattern) từ dữ liệu.
1.1.2. Các bước của quá trình khai phá dữ liệu
Các thuật toán khai phá dữ liệu thường được miêu tả như những chương trình
hoạt động trực tiếp trên tệp dữ liệu. Với các phương pháp học máy và thống kê trước đây,
thường thì bước đầu tiên của các thuật toán là nạp toàn bộ dữ liệu vào trong bộ nhớ trong
để xử lý. Khi chuyển sang các ứng dụng công nghiệp liên quan đến việc khai phá các kho
dữ liệu lớn, mô hình này không thể đáp ứng được. Không chỉ bởi vì không thể nạp hết dữ
liệu vào trong bộ nhớ mà còn vì không thể chiết suất dữ liệu ra các tệp đơn giản để phân
tích được.
Khóa luận tốt nghiệp Nguyễn Việt Cường
4
Quá trình khai phá dữ liệu bắt đầu bằng cách xác định chính xác vấn đề cần giải
quyết. Sau đó sẽ xác định các dữ liệu liên quan dùng để xây dựng giải pháp. Bước tiếp
theo là thu thập các dữ liệu có liên quan và xử lý chúng thành định dạng sao cho các thuật
toán khai phá dữ liệu có thể hiểu được. Về lý thuyết thì có vẻ rất đơn giản nhưng khi thực
hiện thì đây thực sự là một quá trình rất khó khăn, gặp phải nhiều vướng mắc như dữ liệu
phải được sao ra nhiều bản (nếu được chiết suất vào các tệp), quản lý tập các tệp dữ liệu,
phải lặp đi lặp lại nhiều lần toàn bộ quá trình (nếu mô hình dữ liệu thay đổi) ...
Sẽ là quá cồng kềnh với một thuật toán khai phá dữ liệu nếu phải truy nhập vào
toàn bộ nội dung của CSDL và làm những việc như trên. Vả lại, điều này cũng không cần
thiết. Có rất nhiều thuật toán khai phá dữ liệu thực hiện trên những thống kê tóm tắt khá
đơn giản của CSDL, khi mà toàn bộ thông tin trong CSDL là quá dư thừa đối với mục
đích của việc khai phá dữ liệu.
Bước tiếp theo là chọn thuật toán khai phá dữ liệu thích hợp và thực hiện việc
khai phá để tìm được các mẫu có ý nghĩa dưới dạng biểu diễn tương ứng với các ý nghĩa
đó. Thông thường các mẫu được biểu diễn dưới dạng luật phân loại, cây quyết định, luật
sản xuất, biểu thức hồi quy, ...
Hình 1: Quá trình khai phá dữ liệu
Đặc điểm của các mẫu là phải mới, ít nhất là đối với hệ thống đó. Độ mới có thể
được đo tương ứng với độ thay đổi trong dữ liệu (bằng cách so sánh các giá trị hiện tại với
các giá trị trước đó hoặc các giá trị mong muốn), hoặc bằng tri thức (mối liên hệ giữa các
Khóa luận tốt nghiệp Nguyễn Việt Cường
5
phương pháp tìm mới và phương pháp cũ như thế nào). Thường thì độ mới của mẫu được
đánh giá bằng các hàm logic hoặc hàm đo độ mới, độ bất ngờ của mẫu. Ngoài ra, mẫu
phải có khả năng sử dụng tiềm tàng. Các mẫu này sau khi được xử lý và diễn giải phải
dẫn đến những hành động có ích nào đó được đánh giá bởi một hàm lợi ích. Ví dụ như
trong dữ liệu các khoản vay, hàm lợi ích đánh giá khả năng tăng lợi nhuận từ các khoản
vay. Mẫu khai thác được phải có giá trị đối với các dữ liệu mới với độ chính xác nào đó.
Vì khi thi hành các thuật toán và các nhiệm vụ của khai phá dữ liệu là rất khác
nhau cho nên dạng của các mẫu chiết xuất được cũng rất đa dạng. Theo cách đơn giản
nhất, sự phân tích cho ra kết quả chiết xuất là một báo cáo về một số loại, có thể bao gồm
các phép đo mang tính thống kê về độ phù hợp của mô hình, các dữ liệu lạ... Trong thực
tế thì đầu ra phức tạp hơn nhiều. Mẫu chiết suất được có thể là một mô tả xu hướng, có
thể dưới dạng văn bản, một đồ thị mô tả các mối quan hệ trong mô hình, cũng có thể là
một hành động, ví dụ như yêu cầu của người dùng làm gì với những gì khai thác được
trong CSDL.
Như vậy có thể nhận thấy rằng kỹ thuật khai phá dữ liệu thực chất là sự kế thừa,
kết hợp và mở rộng của các kỹ thuật cơ bản đã được nghiên cứu từ trước như học máy,
nhận dạng, thống kê (hồi quy, xếp loại, phân nhóm), các mô hình đồ thị, mạng Bayes, trí
tuệ nhân tạo, thu thập tri thức hệ chuyên gia... Tuy nhiên, với sự kết hợp hướng mục tiêu
của khai phá dữ liệu, kỹ thuật này có ưu thế hơn hẳn các phương pháp trước đó, đem lại
nhiều triển vọng trong việc ứng dụng phát triển nghiên cứu khoa học cũng như làm tăng
mức lợi nhuận trong các hoạt động kinh doanh.
1.1.3. Ứng dụng của khai phá dữ liệu
Tuy là một hướng tiếp cận mới nhưng khai phá dữ liệu đã thu hút được rất nhiều
sự quan tâm của các nhà nghiên cứu và phát triển nhờ vào những ứng dụng thực tiễn của
nó [xx]. Chúng ta có thể liệt kê ra đây một số ứng dụng điển hình:
Phân tích dữ liệu và hỗ trợ ra quyết định (data analysis & decision support)
Điều trị y học (medical treatment)
Text mining & Web mining
Tin-sinh học (bio-informatics)
Tài chính và thị trường chứng khoán (finance & stock market)
Khóa luận tốt nghiệp Nguyễn Việt Cường
6
Phần tiếp theo, chúng tôi xin trình bày khái quát về Text Mining (gọi theo tiếng
Việt là Khai phá dữ liệu văn bản), một trong những ứng dụng điển hình nêu trên của khai
phá dữ liệu.
1.2. Một số bài toán trong khai phá dữ liệu văn bản
1.2.1. Tìm kiếm văn bản
Nội dung:
Tìm kiếm văn bản[2][10] là quá trình tìm kiếm văn bản theo yêu cầu của người
dùng. Các yêu cầu được thể hiện dưới dạng các câu hỏi (query), dạng câu hỏi đơn giản
nhất là các từ khóa. Có thể hình dung hệ tìm kiếm văn bản sắp xếp tập văn bản trong miền
tìm kiếm thành hai lớp: Một lớp được hiển thị bao gồm các văn bản thỏa mãn với câu hỏi
người dùng và một lớp không được hiển thị bao gồm các văn bản không thỏa mãn yêu
cầu. Thực tế, các hệ thống tìm kiếm điển hình hiện nay, chẳng hạn như các máy tìm kiếm
như Google, Altavista…, không hoạt động như vậy mà đưa ra danh sách các văn bản theo
độ liên quan của văn bản với câu hỏi người dùng
Quá trình tìm kiếm
Quá trình tìm kiếm được chia thành bốn quá trình thành phần chính :
Đánh chỉ số (indexing): Các văn bản ở dạng thô cần được chuyển sang một dạng
biểu diễn nào đó để xử lý. Quá trình này còn được gọi là quá trình biểu diễn văn bản,
dạng biểu diễn phải có cấu trúc và dễ dàng khi xử lý. Một nội dung quan trọng của khóa
luận này là nghiên cứu cách thức biểu diễn văn bản sử dụng lý thuyết tập mờ nhằm có
được biểu diễn văn bản mang nhiều ngữ nghĩa hơn.
Định dạng câu hỏi: Người dùng phải mô tả những yêu cầu về lấy thông tin cần
thiết dưới dạng câu hỏi. Các câu hỏi này phải được biểu diễn dưới dạng phổ biến cho các
hệ tìm kiếm như nhập vào các từ khóa cần tìm. Ngoài ra còn có các phương pháp định
dạng câu hỏi dưới dạng ngôn ngữ tự nhiên hoặc dưới dạng các ví dụ, đối với các dạng này
thì cần có các kỹ thuật xử lý phức tạp hơn. Đại đa số hệ tìm kiếm hiện nay dùng câu hỏi
dưới dạng các từ khóa.
So sánh: Hệ thống phải thực hiện việc so sánh tường minh và toàn vẹn câu hỏi
của người dùng với các văn bản được lưu trữ trong CSDL. Cuối cùng hệ thống đưa ra một
Khóa luận tốt nghiệp Nguyễn Việt Cường
7
quyết định phân loại các văn bản theo độ liên quan gần với câu hỏi người dùng và sắp xếp
theo thứ tự giảm dần của độ liên quan. Hệ thống hoặc hiển thị toàn bộ văn bản hoặc chỉ
một phần văn bản.
Phản hồi: Trong nhiều trường hợp, kết quả được trả về lúc đầu chưa phải đã thỏa
mãn yêu cầu của người dùng, do đó cần phải có quá trình phản hồi để người dùng có thể
thay đổi lại hoặc nhập mới các yêu cầu của mình. Mặt khác, người dùng có thể tương tác
với các hệ về các văn bản thỏa mãn yêu cầu của mình và hệ có chức năng cập nhậu các
văn bản đó. Quá trình này được gọi là quá trình phản hồi liên quan (Relevance feeback).
Các công cụ tìm kiếm hiện nay chủ yếu tập trung nhiều vào ba quá trình con đầu
tiên, còn phần lớn chưa có quá trình phản hồi hay xử lý tương tác người dùng và máy.
Quá trình phản hồi hiện nay đang được nghiên cứu rộng rãi và riêng trong quá trình tương
tác giao diện người máy đã xuất hiện hướng nghiên cứu được gọi là tác tử giao diện
(interface agent).
1.2.2. Phân lớp văn bản
Nội dung
Phân lớp văn bản [3][5][8][11][12] được xem như là quá trình gán các văn bản
vào một hay nhiều lớp văn bản đã được xác định từ trước. Người ta có thể phân lớp các
văn bản một cách thủ công, tức là đọc nội dung từng văn bản một và gán nó vào một lớp
nào đó. Hệ thống quản lý tập gồm rất nhiều văn bản cho nên cách này sẽ tốn rất nhiều thời
gian, công sức và do đó là không khả thi. Do vậy mà phải có các phương pháp phân lớp
tự động. Để phân lớp tự động người ta sử dụng các phương pháp học máy trong trí tuệ
nhân tạo như Cây quyết định, Bayes, k người láng giềng gần nhất...
Một trong những ứng dụng quan trọng nhất của phân lớp văn bản tự động là ứng
dụng trong các hệ thống tìm kiếm văn bản. Từ một tập con văn bản đã phân lớp sẵn, tất cả
các văn bản trong miền tìm kiếm sẽ được gán chỉ số lớp tương ứng. Trong câu hỏi của
mình, người dùng có thể xác định chủ đề hoặc lớp văn bản mà mình mong muốn tìm kiếm
để hệ thống cung cấp đúng yêu cầu của mình.
Một ứng dụng khác