ĐẠ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
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ũ
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.
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
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
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ư
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
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
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.
)
=
⃗
.
⃗
‖
⃗
‖
×
‖
⃗
‖
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
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
=
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.
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:
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.
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