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

tìm hiểu hệ tư vấn và xây dựng hệ tư vấn cho trang web học toán online

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.04 MB, 71 trang )

0


B GIÁO DCăVÀăĐÀOăTO
TRNGăĐI HCăSăPHM HÀ NI





TRN TH PHNGăDUNG



TÌM HIU H TăVN VÀ XÂY
DNG H TăVN CHO TRANG
WEB HC TOÁN ONLINE


LUNăVĔNăTHCăSƾ:ăăKHOAăHC CÔNG NGH THÔNG TIN









HÀ NI,ăNĔMă2014


0


B GIÁO DCăVÀăĐÀOăTO
TRNGăĐI HCăSăPHM HÀ NI


TRN TH PHNGăDUNG




TÌM HIU H TăVN VÀ XÂY
DNG H TăVN CHO TRANG
WEB HC TOÁN ONLINE




Chuyên ngành: KHOA HC MÁY TÍNH
Mã số: 60480101

LUNăVĔNăTHCăSƾ:ăKHOAăHC CÔNG NGH THÔNG TIN

Ngưiăhướng dn khoa hc: PGS.TS PHM TH HOÀN


HÀ NI,ăNĔMă2014



0

Mc lc
Ni dung Trang
M đầu 1
Chươngă1:ăTổng quan h tưăvấn (Recommender System) 3
1.1. Giới thiu h tưăvấn. 3
1.1.1 H tưăvấn là gì? 3
1.1.2 Nhim vụ ca h tưăvấn. 5
1.1.3 Vai trò ca 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 cn h tưăvấn. 9
1.2.1 Phươngăphápălc 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 hc toán online 37
2.1 Giới thiu 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ữ liu. 52
3.3 Thiết kế chcă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ăcaă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 nghim. 60
Kết lun 63
Tài liu tham khảo 64


0

Danh mục hình
Hình 1.1 Xếp hng caăngưi dùng với các bộ phim. 6
Hình 1.2 Ví dụ lc cộngătácăngưi dùng. 11
Hình 1.3 Ma trn xếp hng. 13
Hình 1.4 Ma trn trong lc cộngătácăngưi dùng. 14
Hìnhă1.5ăCácăbước thực hin lc 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ụ lc cộng tác mục. 21
Hình 1.8 Ma trn trong lc cộng tác mục. 22
Hìnhă1.9ăCácăbước thực hin lc 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 hinătưăvấn dựa trên nội dung. 29
Hình 1.13 Danh sách phim và thể loi. 31
Hình 1.14. Mcăđộ yêu thích caăngưi dùng với từng thể loi. 31
Hình 1.15 Mcăđộ yêu thích caăngưi dùng với từng phim. 32
Hình 1.16 Phân loiăphươngăphápălai. 34
Hìnhă1.17ăPhươngăphápălaiătrng 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 hină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 dng toán quan tâm. 44

Hìnhă2.4ăTưăvấn dựa trên lc cộngătácăngưi dùng. 45
Hìnhă2.5ăTưăvấn dựa trên lc 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 chcă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 dinăngưi dùng truy cp vào h thống. 55
Hình 3.8 Giao dinăngưi dùng thực hành kỹ nĕng. 55

1

Hình 3.9 Giao din ngưi dùng truy cp vào lớp hc. 57
Hình 3.10 Giao din cp nht thông tin yêu thích. 58
Hình 3.11 Giao dinătưăvấn kỹ nĕngăphổ biến. 59
Hình 3.12 Giao dinătưăvấn kỹ nĕngăyêuăthích. 60
Hình 3.13ăDanhăsáchăngưi dùng ngu nhiên. 60
Hìnhă3.14ăĐánhăgiáăhiu quả h tưăvấn. 62


1

Mở đu
1. Lý do chnăđ tài.
Kể từ lầnăđầu tiên xuất hin bài báo lc cộng tác từ nĕmă1990,ăh tưă
vấn tr thànhălƿnhăvực nghiên cu quan trng. Hin nay, h tưăvấn nhnăđược
sự quan tâm rất lớn vì tác dụng không nhỏ ca 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 bit 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 hc truyền thống là thầy và trò có sự tươngă
tác trực tiếp trên lớp hc, giáo dục hin nay còn m rộng cách thc dy và
hc trực tuyến mang li hiu quả caoăhơnăsoăvới cách hc truyền thống. Nh
có h tưăvấn, vic hc trực tuyến có hiu quả hơnărất nhiều.
Một trang web hc toán trực tuyến dành cho hc sinh tiểu hc, trang
web cung cấp các kỹ nĕngăchoăhc sinh thực hànhăđể nắm rõ và thực hành
thành tho các kiến thc trên lớpăcũngănhưănângăcao.ăCóăhàngănghìnăhc sinh
truy cpătrangăwebăđể hc và thực hành, mỗi hc sinh li 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ộ hc sinh tham gia
trong h thốngă vàă đưaă raă những li khuyên phù hợp cho từngă ngưi hc.
Những li khuyên này rấtăđángătinăcy vì nó dựa trên lch sử thực hành kỹ
nĕngăcaă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 ca từng hcă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, hc sinh tiểu hc khi tham gia hc
trực tuyến sẽ lựa chn kỹ nĕngăthực hành phù hợp vớiănĕngălực caămìnhănhưă
thế nào? Tht là khó khi lựa chn kỹ nĕngăyêuăthíchătrongăsố rất nhiều kỹ
nĕngăca h thống và  la tuổi ca các em, rấtăkhóăđể tìm kiếm kỹ nĕngăphùă
hợp vớiănĕngălực ca mình.
Vì lí do trên, tôi lựa chnăđề tàiă“Tìmăhiểu h tưăvấn và xây dựng h tưă
vấn cho trang web hcătoánăonline”.

2

2. Mcăđíchănghiênăcu.
- Tìm hiểu h tưăvấn vàăcácăphươngăphápătiếp cn h tưăvấn.
- Tìm hiểu h thống thực hành kỹ nĕngătrênătrangăwebăhc toán online.
- Nghiên cuăcácăphươngăphápătiếp cn có thể hỗ trợ xây dựng h tưăvấn
trên trang web hc toán online.

- Lựa chnăphươngăphápătiếp cn và ng dụng xây dựng h tưăvấn kỹ
nĕngăhỗ trợ hc sinh thực hành trên trang web hc toán online.
3. Đốiătng nghiên cu.
- Để 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 dinăđànătraoăđổi kiến thc h tưăvấn và các tài liu
nghiên cuăđược chia sẻ trên mng Internet.
- Nghiên cu ngôn ngữ lp trình php và viếtăchươngătrìnhăchcănĕngătưă
vấn kỹ nĕngăchoăngưi dùng thực hành trên trang web hc toán online.
4. Tóm tắt luậnăvĕn.
Lunăvĕn trình bày tổng quan h tưăvấn, bao gồm khái nim h tưăvấn,
nhim vụ phổ biến ca h tưăvấn, vai trò ca h tưăvấnăđối với nhà cung cấp
vàăngưi dùng, một số ng dụng ca h tưăvấn trong thực tế vàăcácăphươngă
pháp tiếp cn h tưăvấn.
Để xây dựng h tưăvấn cho trang web hc toán online, lunăvĕnăđãăgiới
thiu trang web hc 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 hc toán online.
Lunăvĕnătrìnhăbàyăcácăbướcăcàiăđặt h tưăvấn và giới thiu một số giao
din chính ca chcănĕngătưăvấn. Đánhăgiáăhiu quả ca h tưăvấn dựa ngưi
dùng trên h thống.

3

Chngă1: Tổng quan h tăvn (Recommender System)
1.1. Gii thiu h tăvn.
1.1.1 H tăvn là gì?
H tưăvấn (recommender system) là một h thống có chcă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 dch,ă tươngă tácă (transaction)ă caă ngưi
dùng với các mục, mặtăhàngăđó.
H tưăvấn có thể hotăđộngăđộc lp hoặc đóngăvaiătròănhưămột chc

nĕngătrongămột trang web hay một h thống khác
User làăngưi dùng truy cp 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à
lch sử tìm kiếm, lch sử mua hàng, lch sử xem mặt hàng hay xếp hng,ăđánhă
giá ca 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 loi:ăngưi
dùngăchưaăcóălch sử tươngătácăvới h thốngă(nhómă1)ăvàăngưiădùngăđãăcóă
lch 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óălch sử tươngătácăvới
h thống hoặcăchưaăcp nhtăđ 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à lch 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 li lợi ích cho cả ngưi tiêu dùng
ln 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ự kin [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 hiu 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 dch vụ quan trng 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 triuăđôălaăchoănhững ngưiăđưaăra thutătoánăđầu tiên

đánhăbiăđược 10% thutătoánătưăvấn ca h. Và giảiăthưngăđóăđãăđược một
nhóm nghiên cuă 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 bită được nhiềuă ngưi quan tâm là ACM Recommender Systems
(viết tắtălàăRecSys)ăđược thành lpănĕmă2007ălàăsự kin uy tín tổ chc hàng
nĕmăđể nghiên cu 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 lun trong các hội ngh truyền thống về lƿnhăvựcăcơăs dữ
liu, 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).
- Tiăcácătrưngăđi hcăvàăsauăđi hc trên thế giớiăđãăcóănhững
khóa hc dành riêng cho vic nghiên cu h tưăvấn,ăhướng dn h tưăvấn cũngă
được phổ biến trong các hội ngh khoa hc máy tính.

5

- Trong các tp chí khoa hcăđãăcóămột số vấnăđề đặc bităđược
đưaăraăbaoăgồm vic nghiên cu và phát triểnălƿnhăvực h tưăvấn. Một số tp
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ưăvy chng tỏ rằng,ălƿnhăvực nghiên cu h tưăvấn rấtăđược nhiều
ngưi quan tâm và khẳngăđnh giá tr ca 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 Nhim v ca h tăvn.

Để hiểuărõăhơnăcôngăvic ca h tưăvấn ta sẽ xem một số nhim
vụ phổ biến sau:
- Lấy ý kiến cá nhân. H tưăvấn toăđiều kină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 lun hoặc
xếp hng 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 cy
h thốngătưăvấn, vì vyăđể đưaăraătưăvấn tốt nhất cho h cần kiểm tra hành vi
tìm kiếm ca h thtăđầyăđ, chính xác và dựa trên những thông tin tht sự có
ích cho vicăđư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áăcaă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 chn.
Để hiểuărõăhơnănhim vụ ca h tưăvấn ta có thể xem ví dụ minh ha
sauăđây.ăSauăkhiăh thống lấy ý kiến cá nhân caăngưi dùng cho các mục ta
có bảng xếp hng 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 hng caăngưi dùng với các bộ phim.
Ví dụ hình 1.1 biểu din ma trn xếp hng caă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 hng cho
các bộ phim Batman Begins, Alice in Wonderland, Dumb and Dumber và
Equilibrium. Các giá tr trong ma trn là xếp hng caă 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ể hinăngưi dùng không có xếp hng cho bộ phimăđó.ă
Nhim vụ ca 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
chnăđể đưaăraătưăvấn.


7

1.1.3 Vai trò ca h tăvn.
H tưăvấn có vai trò quan trng trong nhiềuălƿnhăvực.ăTaăxétăđến lợi ích
mà nó mang liăđố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 cu thị trờng giúp định hớng phát triển ca
doanh nghiệp trong tơng lai. Doanh nghip nắm bắt, cp nht nhanh nhất th
hiếu caăngưi dùngăđể từ đóălựa chn tp trung đầuătưăvàăphátătriển mnh
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 chc
nĕngăhữuăíchăchoăngưi dùng là mong muốn ca nhiều nhà cung cấp. Chất
lượng ca h thống thể hin sự phát triển ca doanh nghip.
- 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 thiu 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 tpătrungăđẩy mnh 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 hiu quả, các h thống lớnănhưăyoutube.com,ăamazon.comăcho thấy
ngưi dùng tht sự quanătâmăđến nhữngăđề xuất ca h thống.
- Tăng sự hài lòng ca 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 cy caăngưi dùng với
h thống từ đóăh thống nhnăđược sự tươngătácătíchăcực từ ngưi dùng.


8

1.1.4 ng dng h tăvn.
H tưăvấnăđược ng dụng trong nhiềuălƿnhăvực khác nhau đặc bit 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 li hiu quả cho h thống. 
Vit 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 hin 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 ca google là
play.google.com. Ví dụ h tưăvấnă trênătrangă youtube.com,ăngưi dùng truy
cp vào gmailăsauăđóătìmăkiếm các video, h thống sẽ lưuălch sử tìm kiếm và
xem video caă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 hc trực tuyến hay các
trang cung cấp tài liuă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 liu, bài hc liên quan. Ví dụ với

trang tailieu.vn là trang tìm kiếm tài liu, sách, bài báo, lunăvĕn, khi ngưi
dùng tìm kiếm một tài liu bất kì, h thống sẽ cung cấp một danh sách những
tài liu 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ăphngăphápătiếp cận h tăvn.
H tưăvấnăcóăbaăphươngăphápătiếp cn ch yếuălàăphươngăphápălc 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 ming, h tưă vấnă đưaă raă
phươngăphápătiếp cn lc 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ălc 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 ca nó. Vì vyăphươngăphápălaiăraăđiăđể
hn chế nhượcăđiểm và phát triểnăưuăđiểm caă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 cn  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ălc 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 cn phổ biến trên còn có nhiềuă phươngă
pháp tiếp cn 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 cn dựa trên tri thc (Knowledge-based),ăphươngăphápă
tiếp cn Demographicăhayăphươngăphápătưăvấn dựa trên kết nối (Community-
based).
1.2.1 Phngăphápălc cng tác (Collaborative Filtering).
Phươngăphápălc 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áă ca mộtă ngưi dùng dựaă trênăđánhăgiáă ca 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ălc cộng tác
giới thiu 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 thiu 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 ngu nhiên thuộc nhiều ch đề, thể loi
khác nhau. Phươngăphápălc 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ể loi, ch đề khác nhau nên các
mụcătưăvấn dựa trên s thích ca h cũngăsẽ thuộc nhiều ch đề, thể loi khác
nhau. Điềuănàyălàă điều mà các nhà cung cấp mong muốn, giới thiu nhiều
mụcăkhácănhauăđến vớiăngưi sử dụng.

Phươngă phápă lc cộngă tácă được chia thành hai loi là lc cộng tác
ngưi dùng (UserậUser Collaborative Filtering) và lc cộng tác mục (Itemậ
Item Collaborative Filtering).


11

1.2.1.1 Lc cngătácăngi dùng (User–User Collaborative Filtering).
 Ý tởng.
Ýătưng caăphươngăphápălc cộngătácăngưi dùng là quảng cáo truyền
ming, tc là ý kiến caăcácăthànhăviênătrongăgiaăđình,ăbnăbèăđóngăvaiătròă
quan trng trong vicăđưaăraăquyếtăđnh cá nhân. Nó sử dụng những ý kiến
caăngưiădùngătươngătự để dự đoánăđánhăgiáăca 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 hng ca
ngưi dùng dựa trên quá nhiềuăngưiădùngătươngătự, h tưăvấn lựa chn 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 ca
h cho dự đoánămục caăngưiădùngăđangăxét.

Hình 1.2 Ví dụ lc 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 loi 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ể hină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 loi trái cây có
nghƿaălàăngời dùng 1 thích cả bốn loi 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ể hin 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 loi {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 loi 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ể hin dự đoánăca 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 loi
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 trn xếp hng.
Hình 1.3 là ma trn xếp hng caăngưi dùng. Ta có thể hình dung bảng
xếp hng caăngưi dùng là một ma trn hai chiều, các cộtăđi din cho các
mục,ăcácăhàngăđi dinăchoăngưi sử dụng, giá tr ca ma trn là xếp hng ca
ngưi dùng với mụcătươngăng. Giá tr này là các số tự nhiên thể hin mcăđộ
quan tâm caăngưi dùng với từng mục. Mỗi h thống khác nhau có thang
điểm xếp hng 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ăđó.
Nhim vụ ca h tưăvấn làăxácăđnh giá tr 

theoăphươngăphápălc
cộngătácăngưi dùng.

14


Hình 1.4 Ma trn trong lc cộngătácăngưi dùng.
Vớiăphươngăphápălc cộngătácăngưi dùng ta thực hin tính toán trên
các cột ca ma trnănhưăhìnhăvẽ 1.4  trên.
SUR thể hinăngưi dùng có xếp hng cho mục.
Unknown Rating thể hinăngưi dùng không có xếp hng cho mục.
Thực hin dự đoánă xếp hng caă ngưi dùng 

với mục 

theo
phươngăphápălc cộngă tácăngưi dùng là dự đoánă xếp hng 

bằng bao
nhiêu dựa trên nhữngăngưiădùngăđãăcóăđánhăgiáăchoămục 




15

Cácăbc thc hin.





















Hình 1.5 Cácăbước thực hin lc 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 chn 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 hngămàăngưi
dùngăuăchưaăxếp hng
Bước 1
Bước 2
Bước 3
Bước 4
Bước 5
Dự đoánăđánhăgiáăcaăngưi
dùng u với mụcăchưaăxếp hng
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 thcăđượ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ể hinăhaiăngưi dùng càng có chung sự
tươngăđồng.
- Tươngăquanăngưi dùng (Pearson correlation).
Công thc 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 hng những mục mà cả haiăngưiăđềuăđánhăgiá.









 



 










 












 








Trongăđó,ă

là tp hợp mụcăngưi dùng  đãăcóăđánhăgiá.


là xếp hng caăngưi dùng  với mục .


là xếp hng trung bình caăngưi dùng .
Trưng hợp 

 

lớn ta có thể sử dụngăngưỡng giới hn cho 

 

.
Theo nhiều thí nghim cho thấyăngưỡng có giá tr 50 là hữu ích trong vic cải

thinăđộ chính xác dự đoán.
- Ràng buộc tươngă quan ngưi dùng (Constrained Pearson
correlation).
Trong công thc 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à tp hợp các mụcămàăngưi dùng  đãăcóăđánhăgiá.


là xếp hngămàăngưi dùng  đãăđánhăgiáămục .


17



làăđiểm tiêu chuẩn.
- Th hngă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 bc. Với nhữngăđánhăgiáătốt nhất sẽ  bc 1, còn nhữngăđánhă
giá thấpăhơnăsẽ  các bcăcaoăhơn.ăSauăđóăthực hinătínhătoánănhưăphươngă
phápăPearsonăcorrelation,ăcácăđánhăgiáătrong công thc (1.1) sẽ được thay thế
bằng các cấp bc.








 



 











 











 








Trongăđó,ă

là cấp bc xếp hng caăngưi dùng  đánhăgiáăchoămục
.



là cấp bcătrungăbìnhăđánhăgiáăcaă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 din
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áăcaă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 chn 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 chn tùy thuộc vào vic xét duyt từng mục, với mỗi mục khác nhau
sẽ lựa chn một số lượng k hàng xóm khác nhau.

18

Vic hn 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 hin nhiều thí nghim trong nhiềuălƿnhăvực khác
nhau,ăngưi ta nhn 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 cha xếp hạng.
 Bớc 6: Dự đoán đánh giá ca ngời dùng u với mục cha xếp hạng.

Dựaătrênăngưi dùng hàng xóm ta có công thc dự đoánăđánhăgiáăca
ngưiădùngăđóăvới một mục [7] nhưăsau:















 















Trongăđó,ăk là tpăngưi hàng xóm caă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 hng caăngưi dùng 

với mục i.



là xếp hng trung bình caăngưi dùng 


 Ví dụ minh họa.
Lấy ví dụ bảngăđánhăgiáăxếp hng 5 sao ca 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 hngănàyăđượcăđánhătheoăthangăđiểm 1 ậ
5ătrongăđóă5ălàăxếp hng cao nhất caăngưi dùng thể hină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ăcaăngưi sử dụng C cho bộ
phim Equilibrium vớiăcácăđiều kin là thực hin tính toán sự tươngăđồng giữa
haiăngưi sử dụng dựa trên công thc 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
caă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 hin 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 thc 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í hiuătươngăng là b, a, d, e.






















































  

  



  

  


  




  



  




  



Thực hină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 hin dự đoánăđánhăgiáăcaă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áă
ca nhữngăngưi hàng xóm cho bộ phim Equilibrium theo công thc dự đoán
taăđược:













 


 






 














×