0
B GIÁO DCăVÀăĐÀOăTO
TRNGăĐI HCăSăPHM HÀ NI
TRN TH PHNGăDUNG
TÌM HIU H TăVN VÀ XÂY
DNG H TăVN CHO TRANG
WEB HC TOÁN ONLINE
LUNăVĔNăTHCăSƾ:ăăKHOAăHC CÔNG NGH THÔNG TIN
HÀ NI,ăNĔMă2014
0
B GIÁO DCăVÀăĐÀOăTO
TRNGăĐI HCăSăPHM HÀ NI
TRN TH PHNGăDUNG
TÌM HIU H TăVN VÀ XÂY
DNG H TăVN CHO TRANG
WEB HC TOÁN ONLINE
Chuyên ngành: KHOA HC MÁY TÍNH
Mã số: 60480101
LUNăVĔNăTHCăSƾ:ăKHOAăHC CÔNG NGH THÔNG TIN
Ngưiăhướng dn khoa hc: PGS.TS PHM TH HOÀN
HÀ NI,ăNĔMă2014
0
Mc lc
Ni dung Trang
M đầu 1
Chươngă1:ăTổng quan h tưăvấn (Recommender System) 3
1.1. Giới thiu h tưăvấn. 3
1.1.1 H tưăvấn là gì? 3
1.1.2 Nhim vụ ca h tưăvấn. 5
1.1.3 Vai trò ca h tưăvấn. 7
1.1.4 ng dụng h tưăvấn. 8
1.2 Cácăphươngăphápătiếp cn h tưăvấn. 9
1.2.1 Phươngăphápălc cộng tác (Collaborative Filtering). 10
1.2.2 Phươngăphápătưăvấn dựa trên nội dung (Content-based). 27
1.2.3 Phươngăphápălaiă(Hybrid) 34
Chươngă2:ăXâyădựng h tưăvấn hc toán online 37
2.1 Giới thiu h thống. 37
2.2 Mục tiêu. 38
2.3 Mô tả bài toán. 38
2.4 Phươngăphápăgiải quyết bài toán. 38
Chươngă3:ăCàiăđặt và triển khai 51
3.1 Phân tích h thống. 51
3.2 Thiết kế dữ liu. 52
3.3 Thiết kế chcănĕng. 54
3.3.1 Lấy thông tin thực hành. 54
3.3.2 Lấy thông tin yêu thích. 56
3.3.3 Đề xuất kỹ nĕngăcaănhómăngưiădùngătươngăđồng. 59
3.3.4 Đề xuất kỹ nĕngăphổ biến 59
1
3.4 Kết quả thực nghim. 60
Kết lun 63
Tài liu tham khảo 64
0
Danh mục hình
Hình 1.1 Xếp hng caăngưi dùng với các bộ phim. 6
Hình 1.2 Ví dụ lc cộngătácăngưi dùng. 11
Hình 1.3 Ma trn xếp hng. 13
Hình 1.4 Ma trn trong lc cộngătácăngưi dùng. 14
Hìnhă1.5ăCácăbước thực hin lc cộng tác ngưi dùng. 15
Hìnhă1.6ăTínhăđộ tươngăđồng giữaăhaiăngưi sử dụng 19
Hình 1.7 Ví dụ lc cộng tác mục. 21
Hình 1.8 Ma trn trong lc cộng tác mục. 22
Hìnhă1.9ăCácăbước thực hin lc cộng tác mục. 23
Hìnhă1.10ăTínhăđộ tươngăđồng giữa hai mục. 25
Hình 1.11 Ví dụ phươngăphápătưăvấn dựa trên nội dung. 28
Hìnhă1.12ăCácăbước thực hinătưăvấn dựa trên nội dung. 29
Hình 1.13 Danh sách phim và thể loi. 31
Hình 1.14. Mcăđộ yêu thích caăngưi dùng với từng thể loi. 31
Hình 1.15 Mcăđộ yêu thích caăngưi dùng với từng phim. 32
Hình 1.16 Phân loiăphươngăphápălai. 34
Hìnhă1.17ăPhươngăphápălaiătrng số. 35
Hìnhă1.18ăPhươngăphápălaiăhỗn hợp. 36
Hình 2.1 Quy trình thực hinătưăvấn. 40
Hìnhă2.2.ăTưăvấn dựa trên ch đề quan tâm. 42
Hìnhă2.3ăTưăvấn dựa trên dng toán quan tâm. 44
Hìnhă2.4ăTưăvấn dựa trên lc cộngătácăngưi dùng. 45
Hìnhă2.5ăTưăvấn dựa trên lc cộng tác mục. 47
Hình 2.6 Nhóm kỹ nĕngădựa trên nội dung. 48
Hìnhă2.7ăTưăvấn dựa trên nội dung. 49
Hình 3.1 Mô hình phân cấp chcănĕng. 51
Hình 3.2 Bảngă“Math_score”. 52
Hình 3.3 Bảngă“Math_skill”. 53
Hình 3.4 Bảngă“Math_chude”. 53
Hình 3.5 Bảngă“Math_subcate”. 53
Hình 3.6 Quan h giữa các bảng. 54
Hình 3.7 Giao dinăngưi dùng truy cp vào h thống. 55
Hình 3.8 Giao dinăngưi dùng thực hành kỹ nĕng. 55
1
Hình 3.9 Giao din ngưi dùng truy cp vào lớp hc. 57
Hình 3.10 Giao din cp nht thông tin yêu thích. 58
Hình 3.11 Giao dinătưăvấn kỹ nĕngăphổ biến. 59
Hình 3.12 Giao dinătưăvấn kỹ nĕngăyêuăthích. 60
Hình 3.13ăDanhăsáchăngưi dùng ngu nhiên. 60
Hìnhă3.14ăĐánhăgiáăhiu quả h tưăvấn. 62
1
Mở đu
1. Lý do chnăđ tài.
Kể từ lầnăđầu tiên xuất hin bài báo lc cộng tác từ nĕmă1990,ăh tưă
vấn tr thànhălƿnhăvực nghiên cu quan trng. Hin nay, h tưăvấn nhnăđược
sự quan tâm rất lớn vì tác dụng không nhỏ ca nó với nhiềuălƿnhăvực khác
nhau trong cuộc sốngănhưă kinhă doanh,ă giải trí và giáo dục.ă Đặc bit trong
nhữngănĕmăgầnăđây,ăcôngăcuộc xây dựngăvàăđổi mới giáo dụcăđangăđược rất
nhiềuăngưi quan tâm. Ngoài cách hc truyền thống là thầy và trò có sự tươngă
tác trực tiếp trên lớp hc, giáo dục hin nay còn m rộng cách thc dy và
hc trực tuyến mang li hiu quả caoăhơnăsoăvới cách hc truyền thống. Nh
có h tưăvấn, vic hc trực tuyến có hiu quả hơnărất nhiều.
Một trang web hc toán trực tuyến dành cho hc sinh tiểu hc, trang
web cung cấp các kỹ nĕngăchoăhc sinh thực hànhăđể nắm rõ và thực hành
thành tho các kiến thc trên lớpăcũngănhưănângăcao.ăCóăhàngănghìnăhc sinh
truy cpătrangăwebăđể hc và thực hành, mỗi hc sinh li có những s thích
thực hành khác nhau. H tưăvấn có thể hỗ trợ cho toàn bộ hc sinh tham gia
trong h thốngă vàă đưaă raă những li khuyên phù hợp cho từngă ngưi hc.
Những li khuyên này rấtăđángătinăcy vì nó dựa trên lch sử thực hành kỹ
nĕngăcaăchínhăngưi dùng trong h thốngăvàăđề xuất những kỹ nĕngăphùăhợp
vớiănĕngălực ca từng hcăsinh.ăTaăđặt một câu hỏi nêu không có h tưăvấn và
số lượng kỹ nĕngăthực hành sẽ càng nhiều, hc sinh tiểu hc khi tham gia hc
trực tuyến sẽ lựa chn kỹ nĕngăthực hành phù hợp vớiănĕngălực caămìnhănhưă
thế nào? Tht là khó khi lựa chn kỹ nĕngăyêuăthíchătrongăsố rất nhiều kỹ
nĕngăca h thống và la tuổi ca các em, rấtăkhóăđể tìm kiếm kỹ nĕngăphùă
hợp vớiănĕngălực ca mình.
Vì lí do trên, tôi lựa chnăđề tàiă“Tìmăhiểu h tưăvấn và xây dựng h tưă
vấn cho trang web hcătoánăonline”.
2
2. Mcăđíchănghiênăcu.
- Tìm hiểu h tưăvấn vàăcácăphươngăphápătiếp cn h tưăvấn.
- Tìm hiểu h thống thực hành kỹ nĕngătrênătrangăwebăhc toán online.
- Nghiên cuăcácăphươngăphápătiếp cn có thể hỗ trợ xây dựng h tưăvấn
trên trang web hc toán online.
- Lựa chnăphươngăphápătiếp cn và ng dụng xây dựng h tưăvấn kỹ
nĕngăhỗ trợ hc sinh thực hành trên trang web hc toán online.
3. Đốiătng nghiên cu.
- Để tìm hiểu nội dung h tưăvấn, tôi đãătìmăkiếmăvàăđc hiểu các bài báo
trongăvàăngoàiănước, các dinăđànătraoăđổi kiến thc h tưăvấn và các tài liu
nghiên cuăđược chia sẻ trên mng Internet.
- Nghiên cu ngôn ngữ lp trình php và viếtăchươngătrìnhăchcănĕngătưă
vấn kỹ nĕngăchoăngưi dùng thực hành trên trang web hc toán online.
4. Tóm tắt luậnăvĕn.
Lunăvĕn trình bày tổng quan h tưăvấn, bao gồm khái nim h tưăvấn,
nhim vụ phổ biến ca h tưăvấn, vai trò ca h tưăvấnăđối với nhà cung cấp
vàăngưi dùng, một số ng dụng ca h tưăvấn trong thực tế vàăcácăphươngă
pháp tiếp cn h tưăvấn.
Để xây dựng h tưăvấn cho trang web hc toán online, lunăvĕnăđãăgiới
thiu trang web hc toán online và trình bày mục tiêu, mô tả vàăphươngăphápă
giải quyết bài toán xây dựng h tưăvấn cho trang web hc toán online.
Lunăvĕnătrìnhăbàyăcácăbướcăcàiăđặt h tưăvấn và giới thiu một số giao
din chính ca chcănĕngătưăvấn. Đánhăgiáăhiu quả ca h tưăvấn dựa ngưi
dùng trên h thống.
3
Chngă1: Tổng quan h tăvn (Recommender System)
1.1. Gii thiu h tăvn.
1.1.1 H tăvn là gì?
H tưăvấn (recommender system) là một h thống có chcănĕngătưăvấn
giúp ngưi dùng (user) tìm kiếm các mục, mặt hàng (item) liênăquanăđến s
thích, nhu cầu thông qua các giao dch,ă tươngă tácă (transaction)ă caă ngưi
dùng với các mục, mặtăhàngăđó.
H tưăvấn có thể hotăđộngăđộc lp hoặc đóngăvaiătròănhưămột chc
nĕngătrongămột trang web hay một h thống khác
User làăngưi dùng truy cp vào h thống [5] (thành viên đĕngăký hoặc
khách vãng lai).ăUserălàăđốiătượngăđược tưăvấn.
Item là các mặt hàng, sản phẩm, mục [5]. Itemălàăđốiătượngătưăvấn. Ví
dụ: item có thể là các bộ phim mà một trang web xem phim muốnătưăvấn cho
ngưi dùng, trong bán hàng trực tuyến item có thể là các mặt hàng, sản phẩm
màăngưi cung cấp muốnătưăvấn.
Transaction là tươngătácăgiữa user với item [5]. Transaction có thể là
lch sử tìm kiếm, lch sử mua hàng, lch sử xem mặt hàng hay xếp hng,ăđánhă
giá ca ngưi dùng với một mục.
H thốngătưăvấnăthưngăchiaănhómăngưi dùng thành hai loi:ăngưi
dùngăchưaăcóălch sử tươngătácăvới h thốngă(nhómă1)ăvàăngưiădùngăđãăcóă
lch sử tươngătácăvới h thốngă(nhómă2).ăNgưi dùng thuộc nhóm 1 có thể là
khách vãng lai hoặcăthànhăviênăđĕngăkýămới, h chưaăcóălch sử tươngătácăvới
h thống hoặcăchưaăcp nhtăđ thông tin để h tưăvấnăcóăcơăs đưaăraătưăvấn.
Nhóm th 2 là nhữngăngưi dùng có đ thông tin và lch sử tươngătácăvới h
thống để h tưăvấnăđề xuất những mục có thể sẽ đượcăngưi dùng thích, quan
tâm.
4
H tưăvấn có nhiềuăưuăđiểm, mang li lợi ích cho cả ngưi tiêu dùng
ln nhà cung cấp. Chính vì thế h tưăvấnăcàngăngàyăcàngăđượcăquanătâm,ăđiển
hìnhănhưămột số sự kin [5] sauăđây:
- Cácă trangă webă đượcă đánhă giáă caoă nhưă Amazon.com,
Youtube.com, Netflix.com, có một h thốngă tưă vấnă tươngă đối hiu quả.
Hơnănữa, bây gi nhiều công ty truyềnăthôngăđangătriển khai và phát triển h
thốngătưăvấnănhưămột phần dch vụ quan trng mà h cần phải cung cấp. Ví
dụ nhưătrang Netflix.com là một trang web xem phim trực tuyến nổi tiếngăđãă
cung cấp giải thưng 1 triuăđôălaăchoănhững ngưiăđưaăra thutătoánăđầu tiên
đánhăbiăđược 10% thutătoánătưăvấn ca h. Và giảiăthưngăđóăđãăđược một
nhóm nghiên cuă cóă tênă làă “Bellkor’să Pragmatică Chaos”ă giành đượcă nĕmă
2009.
- Có nhiều hội ngh và hội thảo dành riêngăchoălƿnhăvực này. Hội
ngh đặc bită được nhiềuă ngưi quan tâm là ACM Recommender Systems
(viết tắtălàăRecSys)ăđược thành lpănĕmă2007ălàăsự kin uy tín tổ chc hàng
nĕmăđể nghiên cu về công ngh tưăvấn và ng dụng. Ngoài ra, h thốngătưă
vấn cònăđược thảo lun trong các hội ngh truyền thống về lƿnhăvựcăcơăs dữ
liu, h thống thông tin và h thống thích nghi. Trong số những hội ngh đó,ă
cần nhắcăđến một số hội ngh lớnănhư:ăACMăSIGIRăSpecialăInterestăGroupăonă
Information Retrieval (SIGIR), User Modeling, Adaptation and
Personalizationă(UMAP),ăandăACM’săSpecialăInterestăGroupăonăManagementă
Of Data (SIGMOD).
- Tiăcácătrưngăđi hcăvàăsauăđi hc trên thế giớiăđãăcóănhững
khóa hc dành riêng cho vic nghiên cu h tưăvấn,ăhướng dn h tưăvấn cũngă
được phổ biến trong các hội ngh khoa hc máy tính.
5
- Trong các tp chí khoa hcăđãăcóămột số vấnăđề đặc bităđược
đưaăraăbaoăgồm vic nghiên cu và phát triểnălƿnhăvực h tưăvấn. Một số tp
chíădànhăriêngăđể viết về h tưăvấn nhưălà AI Communications (2008); IEEE
Intelligent Systems (2007); International Journal of Electronic Commerce
(2006); International Journal of Computer Science and Applications (2006);
ACM Transactions on Computer-Human Interaction (2005); and ACM
Transactions on Information Systems (2004).
Nhưăvy chng tỏ rằng,ălƿnhăvực nghiên cu h tưăvấn rấtăđược nhiều
ngưi quan tâm và khẳngăđnh giá tr ca nó trong thực tế.ăTrongătươngălai,ă
lƿnhăvực này sẽ cònăđược quan tâm nhiềuăhơn.
1.1.2 Nhim v ca h tăvn.
Để hiểuărõăhơnăcôngăvic ca h tưăvấn ta sẽ xem một số nhim
vụ phổ biến sau:
- Lấy ý kiến cá nhân. H tưăvấn toăđiều kinăchoăngưiădùngăđóngă
gópăđánhăgiáăvàăbàyătỏ ý kiến với các mục.ăNgưi dùng có thể bình lun hoặc
xếp hng sản phẩm tùy theo từng h thống tưăvấn.
- Tìm kiếm t vấn tin cậy: Có một số ngưi sử dụng không tin cy
h thốngătưăvấn, vì vyăđể đưaăraătưăvấn tốt nhất cho h cần kiểm tra hành vi
tìm kiếm ca h thtăđầyăđ, chính xác và dựa trên những thông tin tht sự có
ích cho vicăđưaăraătưăvấn.
- T vấn một danh sách các mục tốt nhất. H tưăvấn có thể đề xuất
một danh sách một số mục tốt nhấtăchoăngưi dùng. Mục tốt nhất dựa trên
đánhăgiáăcaăngưi dùng, có thể là những mụcăđược nhiềuăngưi dùng yêu
thích nhất.
6
- T vấn tất cả các mục tốt. Thay vì h tưăvấnăđề xuất một danh
sách các mục tốt nhất thì nó sẽ cung cấpăchoăngưi dùng một danh sách tất cả
các mục tốtăđể ngưi dùng lựa chn.
Để hiểuărõăhơnănhim vụ ca h tưăvấn ta có thể xem ví dụ minh ha
sauăđây.ăSauăkhiăh thống lấy ý kiến cá nhân caăngưi dùng cho các mục ta
có bảng xếp hng sau:
Batman
Begins
Alice in
Wonderland
Dumb and
Dumber
Equilibrium
User A
4
?
3
5
User B
?
5
4
?
User C
5
4
2
?
User D
2
4
?
3
User E
3
4
5
?
Hình 1.1 Xếp hng caăngưi dùng với các bộ phim.
Ví dụ hình 1.1 biểu din ma trn xếp hng caăngưi dùng với các bộ
phim.ăTrongăhìnhătrên,ăcóă5ăngưi sử dụng là A, B, C, D, E có xếp hng cho
các bộ phim Batman Begins, Alice in Wonderland, Dumb and Dumber và
Equilibrium. Các giá tr trong ma trn là xếp hng caă ngưi dùng với bộ
phim. Các giá tr nàyăđượcăđánhăgiáătheoăthangăđiểm từ 1ăđến 5. Giá tr rỗng
thể hinăngưi dùng không có xếp hng cho bộ phimăđó.ă
Nhim vụ ca h tưăvấn là tìm kiếm nhữngăngưiădùngăchưaăcóăđánhă
giá cho một bộ phimănàoăđóăvàădự đoánăxemăh đánhăgiáăchoăbộ phimăđóălàă
baoănhiêu.ăĐối với những mục có dự đoánăđiểm số cao sẽ được h thống lựa
chnăđể đưaăraătưăvấn.
7
1.1.3 Vai trò ca h tăvn.
H tưăvấn có vai trò quan trng trong nhiềuălƿnhăvực.ăTaăxétăđến lợi ích
mà nó mang liăđối vớiăhaiăđốiătượng là nhà cung cấpăvàăngưi sử dụng h
thống.
Đối với nhà cung cấp:
- Hỗ trợ nghiên cu thị trờng giúp định hớng phát triển ca
doanh nghiệp trong tơng lai. Doanh nghip nắm bắt, cp nht nhanh nhất th
hiếu caăngưi dùngăđể từ đóălựa chn tp trung đầuătưăvàăphátătriển mnh
hơn những mặt hàng được nhiềuăngưi quan tâm.
- Nâng cao chất lợng hệ thống. Xây dựng h thống có nhiều chc
nĕngăhữuăíchăchoăngưi dùng là mong muốn ca nhiều nhà cung cấp. Chất
lượng ca h thống thể hin sự phát triển ca doanh nghip.
- Giới thiệu đợc nhiều mặt hàng, sản phẩm đến với ngời dùng.
Các nhà cung cấp bao gi cũngămuốn phát triển quy mô h thống vì thế một
h tưăvấn có thể giới thiu tớiăngưi dùng nhiều mặt hàng, sản phẩm khác
nhau trong h thốngălàăđiều mà nhà cung cung cấp mong muốn.
- Tăng số lợng mặt hàng, sản phẩm cần tiêu thụ. Để có doanh
thu cao phải tpătrungăđẩy mnh tiêu thụ các mặt hàng, sản phẩm trong h
thống. H tưăvấn có thể làmăđượcăđiềuăđó.
Đối vớiăngưi dùng:
- Cung cấp đúng các mặt hàng mà ngời dùng quan tâm. Với một
h tưăvấn hiu quả, các h thống lớnănhưăyoutube.com,ăamazon.comăcho thấy
ngưi dùng tht sự quanătâmăđến nhữngăđề xuất ca h thống.
- Tăng sự hài lòng ca ngời dùng. Cung cấpăđúngăcácămặt hàng
ngưi dùng quan tâm làm tĕngăsự hàiălòngăvàăđộ tin cy caăngưi dùng với
h thống từ đóăh thống nhnăđược sự tươngătácătíchăcực từ ngưi dùng.
8
1.1.4 ng dng h tăvn.
H tưăvấnăđược ng dụng trong nhiềuălƿnhăvực khác nhau đặc bit là
trongălƿnhăvực kinh doanh, giải trí và giáo dục.
- Trong lĩnh vực kinh doanh. H tưăvấnăđược sử dụng rộng rãi trên
các trang web bán hàng trực tuyếnănhưăamazon.comălàătrangăbánăsách,ăđƿaăCDă
online nổi tiếng thế giới có h tưăvấn giúp mang li hiu quả cho h thống.
Vit Nam có trang vatgia.com là trang web cung cấp nhiều mặt hàng khác
nhau choă ngưi dùng, trong h thốngă đề xuất một số mục mặtă hàngă được
nhiềuăngưi tìm kiếm hoặc những mụcăđược yêu thích nhất hoặc những mục
hot nhất hin nay.
- Trong lĩnh vực giải trí. H tưă vấnă cũngă được ng dụng nhiều
trongălƿnhăvực giải trí trên các trang xem phim trực tuyến netflix.com, xem
video youtube.com, kho game và ng dụng nổi tiếng ca google là
play.google.com. Ví dụ h tưăvấnă trênătrangă youtube.com,ăngưi dùng truy
cp vào gmailăsauăđóătìmăkiếm các video, h thống sẽ lưuălch sử tìm kiếm và
xem video caăngưiădùngăđể đề xuất những video gần với nộiădungăngưi
dùng đãătìm kiếm.
- Trong lĩnh vực giáo dục. Các trang web hc trực tuyến hay các
trang cung cấp tài liuănhưăslideshare.net, tailieu.vn cũngăđưaăh tưăvấn vào
h thống hỗ trợ ngưi dùng tìm kiếm tài liu, bài hc liên quan. Ví dụ với
trang tailieu.vn là trang tìm kiếm tài liu, sách, bài báo, lunăvĕn, khi ngưi
dùng tìm kiếm một tài liu bất kì, h thống sẽ cung cấp một danh sách những
tài liu có nội dung gần với nộiădungăngưi dùng tìm kiếmăđể h có thể tham
khảo thêm.
9
1.2 Cácăphngăphápătiếp cận h tăvn.
H tưăvấnăcóăbaăphươngăphápătiếp cn ch yếuălàăphươngăphápălc cộng
tác,ăphươngăphápătưăvấn dựa trên nội dung và phươngăphápălai.
- Dựaă trênă ýă tưng quảng cáo truyền ming, h tưă vấnă đưaă raă
phươngăphápătiếp cn lc cộng tác, những mụcătưăvấnăchoăngưi dùng sẽ dựa
trên những mục mà nhữngăngưiădùngăđiătrước yêu thích. Chính vì thế h tưă
vấn sử dụng phươngăphápănày mang tính chất tưăvấn những mục, mặt hàng
theo xuăhướng,ătràoălưu ngưi dùng.
- Vớiăphươngăphápătưăvấn dựa trên nội dung, h tưăvấn dựa trên
tính chất, nội dung những mụcămàăngưiădùngăyêuăthíchăđể tìm ra các mục có
tính chất, nộiădungătươngătự để tưăvấn.
- Phươngăphápălc cộngătácăvàăphươngăphápătưăvấn dựa trên nội
dungăđều có nhữngăưuănhượcăđiểm ca nó. Vì vyăphươngăphápălaiăraăđiăđể
hn chế nhượcăđiểm và phát triểnăưuăđiểm caăhaiăphươngăphápătrên.
Khi xây dựng h tưăvấn có thể sử dụng mộtăphươngăphápăhoặc kết hợp
nhiềuăphươngăphápănàyăvới nhau.
Theoăcácăphươngăphápătiếp cn trên, mỗiănhómăngưi dùng có nhiều
cáchăkhácănhauăđể tìm kiếm mục có thể ngưi dùng quan tâm.
- Ngưi dùng nhóm 1 (chưaăcóătiểu sử tươngătácăvới các mục trên
h thống) có thể xây dựng h tưăvấn theo những cách sau:
+ăTưăvấn những mục phổ biến nhất hoặcăđược yêu thích nhất.
+ Sử dụngăphươngăphápătưăvấn dựa trên nội dung.
- Ngưi dùng nhóm 2 (cóăđ thôngătinătươngătácăvới các mục trên
h thống) có những cách sau để xây dựng h tưăvấn:
+ Sử dụng phươngăphápălc cộng tác.
+ Sử dụngăphươngăphápătưăvấn dựa trên nội dung.
+ Sử dụng phươngăphápălai.
10
Ngoàiă baă phươngă phápă tiếp cn phổ biến trên còn có nhiềuă phươngă
pháp tiếp cn khácănhauăđể xây dựng h tưăvấn cho mỗiănhómăngưi dùng. Ví
dụ phươngăphápătiếp cn dựa trên tri thc (Knowledge-based),ăphươngăphápă
tiếp cn Demographicăhayăphươngăphápătưăvấn dựa trên kết nối (Community-
based).
1.2.1 Phngăphápălc cng tác (Collaborative Filtering).
Phươngăphápălc cộng tác làăphươngăpháp dựa trên cộngăđồngăngưi
dùng, dự đoánăđánhă giáă ca mộtă ngưi dùng dựaă trênăđánhăgiáă ca những
ngưi dùng khác [7]. Nếuă ngưiă dùngă cóă cùngă quană điểm với một nhóm
ngưi dùng về một số sản phẩm thì có thể cũngăđồngăquanăđiểm với nhóm
ngưiădùngăđóăvề một mặt hàng, mụcăchưaăbiết. Phươngăphápălc cộng tác
giới thiu những mục có số đôngă ngưiă thích,ă nóă mangă tínhă tràoă lưu,ă xuă
hướng theo ngưi dùng.
Phươngăphápănàyăkhôngăđiăsâuăvào phân tích tính chất, nội dung các
mụcăđãăyêuăthích để giới thiu các mục gần giống với mụcămàăngưi dùng
quan tâm.
Kết quả dự đoánălàăcácămục ngu nhiên thuộc nhiều ch đề, thể loi
khác nhau. Phươngăphápălc cộng tác dựaătrênănhómăngưiădùngătươngăđồng
màănhómăngưiădùngăđóăcóăthể thích nhiều thể loi, ch đề khác nhau nên các
mụcătưăvấn dựa trên s thích ca h cũngăsẽ thuộc nhiều ch đề, thể loi khác
nhau. Điềuănàyălàă điều mà các nhà cung cấp mong muốn, giới thiu nhiều
mụcăkhácănhauăđến vớiăngưi sử dụng.
Phươngă phápă lc cộngă tácă được chia thành hai loi là lc cộng tác
ngưi dùng (UserậUser Collaborative Filtering) và lc cộng tác mục (Itemậ
Item Collaborative Filtering).
11
1.2.1.1 Lc cngătácăngi dùng (User–User Collaborative Filtering).
Ý tởng.
Ýătưng caăphươngăphápălc cộngătácăngưi dùng là quảng cáo truyền
ming, tc là ý kiến caăcácăthànhăviênătrongăgiaăđình,ăbnăbèăđóngăvaiătròă
quan trng trong vicăđưaăraăquyếtăđnh cá nhân. Nó sử dụng những ý kiến
caăngưiădùngătươngătự để dự đoánăđánhăgiáăca mộtăngưi dùng cho một
mục.
Ngưi dùng tươngătự là những ngưi dùng có cùng s thích về nhiều
mục vớiă ngưiădùngăđangăxét. Để tránhătrưng hợp dự đoánăxếp hng ca
ngưi dùng dựa trên quá nhiềuăngưiădùngătươngătự, h tưăvấn lựa chn k
ngưi hàng xóm gần nhất trong số ngưiădùngătươngătự trênăđể lấy ý kiến ca
h cho dự đoánămục caăngưiădùngăđangăxét.
Hình 1.2 Ví dụ lc cộngătácăngưi dùng.
12
Trong hình vẽ 1.2 trên,ăcóăbaăngưi sử dụng là {ngưi dùng 1, ngưi
dùng 2, ngưi dùng 3} và bốn mục là bốn loi trái cây {quả nho, quả dâu, quả
dưaăhấu, quả cam}.
Cácămũiătênăliền từ ngưiădùngăđến các mục thể hinăngưiădùngăđóă
thích mụcăđó.ăVíădụ ngời dùng 1 có bốnămũiătênăliềnăđến bốn loi trái cây có
nghƿaălàăngời dùng 1 thích cả bốn loi trái cây {quả nho, quả dâu, quả dưaă
hấu, quả cam}, tươngă tự ngời dùng 2 chỉ thích {quả dâu}, ngời dùng 3
thích {quả dâu, quả dưaăhấu}.
Mũiătênăcongănốiăhaiăngưi dùng thể hin rằng giữaăhaiăngưiădùngăđóă
cóăđiểm yêu thích giống nhau hay giữa hai ngưiădùngăđóăcóăsự tươngăđồng
với nhau. Ngời dùng 1 và ngời dùng 3 tươngăđồng vớiănhauăvìăhaiăngưi
dùng cùng thích chung hai loi {quả dâu, quả dưaăhấu}. Ngời dùng 2 cũngă
có chung s thích với ngời dùng 1 là {quả dâu},ătuyănhiênăđiểm chung này
chưaăđ cơăs để dự đoánăngời dùng 2 cũngăthíchănhững loi quả mà ngời
dùng 1 thích. Vì thế khôngăcóăđưng nốiătươngăđồng giữa ngời dùng 1 và
ngời dùng 2 hay ngời dùng 2 và ngời dùng 3.
Mũiătênănétăđt từ mụcăđếnăngưi dùng thể hin dự đoánăca h thống
về mục mà có thể ngưi dùng sẽ thích. hình vẽ 1.2 này, ta thấy cóăhaiămũiă
tênănétăđt tr từ {quả nho, quả cam} đến ngời dùng 3 cóănghƿaălà hai loi
quả {quả nho, quả cam} sẽ là mụcăđượcătưăvấn cho ngời dùng 3. Vì ngời
dùng 1 và ngời dùng 3 có sự tươngăđồng với nhau nên những mục ngời
dùng 1 thích mà ngời dùng 3 chưaăthíchă được dự đoánă làămục mà ngời
dùng 3 có thể sẽ thích.
13
Quy trình thực hiện.
Hình 1.3 Ma trn xếp hng.
Hình 1.3 là ma trn xếp hng caăngưi dùng. Ta có thể hình dung bảng
xếp hng caăngưi dùng là một ma trn hai chiều, các cộtăđi din cho các
mục,ăcácăhàngăđi dinăchoăngưi sử dụng, giá tr ca ma trn là xếp hng ca
ngưi dùng với mụcătươngăng. Giá tr này là các số tự nhiên thể hin mcăđộ
quan tâm caăngưi dùng với từng mục. Mỗi h thống khác nhau có thang
điểm xếp hng khác nhau. Giá tr này có thể bằng rỗngă trongă trưng hợp
ngưiădùngăkhôngăcóăđánhăgiá gì cho mụcăđó.
Nhim vụ ca h tưăvấn làăxácăđnh giá tr
theoăphươngăphápălc
cộngătácăngưi dùng.
14
Hình 1.4 Ma trn trong lc cộngătácăngưi dùng.
Vớiăphươngăphápălc cộngătácăngưi dùng ta thực hin tính toán trên
các cột ca ma trnănhưăhìnhăvẽ 1.4 trên.
SUR thể hinăngưi dùng có xếp hng cho mục.
Unknown Rating thể hinăngưi dùng không có xếp hng cho mục.
Thực hin dự đoánă xếp hng caă ngưi dùng
với mục
theo
phươngăphápălc cộngă tácăngưi dùng là dự đoánă xếp hng
bằng bao
nhiêu dựa trên nhữngăngưiădùngăđãăcóăđánhăgiáăchoămục
15
Cácăbc thc hin.
Hình 1.5 Cácăbước thực hin lc cộngătácăngưi dùng.
Quyăướcăngưiădùngăuălàăngưiădùngăđangăxét.
Bớc 1: Tìm kiếm mục ngời dùng u đã có đánh giá.
Bớc 2: Tìm những ngời dùng có đánh giá cho các mục mà ngời
dùng u đánh giá. Sau khi tìm kiếmăđược các mụcămàăngưiădùngăuăđãă
đánhăgiá,ătaătìmăkiếm nhữngăngưiădùngăcóăđánhăgiáăchoăcácămục tìm
được bước 2.
Tìm kiếm mụcăngưi dùng u
đã cóăđánhăgiá
Tìm nhữngăngưi dùng có
đánhăgiáăchoămục trên
Lựa chn k ngưi dùng là
hàng xóm
Tínhătươngăđồng giữaăngưi u
với từngăngưi trên
Tìm kiếm những mụcăkăngưi
dùngăđãăxếp hngămàăngưi
dùngăuăchưaăxếp hng
Bước 1
Bước 2
Bước 3
Bước 4
Bước 5
Dự đoánăđánhăgiáăcaăngưi
dùng u với mụcăchưaăxếp hng
Bước 6
16
Bớc 3: Tính tơng đồng giữa ngời dùng u với những ngời dùng tìm
kiếm ở bớc 2.
Có 4 công thcăđượcădùngăđể tính toán sự tươngăđồng giữaăhaiăngưi
sử dụng [7]. Giá tr này càng cao thể hinăhaiăngưi dùng càng có chung sự
tươngăđồng.
- Tươngăquanăngưi dùng (Pearson correlation).
Công thc tươngăquanăngưi dùng tính toán sự tươngătự giữaăhaiăngưi
dùng dựa trên xếp hng những mục mà cả haiăngưiăđềuăđánhăgiá.
Trongăđó,ă
là tp hợp mụcăngưi dùng đãăcóăđánhăgiá.
là xếp hng caăngưi dùng với mục .
là xếp hng trung bình caăngưi dùng .
Trưng hợp
lớn ta có thể sử dụngăngưỡng giới hn cho
.
Theo nhiều thí nghim cho thấyăngưỡng có giá tr 50 là hữu ích trong vic cải
thinăđộ chính xác dự đoán.
- Ràng buộc tươngă quan ngưi dùng (Constrained Pearson
correlation).
Trong công thc này ta cần mộtăđiểm tiêu chuẩnăzălàăđánhăgiáătrungă
tính. Ví dụ vớiăthangăđiểm 1-5ătrongăđóăđánhăgiáă1-2ălàăkhôngăthích,ăđánhăgiáă
3 làătrungătínhă(khôngăthíchăcũngăkhôngăghét),ăđánhăgiáătừ 4-5 là thích thì ta
có thể sử dụngăđiểm chuẩn là
.
Trongăđó,ă
là tp hợp các mụcămàăngưi dùng đãăcóăđánhăgiá.
là xếp hngămàăngưi dùng đãăđánhăgiáămục .
17
làăđiểm tiêu chuẩn.
- Th hngătươngăquan ngưi dùng (Spearman rank correlation)
Đối vớiăphươngăphápănày,ăcácămụcăđượcăngưiădùngăđánhăgiáăsẽ được
sắp xếp theo cấp bc. Với nhữngăđánhăgiáătốt nhất sẽ bc 1, còn nhữngăđánhă
giá thấpăhơnăsẽ các bcăcaoăhơn.ăSauăđóăthực hinătínhătoánănhưăphươngă
phápăPearsonăcorrelation,ăcácăđánhăgiáătrong công thc (1.1) sẽ được thay thế
bằng các cấp bc.
Trongăđó,ă
là cấp bc xếp hng caăngưi dùng đánhăgiáăchoămục
.
là cấp bcătrungăbìnhăđánhăgiáăcaăngưi dùng .
- Độ tươngăđồng cosine (Cosine similarity)
Đâyălàăphươngăphápăvectoăkhôngăgianădựaătrênăđi số tuyến tính không
phảiălàăcácăphươngăphápăthốngăkêănhưă trên. Mỗiăngưiădùngăđược biểu din
bằng 1 vecto và sự tươngă đồng giữaă haiă ngưiă dùngă được tính toán bằng
khoảng cách cosine giữaăhaiăvectoăđánhăgiá.
Trongăđó,ă
làăđánhăgiáăcaăngưi dùng với mục .
Bớc 4: Lựa chọn k ngời dùng là hàng xóm.
Trong một số h thống,ăăngưi ta lựa chn hàng xóm là tất cả ngưi
dùngăkhácăngưiădùngăđang.ăCònătrongămột số h thống khác, k hàng xóm
được lựa chn tùy thuộc vào vic xét duyt từng mục, với mỗi mục khác nhau
sẽ lựa chn một số lượng k hàng xóm khác nhau.
18
Vic hn chế số lượngăngưiădùngătươngătự mangăđến những dự đoánă
chínhăxácăhơnăvìăthế khi thực hin nhiều thí nghim trong nhiềuălƿnhăvực khác
nhau,ăngưi ta nhn thấy với là con số hợp lý.
Bớc 5: Tìm kiếm những mục k ngời dùng đã xếp hạng mà ngời
dùng u cha xếp hạng.
Bớc 6: Dự đoán đánh giá ca ngời dùng u với mục cha xếp hạng.
Dựaătrênăngưi dùng hàng xóm ta có công thc dự đoánăđánhăgiáăca
ngưiădùngăđóăvới một mục [7] nhưăsau:
′
′
′
′
′
′
Trongăđó,ăk là tpăngưi hàng xóm caăngưi dùng u.
′
là sự tươngăđồng giữaăngưi dùng đangăxétău và
ngưi dùng hàng xóm
′
.
′
là xếp hng caăngưi dùng
′
với mục i.
′
là xếp hng trung bình caăngưi dùng
′
Ví dụ minh họa.
Lấy ví dụ bảngăđánhăgiáăxếp hng 5 sao ca 5ăngưi sử dụng A, B, C,
D, E cho 4 bộ phim Batman Begins, Alice in Wonderland, Dumb and Dumber
và Equilibrium (theo bảng 1.1). Xếp hngănàyăđượcăđánhătheoăthangăđiểm 1 ậ
5ătrongăđóă5ălàăxếp hng cao nhất caăngưi dùng thể hinăngưi dùng rất
thích, rấtăquanătâmăđến bộ phimăđó.
Trong ví dụ này, ta sẽ tìm kiếm dự đoánăcaăngưi sử dụng C cho bộ
phim Equilibrium vớiăcácăđiều kin là thực hin tính toán sự tươngăđồng giữa
haiăngưi sử dụng dựa trên công thc Pearson correlation.
Để giải quyếtăbàiătoánănàyătrước hết ta cầnăxácăđnh hàng xóm gần nhất
caăngưi sử dụngăCălàăai?ăNhưătaăthấy,ăcóăhaiăngưi sử dụngăcóăđánhăgiáăchoă
bộ phim Equilibrium và chỉ cóăhaiăngưi này là ng cử viên cho danh sách
hàng xóm gần nhất vớiăngưiădùngăCăđóălàăngưi dùng A và D.
19
Sauăđóăthực hin tính sự tươngăđồng giữaăngưi dùng C với lầnălượt
ngưi dùng A và ngưi dùng D theo công thc Pearson correlation.
Trongăhìnhă1.1ătaăquyăướcăA,ăB,ăC,ăD,ăEătươngăng là user A, user B,
user C, user D, user E. Các bộ phim Batman Begins, Alice in Wonderland,
DumbăandăDumberăvàăEquilibriumăđược kí hiuătươngăng là b, a, d, e.
Thực hinătươngătự vớiăngưi dùng D taăthuăđược kết quả như bảng
sau:
Batman
Begins
Alice in
Wonderland
Dumb
And
Dumber
Equilibrium
S(C,ău’)
User A
4
?
3
5
4
0.781
User C
5
4
2
?
3.667
User D
2
4
?
3
3
- 0.515
Hình 1.6 Tínhăđộ tươngăđồng giữaăhaiăngưi sử dụng
Sauăkhiătínhătoánăđược sự tươngăđồng giữaăngưi sử dụng C với hai
hàng xóm gần nhất ta thực hin dự đoánăđánhăgiáăcaăngưi dùng C cho bộ
phim Equilibrium dựa trên giá tr tươngăđồng vừa tìm kiếm trênăvàăđánhăgiáă
ca nhữngăngưi hàng xóm cho bộ phim Equilibrium theo công thc dự đoán
taăđược: