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

Hệ thống phân loại bài báo điện tử theo nội dung (tt)

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 (657.67 KB, 26 trang )

i


1

MỞ ĐẦU
Báo điện tử là một trong các phương tiện truyền thông đại chúng hiện đại. Hiện nay,
sự phát triển của nền tảng mạng Internet cũng như các thiết bị di động đã tạo điều kiện cho
báo điện tử ngày càng phát triển mạnh mẽ.
Báo điện tử có lợi thế hơn các phương tiện truyền thông đại chúng khác ở khả năng
tương tác, khả năng đa phương tiện, tính thời sự. Nhưng bên cạnh những lợi thế đó, báo
điện tử còn đem lại một số bài toán cần phải giải quyết như: đảm bảo an toàn thông tin, sự
chính xác của thông tin.
Để đảm bảo tính đúng đắn về nội dung cũng như tính hợp pháp của các bài báo điện
tử. Các cơ quan chức năng phải thường xuyên theo dõi và kiểm duyệt nội dung của các bài
báo điện tử.
Sự phát triển quá nhanh về số lượng các trang báo điện tử cũng như số lượng bài báo
điện tử khiến cho việc quản lý gặp nhiều khó khăn. Năm 2015, cả nước ta có 105 báo, tạp
chí điện tử [1] và nhiều trang thông tin điện tử tổng hợp. Điều này đòi hỏi một nguồn nhân
lực và chi phí khổng lồ trong việc theo dõi và kiểm duyệt.
Do đó, việc xây dựng một hệ thống thu thập và phân loại các bài báo mạng điện tử là
một bài toán cần thiết để hỗ trợ cho việc quản lý, theo dõi cũng như kiểm tra nội dung các
bài báo điện tử.


2

Chương 1 - TỔNG QUAN
Chương này sẽ tập trung vào việc khảo sát một số công trình nghiên cứu về phân
loại văn bản, truy hồi thông tin. Trên cơ sở đó chỉ ra những vấn đề mà luận văn cần giải
quyết.



1.1.

Giới thiệu tổng quan
Truy hồi thông tin (Information Retrieval) có thể được định nghĩa như là một ứng

dụng của khoa học máy tính có các chức năng thu thập, tổ chức, lưu trữ, truy hồi và phân bố
thông tin. Các nghiên cứu liên quan đến lĩnh vực truy hồi thông tin thường nhắm đến nền
tảng lý thuyết và cải thiện công nghệ tìm kiếm, bao gồm cả cấu trúc và sự duy trì các kho dữ
liệu lớn.
Hiện nay, hầu hết các hệ thống truy hồi thông tin thực chất chỉ là hệ thống truy hồi
tài liệu, nghĩa là hệ thống sẽ truy tìm những tài liệu trong số các tài liệu có trong cơ sở dữ
liệu lưu trữ có nội dung liên quan, phù hợp, đáp ứng với nhu cầu thông tin của người dùng,
sau đó người dùng sẽ tìm kiếm thông tin họ cần trong các tài liệu liên quan đó.
Một số công trình nghiên cứu:
 “Cơ sở tài liệu văn bản có ngữ nghĩa kỹ thuật tổ chức lưu trữ và tìm kiếm” (Trương
Châu Long) [2].
 “Xây dựng hệ thống tìm kiếm thông tin theo hướng tiếp cận ngữ nghĩa” (Lê Thúy
Ngọc) [3].
 A Survey of Concept-based Information Retrieval Tools on the Web (Haav, H.-M.,
T.-L. Lubi) [4].
 Ontology-based Information Retrieval (Henrik Bulskov Styltsvig) [5].
Yahoo Mail, Gmail chắc hẳn là những ứng dụng mail quen thuộc với rất nhiều người.
Một trong những tính năng cơ bản nhưng rất quan trọng trong các hệ thống mail này là khả
năng tự động xác định các thư rác. Đây là một ví dụ điển hình của bài toán phân loại văn
bản tự động.


3


Trong bài toán phân loại văn bản, các nhà nghiên cứu phân biệt rạch ròi giữa 2 thuật
ngữ “text categorization” và “text classification”. Thuật ngữ “text categorization” thường
được dùng để diễn tả việc sắp xếp các văn bản theo nội dung, trong khi “text classification”
được dùng với một ý nghĩa rộng hơn, đó là việc gán các tài liệu văn bản vào các tập cụ thể
không nhất thiết phải dựa trên nội dung mà có thể là dựa trên tác giả, nhà xuất bản, ngôn
ngữ,…
Trong ngữ cảnh hẹp của luận văn, bài toán phân loại văn bản có thể được xem như là
bài toán phân lớp. Công việc phân loại văn bản tự động là gán nhãn phân loại lên một văn
bản mới. Nhiều kỹ thuật máy học và khai khoáng dữ liệu được áp dụng vào bài toán phân
loại văn bản. Ví dụ như:
 Cây quyết định (Decision tree).
 Phương pháp phân loại dựa vào thuật toán Naïve bayes.
 K- láng giềng gần nhất (KNN).
 Mạng neuron nhân tạo (Artificial Neural Network).
 Support Vector Machine (SVM).
Vấn đề phân loại văn bản thu hút sự quan tâm của nhiều nhà nghiên cứu trên thế giới,
tiêu biểu có thể kế đến các công trình nghiên cứu như:
 “Text classification using machine learning” (Mohammed.Andul.Wajeed) [6].
 “Machine Learning in Automated Text Categorization” (Fabrizio Sebastiani (2002))
[7].
Trong nước, cũng có khá nhiều tác giả quan tâm nghiên cứu và công bố các công
trình nghiên cứu như :
 “Phân loại văn bản tiếng việt với bộ phân loại véctơ hỗ trợ SVM” (Nguyễn Mạnh
Hiển) [8].
 “Dùng lý thuyết tập thô và các kỹ thuật khác để phân loại, phân cụm văn bản tiếng
Việt” (Nguyễn Ngọc Bình) [9].


4


 “Mô hình thống kê hình vị tiếng Việt và ứng dụng” (Nguyễn Linh Giang, Nguyễn
Duy Hải) [10].
 “Tiếp cận phương pháp học không giám sát trong học có giám sát với bài toán phân
lớp văn bản tiếng Việt và đề xuất cải tiến công thức tính độ liên quan giữa hai văn
bản trong mô hình vectơ” (Huỳnh Quyết Thắng, Đinh Thị Thu Phương) [11].
 “Nghiên cứu ứng dụng tập phổ biến và luật kết hợp vào bài toán phân loại văn bản
tiếng Việt có xem xét ngữ nghĩa” (Đỗ Phúc) [12].

1.1.1. Mục tiêu nghiên cứu
Trên cơ sở nghiên cứu xử lý ngôn ngữ tự nhiên, tập trung vào bái toán phân loại văn
bản, bài toán truy hồi thông tin và tìm hiểu về một số trang báo điện tử; đề tài sẽ xây dựng
hệ thống phân loại các bài báo điện tử đáp ứng các yêu cầu sau:
 Tự động thu thập các bài báo điện tử dựa vào các tập tin cấu hình đã được thiết lập.
 Tiền xử lý các bài báo điện tử và chọn ra các đặc trưng cho mỗi bài báo điện tử.
 Phân loại các bài báo theo các chủ đề được định nghĩa trước.

1.1.2. Đối tượng và phạm vi nghiên cứu
 Đối tượng nghiên cứu:
o Nghiên cứu kỹ thuật web crawler.
o Nghiên cứu các thuật toán phân loại văn bản.
o Nghiên cứu các chức năng cơ bản của một hệ thống truy hồi thông tin.
o Khảo sát một số trang báo điện tử: vnexpress.net, vietnamnet.vn,
tuoitre.vn,…
 Phạm vi nghiên cứu:
o Đầu vào: các bài báo mạng điện tử từ một tập các website hữu hạn, định
dạng HTML, là văn bản tiếng Việt có nội dung.
o Chủ đề: tập các chủ đề được định nghĩa trước.


5


o Đầu ra: các bài báo mạng điện tử được phân vào các chủ đề tương ứng.
 Những vấn đề luận văn quan tâm
o Truy hồi thông tin sử dụng từ làm đặc trưng cho văn bản.
o Truy hồi thông tin sử dụng các chuỗi phổ biến cực đại làm đặc trưng cho văn
bản.
o Phân loại văn bản dựa vào thống kê.
o Phân loại văn bản dựa vào ngữ nghĩa.

1.1.3. Ý nghĩa của luận văn
Luận văn đưa ra cách thức và triển khai ứng dụng phân loại bài báo điện tử hỗ trợ
công tác quản lý của các cơ quan chức năng.

1.2.

Kết luận chương 1
Chương này đã khảo sát một số các công trình nghiên cứu trong lĩnh vực truy hồi

thông tin, phân loại văn bản. Dù đã xuất hiện từ khá lâu nhưng hai bài toán trên vẫn luôn thu
hút được nhiều sự quan tâm, đặc biệt trong thời đại bùng nổ thông tin như hiện nay. Các
chương tiếp theo của luận văn sẽ trình bày chi tiết hơn các hướng tiếp cận trong hai lĩnh vực
này.


6

Chương 2 - CƠ SỞ LÝ THUYẾT
Chương này trình bày về các mô hình truy hồi thông tin và bài toán phân loại văn
bản. Tìm hiểu quá trình thực hiện phân loại văn bản đồng thời khảo sát một số thuật toán
trong lĩnh vực này.


2.1.

Truy hồi thông tin
Hệ thống truy hồi thông tin tập trung vào việc truy hồi các tài liệu dựa trên nội dung

của các thành phần không có cấu trúc. Một câu truy vấn của người dùng sẽ mô tả các tính
chất của các thành phần có cấu trúc và không có cấu trúc của tài liệu được truy hồi. Ví dụ:
“Này máy tính, hãy tìm những tài liệu về truy hồi thông tin”. Câu truy vấn này yêu cầu hệ
thống truy hồi thông tin truy hồi các tài liệu mà có phần nội dung nói về một chủ đề cụ thể
là “truy hồi thông tin”.
Hệ thống truy hồi thông tin tìm kiếm các tài liệu trong một tập cho trước về một chủ
đề nào đó hoặc thỏa mãn một nhu cầu thông tin nào đó. Chủ đề hoặc nhu cầu thông tin được
biểu diễn bởi một câu truy vấn, được phát sinh bởi người dùng. Các tài liệu thỏa mãn câu
truy vấn được xác định bởi người dùng thì được xem là phù hợp. Các tài liệu không nói về
chủ đề được cho trước được xem là không phù hợp. Một hệ thống truy hồi thông tin có thể
sử dụng câu truy vấn để phân loại các tài liệu, trả về cho người dùng một tập con các tài liệu
thỏa mãn các tiêu chuẩn phân loại. Tỉ lệ các tài liệu trả về cho người dùng được người dùng
kết luận là phù hợp càng cao thì nghĩa là các tiêu chuẩn phân loại càng tốt.

2.1.1. Tổng quan các hướng tiếp cận truy hồi thông tin
Nhìn chung, có 2 hướng tiếp cận truy hồi thông tin chính là ngữ nghĩa và thống kê.
Các cách tiếp cận ngữ nghĩa cố gắng thực hiện một số mức độ phân tích cú pháp và ngữ
nghĩa. Trong các cách tiếp cận thống kê, các tài liệu được truy hồi là các tài liệu được xếp
hạng cao nghĩa là có mức độ phù hợp với câu truy vấn cao dựa trên độ đo thống kê nào đó.
Các hướng tiếp cận thống kê rơi vào một trong các mô hình sau: boolean, boolean
mở rộng, vector space và xác suất. Các hướng tiếp cận thống kê chia các tài liệu và các câu
truy vấn thành các “term”. Các “term” có tính chất phổ biến, được đếm và đo đạc dựa vào
thống kê. Các “term” là các từ xuất hiện trong một câu truy vấn cho trước hoặc tập các tài
liệu.



7

Các từ thường xuất hiện dưới dạng chưa được xử lý, các từ phải qua bước xử lý
“stemmed” để nhận được từ gốc. Mục đích của quá trình này là loại trừ các biến thể xuất
hiện do các thể văn phạm khác nhau của một từ. Ví dụ: “retrieve”, “retrieved”, “retrieves”.
Các từ trong ví dụ trên cần được nhận diện là các thể của cùng một từ. Vì vậy, người dùng
đưa ra câu truy vấn cần phải xác định các thể có thể có của một từ mà họ cho rằng có thể
xuất hiện trong tài liệu mà họ đang tìm kiếm. Trong tiếng Việt, các từ không có
“stemming”, do đó không cần quá trình “stemmed” để tiền xử lý văn bản.
Một quá trình khác trong khâu tiền xử lý văn bản là loại bỏ các từ dùng chung không
có nghĩa, các từ này gọi là “stop word”. Các IR engine thường cung cấp một “stop list” để
loại bỏ khi tiền xử lý văn bản. Trong tiếng Việt, có nhiều “stop word”, ví dụ như: “bị”,
“bởi”, “càng”, “ôi”, “than ôi”, “trời ơi”,…
“Stemming” và “stop word” phụ thuộc vào ngôn ngữ, từng ngôn ngữ khác nhau sẽ có
các dạng “stemming” và các “stop word” khác nhau.
Một số công cụ tinh vi có thể trích các “cụm từ” như là các “term”. Một cụm từ là sự
kết hợp của các từ đứng liền kề và có thể được xác định thông qua tần số của việc đồng thời
xuất hiện trong tập cho trước hoặc được xác định bằng cách dùng từ điển. Trong xử lý Việt,
công cụ vnTokenizer của TS. Lê Hồng Phương [13] có thể tự động tách các đoạn văn bản
tiếng Việt thành các đơn vị ngữ pháp.
Các trọng số thường được gán cho các “term” trong tài liệu và trong câu truy vấn.
Một trọng số được gán cho một “term” trong một tài liệu có thể khác với trọng số được gán
cho chính “term” đó nhưng trong tài liệu khác. Trọng số thường là độ đo về sự hiệu quả của
“term” thường được dùng trong việc phân biệt các tài liệu trong tập cho trước. Trọng số
thường được chuẩn hóa để nằm trong đoạn [0..1]. Trọng số cũng có thể được gán cho
“term” trong câu truy vấn. Trọng số của “term” trong câu truy vấn thường là độ đo về tầm
quan trọng của “term” trong việc tính toán độ phù hợp giữa câu truy vấn và tài liệu. Cũng
như với các tài liệu, một “term” cũng có thể có các trọng số khác nhau trong các câu truy

vấn khác nhau. Trọng số của các “term” trong câu truy vấn cũng thường được chuẩn hóa
nằm trong đoạn [0..1].
Theo hướng tiếp cận thống kê thì một tài liệu thường được biểu diễn dưới dạng một
tập hợp các từ khóa độc lập nhau. Hướng tiếp cận thống kê thường được dùng cho việc biểu


8

diễn các tài liệu mà không xét đến hình thái của từ, thứ tự của các từ hay vị trí xuất hiện của
từ trong tài liệu cũng như các mối quan hệ ngữ nghĩa giữa chúng, do đó cách biểu diễn này
mang mức độ thông tin thấp và nếu nhìn dưới góc nhìn của ngôn ngữ học thì đã không xử lý
các biến thể về mặt ngôn ngữ học của các từ như biến thể về hình thái học, biến thể về từ
vựng học, biến thể về ngữ nghĩa học và biến thể về cú pháp học. Hướng tiếp cận ngữ nghĩa
có thể giải quyết các vấn đề trên. Một số hướng tiếp cận theo ngữ nghĩa như: hướng tiếp cận
xử lý ngôn ngữ tự nhiên, hướng tiếp cận ontology.

2.1.2. Truy hồi thông tin theo hướng thống kê
2.1.2.1. Mô hình Boolean
2.1.2.2. Mô hình không gian vector
2.1.2.3. Mô hình Latent Semantic Indexing (LSI)
2.1.3. Truy hồi thông tin theo hướng ngữ nghĩa
2.1.3.1. Hướng tiếp cận xử lý ngôn ngữ tự nhiên
2.1.3.2. Hướng tiếp cận Ontology
2.2.

Phân loại văn bản
Phân loại (phân lớp) văn bản là quá trình phân tích nội dung của một văn bản, dự

đoán văn bản này thuộc nhóm văn bản nào trong các nhóm văn bản cho trước. Một văn bản
có thể thuộc một hoặc nhiều nhóm văn bản hoặc không thuộc bất kỳ nhóm văn bản nào mà

ta đã định nghĩa.
Bài toán phân lớp văn bản có thể được phát biểu như sau: cho trước tập văn bản
D={d1,d2,…,di} và tập chủ đề được định nghĩa C={c1,c2,…,cj}(Fabrizio Sebastiani
(2002)). Ta phải tìm hàm

với mọi , tức là phải tìm di thuộc lớp cj đã được định nghĩa

trước.


di, cj   True nếu di thuộc lớp cj


di, cj   False nếu di không thuộc lớp c


9

2.2.1. Naïve Bayes
Giả sử ta có một nguồn tài liệu đầu vào và nhiệm vụ của hệ thống là gán mỗi tài liệu
đầu vào vào một thể loại nhất định. Với mỗi thể loại, ta có sẵn một số lượng nhất định các
tài liệu đã được phân loại trong quá khứ.
Một cách tiếp cận tự động hoặc bán tự động là xây dựng mô hình thống kê cho các
thể loại mà ta đang quan tâm, tận dụng các tài liệu đã được phân loại. Cách tiếp cận này giả
định rằng ta có thể tính toán hoặc ước lượng được sự phân bố các term trong các tài liệu
thuộc chủ đề. Ý tưởng là dùng sự phân bố này để dự đoán xem tài liệu mới sẽ thuộc thể loại
nào.
Đầu tiên, ta cần chuyển đổi xác suất xuất hiện của một term đối với một thể loại sang
xác suất của thể loại đối với một term. Sau đó, ta cần một phương thức đề kết nối các dữ
kiện của mỗi term trong một tài liệu lại. Nói cách khác, ta có thể dễ dàng tính được P(t | Ci )

cho mỗi term t trong thể loại Ci, nhưng ta cần quan tâm đến P(Ci | t ) hoặc tốt hơn là
P(Ci | TD ) với TD là tập các term xuất hiện trong tài liệu D.

Naïve Bayes là cách tiếp cận thống kê cho mô hình ngôn ngữ sử dụng Bayes’s Rule
nhưng giả định là các đặc trưng độc lập nhau. Do đó, ta tính xác suất mà tài liệu D thuộc về
thể loại Ci bằng công thức:
P(Ci | D) 

P( D | Ci ) P(Ci )
P ( D)

Bỏ qua các ràng buộc phụ thuộc giữa các term, ta có thể dùng quy tắc nhân để kết
hợp các xác suất lại với nhau bởi tính chất độc lập. Cho một tài liệu D được đại diện bởi 1
vector gồm n thành phần D  (t1,..., tn ) và thể loại Ci trong tập các thể loại cho trước. Ta có:
j n

P( D | Ci )   P(t j | Ci )
j 1

Tài liệu D được gán vào lớp thể loại Ci có xác suất lớn nhật thuộc tập các thể loại C
theo công thức:
j n


max  P(Ci ) P(t j | Ci ) 
j 1





10

Khi kích thước của tập huấn luyện nhỏ, ( | ) sẽ không hợp lý; nếu một từ không
xuất hiện trong tập dữ liệu, ( | ) sẽ bằng 0. Vì thế công thức tính

đã làm trơn

Laplace được sử dụng:

( | )
Trong đó:
 nij: tổng số từ xuất hiện của văn bản Dk đối với thể loại Ci.
 ni: tổng số từ trong thể loại Ci;
 ki: kích thước từ vựng trong thể loại Ci

2.2.2. Thuật toán cây quyết định
Một cách tiếp cận khác là xây dựng một cấu trúc cây từ sự kết hợp các đặc trưng cần
thiết để phân biệt các tài liệu thuộc các chủ đề khác nhau. Nút gốc của cây được xem là đại
diện cho tất cả các tài liệu cần được phân loại. Một nút không phải là nút lá sẽ kiểm tra một
đặc trưng tương ứng và chọn một nhánh tương ứng với kết quả kiểm tra được.
Quá trình phân loại một tài liệu là một chuỗi các bước kiểm tra tại các nút và cuối
cùng dẫn đến một nút lá. Nút lá tượng trưng cho một chủ đề tương ứng. Có thể có nhiều nút
lá cùng được gán nhãn một chủ đề với nhiều đường đi riêng biệt dẫn đến chúng. Từ đó, ta
nhận thấy rằng cấu trúc cây có thể được xây dựng bằng cách học quy nạp dựa trên tập các
tài liệu huấn luyện và các đặc trưng của chúng.

2.2.3. Thuật toán k láng giềng gần nhất
Phân loại dựa trên Naïve Bayes và cây quyết định là hướng học theo quy nạp, các
phương pháp trên xây dựng mô hình cụ thể cho lớp bằng cách thực nghiệm trên dữ liệu
huấn luyện. Tuy nhiên, còn một cách thức khác để xây dựng bộ phân loại không dựa trên

học quy nạp.
Phương pháp kNN là phương pháp truyền thống nổi tiếng về hướng tiếp cận dựa trên
thống kê đã được nghiên cứu từ năm 1991 bởi Dasarathy. Phương pháp kNN dựa trên học
vẹt. Vào thời điểm huấn luyện, bộ phân loại ghi nhớ tất cả tài liệu trong tập huấn luyện và
các đặc trưng của chúng. Khi phân loại một tài liệu mới D, bộ phân loại chọn ra k tài liệu


11

trong tập huấn luyện gần D nhất, sau đó chọn ra một hoặc nhiều thể loại gán cho D dựa vào
các thể loại gán cho k tài liệu.

2.2.4. Thuật toán Support Vector Machine (SVM)
Phương pháp SVM được coi là công cụ mạnh cho những bài toán phân lớp phi tuyến
tính được các tác giả Vapnik và Chervonenkis phát triển mạnh mẽ năm 1995. Phương pháp
này thực hiện phân lớp dựa trên nguyên lý Cực tiểu hóa Rủi ro có Cấu trúc SRM (Structural
Risk Minimization), được xem là một trong các phương pháp phân lớp giám sát không tham
số tinh vi nhất cho đến nay. Các hàm công cụ đa dạng của SVM cho phép tạo không gian
chuyên đổi để xây dựng mặt phẳng phân lớp.
Cho trước một tập huấn luyện, được biểu diễn trong không gian vector, trong đó mỗi
tài liệu là một điểm, phương pháp này tìm ra một siêu phẳng quyết định tốt nhất có thể chia
các điểm trên không gian này thành hai lớp riêng biệt tương ứng là lớp “+” và lớp “-“. Chất
lượng của siêu phẳng này được quyết định bởi khoảng cách (gọi là biên) của điểm dữ liệu
gần nhất của mỗi lớp đến mặt phẳng này. Khi đó, khoảng cách biên càng lớn thì mặt phẳng
quyết định càng tốt, đồng thời việc phân loại càng chính xác.
Tiến hành xét một bài toán đơn giản là tách hai lớp với tập dữ liệu mẫu đã được huấn
luyện. Và sau đó ta có thể mở rộng phương pháp cho nhiều trường hợp tổng quát mà dữ liệu
thậm chí không thể tách được phân lớp.
Với xi, i = 1, 2 ,.., N là tập các vector đặc trưng của bộ huấn luyện X. Và nó sẽ thuộc
về một trong hai lớp w1,w2 và được giả sử rằng tập dữ liệu sẽ được phân lớp tuyến tính. Với

mục tiêu là sẽ xây dựng mặt siêu phẳng(hyperplane) để tách chính xác các phân lớp mẫu
được huấn luyện được cho bởi phương trình sau:
g(x) = wTx + w0 =0
Trong đó w là vector trọng số, w0 là độ dịch
Phương pháp máy học SVM là tập các mặt siêu phẳng phụ thuộc vào các tham số w
và w0. Mục tiêu của phương pháp SVM là ước lượng hai giá trị này để có thể cực đại hóa
lề(margin). Với giá trị của lề càng lớn thì mặt siêu phẳng phân lớp càng tốt.
Nếu tập dữ liệu huấn luyện là khả tách tuyến tính ta có các ràng buộc sau:


12

wTxi + w0 ≥ +1 nếu yi = +1
wTxi + w0 ≤ -1 nếu yi = -1
Hai mặt siêu phẳng có phương trình wTxi + w0 = ± 1 được gọi là mặt siêu phẳng hỗ
trợ.

2.3.

Kết luận chương 2
Chương này đã trình bày về các mô hình truy hồi thông tin và bài toán phân loại văn

bản.


13

Chương 3 – CÀI ĐẶT
Chương này sẽ khảo sát và cài đặt các mô hình áp dụng cho bài toán phân loại bài
báo điện tử:

 Mô hình sử dụng độ đo TF-IDF.
 Mô hình sử dụng từ điển ngữ nghĩa.
 Mô hình sử dụng chuỗi phổ biến cực đại.

3.1.

Tổng quan

………
………
………
………
………
………
………
………
………
………
………
………
………
………
………

PHÂN LOẠI

CÁC BÀI BÁO
THUỘC CHỦ
ĐỀ 1


CÁC BÀI BÁO
THUỘC CHỦ
ĐỀ 2

TẬP CÁC
CHỦ ĐỀ



………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………

………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………

Hình 3.1: Tổng quan mục tiêu của luận văn
Mục tiêu tổng quan của luận văn (Hình 3.1) là phân loại các bài báo điện tử dựa trên
tập các chủ đề cho trước như được trình bày trên hình. Để thực hiện được mục tiêu này,
chúng tôi xây dựng giải pháp như sau:



14

CHỦ ĐỀ 1

THU
THẬP

KHO TRANG
WEB

PHÂN
LOẠI

CHỦ ĐỀ 2



Hình 3.2: Giải pháp tổng quan
Trong giải pháp mà chúng tôi đề xuất (Hình 3.2), cần cài đặt một web crawler để
thực hiện việc thu thập các bài báo điện tử cũng như cần tổ chức một kho lưu trữ các bài báo
điện tử đã thu thập được. Ngoài ra, chúng tôi cần phải cài đặt các bộ phân loại dựa trên độ
đo TF-IDF, từ điển ngữ nghĩa và chuỗi phổ biến cực đại.
Quy trình xử lý của hệ thống gồm 4 bước:
 Thu thập các bài báo điện tử do web crawler thực hiện.
 Tiền xử lý văn bản các bài báo điện tử đã thu thập được.
 Trích chọn đặc trưng của các bài báo điện tử.
 Áp dụng thuật toán phân loại.
Các phần tiếp theo sẽ trình bày cụ thể từng bước xử lý.


3.2.

Cài đặt Web Crawler
Một web crawler (còn được biết đến như là một robot hoặc một spider) là một hệ

thống tải một lượng lớn các trang web. Các web crawler thường được dùng vào nhiều mục
đích khác nhau.
Web không phải là một kho thông tin lưu trữ tập trung, mà là một tập gồm hàng trăm,
hàng nghìn các nhà cung cấp khác nhau và độc lập nhau, mỗi nhà cung cấp sẽ có những
dịch vụ của riêng họ, và các nhà cung cấp có thể là đối thủ cạnh tranh của nhau. Nói một
cách khác, web có thể được xem như là một kho thông tin liên hợp được kết hợp với nhau


15

bởi một tập các giao thức và chuẩn dữ liệu được thống nhất như TCP (Transmission Control
Protocol), DNS (Domain Name Service), HTTP (Hypertext Transfer Protocol), HTML
(Hypertext Maker Language).
Thuật toán cơ bản của web crawler rất đơn giản: cho một tập các URL, web crawler
sẽ tải tất cả các trang web được cho bởi các URL, trích xuất ra các hyperlink và sau đó lần
lượt tải các trang web được cho bởi các hyperlink. Tuy nhiên, web crawler cũng có các
thách thức như: sự mở rộng liên tục của web, đánh đổi giữa lượng thông tin thu trong mỗi
trang web và thông lượng của web crawler, bị nghi ngờ là tin tặc, sự ngăn chặn từ các nhà
cung cấp,…
Do yêu cầu cụ thể của đề tài là thu thập các bài báo từ một tập hợp các trang báo điện
tử theo ngày nên chúng tôi xây dựng các tập tin cấu hình bao gồm các phần:
 Query: chứa các thông tin cơ bản để xây dựng nên câu query.
 Search structure: chứa các thông tin để nhận biết vị trí trích xuất các đường dẫn.
 Content structure: chứa các thông tin để nhận biết vị trí trích xuất nội dung bài báo
điện tử.

Tập tin cấu hình được xây dựng bằng ngôn ngữ xml với một số thẻ cơ bản:
 <query>
 <address>

 <name>
 <type>
 <value>
 <searchstructure>
 <searchtag>
 <from>
 <to>
 <reftag>
 <contentstructure>
 <title>
 <time>


16

 <summary>
 <content>
Các bài báo điện tử được thu thập về và được lưu trữ dưới định dạng tập tin văn bản
(*.txt). Đồng thời, các thông tin cơ bản bài báo điện tử như: tên bài báo, tóm tắt, đường dẫn
tập tin nội dung cũng được lưu trữ vào cơ sở dữ liệu.
Tập tin cấu hình chứa đựng các thông tin cần thiết để crawler có thể thu thập các bài
báo điện tử. Mỗi tập tin cấu hình có thể dùng cho việc thu thập các bài báo điện tử theo từng
ngày một, hoặc nhiều ngày một lần.

3.3.


Tiền xử lý văn bản
Văn bản là ngôn ngữ phi cấu trúc, do đó cần phải chuyển đổi văn bản thành dạng cấu

trúc để có thể phân loại tự động. Giai đoạn tiền xử lý văn bản là bước đệm để việc vector
hóa văn bản ở bước sau được tiến hành thuận lợi và có hiệu suất tốt cho quá trình phân loại.
Các công việc chính trong giai đoạn tiền xử lý văn bản là tách từ và loại bỏ stop word.
Trong tiếng Việt, có 2 loại từ chính là từ đơn và từ ghép. Từ đơn là từ được cấu thành
từ 1 tiếng, ví dụ: “ăn”, “uống”, “đi”,… Từ ghép là từ được cấu thành từ hai hay nhiều tiếng
mà những tiếng đó có quan hệ ngữ nghĩa với nhau, ví dụ: “đơn vị”, “học viện”, “phòng
ban”, “giảng viên”,…Khi thực hiện việc tách từ thủ công, việc nhập nhằng rất khó xảy ra
nếu người tách từ hiểu rõ ngữ nghĩa của câu và tách từ dựa trên ngữ nghĩa của từ trong câu.
Tuy nhiên, việc tách từ thủ công là điều không thể với các tập dữ liệu khổng lồ. Ngược lại
với việc tách từ thủ công là tách từ tự động, tách từ tự động sẽ có thể giải quyết bài toán
tách từ trên tập dữ liệu khổng lồ nhưng phải giải quyết vấn đề nhập nhằng trong ngôn ngữ:
 Nhập nhằng chồng chéo: chuỗi “a b c” bị nhập nhằng chồng chéo khi mà cả “a b” và
“b c” đều xuất hiện trong từ điển. Khi đó chương trình sẽ không biết là chuỗi “a b c”
phải được tách thành “a b”, “c” hay “a”, “b c”.
 Nhập nhằng kết hợp: chuỗi “a b c” bị nhập nhằng kết hợp khi mà cả “a”, “b” và “a b”
đều xuất hiện trong từ điển.
Ngoài vấn đề nhập nhằng, khi tách từ tiếng Việt còn gặp khó khăn trong việc xác
định các từ chưa biết trước như danh từ riêng, từ vay mượn, thành ngữ, từ láy,…


17

Bên cạnh công việc tách từ, trong giai đoạn tiền xử lý văn bản còn có công việc loại
bỏ stop word. Stop word là những từ xuất hiện nhiều trong tất cả các văn bản thuộc nhiều
thể loại khác nhau, không mang ý nghĩa và không chứa thông tin đáng kể. Trong quá trình
phân loại văn bản, sự xuất hiện của các stop word không hỗ trợ gì mà còn làm giảm độ
chính xác của quá trình phân loại cũng như làm tăng thời gian xử lý. Do đó cần phải loại bỏ

các stop word. Để loại bỏ stop word, có thể dùng từ điển hoặc thiết lập ngưỡng cho độ đo
TF-IDF.

3.3.1. Mô hình sử dụng độ đo TF-IDF
Để tách từ trong mô hình này, chúng tôi sử dụng chương trình vnTokenizer.
vnTokenizer là chương trình tách văn bản tiếng Việt thành các đơn vị ngữ pháp với độ
chính xác 98%. vnTokenizer được viết trên nền ngôn ngữ Java và chạy trên môi trường Java
Runtime 1.6 trở lên.
Chương trình vnTokenizer được thiết kế để có thể sử dụng dưới dạng dòng lệnh hoặc
thông qua các API. Để thực thi chương trình vnTokenizer, sử dụng các script của hệ điều
hành: vnTokenizer.bat cho Windows hoặc vnTokenizer.sh cho Unix, Linux, Mac OS X.
Chương trình vnTokenizer có thể tách từ một tập tin văn bản hoặc nhiều tập tin văn
bản trong cùng một thư mục. Các tập tin văn bản đầu vào phải là các tập tin văn bản được
mã hóa UTF-8. Các tập tin văn bản đầu ra được lưu dưới dạng tập tin văn bản hoặc XML và
cũng được mã hóa UTF-8.
Trong mô hình sử dụng độ đo TF-IDF, chúng tôi dùng chương trình vnTokenizer để
tách từ các tập tin văn bản và lưu thành các tập tin văn bản mới với mỗi từ nằm trên 1 dòng
để chuẩn bị cho các bước xử lý sau. Để loại bỏ các stop word, chúng tôi dùng một từ điển
chứa các stop word để làm cơ sở so sánh xác định stop word.

3.3.2. Mô hình sử dụng độ đo TF-IDF
Cũng giống như mô hình sử dụng độ đo TF-IDF, mô hình sử dụng từ điển ngữ nghĩa
quan tâm đến đơn vị ngữ pháp là từ do đó chúng tôi cũng sử dụng chương trình vnTokenizer
để tách từ. Để loại bỏ các stop word, chúng tôi cũng dùng một từ điển chứa các stop word
để làm cơ sở so sánh xác định stop word.


18

3.3.3. Mô hình sử dụng chuỗi phổ biến cực đại

Chuỗi tuần tự cực đại trong một tập các tài liệu là chuỗi các từ thường xuyên xuất
hiện trong các tài liệu và không và chuỗi tuần tự cực đại không được chứa trong các chuỗi
tuần tự cực đại khác. Một số nghiên cứu liên quan:
 Discovery of frequent sets (Agrawal, Mannila, Srikant, Toivonen, & Verkamo,
1996).
 Discovery of sequential patterns (Agrawal & Srikant, 1995; Mannila, Toivonen, &
Verkamo, 1995).
Cách tiếp cận theo chuỗi tuần tự cực đại là cách tiếp cận theo kiểu bottom-up. Các
chuỗi tuần tự có độ dài lớn được xây dựng dựa trên các chuỗi tuần tự có độ dài nhỏ hơn.
Cách tiếp cận này độc lập với ngôn ngữ nên trong giai đoạn tiền xử lý văn bản chỉ cần loại
bỏ các dấu câu và các stop word và tách từ dựa vào khoảng trắng.

3.4.

Vector hóa văn bản

3.4.1. Mô hình sử dụng độ đo TF-IDF
Sau khi trải qua giai đoạn tiền xử lý văn bản, các tài liệu đã được loại bỏ các dấu câu
và các stop word. Lúc này, các tài liệu chỉ còn lại tập các từ có nghĩa và chính các từ này sẽ
đặc trưng cho tài liệu. Trong không gian tập các tài liệu, sẽ có một lượng lớn N từ. Mỗi văn
bản có thể được biểu diễn dạng vector nhị phân, gán 1 nếu văn bản chứa từ đặc trưng và
ngược lại gán 0 nếu không xuất hiện từ đặc trưng. Mỗi phần từ của vector tương ứng với giá
trị độ đo của một từ. Trong mô hình sử dụng độ đo TF-IDF, chúng tôi dùng độ đo TF-IDF
của từ đế gán giá trị cho các thành phần của vector.

3.4.2. Mô hình sử dụng từ điển ngữ nghĩa
Cũng giống như trong mô hình sử dụng độ đo TF-IDF, trong mô hình sử dụng từ điển
ngữ nghĩa, sau khi trả qua giai đoạn tiền xử lý văn bản, các tài liệu chỉ còn lại tập các từ có
nghĩa và chính các từ này sẽ đặc trưng cho tài liệu. Tuy nhiên, trong mô hình sử dụng từ
điển ngữ nghĩa, chúng tôi sử dụng độ đo nhị phân đế gán giá trị cho vector đặc trưng. Mỗi

thể loại cũng sẽ là một vector đặc trưng nhị phân. Khi phân loại một tài liệu mới, chúng tôi


19

sẽ tính độ phù hợp ngữ nghĩa giữa tài liệu và thể loại thông qua vector. Khi độ phù hợp vượt
qua giá trị ngưỡng thì kết luận tài liệu thuộc chủ đề đó.

3.4.3. Mô hình sử dụng chuỗi phổ biến cực đại
Khác với mô hình sử dụng độ đo TF-IDF và mô hình sử dụng từ điển ngữ nghĩa, các
tài liệu trong mô hình sử dụng chuỗi tuần tự cực đại được đặc trưng bởi các chuỗi tuần tự
cực đại chứ không phải được đặc trưng bởi các từ. Do đó, chúng tôi cần phải tìm ra các
chuỗi tuần tự cực đại trong tập các tài liệu huấn luyện cũng như chuỗi tuần tự cực đại trong
mỗi tài liệu.
Giả sử S là tập các tài liệu huấn luyện, mỗi tài liệu là tập hợp các từ.
Gọi một chuỗi p là tuần tự cực đại trong S nếu không tồn tại p’ trong S là chuỗi con
của p và p là phổ biến trong S nghĩa là tần số xuất hiện của p trong S vượt qua một ngưỡng
α.
Thuật toán tìm ra tất cả các chuỗi tuần tự cực đại trong tập huấn luyện S gồm 3 pha:
pha khởi tạo và pha khai phá và pha mở rộng.
Pha khởi tạo:
Đầu vào: S: tập các tài liệu huấn luyện
Output: Grams2: tất cả các cặp từ phổ biến trong S
Với mỗi tài liệu d trong S
Thu thập các cặp từ có thứ tự trong d
Grams2 = các cặp từ có thứ tự và phổ biến trong S.
Return Grams2
Pha khai phá:
Input: Grams2: các cặp từ phổ biến
Output: Max: tập các chuỗi phổ biến cực đại

k := 2


20

Max := ∅
Trong khi Gramsk ≠ ∅
Xét tất cả các gram g
Nếu một gram g không phải là chuỗi con của bất kì chuỗi m ∈
Max
Nếu g là phổ biến
max : Mở rộng g
Max := Max ⋃ max
Nếu max

g

Loại bỏ g trong Gramsk
Ngược lại
Loại bỏ g trong Grams
Nối các chuỗi trong Gramsk thành Gramsk
k := k + 1
Return Max
Pha mở rộng:
Input: p: một chuỗi
Output: p’: một chuỗi phổ biến cực đại với p là chuỗi con của nó
Lặp
Gọi l là độ dài của chuỗi p
Tìm một chuỗi p’ có độ dài là l
Nếu p’ là phổ biến


và p là chuỗi con của p’


21

p : p’
Cho đến khi không có p’ phổ biến.
Return p
Với mỗi tài liệu, chúng tôi cũng sẽ thực hiện thuật toán để tìm ra các chuỗi phổ biến
cực đại trong tài liệu. Thuật toán cũng tương tự như thuật toán tìm ra các chuỗi phổ biến cực
đại trong tập huấn luyện nhưng chỉ xét trong giới hạn một tài liệu.
Tập hợp tất cả các chuỗi phổ biến cực đại trong tập huấn luyện tạo thành các chiều
của vector. Để gán giá trị cho các thành phần của vector ứng với mỗi tài liệu, chúng tôi sử
dụng độ đo Qrel để tính sự phù hợp giữa các chuỗi phổ biến cực đại trong tài liệu với chuỗi
tuần tự cực đại trong tập huấn luyện, sau đó chọn giá trị tối đa.
Qrel(AiAj ) = idf(AiAj , D) · adj(AiAj )

3.5.

Áp dụng thuật toán phân loại

3.5.1. Mô hình sử dụng độ đo TF-IDF
Sau khi đã vector hóa các tài liệu, chúng tôi tiến hành xây dựng file arff để tiến hành
huấn luyện. Trong file arff có các phần:
 @relation
 @attribute
 @data
Phần @relation biểu diễn tên của quan hệ, phần @attribute chứa các thuộc tính, mỗi
thuộc tính tương ứng với một chiều của vector, phần @data chứa các vector của các vector

đặc trưng cho các tài liệu trong tập huấn luyện.
Sau khi xây dựng xong tập tin arff huấn luyện, chúng tôi sử dụng thư viện Weka để
tiến hành huấn luyện bằng thuật toán SVM.
Khi có một tài liệu mới cần được phân loại, chúng tôi cũng xây dựng vector đặc
trưng tương ứng với tài liệu đó. Sau đó, nạp file arff huấn luyện vào thuật toán SVM và gọi
thủ tục phân loại của bộ phân loại.


22

3.5.2. Mô hình sử dụng từ điển ngữ nghĩa
Để tiến hành phân loại, đầu tiên chúng tôi cần khai xây dựng vector cho các thể loại.
Mỗi thể loại sẽ được mô tả là tập các từ.
Khi phân loại một tài liệu mới d, chúng tôi sẽ tính độ phù hợp giữa tài liệu đó với
mỗi thể loại ci dựa vào từ điển ngữ nghĩa. Nếu độ phù hợp của tài liệu d và chủ để c i vượt
quá một ngưỡng nhất định thì tài liệu d thuộc thể loại ci.
Chúng tôi xây dựng từ điển có các quan hệ ngữ nghĩa cơ bản với trọng số tương ứng:
 Đồng nghĩa: 1
 Gần nghĩa: 0.8
 Liên quan: 0.6

3.5.3. Mô hình sử dụng chuỗi phổ biến cực đại
Tương tự như trong mô hình sử dụng độ đo TF-IDF, chúng tôi cũng xây dựng tập tin
arff huấn luyện dựa trên vector đặc trưng của các tài liệu trong tập huấn luyện. Khi có một
tài liệu mới cần được phân loại, chương trình sẽ nạp tập tin arff huấn luyện vào thuật toán
SVM và gọi phương thức phân loại. Trong mô hình sử dụng chuỗi tuần tự cực đại, các đặc
trưng là các chuỗi tuần tự cực đại và độ đo được sử dụng là độ đo Qrel.

3.6.


Đánh giá
Với điện kiện thiết bị hạn chế cũng như thời gian có hạn, chúng tôi sử dụng hơn 616

bài báo điện tử được thu thập từ trang vnexpress theo 2 chủ đề là “giáo dục” và “sức khỏe”
để làm tập huấn luyện. Chúng tôi cũng sử dụng 72 bài báo điện tử được thu thập từ trang
vnexpress theo 2 chủ đề là “giáo dục” và “sức khỏe” để làm tập kiểm tra. Sau khi cài đặt 3
mô hình phân loại bài báo điện tử với kho dữ liệu, chúng tôi đánh giá các mô hình dựa trên
3 độ đo: p, r và F.

Bảng 3.1: Bảng kết quả thực nghiệm mô hình sử dụng chuỗi phổ biến
cực đại


23

Giáo dục

Sức khỏe

p

0.69

1.00

r

1.00

0.66


F

0.82

0.79

Bảng 3.2: Bảng kết quả thực nghiệm mô hình sử dụng độ đo TF-IDF
Giáo dục

Sức khỏe

p

0.91

0.93

r

0.95

0.87

F

0.93

0.90


Bảng 3.3: Bảng kết quả thực nghiệm mô hình sử dụng độ từ điển ngữ nghĩa
Giáo dục

Sức khỏe

p

0.95

0.93

r

0.92

0.93

F

0.93

0.93

Mô hình sử dụng chuỗi phổ biến cực đại và mô hình sử dụng độ TF-IDF là những mô
hình dựa trên nền tảng xác suất thống kê. Do đó, các mô hình này không thể biểu diễn mối
quan hệ ngữ nghĩa giữa các từ trong tiếng Việt. Mô hình sử dụng từ điễn ngữ nghĩa có thể
biểu diễn các mối quan hệ ngữ nghĩa giữa các từ trong tiếng Việt. Việc định nghĩa các chủ
đề cũng dựa trên các từ trong từ điển và do chính người dùng định nghĩa nên khả năng phân
loại tài liệu phù hợp với đánh giá của người dùng cũng cao hơn.



24

3.7.

Kết luận chương 3
Chương này đã khảo sát và cài đặt các mô hình áp dụng cho bài toán phân loại bài

báo điện tử:
 Mô hình sử dụng độ đo TF-IDF.
 Mô hình sử dụng từ điển ngữ nghĩa.
 Mô hình sử dụng chuỗi tuần tự cực đại.


×