Tổng kết chương 3

Một phần của tài liệu KHAI PHÁ DỮ LIỆU WEB BẰNG KỸ THUẬT PHÂN CỤM (Trang 100 - 110)

Chương này tác giả đã trình bày một số hướng tiếp cận trong khai phá Web như khai phá dữ liệu toàn văn của tài liệu Web, khai phá cấu trúc Web, khai phá sử dụng Web và một số thuật toán đang được áp dụng trong khai phá Web.

Phần này cũng trình bày một số chức năng trong quy trình của hệ thống thực nghiệm như tìm kiếm và trích chọn dữ liệu trên Web, tiền xử lý dữ liệu, chuẩn hoá văn bản, xoá bỏ từ dừng, xây dựng từ điển, tách từ và biểu diễn văn bản, phân cụm tài liệu và đánh giá kết quả thực nghiệm.

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Luận văn đã nêu lên được những nét cơ bản về khai phá dữ liệu, khám phá tri thức và những vấn đề liên quan, kỹ thuật phân cụm dữ liệu và đi sâu vào một số phương pháp phân cụm truyền thống, phổ biến như phân cụm phân hoạch, phân cụm phân cấp, phân cụm dựa trên mật độ, phân cụm dựa trên lưới, phân cụm dựa trên mô hình và theo hướng tiếp cận mờ.

Luận văn tập trung vào một hướng nghiên cứu và phát triển mới trong khai phá dữ liệu đó là khai phá Web, một hướng đang thu hút sự quan tâm của nhiều nhà khoa học. Phần này trình bày những vấn đề về các hướng tiếp trong khai phá Web như khai phá tài liệu Web, khai phá cấu trúc Web và khai phá theo hướng sử dụng Web. Một kỹ thuật trong khai phá Web đó là phân cụm dữ liệu Web. Tác giả cũng đã trình bày một hướng tiếp cận trong việc sử dụng các kỹ thuật phân cụm trong khai phá dữ liệu Web. Đề xuất và xây dựng một chương trình thực nghiệm phân cụm tài liệu Web áp dụng trong tìm kiếm dữ liệu với thuật toán k-means dựa trên mô hình vector biểu diễn văn bản TF-IDF.

Lĩnh vực khai phá Web là một vấn đề khá mới mẽ, rất quan trọng và khó, bên cạnh những kết quả nghiên cứu đã đạt được nó đã đặt ra những thách thức lớn đối với các nhà nghiên cứu. Khai phá Web là một lĩnh vực đầy triển vọng, phức tạp và còn là vấn đề mở. Hiện chưa có một thuật toán và mô hình biểu diễn dữ liệu tối ưu trong khai phá dữ liệu Web.

Mặc dù đã cố gắng, nỗ lực hết mình song do thời gian nghiên cứu, trình độ của bản thân có hạn và điều kiện nghiên cứu còn nhiều hạn chế nên không thể tránh khỏi những khuyết thiếu và hạn chế, tác giả rất mong nhận được những góp ý, nhận xét quý báu của quý thầy cô và bạn bè để kết quả của đề tài hoàn thiện hơn.

Hướng phát triển:

- Tiếp tục nghiên cứu, đề xuất và cải tiến một số kỹ thuật mới trong phân cụm dữ liệu như phân cụm mờ, các thuật toán phân cụm song song,... nhằm nâng cao hiệu suất khai phá dữ liệu trên hệ thống dữ liệu lớn, phân tán.

- Nghiên cứu các mô hình biểu diễn và xử lý văn bản mới như mô hình mờ, mô hình tập thô,... nhằm nâng cao hiệu quả xử lý và khai phá dữ liệu đặc biệt là xử lý dữ liệu trong môi trường Web..

- Áp dụng các kỹ thuật KPDL vào lĩnh vực thương mại điện tử, chính phủ điện tử,...

PHỤ LỤC

Chương trình được viết trên nền .NET Framework 2.0 và ngôn ngữ lập trình Visual Basic 2005, cơ sở dữ liệu được lưu trữ và quản lý bằng SQL Server 2005. Sau đây là một số mã lệnh và giao diện xử lý của chương trình.

Một số modul xử lý trong cương trình

1. Chuẩn hoá xâu văn bản

Private Function Chuanhoa(ByVal S As String) As String

For i = 1 To 9 S = S.Replace(Str(i) + ".", Str(i)) S = S.Replace(Str(i) + ",", Str(i)) Next i = 0 Do While i < S.Length - 1

If (Not Char.IsLetterOrDigit(S(i))) And (S(i) <> " ")

Then S = S.Remove(i, 1) S = S.Insert(i, " ") Else i = i + 1 End If Loop i = 0 Do While i < S.Length - 1

If ((Char.IsDigit(S(i))) And (Not Char.IsDigit(S(i +

1)))) Or ((Not Char.IsDigit(S(i))) And

(Char.IsDigit(S(i + 1)))) Then

S = S.Insert(i + 1, " ") i = i + 1 End If i = i + 1 Loop S = S.ToLower(VN) i = 0 Do While i < S.Length - 2

If S(i) + S(i + 1) = " " Then

S = S.Remove(i, 1) Else i = i + 1 End If Loop S = S.Trim Return S End Function

2. Xoá từ dừng

Private Function XoaTuDung(ByVal S As String) As String

For i = 0 To ListTD.Count - 1

S = S.Replace(" " + ListTD.Item(i) + " ", " ") Next i

i = 0

Do While i < S.Length (adsbygoogle = window.adsbygoogle || []).push({});

Do While (i < S.Length - 1) And (S(i) = " ") i = i + 1

Loop

j = i + 1

Kt = False

Do While (j < S.Length) And (Not Kt) If S(j) <> " " Then j = j + 1 Else Kt = True End If Loop If i = j - 1 Then S = S.Remove(i, 1) End If i = j Loop S = S.Trim() Return S End Function 3. Xây dựng từ điển

Private Sub XayDungTuDien(ByVal Doc As ArrayList) For Each S In Doc

list = New ArrayList(S.Split(" ")) For Each ST In list

If Trim(ST) <> "" Then i = TuDien.IndexOf(ST) If (i < 0) Then TuDien.Add(Trim(ST)) TuDienTS.Add(1) Else TuDienTS(i) = TuDienTS(i) + 1 End If End If Next Next

'Sap xep theo giam dan cua tan so tu trong tap Van ban

If (TuDien(0) = " ") Or (TuDien(0) = "") Then

TuDien.RemoveAt(0)

QuikSort(0, TuDien.Count - 1, TuDien, TuDienTS)

Do While (TuDien.Count>500) And (TuDienTS(0) > Int(NumDoc * (MaxWork / 100)))

TuDien.RemoveAt(0) TuDienTS.RemoveAt(0) Loop

Do While (TuDien.Count > MaxWork) TuDien.RemoveAt(MaxWork)

TuDienTS.RemoveAt(MaxWork) Loop

End Sub

4. Vector hoá văn bản

Private Sub VectorVB(ByVal Collect As ArrayList)

Vector = Array.CreateInstance(GetType(Byte), NumDoc,

NumWord) i = 0

For Each S In Collect

List = New ArrayList(S.Split(" ")) For Each ST In List

If Trim(ST) <> "" Then k = TuDien.IndexOf(ST) If k > 0 Then Vector(i, k) = Vector(i, k) + 1 End If End If Next i = i + 1 Next End Sub 5. Xây dựng bảng trọng số

Private Sub XDTrongSo(ByVal Vector As Array)

Dim thongke(NumWord) As Integer

For i = 0 To NumWord - 1 thongke(i) = 0 For j = 0 To NumDoc - 1 If Vector(j, i) > 0 Then thongke(i) = thongke(i) + 1 End If Next Next

W = Array.CreateInstance(GetType(Double), NumDoc, NumWord)

For i = 0 To NumDoc - 1

For j = 0 To NumWord - 1 (adsbygoogle = window.adsbygoogle || []).push({});

If Vector(i, j) > 0 Then

j)))*(Math.Log(NumDoc)-Math.Log(thongke(j))) Else W(i, j) = 0.0 End If Next Next End Sub

6. Thuật toán k-means

Private Sub PhanCumKMean() Randomize(NumDoc)

'Buoc 1: KHOI TAO CAC TRONG TAM

i = 0

Do While i < k

r = CInt(Int(NumDoc * Rnd()))

If Not rnum.Contains(r) Then

rnum.Add(r) For j = 0 To NumWord - 1 C(i, j) = W(r, j) Next i = i + 1 End If Loop For i = 0 To NumDoc - 1 Cum(i) = 0 Next check1 = True Do While check1

'Buoc 2:Tinh toan khoang cach va xac dinh cum cho cac pt.

For i = 0 To NumDoc - 1

min = Double.MaxValue

Cum(i) = 0

For j = 0 To k - 1

dis = 0

For m = 0 To NumWord - 1

temp = W(i, m) - C(j, m)

dis = dis + Math.Abs(temp * temp)

Next

dis = Math.Sqrt(dis) If dis < min Then

min = dis Cum(i) = j

End If

Next

Next

'Buoc 3: Cap nhat lai Trong tam

check1 = False

For i = 0 To k - 1 'Cap nhat lan luot Trong tam tung cum

n = 0 sum = 0 For m = 0 To NumDoc - 1 If Cum(m) = i Then sum = sum + W(m, j) n = n + 1 End If Next sum = sum / n

If C(i, j) <> sumThen (adsbygoogle = window.adsbygoogle || []).push({});

C(i, j) = sum check1 = True End If Next Next Loop End Sub

Một số giao diện chương trình

1. Công cụ tìm kiếm tự động tài liệu trên Internet và lưu trữ vào CSDL

3. Trích chọn dữ liệu, tiền xử lý, xây dựng từ điển và vector hóa văn bản

TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt

[1] Cao Chính Nghĩa, “Một số vấn đề về phân cụm dữ liệu”, Luận văn thạc sĩ, Trường Đại học Công nghệ, ĐH Quốc gia Hà Nội, 2006.

[2] Hoàng Hải Xanh, “Về các kỹ thuật phân cụm dữ liệu trong data mining”, luận văn thạc sĩ, Trường ĐH Quốc Gia Hà Nội, 2005

[3] Hoàng Thị Mai, “Khai phá dữ liệu bằng phương pháp phân cụm dữ liệu”, Luận văn thạc sĩ, Trường ĐHSP Hà Nội, 2006.

Tài liệu tiếng Anh

[4] Athena Vakali, Web data clustering Current research status & trends, Aristotle University,Greece, 2004.

[5] Bing Liu, Web mining, Springer, 2007.

[6] Brij M. Masand, Myra Spiliopoulou, Jaideep Srivastava, Osmar R. Zaiane,

Web Mining for Usage Patterns & Profiles, ACM, 2002.

[7] Filippo Geraci, Marco Pellegrini, Paolo Pisati, and Fabrizio Sebastiani, A scalable algorithm for high-quality clustering of Web Snippets, Italy, ACM, 2006. [8] Giordano Adami, Paolo Avesani, Diego Sona, Clustering Documents in a Web Directory, ACM, 2003.

[9] Hiroyuki Kawano, Applications of Web mining- from Web search engine to P2P filtering, IEEE, 2004.

[10] Ho Tu Bao, Knowledge Discovery and Data Mining, 2000.

[11] Hua-Jun Zeng, Qi-Cai He, Zheng Chen, Wei-Ying Ma, Jinwen Ma,

Learning to Cluster Web Search Results, ACM, 2004.

[12] Jitian Xiao, Yanchun Zhang, Xiaohua Jia, Tianzhu Li, Measuring Similarity of Interests for Clustering Web-Users, IEEE, 2001.

[13] Jiawei Han, Micheline Kamber, Data Mining: Concepts and Techniques, University of Illinois at Urbana-Champaign, 1999.

[14] Khoo Khyou Bun, “Topic Trend Detection and Mining in World Wide Web”, A thesis for the degree of PhD, Japan, 2004.

[15] LIU Jian-guo, HUANG Zheng-hong , WU Wei-ping, Web Mining for Electronic Business Application, IEEE, 2003.

[17] Maria Rigou, Spiros Sirmakessis, and Giannis Tzimas, A Method for Personalized Clustering in Data Intensive Web Applications, 2006.

[18] Miguel Gomes da Costa Júnior, Zhiguo Gong, Web Structure Mining: An Introduction, IEEE, 2005.

[19] Oren Zamir and Oren Etzioni, Web document Clustering: A Feasibility Demonstration, University of Washington, USA, ACM, 1998.

[20] Pawan Lingras, Rough Set Clustering for Web mining, IEEE, 2002. [21] Periklis Andritsos, Data Clusting Techniques, University Toronto,2002. [22] R. Cooley, B. Mobasher, and J. Srivastava, Web mining: Information and Pattern Discovery on the World Wide Web, University of Minnesota, USA, 1998. [23] Raghu Krishnapuram, Anupam Joshi, and Liyu Yi, A Fuzzy Relative of the K -Medoids Algorithm with Application toWeb Document and Snippet Clustering, 2001

[24] Raghu Krishnapuram,Anupam Joshi, Olfa Nasraoui, and Liyu Yi, Low- Complexity Fuzzy Relational Clustering Algorithms for Web Mining, IEEE, 2001. [25] Raymond and Hendrik, Web Mining Research: A Survey, ACM, 2000

[26] Rui Wu, Wansheng Tang,Ruiqing Zhao, An Efficient Algorithm for Fuzzy Web-Mining, IEEE, 2004.

[27] T.A.Runkler, J.C.Bezdek, Web mining with relational clustering, ELSEVIER, 2002.

[28] Tsau Young Lin, I-Jen Chiang , “A simplicial complex, a hypergraph, structure in the latent semantic space of document clustering”, ELSEVIER, 2005. [29] Wang Jicheng, Huang Yuan, Wu Gangshan, and Zhang Fuyan, Web Mining: Knowledge Discovery on the Web, IEEE, 1999. (adsbygoogle = window.adsbygoogle || []).push({});

[30] WangBin, LiuZhijing, Web Mining Research, IEEE, 2003.

[31] Wenyi Ni, A Survey of Web Document Clustering, Southern Methodist University, 2004.

[32] Yitong Wang, Masaru Kitsuregawa, Evaluating Contents-Link Coupled Web Page Clustering for Web Search Results, ACM, 2002.

[33] Zifeng Cui, Baowen Xu , Weifeng Zhang, Junling Xu, Web Documents Clustering with Interest Links, IEEE, 2005.

Một phần của tài liệu KHAI PHÁ DỮ LIỆU WEB BẰNG KỸ THUẬT PHÂN CỤM (Trang 100 - 110)