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

Áp dụng kỹ thuật phân cụm dữ liệu trong phân cụm kết quả tìm kiếm docx

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 (785.34 KB, 10 trang )



ĐỀ ÁN

Áp dụng kỹ thuật phân
cụm dữ liệu trong phân
cụm kết quả tìm kiếm


1
Áp dụng kỹ thuật phân cụm dữ liệu trong phân cụm kết quả tìm kiếm
The Application of data clustering technique in the
result classification data searching
Vũ Đức Thi
1
, Hoàng Văn Dũng
2

Abstract
Nowadays, searching information with big data is one of main subjects for
data mining. In this paper we would like to introduce an approach to search and
classify web documents by using data clustering technique, we solve the
mathematical problem according to three main phases: search Web documents,
data preprocessing, presenting data with vector models and cluster web
documents.
Từ khóa: data mining, phân cụm dữ liệu, phân cụm Web…
1. Giới thiệu
Ngày nay, nhờ sự cải tiến không ngừng của các Search engine về cả chức
năng tìm kiếm lẫn giao diện đã giúp cho người sử dụng dễ dàng hơn trong việc
tìm kiếm thông tin trên web. Tuy nhiên, người sử dụng thường vẫn phải duyệt
qua hàng trăm thậm chí hàng ngàn trang Web mới có thể tìm kiếm được thứ mà


họ cần. Theo tâm lý chung, người dùng chỉ xem qua vài chục kết quả đầu tiên,
họ thiếu kiên nhẫn và không đủ thời gian để xem qua tất cả kết quả mà các
search engine trả về. Nhằm giải quyết vấn đề này, ta có thể nhóm các kết quả
tìm kiếm thành các nhóm theo từng chủ đề, khi đó người dùng có thể bỏ qua các
nhóm mà họ không quan tâm để tìm đến nhóm chủ đề quan tâm. Điều này sẽ
giúp cho người dùng thực hiện công việc tìm kiếm một cách hiệu quả hơn. Tuy
nhiên vấn đề phân cụm tài liệu Web và chọn chủ đề thích hợp để nó có thể mô tả
được nội dung của các trang là một vấn đề không đơn giản. Trong bài báo này,
ta sẽ xem xét khía cạnh sử dụng kỹ thuật phân cụm để phân nhóm tài liệu Web
dựa trên kho dữ liệu đã được tìm kiếm và lưu trữ.


1
Viện CNTT, Viện Khoa học - Công nghệ Việt Nam
2
Trường ĐH Quảng Bình


2
2. Hướng tiếp cận bằng kỹ thuật phân cụm
Hiện nay, để xác định mức độ quan trọng của một trang web chúng ta có
nhiều cách đánh giá như PageRank, HITS, …Tuy nhiên, các phương pháp đánh
giá này chủ yếu đều dựa vào các liên kết để xác định trọng số cho các trang.
Ta có thể tiếp cận cách đánh giá mức độ quan trọng theo một hướng khác
đó là dựa vào nội dung của các tài liệu để xác định trọng số cho trang, nếu các
tài liệu "tương tự" về mặt nội dung thì sẽ có mức độ quan trọng tương đương và
sẽ thuộc về cùng một nhóm.
Giả sử S là tập các trang web đang xem xét, tìm trong tập S các trang chứa
nội dung truy vấn ta được tập R. Sử dụng thuật toán phân cụm để phân tập R
thành k cụm (k xác định) sao cho các phần tử trong cụm là “tương tự” nhau nhất

và các phần tử ở các cụm khác nhau thì “phi tương tự” với nhau.
Từ tập S-R, ta tìm cách đưa các phần tử này vào một trong k cụm đã được
thiết lập ở trên. Những phần tử nào “tương tự” với trọng tâm cụm (theo một
ngưỡng xác định nào đó) thì đưa vào cụm này, những phần tử không thỏa mãn
xem như không phù hợp với truy vấn và loại bỏ nó khỏi tập kết quả. Kế tiếp, ta
đánh trọng số cho các cụm và các trang trong tập kết quả theo thuật toán sau:
Đầu vào: tập dữ liệu D chứa các trang gồm k cụm và k trọng tâm
Đầu ra: trọng số của các trang
Phương pháp
B1: Mỗi cụm dữ liệu thứ m và trọng tâm C
m
ta gán cho nó một trọng số ts
m
.

Với các trọng tâm C
i
, C
j
bất kỳ ta luôn có ts
i
>ts
j
nếu t
i
tương tự với truy vấn
hơn t
j
.
B2: Với mỗi trang p trong cụm m ta xác định trọng số trang là pw. Với mọi

p
i
, p
j
bất kỳ ta luôn có pw
i
>pw
j
nếu p
i
gần trọng tâm hơn p
j
.
Hình 1. Thuật toán đánh trọng số cụm và trang
Như vậy, theo cách tiếp cận này sẽ giải quyết được các vấn đề sau:
+ Kết quả tìm kiếm sẽ được phân thành các cụm theo các chủ đề khác nhau,
tùy vào yêu cầu cụ thể người dùng sẽ xác định chủ đề mà họ cần để tìm kiếm.


3
+ Quá trình tìm kiếm và xác định trọng số cho các trang chủ yếu tập trung
vào nội dung của trang hơn là dựa vào các liên kết trang.
+ Giải quyết được vấn đề từ/cụm từ đồng nghĩa trong truy vấn.
+ Có thể kết hợp phương pháp phân cụm trong lĩnh vực khai phá dữ liệu
với các phương pháp tìm kiếm đã có nhằm nâng cao chất lượng tìm kiếm.
Hiện tại, có một số thuật toán phân cụm dữ liệu thường được sử dụng
trong phân cụm văn bản như thuật toán phân cụm phân hoạch (k-means, PAM,
CLARA), thuật toán phân cụm phân cấp (BIRCH, STC), Trong thực tế phân
cụm theo nội dung tài liệu Web, một tài liệu có thể thuộc vào nhiều nhóm chủ đề
khác nhau. Để giải quyết vấn đề này ta có thể sử dụng thuật toán phân cụm theo

cách tiếp cận mờ.
3. Quá trình tìm kiếm và phân cụm tài liệu
Về cơ bản, quá trình phân cụm kết quả tìm kiếm sẽ diễn ra theo các bước
chính được thể hiện như Hình 2 [14]:
- Tìm kiếm các trang Web từ các Website thỏa mãn nội dung truy vấn.
- Trích rút thông tin mô tả từ các trang và lưu trữ nó cùng với các URL
tương ứng.
- Sử dụng kỹ thuật phân cụm dữ liệu để phân cụm tự động các trang Web
thành các cụm, sao cho các trang trong cụm “tương tự” về nội dung với nhau
hơn các trang ngoài cụm.

Hình 2. Các bước phân cụm kết quả tìm kiếm trên Web
Dữ liệu web
Tìm kiếm và
trích rút dữ liệu
Tiền xử lý
Biểu diễn
dữ liệu
Phân cụm và xác
định trọng số trang
Biểu diễn
kết quả



4
3.1. Tìm kiếm dữ liệu trên Web
Nhiệm vụ chủ yếu của giai đoạn này là dựa vào tập từ khóa tìm kiếm để
tìm kiếm và trả về tập gồm toàn văn tài liệu, tiêu đề, mô tả tóm tắt, URL,…
tương ứng với các trang đó.

Nhằm nâng cao tốc độ xử lý, ta tiến hành tìm kiếm và lưu trữ các tài liệu
này trong kho dữ liệu để sử dụng cho quá trình tìm kiếm lần sau (tương tự như
các Search Engine Yahoo, Google,…). Mỗi phần tử gồm toàn văn tài liệu, tiêu
đề, đoạn mô tả nội dung, URL,…
3.2. Tiền xử lý dữ liệu
Quá trình làm sạch dữ liệu và chuyển dịch các tài liệu thành các dạng biểu
diễn dữ liệu thích hợp cho quá trình xử lý.
Giai đoạn này bao gồm các công việc như sau: Chuẩn hóa văn bản, xóa bỏ
các từ dừng, kết hợp các từ có cùng từ gốc,
3.2.1. Chuẩn hóa văn bản
Đây là giai đoạn chuyển văn bản thô về dạng văn bản sao cho việc xử lý
sau này được dễ dàng, đơn giản, thuật tiện, chính xác so với việc xử lý trực tiếp
trên văn bản thô mà ảnh hưởng ít đến kết quả xử lý. Bao gồm:
+ Xóa các thẻ HTML và các loại thẻ khác để dễ dàng trích ra các từ/cụm từ
phục vụ cho quá trình biểu diễn.
+ Chuyển các ký tự hoa thành các ký tự thường.
+ Xóa bỏ các dấu câu, xoá các ký tự trắng dư thừa, tab, ký tự xuống dòng,
3.2.2. Xóa bỏ các từ dừng
Trong văn bản có những từ mang ít thông tin trong quá trình xử lý, những
từ có tần số xuất hiện rất thấp, những từ xuất hiện với tần số lớn nhưng không
quan trọng cho quá trình xử lý đều được loại bỏ. Theo một số nghiên cứu gần
đây [2] cho thấy việc loại bỏ các từ dừng có thể giảm bởi được khoảng 20-30%
tổng số từ trong văn bản.
Có rất nhiều từ xuất hiện với tần số lớn nhưng nó không hữu ích cho quá
trình xử lý. Ví dụ trong tiếng Anh các từ như a, an, the, of, and, to, on, by,
trong tiếng Việt như các từ “thì”, “mà”, “là”, “và”, “hoặc”, những từ xuất hiện
với tần số quá lớn cũng sẽ được loại bỏ.


5

Để đơn giản trong ứng dụng thực tế, ta có thể tổ chức thành một danh sách
các từ dừng để xoá bỏ nó và sử dụng định luật Zipf để xóa bỏ các từ có tần số
xuất hiện thấp hoặc quá cao.
3.2.3. Kết hợp các từ có cùng gốc
Hầu hết trong các ngôn ngữ đều có rất nhiều từ có chung nguồn gốc với
nhau, chúng mang ý nghĩa tương tự nhau. Để giảm bởt số chiều trong biểu diễn
văn bản, ta sẽ kết hợp các từ có cùng gốc thành một từ. Theo một số nghiên
cứu[2] việc kết hợp này sẽ giảm được khoảng 40-50% kích thước chiều trong
biểu diễn văn bản.
Ví dụ trong tiếng Anh các từ user, users, used, using có cùng từ gốc và sẽ
được quy về là use; các từ engineering, engineered, engineer có cùng từ gốc sẽ
được quy về là engineer.
Ví dụ xử lý từ gốc trong tiếng Anh:
- Nếu một từ kết thúc bằng “ing” thì xóa “ing”, ngoại trừ trường hợp sau
khi xóa còn lại một ký tự hoặc còn lại “th”.
- Nếu một từ kết thúc bằng “ies” nhưng không phải là “eies” hoặc “aies” thì
thay thế “ies” bằng “y”
- Nếu một từ kết thúc bằng “es” thì bỏ “s”.
- Nếu một từ kết thúc bằng "s" và đứng trước nó là một phụ âm khác “s” thì
xóa “s”.
- Nếu một từ kết thúc bằng “ed”, nếu trước nó là một phụ âm thì xóa “ed”
ngoại trừ sau khi xóa từ chỉ còn lại một ký tự, nếu đứng trước là nguyên âm “i”
thì đổi “ied” thành “y”.
3.3. Biểu diễn tài liệu
Đây là giai đoạn số hoá và đưa văn bản về dạng thuận lợi cho quá trình xử
lý, ở đây ta có thể sử dụng mô hình vector để biểu diễn tài liệu.
3.3.1. Xây dựng từ điển
Việc xây dựng từ điển là rất quan trọng trong quá trình vector hóa văn bản,
từ điển sẽ gồm các từ/cụm từ riêng biệt trong toàn bộ tập tài liệu. Có thể tổ chức



6
lưu trữ từ điển trong một bảng hai chiều gồm các từ/cụm từ cùng với chỉ số của
nó trong từ điển và được sắp xếp theo thứ tự.
Một số bài báo đề xuất [14] để nâng cao chất lượng phân cụm dữ liệu cần
xem xét đến việc xử lý các cụm từ trong các ngữ cảnh khác nhau. Theo đề xuất
của Zemir [10][14] nên xây dựng từ điển có 500 phần tử là phù hợp.
3.3.2. Tách từ
Tách từ là công việc hết sức quan trọng trong biểu diễn văn bản, quá trình
tách từ, vector hóa tài liệu là quá trình tìm kiếm các từ và thay thế nó bởi chỉ số
của từ đó trong từ điển.
3.3.3. Vector hoá văn bản
Ở đây ta có thể sử dụng một trong các mô hình toán học TF, IDF, TF-
IDF, để biểu diễn văn bản.
Chúng ta sử dụng mảng W (trọng số) hai chiều có kích thước m x n, với n
là số các tài liệu, m là số các thuật ngữ trong từ điển (số chiều), hàng thứ j là một
vector biểu diễn tài liệu thứ j trong cơ sở dữ liệu, cột thứ i là thuật ngữ thứ i
trong từ điển. W
ij
là giá trị trọng số của thuật ngữ i đối với tài liệu j.
Giai đoạn này thực hiện thống kê tần số thuật ngữ t
i
xuất hiện trong tài liệu d
j

và số các tài liệu chứa t
i
. Từ đó xây dựng bảng trọng số của ma trận W theo công
thức sau:
Công thức tính trọng số theo mô hình IF-IDF:


Trong đó:
tf
ij
là tần số xuất hiện của t
i
trong tài liệu d
j

idf
ij
là tần số văn bản nghịch đảo của thuật ngữ t
i
.
h
i
là số các tài liệu mà t
i
xuất hiện.
n là tổng số tài liệu.
W
ij
=
)log()]log(1[
i
ijijij
h
n
tfidftf 
nếu t

i
 d
j

0 nếu ngược lại (t
i
 d
j
)


7
3.4. Phân cụm tài liệu
Sau khi đã tìm kiếm, trích rút dữ liệu, tiền xử lý và biểu diễn văn bản ta sử
dụng kỹ thuật phân cụm để phân cụm tài liệu.
Đầu vào: Tập gồm n tài liệu và k cụm.
Đầu ra: Các cụm C
i
(i=1, ,k) sao cho hàm tiêu chuẩn đạt giá trị cực tiểu.
Phương pháp
B1. Khởi tạo ngẫu nhiên k vector làm đối tượng trọng tâm của k cụm.
B2. Với mỗi tài liệu d
j
xác định độ tương tự của nó đối với trọng tâm của
mỗi cụm theo một trong các độ đo tương tự thường dùng (như Dice, Jaccard,
Cosine, Overlap, Euclidean, Manhattan). Xác định trọng tâm tương tự nhất cho
mỗi tài liệu và đưa tài liệu vào cụm đó.
B3. Cập nhận lại các đối tượng trọng tâm. Đối với mỗi cụm ta xác định lại
trọng tâm bằng cách xác định trung bình cộng của các vector tài liệu trong cụm đó.
B4. Lặp lại bước 2 và 3 cho đến khi trọng tâm không thay đổi.

Hình 3. Thuật toán k-means trong phân cụm nội dung tài liệu Web
Trong thuật toán k-means, chất lượng phân cụm được đánh giá thông qua
hàm tiêu chuẩn




k
i
x
i
C
mxE
i
D
1
2
)(
, trong đó x là các vector biểu diễn tài
liệu, m
i
là các trọng tâm của các cụm, k là số cụm, C
i
là cụm thứ i.
Độ phức tạp của thuật toán k-means là O((n.k.d).r).
Trong đó: n là số đối tượng dữ liệu, k là số cụm dữ liệu, d là số chiều, r là
số vòng lặp.
Sau khi phân cụm xong tài liệu, trả về kết quả là các cụm dữ liệu và các
trọng tâm tương ứng.
3.5. Biểu diễn kết quả

Sau khi phân cụm xong, ta sử dụng thuật toán ở phần trên để xác định trọng
số cho mỗi cụm và các trang trong mỗi cụm. Sau đó tiến hành biểu diễn trực
quan hoá kết quả gần gũi với người dùng, cụm nào có trọng số lớn hơn được xếp
trước; trong mỗi cụm, trang nào có trọng số lớn hơn được xếp trước trong dãy
kết quả trả về. Trong giai đoạn này cũng bao gồm công việc xác định chủ đề cho
mỗi cụm, chủ đề phải mô tả được nội dung của các trang trong cụm đó (vấn đề
này sẽ được trình bày sau).


8
4. Thực nghiệm
+ Dữ liệu thực nghiệm là các trang Web lấy từ 2 nguồn chính sau:
- Các trang được lấy tự động từ các Website trên Internet, việc tìm kiếm
được thực hiện bằng cách sử dụng Yahoo để tìm kiếm tự động, chương trình sẽ
dựa vào URL để lấy toàn văn của tài liệu đó và lưu trữ lại phục vụ cho quá trình
tìm kiếm sau này (dưa liệu gồm hơn 4000 bài về các chủ đề “data mining”, “web
mining”, “Cluster algorithm”, “Sport”).
- Tìm kiếm có chọn lọc, phần này được tiến hành lấy thủ công, nguồn dữ
liệu chủ yếu được lấy từ các Web site:




Gồm hơn 250 bài báo chủ đề “bóng đá”.
- Việc xây dựng từ điển, sau khi thống kê tần số xuất hiện của các từ trong
tập tài liệu, ta áp dụng định luật Zipf để loại bỏ những từ có tần số xuất hiện quá
cao và loại bỏ những từ có tần số quá thấp, ta thu được bộ từ điển gồm 500 từ.
Số tài liệu
Số cụm
Thời gian trung bình (giây)

Tiền xử lý và biểu
diễn văn bản
Phân cụm
tài liệu
50
10
0,206
0,957
50
15
0,206
1,156
100
10
0,353
2,518
100
15
0,353
3,709
150
10
0,515
4,553
150
15
0,515
5,834
250
10

0,824
9,756
250
15
0,824
13,375
Hình 4. Bảng đo thời gian thực hiện thuật toán phân cụm
Ta thấy rằng thời gian thực hiện thuật toán phụ vào độ lớn dữ liệu và số
cụm cần phân cụm. Ngoài ra, với thuật toán k-means còn phụ thuộc vào k trọng
tâm khởi tạo ban đầu. Nếu k trọng tâm được xác định tốt thì chất lượng và thời
gian thực hiện được cải thiện rất nhiều.


9
TÀI LIỆU THAM KHẢO
[1] Athena Vakali, Web data clustering Current research status & trends, Aristotle
University,Greece, 2004.
[2] Bing Liu, Web mining, Springer, 2007.
[3] Ho Tu Bao, Knowledge Discovery and Data Mining, 2000.
[4] Hua-Jun Zeng, Qi-Cai He, Zheng Chen, Wei-Ying Ma, Jinwen Ma, Learning to
Cluster Web Search Results, ACM, 2004.
[5] Jitian Xiao, Yanchun Zhang, Xiaohua Jia, Tianzhu Li, Measuring Similarity of
Interests for Clustering Web-Users, IEEE, 2001.
[6] Jiawei Han, Micheline Kamber, Data Mining: Concepts and Techniques,
University of Illinois at Urbana-Champaign, 1999.
[7] Lizhen Liu, Junjie Chen, Hantao Song, The research of Web Mining, IEEE, 2002
[8] Maria Rigou, Spiros Sirmakessis, and Giannis Tzimas, A Method for
Personalized Clustering in Data Intensive Web Applications, 2006.
[9] Miguel Gomes da Costa Júnior, Zhiguo Gong, Web Structure Mining: An
Introduction, IEEE, 2005.

[10] Oren Zamir and Oren Etzioni, Web document Clustering: A Feasibility
Demonstration, University of Washington, USA, ACM, 1998.
[11] Periklis Andritsos, Data Clusting Techniques, University Toronto,2002.
[12] Raghu Krishnapuram, Anupam Joshi, and Liyu Yi, A Fuzzy Relative of the K -
Medoids Algorithm with Application toWeb Document and Snippet Clustering, 2001
[13] Wang Jicheng, Huang Yuan, Wu Gangshan, and Zhang Fuyan, Web Mining:
Knowledge Discovery on the Web, IEEE, 1999.
[14] Wenyi Ni, A Survey of Web Document Clustering, Southern Methodist
University, 2004.
[15] Zifeng Cui, Baowen Xu , Weifeng Zhang, Junling Xu, Web Documents
Clustering with Interest Links, IEEE, 2005.

×