Tải bản đầy đủ (.doc) (71 trang)

Đồ án tốt nghiệp - Phân loại văn bản tiếng Việt với giải thuật K-NN

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.07 MB, 71 trang )

Phân loại văn bản tiếng Việt với giải thuật K-NN
MỞ ĐẦU
Trong những năm gần đây phân loại văn bản đã trở thành một kỹ thuật then
chốt để tổ chức thông tin trực tuyến. Nó có thể được sử dụng để tổ chức cơ sở
dữ liệu văn bản, lọc thư điện tử tìm kiếm thông tin liên quan đến Web, hoặc để
chỉ dẫn người dùng tìm kiếm thông tin qua các siêu văn bản hypertext). Mà ở
đó, việc phân loại văn bản bằng tay là không thể thực hiện được, hoặc thực hiện
với chi phí tốn kém nhất. Do đó, cùng với sự phát triển của thông tin trực tuyến,
một yêu cầu cấp thiết đặt ra là cần phải xây dựng hệ thống phân loại văn bản tự
động.
Cho đến nay, đã có nhiều đề xuất xây dựng bài toán phân loại văn bản tự
động như Neive Bayes, Bayes net, K- láng giêng gần nhất, cây quyết định, mạng
nơron, Support Vector Machines, Các phương pháp phân loại này, đạt được
những thành đáng kể đối vớ các văn bản tiếng anh, Pháp, Nhật, Trung Quốc đã
được ứng dụng thực tế như trong các tìm kiếm của Yahoo, Altavista, Google,
Trong đó, K- láng giềng gần nhất là một cách tiếp cận cho độ chính xác của
phân loại văn bản cao hơn hẳn các phương pháp phân loại khác.
Ơ Việt Nam, cũng đã có nhiều nghiên cứu về lĩnh vực xử lý văn bản tiếng
Việt, như đề tìa nghiên cứu về Máy dịch tự động Anh –Việt (EVTRan) của viện
nghiên cứu ứng dụng công nghệ, đề tài nhận dạng, xử lý tiếng Việt VnDoc của
viện công nghệ thông tin và nhiều luận văn tôt nghiệp cao học đại học khác.
Nhưng nghiên cứu về phân loại văn bản tiếng việt chưa nhiều và kết quả con hạn
chế. Bởi vậy, trong luận văn này em sẽ tập trung nghiên cứu bài toán phân loại
văn bản Tiếng Việt dựa trên cách tiếp cận K- láng giêng gần nhất.
Một vấn đề liên quan mật thiết đến tốc độ xử lý cũng như độ chính xác của
quá trình phân loại số chiều của vector biểu diễn văn bản. Nếu dùng các từ trong
từ điển làm đặc trưng để biểu diễn văn bản thì mỗi văn bản tiếng Việt được biểu
diễn bằng một vector có hơn 70 nghìn chiều (tương đương với số từ trong tư
điển tiếng Việt). 70 nghìn là con số quá lớn khi ta có đến hàng triệu văn bản cần
ĐỒ ÁN TÔT NGHIỆP
1


Phân loại văn bản tiếng Việt với giải thuật K-NN
xử lý trong quá trình phân loại. Để tăng tốc độ xử lý và độ chính xác của kết quả
phân loại văn bản, trong luận văn này em xin đề xuất một phương pháp xây
dựng phân loại văn bản.
Các từ đặc trưng để biểu diễn văn bản tiếng Việt, đồng thời, cũng đưa ra
phương pháp xây dựng phân loại văn bản Tiếng Việt Sử dụng phương pháp
KNN.
Nội dung luận văn bao gồm 6 chương, cụ thể:
- Chương I: Trình bày tổng quan về khai phá dữ liệu văn bản và
bài toán phân loại văn bản.
- Chương II: Trinh bày các vấn đề của quá trình tiền xử lý văn
bản tiếng Việt (tách từ lựa chọn đặc trưng, biểu diễn văn bản).
- Chương II: Một số phương pháp phân loại truyền thống.
- Chương IV: Phương pháp phân loại văn bản dựa trên cách tiếp cận
KNN.
- Chương V: Chương trình kết quả thực nghiệm.
- Chương VI: Kết luận và hướng phát triển của luận văn.
Do thời gian và hiểu biết còn hạn chế, nên luận văn còn nhiều thiếu sót,
em rất mong nhận được sự góp ý của thầy cô và các bạn, để hoàn thiện luận văn
hơn nữa.
ĐỒ ÁN TÔT NGHIỆP
2
Phân loại văn bản tiếng Việt với giải thuật K-NN
CHƯƠNG I
TỔNG QUAN VỀ KHAI PHÁ VĂN BẢN
Mục đích của chương này là giới thiệu một cách tóm tắt về vấn đề khai
phá dữ liệu văn bản, bài toán phân loại văn bản.
- Khai phá dữ liệu văn bản là gì?
- Các bước để xây dựng bài toán khai phá dữ liệu văn bản.
- Bài toán phân loại văn bản

1.1. Khai phá dữ liệu văn bản (Text mining)
Văn bản là một trong những dạng dữ liệu phổ biến nhất, hiện nay, nó có
mặt ở khắp mọi nơi và chung ta thường xuyên bắt gặp hàng ngày. Do đó, các bài
toán xử lý văn bản đã được đặt ra từ khá lâu và cho đến nay vấn là một trong
những vấn đề hay trong khai phá dữ liệu văn bản (text), trong đó có những bài
toán đáng chú ý như tìm kiếm văn bản, phân loại văn bản, phân cụm văn bản,
hoặc dẫn đường văn bản,
Các văn bản được tập hợp trong cơ sơ dữ liệu văn bản có thể chia làm hai
loại:
- Dạng không có cấu trúc (unstructured): Những văn bản thông thường
mà chúng ta thường đọc hàng ngày được thể hiện dưới dạng ngôn ngữ tự nhiên
của con người và nó không có một cấu trúc định dạng nào.
- Dạng bán cấu trúc (semi- structured): Những văn bản được tổ chức
dưới dạng cấu trúc không chặt chẽ thành bản ghi mà dùng các ký hiệu đánh dấu
văn bản vẫn thể hiện được nội dung của văn bản, ví dụ như các dạng HTML,
email,
Trong luận văn này, em chỉ quan tâm xử lý dữ liệu văn bản ở dạng phi cấu
trúc (biểu diễn văn bản dưới dạng tập tin TXT), bài toán được giải quyết theo
hướng dữ liệu mở để tương lài có thể áp dụng với các mục đích sử dụng khác
nhau.
ĐỒ ÁN TÔT NGHIỆP
3
Phân loại văn bản tiếng Việt với giải thuật K-NN
Có nhiều cách phân lớp các lĩnh vực trong xử lý văn bản, Lewis đã chia
thành hai nhóm lĩnh vực chính là phân lớp văn bản (TextClàssifition) gồm các
công việc xác định văn bản hoặc một phần của văn bản vào một hay nhiều lớp
xác định trước và hiểu nghĩa văn bản (Text Understanding) bao gồm các công
việc phức tạp hơn để xử lý nội dung của văn bản như tóm tắt văn bản (Text
Summarization hoặc Abstraction), trích chọn thông tin (Text Extraction), Tuy
nhiên, việc phân làm hai lớp cũng không thật rõ ràng, trong các hệ phần mềm,

người ta thường kết hợp hai lớp bài toán trên như trong hệ tìm kiếm (Search
Engine), hoặc trong bài toán tim kiếm văn bản (Text Retrievàl), một trong
những linh vực được quan tâm nhất hiện nay. Chẳng hạn như trong hệ tim kiếm
Yahoo, Altavíta, Google đều tổ chức dữ liệu theo các nhóm và các mục, mỗi
nhóm lại bao gồm nhiều nhóm con năm trong nó. Hệ phần mềm tìm kiếm của
Altavista, Google, con tich hợp thêm chương trình dịch tự động có thể dịch
chuyển đổi sang nhiều thứ Tiếng khác nhau và cho kết quả rất tốt.
Khai phá văn bản (Text mining) là một nhánh của khai phá dữ liệu (Data
mining), có mục đích là phát hiện và rút thông tin, tìm kiếm thông tin từ các tài
liệu văn bản (text documents). Khai phá văn bản liên quan tới các vấn đề như:
xử lý ngôn ngữ tự nhiên trích rút thông tin, tìm kiếm thông tin, khai phá Web,
Text Mining (applied to text data) + Lànguage Engineering
1.2. Các bước khai phá dữ liệu văn bản
Mục đích của quá trình tiền xử lý văn bản là đưa ra cách biểu diễn
văn bản thích hợp nhất. Các bước của quá trình tiền xử lý văn bản bao
gồm:
- Phân tích ngữ pháp/ngữ nghĩa của văn bản: tìm từ loại, loại bỏ sự nhập
nhằng về ngữ nghĩa, phân tích ngữ pháp.
- Sinh ra các tập các từ (còn gọi là túi từ - bag of words): Biểu diễn văn bản
bởi các từ trong văn bản đó, nhận dạng từ, loại bỏ các tư dừng (stop words, là
những tư không có ích cho khai phá văn bản). Ví dụ, một số từ dừng trong các
văn bản tiếng việt là: và, vì vậy, tóm lại, nếu, chẳng hạn,
ĐỒ ÁN TÔT NGHIỆP
4
Phân loại văn bản tiếng Việt với giải thuật K-NN
- Lựa chọn các từ: Sau khi đã loại bỏ các từ dừng, quá trình giảm số chiều
của việc biểu diễn văn bản được thực hiện bằng cách loại bỏ những đặc trưng
không thích hợp. Việc lự chọn các đặc trưng của văn bản liên quan đến trọng số
của các từ xuất hiện trong văn bản đó. Trọng số của từ là độ quan trọng, hay
hàm lượng thông tin mà từ đó mang lại cho văn bản. Nó là đại lượng để đo sự

khác biệt giữa văn bản chứa nó với văn bản khác. Đại lượng này có thể xác định
bằng tay hay đánh giá số lần xuất hiện của cụm từ đó trong văn bản và số lần
xuất hiện của cụm từ đó trong các văn bản khác. Số lần xuất hiện của từ trong
văn bản càng nhiều thì độ quan trọng của nó trong văn bản càng lớn và ngược
lại.
1.2.1. Khai phá văn bản/dữ liệu
Một số bài toán của khai phá văn bản dữ liệu là:
- Phân loại văn bản (Text Categorization): cho một số lớp văn bản đã được
xác định trước, nhiệm vụ của phân loại văn bản là: gán các văn bản vào ( một
hay một số) lớp văn bản thích hợp dựa vào nội dung của văn bản.
- Lập nhóm của văn bản (Text Clustering): cho một số văn bản, nhiệm vụ
của lập nhóm văn bản là chia các văn bản này thành các nhóm thích hợp căn cứ
vào mặt tương tự về mặt nội dung giữa các văn bản.
- Tóm tắt văn bản (Text Summairzation): Tóm tắt, chắt lọc thông tin từ một
(hay nhiều) nguồn để đưa ra mô tả ngắn gọn, cô đọng thông tin từ nguồn tài liệu
đó.
- phát hiện xu hương nổi bật (Emerging Trend Detection): Phát hiện các
chủ đề sẽ được quan tâm và có ích trong tương lài.
- Trả lời câu hỏi: Đưa ra câu chả lời thích hợp cho câu hỏi (tìm tài liệu thích
hợp cho câu hỏi)
-
1.2.2. Ứng dụng các kết quả khai phá dữ liệu văn bản trong thực tế
Ứng dụng các kết quả khai phá dữ liệu văn bản là sử dụng cá kết quả khai
thác văn bản cho những mục đích cụ thể. Kết quả của quá trình khai phá dữ liệu
ĐỒ ÁN TÔT NGHIỆP
5
Phân loại văn bản tiếng Việt với giải thuật K-NN
văn bản có thể sử dụng cho việc trích lọc thông tin, tóm tắt thông tin, dịch tự
động văn bản, dự đoán các xu hướng trong tương lài, tim kiếm thông tin, phân
loại thông tin, Và các ứng dụng này lại được sử dụng như một công cụ hỗ trợ

trong các hệ thống thông tin khác. Ví dụ, chương trình dịch tự động văn bản
trong hệ tìm kiếm của Google dể có thể chuyên dịch văn bản sang nhiều thứ
Tiếng khác nhau. Các kết quả của quá trình phân loại thông tin, trích lọc thông
tin tìm kiếm văn bản có thể được trong việc tổ chức, phân loại thông tin trong hệ
tìm kiếm để mang lại hiệu quả cao trong việc tim kiếm thông tin
1.3. Bài toán phân loại văn bản (Text categorization)
1.3.1. Bài toán phân loại văn bản
Phân loại văn bản quá trình gán nhãn văn bản vào một (hay một số) chủ
đề cho trước, dựa trên nội dung của văn bản.
Trong thập kỷ 80 hầu hết cách tiếp cận (ít nhất là trong thiết đặt thao tác)
để phân loại văn bản tự động gồm các kỹ thuật điều khiển bằng tay bởi chuyên
gia tri thức (Knowledge Engineering- KE), một hệ thống chuyên gia có khả
năng đưa ra quyết định phân loại. Hệ chuyên gia bao gồm các tập logic định
nghĩa bằng tay, cho mỗi loại, có dạng:
If (DNF formulà) then (category)
Mỗi công thức DNF (“Disjiunctive Normal Form”) là hợp của các mệnh
đề liên kết, tài liệu được phân loại vào category nếu nó thỏa mãn công thức,
nghĩa là, nếu nó thỏa mãn ít nhất một mệnh đề trong công thức. Một ví dụ nổi
tiếng cho cách tiếp cận này là hệ thống CONSTRUE [Hayes et al. 1990], xây
dựng bở Carnegie Group cho tệp tin Reuters. sau đây, là một ví dụ về luật được
sử dụng trong CONSTRUE:
IF ( (wheat &farm) OR (wheat & commodity)
or (bushels & export) or (wheat & wheat & tonnes)
or (wheat & winter & soft) )
then WHEAT
else WHEAT
ĐỒ ÁN TÔT NGHIỆP
6
Phân loại văn bản tiếng Việt với giải thuật K-NN
Điều trở ngại của cách tiếp cận này là hạn chế trong quá trình thu nhận tri

thức từ tài liệu của hệ thống chuyên gia. nghĩa là, các luật phải được định nghĩa
bằng tay bởi các kỹ sư tri thức với sự giúp đỡ của chuyên gia trong lĩnh vực
được nêu trong tài liệu: nếu tập hợp của các loại được cập nhật, thì hai nhà
chuyên gia về lĩnh vực được nêu trong tài liệu: nếu tập hợp của các loại được
cập nhật, thì hai nhà chuyên nghiệp phải can thiệp lại và nếu phân loại được
chuyển hoàn toàn sau một phạm vi khác, một chuyên gia về lĩnh vực này phải
can thiệp vào công việc phải được bắt đầu từ tập tài liệu hỗn tạp ban đầu.
Đầu thế kỷ 90, cách tiếp cận học máy (Machine Learning) để phân loại
văn bản được coi là nổi tiếng và trở thành thống trị, ít nhất là trong cộng đồng
người nghiên cứu (Mitchell[1996]), Theo cách tiếp cận này, một quá trình xử lý
quy nạp chung (cũng được gọi là quá trình học) xây dựng tự động
một phần lớp cho một loại c
i
bằng quan sát các đặc trưng của tập hợp các
tài liệu đã được phân bằng tay vào c
i
hay
i
c
bởi chuyên gia về lĩnh vực này; từ
đó, quá trình qui nạp thu lươm các đặc trưng để phân loại một tài liệu mới
(không nhìn thấy) vào c
i
. Trong kỹ thuật học máy, bài toán phân lớp là hoạt
động học có giam sát, quá trình học được “giám sát” bởi tri thức của các phân
loại và của mẫu huấn luyện thuộc chúng.
Với phương pháp học máy, sự cố găng về phương diên công việc của kỹ sư
theo hướng không phải xây dựng một phân lớp tự động (học) từ một tập các tài
liệu đã được phân loại bằng tay. Trong các tiếp cận học máy, các tài liệu đã
được phân loại bằng tay. Trong các tiếp cận học máy, các tài liệu đã được phân

lớp trở thành nguồn. Trường hợp thuận lợi nhất, chúng đã có sẵn, khi đó quá
trình phân loại bắt đầu bằng việc học từ tập dữ liệu này, sau đó thực hiện phân
loại tự động với các tài liệu khác. Trường hợp ít thuận lợi, không có sẵn tài liệu
đã phân loại bằng tay; khi đó quá trình phân loại động bắt đầu một hành động
phân loại và chọn một phương pháp tự động ngay lập tức. Do đó, cách tiếp cận
học máy là thuận lợi hơn cách tiếp cận kỹ sư tri thức.
ĐỒ ÁN TÔT NGHIỆP
7
Phân loại văn bản tiếng Việt với giải thuật K-NN
Các phân lớp xây dựng theo nghĩa kỹ thuật học máy ngày nay gây được
ấn tương sâu sắc về mức độ hiệu quả, khiến cho phân lớp tự động trở thành một
sự lựa trọn tốt để thay thế phân loại bằng tay (Không chỉ về phương diện kinh
tế). Chúng ta có thể hình dung các công việc của bài toán phân loại văn bản dựa
trên kỹ thuật học máy như sau:
Cách tiếp cận học máy dựa trên một tập dữ liệu có sẵn từ dầu

={d
1
, , d

}
D⊂
, trong đó D tập tất cả các tài liệu đã được phân lớp trước, d
j
là văn
bản thứ j, Tập các lớp C= {c
1
, , c
C
}, c

i
là kí hiệu của lớp thứ i. Hàm
Φ
: D
×
C

{T, F} với mọi < d
j
, c>
C×Ω∈
. Một tài liệu d
j
là mẫu dương của c
i
nếu
Φ
( d
j
, c
i
) = T, làu một mẫu âm nếu
Φ
( d
j
, c
i
) = F.
Với cách phân loại đưa ra, người ta mong muốn đánh giá được hiệu quả
của chúng. Bởi vậy, trước khi xây dựng phân loại của chúng. Bởi vậy, trước khi

xây dựng phân loại người ta chia tập dữ liệu ban đầu thành 2 tập hợp.
- Tập huấn luyện (training (- and- validation) set) Tr = {d
1
, , d
TV
}.
Phân lớp
Φ
cho các phân loại C = {c
1
, , c
C
} được xây dựng quy nạp dựa trên
sự quan sat các đặc trưng của các tài liệu trong Tr.
- Tập kiểm tra (test set) Te = {d
1+TV
, d

}, được sử dụng để kiểm tra
hiệu quả của phân lớp. Mỗi d
j

T
e
được đưa vào hệ thống phân lớp để xác định
giá trị
Φ
( d
j
, c

i
) và so sánh giá trị này với quyết định
Φ
( d
j
, c
i
) của chuyên
gia. Hiệu quả của phân lớp dựa trên sự phù hợp giữa
Φ
( d
j
, c
i
) và
Φ
( d
j
, c
i
).
Số tài liệu trong tập luỵên và tập kiểm tra thường được chọn theo tỷ lệ
tương ứng là 70% và 30% Trong đó, Tr

Te =
φ
, nếu điều kiện này bi vi
phạm thì kết quả đánh giá hiệu quả của mô hình mất đi yếu tố khách quan, khoa
học.
ĐỒ ÁN TÔT NGHIỆP

8
Phân loại văn bản tiếng Việt với giải thuật K-NN
Phân loại văn bản chủ yếu dựa trên cơ chế rút trích thông tin. Kỹ thuật
trích rút thông tin được sử dụng trong 3 giai đoạn của quá trình phân loại văn
bản:
1) Đánh chỉ số: Các văn bản ở dạng thô được chuyển sang dạng biểu diễn
nào đó để xử lý. Quá trình này được gọi là quá trình biểu diễn văn bả, dạng biểu
diễn của văn bản, dạng biểu diễn của văn bản phải có cấu trúc và dễ dàng xử lý.
Chi tiết về việc biểu diễn văn bản sẽ được trình bày trong chương 2.
2) Kỹ thuật: Kỹ thuật ở đây là phương pháp học để phân loại văn bản, nó
thường được sử dụng trong quá trình xây dựng quy nạp của các phân loại.
3) Đánh giá: đánh giá hiệu quả của các phân lớp được thực hiện.
Sự khác nhau trong các cách tiếp cận trước đây phần lớn là để giải quyết (2)
mặc dù trong một số ít đề xuất cũng sử dụng (1) và (3).
Hầu hết các phương pháp phân loại văn bản dựa trên các kỹ thuật học máy
hiện nay đều dựa vào tần suất hiện (số lần xuất hiện) của từ hoặc cụm từ trong
văn bản, hoặc dựa vào tần suất xuất hiện của từ trong văn bản và tần suất văn
bản (số các văn bản trong tập dữ liệu huấn luyện có chứa từ đó). Độ chính xác
của kết quả tách từ có ảnh hưởng rất lớn đến kết quả của phân loại, không thể có
kết quả phân loại tốt nếu không tách được đúng các từ trong văn bản. Bởi vậy,
một vấn đề quan trọng đối với phân loại văn bản là phải tách được chính xác các
từ trong văn bản. Các văn bản được viết bằng các ngôn ngữ khác nhau thì có đặc
trưng riêng của ngôn ngữ đó và không có một phương pháp chung nào để tách
các từ trong các văn bản được viết bằng ngôn ngữ khác nhau. Trong chương
sau, em sẽ giới thiệu một số phương pháp tách từ dùng cho các văn bản tiếng
Việt, phục phụ cho các bước tiền xử lý của phân loại văn bản.
Tóm lại, một bài toán phân loại văn bản dựa trên kỹ thuật học máy gồm
các bước sau:
- Chuẩn bị tập dữ liệu huấn luyện (Training Set) và tập dữ liệu kiểm tra
(Test set).

- Tách từ trong văn bản.
ĐỒ ÁN TÔT NGHIỆP
9
Phân loại văn bản tiếng Việt với giải thuật K-NN
- Biểu diễn văn bản
- Phương pháp học máy để phân loại văn bản
- Đánh giá hiệu quả của phương pháp học
1.3.2. Một Số phương pháp phân loại văn bản
Có nhiều phương pháp phân loại văn bản được đề xuất, sự khác nhau
cơ bản giữa các phương pháp này là ở thuật toán quy nạp. Nhiều thực nghiệm
cho thấy các phương pháp như: cây quyết định (decision tree), K- làng giềng
gần nhất (K- nearest neighbos), phương pháp sử dụng các vector hỗ trợ (Support
Vector Machines) là những phương pháp có hiệu quả phân loại cao ở Việt Nam
cũng như một số nghiên cứu sử dụng cây quyết định, k- láng giềng gần nhất để
phân loại văn bản tiếng Việt.
- Phương pháp cây quyết định: Ý tưởng của phương pháp này là xây
dựng một cây nhị phân quyết định gồm các nút và các cung trọng số liên kết
giữa các nút cụ thể: Các nút trong được gán nhãn bởi các từ, nhãn của các cung
tương ứng với trọng số của các từ trong tài liệu mẫu, nhãn của các lá tương ứng
với nhãn của các lớp. Cho một tài liệu d
j
, ta sẽ thực hiện so sánh các nhã của
cung xuất phát từ một nút trong (tương ứng với một từ nào đó) với trọng số của
từ trong d
j
, để quyết định nút trong nào sẽ được duyệt kế tiếp. Quá trình này
được lặp từ nút gốc của cây, cho tới khi nút được duyệt là một lá của cây. Kết
thúc quá trình này, nhãn của nút làn nhãn của lớp được gán cho văn bản.
- Phương pháp k- láng giềng gần nhất: Tư tưởng chính cảu phương
pháp này là tình độ phù hợp của văn bản đang xét với từng nhóm chủ đề dựa

trên k văn bản mẫu có độ tương tự gần nhất.
- Phương pháp Support Vector Machines: Phương pháp này suất phát từ
suy nghĩ, làm thế nào để tối thiểu lỗi trong quá trình kiểm tra (test orror
minimization ). Bởi vậy, ý tương của Support Vectort Machines (SVNs) là tìm
một siêu phăng tối ưu để phân chia tập dữ liệu huấn luyện sao cho các văn bản
thuộc lớp c
i
thuộc về phía siêu phẳng, con các văn bản không thuộc lớp c
i
sẽ
ĐỒ ÁN TÔT NGHIỆP
10
Phân loại văn bản tiếng Việt với giải thuật K-NN
thuộc về phía bên kia của siêu phẳng. Một siêu phẳng được gọi là tối ưu nếu
khoảng cách từ mẫu gần nhất đến siêu phẳng là lớn nhất.
Các phương pháp như cây quyết định, k- láng giềng gần nhất có ưu điểm là
dễ hiểu, dễ xây dựng về mặt thuật toán, nhưng cây quyết định dựng sẽ phức
tạp khi vector dùng để biểu diễn văn bản có số chiều quá lớn, còn với k- láng
giềng gần chúng ta không có giải pháp tuyệt đối trong lựa trọn phương pháp xác
định độ tương tự giữa văn bản và chủ đề. Hiệu quả của các phương pháp này
tăng khi tập dữ liệu huấn luyện có chứa nhiều văn bản. Phương pháp SVMs tuy
phức tạp về mặt xây dựng thuật toán nhưng hiệu quả phân loại không phụ thuộc
vào số chiều của vector biểu diễn văn bản để huấn luyện. Quan trọng hơn cả,
nhiều kết quả thực nghiệm [Thorsten Joachchims, 1997], [Fabrizio Sebastiani,
2002], cho thấy so với các phương pháp loại văn bản truyền thống (như cây
quyêt định, SVMs, ) đều là nhưng phương pháp phân loại hiệu quả và có ưu
nhược điểm riêng.
Do đó, trong luận văn này em sẽ tập trung vào tìm hiểu phương pháp
KNN và áp dụng phương pháp này để phân loại văn bản tiếng Việt.
1.4. Kết chương

Trong chương này, em đã trình bày tóm tắt các bước cần làm của một bài
toán phân loại văn bản. Nghiên cứu phương pháp KNN và so sánh no với một số
phương pháp phân loại văn bản khác. Cuối cùng là kết quả thực nghiệm của luận
văn, dùng phương pháp k- láng giềng gần nhất để phân loại văn bản tiếng Việt.
ĐỒ ÁN TÔT NGHIỆP
11
Phân loại văn bản tiếng Việt với giải thuật K-NN
CHƯƠNG II
TÁCH TỪ VÀ BIỂU DIỄN VĂN BẢN TIẾNG VIỆT
Để máy tính có thể tự động phân loại văn bản, thì các văn bản được trình
bày dưới dạng chuỗi ký tự cần phải biến đổi thành một mô tả thuận lợi cho thuật
toán huấn luyện và bài toán phân loại, nghĩa là văn bản được chuyển từ dạng
không có cấu trúc (hoặc bán cấu trúc) sang dạng có cấu trúc. Có rất nhiều cách
biểu diễn văn bản, nhưng dù theo cách này hay cách khác thì việc biểu diễn văn
bản đều dựa vào sự xuất hiện của từ trong văn bản. Do đó, công việc đầu tiền và
ảnh hưởng lớn đến quá trình phân loại là kết quả của việc tách từ trong văn bản.
Tiếng Việt có những đặc điểm riêng về cấu tạo của từ, cấu trúc ngữ pháp. Nên
việc tách từ trong văn bản tiếng Việt cũng đòi hỏi những phương pháp đặc
trưng. Trong chương này, em sẽ trình bày chi tiết các bước tiền xử lý chuẩn bị
cho việc phân loại văn bản tiếng Việt
o Một số phương pháp tách từ trong văn bản tiếng Việt.
o Cách trích chọn đặc trưng để biểu diễn văn bản.
o Một số phương pháp biểu diễn văn bản.
2.1. Một số phương pháp tách từ trong văn bản Tiếng Việt
2.1.1. Các đặc trưng của văn bản
- Nhiều chiều: Số lượng từ dùng để biểu diễn văn bản là rất lớn ( hơn
10000)
- Có tính phụ thuộc: Các từ, các câu trong văn bản hoàn toàn độc lập với
nhau, chúng có liên quan với nhau về mặt ngữ nghĩa. Để hiểu chinh xác ý nghĩa
diễn đạt của một từ nào đó trong văn bản ta cần phải xem xét nó trong một ngữ

cảnh cụ thể.
- Nhập nhằng: Sự nhập nhằng ở đây là do tính đa nghĩa của từ, một từ
có thể có nhiều nghĩa. Thậm trí một câu cũng có thể diễn đạt nhiều ý nghĩa khác
ĐỒ ÁN TÔT NGHIỆP
12
Phân loại văn bản tiếng Việt với giải thuật K-NN
nhau, mà để hiểu được câu đó ta phải đặt nó trong một văn cảnh cụ thể ví dụ câu
“Ông già đi nhanh quá”, có thể hiểu theo nghĩa một ông già đi với tốc độ nhanh,
nhưng cũng có thể hiểu theo nghĩa một ông nào đó nhìn già đi nhiều.
Tóm lại, văn bản có những đặc điểm sau: Cấu trúc văn bản rất đa dạng, có
nhiều văn bản không có một cấu trúc cụ thể. Người viết trình độ kém, sai chính
tả, cấu trúc không mạch lạc.
2.1.2. Một số đặc trưng của Tiếng việt
Tiếng việt là ngôn ngữ đơn âm tiết và thuộc nhóm ngôn ngữ Đông Nam Á.
Nó có đặc điểm riêng về ký hiệu, ngữ pháp và ngữ nghĩa, khác với các ngôn ngữ
Ân- Âu. Đây không chỉ là khó khăn về việc học các ngôn ngữ Châu Âu, mà còn
là khó khăn trong việc ứng dụng các kỹ thuật phát triển để xử lý ngôn ngữ tự
nhiên. Mặt khác, mặc dù là ngôn ngữ đơn âm tiết nhưng không giống như các
ngôn ngữ đơn âm tiết khác như Trung Quốc, Thái Làn, Tiếng Việt được viết
bằng ký tự latin mở rộng. Vì vậy, cách thực hiện của ngôn ngữ này cũng không
thể ứng dụng cho Tiếng Việt và hiện tại một trong các việc còn chưa được giải
quyết trong xử lý ngôn ngữ tự nhiên của tiếng Việt là bài toán xác định các biên
giới của từ (word boundaries) trong văn bản tiếng Việt.
1.2.2.1. Đặc điểm từ
Với các ngôn ngữ Ân- Âu (như Tiếng Anh, Pháp, ), “từ là một nhóm của
các ký tự có nghĩa, phân cách nhau bởi khoảng trống hoặc dấu câu ” ( định nghĩa
trong từ điển Webster). Trong khi đó, các ngôn ngữ Châu Á như Trung Quốc,
Thai, Việt Nam, Khoảng trống không được sử dụng để xác định các biên giới
từ. Phần nằm giữa hai dấu phân cách là tiếng, mỗi tiếng có thể được coi là từ
cũng có khi không phải là từ. Cụ thể, em xin trình bày một số đặc điểm của từ

trong tiếng Việt. Các định nghĩa về từ và tiếng của tiếng Việt. Các định nghĩa về
từ và tiếng của tiếng Việt trong phần này được trích dẫn từ bộ sách tiếng Việt
cấp 2, của nhà xuất bản Giáo Dục.
a) Tiếng
ĐỒ ÁN TÔT NGHIỆP
13
Phân loại văn bản tiếng Việt với giải thuật K-NN
Ngôn ngữ Việt Nam có một đơn vị đặc biệt gọi là tiếng. Mỗi tiếng trong
tiếng Việt được viết thành một chữ, ngược lại mỗi chữ đọc thành một tiếng, mỗi
chữ nằm giữa dấu phân cách trong câu. Tiếng được dùng để tạo thành từ, tiếng
có thể có nghĩa rõ ràng hoặc không có nghĩa rõ ràng. Ví dụ:
- Từ “ lạnh lẽo ” ( có nghĩa ): tiếng “lạnh” (có nghĩa), tiếng “lẽo” (nghĩa
không rõ).
- Từ “ bồ kết ” (có nghĩa): Tiếng “bồ” và tiếng “kết” (đều có nghĩa).
- Tiếng gồm có ba bộ phận hợp lại: âm đầu, vần và thanh. Ví dụ, tiếng
“đà” có âm đầu là “đ” vần “a” và thanh “huyền”. Hai bộ phân vần và thanh,
tiếng nào cũng phải có. Âm đầu thì có tiếng có, có tiếng không. ví dụ: tiếng “ở”
chỉ có vần “ơ” và thanh “hỏi”, không có âm đầu. Mỗi bộ phận của tiếng do một
âm hay kết hợp một số âm tạo thành. Bộ phận âm đầu do âm tạo thành. Âm đầu
là phụ âm.
- Bộ phận vần có thể do một hoặc 2, 3 âm tạo thành, nhưng bao giờ
cũng phải có một âm chính. Âm chính là nguyên âm. Âm cuối của vần cũng có
thể là phụ âm. Ví dụ, tiếng “nam” có âm đầu là n, âm cuối của vần là phụ âm m,
nguyên âm làm âm chính là a.
Tiếng Việt dùng chữ cái để ghi âm. Mỗi âm được ghi bằng 1 hoặc nhiều
chữ cái ghép lại. Trật tự bảng chữ cái trong Tiếng Việt: a, ă, â, b, c, d, đ, e, ê, g,
h, i, k, l, m, n, o, ô, ơ, p, q, r, s, t, u, ư, v, x, y.
b) Từ
Tồn tại nhiều định nghĩa khác nhau về từ trong tiếng Việt, Nhưng tất cả các
nghiên cứu ngôn ngữ đều đồng ý từ trong tiếng Việt có những đặc điểm sau

(Đinh Điền, 2001):
Từ phải đầy đủ về phương diện hình thức, ngữ nghĩa và độc lập về mặt ngữ
pháp.
Từ được xây dựng từ tiếng.
Chúng có thể gồm các từ đơn (1- Tiếng), hoặc các từ phức (n- tiếng, n<5).
Xét về mặt cấu tạo từ có thể chia thành các loại sau:
ĐỒ ÁN TÔT NGHIỆP
14
Phân loại văn bản tiếng Việt với giải thuật K-NN
- Từ đơn: do 1 tiếng tạo thành.
- Từ ghép: do 2, 3 hoặc 4 tiếng tạo thành.
- Từ láy: là từ do 2 hay nhiều tiếng lặp lại tạo thành. Các tiếng láy có thể
có một phần hay toàn bộ âm thanh được lặp lại. Ví dụ, lon ton, xinh xinh, chập
chững, nhí nha nhí nhảnh,
Xét về mặt ngữ loại từ trong tiếng Việt được chia thành một số loại cơ
bản sau:
- Danh từ: Là những từ chỉ người hay sự vật. Ví dụ, bàn, ghế, vải vóc,
khoa học, kỹ thuật, Việt Nam,
- Đại từ: Là từ dùng thay thế cho danh từ, hoặc động từ, hoặc tính từ trong
câu. Đại từ chỉ ngôi dùng để xưng hô, thay cho tên gọi đối thoại. Ví dụ, tôi, nó,
ai, …
- Động từ: Là những từ chỉ hoạt động, trạng thái. Nội động từ chỉ hoạt
động, tạng thái của người hay sự vật không có tác động hoặc ảnh hưởng đến
người hay sự vật khác. Ngoại động từ chỉ hoạt động của người hay sự vật có tác
động, ảnh hưởng đến người, sự vật khác. Ví dụ: động từ cắt trong câu “ Thợ gặt
đang cắt lúa” là ngoại động từ.
Nhận xét:
- Động từ bị và được chỉ trạng thái tiếp thu.
- Động từ có chỉ trạng thái sở hữu.
- Động từ là được dùng trong câu giới thiệu, nhận xét, đánh giá.

Tính từ
Là từ chỉ tính chất (của người, loại vật, đồ vật, cây cối, ) nhưng: mầu
sắc, hình thể, kích thước, dung lượng, phẩm chất,
Phụ từ
Là những hư từ chủ yếu đi kèm với động từ, tính từ để biểu diễn một số
quan hệ. Phần lớn phụ từ đứng trước động từ, tính từ. Xét về mặt ý nghĩa nào đó
mà thôi. Phụ từ biểu thị như quan hệ và những ý nghĩa thường gặp sau đây:
- Phụ từ (chỉ quan hệ ) thời gian
ĐỒ ÁN TÔT NGHIỆP
15
Phân loại văn bản tiếng Việt với giải thuật K-NN
- Phụ từ (chỉ) thể thức
- Phụ từ (chỉ ý) khẳng định, phủ định
- Phụ từ (chỉ ý) mức độ
Ví dụ: Mai nó mới đi
(phụ từ mới đi kèm với động từ đi chỉ ý khẳng định).
Phụ từ Không thể đảm nhiệm vài trò chính của cụm từ, chúng chuyên làm
thành tố trong cụng từ để bổ sung cho thành tố chính một ý nghĩa nào đó. Vì thế
chúng cũng được coi là các từ chứng làm bộc lộ bản chất ngữ pháp của các từ
làm thành tố chính. Đôi khi, nhờ các phụ từ mà ta xác định được từ loại của từ
mà chúng đi kèm. Chẳng hạn:
- Các phụ từ: đã, từng, vừa, mới, đang, sẽ, sắp, cho ta thấy từ đứng sau
được chúng phụ nghĩa thường là động từ.
- Các phụ từ chỉ mức độ: rất, hơi, cho ta thấy từ đứng sau được chúng
phụ nghĩa thường là tính từ hoặc động từ chỉ trạng thái tâm lí. Nhóm từ hãy,
chớ, đừng vốn là chứng tố của động từ, không xuất hiện được trước tính từ nói
chung. Tuy nhiên cũng có những trường hợp đặc biệt.
Ví dụ:
Có phải duyên nhau thì thắm lại
đừng xanh như lá, bạc như vôi

Như vậy, từ “đừng” có thể được dùng trước một từ (hay tổ hợp từ) không
phải động từ để tạo ra ý nghĩa ngữ pháp “mệnh lệnh” và làm chứng tố cho tính
chất động từ lâm thời (riêng trong trường hợp dùng đó ) của nó.
Một số phụ từ thường gặp với các ý nghĩa sau:
- Ý nghĩa đối chiếu sự việc: vẫn, cứ, còn, lại, cũng,
- Ý chỉ kết quả: được (được còn có ý nghĩa chỉ khả năng), phải
- Ý chỉ cách thức biến của hành động: ra, vào, tới, qua, lại,
- Ý cùng chung: cùng, với,
Những từ chỉ hướng ra, vào, tới, lui, qua, lại đứng sau động từ không chỉ
sự rời chuyển, thường có tác dụng nêu cách thức diễn biến của hành động. ví dụ:
ĐỒ ÁN TÔT NGHIỆP
16
Phân loại văn bản tiếng Việt với giải thuật K-NN
Nói vào, bàn vào, thêm vào, (ý góp thêm).
Nói ra, ngã ra, bàn ra, (ý giam bớt).
Cần phân biệt phụ từ với động từ có cùng hình thức âm thanh. Ví dụ:
Anh ấy lấy được vợ

được là phụ từ
Anh ấy được lấy vợ

được là phụ từ
Từ các ví dụ trên cho thây khi được, phải đứng sau động từ, chúng là các
phụ từ, khi đứng trước động từ, chúng là động từ chung tâm của cụm từ.
Cũng cần phân biệt với, cùng là phụ từ chỉ sự cùng chung với với, cung là
quan hệ từ. Khi các từ này đứng sau động từ thì đó là phụ từ chỉ ý cùng chung.
Ví dụ: Cho nó chơi với. Khi từ với, cùng đứng trước danh từ chỉ đối tượng của
sự cùng chung thì chúng là quan hệ từ. Ví dụ: Tôi chơi với nó.
Trợ từ, thán từ
Trợ từ (còn được gọi là tính thái từ): là những hư từ dùng trong câu biểu thị

qua hệ về nhiều mặt giữa người nói – người nghe như hỏi, trả lời, sai khiến,
quan hệ, vài trò xã hội giữa họ với nhau. Trợ từ thường gặp là ư, ơ, à, a, ạ,
hử, hở, nhỉ, nhé, ghe, mà, lại, chứ lị, đi thôi, , chúng thường đứng ở cuối
câu. Tên gọi trợ từ còn được dùng chỉ những từ nhấn mạnh loại như cả, chỉ,
những. Ví dụ: Nó chỉ mua được hai vé.
Thán từ: là những từ biểu thị cảm xúc do sự việc hoặc đối với sự việc.
Thán từ thường gặp là: ôi, ơ, ái, á, ô hay, than ôi, trơi ơi, chúng thường
đứng ở đầu câu hoặc tách riêng thanh câu đặc biệt.
ĐỒ ÁN TÔT NGHIỆP
17
Phân loại văn bản tiếng Việt với giải thuật K-NN
2.1.2.2. Đặc điểm chính tả
a) Chính tả chưa thống nhất
Mặc dù chinh tả tiếng việt đã có một hệ thống quy tắc chuẩn mực, nhưng
vẫn có một số từ tôn tại nhiều cách viết khác nhau. Ngay cả bản thân một người
cũng có lúc viết thế này lúc viết thế khác Sự sai khác này là do các nguyên nhân
sau:
- Những từ đồng âm: y/i ( vật lý/ vật lí, tốc ký/tốc kí, bác sỹ/bác sĩ) d/gi
(dông bão/ giông bão).
- Phương ngữ: chính dáng/ chánh đáng, tru/ con trâu,
- Vị trí dấu trong một âm tiết: Khai hỏa/khai hỏa
- Cách viết hoa tùy tiện với danh từ riêng: tồn tại nhiều cách viết khác
nhau. Ví dụ: Bộ khoa học công nghệ và môi trường/Bộ khoa học công nghệ &
Môi trường, Việt Nam/Việt nam,
- Phiên âm tiếng nước ngoài: phiên âm là hình thức biến chữ ngoại quốc
thành chữ địa phương. Nhưng hiện nay tồn tại cả hai cách phiên âm hoặc không
phiên âm. Chẳng hạn, singapo/Xing- ga- po, America/ Hó Kỳ, Trung
Quốc/Trung Hoa,
- Dấu gạch nối: thường xuất hiện khi các từ đa âm nước ngoài du nhập
vào Việt Nam. Để chỉ rõ đây là một chữ không phải một cụm chữ, người ta dùng

dấu gạch nối. Tuy nhiên vẫn tồn tại cả hai cách viết. Ví dụ, portugal được dịch
là Bồ Đào Nha/Bồ- Đào- Nha.
Cách viết không thống nhất như vậy sẽ gây nhiều khó khăn trong việc kiểm
tra chính tả nói riêng và xử lý ngôn ngữ tiếng Việt nói chung.
b) Tiếng Việt hiện đại đang trên đà phát triển
Quá trình khắc phục những mâu thuẫn giữa nhu cầu giao tế ngày càng tăng,
đa dạng, phong phú và tính chất hữu hạn của ngôn ngữ đã thúc đẩy tiếng Việt
phát triển không ngừng trên cả hai khía cạnh từ vựng và ngữ pháp. Xu hướng
phát triển của tiếng việt theo hướng hoàn thiện và chuẩn mực hóa các ngôn ngữ
văn học.
ĐỒ ÁN TÔT NGHIỆP
18
Phân loại văn bản tiếng Việt với giải thuật K-NN
So với các thế kỷ trước, cách diễn đạt ngôn từ, cách dùng chữ nghĩa và các
phương tiện cú pháp ngày nay phong phú đa dạng hơn nhiều. Có những từ xuất
hiện trong lối nói trước đây nhưng nay không thấy nữa. Ngay nay, cùng với sự
phát triển của văn hóa xã hội, Khoa học kỹ thuật và sự du nhập các từ nước
ngoài, vốn từ vựng của tiếng Việt ngày càng được bổ xung nhiều từ mới.
2.1.3. Một số Phương pháp tách từ
Trong ngôn ngữ, từ là một đơn vị cơ sở. Bởi vậy, phân đoạn từ là nhiệm
vụ đầu tiên và bắt buộc đối với ngôn ngữ xử lý tự nhiên. Với các nhóm ngôn
ngữ đa âm tiết như nhóm ngôn ngữ Châu Âu, từ là phần năm giữa phân cách
trong câu. Từ có thể gồm một hoặc nhiều âm tiết. Quá trình phân tách từ vựng
bao gồm việc tách các tiếp tiền tố, tiếp hậu tố ra khỏi từ để thu được từ gốc của
nó. Sau đó tìm kiếm gốc vừa tách được trong từ điển từ. Việc kiểm tra từ phụ
thuộc rất nhiều vào từ điển có đủ lượng từ cần thiết hay không. Khác với nhóm
ngôn ngữ trên, Tiếng Việt là ngôn ngữ đơn âm tiết, phần năm giữa hai dấu phân
cách là tiếng, mỗi tiếng cũng có thể coi là từ cũng có thể không phải là từ. Do
vậy, mặc dù không phải tách các tiếp tiền tố, tiếp hậu tố khi phân tách từ, nhưng
việc tách từ trong câu tiếng Việt phức tạp hơn rất nhiều so với quá trình xử lý

tách từ trong nhóm ngôn ngữ trên.
Vào thời gian đầu và giữa thế kỷ 20, khi các nhà nghiên cứu Tiếng Việt
giới thiệu ngữ pháp phương Tây, một vài thay đổi trong mẫu viết tiếng Việt
được đề xuất, làm cho “nó hướng từ” hơn, sử dụng các nhãn hiệu khác cho biên
giới từ được rõ ràng hơn và ngôn ngữ giống với Châu Âu hơn. các thay đổi nay
gồm loại trừ khoảng trống giữa các tiếng và sử dụng dấu gạch nối, ví dụ “kỹ-
thuật” hay kỹ thuật thay cho “kỹ thuật” Sự cố gắng đó là không thanh công, có
thể do tính tự nhiên của ngôn ngữ tiếng Việt, hơn nữa sự nhận ra chính xác các
từ không phải lúc nào cũng qua trọng. Nhưng khó khăn và cũng là vấn đề đặt ra
với ngôn ngữ tiếng việt lá:
Sự nhập nhằng trong từ ghép
- Cho đến nay vẫn chưa có một từ điển tổng hợp, toàn diện.
ĐỒ ÁN TÔT NGHIỆP
19
Phân loại văn bản tiếng Việt với giải thuật K-NN
- Nhận ra các danh từ riêng và tên.
- Hình vị từ (morphemes) và từ láy.
Cho đến nay, đã có một số phương pháp tách từ Tiếng Việt được đánh giá
là hiệu quả.
2.1.3.1. Xây dựng các Ôtômát để đoán nhân các từ
Bài toán
Nhập vào một câu tiếng Việt bất kỳ, hãy tách câu đó thành những đơn vị
từ vựng (từ), hoặc chỉ ra những âm tiết nào không có trong từ điển (phát hiện
đơn vị từ vựng mới).
Với những phương pháp này, chúng ta cần tập dữ liệu gồm từ điển âm
tiết (khoảng 6700 âm tiết) và từ điển từ vựng tiếng Việt (khoảng 30. 000 từ).
Các từ điển được lưu dưới các tệp văn bản có định dạng mã TCVN hoặc
Unicode.
Các bước giải quyết
1) Xây dựng ôtômát âm tiết đoán nhận tất cả các âm tiết tiếng Việt

2) Xây dựng ôtômát từ vựng đoán nhận tất cả các từ vựng tiếng Việt.
3) Dựa trên các ôtômát nêu trên, xây dựng đồ thị tương ứng với câu cần
phân tích và sử dụng thuật toán tìm kiếm trên đồ thị để liệt kê các cách phân tích
có thể.
Ý tưởng của phương pháp này là: xây dựng dần dần dựa trên ôtômát đã có
ở bước trước và âm tiết (hoặc từ vựng) mới học được từ tệp dữ liệu ở bước hiện
tại.
Bằng chữ cái của ôtômát âm tiết là bảng chữ cái tiếng Việt, mỗi cung
chuyển được ghi trên đó một ký tự, ban đầu ôtômát âm tiết chỉ gồm một trạng
thái khởi đầu được đánh số hiệu 0. Giả sử tại bước nào đó ta đọc được âm tiết a
có độ dài n (tình bằng tần số ký tự) từ tập dữ liệu. Xuất phát từ trạng thái khởi
đầu p=q
0
ta lấy ra ký tự c
i
của a và tìm xem từ p có cung chuyển đến trạng thai
q nào đó mà trên đó ghi ký tự c
i
hay không. Nếu trạng thái q như thế, ta chuyển
ĐỒ ÁN TÔT NGHIỆP
20
Phân loại văn bản tiếng Việt với giải thuật K-NN
p thành q và lặp lại các bước ký tự c
1+i
tiếp theo. Nếu không có q nào như thế, ta
ra khỏi vòng lặp và xây dựng các trạng thái và cung chuyển tương ứng trên đó
ghi các ký tự c
i
, c
1+i

, , c
1−n
theo sơ đồ sau ( ô vuông chỉ rằng đó là trạng thái
kết thúc).
Ví dụ, với ba bộ âm tiết phương, pháp, trình ta sẽ có ôtômát âm tiết như sau
(hình bên):

Ôtômát từ vựng được xây dựng tương tự, với điểm khác nhau như sau:
Thay vi ghi trên mỗi cung chuyển một ký tự, ta ghi một số. Số này là số hiệu của
trạng thái (kết) của ôtômát âm tiết tại đó đoán nhận mỗi âm tiết của từ.
Với cách tổ chức này, ta làm giảm bớt kích thước của ôtômát từ vựng mà
không làm mất thông tin của nó, bởi vì mỗi âm tiết được xác định bằng một
trạng thái kết duy nhất trong ôtômát âm tiết. Ví dụ, với hai từ phương pháp và
phương trình, giả sử khi đưa lần lượt các âm tiết phương, pháp, trình qua ôtômát
âm tiết, ta đến được các trạng thái kết ghi số n
1
, n
2
, n
3
ĐỒ ÁN TÔT NGHIỆP
21
Phân loại văn bản tiếng Việt với giải thuật K-NN

Sau khi đã xây dựng xong hai ôtômát, ta ghi chúng vào hai tệp định kiểu
để dùng trong bước phân tách từ vựng. Đến lúc này, hai từ điển ban đầu không
còn cần thiết nữa, mọi dữ liệu của ta nằm trong hai tệp ghi hai ôtômát này. Nếu
mỗi ký tự (char) được ghi vào tệp với kích thước 2 byte (mã Unicode), mỗi số
nguyên (int) có kích thước 4 byte thì tệp lưu ôtômát âm tiết có kích thước 146
KB, tệp ôtômát từ vựng có kích thước 1MB.

Tư tưởng của thuật toán phân tách từ vựng là quy việc phân tách câu về
việc tìm đường đi trên một đồ thị có hường, không có trọng số.
Giả sử ban đầu là một dãy gồm n+1 âm tiết s
0
, s
1
, , s
n
. Ta xây dựng một
đồ thị có n+2 đỉnh v
0
, v
1
, , v
n
, v
1+n
, sắp thứ tự trên một đường thẳng từ trái
sang phải; trong đó, từ đỉnh v
i
đến đỉnh v
j
có cung (i<j) nếu các âm tiết s
i
, s
1+i
, , s
1−j
theo thứ tự lập thành một từ. Khi đó mỗi cách phân tích câu khác nhau
tương ứng với một đương đi trên đồ thị từ đỉnh đầu v

0
đến đỉnh cuối v
1+n
. Trong
các phân tách câu đó, cách phân tách câu đúng đắn nhất ứng với đường đi qua ít
cung nhất trên đồ thị.
Trong trường hợp câu có sự nhập nhằng thì đồ thị sẽ có nhiều hơn một
đường đi ngắn nhất từ đỉnh đầu đến đỉnh cuối, ta liệt kê toàn bộ các đường đi
ngắn nhất trên đồ thị, từ đó đưa ra tất cả các phương án tách câu có thể và để
người dùng quyết định sẽ chọn phương án nào, tùy thuộc vào ngữ nghĩa hoặc
văn cảnh. Ví dụ, xét một cum câu “học sinh học”, ta có đồ thị sau:
ĐỒ ÁN TÔT NGHIỆP
22
Phõn loi vn bn ting Vit vi gii thut K-NN
Cụm n y có sự nhập nhằng, ta có hai kết quả phân tách là "học, sinh học"
và "học, sinh, học". Ta có thể chỉ ra rất nhiều cụm nhập nhằng trong tiếng Việt.
Trờng hợp trong câu có âm tiết không nằm trong từ điển thì rõ ràng ôtômát
âm tiết không đoạn nhận đợc âm tiết này. Kết quả là đồ thị xây dựng từ câu đó là
không liên thông. Dựa vào tính chất này, ta thấy rằng nếu đồ thị không liên
thụng thì dễ dàng phát hiện ra rằng đơn vị âm tiết không đoán nhận đợc không
nằm trong từ điển âm tiết, tức nó bị viết sai chính tả hoặc là đơn vị âm tiết mới.
ỏnh giỏ kt qu
Vi cỏch tip cn nh trờn, bi toỏn phõn tỏch t vng trong cõu ting
Vit v c bn ó c gi quyt, c bit l vn tỏch cỏc t hp t tng
ng vi mt n v t vng, thng l cỏc cm t c nh, ng c nh hoc
cỏc thnh ng trong ting Vit. Nu chỳng ta ch s dng mt danh sỏch t vng
thụng thng v tỡm kim trờn danh sỏch ny thỡ khụng th m bo thi gian
tỏch t vng i vi cõu cú chiu di ln.
Vi nhng cõu nhp vo cú s nhp nhng t vng, cú nhiu hn mt
cỏch phõn tỏch thỡ chng trỡnh lit kờ ton b cỏc phng ỏn tỏch t cú th v

dnh quyn la chn kt qu cho ngi s dng. Trong tt c cỏc phng ỏn
phõn tỏch ú bao gi cng tn ti mt phng ỏn ỳng.
Di õy l mt s cõu nhp vo v kt qu tỏch t tng ng
1
Nó | là | một | bản | tuyn ngôn | đặc sắc | của | chủ ngha nhân
đạo |, một | tiừng | chuông | cảnh tỉnh | trớc | hiúm họa | lớn l o | của
| hành tinh | trớc | sự | điên rồ | của | những | kẻ | cuồng týn
N TễT NGHIP
23
Phõn loi vn bn ting Vit vi gii thut K-NN
2
Sự | gin dị | trong sang | toả | khắp | tác phốm |đã | khiừn | nó |
trở nên | một | bài thơ | bờt hủ | mà | mãi mãi | ngời ta | muốn | đem |
làm qu | tặng | của | tình yu.
3
Trong khi | các | thành phần | t bản chủ ngha | có | những | bớc |
phát triún | mạnh | hơn | thời kì | trớc | thì | thừ lực | của | giai cờp |
địa chủ | vẫn | không hề | suy gim
Tuy nhiờn, chng trỡnh phõn tỏch t vng ny cú mt s vn khú
khn cn tip tc nghiờn cu gii quyt:
Th nht l vn gii quyt nhp nhng phõn tỏch. Cn phi chn mt
phng ỏn ỳng n trong nhiu phng ỏn. Cỏc phng ỏn tip cn kh thi cho
vn ny cú th l:
- Dựng phng phỏp phõn tớch cỳ phỏp. Tin hnh phõn tớch cỳ phỏp
ca cõu vi nhng phng ỏn tỏch t vng cú th, t ú loi ra nhng phng
ỏn sai cỳ phỏp. mn thc hin c iu ny thỡ ta cn mt trỡnh phõn tớch cỳ
phỏp tng i tin cy v y .
- Dựng phng phỏp xỏc xut thụng kờ. Ta x thụng kờ trờn nhng tp
vn (tp d liu) tng i ln ca ting Vit tỡm ra xỏc sut ca cỏc b ụi
hay b ba t loi hoc t vng i cnh nhau. T ú la chn phng ỏn phõn

tỏch cú xỏc sut sai ớt nht.
- Th hai l vn gii quyt tờn riờng, tờn vit tt v tờn cú ngun gc
nc ngoi cú mt trong cõu. Phng phỏp phõn tỏch ny cha nhn ra c cỏc
cum t dng Nguyn Vn A, i hc Khoa hc T nhiờn, hoc T. 8. 20.
20. 29, 1.000$, 0. 50%,
2.1.3.2. Phng phỏp tỏch t s dng mụ hỡnh markov n
Phng phỏp ny s dng mụ hỡnh n- gram c hun luyn khụng giỏm
sỏt bng thut toỏn baum- welch v s dng t in ting Vit thc hin phõn
on t trờn tp d liu ting vit cha c phõn on. Bi toỏn phõn on t
ting vit c qui v bi toỏn tỡm dóy trng thỏi hp lý nht khi cho mt dóy
N TễT NGHIP
24
Phân loại văn bản tiếng Việt với giải thuật K-NN
quan sát. Các thí nghiệm cho thấy rằng phương pháp này đạt được độ chính xác
cao hơn hoặc ít nhất là bằng các hệ phân đoạn từ tiếng Việt tự động tốt nhất hiện
nay, đặc biệt đối với các văn bản chuyên ngành. Hiện nay, kết quả này ứng dụng
vào chương trình kiểm lỗi chính tả và tìm kiếm mới tự động [5].
Mô hình tiếng Việt sử dụng HMM
Mô hình n- gram tiếng Anh chính là mô hình markov bậc n- 1.Dưới đây
chúng tôi sẽ trình bày mô hình n- gram tiếng Việt.
Mô hình n- gram tiếng Việt
Mô hình tiếng Việt cần được cần tham số hóa được hiện tượng nhập
nhằng ở đây. Cách thứ nhất, ta coi sự xuất hiện của một âm tiết được bổ xung
thêm một âm tiết phụ thuộc vào n- 1 âm tiết trước đó và tập âm tiết đặc biệt
dùng để phân biệt hai từ kề nhau. cách nhìn nhận này giống teahan và cộng sự
(2000) đã làm. Cách thứ hai, ta coi sự xuất hiện của một từ phụ thuộc vào n- 1 từ
trước đó và từ có thể là đơn hoặc ghép. sproat và cộng sự (1996) đã mô hình hóa
tiếng Trung Quốc bằng mô hình uni- gram kiểu này Đinh Điền và cộng sự
(2001) cũng đã áp dụng cách làm của sproat cho tiếng Việt. Tuy nhiên độ rộng
ngữ cảnh là không thì hẹp quá. Chúng ta xây dựng mô hinh n- gram vì các lý do

sau: tính tự nhiên của cách nhìn vấn đề, yêu cầu cơ bản đối với mô hình được
thỏa mãn, việc kết hợp thêm xác sấu từ loại là thuận tiện. các đặc điểm của mô
hình n- gram này là:
- Nó là mô hình markov ẩn bậc n- 1 vì ta không quan sát được dãy từ
(dãy trạng thái) mà chỉ quan sát được dãy âm tiết.
- Cùng một dãy âm tiết có thể ứng với nhiều n- gram khác nhau. Ví dụ
dãy “học sinh học” ứng với hai bi- gram là “học#sinh học” và “học sinh#học”.
- Các n- gram có thể có số âm tiết khác nhau. Ví dụ “viện#ngôn ngữ
học” và đi#học” là hai bi- gram:
Chúng ta cần ước lượng hàm xác suất:
P (w
n
|w
1
w
1−n
)
Xác suất của câu dãy từ w
1
w
2
w
m
sẽ là:
ĐỒ ÁN TÔT NGHIỆP
25

×