Luận văn Thạc sĩ Công nghệ thông tin: Phản hồi ẩn trong hệ thống gợi ý nội dung
Nội dung của luận văn bao gồm: Chương 1: Mô tả bài toán về xây dựng hệ thống gợi ý nội dung sử dụng các phản hồi ẩn của người dùng bao gồm: mục tiêu, nội dung và phương pháp nghiên cứu, các kết quả đã đạt được. » Xem thêm
Tóm tắt nội dung tài liệu
- ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
ĐỖ THẾ CHUẨN
PHẢN HỒI ẨN TRONG HỆ THỐNG GỢI Ý NỘI DUNG
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội - 2015
- ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
ĐỖ THẾ CHUẨN
PHẢN HỒI ẨN TRONG HỆ THỐNG GỢI Ý NỘI DUNG
Ngành: Công nghệ thông tin
Chuyên ngành: Khoa học máy tính
Mã số: 60480101
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. Nguyễn Việt Anh
Hà Nội - 2015
- Lời cảm ơn
Đầu tiên, tôi xin gửi lời cảm ơn chân thành tới TS. Nguyễn Việt Anh. Sự chỉ bảo
và hướng dẫn tận tình của thầy trong suốt thời gian tôi nghiên cứu đã giúp tôi hoàn thành
luận văn tốt nghiệp này.
Nguồn hỗ trợ và cổ vũ lớn lao nhất đối với tôi chính là sự động viên, khích lệ của
hai bên bố mẹ, vợ và em trai tôi. Thiên thần bé nhỏ sắp chào đời của hai vợ chồng chúng
tôi cũng là nguồn động lực rất lớn để tôi tập trung cho quyển luận văn này.
Ngoài ra, tôi cũng cảm ơn tất cả các thầy cô, anh chị, các bạn đồng nghiệp, các bạn
cùng khoá học đã cùng chia sẻ, giúp đỡ tôi trong suốt thời gian học tại Trường đại học
Công nghệ - ĐHQGHN.
Chúc tất cả mọi người có sức khỏe tốt, gia đình hạnh phúc và gặt hái được nhiều
thành công trong cuộc sống.
Học viên
Đỗ Thế Chuẩn
- Lời cam đoan
Tôi xin cam đoan các kết quả nghiên cứu, thực nghiệm được trình bày trong luận
văn này do tôi thực hiện dưới sự hướng dẫn của TS. Nguyễn Việt Anh.
Tất cả những tham khảo từ các nghiên cứu liên quan đều được nêu nguồn gốc một
cách rõ ràng từ danh mục tài liệu tham khảo của luận văn. Trong luận văn, không có
việc sao chép tài liệu, công trình nghiên cứu của người khác mà không chỉ rõ về tài liệu
tham khảo.
Tác giả
Đỗ Thế Chuẩn
- 1
Mục lục
Danh mục hình vẽ ................................................................................................. 3
Danh mục bảng ..................................................................................................... 4
LỜI NÓI ĐẦU ....................................................................................................... 5
Chương 1: Đặt vấn đề ........................................................................................... 6
1.1. Bài toán ........................................................................................................6
1.2. Nội dung và phương pháp nghiên cứu .........................................................6
1.3. Phạm vi nghiên cứu .....................................................................................7
1.4. Kết quả đã đạt được .....................................................................................7
Chương 2: Các nghiên cứu liên quan.................................................................. 8
2.1. Hệ thống gợi ý .............................................................................................8
2.2. Phân loại các hệ thống gợi ý ........................................................................9
2.2.1. Hệ thống gợi ý dựa vào nội dung..........................................................9
2.2.2. Hệ thống gợi ý dựa vào cộng tác ........................................................11
2.2.3. Hệ thống lai .........................................................................................13
2.3. Hồ sơ đối tượng nội dung ..........................................................................13
2.4. Mô hình người dùng ..................................................................................14
2.5. Phản hồi của người dùng trong hệ thống gợi ý nội dung...........................17
2.5.1. Phản hồi tường minh ...........................................................................17
2.5.2. Phản hồi ẩn..........................................................................................17
2.6. Kỹ thuật phân rã ma trận............................................................................18
2.7. Một số hệ thống gợi ý nội dung .................................................................19
2.7.1. Google Tin tức ....................................................................................19
2.7.2. Trang web Báo Mới ............................................................................20
2.7.3. Trang báo điện tử VietNamNet ..........................................................21
- 2
Chương 3: Xây dựng hệ thống gợi ý tin tức sử dụng phản hồi ẩn ................. 23
3.1. Kiến trúc hệ thống......................................................................................23
3.1.1. Mô tả kiến trúc hệ thống .....................................................................23
3.1.2. Nguyên lý hoạt động của hệ thống .....................................................24
3.2. Hồ sơ đối tượng tin tức ..............................................................................25
3.3. Module phản hồi ẩn ...................................................................................27
3.3.1. Phương pháp biễu diễn dữ liệu ẩn ......................................................27
3.3.2. Giải thuật sử dụng cho hệ thống gợi ý sử dụng phản hồi ẩn ..............30
Chương 4: Thực nghiệm và đánh giá ................................................................ 32
4.1. Thực nghiệm và đánh giá...........................................................................32
4.2. Hướng nghiên cứu tiếp theo.......................................................................35
Danh mục công trình khoa học của tác giả liên quan đến luận văn .............. 36
Kết luận ................................................................................................................ 37
Tài liệu tham khảo .............................................................................................. 38
- 3
Danh mục hình vẽ
Hình 2.1: Ma trận biểu diễn xếp hạng của người dùng đối với các tin tức ..... 8
Hình 2.2: Kỹ thuật phân rã ma trận ................................................................. 18
Hình 2.3: Giao diện hệ thống Google Tin tức................................................... 19
Hình 2.4: Giao diện Trang cá nhân của Báo mới ............................................ 20
Hình 2.5: Giao diện cuối một tin tức của báo VietNamNet ............................ 21
Hình 3.1: Giao diện trang chủ hệ thống xenoNews ......................................... 23
Hình 3.2: Kiến trúc hệ thống của xenoNews .................................................... 24
Hình 3.3: Sơ đồ hoạt động của hệ thống ........................................................... 25
Hình 3.4: Quá trình thu thập tin tức ................................................................. 26
Hình 3.5: Quá trình tạo hồ sơ đối tượng tin tức .............................................. 26
Hình 3.6: Biểu diễn dữ liệu trong hệ thống gợi ý dưới dạng nhị phân .......... 27
Hình 3.7: Biểu diễn dữ liệu Ds dạng so sánh cặp ............................................. 28
- 4
Danh mục bảng
Bảng 4.1: Thử nghiệm hệ thống qua các tuần.................................................. 33
Bảng 4.2: Số lượng tin tức và tỉ lệ so với tuần đầu người dùng đã đọc ......... 34
Bảng 4.3: Số liệu sau mỗi tuần huấn luyện (tính trung bình tất cả người
dùng) ............................................................................................................................. 34
- 5
LỜI NÓI ĐẦU
Nhờ vào năng lực xử lý mạng máy tính ngày càng cao và giá thành Internet luôn
giảm xuống mà các hệ thống báo điện tử và trang thông tin điện tử ngày càng nở rộ giúp
độc giả cập nhật được thông tin nhanh nhất với nguồn nội dung cực kỳ phong phú và đa
dạng. Chính sự phong phú và đa dạng này khiến tổng số lượng nội dung mà độc giả tiếp
cận trong một khoảng thời gian ngắn rất lớn dẫn đến các nội dung có thể bị lặp đi lặp lại
nhiều lần từ nhiều nguồn cung cấp tin khác nhau. Ngoài ra, nhiều thông tin không cần
thiết, không hấp dẫn đối với bản thân người dùng lại được đưa ra khá nhiều dẫn đến việc
dư thừa thông tin và khó kiểm soát quá trình theo dõi nội dung của người đọc. Để khắc
phục các vấn đề đó, các hệ thống tổng hợp và gợi ý nội dung đã ra đời với mục tiêu phân
loại nội dung, lọc nội dung phù hợp với sở thích cá nhân của mỗi người dùng.
Quá trình xây dựng và biểu diễn mô hình nội dung, hồ sơ người dùng, cách lựa
chọn nội dung để hiển thị và mô hình người dùng đối với mỗi hệ thống là khác nhau.
Việc cập nhật mô hình người dùng thường xuyên rất quan trọng đối với hệ thống để biểu
diễn nội dung và tìm các nội dung phù hợp. Luận văn được thực hiện theo hướng tìm
hiểu các phương pháp thu thập phản hồi ẩn của người dùng để cập nhật vào mô hình
người dùng, từ đó đưa ra các nội dung phù hợp trong các hệ thống nội dung và áp dụng
thử nghiệm vào hệ thống gợi ý tin tức tiếng Việt.
Nội dung luận văn bao gồm 4 phần chính:
Chương 1: Mô tả bài toán về xây dựng hệ thống gợi ý nội dung sử dụng các phản
hồi ẩn của người dùng bao gồm: mục tiêu, nội dung và phương pháp nghiên cứu, các
kết quả đã đạt được.
Chương 2: Trình bày lý thuyết về các hệ thống gợi ý, hồ sơ đối tượng nội dung, hồ
sơ người dùng, mô hình người dùng và giới thiệu về các phản hồi của người dùng. Kỹ
thuật phân rã ma trận và một số hệ thống gợi ý nội dung cũng được giới thiệu.
Chương 3: Dựa trên lý thuyết cùng với một số hệ thống được giới thiệu và tìm
hiểu, luận văn trình bày một hệ thống gợi ý tin tức sử dụng các phản hồi ẩn của người
dùng. Quá trình thiết kế, xây dựng nên hệ thống gợi ý tin tức cũng sẽ được trình bày một
cách cụ thể trong chương.
Chương 4: Trình bày kết quả của quá trình thử nghiệm để đánh giá hoạt động của
module phản hồi ẩn đã xây dựng ở chương 3 trong quá trình hoạt động chung của hệ
thống gợi ý tin tức.
Phần kết luận: Tóm tắt các nội dung đã trình bày trong luận văn và hướng nghiên
cứu tiếp theo để cải tiến hệ thống gợi ý tin tức sử dụng phản hồi ẩn.
- 6
Chương 1: Đặt vấn đề
1.1. Bài toán
Hiện nay, các hệ thống gợi ý đã được phát triển và ứng dụng rất mạnh mẽ [1]. Bộ
lọc nội dung đóng vai trò trung tâm để đưa ra gợi ý phù hợp với người dùng. Tất cả các
hệ thống gợi ý đều yêu cầu một mô hình người dùng [2]. Hướng tiếp cận phổ biến để
xây dựng mô hình người dùng là thông qua các phản hồi của người dùng. Chính vì vậy,
các phản hồi của người dùng đối với hệ thống ngày càng trở nên quan trọng.
Hệ thống gợi ý tin tức tiếng Việt xenoNews của tác giả Nguyễn Thạc Huy [3] đã
xây dựng mới chỉ dừng lại ở mức bước đầu của việc xây dựng dịch vụ gợi ý. Đối với
người dùng, hệ thống chủ yếu chỉ dựa vào nội dung mà người dùng đã đọc, ngoài việc
thu thập về thời gian đọc tin “time-code” gần như hệ thống không có tương tác để thu
thập được các thông tin cần thiết về sở thích của người dùng đối với hệ thống cũng như
tương tác với các tin tức mà người dùng đang đọc.
Để khắc phục nhược điểm của hệ thống xenoNews, tôi đặt ra bài toán cải tiến hệ
thống xenoNews bằng cách sử dụng hệ thống xenoNews làm nền tảng và xây dựng
module thu thập các thông tin ẩn của người dùng khi tương tác với hệ thống, đặc biệt là
các tin tức mà người dùng đang đọc, từ đó cập nhật lại hồ sơ của người dùng trên hệ
thống giúp hệ thống có gợi ý tốt hơn đối với người dùng trong các lần truy cập sau.
Luận văn đưa ra những lý thuyết về mô hình hóa người dùng, công thức và ứng
dụng của các phản hồi ẩn sử dụng kỹ thuật phân rã ma trận cho các hệ thống gợi ý nội
dung từ các nghiên cứu trước đây. Mục tiêu cần đạt được là tổng hợp kiến thức về các
hệ thống gợi ý nội dung sử dụng phản hồi ẩn, từ đó cài đặt và đánh giá một hệ thống gợi
ý tin tức tiếng Việt sử dụng phản hồi ẩn.
1.2. Nội dung và phương pháp nghiên cứu
Để đạt được mục tiêu đã đề ra, trước tiên, tôi tìm hiểu về các hệ thống gợi ý và mô
hình người dùng.
Tiếp theo tôi tiến hành tìm hiểu về các cơ chế phản hồi trong hệ thống gợi ý nội
dung và kỹ thuật phân rã ma trận. Từ những lý thuyết trên, tôi tìm hiểu thêm về một số
hệ thống gợi ý nội dung đã và đang được sử dụng ở Việt Nam.
Sau khi nghiên cứu kỹ lý thuyết và tham khảo một vài hệ thống, tôi tiến hành
nghiên cứu các thuật toán và xây dựng module thu thập phản hồi ẩn của người dùng.
- 7
Cuối cùng, tôi tiến hành một cài đặt hệ thống mới vào trong một hệ thống gợi ý tin
tức sử dụng module thu thập phản hồi ẩn của người dùng để đánh giá hiệu quả của hệ
thống và đề xuất các hướng nghiên cứu tiếp theo.
1.3. Phạm vi nghiên cứu
Luận văn chỉ nghiên cứu về các cơ chế phản hồi ẩn và cập nhật vào hệ thống gợi
ý tin tức xenoNews có sẵn.
Các vấn đề liên quan đến thu thập thông tin, lọc thông tin đều được ứng dụng vào
trong hệ thống. Tác giả chỉ sử dụng các công cụ và nghiên cứu có sẵn chứ không cải
tiến các nghiên cứu, thuật toán trong các lĩnh vực này.
1.4. Kết quả đã đạt được
Với mục tiêu đã đề ra, tôi đã đạt được một số kết quả như sau:
- Trình bày được một số lý thuyết về hồ sơ đối tượng nội dung, hồ sơ người dùng,
mô hình người dùng, các hệ thống gợi ý, phản hồi của người dùng trong hệ
thống gợi ý nội dung và kỹ thuật phân rã ma trận (chương 2)
- Trình bày việc xây dựng thử nghiệm hệ thống gợi ý tin tức tiếng Việt sử dụng
cơ chế phản hồi ẩn của người dùng (chương 3)
- Cài đặt hệ thống thử nghiệm và đánh giá (chương 4)
- Công bố được kết quả nghiên cứu về cơ chế phản hồi ẩn trong hệ thống gợi ý
tin tức với tiêu đề “Implicit feedback mechanism to manage user model applied
in Vietnamese news recommender system” được xuất bản tại tạp chí
International Journal of Computer and Communication Engineering
- 8
Chương 2: Các nghiên cứu liên quan
Chương 2 trình bày về các lý thuyết liên quan đến vấn đề cần tìm hiểu bao gồm lý
thuyết về các hệ thống gợi ý, hồ sơ đối tượng nội dung và mô hình người dùng, các phản
hồi của người dùng trong hệ thống gợi ý nội dung. Kỹ thuật phân rã ma trận cũng sẽ
được giới thiệu. Một số hệ thống gợi ý nội dung đã và đang triển khai được trình bày
vào cuối chương.
2.1. Hệ thống gợi ý
Tập người dùng U (user), tập tin tức I (item – là bài viết, sản phẩm) và phản hồi rui
(thường là các xếp hạng, đánh giá) của người dùng u cho tin tức i là các khái niệm cơ
bản của một hệ thống gợi ý nội dung.
Items
1 2 .. i .. m
1 4 6 2 3
2 3 5 1
: 6 6
Users
u 5 8 ? 3 2
: 7
n 8 5
Hình 2.1: Ma trận biểu diễn xếp hạng của người dùng đối với các tin tức
Hệ thống gợi ý chủ yếu có hai dạng bài toán là dự đoán xếp hạng và gợi ý tin tức.
Dự đoán xếp hạng dựa vào các giá trị xếp hạng trước đó (thường là các phản hồi tường
minh của người dùng – thích hay không thích, xếp hạng từ 1 đến 5, …) để dự đoán các
giá trị xếp hạng trong tương lai. Gợi ý tin tức dựa vào các phản hồi ẩn của người dùng
(thời gian xem tin, số lần xem, … - đây là các thông tin mà người dùng không trực tiếp
đánh giá).
Hình 2.1 ở trên là ma trận biểu diễn thông tin cho bài toán dự đoán xếp hạng. Mỗi
dòng là thông tin đánh giá của một người dùng, mỗi cột là giá trị xếp hạng biểu diễn
phản hồi (chủ yếu là mức độ thích) của người dùng (user) cho một tin tức (item) tương
ứng. Các ô có giá trị là những tin tức đã được người dùng xếp hạng trong quá khứ. Các
ô trống là những tin tức chưa được xếp hạng.
- 9
Bài toán của hệ thống gợi ý ở đây là dựa vào các ô đã có giá trị trong ma trận dự
đoán giá trị của các ô còn trống và sắp xếp các kết quả dự đoán (thông thường là từ cao
đến thấp), sau đó đưa ra một số các tin tức để gợi ý cho người dùng.
2.2. Phân loại các hệ thống gợi ý
Các hệ thống gợi ý được nghiên cứu từ rất lâu và trở thành một chuyên đề nghiên
cứu độc lập từ đầu những năm 1990, bắt đầu bởi Goldberg và các cộng sự [4] khi phát
triển hệ thống thử nghiệm có khả năng lọc email. Bộ lọc của Goldberg phân lớp các
email thành hai lớp là email quan trọng và email không quan trọng. Từ nghiên cứu của
nhóm, các nghiên cứu về hệ thống gợi ý bắt đầu rở rộ.
Hiện nay, các hệ thống gợi ý được phân loại thành 3 nhóm chính [1, 5]: hệ thống
gợi ý dựa vào nội dung (content-based recommendations), hệ thống gợi ý dựa vào cộng
tác (collaborative recommendation), hệ thống lai (hybrid approaches).
2.2.1. Hệ thống gợi ý dựa vào nội dung
Hệ thống gợi ý dựa vào nội dung được phát triển với mục tiêu đưa ra được những
nội dung tương tự với những nội dung mà người dùng quan tâm trong những lần sử dụng
trước.
Dựa vào các nghiên cứu về thu thập, khai thác thông tin [6] và lọc thông tin [7],
các hệ thống gợi ý dựa vào nội dung thường được tập trung vào lĩnh vực xử lý dữ liệu
văn bản (text) như tài liệu, các website và tin tức.
Để có thể xử lý được thông tin của dữ liệu, ta cần phải coi mỗi dữ liệu cần xử lý là
mỗi đối tượng dữ liệu. Mỗi đối tượng bao gồm các đặc tính của đối tượng dữ liệu. Vì
thế, đối tượng được biểu diễn bởi một tập hợp các đặc trưng. Các đặc trưng này sẽ là cơ
sở để đánh giá mức độ giống nhau giữa các đối tượng và giữa đối tượng với bộ tiêu
chuẩn gợi ý. Do các hệ thống gợi ý dựa trên nội dung chủ yếu được thiết kế cho các đối
tượng chứa văn bản nên các đặc trưng này sẽ là các từ khóa (keyword) đại diện cho văn
bản.
Trọng số của từ khóa trong một đối tượng văn bản thể hiện mức độ quan trọng của
từ khóa trong văn bản đó. Mỗi từ khóa ti trong một tài liệu dj được gán một trong số wij,
vì vậy mỗi tài liệu được biểu diễn như một vector. Để tính trọng số của từ khóa một tài
liệu, ta tính số lần xuất hiện của từ khóa gọi là tần suất từ khóa. Tần suất từ khóa được
tính theo công thức:
𝑜𝑐𝑐(𝑡𝑘 ,𝑑𝑗 )
𝑇𝐹(𝑡𝑘 , 𝑑𝑗 ) = (2.1)
𝑁
- 10
Trong đó N là tổng số từ khóa của tài liệu Dj và occ(tk, dj) là số lần xuất hiện của
của từ tk trong văn bản dj. Phương pháp tính này được gọi là phương pháp dựa trên tần
số từ khóa (TF – Term Frequency).
Phương pháp này dễ hiểu, trực quan nhưng có hạn chế, nếu một từ xuất hiện nhiều
lần trong một văn bản thì từ đó sẽ có tần suất cao. Tuy nhiên nếu những từ này đều xuất
hiện trong tất cả các văn bản thì những từ đó sẽ không mang nhiều thông tin ngữ nghĩa
của văn bản và độ quan trọng của chúng cũng giảm đi.
Ví dụ, khi văn bản xuất hiện nhiều từ khóa “bàn phím”, điều đó có nghĩa là văn
bản đang xét chủ yếu liên quan đến lĩnh vực “tin học”. Tuy nhiên điều này không phải
lúc nào cũng đúng. Điển hình là từ “tôi” xuất hiện nhiều lần trong văn bản nhưng chúng
ta không thể cho đây là một từ mang nhiều ý nghĩa đối với văn bản đó.
Tần suất xuất hiện của các từ khóa trong văn bản thường không đồng đều nhau.
Có những từ khóa xuất hiện rất thường xuyên nhưng lại có những từ khóa chỉ xuất hiện
một lần hoặc một vài lần. Để hạn chế được điều này, phương pháp dựa trên nghịch đảo
tần số văn bản (IDF – Inverse Document Frequency) với tần suất logarit được đề xuất
và tính theo công thức:
𝑚
𝐼𝐷𝐹 (𝑡𝑖 ) = log (2.2)
𝑑𝑓𝑖
Trong đó, m là tổng số tài liệu, dfi là số lượng tài liệu có xuất hiện từ khóa ti.
Nếu ti xuất hiện trong càng ít văn bản thì khi nó xuất hiện trong văn bản dj trọng
số của nó đối với văn bản dj càng lớn hay nó là điểm quan trọng để phân biệt văn bản dj
với các văn bản khác và hàm lượng thông tin trong nó càng lớn. Phương pháp dựa trên
nghịch đảo tần số văn bản IDF được áp dụng nhiều hơn phương pháp dựa trên tần số TF
nhưng phương pháp này vẫn chưa giải quyết triệt để được hạn chế của phương pháp tần
số từ khóa. Tức là phương pháp IDF lại không tính đến ý nghĩa của việc một từ khóa
xuất hiện bao nhiêu lần trong cùng một văn bản mà chỉ chú trọng tới mức độ phổ biến
của từ khoá trong tập văn bản.
Phương pháp chuẩn thường được sử dụng hiện nay là Term Frequency Inverse
Document Frequency (TFIDF), đó là sự kết hợp giữa TF và IDF ta được công thức cho
độ đo TFIDF:
TFIDF (ti , d ) TF (ti , d )* IDF (ti ) (2.3)
Độ đo tương tự được yêu cầu để xác định mức độ tương đồng giữa hai tài liệu.
Nhiều độ đo tương tự đã được đề xuất để tính sự tương đồng giữa hai vector. Trong các
- 11
biện pháp đó, độ đo tương tự cosin được sử dụng rộng rãi nhất. Biểu diễn đặc trưng của
văn bản d ( x1 , x2 ,..., xn ) , độ đo tương tự cosin được tính theo công thức:
n
w x i i
similar (di , d j ) i 1
(2.4)
n n
w * x
i 1
2
i
i 1
2
i
Trong đó wi là trọng số thể hiện độ quan trọng của từ khóa ti với sở thích của một
người dùng.
Các hệ thống gợi ý dựa vào nội dung có những ưu điểm như sau:
- Không cần số lượng người dùng lớn để đạt được độ chính xác đề nghị hợp lý
- Một số nội dung mới có thể được gợi ý ngay dựa vào các thuộc tính có sẵn
Mặc dù vậy, các hệ thống gợi ý dựa vào nội dung cũng có một số hạn chế nhất
định như:
- Gợi ý khó chính xác nếu thông tin mô tả về đối tượng có chất lượng kém hoặc
bị lỗi
- Trong một số trường hợp, các mô tả về nội dung rất khó so sánh để đưa ra gợi
ý, ví dụ như việc so sánh của các tệp tin đa phương tiện (video, audio)
- Việc phân tích nội dung của các đối tượng nội dung để đưa ra các nội dung
tương tự nhau, từ đó gợi ý cho người dùng vẫn chưa phản ánh được đúng sở
thích của người dùng đối với các nội dung đó
- Việc gợi ý cho người dùng mới còn nhiều hạn chế do người dùng mới chưa
tương tác nhiều với hệ thống nên lượng dữ liệu đầu để gợi ý chưa đủ dẫn đến
kết quả gợi ý không đạt độ chính xác cao
- Mức độ phù hợp của kết quả có thể chưa cao do sự lặp đi lặp lại của những đối
tượng đạt đủ độ tương tự với các đối tượng đã xem trong quá khứ mới được
gợi ý, dẫn đến vùng đối tượng có thể được gợi ý bị thu hẹp theo một hướng
2.2.2. Hệ thống gợi ý dựa vào cộng tác
Các hệ thống gợi ý dựa vào cộng tác cố gắng đoán lợi ích của một đối tượng đối
với người dùng dựa trên những gì mà người dùng khác đã đánh giá.
Có rất nhiều các thuật toán được dùng trong hệ thống gợi ý dựa vào cộng tác, tuy
nhiên, chúng ta có thể nhóm các thuật toán này thành hai nhóm: dựa vào ghi nhớ
(memory-based) và dựa vào mô hình (model-based) [8].
- 12
Các thuật toán dựa vào ghi nhớ sẽ dựa trên các đánh giá của những người dùng
trong quá khứ để đưa ra dự đoán đánh giá của chính người dùng đối với một đối tượng.
Dự đoán này thường sẽ là giá trị trung bình của tích trọng số và điểm đánh giá của những
người dùng khác. Chính vì vậy, trọng số này được hiểu là độ tương đồng giữa các cặp
người dùng, chính là độ giống nhau giữa các vector đại diện người dùng.
Giá trị đánh giá rc,s của người dùng c cho đối tượng s được tính toán từ tổng hợp
các đánh giá của những người dùng khác (thường là N người dùng có sở thích tương tự
người dùng c nhất) dành cho cùng đối tượng s:
rc , s aggr rc ', s (2.5)
c 'Cˆ
Trong đó Cˆ biểu thị tập N người dùng có sở thích giống người dùng c nhất và đã
đánh giá đối tượng s,
Các thuật toán dựa vào mô hình tạo ra một mô hình người dùng từ tập hợp các
đánh giá của người dùng trong quá khứ và sử dụng mô hình này để dự đoán đánh giá
của người dùng đối với đối tượng cần dự đoán chưa truy cập.
Công thức tính các giá trị đánh giá chưa biết dưới đây đã được J.S. Breese và các
cộng sự đề xuất [9]:
n
rc , s E (rc , s ) i Pr(rc , s i | rc , s ' , s ' Sc ) (2.6)
i 0
Các giá trị đánh giá là số nguyên trong khoảng 0 đến n, xác suất trong công thức
là xác suất người dùng c sẽ đánh giá đối tượng s, khi đã biết đánh giá của người dùng
đó cho các đối trước đây.
Ưu điểm của các hệ thống gợi ý dựa vào cộng tác:
- Có thể gợi ý cho bất kỳ loại đối tượng nội dung nào (video, audio, …) do hệ
thống dựa hoàn toàn vào đánh giá của người dùng để đưa ra các nhận định về
sở thích người dùng
- Gợi ý đa dạng: các gợi ý có thể đưa ra những nội dung khác xa so với những
nội dung mà người dùng đã thích trong quá khứ
Mặc dù có những ưu điểm như vậy nhưng các hệ thống gợi ý dựa vào cộng tác
cũng có những nhược điểm nhất định như:
- Khó hoặc chưa dự đoán được với những người dùng mới
- 13
- Khó đưa ra gợi ý đối với những đối tượng mới đưa vào hệ thống do hệ thống
cần phải đợi đủ số lượt đánh giá mới bắt đầu dự đoán được đối tượng khiến
việc gợi ý cho những người dùng khác gặp một độ trễ nhất định nếu đối tượng
là tin tức
- Dữ liệu không đủ nhiều do hệ thống phụ thuộc vào sự đánh giá của người dùng
nên số lượng đánh giá thu thập được từ những người dùng luôn nhỏ hơn số
lượng mà hệ thống cần phải có
2.2.3. Hệ thống lai
Hệ thống lai sử dụng cả hai phương pháp là gợi ý theo nội dung và gợi ý dựa vào
cộng tác để phát huy ưu điểm và hạn chế nhược điểm của từng phương pháp riêng biệt.
Có rất nhiều cách để kết hợp hai hệ thống gợi ý dựa vào nội dung và dựa vào cộng
tác. Tuy nhiên, có một số phương pháp chính sau:
- Sử dụng độc lập rồi kết hợp các kết quả: Hướng này là hướng đầu tiên khi sử
dụng hệ thống lai do tính đơn giản và dễ hiểu. Hướng này cũng đã được phát
triển thành hai nhánh:
o Một là gộp kết quả riêng lẻ từng hệ thống thành kết quả [10, 11]
o Hai là chỉ sử dụng kết quả từ một hệ thống bằng cách so sánh tập kết
quả của hai hệ thống và quyết định sử dụng tập kết quả được đánh giá
tốt hơn theo tiêu chí nào đó [11]
- Thêm thuộc tính của hệ thống dựa trên nội dung vào mô hình lọc cộng tác:
dùng dữ liệu hợp tác để giảm số lượng trường đánh giá trong đặc trưng dựa
theo nội dung.
- Thêm thuộc tính nội dung vào mô hình cộng tác: dùng các dữ liệu dựa trên nội
dung để bổ sung cho mô hình cộng tác sử dụng đặc trưng của nội dung giúp
tăng hiệu quả hệ thống gợi ý
- 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
2.3. Hồ sơ đối tượng nội dung
Đối tượng chính để hệ thống gợi ý chính là nội dung vì vậy, chúng ta phải xây
dựng cho mỗi đối tượng nội dung một hồ sơ. Hồ sơ này có thể là một bản ghi hoặc một
tập hợp các bản ghi biểu diễn các đặc trưng của đối tượng nội dung. Ở một vài trường
hợp đơn giản, hồ sơ chứa một số đặc trưng của đối tượng mà các đặc trưng này dễ dàng
được nhận biết.
- 14
Đối với hệ thống gợi ý tin tức, đối tượng nội dung là tin tức, vậy đặc trưng của tin
tức sẽ là:
- Không có cấu trúc, do tin tức là tập hợp của các từ được ghép lại
- Số lượng dữ liệu lớn, tin tức là các bản tin hàng ngày về mọi lĩnh vực nên trong
một thời gian rất ngắn có hàng vạn tin tức có thể được tạo ra
- Tính tức thời, do tin tức cần phải “nóng” để người đọc cập nhật được thông tin
ngay. Các tin tức chỉ cần sau một thời gian ngắn như vài giờ, vài ngày là có thể
thông tin đã không còn hữu ích đối với người đọc
- Tính phụ thuộc vào chủ thể thông tin, vì tin tức mô tả sự kiện, đối tượng cụ thể
nên độc giả sẽ bị thu hút ngay vào các thông tin như ai, cái gì, khi nào, ở đâu
của sự kiện, đối tượng
- Quá trình lựa chọn và xếp hạng tin tức, vì đối với người đọc, do sự hứng thú
của họ mà tin tức họ muốn đọc thay đổi liên tục tùy thuộc vào các tin tức mà
họ quan tâm đến ở một thời điểm
Hồ sơ của đối tượng tin tức có thể bao gồm rất nhiều thông tin như tiêu đề, ảnh
minh họa, địa chỉ của tin tức, … và nội dung của tin tức. Tuy nhiên, thông tin quan trọng
nhất của tin tức chính là nội dung của tin. Và đặc trưng cho nội dung tin chính là các từ
trong nó. Do trong ngôn ngữ có một số từ không cần thiết nên được loại bỏ (được gọi là
các từ dừng) để có được các từ đại diện. Các từ đại diện này được gọi là các token. Mỗi
token có thể xuất hiện nhiều lần trong toàn bộ nội dung tin tức.
Như vậy, đối với tin tức, hồ sơ đối tượng đại diện được biểu diễn dưới dạng đếm
số lần xuất hiện của token: di = {(token1i, count1i), …, (tokenxi, countxi)}, với x là số token
của tin tức i.
2.4. Mô hình người dùng
Mô hình người dùng trong hệ thống gợi ý nội dung cực kỳ quan trọng vì mô hình
người dùng là toàn bộ thông tin mà hệ thống biết được về người dùng đó. Mặc dù vậy,
mô hình người dùng cũng chỉ phản ánh được một phần rất nhỏ về người dùng trong thế
giới thực.
Mô hình người dùng đơn giản nhất chính là hồ sơ người dùng, là tập hợp những
thông tin cá nhân của người dùng. Hồ sơ người dùng mô tả sở thích, khả năng, kinh
nghiệm, thói quen, … và toàn bộ quá trình tương tác của người dùng với hệ thống.
Quá trình hệ thống lưu trữ thông tin về người dùng và sử dụng theo nhiều cách
khác nhau nhằm mục đích cuối cùng là cải thiện và tùy biến trải nghiệm của người dùng
trên hệ thống được gọi là quá trình mô hình hóa người dùng.
- 15
Mô hình người dùng trong các hệ thống gợi ý hỗ trợ người dùng trong quá trình
người dùng tương tác với một chủ đề nào đó, đưa ra được những thông tin đã điều chỉnh
tới người dùng, giúp người dùng tìm kiếm được thông tin, hỗ trợ quá trình sử dụng hệ
thống và đưa ra được phản hồi về kiến thức của người dùng, …
Có rất nhiều các phương pháp khác nhau để mô hình hóa người dùng. Dưới đây là
một số kỹ thuật chính, chúng có thể sử dụng riêng rẽ hoặc có thể kết hợp với nhau để
tạo thành một kỹ thuật mới.
Mô hình tuyến tính (Linear model) sử dụng các phép toán gán trọng số hoặc giá trị
trung bình của những đối tượng thường xuyên được truy cập để từ đó đưa ra được sở
thích của người dùng. Ưu điểm của mô hình tuyến tính là dễ sử dụng và tìm hiểu, hiệu
quả cao, áp dụng được trong nhiều lĩnh vực và có thể dễ dàng sửa đổi. Nhờ những ưu
điểm này mà mô hình tuyến tính được sử dụng nhiều nhất. Mặc dù vậy, mô hình tuyến
tính lại có nhược điểm là không đáp ứng đủ yêu cầu biểu diễn tri thức.
Cây quyết định (Decision tree): là một kiểu mô hình dự báo (predictive model),
nghĩa là một ánh xạ từ các quan sát về một sự vật/hiện tượng tới các kết luận về giá trị
mục tiêu của sự vật/hiện tượng. Mỗi một nút trong (internal node) tương ứng với một
biến; đường nối giữa nó với nút con của nó thể hiện một giá trị cụ thể cho biến đó. Mỗi
nút lá đại diện cho giá trị dự đoán của biến mục tiêu, cho trước các giá trị của các biến
được biểu diễn bởi đường đi từ nút gốc tới nút lá đó. Ưu điểm của cây quyết định là rất
dễ đọc hiểu và có hiệu suất tốt trong các trường hợp cây nhị phân. Cây quyết định cũng
có những hạn chế như cần kiến thức của các chuyên gia và khó duy trì cũng như sửa
đổi.
Mạng neural (Neural network): là mô hình xử lý thông tin được mô phỏng dựa
trên hoạt động của hệ thống thần kinh của sinh vật, bao gồm số lượng lớn các Neuron
được gắn kết để xử lý thông tin. Mạng neural giống như bộ não con người, được học
bởi kinh nghiệm (thông qua huấn luyện), có khả năng lưu giữ những kinh nghiệm hiểu
biết (tri thức) và sử dụng những tri thức đó trong việc dự đoán các dữ liệu chưa biết
(unseen data). Sử dụng mạng neural mạng lại hiệu suất tốt và có thể tự phát triển qua
thời gian, tuy nhiên thời gian để đưa lại kết quả tối ưu thường rất lâu.
Khai phá dữ liệu (Data mining): là quá trình khám phá các tri thức mới và các tri
thức có ích ở dạng tiềm năng trong nguồn dữ liệu đã có. Khai phá dữ liệu là một bước
của quá trình khai thác tri thức (Knowledge Discovery Process), bao gồm:
Xác định vấn đề và không gian dữ liệu để giải quyết vấn đề (Problem
understanding and data understanding).
- 16
Chuẩn bị dữ liệu (Data preparation): bao gồm các quá trình làm sạch dữ liệu (data
cleaning), tích hợp dữ liệu (data integration), chọn dữ liệu (data selection), biến đổi
dữ liệu (data transformation).
Khai thác dữ liệu (Data mining): xác định nhiệm vụ khai thác dữ liệu và lựa
chọn kỹ thuật khai thác dữ liệu. Kết quả cho ta một nguồn tri thức thô.
Đánh giá (Evaluation): dựa trên một số tiêu chí tiến hành kiểm tra và lọc nguồn tri
thức thu được.
Triển khai (Deployment).
Luật kết hợp (Association rules): là dạng luật biểu diễn tri thức ở dạng khá đơn
giản và dễ hiểu. Hướng tiếp cận này được ứng dụng trong nhiều lĩnh vực khác nhau như:
kinh doanh, y học, tin sinh học, giáo dục, viễn thông, tài chính và thị trường chứng
khoán, ... Trong thời kỳ đầu, luật kết hợp chỉ đơn giản là khám phá sự hiện diện của mẫu
A thì dẫn đến sự xuất hiện mẫu B. Sau đó luật kết hợp được phát triển để khám phá quan
hệ có tính số lượng giữa các mẫu, luật này được gọi là luật kết hợp số lượng. Những
nghiên cứu về luật kết hợp gần đây tập trung xây dựng các thuật toán khai phá luật kết
hợp mới, hiệu quả hoặc cải tiến, phát triển các thuật toán hiệu quả hơn từ các thuật toán
đã có. Luật kết hợp giúp chúng ta tìm được các mối liên quan giữa các mục dữ liệu của
cơ sở dữ liệu. Ưu điểm của luật kết hợp là có thể phát hiện ra những liên kết ẩn của các
đối tượng và có thể hỗ trợ quá trình ra quyết định. Nhược điểm của luật kết hợp là có
thể trả về những luật kết hợp không quan trọng, thiếu logic.
Khai phá văn bản (Text mining): là một nhánh của data mining nhằm tìm kiếm
và trích xuất thông tin nằm trong văn bản. Mục đích chính sau quá trình khai phá văn
bản là trích xuất thông tin có ý nghĩa từ văn bản, thường ở dạng từ khóa. Khó khăn nhất
đối với khai phá văn bản là giao tiếp với những sắc thái và tính bất quy tắc của tập từ
vựng, ví dụ như từ đồng âm khác nghĩa. Ưu điểm của phương pháp khai phá văn bản là
phương pháp đáp ứng được yêu cầu trích chọn tri thức từ văn bản, đáp ứng được với các
bộ lọc theo nội dung.
Mạng Bayes (Bayesian network): là một kỹ thuật được sử dụng trong khai phá
văn bản. Mạng Bayes là cách biểu diễn đồ thị của sự phụ thuộc thống kê trên một tập
hợp các biến ngẫu nhiên, trong đó các nút đại diện cho các biến, còn các cạnh đại diện
cho các phụ thuộc có điều kiện. Phân phối xác suất đồng thời (joint probability
distribution) của các biến được xác định bởi cấu trúc đồ thị của mạng. Mô tả đồ thị của
mạng Bayes dẫn tới các mô hình dễ giải thích, và tới các thuật toán toán học và suy luận
hiệu quả. Sử dụng mạng Bayes mang lại hiệu suất cao, biểu diễn được cả lập luận khởi
tạo và dữ liệu sinh ra sau và có thể phát triển độc lập. Tuy nhiên, mạng Bayes cũng
giống như cây quyết định, nó cần kiến thức chuyên gia cho việc khởi tạo giả định.