- 1 -
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
PHẠM PHƯƠNG THANH
MÔ HÌNHTINCẬY TRONG
HỆ TƯVẤNLỰACHỌN
Chuyên ngành: Truyền dữ liệu và Mạng máy tính
Mã số: 60.48.15
Người hướng dẫn khoa học: PGS.TS HUỲNH QUYẾT THẮNG
TÓM TẮT LUẬN VĂN THẠC SỸ
HÀ NỘI – 2010
- 2 -
PHẦN MỞ ĐẦU
1. Cơ sở khoa học và thực tiễn của đề tài
Khả năng lưu trữ thông tin khổng lồ đã tạo ra những bước ngoặt
lớn trong cuộc sống con người. Nhưng ngược lại, nhờ khả năng lưu
trữ được một lượng thông tin khổng lồ này nên quá trình tìm kiếm
thông tin đáp ứng nhu cầu cho người dùng thường gặp rất nhiều khó
khăn. Để giải quyết vấn đề này các hệ thống thu thập và lọc thông tin
ra đời nhằm giảm đi thời gian tìm kiếm và cung cấp thông tin chất
lượng cao cho người sử dụng. Và một hệ “tư vấnlựachọntin cậy” là
mục tiêu hướng tới để nghiên cứu và triển khai trên thực tế.
Các nghiên cứu của các tác giả John O’Donovan, Barry Smyth,
trường Đại học Dublin, Ireland nhóm tác giả Reid Andersen và các
cộng sự thuộc Viện khoa học Weizmann, Rehovot, Israel và một số
nhóm tác giả khác liên quan đến các kỹ thuật xây dựng hệ “tư vấnlựa
chọn tin cậy” được công bố trong các năm 2005-2008 là cơ sở để em
tiến hành nghiên cứu và cải tiến một số kỹ thuật được sử dụng nhằm
nâng cao độ tincậy cho một hệtưvấnlựachọntin cậy.
2. Mục tiêu của đề tài
Luận văn được hoàn thành với mục đích tổng hợp các lý thuyết
liên quan và cung cấp một cái nhìn tổng quan về các kỹ thuật được sử
dụng để xây dựng môhìnhtincậytronghệtưvấnlựa chọn. Đồng
thời tìm hiểu và tổng hợp lại những kết quả chủ yếu về một số kỹ
thuật được công bố trên các bài báo của John O’Donovan, Barry
Smyth, Reid Andersen và các cộng sự và các nhóm tác giả khác. Tiến
hành nghiên cứu thử nghiệm cải tiến các kỹ thuật này. Tiến hành xây
- 3 -
dựng một khung (prototype) hệtưvấnlựachọntincậy để chứng
minh hiệu quả của các cải tiến đề xuất.
CHƯƠNG I
GIỚI THIỆU TỔNG QUAN VỀ HỆTƯVẤNLỰACHỌN
1.1. Hệtưvấnlựachọn
Theo Pemberton: “Hệ tưvấnlựachọn được định nghĩa là một
loại hệ thống lọc có khả năng thích nghi, sử dụng những suy luận rút
ra từ thông tin đã biết về người dùng để tưvấn cho họ lựachọn
những mục mà họ chưa từng biết.”
1.2. Chức năng của hệtưvấnlựachọn
Các hệtưvấnlựachọn giải quyết bài toán như sau: một người
dùng muốn tương tác với một loại mục nào đó, chẳng hạn muốn xem
phim. Khi đó người dùng sẽ vào một website về phim, tất nhiên ở đó
sẽ quá nhiều phim, và người dùng sẽ không thể xem thử hết để xem
phim nào là hợp ý (điều này là quá tốn kém thời gian, tiền bạc mà có
khi lại làm người dùng không hài lòng). Hệtưvấnlựachọn có khả
năng dự đoán mức độ ưa thích của anh ta cho từng phim và tưvấn
cho người dùng lựachọn một số phim mà nó cho là phù hợp nhất.
Như vậy bài toán của hệtưvấnlựachọn là lựachọn ra một số mục
trong vô số mục sẵn có để tưvấn cho người dùng và có khả năng dự
đoán mức độ ưa thích của người dùng cho mỗi mục đó.
1.3. Phân loại hệtưvấnlựachọn
Cách phân loại hệtưvấnlựachọn phổ biến nhất là dựa theo
thuật toán mà chúng dùng để sinh ra các tư vấn: hệ thống tưvấn theo
- 4 -
nội dung (content based), hệ thống tưvấn lọc cộng tác (collaborative
filtering), và hệ thống tưvấn sử dụng kết hợp cả hai loại thuật toán.
Thuật toán tưvấn theo nội dung được xây dựng trên giả định:
người ta thường muốn tìm cái giống cái trước đây mà người ta đã
thích. Hệ thống phân tích nội dung của những mục mà người dùng đã
đánh giá cao, chẳng hạn những phim mà người dùng đã xem và thích,
từ đó tìm ra những đặc trưng của các mục này. Sau đó hệ thống sẽ lựa
chọn những mục mà người dùng chưa đánh giá và có nội dung “gần
nhất” với các đặc trưng đó để tưvấn cho người dùng.
Thuật toán lọc cộng tác được xây dựng dựa trên giả định là
những người có sở thích giống nhau trong quá khứ thì có khả năng
trong hiện tại họ cũng có sở thích giống nhau.
1.4. Kiến trúc hệtưvấnlựachọn
Kiến trúc của hệtưvấnlựachọn được chỉ ra như sau:
- 17 -
KẾT LUẬN
Báo cáo đã trình bày các kết quả thực hiện đồ án tốt nghiệp “
Mô hìnhtincậytronghệtưvấnlựa chọn”. Kết quả đã đạt được bao
gồm cả tìm hiểu tổng quan về hệtưvấnlựachọn và xây dựng một hệ
tư vấn ứng dụng cho sinh viên Đại học Thăng Long trong việc lựa
chọn chuyên ngành hẹp.
Hệ tưvấnlựachọn là một lĩnh vực khá mới ở Việt Nam, đặc
biệt vấn đề về độ tincậytrongmôhìnhtưvấnlựachọn đang được rất
nhiều tác giả quan tâm. Người thực hiện đề tài đã cố gắng tìm hiểu
một cách toàn diện, khái quát nhất về cơ sở, công nghệ của lĩnh vực
này. Trên cơ sở đó, có thể thực hiện mở rộng, tiến hành các nghiên
cứu theo chiều sâu như tìm hiểu cụ thể về các giải thuật mà tác giả
O’donovan đã công bố, đồng thời đề xuất cải tiến giải thuật mới.
Trong khuôn khổ của đề tài này, em đã tiến hành mô tả chi tiết hai
mô hìnhtincậytronghệtưvấnlựa chọn, tiến hành cài đặt kiểm thử
các giải thuật trên bộ dữ liệu chuẩn (MovieLens) và bộ dữ liệu được
thu thập từ Đại học Thăng Long (dlThangLong).
Hướng phát triển tiếp theo của đề tài là tập trung xây dựng một
hệ tưvấnlựachọn ứng dụng cho sinh viên Đại học Thăng Long, hỗ
trợ sinh viên trong việc đăng ký chuyên ngành hẹp, đồng thời giúp
quá trình đào tạo theo tín chỉ hoạt động có hiệu quả.
- 16 -
nữa có thể là thấy bạn học cùng lớp đăng ký chuyên
ngành nào thì đăng ký cùng bạn với suy nghĩ “ học cùng
cho vui”.
o Một yếu tố khác đó là căn cứ vào kết quả học tập của các
môn chuyên ngành cơ sở. Kết quả của cả quá trình học
phản ánh được khả năng của sinh viên đó sẽ phù hợp với
chuyên ngành hẹp nào nhất. Ta lấy một ví dụ, một sinh
viên có điểm số tốt trong các môn như: Lập trình Java,
Phân tích thiết kế hướng đối tượng, Công nghệ phần
mềm,… thì sinh viên đó nên theo chuyên ngành hẹp là
Công nghệ phần mềm.
Với mong muốn đó, ý tưởng xây dựng một hệ thống có thể hỗ trợ
sinh viên trong việc lựachọn đăng ký chuyên ngành hẹp sao cho phù
hợp với sở thích cũng như năng lực của sinh viên nhất. Hệ thống có
tên là: “Hệ tưvấnlựachọn chuyên ngành hẹp cho sinh viên Đại học
Thăng Long”. Đây cũng chính là hướng phát triển tiếp theo của đề
tài!
- 5 -
Theo Zhang 2002 hệtưvấnlựachọn được chia làm 3 phần:
Tương tác với người dùng.
Tạo tiểu sử người dùng.
Tạo tư vấn.
1.5. Ứng dụng của hệtưvấnlựachọn
Phạm vi ứng dụng của hệtưvấnlựachọn là rất rộng. Trong
thương mại điện tử, hầu hết các hệ thống này là các hệ thống bán
sách, giới thiệu phim, tin tức, đĩa CD ca nhạc, các trang Web
Kangas 2002 đã tổng hợp một số hệ thống tưvấnlựachọn và phân
loại theo ứng dụng của chúng như sau:
- 6 -
1. Phim: Firefly, MovieCritic, MovieLens, Mangarate, Morse,
CinemaScreen, Imdb
2. Âm nhạc: Firefly, CdNow
3. Sách: Amazon, Barnes&Noble
4. Web: Webwatcher, Webfilter, Webwasher, Select,
Webdoggie, Gustos
5. Thư viện/Bảo tàng: ScienceIndex, Active Web Museum,
BIRD, ChaffAway
6. Tin tức: Shift, Infoscan, NewsSieve, Borger, RAMA,
GroupLens.
7. Tài liệu: Fab
8. Thương mại điện tử: TripMatcher (du lịch), ShopMatcher
(mua bán), E-Markets
Các ứng dụng khác: Restaurant recommendation system (WAP),
Footprints, Jester (truyện cười), JobMatcher (việc làm), Levis (đồ
jeans), Yenta (mai mối), Trabble (nhà hàng)
1.6. Một số hệtưvấnlựachọn thương mại
Tapestry
Fab
Amazon
MovieLens
IMDB (Internet Movie Databasr)
- 15 -
- Hệ quản trị cơ sở dữ liệu: Access
Giải thuật cho kết quả như sau:
Average Max Min
IError 0.938 3.489 0
PError 0.943 1.804 0.679
IOverest 0.865 3.833 0
IUderest 0.745 3.489 0
POverest 0.931 2.217 0.328
PUnderest 0.868 1.865 0.162
3.4. Ý tưởng xây dựng hệtưvấnlựachọn chuyên ngành hẹp tại
đại học Thăng Long
Đại học Thăng Long là trường Đại học đầu tiên đào tạo bậc
đại học theo hình thức tín chỉ. Với hình thức đào tạo này, sinh viên có
thể chủ động quyết định thời khóa biều của mình. Tuy nhiên rất nhiều
sinh viên sẽ bị lúng túng trong việc lựachọn môn học sao cho phù
hợp và có thể rút ngắn thời gian hoàn thành chương trình học một
cách nhanh nhất.
Một khó khăn nữa mà sinh viên gặp phải đó là sau khi hoàn
thành các môn chuyên ngành cơ sở, sinh viên phải đứng trước việc
lựa chọn chuyên ngành hẹp cho mình. Việc lựachọn chuyên ngành
hẹp phụ thuộc rất nhiều vào các yếu tố:
o Thứ nhất, là sở thích của sinh viên. Sinh viên muốn mình
sau ra trường sẽ làm chuyên sâu về phần nào thì sẽ đăng
ký môn chuyên ngành hẹp thuộc phần đó. Hoặc một lý do
- 14 -
các cải tiến đó có mối tương quan không đáng kể. Ngược lại, CItem
hơn Resnick 67% trong số các lần thử nghiệm, nhưng điều cơ bản là
sai số tổng thể giảm đáng kể là 22%.
3.3. Thử nghiệm giải thuật cho chức năng tưvấnlựachọn chuyên
ngành hẹp tại đại học Thăng Long
3.3.1. Thu thập và xây dựng dữ liệu
Dữ liệu được thu thập từ Phòng Đào Tạo 1 trường Đại học Thăng
Long và người viết luận văn tiến hành xây dựng bộ dữ liệu phù hợp
để phục vụ cho việc kiểm thử các giải thuật đã được công bố cũng
như giải thuật đề xuất.
Dữ liệu được xây dựng bằng cách tiến hành thu thập dữ liệu của các
sinh viên đã tốt nghiệp, gồm:
- Mã sinh viên
- Tên sinh viên
- Điểm trung bình các môn chuyên ngành cơ sở
- Mã môn chuyên hành hẹp đăng ký
- Điểm tốt nghiệp
Với các thông tin đó, hệtưvấnlựachọn sẽ thực hiện công việc như
sau: khi có một sinh viên cần tưvấn để lựachọn chuyên ngành hẹp.
Sinh viên đó cần cung cấp thông tin cho hệ thống về mã sinh viên,
tên,… và quan trọng là điểm trung bình các môn chuyên ngành cơ sở.
Hệ thống sẽ xử lý và dự đoán điểm tốt nghiệp rồi từ đó tưvấn cho
sinh viên chuyên ngành hẹp phù hợp.
3.3.2. Thử nghiệm với giải thuật Citem
Tiến hành cài đặt thuật toán CItem trên bộ dữ liệu dlThangLong:
- Ngôn ngữ lập trình: Java
- 7 -
CHƯƠNG II
MÔ HÌNHTINCẬYTRONGHỆTƯVẤNLỰACHỌN
2.1. Tổng quan về môhìnhtincậytronghệtưvấnlựachọnTrong hầu hết các nghiên cứu gần đây, định nghĩa về độ tincậy
được chia thành nhiều loại khác nhau, nên trong nhiều trường hợp thì
khó có thể đưa ra định nghĩa chính xác về độ tin cậy. Trong nghiên
cứu của Marsh có giới thiệu độ tincậy theo theo hai lĩnh vực làm
việc với nó:
Độ tincậy giữa các cá nhân trong ngữ cảnh cụ thể (Context-
specific interpersonal trust): là tình trạng người dùng có tin
cậy vào một người nào đó mà không cần thiết đối với người
khác trong một hoàn cảnh cụ thể.
Độ tincậyhệ thống/ khách quan (impersonal): diễn tả độ tin
cậy người dùng trong một hệ thống hay một môi trường nào
đó.
2.2. Các phương pháp tính toán độ tincậy
2.2.1. Tính toán độ tincậy theo tiểu sử người dùng
Giá trị dự đoán một khoản mục i của người sản xuất p cho
người tiêu dùng c là chính xác nếu giá trị p(i) trong khoảng
giá trị
thực c(i) của c theo công thức
)()(),,( icipcpiCorrect
Tập toàn bộ các tưvấn có liên quan đến người sản xuất cho
trước RecSet(p) được cho bởi công thức:
- 8 -
)},(), ,,{()(
11 n
icnicpRecSet
Và tập các tưvấn chính xác CorrectSet(p) là tập con của
RecSet(p) được xác định bằng công thức, với giá trị i là số các khoản
mục và c là giá trị dự đoán.
)},,(:)(),{()(
kkkk
cpiCorrectpRecSeticpCorrectSet
Độ tincậy mức khoản mục Trust
P
của một nhà sản xuất là tỷ
lệ phần trăm các tưvấn chính xác được phân bố. Ví dụ, nếu một nhà
sản xuất có 100 tưvấn thì họ được coi là người cùng tưvấn 100 lần;
trong đó 40 tưvấn là có khả năng giá trị là chính xác, thì độ tincậy
mức tiểu sử của người dùng này là 0.4 và được tính theo công thức:
)(
)(
)(
pRecSet
pCorrectSet
pTrust
P
2.2.2. Tính toán độ tincậy theo khoản mục
Độ tincậy mức tiểu sử là tiêu chí đo lường độ tincậy dạng
thô khi nó coi tiểu sử như tổng thể đánh giá. Trên thực tế, người ta kỳ
vọng tiểu sử người sản xuất cho trước có thể đáng tincậy khi nó trở
thành giá trị dự đoán cho khoản mục cụ thể hơn so với các khoản
mục khác. Nhờ vậy, người ta có thể định nghĩa hàm hình học độ tin
cậy mức khoản mục mịn hơn so với công thức trên, đó là hàm Trust
I
dùng để tính tỷ lệ các tưvấn chính xáccho khoản mục i.
}:)(),{(
}:)(),{(
),(
iipRecSetic
iipCorrectSetic
ipTrust
kkk
kkk
I
- 13 -
3.2. Xây dựng và đánh giá kết quả thử nghiệm giải thuật CItem
Kết quả biểu diễn tronghình sau:
Với hai chiến lược dựa trên trọng số (WProfile và WItem)
phân bố sai số dự đoán được cải tiến hơn so với Resnick, mặc dù cải
tiến ở cận biên, chúng chỉ đạt 31.5% và 45.9% của các dự đoán thử
nghiệm. Nói cách khác, Resnick phân bố một dự đoán tốt hơn trong
phần lớn các lần thử nghiệm. Chiến lược dựa trên lọc (FProfile và
FItem) và chiến lược kết hợp (CProfile và CItem) thực hiện đạt kết
quả tốt hơn nhiều. Tất cả các chiến lược thu được kết quả tốt trong
phần lớn các thử nghiệm với FProfile và CItem đạt 70% và 67%
trong các dự đoán.
Chiến lược FProfile cho thấy sự cải tiến tổng thể đạt kết quả
tốt nhất dựa trên tỷ lệ phần trăm vượt qua Resnick, mặc dù nó chỉ đạt
3% sai số có nghĩa so với Resnick. Thậm chí FProfile phân bố các dự
đoán có sai số thấp hơn Resnick trong 70% số lần thử nghiệm, nhưng
- 12 -
CHƯƠNG III
THỬ NGHIỆM, ĐÁNH GIÁ VÀ ĐỀ XUẤT XÂY DỰNG PHẦN
MỀM TƯVẤNLỰACHỌN CHUYÊN NGÀNH HẸP CHO
SINH VIÊN ĐẠI HỌC THĂNG LONG
3.1. Đề xuất cải tiến dựa trên giải thuật kết hợp giữa hai môhình
tin cậy dựa trên trọng số và môhìnhtincậy dựa trên lọc
Khi kết hợp hai môhìnhtincậy dựa trên lọc và dựa trên trọng
số ta có được một môhình mới. Thuật toán sử dụng đối với môhình
này là thuật toán CItem.
Xuất phát từ công thức của Resnick:
i
Pp
iPp
pcsim
pcsimpip
cic
),(
),())((
)(
)(
Với thuật toán này, độ tương tự giữa c, p sẽ được thay thế bởi
trọng số của c, p đối với khoản mục i:
ipcwpcsim ,,,
Từ đó ta có, đánh giá của người dùng c đối với khoản mục i là:
i
Pp
iPp
ipcw
ipcwpip
cic
,,
,,))((
)(
)(
- 9 -
2.3. Một số mô hìnhtincậy và các phương pháp kiểm thử
2.3.1. Mô hìnhtincậy dựa trên trọng số
Cách đơn giản nhất để xem xét độ tincậy không thích hợp với
tiến trình tưvấn là kết hợp độ tincậy và độ tương tự để sinh ra giá trị
trọng số kết hợp mà có thể sử dụng được trong công thức Resnick
như sau
)(
)(
),,(
),,())((
)(
iPp
iPp
ipcw
ipcwpip
cic
Trong đó:
)(
)(
),,(
),,())((
)(
iPp
iPp
ipcw
ipcwpip
cic
2.3.2. Mô hìnhtincậy dựa trên lọc
Có thể thay thế lược đồ trọng số dựa trên độ tincậy bằng việc dùng
độ tin cậy. Có nghĩa là việc lọc các tiểu sử có độ ưu tiên để tư vấn, do
đó chỉ hầu hết các tiểu sử có độ tincậy cao sẽ tham gia vào tiến trình
dự đoán. Công thức sau là phiên bản thay đổi của công thức Resnick:
)(
)(
),(
),())((
)(
i
T
Pp
i
T
Pp
pcsim
pcsimpip
cic
Sự thay đổi đó là chỉ cho phép tiểu sử những người tiêu dùng được
tham gia vào tiến trình tưvấn nếu giá trị tincậy của họ vượt quá một
ngưỡng (threshold) cho trước nào đó.
- 10 -
}),(:)({ TipTrustiPpP
IT
i
Ta thấy công thức trên sử dụng độ tincậy mức khoản mục
(Trust
I
(p,i)), nhưng có thể dùng thay thế bởi độ tincậy mức tiểu sử.
Do đó, phương pháp Resnick chuẩn chỉ áp dụng cho hầu hết các tiểu
sử có độ tincậy cao.
2.3.3. Các phương pháp thử nghiệm
Độ đo hiệu năng
Độ đo chất lượng dự đoán
Độ đo chất lượng N khuyến nghị tốt nhất
2.3.4. Bộ dữ liệu kiểm thử
Khi so sánh các thuật toán thì nhất thiết phải cho chúng chạy
trên cùng một tập dữ liệu chuẩn. Những tập dữ liệu này thường do
các dự án nghiên cứu thu thập được. Hiện có một số tập dữ liệu
chuẩn được cung cấp miễn phí sau :
EachMovie tại http://research.compaq.com/SRC/eachmovie
Đây là tập dữ liệu chuẩn về phim gồm có 72.916 người dùng, 1.648
phim và 2.811.983 đánh giá. Mỗi người dùng sẽ đánh giá phim theo 5
mức điểm từ 1 tới 5. Trong đó chỉ có 61.263 người dùng có đưa ra
đánh giá và chỉ có 1.623 phim là có đánh giá từ người dùng.
MovieLens tại http://www.cs.umn.edu/research/grouplens/data
Tập dữ liệu của MovieLens cũng là tập dữ liệu chuẩn về phim gồm
có 6.040 người dùng, 3.882 phim và 1.000.209 đánh giá trong đó mỗi
người dùng đánh giá ít nhất 20 phim. Mỗi phim được đánh giá theo 5
mức điểm từ 1 tới 5.
- 11 -
Jester tại http://www.ieor.berkeley.edu/~goldberg/jester-data/
Đây là tập dữ liệu về truyện cười của Goldberg (Goldberg et al. 1999
Error! Reference source not found.). Tập dữ liệu này bao gồm 100
truyện cười, 73.421 người dùng và khoảng 4,1 triệu đánh giá. Điểm
khác biệt là Jester có mức đánh giá nhận giá trị liên tục trong khoảng
từ -10 đến 10.
. Java
- 7 -
CHƯƠNG II
MÔ HÌNH TIN CẬY TRONG HỆ TƯ VẤN LỰA CHỌN
2.1. Tổng quan về mô hình tin cậy trong hệ tư vấn lựa chọn
Trong hầu hết các nghiên. nghiệp “
Mô hình tin cậy trong hệ tư vấn lựa chọn . Kết quả đã đạt được bao
gồm cả tìm hiểu tổng quan về hệ tư vấn lựa chọn và xây dựng một hệ
tư vấn ứng