Khóa luận Hệ thống tư vấn website cho máy tìm kiếm dựa trên khai phá query log

ĐẠI HC QUỐC GIA HÀ NỘI  
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ  
Nguyễn Song Hà  
HTHỐNG TƯ VẤN WEBSITE CHO MÁY TÌM  
KIM DỰA TRÊN KHAI PHÁ QUERY LOG  
KHOÁ LUẬN TT NGHIỆP ĐẠI HC HỆ CHÍNH QUY  
Ngành: Công nghệ Thông tin  
Hà Nội - 2009  
ĐẠI HC QUỐC GIA HÀ NỘI  
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ  
Nguyễn Song Hà  
HTHỐNG TƯ VẤN WEBSITE CHO MÁY TÌM  
KIM DỰA TRÊN KHAI PHÁ QUERY LOG  
KHOÁ LUẬN TT NGHIỆP ĐẠI HC HỆ CHÍNH QUY  
Ngành: Công nghệ Thông tin  
Cán bộ hướng dn:  
PGS.TS Hà Quang Thuỵ  
Cán bộ đồng hướng dn:  
Th.S Nguyn Thu Trang  
Hà Nội - 2009  
Lời cảm ơn  
Trước tiên, tôi xin gửi lời cảm ơn và lòng biết ơn sâu sắc nhất tới Phó Giáo sư  
Tiến sĩ Hà Quang Thụy và Thạc sỹ Nguyn Thu Trang, người đã tận tình chỉ bảo  
và hướng dẫn tôi trong suốt quá trình thực hiện khoá luận tốt nghiệp.  
Tôi chân thành cảm ơn các thầy, cô đã tạo cho tôi những điều kiện thuận lợi để học tập  
và nghiên cứu tại trường Đại Học Công Nghệ.  
Tôi cũng xin gửi lời cảm ơn tới các anh chị và các bạn sinh viên trong nhóm ―Khai phá  
dữ liệu‖ đã giúp tôi rất nhiều trong việc thu thập và xử lý dữ liệu.  
Cuối cùng, tôi muốn gửi lời cảm vô hạn tới gia đình và bạn bè, những người thân yêu  
luôn bên cạnh và động viên tôi trong suốt quá trình thực hiện khóa luận tốt nghiệp.  
Tôi xin chân thành cảm ơn !  
Sinh viên  
Nguyễn Song Hà  
Tóm tắt nội dung  
Hệ tư vấn (recommender system) đã trở thành một trong những lĩnh vực nghiên cứu  
quan trng ktừ khi bài báo đầu tiên về lc cộng tác (collaborative filtering) xuất hin  
vào giữa những năm 1990. Hin nay, sự quan tâm đối vi hệ tư vấn đang rất cao vì sự  
cn thiết ca nhng ng dụng có thể giúp người dùng xử lý với tình trạng quá tải  
thông tin & đưa ra những ni dung hoc lời khuyên phù hợp cho từng cá nhân. Mt  
vài ứng dng ni tiếng như: hệ tư vấn sách, CDs của Amazon.com, hệ tư vấn phim ca  
MovieLens… Nhưng so với sách, phim… thì số lượng website bùng nổ mỗi ngày còn  
lớn hơn rất nhiều. Khóa luận đề xuất phương pháp xây dựng mt hthống tư vấn  
website dựa trên việc khai phá query logs của máy tìm kiếm. Các website được tư vấn  
là kết quả có được dựa trên phân tích những la chn của hàng nghìn người dùng  
trước đó. Thực nghiệm ban đầu ca hthng cho kết quả khá tốt.  
i
 
Mục lục  
ii  
 
iii  
Danh sách hình vẽ  
v
 
Lời mở đầu  
Trong thời đại bùng nổ thông tin, khi người dùng thường bngp trong khối lượng  
thông tin khổng lồ thì hệ tư vấn ngày càng có vai trò quan trọng. Có khá nhiều hệ  
thống tư vấn ni tiếng, nhưng hầu hết chtập trung vào mt số lĩnh vực hp như: sách,  
phim, ca nhạc…Các hệ thống đó thường dựa vào đánh giá của các chuyên gia  
(reviewer) vi nhng bộ tiêu chuẩn cth, hoc dựa trên việc chấm điểm sn phm  
bởi người dùng. Nhưng các lĩnh vực trong cuc sng rất phong phú, số lượng chng  
loi sn phm rt lớn. Để có hệ tư vấn dựa trên chuyên gia hay những bộ tiêu chuẩn cụ  
thể như vậy trên mọi lĩnh vực, mi sn phầm là điều không thể.  
Khi cần tìm thông tin về mt sn phẩm nào đó, giải pháp được hu hết người  
dùng sử dụng là đưa câu hỏi vào máy tìm kiếm thay vì tìm đến nhng website/forum  
chuyên ngành. Tuy nhiên, máy tìm kiếm không phải lúc nào cũng hiệu quả. Máy tìm  
kiếm chỉ có thể đưa ra một danh sách các lựa chọn (có thể lên đến hàng triệu) chứ  
không thể nói được la chọn nào là tốt nht.  
Ví dụ, một du khách lần đầu đến Hà Nội, muốn tìm khách sạn bng query:  
“hanoi hotel”, snhận được tGoogle gn hai triu kết qutrv. Hu hết mọi khách  
sạn trong danh sách kết quả đều xa lạ và tự quảng cáo mình là tốt nhất, làm cho du  
khách bối ri trong biển thông tin. Không thể có thời gian để tìm hiểu li vtng  
khách sạn (dù chỉ là trong 10-20 kết quả đầu); người khách cần lời khuyên cho trường  
hợp này. Những nhu cầu như vậy có thể bt gp rt nhiu trong cuc sống hàng ngày,  
ngay cả khi người ta tìm kiếm nhng sn phầm đơn giản như một chiếc đầu DVD, mt  
hãng sơn, một công ty taxi …, mà vì không có thông tin nên với hmi thương hiệu  
đều như nhau. Cần có một phương pháp có thể đưa ra gợi ý, tư vấn cho người dùng đủ  
tốt để áp dng cho nhng chủ đề rất đa dạng ca cuc sng.  
Mt giải pháp rất tốt và hiệu quả là gợi ý dựa trên chính kinh nghiệm ca nhng  
người đã từng tìm về chủ đề này trước đó. Những thông tin được lưu lại trong log ca  
máy tìm kiếm scho biết những người tìm về chủ đề đó thường hay truy cập vào  
website nào. Những website này đã qua hai lần ―lọc‖, một của máy tìm kiếm và một  
của người dùng (không phải ngu nhiên mà nhiều người dùng lại có cùng một la  
chọn). Đôi khi những kết quả này còn tốt hơn cả kết quả máy tìm kiếm trlại. Ví dụ:  
nhng website tin tc lớn,được nhiều người tìm & truy cập nht của Vietnam như:  
VnExpress, Vietnamnet, Dân Trí… đều không xuất hiện trong top 10 khi tìm “vietnam  
news” trên cả Yahoo & Live Search (phiên bản mi ca MSN).  
1
 
Vì lí do đó, khóa luận đề xut việc xây dựng mt hthống tư vấn website cho  
máy tìm kiếm dựa trên khai phá query log. Bài toán khai phá query logs là bài toán  
phi xử lý khối lượng dliu rt ln (lên tới hàng gigabyte) nên việc chọn được mt  
thuật toán tốt và hiệu quvthời gian là rất khó khăn. Hệ thống này được phát triển từ  
đề tài nghiên cứu khoa hc vhệ tư vấn website của nhóm chúng tôi [1] (thuộc phòng  
thí nghiệm Sislab – đại học Công Nghệ). [1] tập trung vào việc thống kê website và  
khai phá mẫu có thứ tự (tìm ra quy luật gia từ khóa trong query và url được click) để  
đưa ra tư vấn. Khác với [1], hthống được đề xuất trong khóa luận tập trung vào việc  
xác định tập website có giá trị và xếp hng lại chúng theo query người dùng đưa vào.  
Ý tưởng chính ca hthng gồm ba bước:  
Bước một: nhóm các query tương đồng vào các cụm. Mi cụm tương ứng vi  
mt chủ đề.  
Bước hai: tìm ra tập nhng website (url) tt, đại din cho tng cm. Tp website  
này gọi là tập website tư vấn.  
Bước ba: khi người dùng đưa vào một query mới, query này sẽ được phân cụm.  
Hthng sẽ phân tích, và đưa ra các website trong tập website tư vấn thích hợp nht  
với query đó.  
Phần còn li của khóa luận được chia thành bốn chương:  
Chương 1. Tng quan vhệ tư vấn: Trình bày những nội dung cơ bản vhệ tư  
vấn (các hệ thng ni tiếng, mô tả bài toán tư vấn, phân loại các hệ tư vấn theo phương  
pháp xây dựng). Gii thiu hệ tư vấn website được xây dựng trong khóa luận.  
Chương 2. Khai phá query log và ứng dng: Gii thiu vcấu trúc query log của  
máy tìm kiếm, các thông tin có thể khai phá, phương pháp khai phá và các ứng dng  
ca việc khai phá query log.  
Chương 3. Hthống tư vấn website cho máy tìm kiếm dựa trên khai phá query  
log: Trình bày mô hình hệ thống tư vấn website do chúng tôi đưa ra và các công trình  
liên quan.  
Chương 4. Thc nghiệm và đánh giá: Xây dựng, thnghiệm và đánh giá hệ  
thng với các query liên quan tới min sn phẩm điện t.  
Phn kết lun tng kết nội dung chính của khóa luận, các vấn đề còn tồn tại và  
định hướng phát triển ca hthng.  
2
Chương 1. Tổng quan về hệ tư vấn  
1.1. Gii thiu vhệ tư vấn  
Trong cuc sống hàng ngày, trong rất nhiều trường hợp, người ta đưa ra các lựa chn  
dựa trên những ý kiến hay lời khuyên của mọi người xung quanh, có thể qua lời nói,  
các bản đánh giá sản phm, khảo sát thị trường, thư giới thiệu …v..v. 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  
tới yêu cầu phải có các phương pháp tự động thu thập thông tin và đưa ra lời khuyên  
để htrợ cho các phương pháp truyến thống trên . Hệ tư vấn (recommender system) là  
mt giải pháp như vậy. Hthống này đưa ra gợi ý dựa trên những gì người dùng đã  
làm trong quá khứ, hoc dựa trên tổng hợp ý kiến ca những người dùng khác. Hệ tư  
vấn đã trở thành một ng dng 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 hệ tư vn ni tiếng [8] :  
o Phim / TV/ âm nhc: MovieLens, EachMovie, Morse, Firefly, Flycasting,  
Ringo…  
o Tin tức / báo chí: Tapestry, GroupLens, Lotus Notes, Anatagonomy…  
o Sách / Tài liệu: Amazon.com, Foxtrot, InfoFinder…  
o Web: Phoaks, Gab, Fab, IfWeb, Let's Browse …  
o Nhà hàng: Adaptive Place Advisor, Polylens, Pocket restaurent finder…  
o Du lịch: Dietorecs, LifestyleFinder …  
$1,000,000  
Hình 1. Giải thưởng 1 triu USD ca  
Netflix cho ai đưa ra được thuật toán  
giúp tăng độ chính xác của hthống tư  
vn phim ca họ thêm 10% [21]  
Hình 2. Ba hi nghca ACM về  
hệ tư vấn đưc tchc ở châu Âu  
và Mỹ [3]  
3
       
1.2. Bài toán tư vấn  
Theo Adomavicius và Tuzhilin trong [4], trong hầu hết các trường hợp, bài toán tư vấn  
được coi là bài toán ước lượng trước hạng (rating) của các sản phẩm (phim, cd, nhà  
hàng …) chưa được người dùng xem xét. Việc ước lượng này thường dựa trên những  
đánh giá đã có của chính người dùng đó hoặc những người dùng khác. Những sản  
phẩm có hạng cao nhất sẽ được dùng để tư vấn.  
Một cách hình thức, bài toán tư vấn được mô tả như sau:  
Gi C là tập tt cả người dùng; S là tập tt cả các sản phẩm có thể tư vấn. Tp S  
có thể rt ln, từ hàng trăm ngàn (sách, cd…) đến hàng triệu (như website). Tập C  
trong mt số trường hợp cũng có thể lên tới hàng triệu.  
Hàm u(c,s) đo độ phù hợp (hay hng) ca sn phm s vi user c: : × 푆 → 푅  
vi R là tập được sp tht. Vi mỗi người dùng 푐 ∈ 퐶, cần tìm sản phm ∈ 푆 sao  
cho hàm u(s’, c) đạt giá trị ln nht: ∀푐 ∈ 퐶, 푠′= arg max푠∈푆 (, )  
Trong hệ tư vấn, độ phù hợp ca mt sn phẩm thường được cho bằng điểm, ví  
dụ người dùng A đánh giá bộ phim ―Star war 3‖ được điểm 7/10. Tuy nhiên, nhìn  
chung độ phù hợp có thể là một hàm bất kì tùy thuộc vào ứng dng cthể. Giá trị ca  
hàm u có thể đưc xác định bởi người dùng hoặc được tính toán bởi công thức nào đó.  
Mỗi người dùng trong không gian C được xác định bi mt hồ sơ (profile). Hồ  
sơ này có thể gm rt nhiu loại thông tin: tuổi, giới tính, thu nhập, … hoặc có thể chỉ  
gm một trường mã số người dùng (user id) duy nhất. Tương tự, mi sn phm trong  
không gian S cũng được xác định bi mt tập các đặc trưng. Ví dụ, trong hthống tư  
vấn phim, đặc trưng của mi bộ phim có thể là : tên phim, thể loại, đạo diễn, năm sản  
xut, diễn viên chính …v…v.  
Vấn đề chính của hệ tư vấn là hàm u không được xác định trên toàn không gian  
× mà chỉ trên một min nhcủa không gian đó. Điều này dẫn ti việc hàm u phi  
được ngoại suy trong không gian × . Thông thường, độ phù hợp được thhin  
bằng điểm và chỉ xác định trên tập các sản phẩm đã từng được người dùng đánh giá từ  
trước (thường khá nhỏ). Ví dụ, bng 1 là đánh giá của mt số người dùng với các phim  
mà họ đã xem (thang điểm t0-10, kí hiệu nghĩa là bộ phim chưa được người dùng  
cho điểm). Tnhững thông tin đó, hệ thống tư vấn phi dự đoán (ngoại suy) điểm cho  
các bộ phim chưa được người dùng đánh giá, từ đó đưa ra những gợi ý phù hợp nht.  
4
 
Harry potter  
Star trek  
Xmen  
Transformer  
5
9
6
7
5
8
9
8
9
A
B
C
D
5
6
Bảng 1. Đánh giá của người dùng về mt sbộ phim đã xem  
1.3. Phân loại hệ tư vấn  
Có rất nhiều cách để dự đoán, ước lượng hạng/điểm cho các sản phẩm như sử dng  
học máy, lí thuyết xp sỉ, các thuật toán dựa trên kinh nghiệm… Theo [4], các hệ  
thống tư vấn thường được phân thành ba loại dựa trên cách nó dùng để ước lượng hng  
ca sn phm:  
o Dựa trên nội dung (content-based): người dùng được gợi ý những sn phm  
tương tự như các sn phm từng đưc họ đánh giá cao.  
o Cộng tác (collaborative): người dùng được gợi ý những sn phẩm mà những  
người cùng sở thích với họ đánh giá cao.  
o Lai ghép (hybrid): kết hp cả phương pháp dựa trên.  
1.3.1. Phương pháp dựa trên nội dung  
(
)
Theo [4], với phương pháp tư vấn dựa trên nội dung, độ phù hợp 푢 푐, ca sn phm  
(
)
s với người dùng c được đánh giá dựa trên độ phù hợp 푢 푐, , trong đó si ϵ S và  
―tương tự‖ như s. Ví dụ, để gợi ý một bộ phim cho người dùng c, hthống tư vấn sẽ  
tìm các đặc điểm ca nhng bphim từng được c đánh giá cao (như diễn viên, đạo  
diễn…); sau đó chnhng bộ phim tương đồng vi sở thích ca c mới được gii thiu.  
Hướng tiếp cn dựa trên nội dung bt ngun tnhững nghiên cứu vthu thp  
thông tin (IR - information retrieval) và lọc thông tin (IF - information filtering). Do  
đó, rất nhiu hthng dựa trên nội dung hin nay tập trung vào tư vấn các đối tượng  
cha dliệu text như văn bản, tin tức, website… Những tiến bso với hướng tiếp cn  
cũ của IR là do việc sdng hồ sơ về người dùng (chứa thông tin về sở thích, nhu  
cầu…) . Hồ sơ này được xây dựng dựa trên những thông tin được người dùng cung  
5
     
cp trc tiếp (khi trli khảo sát) hoặc gián tiếp (do khai phá thông tin từ các giao  
dch của người dùng).  
Hình 3. Tư vấn dựa trên ni dung [17]  
Để cthể hơn, đặt Content(s) là tập thông tin (hay tập các đặc trưng) về sn  
phm s. Do hthng dựa trên nội dung được thiết kế chyếu để dành cho các sản  
phẩm là text, nên nội dung sn phẩm thường được biu din bởi các từ khóa  
(keyword): Content(s) = (w1s, …wks), vi w1s,..wks là trọng scủa các từ khóa từ 1  
tới k (có thể được tính bằng TF-IDF). Ví dụ, hệ tư vấn website Fab biu din ni dung  
các trang web bằng 100 tquan trng nhất. Tương tự, hthng Syskill & Webert biu  
diễn văn bn bng 128 từ có trọng scao nht.  
Đặt Profile(c) là hồ sơ về người dùng c, bao gồm các thông tin về sở thích của  
c. Những thông tin này có được bằng cách phân tích nội dung của các sản phm tng  
được c đánh giá (cho điểm) trước đó. Phương pháp được sdụng thường là các kĩ  
thuật phân tích từ khóa của IR, do đó, Profile(c) cũng có thể được định nghĩa như một  
vector trng s:  
Profile(c) = (w1c, …,wkc) vi xic biu thị độ quan trng ca từ khóa i với người  
dùng c.  
6
 
Trong hthống tư vấn dựa trên nội dung, độ phù hợp u(c,s) được xác định bi  
công thức:  
u(c,s) = score(Profile(c), Content(s))  
CProfile(c), Content(s) đều có thể được biu din bng vector trng stTF-  
IDF (tương ứng là , ) nên có thể đo độ tương đng của chúng bằng độ đo cosin:  
. 푤  
(
)
푢 푐, = cos( , ) =  
|||| × || ||  
Ví dụ, nếu c đọc nhiều bài báo thuộc lĩnh vực sinh học thì các từ khóa liên quan  
ti sinh học (như gen, protein, tế bào, ADN…) trong Profile(c) sẽ có trọng scao. Hệ  
quả là với các bài báo s cũng thuộc lĩnh vực này sẽ có độ phù hợp u(c,s) cao hơn với  
người dùng c.  
Bên cạnh các phương pháp IR, hệ tư vấn dựa trên nội dung còn sử dng nhiu  
phương pháp học máy khác như: phân lớp Bayes, cây quyết định, mạng nơron nhân  
tạo… Các phương pháp này khác với các phương pháp của IR chỗ nó dựa trên các  
mô hình học được tdliu nền. Ví dụ, dựa trên tập các trang web đã được người  
dùng đánh giá là có nội dung ―tốt‖ hoặc ―xấu‖ có thể sdụng phân lớp Bayes để phân  
loại các trang web chưa được đánh giá.  
1.3.2. Phương pháp cộng tác  
Theo [4], không giống như phương pháp tư vấn dựa trên nội dung, hthng cộng tác  
dự đoán độ phù hợp u(c,s) ca mt sn phm s với người dùng c dựa trên độ phù hợp  
u(cj, s) giữa người dùng cj s, trong đó cj là người có cùng sở thích vi c. Ví dụ, để  
gợi ý một bộ phim cho người dùng c, đầu tiên hệ thng cộng tác tìm những người dùng  
khác có cùng sở thích phim ảnh vi c. Sau đó, những bộ phim được họ đánh giá cao sẽ  
được dùng để tư vấn cho c.  
Có rất nhiu hthng cộng tác đã được phát triển như: Grundy, GroupLens (tin  
tức), Ringo (âm nhạc), Amazon.com (sách), Phoaks (web)… Các hệ thống này có thể  
chia thành hai loại: dựa trên kinh nghiệm (heuristic-based hay memory-based) và dựa  
trên mô hình (model-based).  
7
 
Hình 4. Tư vấn dựa trên cộng tác [17]  
1.3.2.1. Hệ thống cộng tác dựa trên kinh nghiệm  
Các thuật toán dựa trên kinh nghiệm dự đoán hạng ca mt sn phm dựa trên toàn bộ  
các sản phẩm đã được đánh giá trước đó bởi người dùng. Nghĩa là, hạng ca sn phm  
s với người dùng c (rc,s ) được tng hp từ đánh giá của những người dùng khác về s  
(thường là N người có sở thích tương đồng nht vi c).  
,푠  
= aggr vi 푐′ ∈ 퐶 (tập N người dùng cùng sở thích với c)  
푐′,푠  
Mt số ví dụ về hàm tổng hp (aggregate):  
1
( )  
푎 푟  
=
  푟  
푐′,푠  
푐′∈퐶  
,푠  
( )  
(
)
푏 푟 = ×   푠푖푚 푐, × 푟  
,푠  
푐′,푠  
푐′∈퐶  
( )  
(
)
푐 푟 = + ×   푠푖푚 푐, × (푟 − )  
,푠  
푐′,푠  
푐′  
푐′∈퐶  
Vi:  
k = hschuẩn hóa  
sim(c, c’) = độ tương đng (vsở thích) giữa người dùng c c’  
, = trung bình của các đánh giá được cho bởi người dùng c c’  
푐′  
Có nhiều cách để tính độ tương đồng (vsở thích) giữa hai người dùng, nhưng  
trong hu hết các phương pháp, độ tương đồng chỉ được tính dựa trên các sản phm  
8
 
được cả hai người cùng đánh giá. Hai phương pháp phổ biến nhất là dựa trên độ tương  
quan (correlation-based) và dựa trên cosin (cosine-based).  
Đặt 푥푦 =  푠 ∈ 푆| 푟 ≠ & 푟 ≠   là tập các sản phẩm được đánh giá bởi cả  
,푠  
,푠  
hai người dùng x, y.  
Công thức dựa trên độ tương quan ca Pearson [27]:  
 
(푟 − ) × (푟 − )  
푠∈푆  
,푠  
,푠  
푥푦  
(
)
푠푖푚 푥, =  
2
(푟 − )2  
푥푦  
 
 
 
푠∈푆  
(푟 − ) ×  
푠∈푆  
,푠  
,푠  
푥푦  
Với phương pháp dựa trên cosin, hai người dùng được biu din bi 2 vector m  
chiu, vi m = |Sxy|. Độ tương đồng giữa 2 vector được tính bởi công thức:  
 
× 푟  
,푠  
. 푦  
푠∈푆  
,푠  
푥푦  
(
)
푠푖푚 푥, = cos( , ) =  
=
    
    
    ×     
2
2
 
 
 
푠∈푆  
,푠  
×
 
푠∈푆  
,푠  
푥푦  
푥푦  
1.3.2.2. Hệ thống cộng tác dựa trên mô hình  
Khác với phương pháp dựa trên kinh nghiệm, phương pháp dựa trên mô hình (model-  
based) sdụng kĩ thuật thống kê và học máy trên dữ liu nền (các đánh giá đã biết) để  
xây dựng nên các mô hình. Mô hình này sau đó sẽ được dùng để dự đoán hạng của các  
sn phẩm chưa được đánh giá.  
Breese trong [14] đề xuất hướng tiếp cận xác suất cho lc cộng tác (collaborative  
filtering), trong đó công thức sau ước lượng đánh giá của người dùng c vsn phm s  
(thang điểm đánh giá từ 0 đến n):  
,푠  
=    =   × Pr(= |,, 푠′ ∈ 푆)  
,푠 푐,푠  
=0  
Billsus và Pazzani trong [12] đề xuất phương pháp lọc cộng tác trên nền hc  
máy, trong đó rất nhiều các kĩ thuật học máy (như mạng nơron nhân tạo) và các kĩ  
thuật trích chọn đặc trưng (như SVD – một kĩ thuật đại snhằm làm giảm schiu ca  
ma trận) có thể được sdng.  
Ngoài ra còn nhiều hướng tiếp cận khác như mô hình thống kê, mô hình bayes,  
mô hình hồi quy tuyến tính, mô hình entropy cực đại…  
9
Hthống tư vấn cộng tác khắc phục được nhiều nhược điểm ca hthng da  
trên nội dung. Một điểm quan trọng là nó có thể xử lý mọi loi dliệu và gợi ý mọi  
loi sn phm, kcnhng sn phm mới, khác hoàn toàn so với những gì người dùng  
tng xem.  
1.3.3. Phương pháp lai ghép  
Một vài hệ tư vấn kết hp cả phương pháp cộng tác và dựa trên nội dung nhằm tránh  
nhng hn chế ca cả hai. Có thể phân thành bốn cách kết hợp như sau:  
o Cài đặt hai phương pháp riêng rẽ ri kết hp dự đoán của chúng.  
o Tích hợp các đặc trưng của phương pháp dựa trên nội dung vào hệ thng cng  
tác  
o Tích hợp các đặc trưng của phương pháp cộng tác vào hệ thng dựa trên đặc  
trưng  
o Xây dựng mô hình hợp nht, bao gồm các đặc trưng của cả hai phương pháp.  
1.3.3.1. Kết hợp hai phương pháp riêng rẽ  
Có hai kịch bản cho trường hợp này:  
o Cách 1: Kết hp kết quca cả hai phương pháp thành một kết quchung  
duy nht, sdụng cách kết hp tuyến tính (linear combination) hoặc voting  
scheme.  
o Cách 2: Tại mi thời điểm, chchọn phương pháp cho kết qutốt hơn (dựa  
trên một số độ đo chất lượng tư vấn nào đó). Ví dụ, hthng DailyLearner  
system chọn phương pháp nào đưa ra gợi ý với độ chính xác (confidence)  
cao hơn.  
1.3.3.2. Thêm đặc trưng của mô hình dựa trên nội dung vào mô hình cộng tác  
Mt shthống lai (như Fab) dựa chyếu trên các kĩ thuật cộng tác nhưng vẫn duy trì  
hồ sơ về người dùng (theo dạng của mô hình dựa trên nội dung). Hồ sơ này được dùng  
để tính độ tương đồng giữa hai người dùng, nhờ đó giải quyết được trường hợp có quá  
ít sản phẩm chung được đánh giá bởi cả hai người. Mt lợi ích khác là các gợi ý sẽ  
không chỉ gii hạn trong các sản phẩm được đánh giá cao bởi những người cùng sở  
10  
 
thích (gián tiếp), mà còn cvi nhng sn phm có độ tương đồng cao vi sở thích ca  
chính người dùng đó (trực tiếp).  
1.3.3.3. Thêm đặc trưng của mô hình cộng tác vào mô hình dựa trên nội dung  
Hướng tiếp cn phbiến nhất là dùng các kĩ thuật gim schiều trên tập hồ sơ của  
phương pháp dựa trên nội dung. Ví dụ, [29] sdụng phân tích ngữ nghĩa ẩn (latent  
semantic analysis) để tạo ra cách nhìn cộng tác (collaborative view) với tp hồ sơ  
người dùng (mi hồ sơ được biu din bi mt vector từ khóa).  
1.3.3.4. Mô hình hợp nhất hai phương pháp  
Trong những năm gần đây đã có khá nhiều nghiên cứu về mô hình hợp nht. [10] đề  
xut kết hợp đặc trưng của cả hai phương pháp vào một bộ phân lớp dựa trên luật  
(rule-based classifier). Popescul và cộng strong [25] đưa ra phương pháp xác suất  
hp nht dựa trên phân tích xác suất ngữ nghĩa ẩn (probabilistic latent semantic  
analysis). [6] gii thiệu mô hình hồi quy Bayes sdụng dây Markov Monte Carlo để  
ước lượng tham s.  
Độ chính xác của hthống tư vấn lai ghép có thể được ci tiến bằng cách sdng  
các kĩ thuật dựa trên tri thức (knowledge-based) như case-based reasoning. Ví dụ, hệ  
thống Entrée dùng những tri thc về nhà hàng, thc phm (như: đồ biển không phải là  
thức ăn chay).. để gợi ý nhà hàng thích hợp cho người dùng. Hạn chế chính của hệ  
thng dạng này là nó cần phi thu thập đủ tri thức, đây cũng là nút thắt cchai (bottle-  
neck) ca rt nhiu hthống trí tuệ nhân tạo khác. Tuy nhiên, các hệ thống tư vấn da  
trên tri thc hin đang được phát triển trên các lĩnh vực mà miền tri thc của nó có thể  
biu din dạng mà máy tính đọc được (như ontology). Ví dụ, hthống Quickstep và  
Foxtrot sdng ontology vchủ đề của các bài báo khoa học để gợi ý những bài báo  
phù hợp cho người dùng.  
Một vài bài báo như [9] đã thực hiện so sánh hiệu năng của hthống lai ghép với  
các hệ thng dựa trên nội dung hoc cộng tác thuần túy và cho thấy hthống lai ghép  
có độ chính xác cao hơn.  
11  
Các kĩ thut sdng  
Dựa trên kinh nghiệm Dựa trên mô hình  
Phương pháp  
Dựa trên nội dung +TF-IDF  
+Phân cm  
+Phân lớp bayes  
+Phân cm  
+Cây quyết định  
+Mạng nơron nhân tạo  
Cộng tác  
+k-Láng ging gn nht  
+Mng bayes  
+Phân cm  
+Phân cm  
+Lí thuyết đồ thị  
+Mạng nơron nhân tạo  
+Hi quy tuyến tính  
+Mô hình xác suất  
Lai ghép  
+Kết hp tuyến tính kết quả +Tích hợp đặc trưng của mt  
phương pháp vào mô hình ca  
phương pháp còn li.  
+Xây dựng mô hình hợp nht hai  
phương pháp.  
Bảng 2. Ba phương pháp tư vấn [4]  
1.4. Sơ bộ vhệ tư vấn trong khóa luận  
Hthống được xây dựng trong khóa luận là một hthống tư vấn website. Nhưng thay  
vì đứng như một ng dụng riêng rẽ, hthng sẽ được tích hợp ngay vào máy tìm kiếm  
để trc tiếp đưa ra những tư vấn phù hợp vi ni dung query của người dùng.  
Phương pháp được sdụng để đưa ra tư vấn cho một query là dựa vào các lựa  
chn ca những người dùng đã từng tìm về chủ đề đó. Vì thế, có thể xếp hthống vào  
nhóm các hệ tư vấn cộng tác (collaborative).  
Vi hu hết các hệ tư vấn cng tác thường thy, từng người dùng cụ thể được xác  
định rõ ràng (qua hồ sơ cá nhân) và các sản phẩm thường được người dùng đánh giá  
12  
   
trc tiếp (ví dụ: cho điểm). Nhưng trong hệ tư vấn website cho máy tìm kiếm, chai  
việc trên đều không thể thc hiện được. Hu hết tt cả các máy tìm kiếm hiện nay đều  
không yêu cầu người dùng phải đăng kí tài khoản vì việc buc phải đăng nhập hệ  
thống là một cn 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 sdng (session) ca hbằng cách  
phân tích log của máy tìm kiếm (dựa và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 vic rt phbiến và được thc hiện liên  
tc nhiu lần, người dùng luôn muốn nhận được kết quthật nhanh và không muốn  
vướng vào các chi 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 trvề cũng không khả thi.  
Vì những lý do trên, thay vì xác định đối tượng là người dùng, hệ thống được đề  
xuất trong báo cáo xác định đối tượng là các query. Hai query tương đồng có vai trò  
như hai người dùng cùng sở thích. Những website (url) được click tương ứng vi  
query có vai trò như những sn phẩm được người dùng đánh giá cao (vì chỉ có một vài  
website được click trên tổng skết qutrvề). Các thông tin về query tương đồng và  
url được click được khai thác từ query log của máy tìm kiếm.  
13  
Chương 2. Bài toán khai phá query log và ứng dụng  
2.1. Cấu trúc query log  
Query log bao gồm thông tin về những lượt tìm kiếm của người dùng được máy tìm  
kiếm lưu lại. Khác với server log thông thường, query log có thêm thông tin về ni  
dung query và các website được người dùng click. Mỗi máy tìm kiếm có một cách lưu  
log khác nhau và thường rất ít khi công bố ra ngoài (một lí do là vì vi phạm sự riêng tư  
của người dùng). Hình 5 & 6 là một phn query log của AOL được công bố năm 2006  
[7] và cấu trúc log của Google, được công bố trên website của công ty này [18].  
Hình 5. Mt phn query log ca AOL [7]  
q
= cars  
URL  
IP  
= 72.14.253.103  
= PREF=ID=03b1d4f329293203:LD=en:NR=10  
Cookie  
Browser = Firefox/2.0.0.4;Windows NT 5.1  
Time  
= 25 Mar 2007 10:15:32  
Hình 6. Cấu trúc log của Google [18]  
Tuy khác nhau nhưng query log thường có các trường sau:  
Query:  
Truy vấn mà người dùng gửi tới máy tìm kiếm. Ví dụ: “race cars”, “vietnam  
14  
       
landscape”, “swine flu” …Một số máy tìm kiếm gii hn sttrong query (Google  
cho phép query dài tối đa 32 từ).  
Url được click và vị trí của url  
Địa chỉ url người dùng click và vị trí của nó (trường ItemRank ca AOL query  
log) trong danh sách kết quả máy tìm kiếm trvcho query vừa được gửi.Ví dụ, vi  
query “champion league”, các url được click là: www.uefa.com (vị trí 1) và  
soccernet.espn.go.com (vị trí 4, theo kết quca Google).  
Địa chIP:  
Địa chIP của người dùng (ví dụ:141.243.1.172) hoặc tên DNS (ví dụ: wpbfl2-  
45.gate.net). Từ IP có thể biết được địa ch(quốc gia, vùng) của người dùng và nhà  
cung cp dch vinternet cho họ (Internet Service Provider). Khi công bố query log ra  
công chúng, các máy tìm kiếm buc phải ―nặc danh hóa‖ (anonymizing) trường này để  
không làm lộ danh tính và các thông tin cá nhân của người dùng. Như ở trên, trong  
query log được AOL công bố, trường IP được thay thế bằng AnonID (định danh n).  
Phn mm sdng ở máy của người dùng (user agents):  
Trường này lưu thông tin về tên, phiên bn của trình duyệt cũng như tên, phiên  
bn ca hệ điều hành được người dùng sử dụng.Ví d:Firefox/2.0.0.4;Windows NT 5.1”.  
Thi gian:  
Thời gian người dùng gửi query tới máy tìm kiếm. Thông thường, như trong  
Google hay AOL, thời gian được ghi theo định dng [DD/Mon/YYYY/: HH:MM:SS  
offset] vi:  
DD/Mon/YYYY: chỉ ngày tháng năm.  
HH:MM:SS : thhiện 24h trong ngày.  
Offset: chỉ độ lệch múi giờ so vi giGMT (Greenwich Mean Time).  
Ví dụ:” 22/May/2009:16:03:00 +0700” chthời điểm 16:03:00 ngày 22 tháng 5  
năm 2009, tại múi giờ GMT+7 (Bangkok-Hanoi-Jakarta). mt số máy tìm kiếm  
khác, như AltaVista, trường thời gian được lưu ở dng timestamp, là số milli giây từ  
mt mc thời gian trong quá khứ (baseline) đến thời điểm query được gửi. Ví dụ, nếu  
chn mc thời gian là 00:00:00 ngày 1/1/1995 thì thời điểm 12:00:02 28/10/2004 có  
timestamp = 20822005  
15  
Cookie:  
Được máy tìm kiếm lưu ở máy người dùng để nhn biết mt số thông tin về h.  
Ví dụ, trường cookie của Google lưu sở thích của người dùng về ngôn ngữ tìm kiếm  
và số kết qumong mun trong mi trang.  
Cookie = PREF=ID=03b1d4f329293203:LD=en:NR=10”  
Theo [18], để đảm bảo tính bí riêng tư, sau 18 tháng, Google sẽ xóa thông tin về  
cookie và IP của người dùng. Ví dụ, các thông tin đó sẽ được đưa về dng  
IP=72.14.253.XX Cookie=PREF=XXXXXXXX.  
2.2. Khai phá query log  
Tnhững thông tin trong query log, có thể áp dụng rt nhiều các phương pháp thống  
kê và khai phá dữ liệu (như tìm luật liên kết, tìm mẫu có thứ tự …) để phân tích thói  
quen sdụng, xu hướng, sở thích… của người dùng. Những thông tin thu được không  
chhữu ích cho việc ci tiến chất lượng tìm kiếm mà còn giúp nghiên cứu hành vi của  
người dùng trên internet.  
2.2.1. Mt sdng thống kê  
Thống kê sơ bộ: tng hp những thông tin cơ bản về toàn bộ bộ query log như  
độ ln, thi gian thu thp, sbn ghi, số query … Bảng 3 4 là ví dụ vthng  
kê sơ bộ vi bộ query log được AOL công bố năm 2006 [7] và bộ query log lưu  
hành nội bca AltaVista [28]:  
Độ ln  
~500MB  
Thi gian thu thp  
Tng sbn ghi  
Tng squery  
01/03/2006 31/05/2006  
36.389.567  
21.011.340  
Số query riêng bit (sau khi chuẩn hóa) 10.154.742  
Sln click url  
19.442.629  
16.946.938  
7.887.022  
657.426  
Số query không click vào url nào  
Sln mtrang kết qutiếp theo  
Số người dùng riêng biệt  
Bảng 3. Thống kê sơ bộ trên query log của AOL [7]  
16  
     
~280GB  
Độ ln  
~6 tun  
Thi gian thu thp  
Tng sbn ghi  
993.208.159 (~1 t)  
843.445.731  
575.244.993  
153.645.050  
285.474.117  
Số yêu cầu có độ dài > 0  
Số query có độ dài > 0  
Số query riêng biệt (độ dài > 0)  
Số phiên làm việc  
Bảng 4. Thống kê sơ bộ trên query log của AltaVista [28]  
Stừ trung bình trong query: Theo [28], độ dài trung bình của mt query trong  
blog của AltaVista là 2.35 từ. Với AOL, độ dài này là 2.34 (theo [7]). Có thể  
thấy query thường có độ dài rất ngn, chyếu t2-3 từ. Sau khi phân tích  
query log ca MSN, [15] phân loại các query dài (từ 5-12 từ) vào 5 nhóm như  
bng 5:  
>3  
t, 12.6%  
0
t, 20.6%  
Tng squery: 14.921.286  
Số query dài (5 đến 12 t): 1.423.664  
3 t, 15%  
Số lượng Tlệ  
Loi  
106.587 7.49%  
1
Câu hỏi  
t, 25.8%  
78.331  
5.50%  
Query có chứa toán tử  
Gộp các query ngắn  
2 t, 26%  
918.482 64.52%  
320.263 22.50%  
Cm danh từ dài hoặc câu  
trích dẫn (quote)  
Hình 7. Tlt/query trong  
query log ca AltaVista [28]  
Bảng 5. Phân loại query dài trong MSN log [15]  
Nhng từ được search nhiu nht: thhin sự quan tâm và xu hướng ca  
người dùng trong tìm kiếm thông tin trên internet. Ở các quốc gia khác nhau  
hay ti thời điểm khác nhau, người dùng có thể có những mối quan tâm khác  
nhau. Bng 6 là những từ được tìm kiếm nhiu nhất trên Google vào năm 2006,  
tại Anh năm 2008 và tại Brasil năm 2008 [19]:  
17  
     
Google 2006 Google ti Anh, 2008 Google ti Brasil, 2008  
1. facebook  
2. bbc  
3. youtube  
4. ebay  
5. games  
6. news  
7. hotmail  
8. bebo  
9. yahoo  
10. jobs  
1. orkut  
2. jogos  
3. download  
4. fotos  
5. youtube  
6. videos  
7. musicas  
8. musica  
9. msn  
1. bebo  
2. myspace  
3. world cup  
4. metacafe  
5. radioblog  
6. wikipedia  
7. video  
8. rebelde  
9. mininova  
10. wiki  
10. globo  
Bảng 6. Nhng từ được tìm nhiu nhất trên Google [19]  
Tllp li ca query: cho biết sln lp li ca một query. Hình 8 là thống kê  
ca AltaVista [28] trong thi gian 6 tun. Ở đây, hai query được coi là giống  
nhau nếu chúng chứa nhng tgiống nhau, không quan tâm tới thttừ và các  
toán tử.  
70  
63.7%  
60  
50  
40  
30  
16.2%  
20  
10  
0
13.6%  
6.5%  
1 lần  
2 lần  
3 lần  
>3 lần  
Hình 8. Tllp li query trong log ca AltaVista [28]  
Phân bố query theo giờ trong ngày: Hình 9 là phân bố query được gi ti  
máy tìm kiếm AOL [24]. Nhn thy tlquery cao nhất là trong khoảng thi  
gian t20h ti 24h.  
18  
   
Hình 9. Phân bố query trong ngày của AOL [24]  
Độ dài mỗi phiên: thống kê số lượng query trong mỗi phiên tìm kiếm (session)  
của người dùng. Hình 10 là thống kê của AltaVista [28], số query trung bình  
trong một phiên là 2.02 (gần 78% các phiên chỉ có 1 query)  
90  
77.6%  
80  
70  
60  
50  
40  
30  
20  
13.5%  
10  
0
4.5%  
4.4%  
1 query 2 query 3 query >3 query  
Hình 10. Squery trong một phiên trong query log ca AltaVista [28]  
Ni dung query: phân loại nội dung query theo các chủ đề. Thông tin này giúp  
nm bắt được thói quen tìm kiếm và những nội dung được nhiều người quan  
tâm. Bảng 7 8 là phân loại ni dung query của 2 máy tìm kiếm AOL và  
Excite. Có thể thấy các chủ đề vgiải trí luôn chiếm tlln.  
19  
   
Chủ đề  
Giải trí  
Tlệ  
13%  
Chủ đề  
Tlệ  
19.9%  
16.8%  
Giải trí  
Mua sm  
Sex  
13%  
10%  
9%  
9%  
5%  
5%  
5%  
5%  
3%  
3%  
Sex  
Thương mại, kinh tế, du 13.3%  
lch  
Nghiên cứu  
Máy tính  
Sc khe  
Nhà cửa  
Du lch  
Máy tính, internet  
Sc khe, khoa hc  
Con người, địa điểm  
12.5%  
9.5%  
6.7%  
Xã hội, văn hóa, tôn giáo 5.7%  
Giáo dục  
5.6%  
5.4%  
3.4%  
4.1%  
Game  
Nghthut  
Chính phủ  
Nội dung khác  
Tài chính  
Ththao  
Địa đim M3%  
Lhi 1%  
Bảng 8. Phân loại chủ đề query ca  
Excite [8]  
Nội dung khác 16%  
Bảng 7. Phân loại chủ đề query  
ca AOL [8]  
2.2.2. Khai phá lut  
Phân tích các mẫu thường xut hin (frequent pattern mining) là một trong nhng  
phương pháp nghiên cứu trong ngành khai phá dữ liu (data mining) với đa dạng các  
ng dng. Mt trong nhng ng dng của chính là việc khám phá ra những mu  
(pattern ) hay gp trong dliu log. Mục đích của việc khai phá log này nhằm ly  
được những thông tin liên quan đến người dùng dựa vào những vic họ đã làm. Nó có  
thphc vtt cho mục đích tư vấn, quảng cáo, to ra những thông tin mang tính động  
đối với người dùng.  
Hai thuật toán thường được sdụng là Tìm lut kết hp (Association Rule  
mining ) và Phân tích mẫu có tht(Sequential pattern mining).  
20  
     
Hình 11. Khai phá lut trong query log [1]  
Lut kết hp là luật thhin những liên kết n giữa các thuộc tính. Mt lut kết  
hp có dạng ―Nếu có A thì có B‖. Phương pháp tìm luật kết hợp được áp dụng  
trong [1] để dự đoán quy luật tìm kiếm của người dùng. Ví dụ: nếu query trước  
tìm về chủ đề “chính trị” thì có 45% khả năng query thứ hai sẽ tìm về chủ đề  
“kinh tế”.  
Mẫu có thứ tcũng gần giống như lut kết hp nhưng quan tâm đến ti thtự  
xut hin của các thành phần trong luật. Khai phá mẫu có thứ tự được dùng  
trong [1] để tìm ra những url nào thường xut hin sau nhng từ khóa nhất định.  
Ví dụ: rt nhiu query cha từ khóa “game” click vào url computergame.com  
thì luật dng game computergame.com có ý nghĩa cao và phản ánh được sở  
thích của người dùng.  
21  
 
2.3. ng dng của khai phá query log  
Nhng kết quả có được từ khai phá query log được ng dng rt nhiều không chtrong  
máy tìm kiếm (Google, Yahoo, AOL…) mà còn trong các website thương mại  
(Amazon, Netflix…) để phc vmục đích cải tiến chất lượng tìm kiếm cũng như để  
kinh doanh, quảng cáo… Một vài ứng dụng như:  
Mrng query (query expansion):  
Query thường rt ngn (cht2-3 từ) nên nó thường không cung cấp đủ thông tin  
cn thiết để có thể chọn ra website phù hợp vi mong mun của người dùng. Từ đó  
dn tới yêu cầu phi dự đoán và mở rng nội dung query. Các phương pháp mở rng  
query trước đó thường tập trung vào việc phân tích các văn bản. Hang Cui và cộng sự  
trong [16] đã đưa ra một phương pháp mới dựa trên các thông tin tương tác của người  
dùng được lưu lại trong query log. Ý tưởng chính của phương pháp này là tìm ra sự  
tương quan giữa các từ trong query và các từ trong văn bản bằng cách phân tích quan  
hgiữa query và website được click .  
Tìm mẫu query (query template):  
Hin nay, hu hết các máy tìm kiếm đều là dạng dựa trên từ khóa (keyword-  
based), mt vấn đề được đặt ra là làm sao hiểu được ý nghĩa của các từ khóa trong  
query? Kevin-Chang và cộng strong [5] đã đề xuất bài toán tìm ra các mẫu (cấu trúc)  
thường gp ca query, từ đó giúp hiểu được mục đích mà nó hướng tới. Ví dụ, query  
―jobs in boston‖ có mục đích tìm về công việc và ―boston‖ là địa điểm mong mun  
(#địa_điểm). Có thể bt gp rt nhiu những query có cấu trúc tương tự theo mu  
―jobs in #địa_điểm‖ chỉ khác giá trị ca #địa_điểm.  
Khi hiểu được mục đích mà query hướng tới, máy tìm kiếm có thể đưa người  
dùng đến thẳng trang web phù hợp dù có thể nó không chứa các từ khóa có trong  
query. Hơn nữa, khi biết cấu trúc của query (ví dụ, #địa_đim = ―boston‖, #thông_tin  
= ―thời tiết‖), máy tìm kiếm còn có thể thực thi ngay yêu cầu ca user (sdng các  
thông tin trong query để làm tham số).  
Xếp hng li kết qu:  
Có hai vấn đề thường gặp trong máy tìm kiếm: 1) các kết quả có thứ hng cao  
nhất đôi khi không chứa những thông tin phù hợp vi mục đích của người dùng và 2)  
các trang web mới xut hiện tuy phù hợp nhưng lại không có thứ hạng cao. Do đó,  
22  
 

Tải về để xem bản đầy đủ

pdf 55 trang yennguyen 11/04/2025 210
Bạn đang xem 30 trang mẫu của tài liệu "Khóa luận Hệ thống tư vấn website cho máy tìm kiếm dựa trên khai phá query log", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfkhoa_luan_he_thong_tu_van_website_cho_may_tim_kiem_dua_tren.pdf