i ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN THẠC HUY CHỌN LỌC THÔNG TIN DỰA TRÊN NỘI DUNG
ỨNG DỤNG XÂY DỰNG HỆ THỐNG GỢI Ý
TIN TỨC THEO NHU CẦU NGƯỜI DÙNG LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGUYỄN THẠC HUY
CHỌN LỌC THÔNG TIN DỰA TRÊN NỘI DUNG
ỨNG DỤNG XÂY DỰNG HỆ THỐNG GỢI Ý
TIN TỨC THEO NHU CẦU NGƯỜI DÙNG Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60 48 05 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
2.2.3 Phân loại các hệ thống gợi ý 15
2.2.3.1 Các hệ thống dựa trên nội dung 18
2.2.3.2 Các hệ thống lọc có hợp tác 22
2.2.3.3 Các hệ thống lai 25
2.2.4 Các đặc trưng riêng của tin tức 28
Chương 3: Hệ thống gợi ý tin tức tiếng Việt xenoNews 30
3.1 Hướng tiếp cận và Kiến trúc hệ thống 30
3.1.1 Hướng tiếp cận 30
3.1.2 Kiến trúc hệ thống 31
2 3.2 Yêu cầu hệ thống 32
3.2.1 Các yêu cầu chức năng 33
3.2.2 Các yêu cầu phi chức năng 35
3.3 Thiết kế và cài đặt chi tiết các thành phần hệ thống 36
3.3.1 Hồ sơ đối tượng tin tức (News Item Profile) 36
3.3.2 Hồ sơ người dùng (User profile) 37
3.3.2.1 Mô hình hoá Sở thích ngắn hạn với thuật toán Láng giềng gần nhất 39
3.3.2.2 Mô hình hoá Sở thích dài hạn với Bộ phân lớp Naïve Bayes 40
3.3.2.3 Thông tin tự mô tả của người dùng 43
3.3.2.4 Kết hợp các mô hình vào quy trình ra quyết định 45
3.3.3 Lõi xử lý - Back-end 46
3.3.4 Tầng giao tiếp trung gian – Middle-level 48
3.3.5 Ứng dựng Web – Front-end 49
3.3.5.1 Công nghệ Web được sử dụng để xây dựng Front-end 49
3.3.5.2 Thiết kế giao diện và Thiết kế tương tác Web – con người là yếu tố trung tâm 52
Chương 4: Các thử nghiệm và kết quả 56
4.1 Các độ đo và Quá trình chuẩn bị thử nghiệm 56
4.1.1 Các độ đo dùng để đánh giá 56
Bảng biểu:
Bảng 2.1: Ví dụ về một phần ma trận đánh giá cho hệ thống gợi ý phim 17
Bảng 2.2: Phân loại các hệ thống gợi ý 27
Bảng 3.1: Các mục tin tức của hệ thống 36
Bảng 3.2: Ma trận các vector thuộc tính Boolean dùng để xây dựng mô hình dài hạn 41
Bảng 4.1: Bảng số liệu trung bình trên tất cả người dùng, sau mỗi phiên huấn luyện 59
Bảng 4.2: Kết quả đánh giá tự động của cơ chế phản hồi ẩn Time-coded 61
Đồ thị:
Đồ thị 4.1: Sự biến đổi các độ đo Precision, Recall, F1 sau từng phiên huấn luyện 60
Đồ thị 4.2: Hiệu quả hoạt động của hệ thống, thể hiện qua độ đo F1 60 8
Chương 1: Đặt vấn đề
Chương đầu tiên sẽ bắt đầu từ việc giải thích lý do, động lực thực hiện đề tài luận
văn này. Nội dung của chương xoay quanh trình bày bối cảnh và sự cần thiết của một Hệ
thống gợi ý tin tức tiếng Việt, mô tả các nội dung nghiên cứu trong luận văn, cùng với sơ
lược các kết quả đã đạt được.
1.1 Bài toán
Kể từ khi ra đời cho đến nay, Internet vẫn liên tục phát triển với tốc độ đáng kinh
ngạc, song hành và đóng vai trò to lớn vào sự tiến bộ của nhân loại, đặc biệt là trong
những lĩnh vực như khoa học, công nghệ, giao lưu văn hoá, Quan trọng nhất là Internet
đã tạo nên một “thế giới phẳng”, cho phép mọi cá nhân, tổ chức có thể dễ dàng kết nối với
nhau bất chấp thời gian hay khoảng cách địa lý.
có sở thích, nhu cầu và quan tâm đến những lĩnh vực khác nhau, nên hiệu quả của quá
trình tìm kiếm, tiếp nhận và xử lý tin mới sẽ bị ảnh hưởng bởi nhiều “nhiễu” – nhằm chỉ
những tin tức không còn/không có, hoặc gần như không có giá trị đối với họ. Chính
nguyên do đó dẫn tới sự cần thiết phải cho ra đời các Hệ thống gợi ý tin tức. Bởi vì sự cá
nhân hoá (personalization) là một trong những ưu điểm lớn nhất của báo điện tử so với
báo giấy. Trong những năm qua, đã có nhiều nghiên cứu liên quan tới gợi ý tin tức cho
người dùng, nhằm tối ưu hoá khoảng thời gian họ dùng để đọc tin mỗi ngày. Và trên thế
giới, nhiều Hệ thống gợi ý tin tức đã ra đời, như iCurrent, Pulse, … và không thể không
nhắc đến Google News của Google.
Thế nhưng, những hệ thống hay dịch vụ tương tự cho báo điện tử tiếng Việt còn rất
ít, và khả năng nắm bắt nhu cầu của người dùng còn nhiều mặt hạn chế. Theo những gì tôi
được biết, hiện nay tại Việt Nam, chỉ có trang web BáoMới.com (Minh hoạ 1.1) là có
những đặc điểm tương tự với hệ thống mà tôi mong muốn xây dựng thông qua nghiên cứu
luận văn này. BáoMới.com cho phép người dùng tự tạo các chuyên mục theo nhu cầu cá
nhân, bằng cách khai báo một số từ khoá, sau đó gợi ý cho người dùng những tin tức liên
quan từ nhiều trang báo điện tử khác nhau. Trang web đó cũng có khả năng tự động phân
tích thói quen độc giả và đưa ra gợi ý tin tức mới. Tuy nhiên qua quá trình sử dụng, tôi
cảm thấy không thực sự hài lòng với hệ thống gợi ý tin tức đó do một số lý do sau:
- Qua thời gian sử dụng khá dài, trang web vẫn gợi ý ra quá nhiều tin tức mà tôi
không quan tâm.
- Chức năng gợi ý tin tức từ các từ khoá đã khai báo nhiều khi không chính xác, vì
từ khoá đó có thể xuất hiện trong nhiều ngữ cảnh khác nhau, và trong tin tức thuộc
những chuyên mục khác nhau.
- Giao diện hiển thị tin chưa sinh động, chưa thu hút độc giả.
- Khả năng gợi ý tin tức chưa bắt kịp với sự thay đổi nhanh chóng thị hiếu độc giả.
10
hạn, các luật tự mô tả). Thêm vào đó, một thử nghiệm để đánh giá tính hiệu quả của cơ
chế thu thập phản hồi time-coded trên Front-end (website) cũng được đưa ra xem xét.
Chương 5: Tổng kết nội dung và đánh giá lại kết quả nghiên cứu luận văn, đề xuất
hướng nghiên cứu để hoàn thiện hệ thống trong tương lai.
1.3 Phương pháp nghiên cứu
Để hoàn thành nội dung nghiên cứu đã đề ra, đầu tiên, tôi tiến hành tìm hiểu kiến
thức cơ bản về các mô hình hệ thống gợi ý nói chung. Sau đó, dựa trên những đặc điểm
riêng của tin tức và điều kiện thực tế mà chọn hướng tiếp cận phù hợp.
Khi đã xác định được hướng tiếp cận, tôi tiến hành nghiên cứu các thuật toán và
xây dựng hệ thống. Song song với đó, các thói quen đọc tin tức, báo chí trực tuyến của
mọi người cũng được điều tra, thông qua hình thức hỏi đáp trực tiếp. Các thông tin này sẽ
giúp ích rất nhiều cho quá trình xây dựng hệ thống thử nghiệm, đặc biệt là giao diện và
tương tác trên website.
Cuối cùng, một số thử nghiệm khác nhau sẽ được tiến hành, nhằm đánh giá khả
năng của hệ thống, từ đó, đề xuất các hướng nghiên cứu tiếp theo trong tương lai.
12
1.4 Kết quả thu được
Sau quá trình nghiên cứu cơ bản, tôi đã quyết định xây dựng một hệ thống gợi ý
(hay chọn lọc) tin tức tiếng Việt, hoàn chỉnh, theo hướng tiếp cận dựa trên nội dung
(content-based approach). Trong đó, thành phần quan trọng nhất là một Hồ sơ người dùng
kết hợp (Hybrid User Profile), có khả năng: mô hình hoá thông tin sở thích ngắn hạn, dài
hạn của độc giả, một cách độc lập; cộng với việc sử dụng thêm thông tin người dùng cung
cấp (dưới dạng các luật họ mô tả về nội dung tin tức họ quan tâm).
Qua thử nghiệm, Hồ sơ người dùng kết hợp đã chứng tỏ rằng nó hoạt động hiệu
quả hơn so với từng mô hình thông tin (ngắn hạn, dài hạn) độc lập, có khả năng nắm bắt
nhanh sở thích của người dùng và theo dõi được những gì họ đã đọc.
Do hiệu năng hoạt động của hệ thống dạng này phụ thuộc nhiều vào phản hồi,
người Việt Nam ở nước ngoài, trực thuộc Bộ Ngoại giao, phát hành số đầu tiên ngày
6/2/1997, chính thức khai trương ngày 3/12/1997. Tiếp sau đó, năm 1998, báo điện tử
VietnamNet ra đời; năm 1999, báo Nhân dân điện tử ra đời, … Cho tới nay, mặc dù tôi
không có con số thống kê chính xác, nhưng chỉ tính riêng ở Việt Nam thì số lượng báo
điện tử được cấp phép hoạt động ước tính cũng lên tới vài trăm. Hằng ngày, theo cách này
hay cách khác, hầu hết người sử dụng Internet đều truy cập ít nhất một hoặc nhiều website
tin tức khác nhau. Và tất nhiên họ chỉ tìm kiếm đọc những tin tức mà họ nghĩ là thú vị hay
có giá trị với họ, giống như với báo in. Dù cho báo in luôn có những ưu điểm riêng như
thoải mái hơn khi đọc, dễ dàng ghi chú, …, nhưng báo chí online lại có một thứ vũ khí
còn lợi hại hơn – đó chính là khả năng cá nhân hoá (personalization). Với sự cá nhân
hoá, việc tạo nên một tờ báo chỉ chứa những tin phù hợp với sở thích của từng người là
14
hoàn toàn có thể. Hệ thống của tác giả Kamba và các đồng nghiệp khai thác khả năng cá
nhân hoá mà không cần sự can thiệp có chủ ý của người dùng, sử dụng những kỹ thuật
như điều khiển động, tương tác và phản hồi ẩn. Từ đó hệ thống này hiển thị tin tức một
cách linh hoạt, đồng thời có thể được chỉnh sửa bởi người dùng qua một tập hợp các cơ
chế điều khiển. Thông qua những cơ chế này, độc giả có thể sắp xếp lại tin tức theo thứ tự
họ mong muốn.
2.2 Gợi ý tin tức
Khả năng Gợi ý (Recommendation) thường được sử dụng rộng rãi trong nhiều hệ
thống thương mại khác nhau, nơi mà mỗi hệ thống đều có cơ sở dữ liệu riêng, và các thuật
toán tiêu chuẩn như K-láng giềng gần nhất (K-Neareast Neighbours - KNN) được sử dụng
để tối ưu kết quả gợi ý. Trong phần này, trước tiên tôi sẽ trình bày những nét chính của
hai chủ đề nghiên cứu liên quan là Thu thập thông tin (Information Retrieval - IR) và Lọc
thông tin (Information Filtering - IF). Dựa trên cơ sở đó, các mô hình hệ thống gợi ý khác
nhau sẽ được phân tích.
2.2.1 Thu thập thông tin (Information Retrieval)
dựa trên nội dung yêu cầu.
2.2.2 Lọc thông tin (Information Filtering)
Các hệ thống Lọc thông tin (IF) tập trung vào quá trình lọc nội dung dựa trên hồ sơ
người dùng. Hồ sơ người dùng có thể được tạo ra bằng cách (a) để người dùng khai báo
trực tiếp, hoặc (b) hệ thống tự tạo dựa trên việc ngầm giám sát hoạt động của họ. Người
dùng sẽ nhận được thông tin họ cần dựa trên hồ sơ của chính mình từ hệ thống, một cách
tự động. Một trong số các ưu điểm của hệ thống IF là khả năng thích nghi với sở thích
mang tính dài hạn (long-term interest) của người dùng. Các thông tin có thể được chuyển
tới người dùng dưới hình thức các thông báo, hoặc hệ thống sẽ tự động thực hiện hành
động nào đó thay cho người dùng. Lọc thông tin và Thu thập thông tin khác nhau ở cách
thức yêu cầu của người dùng được biểu diễn. Thay vì để người dùng phải kéo (pull) thông
tin họ cần từ hệ thống thông qua truy vấn, một hệ thống Lọc thông tin (IR system) sẽ cố
gắng mô hình hoá sở thích của người dùng và tự đẩy (push) thông tin liên quan về cho họ.
2.2.3 Phân loại các hệ thống gợi ý
Nghiên cứu về các đơn vị xử lý thông tin thông minh đã nhận được nhiều sự quan
tâm từ rất sớm. Do khối lượng thông tin trên Internet ngày càng nhiều, con người sẽ bị
quá tải trong khả năng duyệt thông tin và các loại dữ liệu đa phương tiện. Quá tải thông
tin đã không còn chỉ là một thuật ngữ nữa, mà trở thành thực tế đối với mọi người. Điều
này dẫn tới nhu cầu tất yếu cần tìm ra các phương pháp tự động hoá quá trình tìm kiếm
thông tin. Và kết quả là sự ra đời của Các đơn vị xử lý thông tin thông minh (Intelligent
Information Agents), có khả năng xác định và khai thác thông tin dựa trên đặc điểm riêng
của từng cá nhân [1]. Các hệ thống gợi ý đã trở thành một chuyên đề nghiên cứu độc lập
từ đầu những năm 1990, khi Goldberg và các cộng sự phát triển một hệ thống thử nghiệm
có khả năng lọc email. Tuỳ vào người dùng cụ thể, bộ lọc của Goldberg có thể phân biệt
được các email quan trọng và không quan trọng. Đó là do họ đã sử dụng phương pháp lọc
16
hợp tác cho hệ thống của mình, bằng cách lưu lại phản ứng với mỗi email được đọc, mọi
(2.1)
Trong các hệ thống gợi ý, tính hiệu dụng (hay lợi ích) của một đối tượng thường
được đại diện bởi điểm đánh giá (rating), chỉ ra một người sử dụng nhất định thích/quan
tâm như thế nào tới một đối tượng cụ thể, ví dụ: người dùng tên Hải đánh giá bộ phim
“The Avengers” đạt điểm 7/10. Tuy nhiên tuỳ thuộc vào ứng dụng, giá trị u có thể do
người dùng đưa ra, hoặc được tính toán tự động bởi hệ thống.
Mỗi phần tử của một không gian người dùng C có thể được định nghĩa bởi một hồ
sơ (profile) bao gồm các đặc điểm khác nhau của người dùng, như tuổi, giới tính, thu
nhập, tình trạng hôn nhân, … Và phần tử của tập đối tượng S cũng có thể được định nghĩa
bởi nhiều thuộc tính. Ngoài ra, hồ sơ người dùng c còn có thể chứa trong đó lịch sử, đánh
giá của người dùng về các đối tượng họ đã tương tác, …
Vấn đề trung tâm của các hệ thống gợi ý chính là việc giá trị lợi ích u không được
định nghĩa trong toàn không gian
CS
, mà chỉ trên một số tập con không gian đó. Có
nghĩa là giá trị u cần phải được ngoại suy tới toàn miền không gian
CS
. Như đã nói, với
các hệ thống gợi ý, giá trị lợi ích thông thường được đại diện bởi điểm mà chỉ có sẵn trên
một vài đối tượng người dùng đã đánh giá trước đó. Ví dụ, trong một ứng dụng gợi ý
17
phim (MovieLens.org), ban đầu người dùng sẽ đánh giá về các phim họ đã xem, ví dụ:
xem Bảng 2.1, trong đó điểm đánh giá được định nghĩa trên thang từ 1 đến 5. Biểu tượng
có nghĩa là người dùng không đánh giá bộ phim đó. Bởi vậy, bộ máy gợi ý phải có khả
năng đoán trước điểm của những bộ phim người dùng chưa đánh giá và đưa ra gợi ý dựa
Việc ngoại suy từ các giá trị đánh giá đã biết tới các giá trị chưa biết thường được
thực hiện bằng cách (a) định nghĩa một hàm hiệu dụng dựa vào kinh nghiệm rồi xác định
khả năng hoạt động của hàm dựa vào thực nghiệm, hoặc (b) ước lượng một hàm hiệu
dụng có khả năng tối ưu hoá tiêu chí nào đó, ví dụ như sai số bình phương trung bình
(Mean square error - MSE).
Sau khi ước lượng xong, quá trình gợi ý một đối tượng cho một người dùng được
thực hiện bằng cách chọn ra những giá trị cao nhất, tuân theo công thức (2.1).
Giá trị ước lượng có thể có được bằng những phương pháp khác nhau trong học
máy, nguyên lý xấp xỉ hay hàm kinh nghiệm. Các hệ thống gợi ý thường được phân loại
dựa vào hướng tiếp cận của phương pháp ước lượng, trong các mục con của phần này, tôi
sẽ giới thiệu về cách phân loại được đề xuất đó và cung cấp một cái nhìn tổng quan về các
loại hệ thống gợi ý khác nhau. Việc phân loại lần đầu tiên được đề cập trong các tài liệu
[2] và đã được nghiên cứu mở rộng trong nhiều nghiên cứu sau đó, ví dụ như theo nghiên
cứu của hai tác giả M. Balabanovic và Y. Shoham:
Gợi ý dựa trên nội dung (Content-based recommendations): người dùng được gợi
ý những gì “tương tự” với nội dung họ quan tâm trong quá khứ.
Gợi ý có hợp tác (Collaborative recommendations): những gì người dùng được gợi
ý là có sự kết hợp từ những nội dung mà người dùng khác - với sở thích và đặc
điểm tương tự.
18
Hướng tiếp cận lai/kết hợp (Hybrid approaches): kết hợp cả hai loại hình gợi ý
trên.
2.2.3.1 Các hệ thống dựa trên nội dung
Với các phương pháp dựa trên nội dung, giá trị lợi ích u(c,s) của đối tượng s cho
người dùng c được ước lượng dựa trên các giá trị u(c,s
i
) của người dùng c với các đối
ij
, có thể định
nghĩa theo nhiều cách khác nhau.
Một trong những độ đo thông dụng nhất để xác định trọng số từ khoá trong Thu
thập thông tin là TF-IDF (Term frequency/Inverse document frequency), được định nghĩa
như sau: giả sử N là tổng số tài liệu có thể được gợi ý đến người sử dụng và từ khoá k
i
xuất hiện trong số n
i
tổng số đó. Thêm nữa, gọi f
i,j
là số lần từ khoá k
i
xuất hiện trong tài
19
liệu d
j
. Thì khi đó TF
i,j
, còn gọi là tần số (đã chuẩn hoá) của từ khoá k
i
trong tài liệu d
j
được tính theo công thức 2.2:
i
i
N
IDF
n
(2.3)
Từ đó, trọng số TF-IDF của từ khoá k
i
trong tài liệu d
j
có thể được viết dưới dạng:
,,i j i j i
w TF IDF
(2.4)
và nội dung của tài liệu d
j
là
( ) ( , )
j ij kj
Content d w w
.
Như đã trình bày, các hệ thống dựa vào nội dung (content-based system) gợi ý các
đối tượng thông tin tương tự với những gì người dùng đã thể hiện sự quan tâm trong quá
khứ [1]. Cụ thể hơn, nhiều đối tượng thông tin sẽ được đem ra so sánh với các đối tượng
cũ đó, và những gì phù hợp nhất sẽ được dùng làm gợi ý. Có thể hình thức hoá như sau,
gọi ContentBasedProfile(c) là hồ sơ của người dùng c, có chứa các đặc tính và sở thích
của người này. Hồ sơ này có được qua phân tích nội các đối tượng người sử dụng quan
tâm, và thường được xây dựng bằng kỹ thuật phân tích từ khoá trong IR (Information
c
w
và
s
w
, chứa trọng
số các từ khoá. Còn hàm hiệu dụng u(c,s) thường được định nghĩa dưới dạng hàm đánh
giá heuristic của hai vector
c
w
và
s
w
, sử dụng độ đo tương tự cosine (cosine similarity):
,,
1
22
22
,,
11
.
( , ) cos( , )
K
i c i s
c s i
cs
KK
cs
i c i s
,…,k
n,j
của trang web:
1, ,
( | )
i j n j
P C k k
(2.7)
thuật toán naïve Bayes còn giả định rằng các từ khoá là độc lập, bởi vậy xác suất trên có
thể được xấp xỉ thành
,
( ) ( | )
i x j i
x
P C P k C
(2.8)
21
Ngay cả khi giả định về tính độc lập của các từ khoá là không hề đúng trong phần
lớn các trường hợp thực tế, nhưng các kết quả thử nghiệm đều chỉ ra rằng các bộ phân lớp
naïve Bayes vẫn đạt độ chính xác phân lớp cao. Đồng thời, cả hai xác suất
,
( | )
x j i
P k C
thuộc tính, nội dung phải nằm dưới dạng có thể sử dụng trích xuất tự động bằng
máy tính (như dữ liệu text), hoặc các tính năng có thể được gán tự động theo một
cách thức nào đó. Mặc dù các kỹ thuật khai thác thông tin hoạt động tốt trong việc
tách thuộc tính văn bản, nhưng nhiều kiểu dữ liệu lại khó trích xuất thuộc tính tự
động (như dữ liệu đa phương tiện: ảnh, âm thanh, video).
Một vấn đề khác nữa là nếu hai đối tượng được biểu diễn với một tập thuộc tính
giống nhau thì chúng trở nên khó phân biệt. Ví dụ, khi hai bài viết được thể hiện
bằng các từ khoá giống nhau, các hệ thống content-based sẽ khó phân biệt bài viết
hay với bài viết dở.
-
Vấn đề “phù hợp quá mức”. Khi hệ thống chỉ có thể gợi ý các tài liệu có điểm số
cao đối với một hồ sơ người dùng, người dùng đó bị giới hạn trong không gian đối
tượng tương tự những gì họ từng xem. Vấn đề này thường được giải quyết bằng
cách đưa thêm tính ngẫu nhiên vào hệ thống. Giải thuật gen (genetic algorithm)
cũng được đề xuất để giải quyết hạn chế này. Cần lưu ý, trong nhiều trường hợp,
các đối tượng được gợi ý không nên quá giống những gì người sử dụng đã từng
biết (như trường hợp của tin tức). Bởi vậy, nhiều hệ thống gợi ý dựa trên nội dung
như DailyLearner, sẽ lọc và loại bỏ không chỉ những gì quá khác biệt với sở thích
22
người dùng, mà cả những gì quá giống với nội dung họ đã đọc trước đó. Trong một
nghiên cứu sau đó, Y. Zhang và các cộng sự J. Callan, T. Minka đã cung cấp 5 độ
đo dư thừa để đánh giá một tài liệu có chứa thông tin gì mới, hữu ích với người
dùng hay không. Như vậy, tính đa dạng (diversity) là đặc tính mong muốn của các
hệ thống gợi ý. Nghĩa là, người sử dụng nên được cung cấp nhiều kiểu thông tin
khác nhau, thay vì một loạt các nội dung gần giống nhau. Có thể hình dung như
“Empirical analysis of predictive algorithms for collaborative filtering” [5], các thuật toán
dành cho gợi ý hợp tác có thể được nhóm lại như sau: dựa vào ghi nhớ (memory-based,
hoặc heuristic-based) và dựa vào mô hình (model-based).
Các thuật toán memory-based đã được nghiên cứu nhiều [5], [6], loại thuật toán
này đưa ra ước đoán dựa trên toàn bộ tập đối tượng trước đó các người dùng đánh giá.
23
Nghĩa là giá trị đánh giá r
c,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:
, ',
ˆ
'
c s c s
cC
r aggr r
(2.9)
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 (giá trị của N có thể rất khác nhau, từ 1 cho tới tất cả người sử dụng trong hệ
thống).
model-based vượt trội so với memory-based về độ chính xác của kết quả gợi ý. Tuy
nhiên, so sánh trong cả hai trường hợp đều dựa trên thực nghiệm, và không có một bằng
chứng lý thuyết nào khẳng định rõ ràng tính chính xác của tuyên bố này.
24
Nhiều nghiên cứu khác về hướng tiếp cận model-based đã được thực hiện. Một
kiểu mô hình cho các hệ thống hợp tác dựa trên thống kê đã được nhóm của L. H. Ungar
đề cập trong báo cáo “Clustering Methods for Collaborative Filtering” (1998) [7], các giải
thuật khác nhau để ước lượng tham số mô hình đã được so sánh, bao gồm phân cụm K-
mean và phương pháp lấy mẫu Gibb. Ngoài ra cũng có cả các phương pháp lọc hợp tác
khác dựa trên mô hình Bayesian, mô hình xác suất quan hệ, mô hình cực đại hoá Entropy.
Và gần đây, nhiều nỗ lực nghiên cứu cố gắng mô hình quá trình gợi ý sử dụng thống kê
phức tạp hơn. Trong đó điển hình là trường hợp của nhóm nghiên cứu G. Shani, 2002 [8],
coi quá trình gợi ý là bài toán quyết định có tính tuần tự, và đề xuất sử dụng kỹ thuật ra
quyết định Markov.
Ngược lại, R. Kumar và các cộng sự, năm 2001, trong bài báo “Recommendation
systems: a probabilistic analysis” sử dụng một mô hình thống kê đơn giản nhằm chứng tỏ
rằng phương phá hợp tác cũng có thể hoạt động hiệu mà chỉ cần ít dữ liệu từ mỗi người
dùng. Hơn nữa, nếu áp dụng cùng với các cài đặt nhất định, các thuật toán lọc hợp tác đơn
giản cũng hiệu quả không kém các thuật toán phức tạp tốt nhất khi đó.
Và cũng như trường hợp của các kỹ thuật dựa trên nội dung – content-based, khác
biệt chính giữa lọc hợp tác dựa trên mô hình (model-based collaborative techniques) và
dựa trên heuristic (heuristic-based collaborative techniques) là: các kỹ thuật dựa trên mô
hình không tính toán lợi ích dựa trên các luật heuristic, mà dựa vào mô hình học từ dữ
liệu, thông qua kỹ thuật học máy và thống kê. Có một phương pháp kết hợp cả hai hướng
được đưa ra trong nghiên cứu của nhóm tác giả D. M. Pennock năm 1999: “Collaborative
Filtering by Personality Diagnosis: A Hybrid Memory- and Model-Based Approach” [9],
và kết quả thử nghiệm của họ chỉ ra rằng phương pháp đó cho kết quả gợi ý tốt hơn khi sử
giá có được luôn rất nhỏ so với số lượng đánh giá cần ước lượng. Khả năng gợi ý
hiệu quả từ một lượng nhỏ các ví dụ là rất cần thiết. Hơn nữa, sự thành công của
các hệ thống lọc hợp tác phụ thuộc vào một số lượng lớn người sử dụng. Ví dụ,
trong hệ thống gợi ý phim, có nhiều bộ phim mới chỉ được đánh giá bởi một vài
người dùng, các bộ phim này sẽ hiếm khi trở thành kết quả gợi ý, ngay cả khi bản
thân người dùng có thể đánh giá rất cao bộ phim. Đồng thời, đối với những ai có
sở thích đặc biệt, mà không có nhiều người “tương tự” như họ, thì kết quả gợi ý sẽ
bị hạn chế và không chính xác [3].
2.2.3.3 Các hệ thống lai
Nhiều hệ thống gợi ý tiếp cận theo hướng kết hợp, hay còn gọi là các phương pháp
lai (hybrid methods), sử dụng cả phương pháp content-based lẫn collaborative, từ đó giúp
hạn chế, hoặc loại bỏ những khuyết điểm của từng hệ thống riêng lẻ [3], [7]. Các cách
thức khác nhau để kết hợp cả hai kiểu hệ thống này có thể được phân loại như sau: (1) cài
đặt hai phương pháp riêng rẽ và kết hợp kết quả, (2) đưa một vài tính chất của phương
pháp dựa trên nội dung vào hệ thống hợp tác, (3) đưa một vài tính chất của phương pháp
hợp tác vào hệ thống gợi ý dựa trên nội dung, hay (4) xây dựng một mô hình thống nhất
tích hợp cả tính chất của cả hai hướng tiếp cận đó. Tất cả những phương pháp kể trên đều
đã từng được nghiên cứu.
1. Xây dựng riêng rẽ rồi kết hợp kết quả. Đây là cách đầu tiên để tạo ra một hệ
thống gợi ý lai. Chúng ta có hai lựa chọn. Một là kết hợp kết quả của từng hệ
thống riêng lẻ thành gợi ý cuối cùng theo kiểu kết hợp tuyến tính (linear
combination) như trong nghiên cứu của M. Claypool và nhóm cộng sự, năm
1999, “Combining content-based and collaborative filters in an online
26
newspaper” [11] hoặc sử dụng cơ chế bầu chọn (voting scheme) như hệ thống
của M. J. Pazzani, cũng vào năm 1999. Hai là, chỉ sử dụng kết quả của từ một
4. Phát triển một mô hình gợi ý thống nhất. Nhiều nhà nghiên cứu đã theo đuổi
hướng phát triển này. C. Basu và các cộng sự H. Hirsh, W. Cohen [15] đề xuất
kết hợp các đặc tính của cả hai loại hệ thống vào một bộ phân lớp duy nhất, dựa
trên các luật. Nhóm của A. I. Schein [16] và D. M. Pennock [9] thì lại sử dụng