Tuy nhiên, trong các bộ máy tìm kiếm hiện nay hầu hết không bắt buộc người dùng đăng nhập thông tin, do đó thu thập thông tin người dùng là việc ít khả thi và thay vào đó, các truy vấn t
Trang 1BO THONG TIN VÀ TRUYEN THONG
HỌC VIEN CÔNG NGHỆ BƯU CHÍNH VIỄN THONG
DO ÁN
TÓT NGHIỆP ĐẠI HỌC
pèai: ` XÂY DỰNG HE THONG TƯ VAN TÌM KIEM NHÀ
CHO THUÊ DUA TREN KHAI PHA NHẬT KÝ TRUY VAN”
Người hướng dẫn : ThS NGUYÊN MẠNH SƠN
Sinh viên thực hiện: NGUYÊN THỊ NGỌC ÁNH
Mã sinh viên: B17DCCN062
Lớp: D17HTTT0IKhóa: 2017 - 2022Hệ: ĐẠI HỌC CHÍNH QUY
HÀ NỘI - 2021
Trang 2BO THONG TIN VÀ TRUYEN THONG
HỌC VIEN CÔNG NGHỆ BƯU CHÍNH VIỄN THONG
DO ÁN
TÓT NGHIỆP ĐẠI HỌC
pèai: ` XÂY DỰNG HE THONG TƯ VAN TÌM KIEM NHÀ
CHO THUÊ DUA TREN KHAI PHA NHẬT KÝ TRUY VAN”
Người hướng dẫn : ThS NGUYÊN MẠNH SƠN
Sinh viên thực hiện: NGUYÊN THỊ NGỌC ÁNH
Mã sinh viên: B17DCCN062
Lớp: D17HTTT0IKhóa: 2017 - 2022Hệ: ĐẠI HỌC CHÍNH QUY
HÀ NỘI - 2021
Trang 3DO AN TOT NGHIỆP
LOI CAM ON
Đề hoàn thành đồ án tốt nghiệp này, ngoài những sự nỗ lực và cố gắng của ban
thân, em còn nhận được rất nhiều sự giúp đỡ và hỗ trợ của mọi người Lời cảm ơn đầutiên, em xin gửi tới người Thay và cũng là người hướng dẫn của em ThS Nguyễn Mạnh
Sơn Nhờ những sự giúp đỡ, hỗ trợ của thầy và đặc biệt là những góp ý, định hướng từthầy giúp em trong các vấn đề khó khăn em gặp phải trong quá trình làm đồ án mà em
đã trang bị được cho mình nhiều kiến thức cũng như hướng giải quyết tốt nhất cho bàitoán mà em đang nghiên cứu, dé đồ án được hoàn thiện nhất
Em cũng xin được gửi lời cảm ơn tới các quý thầy cô trong Học viện và KhoaCông nghệ thông tin 1 đã truyền tải rất nhiều kiến thức bổ ích trong quãng thời gian emhọc tập tại Học viện Những kiến thức đó là hành trang rất lớn đi cùng em sau này khi
ra khỏi cánh công Đại học Em kính chúc các thầy cô luôn có sức khỏe, hạnh phúc và
có thêm nhiều nhiệt huyết tiếp tục thành công trong sự nghiệp trồng người
Đồng thời em cũng muốn gửi lời cảm ơn tới gia đình — những người đã luôn yêuthương, động viên em trong suốt thời gian học tập tại Học viện Con cảm ơn bố mẹ đãluôn tin tưởng, quan tâm và là hậu phương vững chắc dé con hoàn thành tốt khóa học
tại Học viện Công nghệ Bưu chính Viễn thông.
Và lời cuối cùng em xin gửi lời em ơn tới bạn bè, anh chị cùng Học viện đã đồnghành và giúp đỡ em trong quá trình học tập và làm đồ án Thời gian đồng hành tại Họcviện là quãng thời gian mang nhiều kỷ niệm đẹp nhất với em
Em xin kính chúc tất cả mọi người thật nhiều sức khỏe và thành công!
Trang 4DO AN TOT NGHIỆP
NHAN XET, DANH GIA, CHO DIEM
(Của người hướng dan)
Điểm: cccce (bằng chữ: -ccccccccrirrererrrres )Đồng ý/Không đồng ý cho sinh viên bảo vệ trước hội đồng châm đồ án tốt nghiệp?
Hà Nội, ngày tháng năm 20
GIẢNG VIÊN HUONG DAN
(Ký và ghi rõ họ tên)
NGUYEN THỊ NGOC ANH - D17HTTTI ii
Trang 5DO AN TOT NGHIỆP
NHAN XET, DANH GIA, CHO DIEM
(Của người phản biện)
Điểm: cccce (bằng chữ: -ccccccccrirrererrrres )Đồng ý/Không đồng ý cho sinh viên bảo vệ trước hội đồng châm đồ án tốt nghiệp?
Hà Nội, ngày tháng năm 20
GIẢNG VIÊN PHẢN BIỆN
(Ký và ghi rõ họ tên)
NGUYEN THỊ NGOC ANH - D17HTTTI ii
Trang 6DO AN TOT NGHIỆP
MUC LUC
10) OF.) A 0)\ oe iDANH MỤC KÝ HIỆU VA CHỮ VIET TẮTT 5 s- se se©ssessesssessess viDANH MUC BANG 00101277 viiDANH MỤC HÌNH VE cccsscsssssossssesssecssesoncsscsssesansssscssecanceasessscssecanecasessceaseessesseeess viii
67100575 1CHUONG 1: BÀI TOÁN TU VAN TÌM KIEM NHÀ CHO THUÊ 3
In na ẽ 3
1.3 Giải pháp đề xuất -s-scs<csscesErserserestestrserserastssrrssrssrasrssrrssrsssee 6
1.3.1 Công trình lien QUAH Ă SG SH KH ket 6 1.3.2 — Giải pháp ĂĂ2Ặ CS TH re ey 7
CHUONG 2: KỸ THUẬT PHAN CUM DỰA TREN K-MEAN TRONG KHAI
PHA NHAT KÝ TRUY VAN s s<s©se+se++sESseEse©vseEvseEseerseersersssrsserse 9
2.1 Kỹ thuật phân cụm trong khai phá dif lÏỆU o- 5 «5< s5 se ssessse9
2.12 Một số ứng dụng CUA PNGN CỤIH - sgk kt ọ2.1.3 Các kiểu dit liệu và độ do 2/1581SA 9
2.1.4 Một số phương pháp phân cụm [1] crccsccescescescesseesvessesseeseesessessseseesseesees 13
2.2 Thuật toán Kime€anS 0 G5 6 9 99 99 9 9.989.900.000 0009650 16
2.2.1 Giới thiệu thuGt tOÁH GB va 16
2.2.2 Vấn đề lựa chọn SỐ CUM cesececsesesesvescsveresssvsesesesvesesvsvsresssvseseavsvssesvsveseees 17
2.3 Khai phá nhật ký truy vấn dựa trên Kmeans -s-s©cscssessess 19
2.3.1 Cấu trúc nhật ký truy VẤN -©725ccSEccEcSESEeEkerkrererkerkeres 192.3.2 Khai phá nhật ký truy VaIeeseeccscescescescesssssessesesseesessessessesssssseeseesessessessees 202.3.3 Một số vấn dé về tiền xử lý dữ liệu 5-©22©52©ccccccccscersereeee 21
CHUONG 3: UNG DUNG WEBSITE TÌM NHÀ CHO THUÊ DỰA TREN
KHALI PHA NHẬT KÝ TRUY VAN s<s©ssvssssvsserseerseesserssersee 26
3.1 Giới thiệu ứng AUN dc (G55 %9 999 99.999 99.99.890.000 80966989850 26
3.3 Cơ sở dữ liệu của hệ thống s- << s< se se seEsEEsessessesesserserserserse 28
3.4 Biểu đồ tuần tự chức năng -s-s-sssssseessvssesserserssrssrssrsserssrssrse 29
3.5 Một số màn hình giao diện chính -.s- << s°s°sssssessessessessesessee 29CHUONG 4: KET QUA THU NGHIEM VÀ ĐÁNH GIA - .- 324.1 Thử nghiệm với dataset tư vấn website của máy tìm kiếm - 32
NGUYEN THỊ NGOC ANH - D17HTTTI iv
Trang 74.3 Thử nghiệm tư van áp dụng trên ứng dụng website tư van nha cho thué 38
4.3.1 Dữ lIỆU Ăn HT HH HH Hành nhe 38 4.3.2 Thực NIUE woe eececcesccessccessceeecesnecesceceseeseaeessceceseeceaeesnecesaeenseeseaeeneaeennees 40
KET LUẬN _ -c-s-cscsccsSS<EseEseEseEsEEsEEsEssesstsetsesserserserse 47
TÀI LIEU THAM KHẢO -2£ 22 ©s£Ss£©S2£ES2SSSESseEsserseexserssersserssre 48
NGUYEN THỊ NGOC ANH - D17HTTTI v
Trang 8DO AN TOT NGHIỆP
DANH MUC KY HIEU VA CHU VIET TAT
IDF: Inverse Document Frequency Nghich dao tan suat tai liéu
IP: Internet Protocol Giao thức Internet
LSA: Latent semantic analysis Phân tích ngữ nghĩa tiêm 4
MSN: The Microsoft Network Tap hợp các dịch vụ Internet cung cap
bởi Microsoft PCA: Principal Components Analysis Phép phân tích thành phân chính
SVM: Support Vector Machine Vector máy hỗ trợ
Trang 9DO AN TOT NGHIỆP
DANH MUC BANG
Bang 3.1 Các thư viện sử dụng hỗ trợ thu thập dữ liệu bài đăng -26
Bảng 3.2.Mô tả chỉ tiết quan hệ POs( ¿2:25 52222 2EEt2EEEEEESEESEEEEEEerkeerkrrrrees 28Bang 3.3 Bang mô tả chỉ tiết quan hệ Query 2 s52 £+£++EE+£EezE+zEzrxerxezes 29
Bang 4.1 Những thư viện sử dụng trong thử nghiệm với dataset tư van website 32
Bang 4.2 Bảng danh sách từ khóa các chủ dé sản phẩm điện tử - +: 33
Bảng 4.3 Kết quả đánh giá điểm silhouette chọn số lượng cụm - 35
Bang 4.5 Bảng công cụ sử dụng cài đặt ứng dụng - 6 scsxcsecssesrseesrrs 38
Bảng 4.7 Đặc trưng các cụm sau phân CỤIm << + + ++k+eeerseeeeeeerereere 42
NGUYEN THỊ NGOC ANH - D17HTTTI Vii
Trang 10DO AN TOT NGHIỆP
DANH MỤC HÌNH VE
Hình 1.1 Thống kê của similarweb.com về lượt truy cập trên một số trang web tìm
Hình 1.2 Giao diện trang web phongtro [22 COI 5 55 2< 1£ +*EE++eeEeeereseeere 4 Hình 1.3 Giao diện trang web dithuenha.COI 5 5 32+ 1332313 EE+ekeeeereseeere 5 Hình 1.4 Giao diện trang web phongnhatrO.COIT 525 33+ 13+ E+eEEeeereseerre 5
Hình 2.1 Độ tương tự biến nhị phân - 2-2 ¿+ £+S£+EE£EEt£E£EE+EEtEEtEEEzEerrxrrkrres 11Hình 2.2 Một số hình dạng cụm dữ liệu khám phá được bởi kỹ thuật phân cụm dựa
(HEN MAL AG ooo ccc cccesccessseceesseeceesseccesseeceesseeceesseccessseecessseceesseccesseeeeesseeceesseeeessseeesaase 14
Hình 2.3 Minh họa phương pháp đường khuryu tay -s- S5 sscsssseeresrrsses 18
Hình 2.6 Phân loại kiểu đữ liệu ¿+ St t+E+E‡EEEE+ESEEEEEESEEEEEESEEEEEErEerrkrkrrreree 23Hình 2.7 Ví dụ thuộc tính có giá trị áp dụng được tìm kiếm và thay thế [8] 24
Hình 2.9 Kết quả Label Encoding [8] 2-2-2 +2 E+EE+2E£+EE+EE+ExezE+zrxzrxerxeres 25
Hình 3.1 Minh họa mô hình client-server - 555 22221111 ££*£*2 2 Eveeszsseee 26
Hình 3.3 Minh họa kết quả dữ liệu bai đăng sau khi xử lý chuẩn hóa 27Hình 3.4 Biểu đồ usecase chức NaN cccessesssessessessssssecsessesssessessessssssessessessessseeseeseess 27
Hình 3.5 Biéu đồ tuần tự chức năng chính tim kiếm 2- 2 2 + s+£x+z++se+z 29 Hình 3.6 Giao diện trang CHU - c1 191v ng ng HH ng 30
Hình 4.1 Cấu trúc dit liệu query log AOL .v cecceccecescssessessessssessessessessessseseeseeseesessesees 32Hình 4.2 Kết quả phương pháp đánh giá khuyu tay chọn số lượng cụm 35Hình 4.3 Minh họa kết quả phân cụm query log máy tìm kiếm web 35
Hình 4.5 Minh họa cấu trúc dữ liệu query log thu thập từ website tìm nhà ở 39
Hình 4.7 Minh họa vector dữ liệu sau tiền xử 2 41Hình 4.8 Kết quả phương pháp đánh giá khuyu tay chon số lượng cụm cho query log
Website tim Mha 011 41
Hình 4.9 Minh họa nhập tiêu chí tìm kiếm trên website ví dụ Ì -c-s-c+ccc+ 43
Hình 4.12 Minh họa kết quả tìm kiếm ví dụ 3 ¿2-cc+ccxsrrrrrrrrrrrrrrree 46
NGUYEN THỊ NGOC ANH - D17HTTTI viii
Trang 11sẽ phù hợp với mình nhất Nhu cầu đặt ra là cần có một hệ tư vấn Các hệ thong tu vannày sé tinh toán và dự đoán khả năng người dùng sé thích sản phẩm hay thông tin nào
đó Từ đó đưa ra những gợi ý về sản phâm hay thông tin có thé phù hợp với người dùng
nhất
Dé làm được điều này, các hệ tư van đi xây dựng hồ sơ (Profile) của người dùng
Hồ sơ người dùng có thể chứa các thông tin liên quan đến thông tin cá nhân, lịch sử tìmkiém, Từ hồ sơ của người dùng, hệ tư van tính toán khả năng người dùng sẽ thích
thông tin hay sản pham nào đó Việc tính toán này có nhiều cách khác nhau, tuy nhiên
có hai loại chủ yêu đó là: phương pháp lọc dựa trên nội dung và phương pháp lọc cộng
tác Tuy nhiên, trong các bộ máy tìm kiếm hiện nay hầu hết không bắt buộc người dùng
đăng nhập thông tin, do đó thu thập thông tin người dùng là việc ít khả thi và thay vào
đó, các truy vấn từ người dùng đưa ra được các hệ tư vấn thu thập lại và áp dụng các
thuật toán học máy dé khai phá dữ liệu này, đưa ra các kết quả tư van hợp lý dựa trên sựtương đồng giữa các truy vấn tương đương với nhu cầu tương tự giữa các người dùng.Trong các hệ tư vấn này, các truy vấn đại diện cho đối tượng người dùng và phương
pháp này cũng được xếp vào phương pháp lọc cộng tác
Đồ án tốt nghiệp sẽ trình bày việc áp dụng khai phá nhật ký truy van dé xây dựngchức năng tư vấn trong quá trình tìm kiếm của người dùng trong phạm vi một websitetìm kiếm nhà cho thuê tự xây dựng Nội dung đồ án báo gồm 4 chương:
Chương 1: Bài toán tư van tìm kiếm nhà cho thuêChương này mô tả về bài toán cần giải quyết, đề cập đến các công trình nghiêncứu liên quan và đưa ra giải pháp giải quyết cho bài toán
Chương 2: Kỹ thuật phân cụm dựa trên Kmean trong khai phá nhật ký truy
Chương này trình bày về các kiến thức tổng quát xoay quanh kỹ thuật phân cụm
và tập trung vào thuật toán Kmeans, các bước thực hiện áp dụng thuật toán khai phá
nhật ký truy van qua việc phân cụm truy vấn, cùng với các van dé cần xử lý liên quanđến việc áp dụng thuật toán
Chương 3: Ứng dụng xây dựng website tư vấn tìm kiếm nhà cho thuê dựa
trên khai phá nhật ký truy vấn
NGUYEN THỊ NGOC ANH - D17HTTTI 1
Trang 12DO ÁN TOT NGHIỆP
Trong chương này, đồ án trình bày về ứng dụng website được xây dựng với các
mô hình chức năng, cơ sở dữ liệu, biểu đồ hoạt động và một SỐ giao diện chính của
website.
Chương 4: Thực nghiệm và đánh giá
Và chương này trình bày về quá trình thử nghiệm trên dataset có sẵn với bộ máytìm kiếm thông thường và thử nghiệm trên dữ liệu thu thập từ website tư vấn nhà chothuê đã được xây dựng Đánh giá kết quả dé đưa ra được kết luận
NGUYEN THỊ NGOC ANH - D17HTTTI 2
Trang 13DO AN TOT NGHIỆP CHUONG 1
CHUONG 1: BAI TOÁN TU VAN TÌM KIEM NHÀ CHO THUÊ
1.1 M6 ta bài toán
Hiện nay, nhu cau tim kiếm nhà ở, nhà trọ của người dùng bao gồm các đối tượngkhác nhau vẫn luôn cao, phô biến là sinh viên, người lao động tìm kiếm chỗ ở để phục
vụ học tập, công việc Trong thống kê gần nhất trong đợt dịch covid 19 tháng 9 năm
2021, Sở Lao động - Thương binh và Xã hội Hà Nội cho biết, thành phố có khoảng106.000 lao động tự do ngoại tỉnh cư trú không cố định [11] Bên cạnh đó, Hà Nội hiện
có tới gần 70 trường đại học và 22 trường cao đăng cùng nhiều trường trung cấp chuyênnghiệp đóng trên địa bàn thành phố với tổng số trên 300.000 sinh viên [10] Đây đềuphần lớn là các đối tượng đang có nhu cầu tìm kiếm nhà ở
Trong thời đại công nghệ số, dé nhanh chóng và thuận tiện tìm kiếm được nơi ởphù hợp, tìm kiếm qua mạng Intenet là một cách hữu ích và phô biến Dựa trên điều này
mà nhiều website được xây dựng với mục đích kết nối giữa chủ trọ và người tìm nhà ởvới nhau Các website cung cấp cho người dùng, người có nhu cầu tìm kiếm nhà ở công
cụ tìm kiếm theo nhiều tiêu chí và cung cấp một lượng lớn các thông tin kết quả phùhợp đã được tổng hợp trước đó từ những người chủ cho thuê Và hầu hết, các bộ tìm
kiếm trên các website này dựa trên các tiêu chí có từ nhu cầu cơ bản của người tìm như
khu vực muốn ở, diện tích, khoảng giá mong muốn, và một vải tiêu chí đa dạng khác
Có thé nói, các ứng dụng này rất hữu ích, dé dang sử dụng và nhanh chóng đáp ứngđược nhu cầu người dùng
Theo thống kê lượng truy cập các website của trang web similarweb.com được
đồ án thực hiện trên một số trang web hỗ trợ tìm kiếm nhà cho thuê, lượt truy cập trong
3 tháng gần nhất (từ tháng 9/2021 đến tháng 11/2021) đến các website này mang các
Hình 1.1 Thong kê của similarweb.com về lượt truy cập trên một số trang web tim
kiếm nhà cho thuê trong 3 tháng từ 09/2021 — 11/2021
NGUYEN THỊ NGOC ANH - D17HTTTI 3
Trang 14DO AN TOT NGHIỆP CHUONG 1
Những trang web tim kiếm nhà ở hiện nay đang dap ứng khá tốt nhu cầu củangười dùng, kết quả đưa ra mới nhất và tương thích với tiêu chí tìm kiếm của họ Tuynhiên, cùng với sự phát triển của công nghệ, học máy được áp dụng ngày càng nhiềuvào phát triển những ứng dụng và điều đó dần trở thành xu hướng Vì vậy, với mong
muốn áp dụng thêm được học máy dé phát triển chức năng tìm kiếm của ứng dụng, dékết quả không còn chỉ là những bài đăng trả về tương thích với truy vấn truyền vào và
cùng với đó là thể hiện được sự tương quan giữa nhu cầu tìm kiếm của những ngườidùng khác nhau Đồ án được thực hiện nhằm giải quyết bài toán tìm ra phương pháp tưvấn và tích hợp thêm vào hệ thống tìm kiếm thông thường của website đăng tin cho thuê
nhà ở, giúp người dùng được tư vấn thêm các bài đăng cho thuê mà dựa trên cả những
nhu cầu của người dùng khác nữa cũng đã tìm kiếm tương tự
1.2 Khảo sát một số hệ thống tìm kiếm nhà cho thuê
Qua thống kê lượt truy cập trên Hình 1.1, đồ án thực hiện khảo sát các trang webnhà trọ phô biến trong danh sách, với mục đích tìm ra xu hướng phổ biến của các trangweb cho thuê nhà hiện nay, các chức năng cơ bản cung cấp cho người dùng và nhữngđiểm khác nhau giữa các trang web này Từ đó đưa ra những đánh giá khách quan vềnhững thực tế hiện tại của các trang web so với nhu cầu của người dùng khi muốn tìmkiếm nhà trên chúng
Cụ thê, đồ án thực hiển khảo sát 3 trang web có lượt truy cập được thống kê cao
ng HậuCho Thuê Phòng T Trọ › Phường D Dịch venue Hau Giá từ 3- 5 triệu đồng
Cho Thuê Phỏng Tro Phường Dich Vong Hậu Giá từ 3 - 8 triệu đồng phỏng mới xây chính chủ gần chợ, trưởng học, siễu thị, cửa hang tiễn lợi khu an ninh
Danh sách tin đăng Cập nhật: 18:27 27/08/2021 Xem theo giá re
nhóm)
fim Phòng trội
nhà trọ 2
Ép Mặcđnh Mớinhất Cóvideo Dưới † triệu
J] Chinh chủ cho thuê - Ngõ 68 Xuân Thủy, Bay di nội thất
3.itriệuháng 20m? Qu
Xem theo diện tích
Phòng dep full nội thất tại Xuan Thủy, Cầu Giấy, Hà Nội
3triệutháng 25m
our
© Cho thué phỏng tro 30 m2 tại ngõ 46 Tran Quốc Hoàn
3triéu/thang 30m” Quận Cả
Hình 1.2 Giao điện trang web phongtro123.com
Phongtro123.com là một trang web khá phô biến nằm trong đề xuất của Googlekhi ta thực hiện tìm kiếm và trang web này cũng có một số lượng truy cập hàng tháng
khá cao (ví dụ 3 thống kê 3 tháng trong Hình 1.1 ) Trang web này cho phép 2 đối tượng
NGUYEN THỊ NGOC ANH - D17HTTTI 4
Trang 15ĐỎ ÁN TÔT NGHIỆP CHUONG 1
chính sử dung là người cho thuê va người cần thuê nhà Người cho thuê sẽ được phépđăng các tin bài cho thuê nhà của mình lên website Người có nhu cau tìm nhà ở sẽ thựchiện tìm kiếm theo nhu cầu và theo các nhóm về khu vực, khoảng giá hay lựa chọn tìmkiếm người ở ghép mà website cung cấp Các tiêu chí tìm kiếm trong công cụ tìm kiếm
được đặt ở dạng các hộp chọn.
Dithuenha HO THUÊ B N THUÊ Đăng ký / Đăng nhập | [ @oănsmn |
Chung cư min — Đất
Trangchi Phònghẹ Chưngcư Nhànguyêacăn Vãnphòg Mhàmặtphố Ủghếp Biệthự Cửahàng
Tìm nhà cho thuê
với hơn 5.000 tin đăng cho thuê mỗi ngày tai Dithuenha.com
Tìm nhanh theo từ khóa
Nhập khu vực, địa điểm, dụ an ban muốn thuế
TIN ĐĂNG CHÍNH CHỦ
‘Cho thuê nhà đẹp 414 2
lẫu 4 phòng ngủ
Ñ siêu
Cho thuê nhà trọ, cho thuê phòng trọ giá rẻ, tìm nha trọ, tìm phòng trọ
Can hô homyland
Nhà nguyên căn 4 lẫu 72m2 ‘Chung cư quận 5 52m*2 phòng Nhà 1 trét2 [bu 36m2 hưỳnhtấn i canh: cbr nguyễn hồng đào p 14 qt~tẫn ngủ -thanh ha phat p tân phú quận 7 se tani
23 triệu $ triệu triệu se
= ^ Nhà 103m2 (4x26) xã long
CHO THUÊ PHONG TRO Net tếDG
§ triệu
= | Phòng studio siêu xin, sạch đẹp quan 10 giảm mạnh - hiéu 4triệu
= 4 cho thué nha ré
Hinh 1.3 Giao dién trang web dithuenha.com
Hình ảnh trên là giao diện website dithuenha.com Day cũng là một trang web
tin bài cũng được phân chia thành các loại thuận tiện cho việc tìm kiếm nhanh kiểu nơi
ở muốn tìm như nhà trọ, căn hộ, văn phong, và dành cho 2 đối tượng sử dụng chính là
chủ trọ và người cần thuê Điểm khác của website này trên thanh công cụ tìm kiếmchính, ngoài các lựa chọn tìm kiếm cho phép người dùng chọn, người dùng có thể nhập
các từ khóa và ô tìm kiếm, hệ thống sẽ lọc theo từ khóa
a
CHO THUE PHONG TRO
Nha cho thué Dang tin
Cho thuê phòng trọ Tìm người ở ghép Căn hộchothuê Khác Canthuénhatro Liên hệ
3X Gio đây, ban chẳng cân lat tung cả tỉnh Bình Dương
để tìm được một căn phòng tro ưng ý Căn phòng trọ nảy.
sẽ cham dirt quãng thời gian tim kiếm phòng trọ mệt nhọc
của bạn một lần va mãi mãi!3 3 CĂN Xem thêm
Phòng Tro Gò Vấp - Không Coc Ở Ngay
k4 ' 114 tô ngọc van, phường 15, tân
bình
Giá 0.000 vnd [a] 26 m=
Bia chỉ: 114 Tô Ngọc Vân, Gò Vấp
Giá: 3,2tr Bẩ Nội That: - Máy lạnh, quạt - Nước nồng lạnh
~ Rèm, cửa số thoáng Kê bếp, kệ chén [J Thuan Tiên:
-5-10p qua quan 12, tân bình - khóa van tay, giờ giác
3 ngày trước CHO THUÊ PHÒNG DANG CHUNG
CƯ MINI GẦN CHỢ BUG! (NGAY GẦN GÓC CÂY ĐA HOÀNG QUỐC VIỆT) Vị trí: Tòa nhà 5 gần đại học Điện
lực, HV kỹ thuật quân sự, cách đường Hoảng Quốc Việt
500m, Chợ bưởi 500m, cách Xem thêm
'9 Số 31 ngõ 58, Thanh Bình, Mộ
Lao, Hà Đông.
€ Giá: 2.800.000 vnđ [aj 20 m*
- Nhả đẹp full nội thất mới - Chỉ việc
mang vali vao ở - Phòng đẹp, sạch sẽ thoáng mát gần:
HV Quân Y, ĐH Kiến Trúc, Bưu Chính, chợ Hà Đông,
cách cầu trắng 500m - Giá 2,8 tr/thang Đóng 1 cọc 1
Phong rộng từ 12m2 - 14m2, đầy đủ tiện nghỉ, bếp dun
nấu, tủ quần áo, tủ lanh, máy lạnh, WC trong phòng,
phòng có ban công quay ra mặt đường Nhà mới xây
xong, đèn chiếu sáng led, có đèn chiếu sang sự Xem.
thêm
Cho thuê phòng trọ lau 1 hoặc lau 2
| | 9 Tran đồng phường 3, tp vũng tau.
Cho thuê phòng tro lầu 1 hoặc lầu 2
Đường trần đồng An nonh, sach sẽ
và tiện loi Diện tích hơn 50m Đẩy đủ nội that Chỉ don
vào ở Có bếp riêng, nha vệ sinh riêng Phơi quần ao ở
sân thương sạch s Xem thêm
P.Tro cho thuê tại SỐ 82, DUONG D21, (VSIP1)
Phường An Phú, Thị xã Thuận An, Bình Dương
= 9 SÓ 82, DUONG D21, khu dân cu,
Việt Sing (VSIP1) Phường Án Phú,
‘Thi xã Thuận An, Bình Dương
,—'
|1 tháng trước
Hình 1.4 Giao điện trang web phongnhatro.com
NGUYEN THỊ NGỌC ANH - D17HTTTI
Trang 16DO AN TOT NGHIỆP CHUONG 1
Và khảo sát cuối cùng của đồ án là với trang web phongnhatro.com Trang webnày không có bộ lọc tìm kiếm nào cho người dùng, và hiện tại các tin bài đăng hoan toàn
được phân bố theo hướng phân chia theo loại tương tự 2 trang web khảo sát trước đó
Kết quả khảo sát cho thấy, thực tế các trang web tìm kiếm nhà ở đa số đều cóđiểm chung là tìm kiếm dựa trên dữ liệu chung, kết quả trả ra từ máy tìm kiếm là kếtquả của truy vấn thông thường, chưa có nhiều sự áp dụng học máy vào chức năng tìm
kiếm, tư vấn đặc biệt hơn Bài toán được nêu trong 1.1 đặt ra nhằm mong muốn giải
quyết điều này
1.43 Giải pháp đề xuất
1.3.1 Công trình liên quan
Trong cuộc sống khi đứng trước quá nhiều lựa chọn, người ta thường dựa trên
những ý kiến hay lời khuyên của người xung quanh Nhưng trong kỷ nguyên thông tin,hàng triệu thông tin được đưa lên internet mỗi ngày, điều này dẫn đến yêu cầu phải có
các phương pháp thu thập thông tin tự động và đưa ra các lời khuyên phù hợp thay thếcho các phương pháp truyền thống trước Hệ tư vấn (recomender) là một giải pháp như
vậy Hệ thống này đưa ra gợi ý dựa trên những gì người dùng đã làm trong quá khứ,hoặc dựa trên tổng hợp ý kiến của những người dùng khác Hệ tư van đã trở thành một
ứng dụng quan trọng và thu hút được sự quan tâm lớn của các nhà nghiên cứu cũng như
các doanh nghiệp Một vài lĩnh vực với các ứng dụng về hệ tư vấn như:
e Sách/ Tài liệu: Amazon.com, Foxtrot, InfoFinder,
e Tin tức/ Báo chí: Tapestry, GroupLens, Lotus Notes,
e Web: Phoaks, Gab, Fab, IfWeb, Let's Browse,
dựa trên khai phá query log Phương pháp được sử dụng dé đưa ra tư vấn cho một query
là dựa vào các lựa chọn của những người dùng đã từng tìm về chủ đề đó Báo cáo nghiên
cứu chỉ ra rằng hầu hết tất cả các máy tìm kiếm hiện nay đều không yêu cầu người dùngphải đăng kí tài khoản vì việc buộc phải đăng nhập hệ thống là một cản trở không dễ
chịu Do đó, không thé phân biệt được người dùng với nhau mà chỉ có thể có gắng phân
biệt các phiên sử dụng (session) của họ bang cách phân tích log của máy tìm kiếm (dựavào các thông tin về IP, trình duyêt, thời gian ) Hơn nữa, do tìm kiếm đã trở thành
một việc rất phô biến và được thực hiện liên tục nhiều lần, người dùng luôn muốn nhậnđược kết quả thật nhanh và không muốn vướng vào các chỉ tiết rườm ra nên việc yêu
cầu người dùng chấm điểm hay đánh giá các kết quả được trả về cũng không khả thi.Thay vì xác định đối tượng là người dùng, hệ thống được đề xuất trong báo cáo nghiên
cứu xác định đối tượng là các truy vấn Hai truy vẫn tương đồng có vai trò như hai người
NGUYEN THỊ NGOC ANH - D17HTTTI 6
Trang 17DO AN TOT NGHIỆP CHUONG 1
dùng cùng sở thích Những website (URL) được người dùng click vào tương ứng với
truy van có vai trò như những sản pham được người dùng đánh giá cao (vì chỉ có mộtvài website được click trên tổng số kết quả trả về) Các thông tin về truy vẫn tương đồng
và URL được click được khai thác từ nhật ký truy vẫn của của máy tìm kiếm Báo cáonghiên cứu cũng đã sử dụng phương pháp phân cụm trong khai phá dữ liệu để phân cụm
truy vấn, từ đó tạo ra các cụm truy vấn tương đồng cùng với tập URL tư vấn tương ứng
của cụm đó.
1.3.2 Giải pháp
Qua việc tìm hiểu về giải pháp khai phá nhật ký truy van bằng kỹ thuật phân cumcủa công trình Hệ tư van website dựa trên khai phá query log, đồ án đã tiến hành thửnghiệm trước hết là hiệu quả của phương pháp này đối với bài toán tư vấn website cùng
bộ dữ liệu tìm kiếm từ AOL và sau là áp dụng giải pháp của công trình này vào hệ tưvấn trên website tư vẫn nhà cho thuê thực tế tự xây dựng Các công việc mà đồ án cần
thực hiện và giải pháp đưa ra cho mỗi bước thực hiện:
- _ Thử nghiệm khai phá truy vấn trên tập dit liệu máy tìm kiếm AOL
- _ Xây dựng website tư van nhà cho thuê đơn giản
- _ Thử nghiệm khai phá truy vấn trên website tìm kiếm nhà cho thuêThử nghiệm khai phá truy vấn trên tập dữ liệu máy tìm kiếm AOLTập dữ liệu tìm kiếm AOL được công bố năm 2006, dữ liệu này bao gồm tập truyvấn và kết quả URL được click của máy tìm kiếm
e Tiền xử lý dữ liệu:
Tập dữ liệu truy vấn là tập các đoạn văn bản dài ngắn khác nhau vì vậy trong
bước này đòi hỏi quá trình tiền xử lý đối với văn bản Phương pháp phân tích đánh trọng
số từ TF-IDF cũng là phương pháp phô biến và được đồ án sử dụng dé biểu diễn văn
bản.
e - Phân cụm dữ liệu:
Phân cụm dé bước quan trọng quyết định kết quả của toàn bộ quá trình khai phá
dữ liệu Lúc này dữ liệu được phân chia thành các cụm nhỏ mang các chủ đề khác nhau.Hiện nay có rất nhiều thuật toán phân cụm và một thuật toán phân cum phổ biến trongkhai phá dữ liệu là thuật toán Kmeans Thuật toán được đồ án sử dụng đơn giản vì tínhhiệu quả cho chất lượng phân cụm với độ chính xác có thê lên đến trên 90% và đặc biệt
là một thuật toán không khó dé áp dụng Dé thực hiện được thuật toán này, các kỹ thuật
về lựa chọn số cụm thích hợp cũng tương đối quan trọng như chỉ số Silhoutte và kỹ thuật
khuyu tay.
e Tu van:
Sau khi có các cụm dữ liệu, tư van là bước cho ta thấy hiệu quả của thuật toán
với kết quả tư van mà nó đưa ra Mô hình phân cụm được áp dụng và kết quả tu van làcác URL được click của các truy vấn cùng cụm, nhưng dé tăng độ chính xác hon, việc
NGUYEN THỊ NGOC ANH - D17HTTTI 7
Trang 18DO AN TOT NGHIỆP CHUONG 1
so sánh độ tương tự thêm một lần nữa được áp dung bang cách sử dụng khoảng cách
Euclide giữa hai vector đê đánh giá độ giông nhau giữa hai truy vân Những truy vân có
điêm xêp hạng cao sẽ được lây ra tư vân.
e Đánh giá:
Bằng việc so sánh kết quả truy vấn với kết quả tìm kiếm thức tế trên trang web
AOL hiện nay, đô án đưa ra hiệu quả của phương pháp đã thực hiện.
Xây dựng hệ thống website tư vấn nhà cho thuê
e Thu thập dữ liệu:
Để có đủ dữ liệu hiển thị trên trang web chuẩn bị xây dựng, đồ án thu thập dữ
liệu thông qua kỹ thuật thu thập dữ liệu tự động từ trang web khác (crawler website)
e - Xây dung trang web:
Với một ứng dụng nhỏ, đồ án lựa chọn ngôn ngữ python với framework flask déxây dựng ứng dụng website này Và ứng dụng này cần có chức năng thu thập lại tất cảcác thao tác click của người dùng vào một bài viết khi họ thực hiện tìm kiếm
Thử nghiệm khai phá truy vấn trên website tìm kiếm nhà cho thuêKhi tiến hành thử nghiệm trên website vừa xây dựng, các bước áp dụng về cơ
bản đều tương tự như thử nghiệm trên tập dit liệu AOL như tiền xử lý, phân cụm với
Kmean, tư van và đánh giá Điểm khác ở đây là bước xử ly dit liệu đầu vào cần các kỹthuật tiền xử lý khác nhau tùy thuộc vào kiểu dữ liệu thu thập được, cụ thé là các kỹthuật xử lý dữ liệu dạng số, dang hạng mục hay kiểu hỗn hợp
Chương 1 đã nêu lên được nội dung bài toán cần giải quyết và các công việc thực
hiện của đồ án kèm theo giải pháp đề xuất Trong chương tiếp theo, đồ án sẽ trình baychỉ tiết hơn về các kỹ thuật sử dụng
NGUYEN THỊ NGOC ANH - D17HTTTI 8
Trang 19DO ÁN TOT NGHIỆP CHƯƠNG 2
CHUONG 2: KY THUẬT PHAN CUM DỰA TREN K-MEAN
TRONG KHAI PHA NHAT KY TRUY VAN
2.1 Kỹ thuật phân cum trong khai pha dữ liệu
2.1.1 Tổng quan về kỹ thuật phân cum
Phân cụm dữ liệu là một kỹ thuật trong khai phá dữ liệu, nhằm tìm kiếm, pháthiện các cụm, các mau dir liệu tự nhiên tiềm ấn, quan tâm trong tập dữ liệu lớn, từ đócung cấp thông tin, tri thức hữu ích cho ra quyết định
Mục tiêu của phân cụm là tìm cách nhóm các đối tượng đã cho vào các cụm
(clusters), sao cho các đối tượng trong cùng 1 cụm tương tự (similar) nhau và các đối
tượng khác cụm thì không tương tự (dissimilar) nhau, nhờ đó phát hiện ra cấu trúc an
của đữ liệu.
Đề phân cụm dữ liệu cần thực hiện các bước cơ bản sau [2]:
Chọn đặc trưng: Các đặc trưng lựa chọn phải hợp lý dé có thé mã hoá nhiều nhất
các thông tin liên quan đến công việc quan tâm
Chọn độ đo gần nhất: Một độ đo chỉ ra mức độ tương tự hay không tương tự giữa
hai vectơ đặc trưng.
Tiêu chuẩn phân cụm: Tiêu chuẩn phân cụm có thé được biểu diễn bởi hàm chiphí hoặc một vài quy tắc khác
Công nhận kết quả: Sau khi có kết quả phân cụm, cần kiểm tra tính đúng đắn của
Giải thích kết quả: Bằng kết quả thực nghiệm cần phân tích để đưa ra kết luậnđúng đắn
2.1.2 Một số ứng dụng của phân cụm
Phân cụm được áp dụng rộng rãi trong nhiều lĩnh vực từ kinh tế, y tế đến sinh
học, công nghệ và có các ứng dụng chính như:
- Hỗ trợ giai đoạn tiền xử lý dữ liệu(data preprocessing)
- Mô tả sự phân bố đữ liệu/ đối tượng(data distribution)
- Nhận dạng mẫu(pattern recognition)
- Phan tích dữ liệu không gian(Spatial data analysis)
- _ Xử lý anh(image processing)
- Phân mảnh thi trường(market segmentation)
- Gom cum tài ligu((www) document clustering)
2.1.3 Các kiểu dữ liệu và độ đo tương tự
Việc định nghĩa thế nào là giống nhau, không giống nhau là 1 phần rất quan trọngtrong việc phân nhóm (clustering), bởi vì nó sẽ ảnh hưởng đến toàn bộ cấu trúc của cácnhóm ấy Tùy theo từng kiểu dit liệu sẽ có các độ đo tương tự khác nhau được áp dung,
NGUYEN THỊ NGOC ANH - D17HTTTI 9
Trang 20DO ÁN TOT NGHIỆP CHƯƠNG 2
nhưng về cơ bản có 2 nhóm dit liệu chính là thuộc tính hạng muc(Categories) và thuộc
tính số(Numeric).
Thuộc tính hạng mục bao gồm các loại: thuộc tính định danh(nominal Scale),thuộc tính có thứ tự (Ordinal Scale) Thuộc tính số bao gồm thuộc tính khoảng (IntervalScale), thuộc tính tỉ lệ (Ratio Scale) Sau đây là các phép đo độ tương tự áp dụng đốivới các kiểu dữ liệu khác nhau :
e_ Thuộc tính khoảng (Interval Scale): Nhằm dé đo các giá trị theo xấp xi
tuyến tính Với thuộc tính khoảng, chúng ta có thê xác định một đối tượng
là đứng trước hoặc đứng sau một đối tượng khác với một khoảng là bao
nhiêu.
Các đơn vị đo có thể ảnh hưởng đến phân tích cụm Vì vậy để tránh sự phụ thuộcvào đơn vị đo, cần chuẩn hóa dữ liệu
Các bước chuẩn hóa dữ liệu:
Tính giá trị trung bình và sai số tuyệt đối trung bình
my =~ (Xap + Xap + + Xny) (2.1)
Sp = = ([xap — mự| + |xa¢ — mự| + + |xịy — mự|) (22)Tính độ đo chuẩn
Xif-—m
Zij = s i (2.3)
Sau khi chuan hoa, d6 do phi tuong tu cua hai đối tượng dữ liệu x, y được xác
định bang các metric khoảng cách như sau:
Khoảng cách Minskowski:
1/4
d(x,y) = Xï-¡|¡ — vil! (2.4)
q: là số tự nhiên nguyên đương
d(x,y) = | peli — Vil? (2.5)
Day là trường hợp đặc biệt cua khoảng cách Minskowski trong trường hợp q=2
Khoảng cách Euclide:
Khoảng cách Manhattan:
d(x,y) = Dix: — vil (2.6)
Day là trường hop đặc biệt cua khoảng cach Minskowski trong trường hợp q=1
e Thuộc tính tỉ lệ (Ratio Scale): là thuộc tính khoảng nhưng được xác định
một điểm mốc tương đối, thí dụ như thuộc tính chiều cao hoặc cân nặng
lây điểm 0 làm mốc.
Có nhiều cách khác nhau để tính độ tương tự giữa các thuộc tính tỉ lệ Một trong
những số đó là sử dụng công thức tính logarit cho mỗi thuộc tính xi, thí dụ q; = log(x;),
NGUYEN THỊ NGOC ANH - D17HTTTI 10
Trang 21DO ÁN TOT NGHIỆP CHƯƠNG 2
lúc này q; đóng vai trò như thuộc tính khoảng (Interval-Scale) Phép biến đổi logarit nàythích hợp trong trường hợp các giá trị của thuộc tính là số mũ
Các phương pháp tính độ tương tự:
- _ Xử lý chúng như các biến thang đo khoảng
- Ap dụng các biến đối logarithmic
- _ Xử lý chúng như đữ liệu thứ tự liên tục.
- _ Xử lý chúng theo hạng như thang đo khoảng.
e Thuộc tính có thw tự (Ordinal Scale): là thuộc tính định danh có thêm
tính thứ tự, nhưng chúng không được định lượng.
Phép đo độ phi tương tự giữa các đối tượng dir liệu với thuộc tính thứ tự được
thực hiện như sau, ở đây ta giả sử i là thuộc tính thứ tự có M; giá trị (M; là kích thước
miền giá tri)
Các trạng thái M; được sắp thứ tự như sau: [1 M;], chúng ta có thé thay thế mỗigiá trị của thuộc tính bằng giá trị cùng loại ?;_, voi; €{1 M,}
Mỗi một thuộc tính có thứ tự có các miền giá trị khác nhau, vì vậy chúng tachuyền đổi chúng về cùng miễn giá trị [0, 1] bằng cách thực hiện phép biến đổi sau cho
mỗi thuộc tính
G)
G) _ Tị T1
zi) = (2.7)
Sử dung công thức tinh độ phi tương tự của thuộc tính khoảng đối với các giá tri
Z trên đây thu được độ phi tương tự của thuộc tính có thứ tự
e Thuộc tính nhị phân: Thuộc tính định danh chỉ có 2 giá tri
Gia sử tat cả thuộc tính về đối tượng đều là nhị phân biéu thị băng 0 và 1
a là tổng số các thuộc tính có giá trị là 1 trong cả hai đối tượng x, y
b là tong số các giá trị thuộc tính có giá trị là 1 trong x và 0 trong y
c là tổng số các giá trị thuộc tính có giá trị là 0 trong x và 1 trong y
d là tổng số các giá trị thuộc tính có giá trị là 0 trong cả x và y
Ta có tông số các thuộc tính về đối tượng p=a+b+c+d
NGUYEN THỊ NGOC ANH - D17HTTTI 11
Trang 22DO ÁN TOT NGHIỆP CHƯƠNG 2
Các phép đo độ tương tự giữa hai đối tượng trong trường hợp dữ liệu thuộc tính
nhị phân được định nghĩa như sau:
Hệ sô đôi sánh đơn giản:
b
d(x,y) =“— (2.8)
Hệ số Jacard:
d(x,V) = ng (2.9)
e Thuộc tính định danh(nominal scale): day là dạng thuộc tính khái quát
hoá của thuộc tính nhị phân, trong đó miên giá tri là rời rac không phân biệt thứ tự và có nhiêu hơn hai phân tử.
Có hai phương pháp dé tính toán sự tương tự giữa hai đối tượng:
Phương pháp 1: Đối sánh don giản
Độ đo phi tương tự giữa hai đối tượng x và y được định nghĩa như sau:
d(x,y) = — (2.10)
Trong đó m là số thuộc tinh đối sánh tương ứng trùng nhau giữa 2 đối tượng
Phương pháp 2: Dùng một số lượng lon các biến nhị phân:
- Tao biến nhị phân mới cho từng trạng thái định danh
- _ Các biên thứ tự có thê là liên tục hay rời rac
- Thr tự của các tri là quan trong Vi dụ: hang.
- C6 thê xử lý như tỉ lệ khoảng như sau:
- Thay thé z; ; bởi hang cua chúng.
- Ảnh xạ phạm vi của từng biên vào đoạn [0,1] băng cách thay thê đôi tượng
i trong biến thứ f boi, , r; €{1 M,}
Tính sự khác nhau dùng các phương pháp cho biến tỉ lệ theo khoảng
Tịr—1
Trong thực tế, khi tính độ đo tương tự dữ liệu, người ta chỉ xem xét một phần cácthuộc tính đặc trưng đối với các kiểu dữ liệu hoặc là đánh trọng số cho cho tất cả cácthuộc tinh dtr liệu Trong một số trường hợp, người ta loại bỏ đơn vị đo của các thuộc
tính dữ liệu bằng cách chuẩn hoá chúng, hoặc gán trọng số cho mỗi thuộc tinh giá trịtrung bình, độ lệch chuẩn Các trọng số này có thê sử dụng trong các độ đo khoảng cách
trên, ví dụ với mỗi thuộc tính dữ liệu đã được gán trọng số tương ứng wi (1<i<k), độtương đồng dữ liệu được xác định như sau:
d(x,y) = _|3‡—¡w¡|x¡ — vil? (2.12)
NGUYEN THỊ NGOC ANH - D17HTTTI 12
Trang 23DO ÁN TOT NGHIỆP CHƯƠNG 2
Người ta có thể chuyên đổi giữa các mô hình cho các kiêu dữ liệu trên, ví dụ dữliệu kiểu hạng mục có thé chuyền đổi thành dữ liệu nhị phân và ngược lại Tóm lại, tuỳ
từng trường hợp dữ liệu cụ thé ma người ta sử dụng các cách tính độ tương tự khác nhau
2.1.4 Một số phương pháp phân cụm [1]
Một số phương pháp phân cụm điền hì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,
phân cụm có ràng buộc.
Phân cụm phân hoạch
Cho một cơ sở dữ liệu D chứa n đối tượng, tạo phân hoạch thành tập có k cụm
Sao cho:
- Moi cụm chứa ít nhất một đối tượng ;
- Mỗi đôi tượng thuộc về một cum duy nhât
- k cụm tìm được thỏa mãn tiêu chuân tối ưu đã định
Phương pháp heuristic điên hình được biết đên là k-means và k-medoids.
Phân cụm phân cấpPhân cụm phân cấp sắp xếp một tập dữ liệu đã cho thành một cấu trúc có dạnghình cây, cây phân cấp này được xây dựng theo kỹ thuật đệ quy bằng phương pháp trênxuống (Top down) hoặc phương pháp dưới lên (Bottum up)
Phương pháp “dưới lên” (Bottom up): Phương pháp này bắt đầu bằng cách khởitạo mỗi đối tượng riêng biệt là một cụm, sau đó tiến hành nhóm các đối tượng theo một
độ đo tương tự (như khoảng cách giữa hai trung tâm của hai nhóm), quá trình này được
thực hiện cho đến khi tất cả các nhóm được kết nhập thành một nhóm (mức cao nhấtcủa cây phân cấp) hoặc cho đến khi các điều kiện kết thúc thỏa mãn Như vậy, cách tiếp
cận này sử dụng chiến lược tham lam trong quá trình phân cụm
Phương pháp “trên xuống” (Top Down): Bắt đầu với trạng thái là tất cả các đốitượng được xếp trong cùng một cụm Sau mỗi vòng lặp thành công, một cụm được tách
thành các cụm nhỏ hon theo giá tri của một phép do độ tương tự nào đó cho đến khi mỗi
đối tượng là một cụm, hoặc cho đến khi điều kiện dừng thỏa mãn Cách tiếp cận này sử
dụng chiến lược chia để trị trong quá trình phân cụm
Hai thuật toán phân cụm phân cấp điển hình là thuật toán CURE, và thuật toán
BIRCH.
Trong nhiều ứng dụng thực tế, người ta kết hợp cả hai phương pháp phân cụmphân hoạch và phương phân cụm phân cấp, nghĩa là kết quả thu được của phương phápphân cấp có thé cải tiến thông quan bước phân cụm phân hoạch Phân cụm phân hoạch
và phân cụm phân cấp là hai phương pháp phân cụm dữ liệu cô điển, hiện nay đã cónhiều thuật toán cải tiến dựa trên hai phương pháp này đã được áp dụng phổ biến trong
Data Mining.
Phân cụm dựa trên mức độ
NGUYEN THỊ NGOC ANH - D17HTTTI 13
Trang 24DO ÁN TOT NGHIỆP CHƯƠNG 2
Gom cụm dựa trên sự liên thông địa phương và hàm mật độ Theo phương pháp
này các điểm có mật độ cao hơn sẽ ở cùng một cụm
Đặc trưng của phương pháp là phát hiện ra các cụm có hình dạng bat kì và pháthiện nhiễu Phương pháp này nhóm các đối tượng theo hàm mật độ xác định Mật độ
được định nghĩa như là số các đối tượng lân cận của một đối tượng dt liệu theo một
ngưỡng nao đó Trong cách tiếp cận này, khi một cum dữ liệu đã xác định thì nó tiếp tục
được phát triển thêm các đối tượng đữ liệu mới miễn là số các đối tượng lân cận của các
đối tượng này phải lớn hơn một ngưỡng đã được xác định trước Phương pháp phân cụmdựa vào mật độ của các đối tượng dé xác định các cụm dữ liệu có thé phát hiện ra cáccụm dữ liệu với hình thù bat kỳ Tuy vậy, việc xác định các tham số mật độ của thuậttoán rất khó khăn, trong khi các tham số này lại có tác động rất lớn đến kết quả phâncum dt liệu Hình dưới đây là một minh hoạ về các cum dữ liệu với các hình thù khác
nhau dựa trên mật độ được khám phá từ 3 cơ sở dữ liệu khác nhau.
Một số thuật toán phân cụm dữ liệu dựa trên mật độ điển hình như DBSCAN,
OPTICS, DENCLUE .
Phân cum dựa trên lưới
Kỹ thuật phân cụm dựa trên mật độ không thích hợp với dữ liệu nhiều chiều, đểgiải quyết cho đòi hỏi này, người ta đã dir dụng phương pháp phân cụm dựa trên lưới.Đây là phương pháp dựa trên cau trúc dữ liệu lưới dé phân cụm dữ liệu, phương phápnày chủ yếu tập trung áp dụng cho lớp dữ liệu không gian Thí dụ như dữ liệu được biểudiễn đưới dạng cấu trúc hình học của đối tượng trong không gian cùng với các quan hệ,
các thuộc tính, các hoạt động của chúng Mục tiêu của phương pháp này là lượng hoá
tập dữ liệu thành các 6 (Cell), các cell này tạo thành cấu trúc dữ liệu lưới, sau đó cácthao tác phân cụm làm việc với các đối tượng trong từng Cell này Cách tiếp cận dựatrên lưới này không di chuyền các đối tượng trong các cell mà xây dựng nhiều mức phâncấp của nhóm các đối tượng trong một cell Trong ngữ cảnh này, phương pháp này gầngiống với phương pháp phân cụm phân cấp nhưng chỉ có điều chúng không trộn cácCell Do vậy các cụm không dựa trên độ đo khoảng cách (hay độ đo tương tự đối vớicác dit liệu không gian) mà nó được quyết định bởi một tham số xác định trước Ưuđiểm của phương pháp phân cụm dựa trên lưới là thời gian xử lý nhanh và độc lập với
NGUYEN THỊ NGOC ANH - D17HTTTI 14
Trang 25DO ÁN TOT NGHIỆP CHƯƠNG 2
số đối tượng dữ liệu trong tập dữ liệu ban đầu, (thay vào đó là chúng phụ thuộc vào số
cell trong mỗi chiều của không gian lưới)
Một số thuật toán phân cụm dựa trên cấu trúc lưới điển hình như: STING,
WAVECluster, CLIQUE
Phân cụm dựa trên mô hình
Phương pháp này có gắng tìm ra các phép x4p xi tốt cho các tham số mô hình sao
cho khớp với dữ liệu một cách tốt nhất Chúng có thể sử dụng chiến lược phân cụm phân
hoạch hoặc chiến lược phân cụm phân cấp, dựa trên cấu trúc hoặc mô hình mà chúng
giả định về tập dữ liệu và cách mà chúng tinh chỉnh các mô hình này dé nhận dạng racác phân hoạch Phương pháp phân cụm dựa trên mô hình cố gắng khớp giữa dữ liệu
với mô hình toán học, nó dựa trên giả định rằng dữ liệu được tạo ra từ một hỗn hợp củacác phân phối xác suất cơ bản Các thuật toán phân cụm dựa trên mô hình có hai tiếpcận chính: Mô hình thống kê và Mạng Nơ ron Phương pháp này gần giống với phương
pháp dựa trên mật độ, bởi vì chúng phát triển các cụm riêng biệt nhằm cải tiến các mô
hình đã được xác định trước đó, nhưng đôi khi nó không bắt đầu với một số cụm có định
và không sử dụng cùng một khái niệm mật độ cho các cụm.
Phân cụm có ràng buộc
Sự phát triển của phân cụm dữ liệu không gian trên cơ sở dit liệu lớn đã cung cấpnhiều công cụ tiện lợi cho việc phân tích thông tin địa lý, tuy nhiên hầu hết các thuật
toán này cung cấp rất ít cách thức cho người dùng để xác định các ràng buộc trong thế
giới thực cần phải được thoả mãn trong quá trình phân cụm Dé phân cụm dữ liệu khônggian hiệu quả hơn, các nghiên cứu bố sung cần được thực hiện dé cung cấp cho ngườidùng khả năng kết hợp các ràng buộc trong thuật toán phân cụm Thực tế, các phươngpháp trên đã và đang được phát triển và áp dụng nhiều trong phân cụm Đến nay, đã cómột số nhánh nghiên cứu được phát triển trên cơ sở của các phương pháp tiếp cận trong
phân cụm đã trình bày ở trên như sau:
Phân cụm thống kê : Dựa trên các khái niệm phân tích thống kê, nhánh nghiêncứu này sử dụng các độ đo tương tự dé phân hoạch các đối tượng, nhưng chúng chỉ ápdụng cho các dữ liệu có thuộc tính sé
Phân cụm khái niệm : Các kỹ thuật phân cụm được phát triển áp dụng cho dữ liệu
hạng mục, chúng phân cụm các đối tượng theo các khái niệm mà chúng xử lý
Phân cụm mờ : Sử dụng kỹ thuật mờ dé phân cụm dữ liệu, trong đó một đối tượng
dữ liệu có thê thuộc vào nhiều cụm dữ liệu khác nhau Các thuật toán thuộc loại này chỉ
ra lược đồ phân cụm thích hợp với tất cả hoạt động đời sống hàng ngày, chúng chỉ xử
lý các dữ liệu thực không chắc chắn Thuật toán phân cụm mờ quan trọng nhất là thuật
toán FCM (Fuzzy c-means)
Phân cum mang Kohonen : loại phân cụm này dựa trên khái niệm của các mạng
nơ ron Mạng Kohnen có tầng nơ ron vào và các tầng nơ ron ra Mỗi nơ ron của tầngvào tương ứng với mỗi thuộc tính của bản ghi, mỗi một nơ ron vào kết nối với tất cả các
NGUYEN THỊ NGOC ANH - D17HTTTI 15
Trang 26DO ÁN TOT NGHIỆP CHƯƠNG 2
nơ ron của tầng ra Mỗi liên kết được gắn liền với một trọng số nhằm xác định vị trí của
no ron ra tương tng.
Trong phạm vi đồ án, em chon phương pháp phân cụm phân hoạch cụ thé là thuậttoán Kmeans là thuật toán sử dụng phổ biến và độ phức tạp nhỏ dé thực hiện phân cum,nhằm gom cụm các truy vấn dựa trên các tiêu chí tìm kiếm được người dùng đưa vào
2.2 Thuật toán Kmeans
2.2.1 Giới thiệu thuật toán
K-Means là thuật toán rất quan trọng và được sử dụng phổ biến trong kỹ thuật
phân cụm đữ liệu [19] Thuật toán này tìm cách phân cụm các đối tượng đã cho vào k
cụm (k là số cụm được xác định trước, k nguyên dương) sao cho tổng bình phương
khoảng cách giữa các đối tượng đến tâm cụm (centroid) là nhỏ nhất Về nguyên lý, có n
đối tượng, mỗi đối tượng có m thuộc tính, các đối tượng được phân chia thành k cụm
dựa trên các thuộc tính của đối tượng bằng việc áp dụng thuật toán K-means Bài toán
này xem mỗi thuộc tính của đối tượng (đối tượng có m thuộc tính) như một tọa độ của
không gian m chiều và biểu diễn đối tượng như một điểm trong không gian m chiều, đó
là:
A; = (Xin, Xịa, +s Xim)
Trong do:
° a,(i = 1 n): Đôi tượng thứ i
e xj(i = 1 n, j = 1 m): Thuộc tinh thứ j của đối tượng i
Ý tưởng cơ bản của thuật toán:
e Lựa chọn k điểm làm tâm điểm khởi tạo của các cum
e Lap lại các công việc sau:
e _ Hình thành K cụm bằng cách gan tat cả các điểm tới tâm điểm gần nó nhất
e Tính toán lại tâm điểm của mỗi cụm
e Dừng thuật toán khi mà tâm điểm không thay đổi nữa
Thuật toán phân cụm này sử dụng khoảng cách Euclide dé tính toán độ tươngđồng giữa các đối tượng thông qua các vector thuộc tính biéu diễn đối tượng
Khoảng cách Euclide
Giả sử có 2 đối tượng a và c biểu diễn bởi các vector:
dị = (Xi) Xia) Xim)i i = 1 m : đôi tượng cần phân cụm
Ce = (jr Xjar + Xjim),f = 1 m: đối tượng tâm cum(centroid)
Khi đó khoảng cách euclide giữa 2 đôi tượng được tính bởi công thức:
đ;;: Khoảng cách giữa 2 đối tượng a và c
Trong đó:
Xin: Thuộc tính thứ k của đối tượng a;
NGUYEN THỊ NGOC ANH - D17HTTTI 16
Trang 27DO ÁN TOT NGHIỆP CHƯƠNG 2
z;„: Thuộc tính thứ k của đối tượng c;
Phan tử trọng tâmPhần tử trọng tâm của cụm là đại diện cho một cụm và được xác định bang giatrị trung bình các phần tử trong cụm Trong Kmeans, k phan tử trong tâm ban đầu đượclựa chọn ngẫu nhiên, sau mỗi lần gom các đối tượng vào các cụm, phần tử trọng tâm
được tính toán lại:
Gia sử cum Cluster; = { a4, dy, , d,}: tập n đối tượng thuộc cụm i
¡= I k; k số cụmj= 1 m; m số thuộc tínht: số phan tử hiện có của nhóm thứ i
Xs;: Thuộc tính thứ j của phan tử s; s = I t
cj: Tọa độ thứ j của phan tử trung tâm cụm i
Khi đó tọa độ phần tử trung tâm của cụm được tính trung bình như sau:
_ Xš=1Xsj
Thuật toán
Input: Số cụmk và các trọng tâm cụm {m; }; k; = 1Output: Các cụm C[i](1< i < k) và hàm tiêu chuẩn E đạt giá tri tối thiêu
Begin
Bước 1: Khoi tao
Chọn k trọng tâm {m; }(1< i < k), ban đầu trong không gian Rạ(d là số chiều
dt liệu) Việc lựa chọn này có thể là ngẫu nhiên hoặc theo kinh nghiệm
Bước 2: Tính khoảng cách
Với mỗi điểm X,(1< i < n), tính khoảng cách từ nó tới mỗi trọng tâm đã xácđịnh ở trên và tìm ra trọng tâm gần nó nhất Đưa điểm đó vào cụm có trọng tâm đó
Bước 3: Cập nhật lại trọng tâm
Đối với mỗi cụm J dsj <k), cập nhật lại trọng tâm bằng cách xác định trung
bình tọa độ các vector thuộc cụm của trọng tâm đó.
Điều kiện dừng: Lặp lại bước 2 và bước 3 cho đến khi trọng tâm các cụm khôngthay đổi
End
2.2.2 Vấn đề lựa chọn số cụm
Trong các thuật toán phân cụm dữ liệu K-means, trong đó k là số cụm phải đượcxác định trước khi tiến hành phân cụm Câu hỏi đặt ra là với dataset đã có thì cần phân
thành bao nhiêu cụm là hợp lý (tối ưu) Không có một số lượng k nào là phù hợp cho
tat cả các bài toán Vì thế, người ta đưa ra các score, các metric mà chúng ta có thé sử
dụng dé lựa chọn giá trị k cho được performance tốt nhất trên các chỉ số này
NGUYEN THỊ NGOC ANH - D17HTTTI 17
Trang 28DO ÁN TOT NGHIỆP CHƯƠNG 2
Inertia và phương pháp khuỷu tay(Elbow method)
Inertia: là một độ đo về mức độ gan kết nội bộ trong một cụm Công thức như
sau:
1
Wy= Dk in Pr (2.15)
Trong đó: n, là số lượng đối tượng trọng cum r; D, là tong bình phương khoảng
cách của các ví dụ trong cụm r tới tâm của cụm đó.
Chúng ta sé lựa chọn giá tri k theo phương pháp khủy tay, tức chọn giá tri k ma
khi tăng giá trị của nó thì Inertia metric có xu hướng đi ngang hoặc giảm không đáng
Hình 2.3 Minh họa phương pháp đường khuỷu tay
Khó khăn của việc sử dụng metric này là đôi khi ta khó có thể xác định đượcđiểm khủy tay băng bao nhiêu là hợp lý
Average silhouette method
Average silhouette dung dé do lường chất lượng của một cụm Nó xác định mức
độ phù hợp của một đối tượng trong một cụm.
Silhouette score: một score có giá tri trong đoạn từ -1 đến 1, giá tri này càng caocho biết kết qua phân cụm càng đúng
Với mỗi điểm i trong cụm C;, ta định nang
Là khoảng cách trung bình từ điểm i tới tat cả các điểm khác cũng nằm trong cum
đó.
b(i) = min 7 Die c„ Ui j) (2.17)
Là giá trị nhỏ nhất của khoảng cách trung bình từ điểm ¡ tới các đối tượng thuộc
cụm khác.
NGUYEN THỊ NGOC ANH - D17HTTTI 18
Trang 29DO ÁN TOT NGHIỆP CHƯƠNG 2
Từ đó chỉ số silhouette score được tính bằng:
Trong đó s(k) là giá tri Silhouette trung bình của tat ca các điểm trong cụm k
2.3 Khai phá nhật ký truy vấn dựa trên Kmeans
2.3.1 Cấu trúc nhật ký truy vấn
(2.19)
Nhật ký truy vẫn bao gồm thông tin về những lượt tìm kiếm của người dùng đượclưu lại Nhật ký truy van khác với server log thông thường là chúng lưu lại nội dung truy
vân của người dùng và các link website được người dùng click vào sau khi nhận được
danh sách kêt quả tìm kiêm Tùy thuộc vào các máy tìm kiêm khác nhau mà có những
cấu trúc query log lưu trữ khác nhau nhưng về cơ bản đều có phải chứa hai trường quan
trong đó là nội dung truy van và URL website click tương ứng Một vài máy tìm kiếm
phô biến và bộ query log của nó đã từng được công bố như AOL, MSN
liquid candle dye 06-03-04 1 5 1.0 http://www.craftcave.com liquid candle dye 2006-03-04 13:20: 3 http://www.candlesupply.com liquid candle dye 2006-03-04 13:20:05 5.0 ,cierracandles.com scented bean 1.0 http://www.scentedbean.com
schwab 11 08:07:35 ‡ / 'wwu, schwab.com/
HARRYS FLOWER: “139 05:06:33 p://search.msn.c (details aspx
Hình 2.5 Ví dụ cấu trúc query log bộ tim kiém MSN[4]
Các thông tin cơ bản của query log bao gồm:
e Query: Query tìm kiêm của người dùng truyên vào