ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Uông Huy Long
GIẢI PHÁP MỞ RỘNG THÔNG TIN NGỮ CẢNH
PHIÊN DUYỆT WEB NGƯỜI DÙNG NHẰM NÂNG
CAO CHẤT LƯỢNG TƯ VẤN TRONG HỆ THỐNG
TƯ VẤN TIN TỨC
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
HÀ NỘI - 2010
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ĩ Trần Mai Vũ, 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 những điều kiện thuận lợi cho tô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 hỗ trợ kiến thức chuyên môn để hoàn thành tốt
khoá luận.
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
Uông Huy Long
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Uông Huy Long
GIẢI PHÁP MỞ RỘNG THÔNG TIN NGỮ CẢNH
PHIÊN DUYỆT WEB NGƯỜI DÙNG NHẰM NÂNG
CAO CHẤT LƯỢNG TƯ VẤN TRONG HỆ THỐNG TƯ
VẤN TIN TỨC
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
Cán bộ hướng dẫn: Th.S Trần Mai Vũ
HÀ NỘI - 2010
i
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ĩ Trần Mai Vũ, 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 những điều kiện thuận lợi cho tô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 hỗ trợ kiến thức chuyên môn để
hoàn thành tốt khoá luận.
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
Uông Huy Long
ii
Tóm tắt
Với sự phát triển của Internet, con người ngày nay không chỉ có nhiều hơn cơ hội
tiếp xúc với các nguồn cung cấp tin tức mà còn có thể có được nó đúng lúc hơn. Các tờ
báo điện tử ở Việt Nam cung cấp mỗi ngày hàng chục cho tới hàng trăm tin mới thuộc
nhiều lĩnh vực khác nhau sẵn sàng đáp ứng các yêu cầu mọi lúc, mọi nơi của người đọc.
Tuy nhiên, bên cạnh những tiện ích, tồn tại những vấn đề cần được giải quyết như sự gia
tăng về số lượng, tính đa dạng về nội dung của tin tức ở các nguồn khác nhau, sự phù hợp
cá nhân, Trong bối cảnh đó, sự giúp đỡ của một hệ thống tư vấn tin tức là cần thiết, bằng
cách duyệt qua không gian các lựa chọn, nó dự đoán các tin tức hữu ích tiềm năng với
từng người dùng cá nhân.
Xây dựng hồ sơ sở thích người dùng là một trong các thành phần cơ bản nhất của hệ
thống tư vấn. Tuy nhiên, những mô hình (như trong khảo sát của Gauch và cộng sự [14] )
đang được sử dụng hiện nay vẫn tồn tại nhiều vấn đề chưa được giải quyết, ví dụ như: tính
nhập nhằng ngữ nghĩa trong các hồ sơ dựa trên từ khóa, hoặc đòi hòi thông tin suy diễn từ
WordNet để xác định ngữ nghĩa trong các hồ sơ dựa trên mạng ngữ nghĩa, Thêm vào đó,
các giải pháp này còn thiếu khả năng tính hợp mềm dẻo các nhân tố ngữ cảnh.
Khóa luận này trình bày một mô hình hệ thống tư vấn tin tức sử dụng một mô hình
sở thích ngươi dùng mới. Dựa trên khai phá dữ liệu từ ngữ cảnh duyệt web của người
dùng, hệ thống coi sở thích của người sử dụng là một kết hợp của tập các chủ đề ẩn xuất
hiện phổ biến và tập các thực thể trong các tin tức người dùng từng quan tâm.
iii
Mục lục
Mở đầu 1
Chương 1. Khái quát về các hệ thống tư vấn 3
1.1. Bài toán tư vấn 3
1.2. Các kĩ thuật tư vấn 5
1.2.1. Kĩ thuật tư vấn dựa trên nội dung 5
1.2.2. Kĩ thuật tư vấn cộng tác 8
1.2.3. Kĩ thuật tư vấn lai 11
1.3. Sơ lược về hệ thống tư vấn tin tức của khóa luận 13
1.3.1. Đặc trưng của tư vấn tin tức. 13
1.3.2. Hướng tiếp cận của khóa luận 14
Chương 2. Mô hình hóa sở thích người dùng cho các hệ tư vấn dựa trên nội dung. 16
2.1. Tiến trình mô hình sở thích người dùng 16
2.2. Thu thập thông tin về người dùng 17
2.2.1. Phương pháp định danh người dùng 17
2.2.2. Các phương pháp thu thập thông tin 18
2.3. Xây dựng mô hình sở thích người dùng 21
2.3.1. Phương pháp dựa trên từ khóa có trọng số 21
2.3.2. Phương pháp dựa trên mạng ngữ nghĩa 22
2.3.3. Phương pháp dựa trên cây phân cấp khái niệm 23
Chương 3. Mô hình 24
3.1. Cơ sở lý thuyết 25
3.1.1. Phân tích thông tin chủ đề dựa trên mô hình chủ đề LDA. 25
3.1.2. Nhận dạng các thực thể trong tài liệu dựa trên từ điển 27
3.2. Phân tích sở thích người dùng 28
3.2.1. Thông tin trong phiên duyệt web người dùng 28
3.2.2. Mô hình sở thích người dùng 29
3.3. Áp dụng mô hình môi quan tâm người dùng vào tư vấn tin tức 30
3.3.1. Pha phân tích dữ liệu tư vấn 30
3.3.2. Pha tư vấn trực tuyến 33
3.4. Đánh giá kết quả tư vấn. 36
Chương 4: Thực nghiệm và đánh giá 37
iv
4.1. Môi trường thực nghiệm 37
4.2. Dữ liệu và công cụ 37
4.2.1. Dữ liệu 37
4.2.2. Công cụ 38
4.3. Thực nghiệm 39
4.3.1. Ví dụ về phân tích tin tức 39
4.3.2. Ví dụ phân tích sở thích người dùng 40
4.3.3. Tư vấn tin tức 42
4.4. Kết quả thực nghiệm và đánh giá 43
Kết luận 46
Tài liệu tham khảo 48
v
Danh sách hình
Hình 1. Các thành phần chính của hệ thống tư vấn. 4
Hình 2. Tiến trình mô hình hóa sở thích người dùng. 16
Hình 3. Các hệ thống tư vấn dựa trên thông tin phản hồi hiện. 19
Hình 4. Mô hình mối quan tâm người dùng dựa trên từ khóa. 22
Hình 5. Mô hình mối quan tâm người dùng dựa trên mạng ngữ nghĩa 22
Hình 6. Mô hình mối quan tâm người dùng dựa trên mạng khái niệm 23
Hình 7. Tài liệu với K chủ đề ẩn. 25
Hình 8. Biểu diễn đồ họa LDA 26
Hình 9. Ước lượng tham số tập dữ liệu văn bản. 26
Hình 10. Suy diễn chủ đề sử dụng tập dữ liệu VnExpress 27
Hình 11. Mô hình sở thích người dùng dựa trên chủ đề ẩn và thực thể. 29
Hình 12. Mô hình pha phân tích dữ liệu tư vấn 31
Hình 13. Mô hình pha tư vấn trực tuyến. 33
Hình 14. Biểu diễn tin tức theo chủ đề và thực thể. 39
Hình 15. Kết quả phân tích cho thấy các thông tin liên quan đến chủ đề 19. 42
vi
Danh sách các bảng
Bảng 1. Đánh giá theo thang điểm về một số bộ phim đã xem. 5
Bảng 2. Các kĩ thuật thu thập thông tin ẩn. 20
Bảng 3. Ví dụ về một hồ sơ sở thích người dùng. 24
Bảng 4. Thông tin trong phiên duyệt web. 28
Bảng 5. Môi trường thực nghiệm. 37
Bảng 6. Công cụ. 38
Bảng 7. Một số chủ đề ẩn 39
Bảng 8. Ví dụ về phân tích sở thích người dùng. 40
Bảng 9. Đánh giá mô hình phân tích sở thích. 44
Bảng 10. Độ chính xác của mô hình dựa vào đánh giá của người sử dụng. 44
1
Mở đầu
Từ khi những bài báo đầu tiên về lọc công tác được công bố từ những năm 90 của
thế kỉ trước, hệ tư vấn đã chứng tỏ được vai trò quan trọng của mình trong cả hai khía
cạnh nghiên cứu và ứng dụng. Chúng ta có thể dễ dàng tiếp cận với các bài báo khoa học
liên quan đến từ khóa “Recommender System” trong hơn 8600 kết quả trả về từ máy tìm
kiếm GoogleScholar
1
với hơn 1100 kết quả cho riêng năm 2009 hoặc sử dụng các ứng
dụng tư vấn nổi tiếng như sách trên Amazon
2
, phim trên NetFlix
3
.
Các hệ tư vấn hoạt động như một bộ lọc thông tin [8], nhằm cố gắng đưa ra các
thông tin về nội dung hoặc thông tin về sản phẩm (như phim, sách, website, tin tức,…) có
nhiều khả năng thuộc được người dùng quan tâm. Thông thường, một hệ tư vấn so sánh
mối quan tâm của người dùng (trong khóa luận, hai khái niệm mối quan tâm người dùng
hay sở thích người dùng có thể được sử dụng thay thế cho nhau) với một vài đặc trưng
tham chiếu để đưa ra các ước lượng đánh giá cho các sản phẩm. Các đặc trưng này có thể
đến từ các thông tin của sản phẩm (hướng tiếp cận lọc dựa trên nội dung) hoặc từ môi
trường xã hội người dùng (hướng tiếp cận lọc cộng tác).
Mặc dù các hệ thống tư vấn đã được nghiên cứu từ khá lâu, và đã có nhiều ứng
dụng chứng minh được tính hiệu quả của các hệ thống tư vấn trên thế giới, các nghiên cứu
về lĩnh vực này ở Việt Nam còn hạn chế. Mong muốn phát triển một hệ thống tư vấn,
khóa luận tập trung vào xây dựng một hệ thống tư vấn các tin tức tiếng Việt.
Ngày nay, khái niệm “báo điện tử” cũng như việc đọc tin tức điện tử đã không còn
xa lạ với đa số người dân Việt Nam. Những thống kê trong gần đây trên BaoMoi
4
về số
lượt người sử dụng internet để xem các tin tức điện tử hiện nay đang cho thấy nhu cầu
ngày một tăng của xã hội trong lĩnh vực truyền thông này. Tuy nhiên, một vấn đề còn tồn
tại hiện nay đó là trong khi có quá nhiều tin tức mỗi ngày được cập nhật, người dùng
giường như bị chìm ngập trong biển thông tin mà vẫn không tìm ra được các thông tin
phù hợp, đó chính là môi trường cho các lĩnh vực liên quan đến tư vấn tin tức phát triển.
Nắm bắt được nhu cầu này, khóa luận đề xuất một giải pháp tư vấn các nội dung thông tin
liên quan đến ngữ cảnh tiếp nhận thông tin hiện tại của người sử dụng, qua đó mong
1
2
3
4
2
muốn cung cấp được những chỉ dẫn đúng, nhanh chóng, và không có các phiền toái từ
việc phải đăng kí hay cung cấp các thông tin cá nhân.
Nội dung chính của khóa luận được chia làm 4 phần:
Chương 1. Các hệ thống tư vấn: Trình bày các khái niệm, các thuật ngữ, các kĩ
thuật liên quan đến hệ thống tư vấn. Các ưu và nhược điểm của các kĩ thuật này
cũng được trình bày chi tiết hơn trong các mục 1.2 và 1.3.
Chương 2. Mô hình hóa sở thích người dùng cho các hệ tư vấn dựa trên nội
dung: Giới thiệu về bài toán xây dựng sở thích người dùng, các thông tin được
sử dụng để phân tích và một số kĩ thuật mô hình sở thích người dùng.
Chương 3. Mô hình: Trình bày đề xuất xây dựng sở thích người dùng dựa trên
phân tích chủ đề ẩn phổ biến và các thực thể, và áp dụng của mô hình này vào hệ
thống tư vấn tin tức.
Chương 4. Thực nghiệm và đánh giá: Trình bày một số kết quả đánh giá ban
đầu.
3
Chương 1. Khái quát về các hệ thống tư vấn
Trong cuộc sống hàng ngày, khi đứng trước quá nhiều lựa chọn, người ta thường
dựa trên những ý kiến hay lời khuyên của mọi người xung quanh. Nhưng trong kỉ nguyên
thông tin, hàng triệu thông tin được đưa lên internet mỗi ngày, điều này dẫn 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 để hỗ trợ cho các
phương pháp truyền thống trên . Hệ tư vấn (recommender system) là một giải pháp như
vậy. Hệ thống này đưa ra gợi ý dựa trên những gì người dùng đã làm trong quá khứ,
hoặc dựa trên tổng hợp ý kiến của những người dùng khác. Hệ tư vấn đã trở thành một
ứng dụng quan trọng và thu hút được sự quan tâm lớn của các nhà nghiên cứu cũng như
các doanh nghiệp.
Một số hệ tư vấn nổi tiếng hiện nay như [26] :
Phim / TV/ âm nhạc: MovieLens, EachMovie, Morse, Firefly, Flycasting
Tin tức / báo chí: Tapestry, GroupLens, Lotus Notes, Anatagonomy…
Sách / Tài liệu: Amazon.com, Foxtrot, InfoFinder…
Web: Phoaks, Gab, Fab, IfWeb, Let's Browse …
Nhà hàng: Adaptive Place Advisor, Polylens, Pocket restaurent finder…
Du lịch: Dietorecs, LifestyleFinder …
1.1. Bài toán tư vấn
Một cách hình thức, bài toán tư vấn được các tác giả Adomavicius và Tuzhilin [2]
mô tả như sau:
Gọi U = (u
,u
,u
,…,u
) là tập hợp tất cả người dùng trong hệ thống tư vấn,
= (i
,i
,i
,…,i
) là tập tất cả các sản phẩm có thể tư vấn.
Một hàm g = × → , trong đó R là một tập hợp có thứ tự, được dùng để đo sự
phù hợp của sản phẩm i
n
với người dùng u
m
.
Như vậy, với mỗi người dùng u
m
thuộc vào U, hệ tư vấn cần chọn ra các sản phẩm
i
,
∈ , chưa biết với người dùng u
m
sao cho hàm g đạt giá trị lớn nhất.
∀u
∈ , i
,
= argmaxg
(
u
,i
)
4
Trong các hệ thống tư vấn, mức độ phù hợp của sản phẩm thường được biểu diễn
theo đánh giá thang điểm (rating), phụ thuộc vào từng ứng dụng, các đánh giá này có thể
được thực hiện trực tiếp bởi người dùng hoặc được tính toán bởi hệ thống.
Mỗi người dùng thuộc không gian ngươi dùng U được xác định bởi một hồ sơ (user
profile), những thông tin lưu trong hồ sơ này có thể bao gồm các thông tin như giới tính,
tuổi, quốc gia, tính trạng hôn nhân, … hay cũng có thể bao gồm các thông tin về sở thích,
mối quan tâm của họ. Tương tự như vậy, mỗi sản phẩm cũng được mô tả bởi tập hợp các
đặc trưng của chúng. Ví dụ, trong hệ thống tư vấn phim, các đặc trưng của một bộ phim
có thể là tên phim, thể loại, đạo diễn, diễn viên chính,…
Một cách khát quát tiến trình tư vấn có thể được mô tả như sau:
Hình 1. Các thành phần chính của hệ thống tư vấn.
Đầu tiên, bộ phận học hồ sơ người dùng phân tích các sở thích ngươi dùng. Một khi
hệ thống hiểu được người dùng quan tâm đến điều gì, nó thực thi một thuật toán tư vấn,
so sánh, tổ hợp giữa các hồ sơ người dùng hoặc giữa hồ sơ người dùng với các đặc trưng
sản phẩm, sau đó chọn ra tập hợp những sản phẩm người dùng có thể ưa thích.
Vấn đề chính của hệ tư vấn là hàm g không được xác định trên toàn không gian
× mà chỉ trên một miền nhỏ của không gian đó. Điều này dẫn tới việc hàm g phải
được ngoại suy trong không gian này. Thông thường, độ phù hợp được thể hiện 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
5
(thường khá ít). Ví dụ, bảng 2 là đánh giá của một số người dùng với các phim mà họ đã
xem (thang điểm từ 0-10, kí hiệu ∅ nghĩa là bộ phim chưa được người dùng cho điểm).
Từ những thông tin đó, hệ thống tư vấn phải 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 nhất.
Bảng 1. Đánh giá theo thang điểm về một số bộ phim đã xem.
Spartacus Back to the
Future 3
HarryPotter 6 Up
A 2
∅
8 9
B 8 7
∅
∅
C
∅
∅
6 5
D
∅
4
∅
7
1.2. Các kĩ thuật 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ử dụng
học máy, lí thuyết xấp sỉ, các thuật toán dựa trên kinh nghiệm… 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 các đánh giá về sản
phẩm:
Dựa trên nội dung (content-based): người dùng được gợi ý những sản phẩm
tương tự như các sản phẩm từng được họ đánh giá cao.
Cộng tác (collaborative): người dùng được gợi ý những sản phẩm mà những
người cùng sở thích với họ đánh giá cao.
Lai ghép (hybrid): kết hợp cả hai phương pháp trên.
1.2.1. Kĩ thuật tư vấn dựa trên nội dung
Hệ tư vấn dựa trên nội dung đưa ra các tư vấn dựa trên phỏng đoán rằng một người
có thể thích các sản phẩm có nhiều đặc trưng tương tự với các sản phẩm mà họ đã từng ưa
thích. Theo đó, độ phù hợp g(u,i) của sản phẩm i với người dùng u được đánh giá dựa
6
trên độ phù hợp g(u, i
j
), trong đó i
j
∈ và tương tự về nội dung i. Ví dụ, để gợi ý một bộ
phim cho người dùng u, hệ thống tư vấn sẽ nhận ra sở thích của u qua các đặc điểm của
những bộ phim từng được u đánh giá cao (như thể loại, tên đạo diễn…); sau đó chỉ những
bộ phim tương đồng với sở thích của u mới được giới thiệu.
Hướng tiếp cận dựa trên nội dung bắt nguồn từ những nghiên cứu về thu thập thông
tin (IR - information retrieval) và lọc thông tin (IF - information filtering). Do đó, rất
nhiều hệ thống dựa trên nội dung hiện nay tập trung vào tư vấn các đối tượng chứa dữ liệu
text như văn bản, tin tức, website… Những tiến bộ so với hướng tiếp cận cũ của IR là do
việc sử dụng 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 cấp trực tiếp (khi trả lời
khảo sát) hoặc gián tiếp (do khai phá thông tin từ các giao dịch của người dùng).
Để cụ thể hơn, đặt Content(i) là tập thông tin (hay tập các đặc trưng) về sản
phẩm i. Do hệ thống dựa trên nội dung được thiết kế chủ yếu để dành cho các sản phẩm
dạng văn bản hoặc có các mô tả nội dung (metadata) dạng văn bản nên phương pháp biểu
diễn thường được lựa chọn là mô hình không gian vector (Vector Space Model ). Theo
đó, nội dung sản phẩm được biểu diễn bởi các từ khóa: Content(i) = (w
i1
,w
i2
,…,w
ik
), với
w
i1
, w
ik
là trọng số của các từ khóa (như TF-IDF) từ 1 tới k trong không gian từ khóa
được xây dựng từ trước. Ví dụ điển hình cho hệ thống dạng này là các hệ tư vấn trang web
như Fab[5], biểu diễn nội dung các trang web bằng 100 từ quan trọng nhất hay Syskill &
Webert [23] sử dụng 128 từ có trọng số cao nhất.
Đặt Profile(u) là hồ sơ về người dùng u, bao gồm các thông tin về sở thích của u.
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 phẩm từng được u
đánh giá (cho điểm) trước đó. Phương pháp được sử dụng thường là các kĩ thuật phân
tích từ khóa của IR, do đó, Profile(u) cũng có thể được định nghĩa như một vector trọng
số: Profile(u) = (w
u1
, …,w
uk
) với x
uj
biểu thị độ quan trọng của từ khóa j với người dùng
u.
Trong hệ thống tư vấn dựa trên nội dung, độ phù hợp g(u,i) được xác định bởi công
thức:
g(u,i) = Score(Profile(u), Content(i))
Cả Profile(u), Content(i) đều được biểu diễn bằng vector trọng số từ TF-IDF (tương
ứng là các vector
⃗
,
⃗
) nên ta có thể sử dụng một công thức tính độ tương tự như độ đo
cosin:
7
g
(
,
)
=cos
(
⃗
,
⃗
)
=
⃗
.
⃗
‖
⃗
‖
×
‖
⃗
‖
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ử dụng nhiều
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 từ dữ liệu nền. Ví dụ, dựa trên tập các trang web đã được người dùng
đánh giá là “thích” hay “không thích” có thể sử dụng phân lớp Bayes để phân lớp các
trang web chưa được đánh giá.
Một số hạn chế của hệ thống tư vấn dựa trên nội dung:
Theo công trình khảo sát các hệ tư vấn của Adomavicius và Tuzhulin[2], các hệ
thống tư vấn dựa trên nội dung có một vài hạn chế sau đây:
Sự phân tích nội dung bị hạn chế (Restricted content analysis): Tính hiệu quả của
hệ tư vấn này phụ thuộc vào việc mô tả một cách đầy đủ các đặc trưng nội dung
của sản phẩm. Vì vậy, nội dung sản phẩm phải hoặc có thể được trích xuất tự
động bởi máy tính hoặc dễ dàng được trích xuất bằng tay. Có nhiều trường hợp,
yêu cầu này rất khó thực hiện, ví dụ trong miền ứng dụng tư vấn dữ liệu đa
phương tiện như ảnh đồ họa, phim, âm thanh,… Trích xuất tự động đặc trưng nội
dung của các đối tượng dữ liệu này là một bài toán khó, và việc trích xuất bằng
tay là không khả thi do chi phí lớn.
Sự lạm dụng nội dung chuyên môn (Content over-specialisation): Sự tư vấn chỉ
được tạo ra từ phân tích nội dung các sản phẩm đã từng được người dùng ưa
thích, trong khi các những đánh giá của người dùng khác có thể được sử dụng để
tư vấn những sản phẩm mới (thậm chí khác loại), những tư vấn dựa trên nội
dung chỉ có thể đưa ra những sản phẩm tương tự với những gì họ đã từng đánh
giá cao trước đây. Trong nhiều trường hợp, những sản phẩm không nên được tư
vấn nếu nó quá giống với các sản phẩm đã được đánh giá từ trước. Một ví dụ
điển hình là trong các hệ thống tư vấn tin tức, những tin tức tư vấn được đánh giá
cao hơn nếu nó không phải là một bản trích dẫn hoặc có nội dung thông tin trùng
lặp.
8
Vấn đề người dùng mới (new user problem): Người dùng cần đánh giá một
lượng sản phẩm đủ lớn trước khi hệ thống tư vấn có thể thực sự hiểu sở thích của
họ, và đưa ra những tư vấn đáng tin cậy.
1.2.2. Kĩ thuật tư vấn cộng tác
Theo Adomavicius và cộng sự [2], không giống như phương pháp tư vấn dựa trên
nội dung, hệ thống cộng tác dự đoán độ phù hợp g(u,i) của một sản phẩm i với người
dùng u dựa trên độ phù hợp g(u
j
, i) giữa người dùng u
j
và i, trong đó u
j
là người có cùng
sở thích với u. Ví dụ, để gợi ý một bộ phim cho người dùng u, đầu tiên hệ thống cộng tác
tìm những người dùng khác có cùng sở thích với u, ví dụ cùng thích các bộ phim hành
động. Sau đó, những bộ phim được họ đánh giá cao sẽ được dùng để tư vấn cho u.
Có rất nhiều hệ thống 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).
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 của một sản phẩm dựa trên toàn
bộ các sản phẩm đã được đánh giá trước đó. Nghĩa là, độ phù hợp của sản phẩm i
n
với
người dùng u
m
, g(u
m
, i
n
) được tổng hợp từ đánh giá của những người dùng khác về i
n
(thường là N người có sở thích tương đồng nhất với u
m
).
Theo đó, hướng tiếp cận lọc cộng tác này tổ hợp các đánh giá người dùng cùng sở
thích này:
Trong đó,
m
là tập các người dùng cùng sở thích với u
m
.
Một số ví dụ về hàm tổ hợp [2]:
9
Trong đó, d là hệ số chuẩn hóa
Giá trị trung bình các đánh giá của người dùng u
j
Có nhiều cách để tính độ tương đồng (về sở thích) giữa hai người dùng, nhưng trong
hầu hết các phương pháp, độ tương đồng chỉ được tính dựa trên các sản phẩm đượ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).
Biểu diễn những đánh giá quá khứ của hai người dùng u
m
và u
j
tương ứng như sau:
Độ tương đồng dựa trên cosin:
10
Độ tương quan:
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) sử dụng kĩ thuật thống kê và học máy trên dữ liệu 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 sản phẩm chưa được đánh giá.
Breese [10] đề xuất hướng tiếp cận xác suất cho lọc cộng tác (collaborative
filtering), trong đó công thức sau ước lượng đánh giá của người dùng u về sản phẩm i
(thang điểm đánh giá từ 0 đến n):
r
u,i
=
,
=
∑
× Pr
,
=
,
́
,́ ∈
Billsus và Pazzani [9] đề xuất phương pháp lọc cộng tác trên nền học 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 số nhằm làm giảm số chiều của ma trận) có thể được
sử dụng.
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…
Hệ thống tư vấn cộng tác khắc phục được nhiều nhược điểm của hệ thống dựa trên
nội dung. Một điểm quan trọng là nó có thể xử lý mọi loại dữ liệu và gợi ý một loại sản
phẩm, kể cả những sản phẩm mới, khác hoàn toàn so với những gì người dùng từng xem.
Một số hạn chế của hệ thống tư vấn lọc cộng tác
Một số hạn chế của các hệ tư vấn lọc cộng tác có thể được liệt kê như sau:
Vấn đề của sự đánh giá thưa thớt: vấn đề số lượng các đánh giá từ người dùng
quá ít để tạo ra các dự đoán đủ tin cậy. Mức độ thành công của các hệ thống tư
11
vấn phụ thuộc nhiều vào những đánh giá nhận được từ khách hàng, và sự tư vấn
cộng tác được thực hiện dựa trên sự chồng lấn của những đánh giá này. Vì vậy,
rất khó để có thể đưa ra những tư vấn chính xác khi không gian đánh giá là thưa
thớt. Ví dụ như một vài sản phẩm chỉ được nhận được ít đánh giá từ người dùng,
chúng có thể rất ít có cơ hội được tư vấn, thậm chí cả khi được đánh giá cao.
Vấn đề người dùng mới: Chiến lược cộng tác học sở thích người dùng từ chính
những đánh giá trong quá khứ của họ. Đối với những người dùng mới chưa thực
hiện đánh giá nào, không có một sự tư vấn nào có thể được tạo ra.
Vấn đề sản phẩm mới: tương tự như vấn đề người dùng mới, đối với những sản
phẩm mới, chưa nhận được đánh giá nào từ phía người dùng, không thể có sự tư
vấn nào về chúng.
Vấn đề chú cừu xám: Đối với người dùng có sở thích khác biệt với số đông, sự
tư vấn đôi khi không mang lại kết quả.
Vấn đề thiếu tính đa dạng: Vì tri thức của hệ thống về nội dung chỉ dựa trên các
lựa chọn từ phía người dùng, nên sự tư vấn thường có xu hướng lệch về những
sản phẩm đã được chọn trong quá khứ, kết quả là trong khi phải xử lý lượng lớn
dữ liệu, phần lớn những tư vấn được tạo ra lại chỉ tập trung vào những sản phẩm
phổ biến nhất. Ví dụ điển hình cho những cản trở của vấn đề này là ở các hệ
thống tư vấn tin tức, trong khi những tin tức mới hơn có thể mang nhiều giá trị
hơn, những tin tức được nhiều người đọc trước đây lại thường xuyên được tư
vấn.
1.2.3. Kĩ thuật tư vấn lai
Một vài hệ tư vấn kết hợp cả phương pháp cộng tác và dựa trên nội dung nhằm
tránh những hạn chế của cả hai. Có thể phân thành bốn cách kết hợp như sau:
Cài đặt hai phương pháp riêng rẽ rồi kết hợp dự đoán của chúng.
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ệ thống cộng
tác.
Tích hợp các đặc trưng của phương pháp cộng tác vào hệ thống dựa trên đặc
trưng.
Xây dựng mô hình hợp nhất, bao gồm các đặc trưng của cả hai phương pháp.
12
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:
Cách 1: Kết hợp kết quả của cả hai phương pháp thành một kết quả chung duy
nhất, sử dụng cách kết hợp tuyến tính (linear combination) hoặc voting scheme.
Cách 2: Tại mỗi thời điểm, chỉ chọn phương pháp cho kết quả tốt hơn (dựa trên
một số độ đo chất lượng tư vấn nào đó).
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
Một số hệ thống lai (như Fab[5]) dựa chủ yế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. Một lợi ích khác là các gợi ý sẽ
không chỉ giới hạn trong các sản phẩm được đánh giá cao bởi những người cùng sở
thích (gián tiếp), mà còn cả với những sản phẩm có độ tương đồng cao với sở thích của
chính người dùng đó (trực tiếp).
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 cận phổ biến nhất là dùng các kĩ thuật giảm số chiều trên tập hồ sơ của
phương pháp dựa trên nội dung. Ví dụ, Soboroff và Nicholas [29] sử dụ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 tập hồ sơ người dùng (mỗi hồ sơ được biểu diễn bởi một vector từ khóa).
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 nhất. Basu
và cộng sự [5] đề xuất 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 sự [25] đưa ra phương pháp
xác suất hợp nhất dựa trên phân tích xác suất ngữ nghĩa ẩn (probabilistic latent
semantic analysis). Ansari và cộng sự [4] giới thiệu mô hình hồi quy Bayes sử dụng
dây Markov Monte Carlo để ước lượng tham số.
13
Độ chính xác của hệ thống tư vấn lai ghép có thể được cải tiến bằng cách sử dụng
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 thức về nhà hàng, thực phẩm (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ệ thống
dạng này là nó cần phải thu thập đủ tri thức, đây cũng là nút thắt cổ chai (bottle- neck)
của rất nhiều hệ thống trí tuệ nhân tạo khác. Tuy nhiên, các hệ thống tư vấn dựa trên tri
thức hiện đang được phát triển trên các lĩnh vực mà miền tri thức của nó có thể biểu diễn
ở dạng mà máy tính đọc được (như ontology). Ví dụ, hệ thống Quickstep và Foxtrot sử
dụng ontology về chủ đề 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.
1.3. Sơ lược về hệ thống tư vấn tin tức của khóa luận
Mô hình hệ tư vấn do khóa luận đề xuất không được triển khai một cách độc lập mà
tích hợp vào hệ thống cung cấp tin tức. Với việc phân tích những đặc trưng của đối tượng
tư vấn này, khóa luận đề xuất ý tưởng ban đầu cho giải pháp tư vấn được triển khai.
1.3.1. Đặc trưng của tư vấn tin tức.
Tư vấn tin tức là một lĩnh vực giàu tiềm năng bởi số lượng các sản phẩm tư vấn, số
lượng người dùng và số lượt sử dụng cao hơn nhiều so với các đối tượng tư vấn khác. Tuy
nhiên, đi kèm theo đó là các thử thách về các đặc trưng riêng có của miền đối tượng tin
tức cũng như các đặc trưng chung của người sử dụng tư vấn.
Tin tức là một đối tượng tư vấn đặc biệt, các đặc trưng sau của tin tức giúp đưa ra
các giải pháp hữu hiệu hơn trong xây dựng giải pháp tư vấn:
Tính không đồng nhất giá trị: Giá trị của tin tức chỉ có thể được xác định bằng
cách kết hợp các yếu tố: nội dung thông tin của bản tin, nguồn tin, thời điểm xuất
bản, nhà xuất bản, tác giả, người nhận tin,…
Tính dễ sinh ra: một số lượng lớn tin tức có thể nảy sinh xung quanh một sự
kiện, hiện tượng.
Tính dễ tàn lụi: hiện tượng tin tức đánh mất giá trị khi vấn đề nó đề cập không
còn tính thời sự.
14
Khi xem xét đến yếu tố phù hợp giữa đối tượng tư vấn và mối quan tâm người dùng,
các đặc trưng về mối quan tâm của người dùng cũng cần được xem xét.
Tính đa quan tâm: Tại một thời điểm, người dùng có thể có nhiều mối quan
tâm khác nhau. Ví dụ: họ có thể quan tâm đến cả các thông tin về cả thể thao và
chính trị.
Tính thay mới: Mối quan tâm của họ có thể phân chia thành 3 loại chính: các
mối quan tâm dài hạn, các mối quan tâm trung hạn và các mối quan tâm ngắn
hạn. Tính thay mới có thể diễn ra ở cả ba loại mối quan tâm này, tuy nhiên tốc độ
thay mới của các mối quan ngắn hạn là nhanh nhất và nó cũng có ưu thế hơn khi
dùng để tư vấn các tin tức, vốn liên tục được sinh ra.
1.3.2. Hướng tiếp cận của khóa luận
Để vượt qua các thử thách này, chúng tôi tập trung vào các tiếp cận lọc dựa trên nội
dung với thông tin về mối quan tâm ngắn hạn thông qua các chủ đề ẩn. Các lý do có thể
được nêu ra là:
Thứ nhất: Lọc dựa trên nội dung không gặp phải các vấn đề rất khó giải quyết
của lọc cộng tác trên miền đối tượng tin tức: (i) vấn đề những đánh giá đầu: các
tin tức liên tục được sinh ra và cần dễ dàng tiếp cận trong khi quá trình lọc cộng
tác không thể tạo ra các sản phẩm chưa từng được đánh giá bởi người dùng khác
hoặc những người dùng chưa từng đánh giá một sản phẩm nào; (ii) vấn đề ma
trận thưa: Khó tìm ra được các sản phẩm đã được đánh giá bởi một lượng đủ
người dùng vì số lượng quá lớn các tin tức mới và đặt gánh nặng cung cấp thông
tin đánh giá lên người dùng [11].
Thứ hai: Biểu diễn thông tin ở mức chủ đề có mô tả rõ ràng hơn tập hợp các
mối quan tâm hay sở thích của người dùng. Sử dụng phương pháp này còn có thể
khắc phục được hạn chế tư vấn các sản phẩm quá giống các sản phẩm đã được
ưa thích trước đó (ví dụ như vấn đề trùng lặp tin tức).
Thứ ba: Các dữ liệu thu thập dựa trên những tin tức được truy cập gần nhất cho
phép mô tả chính xác hơn đặc tính thay mới mối quan tâm.
15
Theo đó, hệ thống đề xuất giải quyết hai vấn đề cơ bản của tiến trình tư vấn:
Đầu tiên là dựa trên khảo sát về các phương pháp xây dựng mô hình hóa sở thích
người dùng dựa trên các dữ liệu văn bản thường được áp dụng cho hướng tiếp
cận lọc nội dung, đề xuất giải pháp mô hình sở thích người dùng dựa trên phân
tích chủ đề ẩn phiên duyệt web người dùng (ngữ cảnh đọc tin tức).
Sau đó, dựa trên mô hình sở thích này của người dùng, những tin tức liên quan
được thực hiện thông qua đối chiếu chủ đề và thực thể của chúng với những chủ
đề và thực thể người dùng từng quan tâm.
16
Chương 2. Mô hình hóa sở thích người dùng cho các hệ tư
vấn dựa trên nội dung.
Trong chương một, khóa luận đã trình bày sơ bộ về các khái niệm liên quan đến hệ
tư vấn. Qua đó, chúng ta biết rằng chất lượng của những tư vấn cá nhân phụ thuộc vào
khả năng học sở thích người dùng của hệ tư vấn (hay xây dựng hồ sơ sở thích ngươi
dùng). Hồ sơ sở thích người dùng càng phản ảnh đúng mối quan tâm của họ, thì càng có
nhiều khả năng có được những tư vấn tốt.
Các kĩ thuật tư vấn dựa trên nội dung thường dựa trên các hồ sơ sở thích được xây
dựng thông qua một quá trình phân tích các tài liệu dạng văn bản.
Trong chương này, khóa luận trình bày sâu hơn về các khái niệm và kĩ thuật liên
quan đến quá trình mô hình hóa sở thích người dùng nói chung và cho các hệ tư vấn dựa
trên nội dung nói riêng.
2.1. Tiến trình mô hình sở thích người dùng
Theo Gauch và các cộng sự [14], một tiến trình mô hình hóa sở thích người dùng
cho các ứng dụng hướng cá nhân (như các hệ tư vấn hướng cá nhân, các hệ thống web
thích nghi, …) bao gồm 2 pha cơ bản như minh họa sau.
Hình 2. Tiến trình mô hình hóa sở thích người dùng.
Trong pha đầu tiên, một tiến trình thu thập thông tin được sử dụng để thu thập các
dữ liệu từ người dùng, có thể chia các dữ liệu này thành hai loại cơ bản: các thông tin
người dùng hiện (hay thông tin người dùng rõ) và các thông tin người dùng ẩn. Những
thông tin này sau đó được tổng hợp để xây dựng mô hình sở thích người dùng trong pha
còn lại, pha xây dựng hồ sơ người dùng.
17
2.2. Thu thập thông tin về người dùng
Bước đầu tiên trong kĩ thuật học sở thích người dùng là thu thập các thông tin về
người dùng cá nhân. Trong đó, một yêu cầu cơ bản là hệ thống cần phải xác định duy nhất
người dùng. Nhiệm vụ này sẽ được trình bày trong phần 2.2.1. Các thông tin người dùng
được có thể được thu thập hiện qua việc nhập trực tiếp bởi người dùng hay thu thập ẩn
thông qua một các tử phần mềm. Nó có thể thu thập từ máy khách của người dùng hay thu
thập từ chính máy chủ ứng dụng. Phụ thuộc vào cách thức thu thập dữ liệu này mà những
dạng dữ liệu khác nhau về người dùng có thể được thu thập. Một số lựa chọn và ảnh
hưởng của các lựa chọn được trình bày ở mục 2.2.2. Nhìn chung, các hệ thống thu thập
thông tin ẩn và thu thập thông tin từ máy chủ được ưa thích hơn do đặt ít hơn gánh nặng
cung cấp thông tin về phía người dùng và hạn chế được phiền hà vì yêu cầu cài đặt thêm
phần mềm [14].
2.2.1. Phương pháp định danh người dùng
Định danh người dùng là tiêu chí quan trọng giúp hệ thống phân biệt, và xây dựng
hồ sơ khác nhau cho những người dùng khác nhau. Gauch và cộng sự [14] liệt kê ra 5
cách tiếp cận cơ bản trong định danh người dùng: các tử phần mềm (software agent), đăng
nhập (login), proxy server, cookie và phiên duyệt web(session). Mỗi phương pháp đều có
những ưu, nhược điểm riêng và ảnh hưởng các dữ liệu người dùng có thể thu thập được.
Ba phương pháp đầu tiên chính xác hơn, nhưng chúng yêu cầu sự tham gia của
người dùng. Các tử phần mềm là một phần mềm nhỏ được đặt trên máy người dùng, thu
thập thông tin về họ và chia sẻ chúng với máy chủ thông qua một vài giao thức. Giải pháp
này có độ tin cậy cao nhất vì có nhiều hơn sự điều khiển khi triển khai ứng dụng và các
giao thức. Nó cũng có khả năng thu thập được nhiều thông tin nhất vì có quyền truy cập
tới nhiều hơn các nguồn thông tin người dùng. Tuy nhiên, nó yêu cầu sự tham gia của
người dùng để cài đặt phần mềm, đó là một cản trở không dễ chịu. Giải pháp có độ tin cậy
thứ hai là dựa trên việc đăng nhập. Bởi vì người dùng định danh chính họ thông qua đăng
nhập, cách định danh này thường chính xác và có thể sử dụng để xác định người dùng
dùng nhiều máy khách khác nhau. Mặt trở ngại của phương pháp này là người dùng cần
thực hiện một tiến trình đăng kí và thực hiện đăng nhập và đăng xuất cho mỗi lần sử dụng.
Ở giải pháp thứ ba, một proxy server sẽ làm nhiệm vụ thu thập thông tin người dùng,
phương pháp này hữu ích khi cần thu thập thông tin về một nhóm người dùng hoặc một