Tải bản đầy đủ

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

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ư , <Heading>... cần được khai<br />thác để làm tăng chất lượng của Web text mining.<br /><br />14<br /><br /><br />CHƯƠNG II<br />KHAI PHÁ DỮ LIỆU<br />1. Tổng quan về khai phá dữ liệu<br />1.1. Khái niệm<br />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ó<br />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<br />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<br />đế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ó<br />tính chính quy trong tập dữ liệu.<br />Năm 1989, Fayyad, Patestky-Shapiro và Smyth đã dùng khái niệm Phát hiện tri<br />thức trong cơ sở dữ liệu (Knowledge Discovery in Database - KDD) để chỉ toàn bộ<br />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ữ<br />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 để<br />chiết xuất ra các mẫu (pattern) từ dữ liệu.<br /><br />15<br /><br /><br />1.2. Các bước của quá trình khai phá dữ liệu<br />Các giải thuật khai phá dữ liệu thường được miêu tả như những chương trình<br />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ê<br />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<br />trong bộ nhớ. Khi chuyển sang các ứng dụng công nghiệp liên quan đến việc khai<br />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ó<br />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<br />ra các tệp đơn giản để phân tích được.<br />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<br />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.<br />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<br />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<br />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<br />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<br />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á<br />trình (nếu mô hình dữ liệu thay đổi),...<br />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<br />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<br />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<br />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<br />với mục đích của việc khai phá dữ liệu.<br />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<br />khai phá để tìm được các mẫu (pattern) có ý nghĩa dưới dạng biểu diễn tương ứng<br />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,<br />luật sản xuất, biểu thức hồi quy,...).<br />Đặ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ể<br />đượ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<br />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<br />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ì độ<br />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ờ<br />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<br />đượ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á<br />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ả<br /><br />16<br /><br /><br />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<br />dữ liệu mới với độ chính xác nào đó.<br /><br />Thống kê<br />tóm tắt<br />Xác định<br />nhiệm vụ<br /><br />Xác định<br />dữ liệu<br />liên quan<br /><br />Thu thập<br />và tiền xử<br />lý dữ liệu<br /><br />Giải thuật<br />khai phá<br />dữ liệu<br /><br />Dữ liệu trực<br />tiếp<br />Mẫu<br /><br />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<br />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<br />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<br />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<br />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ể<br />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à<br />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<br />được trong CSDL.<br />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à<br />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<br />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í<br />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<br />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<br />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<br />tăng mức lợi nhuận trong các hoạt động kinh doanh.<br />2. Nhiệm vụ chính của khai phá dữ liệu.<br />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ử<br />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<br />học.<br />Do đó, có thể coi mục đích của khai phá dữ liệu sẽ là mô tả (description) và dự<br />đ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<br />17<br /><br /><br />đí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<br />để 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ị<br />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<br />mẫu mô tả dữ liệu mà con người có thể hiểu được.<br />Để đạt được hai mục đích này, nhiệm vụ chính của khai phá dữ liệu bao gồm như<br />sau:<br /> 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)<br />một mẫu dữ liệu vào một trong số các lớp đã xác định.<br /> 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<br />thành một biến dự đoán có giá trị thực.<br /> Phân nhóm (Clustering): Là việc mô tả chung để tìm ra các tập xác định, các<br />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<br />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<br />thuộc nhóm kia.<br /> Tóm tắt (summarization) : Liên quan đến các phương pháp tìm kiếm một mô tả<br />tóm tắt cho một tập con dữ liệu.<br /> Mô hình hoá phụ thuộc (Dependency Modeling): Bao gồm việc tìm kiếm một mô<br />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<br />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<br />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<br />định độ mạnh của sự phụ thuộc theo một thước đo nào đó.<br /> Phát hiện sự thay đổi và lạc hướng (Change and Deviation Detection) : Tập trung<br />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<br />được đo trước đó.<br />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<br />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ữ<br />liệu khác nhau.<br />3. Các phương pháp khai phá dữ liệu<br />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<br />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<br />phân lớp, quy hồi, phân nhóm, ...<br /> Các thành phần của giải thuật khai phá dữ liệu<br />18<br /><br /><br />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<br />mô hình, đánh giá mô hình, tìm kiếm mô hình.<br /><br /><br />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<br />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<br />đượ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ữ<br />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<br />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<br />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ả<br />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<br />đ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ở<br />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.<br />Mô hình ban đầu được xác định bằng cách kết hợp biến đầu ra (phụ thuộc)<br />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<br />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<br />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<br />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<br />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ữ<br />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à<br />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ô<br />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<br />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ô<br />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<br />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.<br /><br /><br /><br />Đánh giá mô hình: Đánh giá xem một mẫu có đáp ứng được các tiêu chuẩn của<br />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<br />trên đánh giá chéo (cross validation). Đánh giá chất lượng miêu tả liên quan đến<br />độ 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<br />chuẩn thống kê và chuẩn logic đều có thể được sử dụng để đánh giá mô hình.<br />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<br />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ữ<br />liệu thử).<br /><br /><br /><br />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<br />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<br />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<br />19<br /><br /><br />đượ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<br />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<br />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<br />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<br />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<br />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<br />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<br />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<br />đơn giản không dễ đạt được.<br /><br />4. Một số bài toán chính đối với nghiên cứu về khai phá dữ liệu :<br /> 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<br />trong các lớp có sẵn.<br /> 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<br />một biến dự đoán có giá trị thực.<br /> 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<br />hạn các nhóm hay các chủ đề là mô tả đặc trưng của dữ liệu.<br /> 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<br />cho một tập con dữ liệu<br /><br />20<br /><br /><br />CHƯƠNG III<br />VĂN BẢN VÀ CÁC BÀI TOÁN XỬ LÝ VĂN BẢN<br />1. Khái niệm<br />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<br />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<br />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<br />loại dữ liệu văn bản thường được chia thành 2 loại:<br /><br /><br />Dạng phi cấu trúc (unstructured): là dạng văn bản chúng ta sử dụng hằng<br />ngày được thể hiện dưới dạng ngôn ngữ tự nhiên của con người và chúng<br />không có một cấu trúc định dạng cụ thể nào.<br /><br /><br /><br />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<br />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<br />bản để thể hiện nội dung chính của văn bản.<br /><br />2. Phương pháp biểu diễn văn bản bằng mô hình không gian vector (Vector<br />Space Model)<br />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<br />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<br />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<br /><br />21<br /><br /><br />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<br />nhiều.<br />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<br />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ị<br />là hàm f của từng thuật ngữ trong văn bản.<br /><br />Thuật ngữ 2<br /><br />văn bản 1<br />văn bản 2<br />văn bản 3<br /><br />văn bản 4<br />Thuật ngữ 1<br /><br />Hình 1: Biểu diễn các vector văn bản trong không gian chỉ có 2 thuật ngữ<br />2.1 Mô hình Boolean<br />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á<br />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<br />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<br />bản đó.<br />Mô hình Boolean được định nghĩa như sau:<br />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<br />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<br />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.<br />Mô hình Boolean là mô hình đơn giản nhất được xác định như sau[1]:<br />1 nÕu ti cã mÆt trong d j<br />wij = <br />0 nÕu ngîc l¹i<br />2.2 Mô hình tần suất<br />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<br />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<br />toàn bộ cơ sở dữ liệu.<br />22<br /><br /><br />a. Phương pháp dựa trên tần số thuật ngữ (TF – Term Frequency)<br />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<br />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<br />tính bởi một trong ba công thức:<br />1. wij = fij<br />2. wij = 1 + log(fij)<br />3. wij =<br /><br />f ij<br /><br />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<br />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ì<br />đ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<br />thuật ngữ ti mang nhiều thông tin trong văn bản dj.<br />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<br />bản đang xét chủ yếu liên quan đến lĩnh vực tin học.<br />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à”<br />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<br />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<br />phục được nhược điểm của phương pháp TF, đó là phương pháp IDF.<br />b. Phương pháp dựa trên nghịch đảo tần số văn bản (IDF – Inverse Document<br />Frequency)<br />Trong phương pháp này, giá trị wij được tính theo công thức sau:<br /> m<br />log = log(m) − log(hi ) nÕu thuËt ng t i xuÊt hiÖn trong tµi liÖu d j<br />wij =  hi<br />0 nÕu ngîc l¹i<br /><br />ở đó 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.<br />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ữ<br />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ó<br />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<br />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ó<br />càng lớn.<br />c. Phương pháp TF × IDF<br />23<br /><br /><br />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<br />trận trọng số được tính như sau:<br /><br />m<br />[1 + log( f ij )] log  nÕu hij ≥ 1<br />wij = <br /> hi <br />0 nÕu ngîc l¹i<br /><br />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ố<br />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<br />thuật ngữ ti trong toàn bộ cơ sở dữ liệu.<br />2.3<br /><br />Phương pháp xử lý vector thưa<br />Theo mô hình vector chuẩn, việc xử lý các phép toán trên vector sẽ phụ thuộc<br />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à<br />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à<br />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<br />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<br />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<br />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à<br />xử lý trên các vector chuẩn.<br />Các điều kiện để có thể áp dụng phương pháp vector thưa:<br />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<br />với số thuật ngữ trong cơ sở dữ liệu.<br />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<br />xử lý cơ bản là nhỏ nhất. Thường số vector bị tác động này được quy định tối<br />đa là 3 hoặc 4.<br />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<br />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<br />khi đó, số lượng thuật ngữ có trong từ điển có thể lên đến con số 100,000 từ. Đây<br />chính là điều kiện để áp dụng phương pháp vector thưa.<br />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<br />quá trình xử lý văn bản.<br />Một ví dụ biểu diễn vector thưa từ các vector chuẩn.<br /> Đối với vector chuẩn:<br />24<br /><br /><br />wij<br /><br />Máy tính<br /><br />Internet<br /><br />Thịt gà<br /><br />Quần bò<br /><br />Cỏ<br /><br />Lông<br />cừu<br /><br />d0(CNTT)<br /><br />2<br /><br />3<br /><br />0<br /><br />0<br /><br />0<br /><br />0<br /><br />d1(Nông nghiệp)<br /><br />0<br /><br />0<br /><br />4<br /><br />0<br /><br />1<br /><br />1<br /><br />d2(Công nghiệp)<br /><br />0<br /><br />0<br /><br />0<br /><br />6<br /><br />0<br /><br />2<br /><br />d0 = (2, 3, 0, 0, 0, 0)<br />d1 = (0, 0, 4, 0, 1, 1)<br />d2 = (0, 0, 0, 6, 0, 2)<br /> Đối với vector thưa:<br />d0 = ((1, 2), (2, 3))<br />d1 = ((3,4), (5,1), (6,1))<br />d2 = ((4,6), (6,2))<br />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ử<br />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ữ<br />đó. 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ó<br />trọng số 2.<br /><br />3. Các bài toán xử lý văn bản không có cấu trúc<br />3.1 Bài toán phân loại văn bản (Text Clustering)<br />3.1.1 Giới thiệu<br />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<br />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<br />chủ đề phù hợp nhất với văn bản đó.<br />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ủ<br />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ẽ<br />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<br />dựng các công cụ phân loại văn bản một cách tự động.<br />Để 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<br />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<br />25<br /><br /><br /></div> <div class="vf_link_relate"> <ul> <p class="vf_doc_relate">Tài liệu liên quan</p> <li><h2><a gtm-element="GTM_Click_Text_Click_Suggest" gtm-label="GTM_Text_Click_Suggest" target="_blank" href="https://text.123doc.org/document/83998-ky-thuat-mang-noron-va-giai-thuat-di-truyen-trong-khai-pha-du-lieu-va-thu-nghiem-ung-dung.htm" title="Kỹ thuật mạng Nơron và giải thuật di truyền trong khai phá dữ liệu và thử nghiệm ứng dụng">Kỹ thuật mạng Nơron và giải thuật di truyền trong khai phá dữ liệu và thử nghiệm ứng dụng</a></h2></li> <li><h2><a gtm-element="GTM_Click_Text_Click_Suggest" gtm-label="GTM_Text_Click_Suggest" target="_blank" href="https://text.123doc.org/document/103211-tim-hieu-va-xay-dung-ung-dung-web-sieu-thi-truc-tuyen-voi-asp-net-mvc.htm" title="Tìm hiểu và xây dựng ứng dụng web siêu thị trực tuyến với asp.net mvc">Tìm hiểu và xây dựng ứng dụng web siêu thị trực tuyến với asp.net mvc</a></h2></li> <li><h2><a gtm-element="GTM_Click_Text_Click_Suggest" gtm-label="GTM_Text_Click_Suggest" target="_blank" href="https://text.123doc.org/document/123960-nghien-cuu-va-xay-dung-thu-nghiem-voi-3d-engine.htm" title="Nghiên cứu và xây dựng thử nghiệm với 3d engine">Nghiên cứu và xây dựng thử nghiệm với 3d engine</a></h2></li> <li><h2><a gtm-element="GTM_Click_Text_Click_Suggest" gtm-label="GTM_Text_Click_Suggest" target="_blank" href="https://text.123doc.org/document/140712-tim-hieu-mo-hinh-va-ngon-ngu-dac-ta-mo-hinh-dong-cong-viec-ung-dung-trong-thiet-ke-quy-trinh-cac-nhiep-vu-quan-ly-dao-tao-va-xay-dung-ung-dung-thu-nghiem-ket-hop-voi-cong-nghe-soa.htm" title="Tìm hiểu mô hình và ngôn ngữ đặc tả mô hình dòng công việc, ứng dụng trong thiết kế quy trình các nhiệp vụ quản lý đào tạo và xây dựng ứng dụng thử nghiệm kết hợp với công nghệ SOA">Tìm hiểu mô hình và ngôn ngữ đặc tả mô hình dòng công việc, ứng dụng trong thiết kế quy trình các nhiệp vụ quản lý đào tạo và xây dựng ứng dụng thử nghiệm kết hợp với công nghệ SOA</a></h2></li> <li><h2><a gtm-element="GTM_Click_Text_Click_Suggest" gtm-label="GTM_Text_Click_Suggest" target="_blank" href="https://text.123doc.org/document/195429-xay-dung-quy-trinh-phat-hien-escherichia-coli-trong-thuc-pham-bang-phuong-phap-pcr-polumerase-chain-reaction-va-thu-nghiem-ung-dung.htm" title="Xây dựng Quy trình phát hiện Escherichia Coli trong thực phẩm bằng phương pháp PCR(Polumerase Chain Reaction) và thử nghiệm ứng dụng">Xây dựng Quy trình phát hiện Escherichia Coli trong thực phẩm bằng phương pháp PCR(Polumerase Chain Reaction) và thử nghiệm ứng dụng</a></h2></li> <li><h2><a gtm-element="GTM_Click_Text_Click_Suggest" gtm-label="GTM_Text_Click_Suggest" target="_blank" href="https://123doc.org/document/292010-nghien-cuu-tim-hieu-va-xay-dung-ung-dung-voi-semantic-web.htm" title="nghiên cứu, tìm hiểu và xây dựng ứng dụng với SEMANTIC WEB">nghiên cứu, tìm hiểu và xây dựng ứng dụng với SEMANTIC WEB</a></h2></li> <li><h2><a gtm-element="GTM_Click_Text_Click_Suggest" gtm-label="GTM_Text_Click_Suggest" target="_blank" href="https://123doc.org/document/292175-nghien-cuu-va-xay-dung-thu-nghiem-3g-engine.htm" title="nghiên cứu và xây dựng thử nghiệm 3G Engine">nghiên cứu và xây dựng thử nghiệm 3G Engine</a></h2></li> <li><h2><a gtm-element="GTM_Click_Text_Click_Suggest" gtm-label="GTM_Text_Click_Suggest" target="_blank" href="https://123doc.org/document/292185-tim-hieu-cac-dich-vu-web-cho-ung-dung-gis-va-xay-dung-ung-dung-minh-hoa-khai-thac-dich-vu.htm" title="tìm hiểu các dịch vụ WEB cho ứng dụng GIS và xây dựng ứng dụng minh họa khai thác dịch vụ">tìm hiểu các dịch vụ WEB cho ứng dụng GIS và xây dựng ứng dụng minh họa khai thác dịch vụ</a></h2></li> <li><h2><a gtm-element="GTM_Click_Text_Click_Suggest" gtm-label="GTM_Text_Click_Suggest" target="_blank" href="https://123doc.org/document/315831-nghien-cuu-xay-dung-thang-dinh-duong-khoang-tren-la-va-buoc-dau-thu-nghiem-bon-phan-theo-chuan-doan-dinh-duong-cho-ca-phe-voi-kinh-doanh-tai-dac-lac.htm" title="NGHIÊN CỨU XÂY DỰNG THANG DINH DƯỠNG KHOÁNG TRÊN LÁ VÀ BƯỚC ĐẦU THỬ NGHIỆM BÓN PHÂN THEO CHUẨN ĐOÁN DINH DƯỠNG CHO CÀ PHÊ VỚI KINH DOANH TẠI ĐĂC LẮC">NGHIÊN CỨU XÂY DỰNG THANG DINH DƯỠNG KHOÁNG TRÊN LÁ VÀ BƯỚC ĐẦU THỬ NGHIỆM BÓN PHÂN THEO CHUẨN ĐOÁN DINH DƯỠNG CHO CÀ PHÊ VỚI KINH DOANH TẠI ĐĂC LẮC</a></h2></li> <li><h2><a gtm-element="GTM_Click_Text_Click_Suggest" gtm-label="GTM_Text_Click_Suggest" target="_blank" href="https://123doc.org/document/326165-lnghien-cuu-may-tim-kiem-va-xay-dung-thu-nghiem-mo-phong-may-tim-kiem.htm" title="LNGHIÊN CỨU MÁY TÌM KIẾM VÀ XÂY DỰNG THỬ NGHIỆM MÔ PHỎNG MÁY TÌM KIẾM">LNGHIÊN CỨU MÁY TÌM KIẾM VÀ XÂY DỰNG THỬ NGHIỆM MÔ PHỎNG MÁY TÌM KIẾM</a></h2></li> </ul> </div> </div> <div class="qc-123doc-detail-right"> <ins class="adsbygoogle" style="display:inline-block;width:300px;height:600px" data-ad-client="ca-pub-2979760623205174" data-ad-slot="8377321249"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script></div> <div class="qc-123doc-detail-right" style="margin-top: 15px;"> </div> </div> <div class="background-transparent"></div> <div class="ad_bottom_right_screen"> <div class="close_ad">x</div> <a href="http://bit.ly/2go2J55" target="_blank"> <img style="width: 300px" src="https://media.store123doc.com/images/master/ads_lead/ieq1508496857.png"> </a> </div> <div class="popupText" gtm-element="GTM_Click_popup_text_redirect_document" gtm-label="GTM_Click_popup_text_redirect_document" onclick="window.open('https://123doc.org//document/3587715-web-mining-va-xay-dung-thu-nghiem-ung-dung-web-clustering.htm', '_blank');hide_popup()"> <p><img src="https://media.store123doc.com/images/email/icon_123doc.png"></p> <div class="popupText_body"> <h3>Tài liệu bạn tìm kiếm đã sẵn sàng tải về</h3> <div class="text_document"> <a> <i class="icon i_type_doc i_type_doc1"></i> <label>(1.26 MB) - Web mining và xây dựng thử nghiệm ứng dụng web clustering </label> </a> </div> <p class="p_download"><a class="popup_txt_btn_download"><i class="icon_download"></i>Tải bản đầy đủ ngay</a></p> </div> <a class="close_btn">×</a> </div> <script defer> /*show ad*/ setTimeout(function () { $('.ad_bottom_right_screen').addClass('show_ad_bottom_right_screen'); $('.close_ad').click(function () { $('.ad_bottom_right_screen').removeClass('show_ad_bottom_right_screen'); }); },3000); </script> <div id="fb-root"></div> <script> var loadDeferredStyles = function() { var addStylesNode = document.getElementById("deferred-styles"); var replacement = document.createElement("div"); var addStyle = addStylesNode.textContent; replacement.innerHTML = addStyle; document.body.appendChild(replacement); addStylesNode.parentElement.removeChild(addStylesNode); }; var raf = requestAnimationFrame || mozRequestAnimationFrame || webkitRequestAnimationFrame || msRequestAnimationFrame; if (raf) raf(function() { window.setTimeout(loadDeferredStyles, 0); }); else window.addEventListener('load', loadDeferredStyles); </script> </body> </html> <script defer>(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/vi_VN/sdk.js#xfbml=1&version=v2.5"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); </script> <script src="https://apis.google.com/js/platform.js" async defer></script> <script defer> var showPopup = 1; </script> <script defer type="text/javascript" src="https://static.store123doc.com/static_v2/common/js/jquery-1.10.2.min.js"></script> <script defer type="text/javascript" src="https://static.store123doc.com/static_v2/text/js/popup_2.js?v=1003"></script>