Tải bản đầy đủ (.pdf) (55 trang)

Đề tài “Bài toán phân lớp văn bản và áp dụng phân lớp dữ liệu tài chính ngân hàng” ppt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.14 MB, 55 trang )


ĐỀ TÀI


“Bài toán phân lớp văn bản và
áp dụng phân lớp dữ liệu tài
chính ngân hàng”





Giáo viên hướng dẫn :
Sinh viên thực hiện : Lê Thị Thùy Dương
ĐH Công Nghệ - ĐH QGHN CNTT

Khóa luận tốt nghiệp Lê Thị Thùy Dương

LỜI CẢM ƠN
Trước tiên, em muốn gửi lời cảm ơn sâu sắc nhất đến thầy giáo, Phó Giáo sư
Tiến sĩ Hà Quang Thụy, ThS. Đỗ Cẩm Vân và CN.Trần Mai Vũ, những người đã tận
tình hướng dẫn em trong suốt quá trình thực hiện khóa luận tốt nghiệp.
Em xin bày tỏ lời cảm ơn sâu sắc đến những thầy cô giáo đã giảng dạy em trong
bốn năm qua, những kiến thức mà em nhận được trên gi
ảng đường đại học sẽ là hành
trang giúp em vững bước trong tương lai.
Em cũng muốn gửi lời cảm ơn đến các anh chị và các bạn trong nhóm seminar về
“Khai phá dữ liệu” đã giúp đỡ và cho em những lời khuyên bổ ích về chuyên môn
trong quá trình nghiên cứu.
Cuối cùng, em muốn gửi lời cảm ơn sâu sắc đến tất cả bạn bè, và đặc biệt là cha
mẹ và anh trai, những người luôn kịp thời động viên và giúp đỡ em vượ


t qua những
khó khăn trong cuộc sống.

Sinh viên
Lê Thị Thùy Dương












ĐH Công Nghệ - ĐH QGHN CNTT

Khóa luận tốt nghiệp Lê Thị Thùy Dương

TÓM TẮT NỘI DUNG
Phân lớp văn bản là quá trình gán văn bản một cách tự động vào một hoặc nhiều
lớp cho trước. Tự động phân lớp văn bản là một nhiệm vụ rất quan trọng có thể giúp
ích trong việc tổ chức cũng như tìm kiếm thông tin trên nguồn tài nguyên lớn. Mặt
khác, phân lớp văn bản là một trong những thành phần cơ bản nhưng quan trọng nhất
trong kiến trúc tổng thể của h
ầu hết các máy tìm kiếm. Hiện nay, bài toán này đã và
đang trở thành lĩnh vực nhận được nhiều sự quan tâm, nghiên cứu của nhiều nhà khoa
học trên thế giới.

Khóa luận tốt nghiệp với đề tài “Bài toán phân lớp văn bản và áp dụng phân
lớp dữ liệu tài chính ngân hàng” nghiên cứu nội dung, các thuộc tính, các thuật toán
giải quyết bài toán phân lớp. Khóa luận tập trung nghiên cứu phương pháp phân lớp
văn bản trong lĩnh vực tài chính ngân hàng ti
ếng Việt dựa trên hướng tiếp cận Entropy
cực đại (maxent). Dựa trên việc khảo sát các đặc trưng tiếng Việt, sử dụng mô hình
Entropy cực đại, khóa luận đã tiến hành thực nghiệm trên 5 lớp dữ liệu về lĩnh vực tài
chính ngân hàng tự đề xuất (Huy động vốn, Tín dụng, Dịch vụ thanh toán, Ngoại tệ,
Chứng khoán), kết quả thu được rất tốt với độ đ
o F1 trung bình là 90.22% và thời gian
huấn luyện 0.4594 giây/lần với 10 bước lặp.












ĐH Công Nghệ - ĐH QGHN CNTT

Khóa luận tốt nghiệp Lê Thị Thùy Dương


MỤC LỤC
LỜI MỞ ĐẦU 1

Chương 1. BÀI TOÁN PHÂN LỚP VĂN BẢN 3
1.1. Khái niệm 3
1.2. Phân loại bài toán phân lớp văn bản 5
1.3. Mô hình phân lớp văn bản 5
1.3.1. Mô hình phân lớp văn bản 5
1.3.2. Quá trình xây dựng bộ phân lớp văn bản 6
1.3.3. Quá trình tiền xử lý dữ liệu 7
1.3.3.1. Phương pháp biểu diễn tài liệu 8
1.3.3.2. Phương pháp lựa chọn thuộc tính 10
1.3.4. Đánh giá 12
1.3.4.1. Đánh giá cho bài toán phân lớp 12
1.3.4.2. Đánh giá dựa vào độ tương tự 14
Chương 2. CÁC PHƯƠNG PHÁP PHÂN LỚP VĂN BẢN 17
2.1. Thuật toán K người láng giềng gần nhất 17
2.2. Mô hình cây quyết định (Decision Tree) 18
2.3. Thuật toán máy hỗ trợ vector (SVM – Suport Vector Machine) 21
2.4. Mô hình Entropy cực đại 26
2.4.1. Định nghĩa nguyên lý entropy cực đại 26
2.4.2. Các ràng buộc và đặc trưng 27
2.4.3. Mô hình Entropy cực đại 27
2.3.4. Entropy cực đại cho phân lớp văn bản 28
Chương 3. BÀI TOÁN PHÂN LỚP VĂN BẢN TÀI CHÍNH NGÂN HÀNG
TIẾNG VIỆT 30

3.1. Một số đặc trưng của dữ liệu tài chính ngân hàng trong tiếng Việt.30
3.2. Xây dựng một số lớp trong lĩnh vực tài chính ngân hàng 31
3.3. Bài toán phân lớp văn bản tài chính ngân hàng trong Tiếng Việt 33
ĐH Công Nghệ - ĐH QGHN CNTT

Khóa luận tốt nghiệp Lê Thị Thùy Dương


3.3.1. Phát biểu bài toán: 33
3.3.2. Phương pháp phân lớp 34
3.3.3. Mô hình của bài toán phân lớp văn bản tài chính ngân hàng 34
Chương 4. THỰC NGHIỆM VÀ ĐÁNH GIÁ 38
4.1. Dữ liệu và chương trình 38
4.2. Môi trường thực nghiệm 39
4.3. Thiết kế và kết quả thực nghiệm 40
4.3.1. Thiết lập thông số cho Entropy cực đại 40
4.3.2. Kết quả thực nghiệm 40
4.4. Đánh giá kết quả thực nghiệm 44
KẾT LUẬN 45
TÀI LIỆU THAM KHẢO 46
Tài liệu Tiếng Việt 46
Tài liệu Tiếng Anh 46
DANH SÁCH CÁC TỪ DỪNG 49









ĐH Công Nghệ - ĐH QGHN CNTT

Khóa luận tốt nghiệp Lê Thị Thùy Dương



Danh sách hình vẽ và bảng biểu
Hình 1. Bài toán phân lớp văn bản 3
Hình 2. Sơ đồ khung một hệ thống phân lớp văn bản 6
Hình 3. Quá trình xây dựng mô hình được chia thành hai bước 8
Hình 4. Mối quan hệ giữa các siêu phẳng phân cách 1
Hình 5. Siêu phẳng tối ưu và biên 1
Hình 6. Mô hình bài toán phân lớp dữ liệu tài chính ngân hàng 35
Hình 7. Đồ thị biểu diễn sự phụ thuộc của độ đo F1 vào số lần lặp 43
Hình 8. Tổng hợp độ đo qua 10 lần huấn luyện 43
Hình 9. Biểu đồ biểu diễn độ đo F1 của các lớp trong lần lặp thứ 6 44

Bảng 1. Phân bố dữ liệu học và kiểm tra 38

Bảng 2. Tập dữ liệu huấn luyện 39
Bảng 3. Tập dữ liệu kiểm tra 39
Bảng 4. Tham số huấn luyện mô hình Entropy cực đại 40
Bảng 5. Kết quả 10 lần huấn luyện với Entropy cực đại 41
Bảng 6. Kết quả của bước lặp thứ 6 42




ĐH Công Nghệ - ĐH QGHN CNTT

     ‐1 -

LỜI MỞ ĐẦU
Hiện 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ả 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 cần 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 chi
ế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 thời gian gần đây, cùng với sự phát triển của nền kinh tế đất nước là sự
phát triển vượt bậc của nền công nghệ thông tin. Tin học đã đượ
c áp dụng trong tất cả
các lĩnh vực như kinh tế, thương mại, y tế, ngân hàng… Hầu hết các lĩnh vực này đề
lưu trữ một cơ sở dữ liệu rất lớn. Các kỹ thuật thống kê truyền thống và các công cụ
quản lý dữ liệu trước đây không đáp ứng được nhu cầu phân tích tập dữ liệu lớn này.
Từ đòi hỏi đó phải có nh
ững phương pháp tiếp cận mới để khai phá tri thức trong các
cơ sở dữ liệu.
Trong các loại dữ liệu thì dữ liệu văn bản là phổ biến nhất. Khai phá dữ liệu văn
bản là sự khảo sát và phân tích một tập lớn các văn bản không có cấu trúc một cách tự
động hoặc bán tự động để khám phá ra những tri thức mới. 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 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 thông tin là một trong những giải pháp hợp lý cho
vấn đề nêu trên. Bài toán phân lớp văn bản là một trong những bài toán cơ bản của
khai phá dữ liệu văn bản. Cho trước một tập dữ liệu văn bản, bài toán thực hiện quá
trình gán nhãn (phân lớp) cho từng tài liệu tương ứng với nội dung củ
a nó thông qua
bộ phân lớp.
Luận văn tập trung nghiên cứu về bài toán phân lớp văn bản, cụ thể là những văn
bản mang thông tin về lĩnh vực ngân hàng, tài chính với mục đích phân lớp cho những
tài liệu này theo những lớp ứng dụng cụ thể trong lĩnh vực ngân hàng, tài chính. Vấn
đề phân lớp văn bản đã được đặt ra từ rất lâu và đến nay đã có một số phương pháp
hiệ

u quả thực hiện việc phân lớp văn bản… Tuy nhiên việc phân lớp cho dữ liệu tiếng
việt về lĩnh vực ngân hàng, tài chính là một bài toán mới và cho đến nay chưa có một
kết quả nào được công bố. Thông qua việc tìm hiểu một số phương pháp tiếp cận bài
toán thường được sử dụng như phương pháp K-người láng giềng, Máy hỗ trợ vector
(SVM – Suport Vector Machine), Phương pháp sử dụng mô hình Entropy cực đại và
ĐH Công Nghệ - ĐH QGHN CNTT

     ‐2 -

nghiên cứu ưu nhược điểm của từng phương pháp, luận văn hướng tới nghiên cứu áp
dụng mô hình Entropy cực đại cho bài toán này.
Luận văn bao gồm 4 chương có nội dung khái quát như sau:
Chương 1. Bài toán phân lớp văn bản phát biểu và trình bày về các khái niệm và
những nội dung cơ bản về bài toán phân lớp văn bản. Chương này cũng giới thiệu một
số phương pháp đánh giá cho bài toán phân lớp và độ
đo dựa vào khoảng cách và độ
tương tự giữa các lớp.
Chương 2. Các phương pháp giải quyết bài toán phân lớp văn bản. Trình bày
một số thuật toán phân lớp văn bản điển hình, chỉ ra ưu nhược điểm của từng phương
pháp. Qua đó lựa chọn phương pháp tốt nhất để thử nghiệm trong tiếng Việt.
Chương 3. Bài toán phân lớp văn bản tài chính ngân hàng
. Trình bày các đặc
điểm đặc trưng của dữ liệu tài chính ngân hàng, xây dựng tập nhãn (lớp) trong lĩnh vực
này và mô tả mô hình phân lớp sử dụng phương pháp Entropy cực đại đối với tập văn
bản đó.
Chương 4. Thực nghiệm và đánh giá. Trong chương này trình bày các kết quả
thực nghiệm thu được khi áp dụng mô hình Entropy cực đại trên tập dữ liệu tài chính
ngân hàng tiếng Việt. Đưa ra một s
ố nhận xét, đánh giá kết luận.
Trong phần kết luận, luận văn tóm lại những công việc đã thực hiện trong thời

gian qua và các kết quả đã đạt được, đồng thời cũng đề cập đến những điểm còn hạn
chế của luận văn và đề ra phương hướng nghiên cứu trong thời gian tới.








ĐH Công Nghệ - ĐH QGHN CNTT

     ‐3 -

Chương 1. BÀI TOÁN PHÂN LỚP VĂN BẢN
Trích chọn thông tin trên Web đã và đang tạo thêm nhiều tài nguyên thông tin, tri
thức mới đáp ứng ngày càng hiệu quả nhu cầu thông tin của con người. Ngày nay,
công nghệ trích chọn thông tin trên Web đã hình thành loại hình dịch vụ đầy triển
vọng trong việc cung cấp thông tin phong phú và hữu ích từ nguồn dữ liệu được coi là
vô hạn trên Web. Một trong những bài toán cơ bản và quan trọng trong trích chọn
thông tin trên Web là bài toán phát hiện các quan hệ của các lớp đối tượng. Để thực
hiện vi
ệc phát hiện mối quan hệ giữa các lớp đối tượng trên Web thì bài toán đầu tiên
cần giải quyết đó là bài toán phân lớp tự động các đối tượng. Tự động phân lớp văn
bản là một nhiệm vụ rất quan trọng có thể giúp ích trong việc tổ chức cũng như tìm
kiếm thông tin trên nguồn tài nguyên lớn.
Ngày nay, khi mà sự phát triển và ứng dụng của Internet cực kỳ phổ biến thì khối
lượng d
ữ liệu đã tăng trưởng không ngừng theo cả hai phương diện tạo mới và lưu trữ.
Sự phát triển vượt bậc của công nghệ khoa học kỹ thuật và sự mở rộng các dữ liệu

khoa học về địa lý, địa chất, khí tượng thủy văn… cùng với việc tin học hóa sâu rộng
trong hầu hết các lĩnh vực đã tạo ra một khối lượng dữ li
ệu khổng lồ. Tự động phân
lớp văn bản là một nhiệm vụ rất quan trọng, đặc biệt là trong việc tổ chức cũng như
tìm kiếm thông tin trên nguồn tài nguyên lớn này.
1.1. Khái niệm
Phân lớp văn bản (Text classification) là quá trình gán nhãn (tên lớp / nhãn lớp)
các văn bản ngôn ngữ tự nhiên một cách tự động vào một hoặc nhiều lớp cho trước.






Hình 1. Bài toán phân lớp văn bản

Thông thường, các lớp cho trước là các chủ đề nào đó, nhưng cũng có nhiều ứng
dụng mà các lớp được thiết lập theo những tiêu chí khác, như phân lớp theo độ ưu tiên,
Dữ liệu vào
Thuật toán
phân lớp hoạt
động
Lớp 1
Lớp 2
Lớp n
ĐH Công Nghệ - ĐH QGHN CNTT

     ‐4 -

phân lớp theo chủ đề… Hầu hết các bài toán này sẽ tốn rất nhiều thời gian, công sức

và đôi khi không chính xác nếu được phân loại một cách thủ công – tức là đọc từng
văn bản và gán vào một lớp nào đó. Đặc biệt với số lượng tài liệu cần phân lớp cực kỳ
lớn như hiện nay thì việc phân lớp thủ công là một điều không thể. Phân loại những
đối tượ
ng mới vào các lớp bằng phương pháp thủ công gặp phải những khó khăn sau:
- Đối với các lĩnh vực đặc biệt, phân loại các đối tượng mới (như cơ sở dữ liệu
về y tế, pháp luật, tài chính, ngân hàng ) vào các lớp cho trước cần có hiểu
biết về các lĩnh vực đó.
- Phân loại bằng tay đôi khi không chính xác vì quyết định phụ thuộc vào sự
hiểu biế
t và động cơ của người thực hiện.
- Quyết định của hai chuyên gia khác nhau có thể nảy sinh bất đồng ý kiến. Vì
vậy những công cụ để tự động phân lớp văn bản vào các lớp sẽ rất hữu ích với
công việc này nhất là khi thông tin tràn ngập như ngày nay. Một số phương
pháp phân lớp thống kê và kĩ thuật học máy như Bayesian, máy vector hỗ trợ
(Support Vector Machines), K người láng giềng gần nhấ
t, mạng nơron được
áp dụng để giải quyết bài toán này.
Chính vì những nhược điểm của phương pháp thủ công nên việc xây dựng một
bộ phân lớp văn bản tự động là một điều rất quan trọng và cần thiết, đặc biệt là khi hầu
hết các thông tin được sinh ra và lưu trữ điện tử. Các bài báo khoa học và giải trí là
những ví dụ về tập các tài liệu đ
iện tử. Với sự phát triển ngày càng mạnh mẽ của mạng
Internet và Intranet đã tạo ra nguồn thông tin vô cùng phong phú. Các kỹ thuật phân
lớp văn bản sẽ giúp cho nguồn dữ liệu này đã được lưu trữ tự động một cách hiệu quả
và được tìm kiếm nhanh chóng.
Phân lớp văn bản được xuất hiện từ những năm 1960, nhưng chỉ 15 năm sau, nó
đã trở thành lĩnh vự
c nghiên cứu chính trong hệ thống thông tin bởi sự đa dạng của các
ứng dụng. Phân lớp văn bản là công việc được sử dụng để hỗ trợ trong quá trình tìm

kiếm thông tin (Information Retrieval), chiết lọc thông tin (Information Extraction),
lọc văn bản hoặc tự động dẫn đường cho các văn bản tới những chủ đề xác định trước.
Một ứng dụng khác của phân lớp văn bản là trong lĩnh vực hi
ểu văn bản. Phân lớp văn
bản có thể được sử dụng để lọc văn bản hoặc một phần văn bản chứa dữ liệu cần tìm
mà không làm mất đi tính phức tạp của ngôn ngữ tự nhiên.
ĐH Công Nghệ - ĐH QGHN CNTT

     ‐5 -

Định nghĩa phân lớp văn bản [1]: Phân lớp văn bản là nhiệm vụ đặt một giá trị
Boolean cho mỗi cặp (d
j
, c
i
)
CD
×

, trong đó D là tập các văn bản và
{}
c
cccC , ,
21
=

là tập các lớp cho trước.
Giá trị T (true) được gán cho cặp (d
j
, c

i
) có nghĩa là tài liệu d
j
thuộc lớp c
i

Giá trị F (false) tức là tài liệu d
j
không thuộc lớp c
i
Hay nói cách khác, phân lớp văn bản là bài toán tìm một hàm
{}
FTCD ,: →×Φ
trong đó D là tập các văn bản và
{
}
c
cccC , ,
21
=
là tập các lớp
cho trước, hàm
{
}
FTCD ,: →×Φ
được gọi là bộ phân lớp.
1.2. Phân loại bài toán phân lớp văn bản
Tùy vào những ràng buộc khác nhau để phân loại bài toán phân lớp văn bản.
Nhìn chung có thể phân biệt bài toán phân lớp theo hai cách sau:
- Phân lớp văn bản nhị phân / đa lớp: Bài toán phân lớp văn bản được gọi là nhị

phân nếu |C|=2, gọi là đa lớp nếu |C|>2.
- Phân lớp văn bản đơn nhãn / đa nhãn: Bài toán phân lớp văn bản được gọi là
đơn nhãn nếu mỗi tài liệu được gán vào chính xác một lớp. Bài toán phân lớp

n bản được gọi là đa nhãn nếu một tài liệu có thể được gán nhiều hơn một
nhãn.
Trên thực tế, phân lớp hai lớp (phân lớp nhị phân) chỉ là một trường hợp đặc biệt
của bài toán phân lớp song do xuất xứ cho nên phân lớp nhị phân có vị trí riêng cả về
đặt bài toán lẫn về các giải pháp
1.3. Mô hình phân lớp văn bản
1.3.1. Mô hình phân lớp văn bản
Phân lớp văn bản được các nhà nghiên cứu định nghĩa thống nhất như là việc gán
tên các chủ đề (tên lớp / nhãn lớp) đã được xác định cho trước vào các văn bản Text
dựa trên nội dung của nó. Phân lớp văn bản là công việc được sử dụng để hỗ trợ trong
quá trình tìm kiếm thông tin (Information Retrieval), chiết lọc thông tin (Information
Extraction), lọc văn bản hoặc tự động dẫn đường cho các văn bản tới nh
ững chủ đề xác
định trước. Để phân loại văn bản, người ta sử dụng phương pháp học máy có giám sát.
Tập dữ liệu được chia ra làm hai tập là tập huấn luyện và tập kiểm tra, trước hết phải
ĐH Công Nghệ - ĐH QGHN CNTT

     ‐6 -

xây dựng mô hình thông qua các mẫu học bằng các tập huấn luyện, sau đó kiểm tra sự
chính xác bằng tập dữ liệu kiểm tra.


Hình 2. Sơ đồ khung một hệ thống phân lớp văn bản
Hình trên biểu diễn một sơ đồ khung một hệ thống phân lớp văn bản, trong đó
bao gồm ba thành phần chính:

- Biểu diễn văn bản, tức là chuyển các dữ liệu văn bản thành một dạng có cấu
trúc nào đó, tập hợp các mẫu cho trước thành một tập huấn luyện.
- Thực hi
ện việc sử dụng các kỹ thuật học máy để học trên các mẫu huấn luyện
vừa biểu diễn. Như vậy việc biểu diễn ở giai đoạn thứ nhất sẽ là đầu vào cho
giai đoạn thứ hai.
- Thực hiện bổ sung các kiến thức thêm vào do người dùng cung cấp để làm
tăng độ chính xác trong biểu diễn văn bản hay trong quá trình học máy. Trong
nhiều trường h
ợp, các phương pháp học hệ thống phân lớp có thể bỏ qua
thành phần này.
Như vậy thành phần thứ ba được coi là trung tâm của một hệ thống phân lớp văn
bản. Trong phần này, có nhiều phương pháp học máy được áp dụng như mô hình mạng
Bayes, cây quyết định, phương pháp K người láng giềng gần nhất, mạng Neuron,
SVM, mô hình Maximum Entropy.
1.3.2. Quá trình xây dựng bộ phân lớp văn bản
Quá trình phân lớp dữ liệu thường gồm hai bước: xây dựng mô hình (tạo bộ
phân lớp) và sử dụng mô hình đó để phân lớp dữ liệu. Các công cụ phân lớp được xây
dựng dựa trên một thuật toán phân lớp qua bước học quy nạp. Trong bước học, hệ
ĐH Công Nghệ - ĐH QGHN CNTT

     ‐7 -

thống có tập dữ liệu đầu vào D
t
(tập ví dụ) mà thuộc tính lớp của mỗi tài liệu (ví dụ)
trong tập đó đã biết. Tại bước học, tập dữ liệu ban đầu được chia thành hai tập dữ liệu
rời nhau, một tập được gọi là tập dạy (training set) và một tập được gọi là tập kiểm tra
(test set). Thông thường tập training chiếm 2/3 các ví dụ trong D
t

, còn tập test chiếm
1/3 số lượng ví dụ còn lại. Hệ thống dùng tập training để xây dựng mô hình (xác định
tham số) phân lớp và dùng tập dữ liệu test để đánh giá thuật toán phân lớp vừa được
thiết lập. Quá trình hai bước như sau:
- Bước 1: Xây dựng mô hình. Một mô hình sẽ được xây dựng dựa trên phân tích
các đối tượng dữ liệu đã được gán nhãn từ trước. Tập các mẫu dữ liệu này còn
đượ
c gọi là tập dữ liệu huấn luyện (training data set). Các nhãn lớp của tập dữ
liệu huấn luyện được xác định bởi con người trước khi xây dựng mô hình, vì
vậy phương pháp này còn được gọi là học có giám sát (supervised learning).
Trong bước này, chúng ta còn phải tính độ chính xác của mô hình, mà còn
phải sử dụng một tập dữ liệu kiểm tra (test data set). Nếu độ chính xác là chấp
nhận được, mô hình sẽ được sử dụng để xác định nhãn lớ
p cho các dữ liệu
khác mới trong tương lại. Trong việc test lại mô hình, sử dụng các độ đo để
đánh giá chất lượng của tập phân lớp, đó là độ hồi tưởng, độ chính xác, độ đo
F
1

Tồn tại nhiều phương pháp phân lớp dữ liệu để giải quyết bài toán
phân lớp tùy thuộc vào cách thức xây dựng mô hình phân lớp như phương
pháp Bayes, phương pháp cây quyết định, phương pháp k người láng giềng
gần nhất, phương pháp SVM, phương pháp Maximum Entropy… Các
phương pháp phân lớp khác nhau chủ yếu về mô hình phân lớp. Mô hình
phân lớp còn được gọi là thuật toán phân lớp.
- Bước 2: Sử dụng mô hình. Sử dụng mô hình được xây dựng ở
bước 1 để phân
lớp dữ liệu mới.
Như vậy, thuật toán phân lớp là một ánh xạ từ miền dữ liệu đã có sang một miền
giá trị cụ thể của thuộc tính phân lớp, dựa vào giá trị các thuộc tính của dữ liệu.

1.3.3. Quá trình tiền xử lý dữ liệu
Phân lớp văn bản là quá trình gồm hai bước, với mục đích phân các tài liệu văn
bản vào các lớp hữu hạn có trước. Trong bước thứ nhất, một mô hình của bộ phân lớp
được xây dựng bằng cách phân tích nội dung các trang văn bản trong tập dữ liệu huấn
luyện thông qua việc áp dụng các thuật toán học. Tập dữ liệu huấn luyện là tập hợp các
ĐH Công Nghệ - ĐH QGHN CNTT

     ‐8 -

trang văn bản trong cơ sở dữ liệu đã gán nhãn từ trước. Trong bước thứ hai, mô hình
này được sử dụng cho việc phân lớp các trang văn bản chưa được gán nhãn.
Để xây dựng mô hình trong bước thứ nhất, thông thường, được chia ra làm hai
bước chính sau:

Tiền xử lý
Phân lớp
Văn bản
Biểu diễn logic
Cây phân cấp
Mô hình

Hình 3. Quá trình xây dựng mô hình được chia thành hai bước
- Tiền xử lý dữ liệu: là quá trình biểu diễn văn bản thành một dạng biểu diễn
logic mà thuật toán có thể xử lý được (ví dụ, dạng biểu diễn vector của văn
bản).
- Học các bộ phân lớp: sử dụng các thuật toán phân lớp để xây dựng mô hình từ
dữ liệu đã qua tiền xử lý.
1.3.3.1. Phương pháp biểu diễn tài liệ
u
Trong bài toán phân lớp văn bản, cách biểu diễn văn bản đóng vai trò rất lớn.

Một tài liệu được biểu diễn dưới dạng một tập hợp các từ, mỗi từ được xem là một
thuộc tính hoặc đặc trưng và văn bản tương ứng với một vector thuộc tính. Đôi khi,
thay vì những từ đơn, các thuộc tính có thể được biểu diễn bằng các cụm từ ho
ặc chuỗi
n từ với n >= 2. Dễ nhận thấy, nhiều thuộc tính phức tạp có thể giàu thông tin hơn. Ví
dụ, cụm từ “world wide web” mang nhiều thông tin hơn từng từ riêng biệt. Tuy nhiên,
trong thực hành, sử dụng n-grams dẫn tới việc có quá nhiều số lượng thuộc tính và có
thể làm việc giải quyết bài toán khó khăn hơn. Theo các nghiên cứu về phương pháp
biểu diễn văn bản khác nhau, đặc biệt là khi so sánh ảnh hưởng và hi
ệu quả của nó thì
không có cách biểu diễn văn bản nào tốt hơn cách biểu diễn bằng tập các từ riêng biệt
được lấy ra từ văn bản gốc.
Sau khi xác định được các thuộc tính, chúng ta cần tính giá trị thuộc tính (hoặc
trọng số từ khóa) cho mỗi văn bản. Mỗi từ khóa t
i
trong một tài liệu D
j
được gán một
trọng số w
ij
và do đó, mỗi tài liệu được biểu diễn như một vector. Trọng số từ khóa có
thể được tính toán bằng nhiều cách khác nhau. Cách đơn giản nhất là gán trọng số
bằng một giá trị nhị phân chỉ ra từ khóa có mặt hay không có mặt trong văn bản, tức là
giá trị trọng số w
ij
là 1 nếu từ khóa t
i
xuất hiện ít nhất một lần trong tập tài liệu D
j


w
ij
là 0 trong trường hợp ngược lại – Đây là mô hình Boolean. Phương pháp khác là
ĐH Công Nghệ - ĐH QGHN CNTT

     ‐9 -

tính số lần xuất hiện của từ khóa trong một tài liệu gọi là tần suất từ khóa. Tần suất từ
khóa được tính theo công thức:
N
Dtocc
Dtfreq
jk
jk
),(
),( =

Trong đó N là tổng số từ khóa của tài liệu D
j
và occ(t
k
,D
j
) là số lần xuất hiện của
từ t
k
trong văn bản D
j
. Phương pháp này được gọi là phương pháp dựa trên tần số từ
khóa (TF – Term Frequency).

Phương pháp này có vẻ rất trực quan nhưng mặt hạn chế của phương pháp này là:
nếu một từ xuất hiện nhiều lần trong tài liệu sẽ có tần xuất cao. Tuy nhiên nếu những
từ này đều xuất hiện trong tất cả các văn bản thì nó sẽ không mang nhiều thông tin ngữ
nghĩa của văn bản và do
đó độ quan trọng của nó giảm đi.
Ví dụ, khi văn bản xuất hiện nhiều từ khóa “máy tính”, điều đó có nghĩa là văn
bản đang xét chủ yếu liên quan đến lĩnh vực “Tin học”. Nhưng suy luận trên không
phải lúc nào cũng đúng. Một ví dụ điển hình là từ “chúng tôi” xuất hiện nhiều lần
trong văn bản, nhưng trên thực tế từ này lại không mang nhiều ý nghĩ
a như tần suất
xuất hiện của nó.
Thông thường tần suất của các từ khóa trong văn bản không đồng đều nhau. Một
số từ khóa xuất hiện rất thường xuyên, trong khi đó, một nửa số từ khóa xuất hiện chỉ
một lần. Để giải quyết hạn chế này, Phương pháp dựa trên nghịch đảo tần số văn bản
(IDF – Inverse Document Frequency) với tầ
n suất logarit (tương tự với tần suất từ
khóa) được đề xuất và tính theo công thức:
)),(1log(),(
jkjk
DtfreqDtfreq
+
=

Hay giá trị của từ khóa t
i
được tính theo công thức:
)log()log(log
i
i
ij

dfm
df
m
w −==

Trong đó, m là số lượng văn bản và df
i
là số lượng văn bản trong hệ thống có
chứa từ khóa t
i
. Trọng số w
ij
trong công thức này được tính dựa trên độ quan trọng của
từ khóa t
i
trong văn bản d
j
. Nếu t
i
xuất hiện trong càng ít văn bản, điều đó có nghĩa khi
nó xuất hiện trong văn bản d
j
thì trọng số của nó đối với văn bản d
j
càng lớn hay nó là
điểm quan trọng để phân biệt văn bản d
j
với các văn bản khác và hàm lượng thông tin
trong nó càng lớn.
ĐH Công Nghệ - ĐH QGHN CNTT


     ‐10 -

Phương pháp dựa trên nghịch đảo tần số văn bản IDF được sử dụng phổ biến hơn
phương pháp dựa trên tần số IF, nhưng phương pháp này vẫn chưa giải quyết triệt để
hạn chế của phương pháp tần số từ khóa. Theo đó, một từ xuất hiện nhiều lần có tần
suất cao, từ xuất hiện ít có tần số
thấp.
Phương pháp chuẩn thường được sử dụng là Term Frequency Inverse Document
Frequency ( IFIDF), hàm tính trọng số từ khóa được xác định bởi công thức:








=
l
dldl
df
m
freqTFIDF log*
,,

Trong đó, tần suất từ khóa l trong tài liệu d : freq
l,d
là số lần xuất hiện của từ khóa
l trong tài liệu d.

Tần suất văn bản df
l
là số văn bản trong tập tài liệu có chứa từ khóa l .
m là tổng số tài liệu học.
Trọng số TFIDF của một từ khóa biểu diễn độ quan trọng của từ khóa. TFIDF
của một từ khóa trong một tài liệu sẽ giảm nếu như từ đó xuất hiện trong hầu hết các
văn bản. Vì vậy, một từ xuất hiện quá ít hoặ
c quá nhiều được đánh giá ít quan trọng
hơn so với các từ xuất hiện cân bằng.
Trọng số TFIDF của một từ khóa trong toàn bộ tập tài liệu m được tính bởi công
thức:

=
dl
TFIDFTFIDF
,
RTFIDF
l


1.3.3.2. Phương pháp lựa chọn thuộc tính
Kích cỡ của tập từ vựng của tập hợp văn bản thường rất lớn. Việc xử lý các
vector thuộc tính đòi hỏi các thuật toán được tính toán mở rộng và có thể đôi khi
không thể tính toán được đối với một số thuật toán học. Bên cạnh đó, nhiều thuộc tính
không mang thông tin, nhập nhằng hoặc bị nhiễu, do đó có thể dẫ
n tới bộ phân lớp đạt
được kết quả tốt trên dữ liệu học nhưng không tốt trên dữ liệu kiểm tra (overfitting).
Lựa chọn thuộc tính là quá trình chọn ra những thuộc tính mang nhiều thông tin
nhất trong không gian thuộc tính và loại bỏ những thuộc tính nhiễu. Để giải quyết vấn
đề này, quá trình lựa chọn thuộc tính được tiến hành bằng cách chỉ giữ những từ khóa

có giá trị về thông tin. Vì vậy, vấ
n đề phát hiện các từ khóa không quan trọng phải
được giải quyết để thu được không gian từ khóa
T
T
⊂' với |T’| << |T|.
ĐH Công Nghệ - ĐH QGHN CNTT

     ‐11 -

Trong học máy, một số kỹ thuật chính sau đây được xây dựng cho quá trình lựa
chọn thuộc tính [16]:
Kỹ thuật thứ nhất thực hiện các phương pháp lọc (filtering) trên tập thuộc tính
ban đầu. Với phương pháp này, kết quả thu được từ tính toán thống kê được sử dụng
để loại bỏ những từ khóa không thích hợp. Sau đó, bộ phân lớp được huấn luyện trên
không gian từ khóa đã được rút gọn. V
ới chiến lược lựa chọn từ khóa này, có một vài
phương pháp như: lựa chọn từ khóa theo tần suất văn bản (Document Frequency), độ
đo thông tin qua lại (Mutual Information).
- Tần suất văn bản: Tần suất của văn bản là số tài liệu mà một từ khóa xuất
hiện. Để lựa chọn từ khóa theo phương pháp tần suất văn bản thì cần phải tính
tần suất vă
n bản với mỗi từ khóa trong tập tài liệu học và sau đó loại bỏ những
từ khóa có tần suất nhỏ hơn một ngưỡng nào đó để thu được không gian từ
khóa nhỏ hơn. Đây là kỹ thuật đơn giản nhất để làm giảm số lượng tập thuộc
tính.
- Độ đo thông tin qua lại (MI): Là phương pháp được sử dụng khá phổ biến để
lựa ch
ọn tập thuộc tính dựa vào mô hình thống kê. Với mỗi cặp từ khóa t và
lớp c, độ đo thông tin qua lại được tính theo công thức sau:

()
() ()
ct
ct
ctI
PrPr
)Pr(
log,
×

=

Và được ước lượng:
()
()()
BACA
NA
ctI
+×+
×
≈ log,

Trong đó:
- A là số lần từ khóa t và lớp c đồng thời xuất hiện.
- B là số lần từ khóa t xuất hiện mà không thuộc c.
- C là số lần c xuất hiện mà không chưa t.
- N là tổng số dữ liệu học.
I(t,c) nhận giá trị 0 nếu từ khóa t và lớp c độc lập với nhau. Giá trị I(t,c) càng cao
th
ể hiện độ quan trọng của thuộc tính t với lớp c.

Kỹ thuật thứ hai được gọi là kỹ thuật wrapper, trong đó việc lựa chọn từ khóa
phụ thuộc vào thuật toán phân lớp. Bắt đầu từ không gian từ khóa ban đầu, một không
ĐH Công Nghệ - ĐH QGHN CNTT

     ‐12 -

gian từ khóa mới được sinh ra bằng việc thêm hoặc bớt từ. Khi một tập hợp từ khóa
mới được tạo ra, bộ phân lớp dựa vào đó để xây dựng và sau đó kiểm tra trên tập dữ
liệu kiểm tra. Tập dữ liệu cho kết quả tốt nhất sẽ được chọn. Không gian từ khóa tốt
nhất được tạo ra cho thuật toán phân lớp. Phương pháp này tạo thuận lợi cho thuậ
t toán
phân lớp. Tuy nhiên hạn chế của phương pháp này là sự phức tạp trong tính toán.
Ngoài việc lựa chọn các thuộc tính mang nhiều thông tin từ tập thuộc tính ban
đầu, quá trình lựa chọn thuộc tính có thể tạo ra các thuộc tính mới (ví dụ các khái
niệm) để thay thế cho một nhóm các thuộc tính thông qua kỹ thuật phân cụm. Nhóm
các từ có sự giống nhau về ngữ nghĩa sẽ được xem là một thuộc tính mới thay thế cho
các từ đơn lẻ
. Với phương pháp này, cần xác định độ tương tự giữa các từ và áp dụng
các kỹ thuật phân cụm như k người láng giềng gần nhất.
1.3.4. Đánh giá
1.3.4.1. Đánh giá cho bài toán phân lớp
Đánh giá kết quả phương pháp phân lớp văn bản có thể được tính toán theo nhiều
cách khác nhau. Theo khảo sát của Sebastiani [3], độ đo phổ biến nhất được sử dụng
để đánh giá phân lớp là độ hồi tưởng và độ chính xác.
Kí hiệu:
Dữ liệu thực
Lớp C
i
Thuộc lớp C
i

Không thuộc lớp C
i
Thuộc lớp C
i
TP
i
TN
i
Dự đoán
Không thuộc lớp C
i
FP
i
FN
i
Trong đó:
- TP
i
(true positives): số lượng ví dụ dương được thuật toán phân đúng vào lớp
C
i
.
- TN
i
(true negatives): số lượng ví dụ âm được thuật toán phân đúng vào lớp C
i
.
- FP
i
(false positives): số lượng ví dụ dương được thuật toán phân sai vào C

i
.
- FN
i
(false negatives): số lượng ví dụ âm được thuật toán phân sai vào C
i
.
ĐH Công Nghệ - ĐH QGHN CNTT

     ‐13 -

Độ chính xác Pr
i
của lớp C
i
là tỷ lệ số ví dụ dương được thuật toán phân lớp cho
giá trị đúng trên tổng số ví dụ được thuật toán phân lớp vào lớp
i
C :
ii
i
i
TNTP
TP
+
=Pr

Độ hồi tưởng
i
Re của lớp

i
C là tỷ lệ số ví dụ dương được thuật toán phân lớp cho
giá trị đúng trên tổng số ví dụ dương thực sự thuộc lớp
i
C :
ii
i
i
FPTP
TP
+
=Re

Dựa vào độ chính xác và độ hồi tưởng chuẩn của mỗi lớp, độ chính xác và độ hồi
tưởng cho toàn bộ các lớp, tức là
{
}
m
CCC , ,,
21
có thể thu được bằng hai cách: cực tiểu
trung bình (Micro-Average) và cực đại trung bình (Macro-Average).
- Microaveraging:

1
1
ˆ
()
m
i

i
m
ii
i
TP
Pr
TP TN
µ
=
=
=
+



1
1
ˆ
()
m
i
i
m
ii
i
TP
Re
TP FP
µ
=

=
=
+




- Macroaveraging:

1
ˆ
m
i
M
i
P
r
Pr
m
=
=


1
ˆ
m
i
M
i
R

e
Re
m
=
=


Độ chính xác và độ hồi tưởng nếu sử dụng riêng biệt thì chưa đánh giá được năng
lực của bộ phân lớp. Vì vậy, đánh giá bộ phân lớp văn bản thường được đo bằng tổ
hợp của hai độ đo trên. Các độ đo phổ biến của tổ hợp hai độ đo này là:
- Break-Even Point (BEP): BEP được đề xuất bởi Lewis [3], xác định điểm mà
t
ại đó độ chính xác và độ hồi tưởng bằng nhau. Tuy nhiên, trong một số
trường hợp không thể xác định được BEP. Ví dụ, nếu chỉ có vài dữ liệu dương
và rất nhiều dữ liệu âm, khi đó độ hồi tưởng sẽ cao hơn rất nhiều so với độ
chính xác, khi đó không thể xác định được BEP.
ĐH Công Nghệ - ĐH QGHN CNTT

     ‐14 -

- Độ đo
β
F
: độ đo
β
F
được đề xuất bởi Rijbergen [3]. Nó là độ đo đơn giản
được tính từ độ chính xác và độ hồi tưởng phụ thuộc vào độ quan trọng mà
người dùng định nghĩa
(

)
β
. Thông thường, 1
=
β
. Công thức tính độ đo
β
F là:
(
)
RePr.
Re.Pr.1
2
2
+
+
=
β
β
β
F
Trong trường hợp
1=
β
chúng ta có F
1
là độ đo thông dụng nhất trong việc đánh
giá năng lực của các bộ phân lớp.
- Độ chính xác trung bình của 11 điểm: độ chính xác là nội suy của 11 điểm mà
độ hồi tưởng là 0.0, 0.1, … , 1.0. Độ đo này được sử dụng khi phương pháp

phân lớp tính hạng tài liệu phù hợp với một lớp hoặc lớp tương tự với một tài
liệu.
Bên cạnh độ chính xác và độ hồ
i tưởng, một số độ đo phổ biến khác cũng được
sử dụng như: tỉ lệ đúng (Accuracy) và tỉ lệ lỗi (Error) kí hiệu là
i
Ac và
i
Er của lớp
i
C :
iii
ii
i
FNFPTP
FNTP
Ac
++
+
=
i
iiii
ii
i
Ac
FNFPTNTP
TNFP
Er −=
+++
+

= 1
1.3.4.2. Đánh giá dựa vào độ tương tự
Nếu phương pháp A và B đều không phân tài liệu vào đúng lớp
i
C của nó, nhưng
phương pháp A phân vào lớp tương tự với lớp
i
C hơn thì phương pháp A được đánh
giá là tốt hơn so với phương pháp B. Vì vậy, Sun và Lim [3] đã mở rộng định nghĩa độ
chính xác và độ hồi tưởng chuẩn để đánh giá bộ phân lớp A và B.
Độ tương tự giữa hai lớp
i
C và
k
C , kí hiệu là
(
)
ki
CCCS , có thể được tính bằng
nhiều cách khác nhau.
Trong phân lớp văn bản, nếu mỗi tài liệu được biểu diễn là một vector thuộc tính:
{
}
NNi
twtwtwC , ,,
2211
=

{
}

NNk
tvtvtvC , ,,
2211
=

Độ tương tự (Category Similarity - CS) và độ tương tự trung bình (Average
Category Similarity - ACS) được tính theo công thức:
ĐH Công Nghệ - ĐH QGHN CNTT

     ‐15 -

()
()
∑∑

=−
=
×
×
=
N
n
N
n
nn
N
n
nn
ki
vw

vw
CCCS
11
22
1
,

()
()
1
,2
11
−×
×
=
∑∑
=+=
mm
CCCS
ASC
m
i
m
ik
ki

Trong đó t
n
là chỉ số từ khóa và w
n

và v
n
là trọng số từ khóa.
Dựa vào độ đo tương tự, chúng ta có thể tính mức độ đúng của việc tài liệu
j
d

được gán vào lớp C
i
. Trường hợp đơn giản nhất là
j
d được gán vào đúng lớp C
i
, tức
là do
j
d
i
TP∈ ,
j
d được tính là một trong công thức tính độ chính xác và độ hồi tưởng
của lớp C
i
. Tuy nhiên, nếu
j
d
không được gán nhãn đúng (tức là
ij
FPd ∈
) chúng ta

sẽ xem xét độ tương tự của các lớp mà
j
d được gán nhãn với lớp C
i
bằng cách tính
phân phối của
j
d đối với lớp C
i
, kí hiệu là
(
)
ij
CdCon , theo công thức:
()
(
)
(
)
A
CS
ACSCCCS
CdCon
agddC
i
ij
j




=



1
,
,
.

Trong đó,
agdd
j
.
là các lớp mà
j
d được gán vào.
Tương tự, nếu
j
d
là dữ liệu âm và thuật toán phân đúng vào lớp C
i
, tức là
ij
TNd ∈
, thì phân phối của
j
d
với lớp C
i
phụ thuộc vào độ tương tự giữa lớp C

i

các lớp mà
j
d
thực sự thuộc (kí hiệu là
lbdd
j
.
):
()
(
)
(
)
ACS
ACSCCCS
CdCon
lbddC
i
ij
j



=



1

,
,
.

Phân phối của một tài liệu có thể có giá trị âm hoặc dương, phụ thuộc vào độ
tương tự giữa các nhãn được gán cho tài liệu và các lớp chứa tài liệu và độ tương tự
trung bình ACS. Chú ý rằng một tài liệu có thể thuộc nhiều hơn một lớp. Phân phối của
một tài liệu
j
d với lớp C
i
được hạn chế trong đoạn [-1,1]. Vì vậy, phân phối cải tiến
(Refined - Contribution), kí hiệu
(
)
ij
CdRCon ,
được xác định:
(
)
(
)
(
)
(
)
ijij
CdConCdRcon ,,1max,1min,

=


ĐH Công Nghệ - ĐH QGHN CNTT

     ‐16 -

Với tất cả các tài liệu thuộc FP
i
, tổng phân phối FpCon
i
sẽ là:
(
)


=
ij
FPd
iji
CdRConFpCon ,

Tương tự, tổng phân phối TnCon
i
là:
(
)


=
ij
TNd

iji
CdRConTnCon ,

Độ chính xác và độ hồi tưởng mở rộng cho lớp C
i
dựa vào độ tương tự được xác
định như sau:
Precision:
(
)
iii
iii
CS
i
FpConTNTP
TnConFpConTP
++
+
+
=
,0max
Pr

Recall:
(
)
iii
iii
CS
i

TnConFPTP
TnConFpConTP
++
+
+
=
,0max
Re

Ngoài ra, chúng ta cũng có thể đánh giá dựa vào khoảng cách giữa các lớp [3].
Thay vì sử dụng độ tương tự giữa các lớp, chúng ta sử dụng độ đo khoảng cách giữa
các lớp. Khoảng cách giữa hai lớp C
i
và C
k
, kí hiệu là Dis(C
i
, C
k
) được định nghĩa là số
đường liên kết giữa C
i
và C
k
. Nếu đường liên kết càng ngắn thì hai lớp càng gần nhau
hơn. Từ đó, có thể tính được độ hồi tưởng, độ chính xác và độ đo F dựa vào khoảng
cách giữa các lớp.








ĐH Công Nghệ - ĐH QGHN CNTT

     ‐17 -

Chương 2. CÁC PHƯƠNG PHÁP PHÂN LỚP VĂN BẢN
Phân lớp văn bản là quá trình gán nhãn các văn bản ngôn ngữ tự nhiên vào một
hoặc nhiều lớp từ tập các lớp hữu hạn cho trước. Hiện nay tồn tại rất nhiều thuật toán
phân lớp văn bản như: thuật toán K người láng giềng gần nhất, thuật toán học cây
quyết định [4][5][7], thuật toán Naïve Bayes, thuật toán máy hỗ trợ vector
[13][11][14][12][16], thuật toán Boosting, Mô hình Maximum Entropy[15][16][2]…
Chương này sẽ giới thiệu một số thu
ật toán điển hình, trong đó tập trung vào thuật toán
Maximum Entropy.
2.1. Thuật toán K người láng giềng gần nhất
Bộ phân lớp dựa trên thuật toán K người láng giềng gần nhất là một bộ phân lớp
dựa trên bộ nhớ, đơn giản vì nó được xây dựng bằng cách lưu trữ tất cả các đối tượng
trong tập huấn luyện. Để phân lớp cho một điểm dữ liệu mới x, trước hết bộ phân lớp
sẽ tính khoảng cách từ điểm dữ liệu trong tập huấ
n luyện. Qua đó tìm được tập N(x, D,
k) gồm k điểm dữ liệu mẫu có khoảng cách đến x là gần nhất. Ví dụ nếu các dữ liệu
mẫu được biểu diễn bởi không gian vector thì chúng ta có thể sử dụng khoảng cách
Euclian để tính khoảng cách giữa các điểm dữ liệu với nhau. Sau khi xác định được
tập N(x, D, k), bộ phân lớp sẽ gán nhãn cho điểm d
ữ liệu x bằng lớp chiếm đại đa số
trong tập N(x, D, k). Mặc dù rất đơn giản, nhưng thuật toán K người láng giềng gần
nhất đã cho kết quả tốt trong nhiều ứng dụng thực tế.

Để áp dụng thuật toán K người láng giềng vào tài liệu văn bản, chúng ta sử dụng
hàm tính trọng số cho mỗi lớp theo biểu thức :
(, ,)
(|) cos(, )
xNcxDk
Score c x x x



=


Trong đó N
c
(x, D, k) là tập con chỉ chứa các đối tượng thuộc lớp c của tập N(x,
D, k).
Khi đó tài liệu x sẽ được phân vào lớp c
0
nếu:
{
}
CcxcscoreMaxx
o
cscore

=
),|()|(

¾ Phương pháp K người láng giềng gần nhất là một phương pháp đươn giản.
Tuy nhiên, thuật toán này ổn định và sai sót thấp khi số văn bản trong tập văn bản láng

giềng phải lớn.
ĐH Công Nghệ - ĐH QGHN CNTT

     ‐18 -

2.2. Mô hình cây quyết định (Decision Tree)
Trong lý thuyết quyết định, một cây quyết định là một đồ thị những quyết định
và những kết quả có khả năng của chúng (bao gồm cả giá phải trả và độ rủi ro) được
sử dụng để tạo ra một đường đi tới đích [4]. Cây quyết định là một dạng đặc biệt của
cấu trúc cây được xây dựng để trợ giúp việc ra quyết đị
nh.
Trong lĩnh vực học máy, cây quyết định là một mô hình dự đoán, có nghĩa là từ
việc quan sát các item để rút ra kết luận về giá trị đích của item đó. Mỗi nút bên trong
tương đương với một biến, mỗi cung đi tới một nút con tương ứng với giá trị có thể
của biến đó. Các là tương ứng với giá trị đích được dự đoán cho các biến. Kỹ thuật h
ọc
máy sử dụng việc xây dựng cây quyết định trên tập dữ liệu được gọi là học cây quyết
định hay đơn giản chỉ là cây quyết định.
Học cây quyết định cũng là một phương pháp rất thông dụng trong khai phá dữ
liệu. Trong đó cây quyết định mô tả cấu trúc cây mà ở đó các lá đại diện cho các lớp
và các nhánh cây biểu diễn sự kết hợp của các đặc trưng dẫ
n dắt tới việc phân lớp. Một
cây quyết định có thể được học bằng cách chia tập nguồn thành các tập con dựa trên
giá trị các thuộc tính kiểm tra [4], [5]. Quá trình này được lặp lại trên từng tập con thu
được. Quá trình đệ quy sẽ kết thúc khi không thể chia tiếp được nữa hoặc khi từng
phần tử của tập con được gán với một lớp đơn [5].
Cây quyết định được mô tả bằng cách tính toán xác suất có
điều kiện. Cây quyết
định cũng có thể được mô tả như là một kỹ thuật tính toán và hỗ trợ toán học, kỹ thuật
này hỗ trợ việc mô tả, phân loại và khái quát tập dữ liệu đưa vào. Dữ liệu đưa vào

dạng ghi có dạng:
(x, y) = (x
1
, x
2
, … ,x
k
, y )
Biến phụ thuộc y là biến mà chúng ta cố gắng để biết, phân lớp hay tổng quát
hóa, còn các biến x
1
, x
2
,… là các biến giúp ta thực hiện công việc đó.
Để xây dựng được cây quyết định của tập dữ liệu nào đó chúng ta phải hiểu được
khái niệm độ đo Entropy và Information Gain (Lợi ích thông tin).
Khái niệm lượng thông tin và độ đo Entropy
:
Khái niệm lượng thông tin được Shanon (nhà toán học, nhà vật lý) [7] đưa ra
năm 1948 thông qua khái niệm trung gian là “độ bất định” trong dự án khả năng xảy ra
trước khi nhận được thông tin. Sau khi nhận được thông tin, nếu độ bất định giảm đi
thì có thể coi lượng thông tin nhận được là bằng mức độ giảm đi của độ bất định. Nếu
ĐH Công Nghệ - ĐH QGHN CNTT

     ‐19 -

dự đoán càng nhiều tình huống có thể xảy ra thì độ bất định trong dự báo càng lớn.
Tuy nhiên Shanon cũng cho rằng trong n tình huống dự đoán có thể xảy ra không nhất
thiết cả n tình huống đều có khả năng xảy ra như nhau, do vậy công thức tính độ bất
định do ông đưa ra có tính tới các xác suất khác nhau của dự báo. Độ đo entropy của

biến ngẫu nhiên rời rạc x với n
trạng thái có thể 1, 2, … , n là:
∑∑
==
−=








=
n
i
n
i
ipip
ip
ipxH
11
22
)(log)(
)(
1
log)()(

Công thức này hoàn toàn trùng với công thức tính Entropy trong nhiệt động học
do nhà toán học Boltzmann người áo đưa ra.

Theo nguyên lý thứ 2 của nhiệt động học thì một hệ kín, không có trao đổi năng
lượng bên ngoài tất yếu sẽ chuyển động đến trạng thái cân bằng tới khi các bộ phận
cấu thành của hệ thống đó giống nhau, đồng nhất và mất đi cấu trúc hay là tan vỡ trật
tự và trở nên hỗn độn.
Entropy là đại lượng để đo trạng thái mất trật tự, mất cấu trúc trong hệ thống. Độ
đo entropy luôn là một số dương [7].
Lợi ích thông tin (Information Gain)
Gain(S, A) là lợi ích thông tin mà thuộc tính A mang lại cho sự phân lớp tập S. A
có m giá trị v
1
, v
2
, … , v
m

Ký hiệu S
vi
= {x ∈ S | x có giá trị thuộc tính A là v
i
}
U
m
i
vi
SS
1=
=


=

=
m
i
vi
vi
SEntropy
S
S
ASGain
1
)(
||
||
),(

|S| là số phần tử của tập S
Thuật toán tìm cây quyết định: Cho tập ví dụ huấn luyện D. Tìm cây quyết định
phù hợp với D.
Bước 1:
Khởi tạo cây một đỉnh gốc
Toàn bộ tập ví dụ huấn luyện D đều đi vào đỉnh này.

×