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

Web mining và xây dựng thử nghiệm ứng dụng web clustering

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 (590.16 KB, 53 trang )

MỤC LỤC
MỞ ĐẦU ...............................................................................................................
1. Mục đích thực tập chuyên ngành ...............................................................
2. Giới thiệu về đề tài thực tập chuyên ngành ...............................................
3. Yêu cầu của đề tài .....................................................................................

3
3
3
4

CHƯƠNG I TỔNG QUAN VỀ WEB MINING......................................................
1. Giới thiệu chung .........................................................................................
2. Web mining ................................................................................................
2.1 Tổng quan ...........................................................................................
2.2 Các thành phần của web mining và các phương pháp luận ...............
a. Khám phá thông tin (IR) .................................................................
b. Trích rút, lựa chọn và tiền xử lý thông tin .......................................
c. Tổng quát hoá .................................................................................
d. Phân tích ........................................................................................
3. Web content mining và Web structure mining ............................................
3.1 Web content mining .............................................................................
3.2 Web structure mining ...........................................................................
4. Web text mining ..........................................................................................
4.1 Text Classification ...............................................................................
4.2 Text Clustering ....................................................................................
4.3 Association analysis ...........................................................................
4.4 Trend Prediction ..................................................................................

5
5


6
6
7
8
9
10
10
11
11
13
14
14
14
15
15

CHƯƠNG II KHAI PHÁ DỮ LIỆU .......................................................................
1. Tổng quan về khai phá dữ liệu ..................................................................
1.1 Khái niệm ............................................................................................
1.2 Các bước của quá trình khai phá dữ liệu ............................................
2. Nhiệm vụ chính của khai phá dữ liệu ........................................................
3. Các phương pháp khai phá dữ liệu ...........................................................
4. Một số bài toán chính đối với nghiên cứu về khai phá dữ liệu ..................

16
16
16
16
18
19

21

CHƯƠNG III VĂN BẢN VÀ XỬ LÝ VĂN BẢN .................................................... 22
1. Khái niệm .................................................................................................... 22
2. Phương pháp biểu diễn văn bản bằng mô hình không gian vector ............ 23
Mô hình Boolean ................................................................................. 23
Mô hình Tần suất ................................................................................ 23
a. Phương pháp dựa trên tần số thuật ngữ (TF – Term Frequency).. 23
b. Phương pháp dựa trên nghịch đảo tần số văn bản (IDF Inverse Document Frequency) ........................................................... 24
c. Phương pháp TF x IDF ................................................................. 24
2.3 Phương pháp xử lý vector thưa ......................................................... 25
3. Các bài toán xử lý văn bản không có cấu trúc ........................................... 26
Bài toán phân loại văn bản ................................................................. 26
3.1.1 Giới thiệu .................................................................................. 26
3.1.2 Các phương pháp phân loại văn bản ...................................... 26
a. Decision Tree ...................................................................... 29
b. k-Nearest Neighbor ............................................................. 34
3.2 Bài toán lập nhóm văn bản ................................................................. 36
1


3.2.1 Giới thiệu ..................................................................................
3.2.2 Các phương pháp lập nhóm văn bản ......................................
a. Thuật toán phân câp Bayesian............................................
b. Thuật toán ghép nhóm theo độ tương tự.............................
c. Thuật toán K-means ...........................................................

36
37
37

39
40

CHƯƠNG IV XÂY DỰNG THỬ NGHIỆM ỨNG DỤNG WEB CLUSTERING...... 43
1. Bài toán đặt ra ............................................................................................ 43
2. Phương hướng giải quyết .......................................................................... 43
Web Crawler ........................................................................................ 43
a. Giới thiệu ........................................................................................ 43
b. Thứ tự Crawl các URLs .................................................................. 44
c. Một số vấn đề cần chú ý cho Web Crawler .................................... 44
d. Thuật toán sử dụng cho Web Crawler ............................................ 45
Áp dụng các thuật toán lập nhóm cho bộ dữ liệu thu được ................. 46
2.2.1 Các bước thực hiện để biểu diễn vector văn bản ...................... 46
a. Tách từ .................................................................................. 46
b. Loại bỏ Stopwords ................................................................. 47
c. Stemming ............................................................................... 47
d. Sắp xếp các keyword ............................................................. 47
e. Xây dựng bag-of-words ......................................................... 47
f. Biểu diễn từng file văn bản thành các vector .......................... 48
2.2.2 Áp dụng các thuật toán lập nhóm ............................................. 54
TÀI LIỆU THAM KHẢO ......................................................................................... 55

2


MỞ ĐẦU
1. Mục đích thực tập chuyên ngành
Sau 2 năm học chuyên ngành, chúng em đã được tiếp thu khá nhiều kiến thức
nền tảng nhờ các thầy cô trong khoa Công nghệ thông tin (CNTT), tuy nhiên chúng
em vẫn chưa thực sự đi sâu vào tiếp cận các công nghệ mới, các vấn đề trong

ngành CNTT chi tiết và cụ thể. Vì vậy đợt thực tập chuyên ngành này là một dịp để
chúng em có thể tìm hiểu một vấn đề cụ thể trong ngành CNTT. Đây cũng là bước
mở đầu và cũng là bước tiếp cận để chúng em tiếp tục chuyển sang học giai đoạn
chuyên ngành hẹp Công nghệ phần mềm.
2. Giới thiệu về đề tài thực tập chuyên ngành
Từ một thập kỷ trở lại đây, chúng ta đã được chứng kiến sự phát triển như vũ bão
của những nguồn thông tin sẵn có trên World Wide Web (WWW). Ngày nay, các trình
duyệt Web cho phép chúng ta dễ dàng truy nhập vào vô số nguồn dữ liệu văn bản và
multimedia. Với hơn một tỷ trang web, việc đánh chỉ số bởi các search engine và tìm
kiếm những thông tin cần thiết không còn là một việc dễ dàng. Lượng thông tin dồi
dào to lớn đã làm nảy sinh nhu cầu phát triển các kỹ thuật khai phá tự động trên
WWW, hay còn được gọi bởi một thuật ngữ là “Web mining”.
Để có được những công cụ web thông minh, hạn chế sự can thiệp của con
người, chúng ta cần phải tích hợp hay nhúng trí tuệ nhân tạo (artificial intelligence)
vào các công cụ này. Sự cần thiết tạo ra các hệ thống thông minh phía server và
phía client nhằm khai thác một cách có hiệu quả các tri thức trên Internet hay từ các
trang Web cụ thể đã thu hút sự chú ý của những nhà nghiên cứu từ nhiều lĩnh vực
khác nhau như truy hồi thông tin (information retrieval), khai phá tri thức (knowledge
discovery), máy học (machine learning) và trí tuệ nhân tạo (AI). Tuy nhiên, bài toán
phát triển các công cụ tự động để tìm kiếm, trích rút, lọc, hay lượng giá thông tin mà
người sử dụng mong muốn từ dữ liệu web vốn không được gán nhãn lại phân tán,
hỗn tạp vẫn còn đang trong giai đoạn trứng nước.
Trong một tháng thực tập chuyên ngành ngắn ngủi, em chưa có đủ thời gian để
tìm hiểu một cách sâu sắc về Web mining mà mới chỉ dừng lại ở giới thiệu tổng quan
và cài đặt một ứng dụng nhằm minh hoạ các thuật toán đã tìm hiểu. Mong thầy và
các bạn cho em những ý kiến quý báu để em có thể tiếp tục phát triển, hoàn thiện
hơn đề tài này.
3



3. Yêu cầu của đề tài
1. Tìm hiểu chung về Web mining
2. Tìm hiểu Web Text mining
3. Xây dựng ứng dụng cho phép thu thập thông tin từ trên mạng Internet. Sau
đó, áp dụng các thuật toán lập nhóm cho bộ dữ liệu vừa thu được.

CHƯƠNG I
4


TỔNG QUAN VỀ WEB MINING
Với một khối lượng thông tin trực tuyến khổng lồ, World Wide Web đã trở thành
một lĩnh vực phong phú, dồi dào cho các nghiên cứu về data mining. Có thể nói,
những nghiên cứu về Web mining là sự tổng hợp của nhiều lĩnh vực nghiên cứu
khác nhau như database, thu hồi thông tin (information retrieval), trí tuệ nhân tạo
(AI), đặc biệt là sự góp mặt của máy học (machine learning) và xử lý ngôn ngữ tự
nhiên. Tuy vậy, hãy còn có rất nhiều những nhầm lẫn, những mập mờ khi đem so
sánh những kết quả nghiên cứu từ các quan điểm khác nhau.
1. Giới thiệu chung
Ngày nay, World Wide Web là một môi trường tương tác phổ dụng, được dùng để
phổ cập thông tin. Những người sử dụng thông tin, khi tương tác với Web, thường
gặp phải những vấn đề sau:
a. Tìm kiếm những thông tin thích hợp : Con người sử dụng trình duyệt và các
dịch vụ tìm kiếm khi họ muốn có được những thông tin đặc biệt nào đó trên Web.
Muốn sử dụng dịch vụ tìm kiếm, người sử dụng chỉ cần đưa ra những câu truy vấn
đơn giản. Dường như ngay lập tức, kết quả tìm kiếm được hiển thị thành danh sách
các trang được sắp xếp dựa trên độ tương đồng với câu truy vấn. Tuy nhiên, các
công cụ tìm kiếm ngày nay vẫn còn gặp phải một số những vấn đề nổi cộm. Thứ
nhất, độ chính xác thấp do sự không thích hợp của nhiều kết quả tìm kiếm. Thứ hai,
khả năng triệu hồi (recall) thấp do không đủ khả năng đánh chỉ số cho tất cả các

thông tin có sẵn trên Web.
b. Tạo tri thức mới từ những thông tin có sẵn trên Web : Có thể coi bài toán này
là một bài toán con của bài toán trên. Trong khi bài toán trên xử lý các câu truy vấn
(retrieval oriented) thì bài toán này lại xử lý dữ liệu, trong đó ta giả sử đã có sẵn một
tập dữ liệu Web, cần phải trích ra những tri thức tiềm ẩn có ích từ tập dữ liệu này.
c. Sự cá nhân hoá thông tin : Khi tương tác với Web, mỗi người lại có một cách
biểu diễn thông tin riêng, tuỳ thuộc vào sở thích của họ.
d. Nghiên cứu về người tiêu dùng và những người sử dụng riêng : Đây là bài
toán giải quyết cho bài toán c ở trên. Bài toán này sẽ cho biết khách hàng làm gì và
muốn gì.
2. Web mining
5


2.1 Tổng quan
Web mining thực chất là việc sử dụng các kỹ thuật của Data mining nhằm tự
động khai phá, trích dẫn thông tin từ các tài liệu và các dịch vụ Web. Hiện nay, nó
đang là một lĩnh vực nghiên cứu rộng lớn, thu hút sự chú ý của nhiều lĩnh vực
nghiên cứu khác nhau do sự phát triển ghê gớm của các nguồn thông tin trên Web
cũng như thương mại điện tử. Web mining được phân thành những nhiệm vụ nhỏ
sau:
1. Tìm kiếm các nguồn tài nguyên : truy hồi các tài liệu Web mong muốn. Đây
là quá trình truy hồi dữ liệu trực tuyến hoặc không trực tuyến từ các nguồn
văn bản sẵn có trên Web. Các nguồn thông tin này có thể là các bản tin điện
tử, các bức điện tín, nội dung văn bản từ các tài liệu HTML, thu được bằng
cách loại bỏ các HTML tag…
2. Lựa chọn và tiền xử lý thông tin : tự động lựa chọn và tiền xử lý các thông
tin vừa nhận được từ các nguồn tài nguyên Web. Những chuyển đổi này có
thể là loại bỏ các stop words, stemming… hoặc tiền xử lý để có những biểu
diễn thích hợp, hay chuyển đổi sang mô hình quan hệ, dạng logic 1 (first order

logic form).
3. Tổng quát hoá : Tự động khai phá ra các mẫu tổng quát từ các Web site
riêng biệt hoặc từ một nhóm các Web site. Để tổng quát hoá ra các mẫu,
người ta thường sử dụng các kỹ thuật machine learning hoặc data mining.
Trong quá trình khai phá thông tin và tri thức, con người đóng một vai trò cực
kỳ quan trọng bởi Web là một môi trường tương tác.
4. Phân tích hiệu lực và (hoặc) giải thích các mẫu vừa khai phá được.
Nói một cách ngắn gọn, Web mining là một kỹ thuật dùng để khai phá và phân
tích thông tin có ích từ dữ liệu Web. Web có hai loại dữ liệu chính:
 Web content data
 Web structure data
Tương ứng với mỗi loại dữ liệu cần khai thác, người ta cũng chia ra các kỹ thuật
Web mining thành :
 Web content mining
 Web structure mining

6


Hình 1. Phân loại Web mining
Web structure mining có thể được chia nhỏ thành:
 Khai phá cấu trúc ngoài (External Structure mining) : tập trung khai phá siêu
liên kết giữa các trang Web.
 Khai phá cấu trúc trong (Internal Structure mining) : khai phá cấu trúc nội tại
của trang Web.
 URL mining.
Web content mining được chia thành:
 Text mining: bao gồm text file, HTML, document...
 Multimedia mining.
Mặc dầu khai phá các dữ liệu multimedia có rất nhiều điều thú vị, hấp dẫn, nhưng

text mining lại có một vai trò cực kỳ quan trọng, bởi lẽ hiện nay, văn bản là phương
tiện thông tin chủ yếu trên Web.
2.2 Các thành phần của Web mining và các phương pháp luận
Như đã nói ở trên Web mining có thể được chia thành bốn nhiệm vụ nhỏ:
 Khám phá thông tin (Information Retrieval hay Resource Discovery)
 Trích dẫn, lựa chọn và tiền xử lý thông tin (Information Selection/Extraction
and preprocessing)
 Tổng quát hoá (Generalization)
 Analysis
a. Khám phá thông tin (IR)
Khám phá thông tin là giải quyết bài toán tự động nhận về tất cả các tài liệu liên
quan, đồng thời hạn chế tối đa các tài liệu không có ích. Quá trình IR thường bao

7


gồm biểu diễn tài liệu (document representation), đánh chỉ số (indexing) và tìm kiếm
tài liệu.
Về cơ bản, chỉ mục là nơi ghi lại các thuật ngữ. Mỗi khi cần tìm tài liệu liên qua
đến thuật ngữ nào, ta sẽ tra cứu trong chỉ mục để biết được tất cả các tài liệu có
chứa thuật ngữ này. Tuy nhiên, đánh chỉ mục các trang Web lại khá phức tạp. Với
một số lượng khổng lồ các trang web có tính chất động và thường xuyên được cập
nhật, các kỹ thuật đánh chỉ số dường như là điều không thể. Hiện nay, có bốn
phương pháp đánh chỉ số cho các tài liệu trên web:
 manual indexing
 automatic indexing
 intelligent or agent - based indexing
 metadata - based indexing
Search engine là chương trình được viết để truy vấn và nhận về các thông tin
được lưu trữ trong các cơ sở dữ liệu (hoàn toàn có cấu trúc), các trang HTML (nửa

cấu trúc) hay các văn bản text có trên web.
 Kiến trúc của một hệ IR

Feedback

Queries
Processor

Output

Input
Documents

Với đầu vào là các tài liệu và truy vấn của người dùng, khối xử lý (processor) sẽ
cho kết quả về các tài liệu thoả mãn truy vấn. Các kết quả này đôi khi được sử dụng
làm thông tin phản hồi cho hệ IR nhằm có được các kết qủa tốt hơn trong các tình
huống tương tự sau này.
b. Trích rút, lựa chọn và tiền xử lý thông tin

8


Khi các tài liệu được nhận về, nhiệm vụ tiếp theo là phải trích rút được tri thức và
những thông tin yêu cầu khác mà không cần đến sự tương tác của con người. Trích
rút thông tin (IE) có nhiệm vụ xác định các đoạn đặc trưng cấu thành nên nội dung
ngữ nghĩa hạt nhân của tài liệu. Cho đến nay, các phương pháp IE đều ít nhiều liên
quan đến việc viết các wrapper để ánh xạ các tài liệu sang một vài mô hình dữ liệu.
Các hệ thống tích hợp thông tin hiện nay thường thao tác bằng cách dịch các site
khác nhau thành các nguồn tri thức rồi trích rút thông tin từ chúng. Một phương pháp
khác để trích rút thông tin từ các siêu văn bản (hypertext) là coi mỗi trang như một

tập các câu hỏi chuẩn. Bài toán đặt ra là cần phải xác định được các đoạn văn bản
trả lời cho một số câu hỏi xác định nào đó. Nói một cách khác, các khe hở sẽ được
điền đầy bằng các đoạn văn bản trong tài liệu. Như vậy, mục tiêu của IE là trích rút
những tri thức mới từ những tài liệu nhận được bằng cách lợi dụng cấu trúc của tài
liệu và sự biểu diễn tài liệu trong khi các chuyên gia IR lại coi tài liệu là một tập các
từ (bag of words) mà không hề chú ý tới cấu trúc của tài liệu. Vấn đề trở ngại chính
đối với IE chính là kích thước và tính chất động của web. Vì vậy, các hệ thống IE
thường chỉ trích rút thông tin từ một số site cụ thể và tập trung vào một số vùng xác
định mà thôi.
Để có thể trích rút được bất cứ loại tri thức nào từ các CSDL có kích thước trung
bình, chúng ta cần có một hệ thống tiền xử lý mạnh mẽ. Khi người sử dụng yêu cầu
một trang web, rất nhiều loại file khác nhau như hình ảnh, âm thanh, video, cgi, html
được truy cập. Kết quả là, server log chứa rất nhiều mục dư thừa hoặc không thích
hợp cho nhiệm vụ khai phá. Chính vì vậy, chúng cần phải được loại bỏ bằng quá
trình tiền xử lý. Một trong những kỹ thuật tiền xử lý mà IE hay sử dụng là latent
semantic indexing (LSI), nhằm biến đổi các vector tài liệu ban đầu sang không gian
có số chiều nhỏ hơn bằng cách phân tích sự tương quan của các thuật ngữ trong tập
các tài liệu. Một số kỹ thuật tiền xử lý khác nữa là “stop words”, “stemming”, cho
phép giảm kích thước các đặc trưng đầu vào.

c. Tổng quát hoá
Trong giai đoạn này, các kỹ thuật máy học và nhận dạng mẫu thường được sử
dụng để trích rút thông tin. Hầu hết các hệ thống máy học được triển khai trên web
thường học nhu cầu của người sử dụng hơn là bản thân web. Khó khăn chính khi
học về web là vấn đề gán nhãn. Dữ liệu trên web quả thực vô cùng phong phú, xong
9


lại không được gán nhãn. Trong khi đó, rất nhiều kỹ thuật khai phá dữ liệu lại yêu
cầu các mẫu đầu vào phải được gán nhãn dương (positive) hoặc âm (negative)

tương ứng với một số khái niệm nào đó. Ví dụ, giả sử chúng ta có một tập lớn các
trang web được gán nhãn dương hoặc âm của khái niệm homepage. Khi đó, việc tạo
ra một trình phân loại để dự đoán một trang web có là homepage hay không sẽ rất
dễ dàng. Nhưng thật không may, các trang web lại không được gán nhãn. Các kỹ
thuật như lẫy mẫu không chắc chắn có thể giảm bớt lượng dữ liệu không được gán
nhãn, nhưng lại không thể khử được bài toán này. Một cách tiếp cận để giải quyết
bài toán gán nhãn là dựa trên cơ sở web có nhiều tập các tài liệu liên kết. Các kỹ
thuật lập nhóm không yêu cầu đầu vào phải được gán nhãn, đồng thời chúng đã và
đang được ứng dụng hết sức thành công cho tập lớn các tài liệu. Hơn nữa, Web
chính là một mảnh đất màu mỡ phì nhiêu cho các nghiên cứu lập nhóm tài liệu.
Khai phá các luật kết hợp (association rule mining) là một phần của giai đoạn này.
Về cơ bản, luật kết hợp là những biểu thức có dạng X ⇒ Y trong đó X và Y là tập các
mục (item). X ⇒ Y có nghĩa là bất cứ khi nào một giao tác T có chứa X thì T cũng có
thể chứa Y. Xác suất hay độ tin cậy của luật được định nghĩa là phần trăm các giao
tác có chứa Y khi đã chứa X trên tổng số các giao tác có chứa X.
d. Phân tích (analysis)
Phân tích là bài toán hướng dữ liệu với giả thiết đã có sẵn đầy đủ dữ liệu. Từ đó,
những thông tin hữu ích tiềm ẩn có thể được trích rút và được phân tích. Con người
đóng một vai trò cực kỳ quan trọng trong quá trình khai phá tri thức bởi web là một
môi trường tương tác. Điều này đặc biệt quan trọng cho sự phê chuẩn và giải thích
các mẫu được khai phá bởi khi các mẫu được khai phá, những người phân tích cần
phải sử dụng những công cụ thích hợp để hiểu, trực quan hoá và giải thích các mẫu.

3. Web content mining và Web structure mining
3.1 Web content mining
Web content mining là quá trình khai phá những thông tin có ích từ nội dung / dữ
liệu / tài liệu / dịch vụ web. Tài liệu Web có thể chứa một số loại dữ liệu sau: văn bản,
hình ảnh, âm thanh, video, siêu dữ liệu và siêu liên kết. Một số là nửa cấu trúc như
tài liệu HTML, hoặc là những dữ liệu có cấu trúc hơn như dữ liệu trong bảng các
10



CSDL sinh ra từ các trang HTML. Tuy nhiên, hầu hết các dữ liệu đều là những dữ
liệu văn bản phi cấu trúc. Các đặc trưng phi cấu trúc của dữ liệu Web khiến cho cách
tiếp cận Web content mining trở nên vô cùng phức tạp.
Web content mining được phân biệt từ 2 quan điểm khác nhau:
 Từ quan điểm Information Retrieval
 Từ quan điểm Database


Từ quan điểm Information Retrieval

Bảng trên đã tổng kết những nghiên cứu cho tài liệu văn bản phi cấu trúc. Hầu
hết các nghiên cứu đều sử dụng tập các từ đơn để biểu diễn các tài liệu phi cấu trúc.
Cách biểu diễn này đã bỏ qua trình tự xuất hiện của các từ mà chỉ quan tâm đến tính
chất thống kê của các từ đó mà thôi. Người ta có thể quan tâm một từ có xuất hiện
trong tài liệu hay không (boolean) hoặc tần suất xuất hiện của từ trong tài liệu. Ngoài
ra, người ta còn quan tâm đến việc loại bỏ hệ thống dấu chấm câu, những từ ít được
dùng, stop word, sterming...
Các tài liệu nửa cấu trúc thường sử dụng cấu trúc HTML bên trong tài liệu hoặc các
siêu liên kết giữa các tài liệu.

11




Từ quan điểm Database
Các kỹ thuật cơ sở dữ liệu trên web liên quan tới những bài toán quản lý và truy


vấn thông tin trên web. Nhìn chung, có ba loại nhiệm vụ liên quan tới bài toán này:
mô hình hoá và truy vấn web, tích hợp và trích rút thông tin, tạo và tổ chức lại các
web site.
Về cơ bản nhìn từ góc độ CSDL, chúng ta thường cố gắng đưa ra cấu trúc của
Web site hoặc biến đổi một web site thành CSDL để quản lý và truy vấn thông tin
trên web được tốt hơn.

Từ bảng trên chúng ta có thể thấy rằng, cách biểu diễn tài liệu từ góc độ CSDL
khác hẳn so với IR. DB view thường sử dụng Object Exchange Model (OEM). Theo
đó, các dữ liệu nửa cấu trúc thường được biểu diễn bằng một đồ thị được gán nhãn.
Dữ liệu trong OEM được xem là đồ thị, các đối tượng gồm có các đỉnh và nhãn trên
mỗi cạnh.
3.2 Web Structure mining
12


Hầu hết các công cụ truy hồi thông tin Web hiện nay chỉ sử dụng những thông tin
nguyên mẫu mà bỏ qua các thông tin liên kết. Mục tiêu của Web structure mining là
sinh ra những tóm tắt cấu trúc về Web site và Web page. Trong khi Web content
mining tập trung vào cấu trúc bên trong của tài liệu, thì Web structure mining lại cố
gắng khai phá cấu trúc liên kết của các siêu liên kết có trong tài liệu. Dựa trên kiến
trúc của hyperlink, Web structure mining sẽ phân loại các trang web, sinh ra những
thông tin như độ tương quan, mối quan hệ giữa các web site khác nhau.
Web structure mining cũng có thể khai phá cấu trúc của tài liệu Web. Loại khai
phá cấu trúc này được sử dụng nhằm phát hiện lược đồ cấu trúc của các trang Web.
Những thông tin cấu trúc được chiết xuất ra từ Web structure mining bao gồm:
 Thông tin tần xuất của những liên kết cục bộ trong Web tuples của Web table
 Thông tin tần xuất của Web tuples trong Web table có chứa các liên kết bên
trong hoặc các liên kết tới cùng một tài liệu.
 Thông tin về tần xuất của các Web tuple có chứa các liên kết toàn cục và các

liên kết trải rộng đến các Web sites khác.
Thông tin về tần xuất của các Web tuple giống nhau xuất hiện trong một Web table
hay trong nhiều Web table.

4. Web Text mining
Web text mining có 4 loại chính:
 Text Categorization
 Text Clustering
 Association analysis
 Trend prediction
4.1 Text Categorization
Phân loại văn bản được các nhà nghiên cứu định nghĩa như là việc gán các chủ
đề có trước cho các văn bản dựa trên nội dung của chúng. Phân loại văn bản là
công việc được sử dụng để hỗ trợ cho quá trình duyệt văn bản, tìm kiếm văn bản,
triết lọc thông tin, lọc văn bản hoặc tự động dẫn đường cho văn bản đến các chủ đề
được xác định trước.
Hiện nay có rất nhiều thuật giải phân loại (categorization algorithm), một trong số
đó là các thuật giải:
13


 k-Nearest Neighbor algorithm
 Decision Tree
4.2 Text Clustering
Trong bài toán phân loại văn bản, yêu cầu đặt ra là cần gán nhãn một văn bản
chưa được phân loại vào một hoặc một số nhóm được định trước thông qua nội
dung của văn bản và dựa trên tập thuộc tính của các nhóm. Còn trong bài toán lập
nhóm văn bản, chúng ta chưa biết thuộc tính của các nhóm, hay nói đúng hơn là các
nhóm chưa được xác định. Yêu cầu đặt ra là thành lập một số nhóm văn bản nhất
định từ tập hợp các văn bản cho trước sao cho phù hợp nhất.

Chúng ta có thể sử dụng Text clustering cho tổ hợp các kết quả trả về từ search
engine. Sau đó, người sử dụng chỉ đơn thuần kiểm tra các nhóm liên quan tới câu
truy vấn của họ. Điều này giúp giảm thiểu đáng kể thời gian và công sức so với việc
kiểm tra trên toàn bộ tập tài liệu.
Các thuật toán clustering có thể được chia thành 2 nhóm chính:
 Hierachical Clustering :


Hierachical Bayesian Clustering (HBC) algorithm



G – HAC algorithm

 Partitional Clustering : K-Means
4.3 Association analysis
Chiết xuất các mối quan hệ giữa các cụm từ (phrase) và các từ (words) có trong
tài liệu.
4.4 Trend Prediction
Dự đoán giá trị của một dữ liệu cho trước tại một thời điểm xác định nào đó trong
tương lai.
Cần chú ý rằng, Web text mining cũng tương tự như mining trên một tập các file
text, tất nhiên có những sự mở rộng nhất định nào đó. Tuy vậy, những thông tin phụ
được mang bởi các tag trong tài liệu Web như <Title>, <Heading>... cần được khai
thác để làm tăng chất lượng của Web text mining.

14


CHƯƠNG II

KHAI PHÁ DỮ LIỆU
1. Tổng quan về khai phá dữ liệu
1.1. Khái niệm
Khai phá dữ liệu là một khái niệm ra đời vào những năm cuối của thập kỷ 89. Nó
bao hàm một loạt các kỹ thuật nhằm phát hiện ra các thông tin có giá trị tiềm ẩn
trong các tập dữ liệu lớn (các kho dữ liệu). Về bản chất, khai phá dữ liệu liên quan
đến việc phân tích các dữ liệu và sử dụng các kỹ thuật để tìm ra các mẫu hình có
tính chính quy trong tập dữ liệu.
Năm 1989, Fayyad, Patestky-Shapiro và Smyth đã dùng khái niệm Phát hiện tri
thức trong cơ sở dữ liệu (Knowledge Discovery in Database - KDD) để chỉ toàn bộ
quá trình phát hiện các tri thức có ích từ các tập dữ liệu lớn. Trong đó, khai phá dữ
liệu là một bước đặc biệt trong toàn bộ quá trình, sử dụng các giải thuật đặc biệt để
chiết xuất ra các mẫu (pattern) từ dữ liệu.

15


1.2. Các bước của quá trình khai phá dữ liệu
Các giải thuật khai phá dữ liệu thường được miêu tả như những chương trình
hoạt động trực tiếp trên tệp dữ liệu. Với các phương pháp máy học và thống kê
trước đây, thường thì bước đầu tiên là các giải thuật nạp toàn bộ tệp dữ liệu vào
trong bộ nhớ. Khi chuyển sang các ứng dụng công nghiệp liên quan đến việc khai
phá các kho dữ liệu lớn, mô hình này không thể đáp ứng được. Không chỉ bởi vì nó
không thể nạp hết dữ liệu vào trong bộ nhớ mà còn vì khó có thể chiết suất dữ liệu
ra các tệp đơn giản để phân tích được.
Quá trình xử lý khai phá dữ liệu bắt đầu bằng cách xác định chính xác vấn đề cần
giải quyết. Sau đó sẽ xác định các dữ liệu liên quan dùng để xây dựng giải pháp.
Bước tiếp theo là thu thập các dữ liệu có liên quan và xử lý chúng thành dạng sao
cho các giải thuật khai phá dữ liệu có thể hiểu được. Về lý thuyết thì có vẻ rất đơn
giản nhưng khi thực hiện thì đây thực sự là một quá trình rất khó khăn, gặp phải

nhiều vướng mắc như : các dữ liệu phải được sao ra nhiều bản (nếu được chiết suất
vào các tệp), quản lý tập các tệp dữ liệu, phải lặp đi lặp lại nhiều lần toàn bộ quá
trình (nếu mô hình dữ liệu thay đổi),...
Sẽ là quá cồng kềnh với một giải thuật khai phá dữ liệu nếu phải truy nhập vào
toàn bộ nội dung của CSDL và làm những việc như trên. Vả lại, điều này cũng không
cần thiết. Có rất nhiều giải thuật khai phá dữ liệu thực hiện trên những thống kê tóm
tắt khá đơn giản của CSDL, khi mà toàn bộ thông tin trong CSDL là quá dư thừa đối
với mục đích của việc khai phá dữ liệu.
Bước tiếp theo là chọn thuật toán khai phá dữ liệu thích hợp và thực hiện việc
khai phá để tìm được các mẫu (pattern) có ý nghĩa dưới dạng biểu diễn tương ứng
với các ý nghĩa đó (thường được biểu diễn dưới dạng luật xếp loại, cây quyết định,
luật sản xuất, biểu thức hồi quy,...).
Đặc điểm của các mẫu là phải mới (ít nhất là đối với hệ thống đó). Độ mới có thể
được đo tương ứng với độ thay đổi trong dữ liệu (bằng cách so sánh các giá trị hiện
tại với các giá trị trước đó hoặc các giá trị mong muốn), hoặc bằng tri thức (mối liên
hệ giữa các phương pháp tìm mới và phương pháp cũ như thế nào). Thường thì độ
mới của mẫu được đánh giá bằng các hàm logic hoặc hàm đo độ mới, độ bất ngờ
của mẫu. Ngoài ra, mẫu phải có khả năng sử dụng tiềm tàng. Các mẫu này sau khi
được xử lý và diễn giải phải dẫn đến những hành động có ích nào đó được đánh giá
bởi một hàm lợi ích. Ví dụ như trong dữ liệu các khoản vay, hàm lợi ích đánh giá khả

16


năng tăng lợi nhuận từ các khoản vay. Mẫu khai thác được phải có giá trị đối với các
dữ liệu mới với độ chính xác nào đó.

Thống kê
tóm tắt
Xác định

nhiệm vụ

Xác định
dữ liệu
liên quan

Thu thập
và tiền xử
lý dữ liệu

Giải thuật
khai phá
dữ liệu

Dữ liệu trực
tiếp
Mẫu

Với các giải thuật và các nhiệm vụ của khai phá dữ liệu rất khác nhau, dạng của
các mẫu chiết xuất được cũng rất đa dạng. Theo cách đơn giản nhất, sự phân tích
cho ra kết quả chiết xuất là một báo cáo về một số loại (có thể bao gồm các phép đo
mang tính thống kê về độ phù hợp của mô hình, các dữ liệu lạ...). Trong thực tế đầu
ra phức tạp hơn nhiều. Mẫu chiết suất được có thể là một mô tả xu hướng, có thể
dưới dạng văn bản, một đồ thị mô tả các mối quan hệ trong mô hình, cũng có thể là
một hành động ví dụ như yêu cầu của người dùng làm gì với những gì khai thác
được trong CSDL.
Kỹ thuật khai phá dữ liệu thực chất không có gì mới. Nó là sự kế thừa, kết hợp và
mở rộng của các kỹ thuật cơ bản đã được nghiên cứu từ trước như máy học, nhận
dạng, thống kê (hồi quy, xếp loại, phân nhóm), các mô hình đồ thị, mạng Bayes, trí
tuệ nhân tạo, thu thập tri thức hệ chuyên gia... Tuy nhiên, với sự kết hợp tài tình của

khai phá dữ liệu, kỹ thuật này có ưu thế hơn hẳn các phương pháp trước đó, đem lại
nhiều triển vọng trong việc ứng dụng phát triển nghiên cứu khoa học cũng như làm
tăng mức lợi nhuận trong các hoạt động kinh doanh.
2. Nhiệm vụ chính của khai phá dữ liệu.
Rõ ràng mục đích của khai phá dữ liệu là các tri thức chiết xuất được sẽ được sử
dụng cho lợi ích cạnh tranh trên thương trường và các lợi ích trong nghiên cứu khoa
học.
Do đó, có thể coi mục đích của khai phá dữ liệu sẽ là mô tả (description) và dự
đoán (prediction). Các mẫu mà khai phá dữ liệu phát hiện được nhằm vào các mục
17


đích này. Dự đoán liên quan đến việc sử dụng các biến hoặc các trường trong CSDL
để chiết xuất ra các mẫu là các dự đoán những giá trị chưa biết hoặc những gía trị
trong tương lai của các biến đáng quan tâm. Mô tả tập trung vào việc tìm kiếm các
mẫu mô tả dữ liệu mà con người có thể hiểu được.
Để đạt được hai mục đích này, nhiệm vụ chính của khai phá dữ liệu bao gồm như
sau:
 Phân lớp (Classification) : Phân lớp là việc học một hàm ánh xạ (hay phân loại)
một mẫu dữ liệu vào một trong số các lớp đã xác định.
 Hồi quy (Regression) : Hồi quy là việc học một hàm ánh xạ từ một mẫu dữ liệu
thành một biến dự đoán có giá trị thực.
 Phân nhóm (Clustering): Là việc mô tả chung để tìm ra các tập xác định, các
nhóm hay các loại để mô tả dữ liệu. Các nhóm có thể tách riêng nhau hoặc phân
cấp hoặc gối lên nhau. Có nghĩa là mọt dữ liệu có thể vừa thuộc nhóm này, vừa
thuộc nhóm kia.
 Tóm tắt (summarization) : Liên quan đến các phương pháp tìm kiếm một mô tả
tóm tắt cho một tập con dữ liệu.
 Mô hình hoá phụ thuộc (Dependency Modeling): Bao gồm việc tìm kiếm một mô
hình mô tả sự phụ thuộc đáng kể giữa các biến. Các mô hình phụ thuộc tồn tại

dưới hai mức : mức cấu trúc của mô hình xác định (thường ở dạng đồ hoạ) các
biến nào là phụ thuộc cục bộ với nhau, mức định lượng của một mô hình xác
định độ mạnh của sự phụ thuộc theo một thước đo nào đó.
 Phát hiện sự thay đổi và lạc hướng (Change and Deviation Detection) : Tập trung
vào khai thác những thay đổi đáng kể nhất trong dữ liệu từ các giá trị chuẩn hoặc
được đo trước đó.
Những nhiệm vụ khác nhau này yêu cầu số lượng và các dạng thông tin rất khác
nhau nên chúng thường ảnh hưởng đến việc thiết kế và chọn giải thuật khai phá dữ
liệu khác nhau.
3. Các phương pháp khai phá dữ liệu
Quá trình khai phá dữ liệu là quá trình phát hiện các mẫu trong đó, giải thuật khai
phá dữ liệu tìm kiếm các mẫu đáng quan tâm theo dạng xác định như các luật, cây
phân lớp, quy hồi, phân nhóm, ...
 Các thành phần của giải thuật khai phá dữ liệu
18


Giải thuật khai phá dữ liệu bao gồm có ba thành phần chính như sau : biểu diễn
mô hình, đánh giá mô hình, tìm kiếm mô hình.


Biểu diễn mô hình : Mô hình được biểu diễn bằng một ngôn ngữ L để miêu tả các
mẫu có thể khai thác được. Nếu sự mô tả quá bị hạn chế thì sẽ không thể học
được hoặc sẽ không thể có các mẫu tạo ra được một mô hình chính xác cho dữ
liệu. Vì vậy, việc quan trọng là người phân tích dữ liệu cần phải hiểu đầy đủ các
giả thiết miêu tả. Một điều cũng khá quan trọng là người thiết kế giải thuật cần
phải diễn tả được các giả thiết miêu tả nào được tạo ra bởi giải thuật nào. Khả
năng miêu tả mô hình càng lớn thì càng làm tăng mức độ nguy hiểm và làm giảm
đi khả năng dự đoán các dữ liệu chưa biết. Hơn nữa, việc tìm kiếm sẽ càng trở
nên phức tạp hơn và việc giải thích mô hình cũng khó khăn hơn.

Mô hình ban đầu được xác định bằng cách kết hợp biến đầu ra (phụ thuộc)
với các biến độc lập mà biến đầu ra phụ thuộc vào. Sau đó phải tìm những tham
số mà bài toán cần tập trung giải quyết. Việc tìm kiếm mô hình sẽ đưa ra được
một mô hình phù hợp với các tham số được xác định dựa trên dữ liệu (trong một
số trường hợp, mô hình được xây dựng độc lập với dữ liệu trong khi đối với một
số trường hợp khác thì mô hình và các tham số lại thay đổi để phù hợp với dữ
liệu). Trong một số trường hợp, tập dữ liệu được chia thành tập dữ liệu học và
tập dữ liệu thử. Tập dữ liệu học được sử dụng để làm cho các tham số của mô
hình phù hợp với dữ liệu. Mô hình sau đó sẽ được đánh giá bằng cách đưa các
dữ liệu thử vào mô hình và thay đổi lại các tham số cho phù hợp nếu cần. Mô
hình lựa chọn có thể là phương pháp thống kê như SASS,..., một số giải thuật
máy học, mạng nơron, suy diễn hương tình huống, các kỹ thuật phân lớp.



Đánh giá mô hình: Đánh giá xem một mẫu có đáp ứng được các tiêu chuẩn của
quá trình phát hiện tri thức hay không. Việc đánh giá độ chính xác dự đoán dựa
trên đánh giá chéo (cross validation). Đánh giá chất lượng miêu tả liên quan đến
độ chính xác dự đoán, độ mới, khả năng sử dụng, khả năng hiểu mô hình. Cả hai
chuẩn thống kê và chuẩn logic đều có thể được sử dụng để đánh giá mô hình.
Việc đánh giá mô hình được thực hiện qua kiểm tra dữ liệu (trong một số trường
hợp kiểm tra với tất cả các dữ liệu, trong một số trường hợp khác kiểm tra với dữ
liệu thử).



Phương pháp tìm kiếm: Phương pháp tìm kiếm bao gồm 2 thành phần : tìm kiếm
tham số và tìm kiếm mô hình. Trong tìm kiếm tham số, giải thuật cần tìm kiếm các
tham số để tối ưu hoá các tiêu chuẩn đánh giá mô hình với các dữ liệu quan sát
19



được và với một miêu tả mô hình đã định. Việc tìm kiếm không cần thiết đối với
các bài toán khá đơn giản: các đánh giá tham số tối ưu có thể đạt được bằng các
cách đơn giản hơn. Tìm kiếm mô hình xảy ra giống như một vòng lặp qua
phương pháp tìm kiếm tham số: miêu tả mô hình bị thay đổi tạo nên một họ các
mô hình. Với mỗi một miêu tả mô hình, phương pháp tìm kiếm tham số được áp
dụng để đánh giá chất lượng của mô hình. Các phương pháp tìm kiếm mô hình
thường sử dụng các kỹ thuật tìm kiếm heuristic vì kích thước của không gian các
mô hình có thể thường ngăn cản các tìm kiếm tổng thể, hơn nữa các giải pháp
đơn giản không dễ đạt được.

4. Một số bài toán chính đối với nghiên cứu về khai phá dữ liệu :
 Bài toán phân loại (classification) : tìm một ánh xạ từ một mẫu dữ liệu vào một
trong các lớp có sẵn.
 Bài toán hồi quy (regression): tìm một ánh xạ hồi quy từ một mẫu dữ liệu vào
một biến dự đoán có giá trị thực.
 Bài toán lập nhóm (clustering) : là việc mô tả chung để tìm ra tập xác định hữu
hạn các nhóm hay các chủ đề là mô tả đặc trưng của dữ liệu.
 Bài toán lập tóm tắt (summarization): là việc tìm kiếm một mô tả chung tóm tắt
cho một tập con dữ liệu

20


CHƯƠNG III
VĂN BẢN VÀ CÁC BÀI TOÁN XỬ LÝ VĂN BẢN
1. Khái niệm
Trong các dạng dữ liệu thường xuyên được sử dụng thì văn bản là một trong
những dạng được dùng phổ biến nhất. Các văn bản có thể là các bài báo, các tài

liệu kinh doanh, các thông tin kinh tế, các bài nghiên cứu khoa học. Nhìn chung, các
loại dữ liệu văn bản thường được chia thành 2 loại:


Dạng phi cấu trúc (unstructured): là dạng văn bản chúng ta sử dụng hằng
ngày được thể hiện dưới dạng ngôn ngữ tự nhiên của con người và chúng
không có một cấu trúc định dạng cụ thể nào.



Dạng bán cấu trúc (semi-structured): đây là các loại văn bản không được lưu
trữ dưới dạng các bản ghi chặt chẽ mà được tổ chức qua các đánh dấu văn
bản để thể hiện nội dung chính của văn bản.

2. Phương pháp biểu diễn văn bản bằng mô hình không gian vector (Vector
Space Model)
Cách biểu diễn văn bản thông dụng nhất là thông qua vector. Đây là một cách
biểu diễn tương đối đơn giản và hiệu quả. Trước đây có nhiều bài báo nói rằng
phương pháp này gây tốn kém chi phí lưu trữ và công sức xử lý, nhưng khi các

21


phương pháp xử lý vector thưa được áp dụng thì các nhược điểm trên giảm đi rất
nhiều.
Theo mô hình này, mỗi văn bản được biểu diễn thành một vector. Mỗi thành phần
của vector là một thuật ngữ riêng biệt trong tập văn bản gốc và được gán một giá trị
là hàm f của từng thuật ngữ trong văn bản.

Thuật ngữ 2


văn bản 1
văn bản 2
văn bản 3

văn bản 4
Thuật ngữ 1

Hình 1: Biểu diễn các vector văn bản trong không gian chỉ có 2 thuật ngữ
2.1 Mô hình Boolean
Một mô hình biểu diễn vector với hàm f cho ra giá trị rời rạc với duy nhất hai giá
trị đúng và sai (true và false, hoặc 0 và 1) gọi là mô hình Boolean. Hàm f tương ứng
với thuật ngữ ti sẽ cho ra giá trị đúng nếu và chỉ nếu thuật ngữ ti xuất hiện trong văn
bản đó.
Mô hình Boolean được định nghĩa như sau:
Giả sử có một cơ sở dữ liệu gồm m văn bản, D = {d1, d2,… dm}. Mỗi văn bản được
biểu diễn dưới dạng một vector gồm n thuật ngữ T = {t1, t2,…tn}. Gọi W = {wij} là ma
trận trọng số, trong đó wij là giá trị trọng số của thuật ngữ ti trong văn bản dj.
Mô hình Boolean là mô hình đơn giản nhất được xác định như sau[1]:
1 nÕu ti cã mÆt trong d j
wij = 
0 nÕu ngîc l¹i
2.2 Mô hình tần suất
Trong mô hình tần suất, ma trận W = {wij} được xác định dựa trên tần số xuất
hiện của thuật ngữ ti trong văn bản dj hoặc tần số xuất hiện của thuật ngữ ti trong
toàn bộ cơ sở dữ liệu.
22


a. Phương pháp dựa trên tần số thuật ngữ (TF – Term Frequency)

Các giá trị wij được tính dựa trên tần số (hay số lần) xuất hiện của thuật ngữ trong
văn bản. Gọi fij là số lần xuất hiện của thuật ngữ ti trong văn bản dj, khi đó wij được
tính bởi một trong ba công thức:
1. wij = fij
2. wij = 1 + log(fij)
3. wij =

f ij

Trong phương pháp này, trọng số wij tỷ lệ thuận với số lần xuất hiện của thuật
ngữ ti trong văn bản dj. Khi số lần xuất hiện thuật ngữ ti trong văn bản dj càng lớn thì
điều đó có nghĩa là văn bản dj càng phụ thuộc vào thuật ngữ ti, hay nói cách khác
thuật ngữ ti mang nhiều thông tin trong văn bản dj.
Ví dụ, khi văn bản xuất hiện nhiều thuật ngữ 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ừ “và”
xuất hiện nhiều trong hầu hết các 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ó. Một phương pháp khác ra đời khắc
phục được nhược điểm của phương pháp TF, đó là phương pháp IDF.
b. Phương pháp dựa trên nghịch đảo tần số văn bản (IDF – Inverse Document
Frequency)
Trong phương pháp này, giá trị wij được tính theo công thức sau:
 m
log = log(m) − log(hi ) nÕu thuËt ng t i xuÊt hiÖn trong tµi liÖu d j
wij =  hi
0 nÕu ngîc l¹i

ở đó m là số lượng văn bản và hi là số văn bản mà thuật ngữ ti xuất hiện.
Trọng số wij trong công thức này được tính dựa trên độ quan trọng của thuật ngữ
ti trong văn bản dj. Nếu ti xuất hiện trong càng ít văn bản, điều đó có nghĩa là nếu nó

xuất hiện trong dj thì trọng số của nó đối với văn bản dj càng lớn hay nó là điểm quan
trọng để phân biệt văn bản dj với các văn bản khác và hàm lượng thông tin trong nó
càng lớn.
c. Phương pháp TF × IDF
23


Phương pháp này là tổng hợp của hai phương pháp TF và IDF, giá trị của ma
trận trọng số được tính như sau:

m
[1 + log( f ij )] log  nÕu hij ≥ 1
wij = 
 hi 
0 nÕu ngîc l¹i

Phương pháp này kết hợp được ưu điểm của cả hai phương pháp trên. Trọng số
wij được tính bằng tần số xuất hiện của thuật ngữ ti trong văn bản dj và độ hiếm của
thuật ngữ ti trong toàn bộ cơ sở dữ liệu.
2.3

Phương pháp xử lý vector thưa
Theo mô hình vector chuẩn, việc xử lý các phép toán trên vector sẽ phụ thuộc
vào độ lớn của ma trận Wnm ở đó n là số lượng thuật ngữ hay số chiều của vector và
m là số lượng văn bản có trong cơ sở dữ liệu. Trên thực tế, số lượng thuật ngữ và
số văn bản có thể lên đến vài chục nghìn. Khi đó số lượng phần t ử trong ma trận
Wnm sẽ lên đến con số trăm triệu và việc lưu trữ ma trận Wnm sẽ tốn quá nhiều tài
nguyên bộ nhớ đồng thời các phép toán trên các vector sẽ rất phức tạp. Để khắc
phục vấn đề này có thể sử dụng kỹ thuật xử lý trên vector thưa thay vì việc lưu trữ và
xử lý trên các vector chuẩn.

Các điều kiện để có thể áp dụng phương pháp vector thưa:
1. Các vector thực sự thưa: số phần tử có trọng số khác 0 nhỏ hơn rất nhiều so
với số thuật ngữ trong cơ sở dữ liệu.
2. Phép xử lý vector là đơn giản nhất: số vector cùng bị tác động trong một phép
xử lý cơ bản là nhỏ nhất. Thường số vector bị tác động này được quy định tối
đa là 3 hoặc 4.
Trên thực tế, số thuật ngữ xuất hiện trong một văn bản thường dưới 1000. Đối
với các văn bản dài và đa chủ đề thì số thuật ngữ xuất hiện có thể nhiều hơn. Trong
khi đó, số lượng thuật ngữ có trong từ điển có thể lên đến con số 100,000 từ. Đây
chính là điều kiện để áp dụng phương pháp vector thưa.
Việc thỏa mãn điều kiện thứ hai còn phụ thuộc vào thuật toán được áp dụng cho
quá trình xử lý văn bản.
Một ví dụ biểu diễn vector thưa từ các vector chuẩn.
 Đối với vector chuẩn:
24


wij

Máy tính

Internet

Thịt gà

Quần bò

Cỏ

Lông

cừu

d0(CNTT)

2

3

0

0

0

0

d1(Nông nghiệp)

0

0

4

0

1

1


d2(Công nghiệp)

0

0

0

6

0

2

d0 = (2, 3, 0, 0, 0, 0)
d1 = (0, 0, 4, 0, 1, 1)
d2 = (0, 0, 0, 6, 0, 2)
 Đối với vector thưa:
d0 = ((1, 2), (2, 3))
d1 = ((3,4), (5,1), (6,1))
d2 = ((4,6), (6,2))
Kiểu phần tử của vector thưa có sự thay đổi so với vector chuẩn. Mỗi phần tử
gồm hai giá trị là mã biểu diễn thuật ngữ và giá trị trọng số tương ứng với thuật ngữ
đó. Phần tử (6, 2) trong văn bản d2 chỉ ra rằng thuật ngữ có mã 6 (“lông cừu”) có
trọng số 2.

3. Các bài toán xử lý văn bản không có cấu trúc
3.1 Bài toán phân loại văn bản (Text Clustering)
3.1.1 Giới thiệu
Bài toán : Cho một tập hợp các văn bản đã được người dùng phân loại bằng tay

vào một số chủ đề có sẵn. Khi đưa vào một văn bản mới, yêu cầu hệ thống chỉ ra tên
chủ đề phù hợp nhất với văn bản đó.
Theo cách truyền thống, việc phân loại văn bản có thể thực hiện một cách thủ
công, tức là đọc từng văn bản một và gán nó vào nhóm phù hợp. Cách thức này sẽ
tốn nhiều thời gian và chi phí nếu như số lượng văn bản lớn. Do vậy, cần phải xây
dựng các công cụ phân loại văn bản một cách tự động.
Để xây dựng công cụ phận loại văn bản tự động người ta thường dùng các thuật
toán học máy (Machine Learning). Tuy nhiên, còn có các thuật toán đặc biệt hơn
25


×