Tải bản đầy đủ (.pdf) (46 trang)

Cá nhân hóa truy vấn dựa trên sở thích người dùng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.03 MB, 46 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
--------------------------------------Hoàng Thị Minh Tâm

TÊN ĐỀ TÀI LUẬN VĂN
CÁ NHÂN HÓA TRUY VẤN DỰA TRÊN SỞ THÍCH NGƯỜI DÙNG

Chuyên ngành : Công nghệ thông tin

LUẬN VĂN THẠC SĨ KĨ THUẬT
Công nghệ thông tin

NGƯỜI HƯỚNG DẪN KHOA HỌC :
TS. Vũ Tuyết Trinh

Hà Nội – Năm 2014


MỤC LỤC
CHƯƠNG I. GIỚI THIỆU .................................................................................................................. 4
1.1. Đặt vấn đề ................................................................................................................................ 4
1.2 Mục đích, phạm vi nghiên cứu ................................................................................................... 6
1.3 Bố cục luận văn ......................................................................................................................... 6
CHƯƠNG II. CÁC KỸ THUẬT XỬ LÝ TRUY VẤN DỰA TRÊN ............................................... 6
SỞ THÍCH NGƯỜI DÙNG ............................................................................................................ 6
2.1 Biểu diễn sở thích ...................................................................................................................... 8
2.1.1 Sở thích chọn lọc ................................................................................................................ 8
2.1.2 Sở thích tham gia .............................................................................................................. 11
2.2 Sở thích ẩn .............................................................................................................................. 14
2.3 Kết hợp các sở thích ................................................................................................................ 16
2.4Thứ tự ưu tiên, xếp hạng........................................................................................................... 18


2.5 Lựa chọn sở thích sử dụng cho truy vấn ................................................................................... 19
2.6 Xử lý truy vấn dựa trên sở thích người dùng ............................................................................ 23
2.6.1 Phương pháp SPA............................................................................................................. 23
2.6.2 Phương pháp PPA............................................................................................................. 27
CHƯƠNG III. ỨNG DỤNG TRUY VẤN THƯ VIỆN SÁCH TRUYỆN .......................................... 33
3.1 Yêu cầu ứng dụng ................................................................................................................... 33
3.2 Xây dựng hệ thống .................................................................................................................. 34
3.2.1 Kiến trúc hệ thống ........................................................................................................... 34
3.2.2 Xử lý truy vấn cá nhân hóa .............................................................................................. 36
3.3 Đánh giá .................................................................................................................................. 42
KẾT LUẬN ...................................................................................................................................... 45
TÀI LIỆU THAM KHẢO ................................................................................................................. 45

2


DANH MỤC CÁC HÌNH VẼ
Hình 1. Ví dụ về hồ sơ người dùng ................................................ Error! Bookmark not defined.
Hình 2. Ví dụ về đồ thị cá nhân hoá ............................................... Error! Bookmark not defined.
Hình 3. Một phần đồ thị cá nhân của Jon ....................................... Error! Bookmark not defined.
Hình 4. Một câu truy vấn trên đầu trang của một đồ thị cá nhân ..... Error! Bookmark not defined.
Hình 5. Ví dụ đồ thị với mức độ tới hạn ......................................... Error! Bookmark not defined.
Hình 6. Cơ sở dữ liệu sách ............................................................. Error! Bookmark not defined.
Hình 7. Cơ sở dữ liệu sở thích ....................................................... Error! Bookmark not defined.
Hình 8. Mô hình xử lý truy vấn dựa trên sở thích người dùng......... Error! Bookmark not defined.
Hình 9. Kết quả truy vấn không kết hợp sở thích............................ Error! Bookmark not defined.
Hình 10. Kết quả truy vấn kết hợp sở thích………...……………………..……………………..
...................................................................................................... Error! Bookmark not defined.

3



CHƯƠNG I. GIỚI THIỆU

1.1. Đặt vấn đề
Một người sử dụng truy cập một hệ thống thông tin với mục đích tìm kiếm một
thông tin cần thiết, có thể phải thực hiện lại truy vấn vài lần và chọn lọc thông qua
nhiều kết quả cho đến khi đạt yêu cầu. Do sự phong phú thông tin và người dùng
không đồng nhất trong trang web. Những người sử dụng khác nhau có thể mong đợi
câu trả lời khác nhau cho cùng một truy vấn vì sở thích hay mục tiêu không giống
nhau,v.v Nhưng hầu hết các hệ thống tìm kiếm hiện tại chưa đáp ứng được yêu cầu
này.
Sở thích có mặt ở mọi nơi trong cuộc sống hàng ngày của chúng ta. Và gần đây,
chúng được chú ý nhiều đến trong việc phát triển phần mềm, điển hình trong các ứng
dụng tìm kiếm thông tin. Sở thích trong thế giới thực được thể hiện trong nhiều dạng
khác nhau như là mọi người có thông tin về một đối tượng nào đó. Chúng ta làm một
cuộc kiểm tra về những biểu lộ tự nhiên của con người khi ước muốn về một vấn đề gì
đó. Cuộc sống hàng ngày với sự phong phú của sở thích đến từ sự cảm nhận hoặc ảnh
hưởng khác. Trong thế giới thực này, nó trả lại một cách nhanh chóng những mong
muốn thường xuyên xảy ra, như là “tôi thích A hơn B”. Loại ưa thích này là phổ biến
và trực quan cho mọi người. Nghĩ đến sở thích có nghĩa là mong muốn “tốt hơn”, điều
này cũng có chút liên quan đến toán học: Toán học có thể ánh xạ chúng vào thành một
thứ tự bộ phận chặt. Con người thường xuyên đề cấp đến vấn đề sự ưa thích, thông
thường với nó là không diễn tả trong phạm vi con số cụ thể. Sở thích là một trình bày
rõ ràng cụ thể dựa trên một tập các thuộc tính định danh với một miền quan hệ của giá
trị, theo cách nói ẩn dụ là “thuộc về ước muốn”. Cụ thể hơn, sở thích có thể được thể
hiện qua giá trị của các thuộc tính, và qua mối quan hệ giữa các thực thể. Những giá trị

4



của các sở thích hoàn toàn có liên quan. Mối quan hệ giữa các sở thích chỉ ra mức độ
nào, nếu có, các yếu tố liên quan phụ thuộc lẫn nhau (bởi sở thích đặc biệt của nhau).
Nhưng cũng có một phần khác của thế giới thực luôn hướng tới là tiết kiệm chi
phí hoặc công nghệ đưa ra phải tối ưu. Một cách dễ hiểu hơn là xếp hạng có thể được
được xem như một phần của sở thích. Do đó mô hình sở thích như là một ràng buộc
không trọn vẹn, điều này đã từng được chứng tỏ trong nhiều ngành khoa học khác
nhau, đặc biệt là trong khoa học máy tính và các môn học. Và việc lưu sở thích người
dùng có ý nghĩa rất lớn:
(1) Ngữ nghĩa trực quan: Sở thích đóng vai trò quan trọng trong xử lý mô hình. Điều
này đòi hỏi một cách trực quan và giải thích rõ ràng của hệ thống tìm kiếm. Mô hình sở
thích người dùng nên bao gồm biểu diễn ph i số như là phương pháp phân hạng…
(2) Nền tảng toán học ngắn gọn: điều này là tất yếu, nhưng nền tảng toán học phải
được cân đối với ngữ nghĩa trực quan.
(3) Xây dựng và mở rộng mô hình sở thích: Sở thích đầy đủ được xây dựng quy nạp từ
các vấn đề đơn giản.
(4) Các xung đột của các sở thích phải không là nguyên nhân làm cho hệ thống bị lỗi:
kết cấu động của sở thích phức tạp phải được hỗ trợ ngay cả trong sự có mặt của sự
xung đột. Mô hình sở thích thực hiện có thể tồn tại cùng với sự xung đột, không ngăn
chặn chúng hoặc gây ra lỗi nếu chúng xảy ra.
(5) Xây dựng truy vấn sở thích: Sự phù hợp trong thế giới thực làm cầu nối giữa những
mong muốn và sự tin cậy. Sự thể hiện này là cần thiết cho một mô hình truy vấn mới
khác phù hợp với mô hình của ngôn ngữ truy vấn cơ sở dữ liệu đã có trước đây.
Vì vậy, nếu ta lưu trữ sở thích của người dùng, hệ thống sẽ có cơ hội trả về kết quả tập
trung hơn, phạm vi tìm thấy là nhỏ hơn, và làm hài lòng người dùng hơn.

5


Với những lí do trên đây, luận văn này nhằm mục đích tìm hiểu về “Cá nhân

hóa truy vấn dựa trên sở thích người dùng” và xây dựng ứng dụng “Tìm kiếm thư
viện sách truyện” áp dụng cá nhân hóa truy vấn.
1.2 Mục đích, phạm vi nghiên cứu
Đề tài nhằm mục đích:
 Tìm hiểu về sở thích người dùng và ảnh hưởng đến quá trình đánh giá truy vấn.
 Tìm hiểu các kỹ thuật cá nhân hóa truy vấn.
 Xây dựng ứng dụng minh họa.
1.3 Bố cục luận văn
Đề tài “Cá nhân hóa truy vấn dựa trên sở thích người dùng” và ứng dụng demo
“Tìm kiếm thư viện sách truyện” được chia làm 3 chương như sau:
Chương 2: Kỹ thuật truy vấn dựa trên sở thích người dùng
Tìm hiểu về mô hình hóa sở thích và các kỹ thuật xử lý truy vấn dựa trên sở thích
người dùng.
Chương 3: Ứng dụng truy vấn thư viện sách truyện
Xây dựng ứng dụng thư viện sách truyện áp dụng kỹ thuật truy vấn dựa trên sở thích
người dùng để tìm kiếm.
Kết luận: Tổng kết lại vấn đề nghiên cứu và một số hướng nghiên cứu trong tương lai.
CHƯƠNG II. CÁC KỸ THUẬT XỬ LÝ TRUY VẤN DỰA TRÊN
SỞ THÍCH NGƯỜI DÙNG
Chúng ta tập trung vào các sở thích trong các hồ sơ người dùng và các thuật
toán cá nhân hoá truy vấn. Sở thích là một khái niệm cơ bản trong toán học ứng dụng
[7], triết học [8], AI [20], và cơ sở dữ liệu [15]. Việc xác định sở thích [13] cần được
xây dựng cụ thể, do đó không xem xét các khả năng hạn chế tùy ý trong hồ sơ người
6


dùng. Bên cạnh đó, cá nhân hóa là một lĩnh vực nghiên cứu rất rộng, và có cách tiếp
cận khác nhau từ lọc thông tin tới đối tượng của bài toán [19, 11], các tác nhân [2] về
bối cảnh truy vấn, chẳng hạn như vị trí người sử dụng, thời gian, thiết bị…, phương
pháp tiếp cận cá nhân hoá truy vấn [18,4] của Georgia Koutrika, Yannis Ioannidis [16]

và cơ sở dữ liệu [14] là nền tảng cho đề tài này.
Trước hết, cá nhân truy vấn là quá trình thực thi một truy vấn liên quan đến sở
thích được lưu trữ trong một hồ sơ người dùng với mục đích cung cấp câu trả lời cá
nhân. Các truy vấn tập trung vào người dùng tạo ra một sự thay đổi hướng tới ‘cá
nhân’, mọi tính toán đều dựa trên những đặc điểm của mỗi người [18].
Các thành phần cần thiết của cá nhân hóa truy vấn gồm một mô hình để lưu trữ
các sở thích, một phạm vi xác định loại câu trả lời cá nhân tạo ra cho một truy vấn và
hồ sơ người sử dụng, và các thuật toán cá nhân hóa truy vấn. Một câu trả lời cá nhân
được xây dựng bởi việc xác định K số các sở thích ưu tiên hàng đầu từ các hồ sơ người
sử dụng, và số L (L ≤ K) những tiêu chí mà ít nhất làm hài lòng người dùng. Tham số
K và L có thể được quy định trực tiếp bởi người sử dụng hoặc có nguồn gốc dựa trên
các tiêu chuẩn về bối cảnh truy vấn, chẳng hạn như vị trí người sử dụng, thời gian, thiết
bị, vv
Cá nhân hóa truy vấn thu được qua hai giai đoạn: (Lựa chọn sở thích) Sở thích
đầu vào K bắt nguồn từ hồ sơ người dùng. (Câu trả lời cá nhân) Đây là những kết quả
của sự kết hợp câu truy vấn với sở thích và câu trả lời cá nhân được trả về đáp ứng (ít
nhất) L tiêu chí của các sở thích K.
Một hệ thống cần nắm bắt mức độ khác nhau của sự quan tâm [1], và truy vấn
trả về các bộ dữ liệu phù hợp nhất đi kèm các bộ dữ liệu so sánh khác. Trong chương
này, tôi tìm hiểu đầy đủ các vấn đề liên quan đến các biến thể của sở thích, liên kết
giữa các sở thích, kết quả truy vấn được xếp hạng dựa vào mức độ quan tâm. Từ đó
giải quyết bài toán cá nhân hóa truy vấn và xây dựng ứng dụng minh họa.
7


2.1 Biểu diễn sở thích
Để cá nhân hoá, chúng ta xây dựng cho mỗi người dùng một hồ sơ cá nhân có
cấu trúc liên quan đến mô hình truy vấn. Không mất tính tổng quát, chúng ta tập trung
vào các truy vấn trên cơ sở dữ liệu quan hệ. Hồ sơ sở thích người dùng thể hiện một đồ
thị ở mức độ cao hơn so với các lược đồ cơ sở dữ liệu, là sự kết hợp sở thích với cơ sở

dữ liệu. Đây là một sự trừu tượng hóa bằng cách sử dụng một hồ sơ cá nhân trên nhiều
cơ sở dữ liệu với thông tin tương tự nhưng có thể khác nhau ở các lược đồ, và tái cấu
trúc lược đồ.
Đối với một thuộc tính RA của một bảng quan hệ R, cho DA là miền giá trị.
Chúng ta tập trung vào cá nhân hóa truy vấn, lưu trữ các sở thích ở mức độ truy vấn
con, do đó được gọi là thành phần sở thích. Các giá trị sở thích được lưu trữ như là
những sở thích chọn lọc (thành phần chọn lọc sở thích), và các mối quan hệ sở thích
được lưu trữ như sở thích tham gia (thành phần tham gia sở thích).
2.1.1 Sở thích chọn lọc
Thành phần chọn lọc là các giá trị của sở thích được lưu trữ trong hồ sơ người
dùng. Đối với bất kỳ điều kiện q, thành phần chọn lọc sở thích trên thuộc tính RA cho
các giá trị phù hợp (hay không) được thể hiện bởi mức độ quan tâm đến q, ký hiệu là
doi (q), được định nghĩa như sau:
doi(q) = < dT(u), dF(u) >
với ∀ u∈ DA đáp ứng điều kiện q, dT(u), dF(u) ∈ [-1,1] và dT(u)*dF(u) ≤ 0.
Với định nghĩa này, ta phân biệt 3 yếu tố có liên quan tới các sở thích: Hóa trị, mức độ
quan tâm, độ đàn hồi.
Hóa trị (Valence). Sở thích rất đa dạng, nó có thể là tích cực (thể hiện sự ưa thích), tiêu
cực (thể hiện không thích) hoặc không quan tâm. Chúng được biểu diễn thông qua hai
giá trị dT (u) và dF(u) đối với mỗi u∈ DA. Trong đó dT (u) thể hiện sự ưa thích của sở
8


thích tích cực, cho thấy mức độ quan tâm tới u (mức độ 1 là rất thích). Và dF (u) biểu
diễn mức độ không quan tâm tới u, mức độ không thích ngày càng tăng khi dF càng
giảm (mức độ -1 là giá trị khó chịu nhất). Mức độ về 0 cho thấy sự không quan tâm tới
u. Sở thích với dT (u) = dF (u) = 0, không được lưu trữ trong hồ sơ.
Mức độ quan tâm (Concern). Sở thích có thể là sự hiện diện (liên quan đến sự có mặt
của các giá trị) hoặc không có (liên quan đến sự vắng mặt của giá trị). Một mối quan
tâm của người sử dụng được thể hiện bởi <dT (u), dF (u)>. Theo định nghĩa, dT (u)

thể hiện một mối quan tâm của người dùng cho sự có mặt của giá trị u của thuộc tính
RA. dF(u) thể hiện một mối quan tâm của người dùng cho sự vắng mặt của cùng một
giá trị đang xét. Sự quan tâm mạnh mẽ tới sự có mặt của u có thể được kết hợp với sự
không quan tâm đến các giá trị khác u hoặc quan tâm nhiều hơn tới các giá trị đó (vắng
mặt u).
Tính đàn hồi (Elasticity). Sở thích có thể là chính xác hoặc đàn hồi phụ thuộc vào các
miền DA là giá trị tuyệt đối hoặc bằng số.
Nếu miền DA là giá trị tuyệt đối thì với sự độc lập lẫn nhau của các giá đó, các
sở thích được coi là chính xác hoặc đàn hồi hoặc không ở tất cả.
Với sở thích biểu diễn bởi các giá trị số liên tục trên miền DA và có thể đáp ứng
được yêu cầu người dùng, trong trường hợp đó, nó được coi là đàn hồi. Độ đàn hồi xác
định bởi hàm dT (u), và dF (u). Có rất nhiều hàm có thể biểu diễn các sở thích đàn hồi.
Để đơn giản, chúng ta sử dụng e (d) để biểu diễn một hàm đàn hồi để phân biệt với
doi(q) (sở thích chính xác). e(d) cũng có miền giá trị từ -1 đến 1.
Từ 3 yếu tố trên ta có thể phân loại được sỏ thích: Sở thích tích cực, sở thích
tiêu cực; Sở thích có mặt, sở thích vắng mặt; Sở thích đàn hồi.
Ví dụ: Hãy xem xét một cơ sở dữ liệu phim được mô tả bởi lược đồ dưới đây, khóa
chính được gạch chân:
9


THEATRE(tid, name, phone, region, ticket),
PLAY(tid, mid, date), GENRE(mid, genre)
MOVIE(mid, title, year, duration)
CAST(mid, aid, award, role) ACTOR(aid, name)
DIRECTED(mid, did), DIRECTOR(did, name)
Một bộ phim chiếu rạp có các thông tin liên quan như tên phim, năm sản xuất, thời
lượng, nhà hát chiếu bộ phim đó (tên, điện thoại, địa điểm, vé), lịch chiếu phim, thể
loại phim, diễn viên chính, đạo diễn. Jon muốn lựa chọn một bộ phim để đặt vé, chúng
ta quan tâm đến sở thích của ông ấy. Sở thích của Jon được phát biểu như sau:

(p1) Ông rất thích giám đốc W. Allen.
(p2) Ông ấy không thích bộ phim phát hành trước năm 1980.
(P3) Ông ấy thích một vé giá khoảng 6 Euro.
(p4) Ông ấy thích bộ phim có thời lượng dao động khoảng 2h.
(p5) Ông ấy thật là hạnh phúc nếu bộ phim không phải là một vở nhạc kịch.
(p6) Ông sẽ không đi đến nhà hát không ở trung tâm thành phố.
Theo đó, ta phân biệt được các loại sở thích của Jon như sau:
Về hóa trị, p1, p3 là một thể hiện của một sở thích tích cực (sự ưa thích), và p2, p5, p6
là một thể hiện của một sở thích tiêu cực (không thích).
Về mối quan tâm, người ta có thể quan tâm đến sự hiện diện (có mặt) của một giá trị,
hoặc không quan tâm đối với trường hợp ngược lại. Ví dụ: Jon có một sự quan tâm tích
cực đối với bộ phim của đạo diễn W. Allen (sở thích có mặt), nhưng ông không quan
tâm nếu W. Allen không phải là đạo diễn bộ phim đó. Mặt khác, ông thích nhà hát
trung tâm thành phố và ông không thích đến một nhà hát không ở trung tâm. Vậy p1 là
10


sở thích có mặt, p2, p5, p6 là sở thích vắng mặt. Trong đó, p6 là sở thích kết hợp sự có
mặt tích cực và vắng mặt tiêu cực như là một, đó là một sở thích phức tạp.
Về độ đàn hồi, p1, p2, p5 và p6 là trường hợp của các sở thích chính xác.Tuy nhiên, ưu
tiên của Jon cho các bộ phim với thời gian khoảng 2 giờ có thể co giãn, như phim diễn
ra khoảng 122 hoặc 115 phút có mức quan tâm tương tự đối với ông ta. Vì vậy, p4 là
một sở thích đàn hồi. p3 cũng tương tự p4.
2.1.2 Sở thích tham gia
Thành phần tham gia là biểu diễn cho mối quan hệ giữa các sở thích chọn lọc.
Một sở thích tham gia q được thể hiện bằng mức độ quan tâm đến q, doi(q), quy định
như sau:
doi (q) = <d>, d ∈ [0, 1]
Giá trị bằng 0 thể hiện sự không quan tâm đến các điều kiện tham gia, trong khi mức 1
cho biết sự quan tâm tối đa ('phải có'). Ngoài ra, các thành phần tham gia sở thích được

xác định bởi chỉ số mức độ khác nhau nằm trong đoạn [0,1].
Ví dụ, xét cơ sở dữ liệu phim và hồ sơ sở thích của Jon được bổ sung thêm như sau:
(p7) Ông rất quan tâm đến đạo diễn của một bộ phim.
(p8) Ông quan tâm rất nhiều về thể loại phim.
(P9) Ông quan tâm ít hơn về các nhà hát chiếu một bộ phim.
(p10) Ông quan tâm rất nhiều về những bộ phim của một nhà hát.
Ở đây, phim và nhà hát có liên quan nhưng Jon nghĩ rằng nhà hát phụ thuộc vào
phim (p10) nhiều hơn so với thuộc tính khác thể hiện trong (p9). Vì vậy, một thành
phần tham gia sở thích thể hiện sự phụ thuộc của phần bên trái đối với phần bên phải
liên kết. Nói cách khác, phần bên trái cho thấy mối quan hệ đã được bao gồm trong
một truy vấn và quyền tương ứng với các mối quan hệ có thể ảnh hưởng đến kết quả
11


cuối cùng, nếu thành phần tham gia được xem xét. Hình 2 cho thấy hồ sơ của Jon có
thể như sau:
// Sở thích chọn lọc
< DIRECTOR.name=‘W. Allen’, 0.8, 0 >
(Jon thích bộ phim do W. Allen làm đạo diễn với mức độ quan tâm dT = 0.8 và ông
không phát biểu gì đối với những bộ phim của đạo diễn khác dF = 0)
< MOVIE.year<1980, -0.7, 0 >
(Ông ấy thích những bộ phim có năm sản xuất >1980 dT = -0.7 và không phát biểu đối
với giá trị khác dF = 0)
< THEATRE.ticket=‘6Euros’, e(0.5), 0 >
(Ông ấy thích những bộ phim có giá dao động khoảng 6Euro với mức độ quan tâm
dT= 0.5 và không phát biểu đối với giá trị khác dF = 0)
< MOVIE.duration=‘2h’, e(0.7), e(-0.5)>
(Ông ấy thích những bộ phim có thời lượng dao động khoảng 2h với mức độ quan tâm
dT= 0.7 và cũng quan tâm đến bộ phim có thời lượng khác với mức độ dF= -0.5)
< GENRE.genre=‘musical’, -0.9, 0.7 >

(Ông ấy không thích thể loại ‘musical’ dT= -0.9 mà thích thể loại khác với mức độ
quan tâm dF= 0.7 )
< THEATRE.region=‘downtown’ 0.7, -0.5 >
(Ông ấy thích nhà hát ở trung tâm thành phố với mức độ quan tâm dT=0.7 và với nhà
hát không ở đó thì mức độ quan tâm dF= -0.5)
// Sở thích tham gia
< MOVIE.mid=DIRECTED.mid, 1 >
12


< DIRECTED.did=DIRECTOR.did, 0.9 >
< MOVIE.mid=GENRE.mid, 0.8 >
< MOVIE.mid=PLAY.mid, 0.7 >
< PLAY.tid=THEATRE.tid, 1 >
< THEATRE.tid=PLAY.tid, 1 >
< PLAY.mid=MOVIE.mid, 1 >
Hình 1. Ví dụ về hồ sơ người dùng
Một sở thích của người dùng đối với các nội dung của một cơ sở dữ liệu có thể
được biểu diễn bằng một đồ thị cá nhân[14]. Đây là một đồ thị có hướng G(V,E) (V:
tập các nút; E: tập các cạnh) và nó là một phần mở rộng của lược đồ cơ sở dữ liệu.
Về ký hiệu, <q, dT(u), dF(u)> để biểu thị một thành phần chọn lọc sở thích p,
và <q, d> biểu thị một thành phần tham gia sở thích.
Khi đó, ánh xạ từ hồ sơ cá nhân của Jon ta có đồ thị cá nhân tương ứng như sau:

Hình 2. Ví dụ về đồ thị cá nhân hoá

13


Các nút trong tập V phân biệt thành những loại như sau:

(a) Các nút mối quan hệ, mỗi nút là một quan hệ trong lược đồ.
(b) Các nút thuộc tính, một nút cho mỗi thuộc tính của mỗi quan hệ trong lược đồ
(c) Các nút giá trị, một nút cho mỗi giá trị của mức độ thích từ một người dùng cụ thể.
Xét hình 2, các nút mối quan hệ: THEATRE, GENRE, PLAY, MOVIE;
Các nút thuộc tính: TID, NAME, PHONE, TICKET,REGION, MID, GENRE,…
Các nút giá trị: 6 euros, downtown, musical, 1980
Tương tự như vậy, các cạnh trong tập E cũng phân loại như sau:
(a) Cạnh lựa chọn biểu diễn cho thành phần chọn lọc sở thích, nhãn của cạnh là giá trị
dT, dF của thành phần chọn lọc.
(b) Cạnh tham gia biểu diễn cho thành phần tham gia sở thích, nhãn của cạnh là giá trị
d của thành phần tham gia.
2.2 Sở thích ẩn
Bằng cách xét thành phần sở thích trong đồ thị cá nhân (composable), người ta có thể
xây dựng các sở thích ẩn (Implicit preferences), tức là, sở thích thể hiện thông qua các
mối quan hệ. Sở thích ẩn có thể hình thành khi được ánh xạ cho:
+ Một đường dẫn trong đồ thị cá nhân từ một nút thuộc tính tới một nút giá trị. Khi đó,
nó bao gồm các cạnh tham gia và nút giá trị.
+ Một đường dẫn nối giữa đường giữa hai nút thuộc tính. Khi đó, nó bao gồm cạnh
tham gia và một cạnh lựa chọn kết nối các thuộc tính và giá trị tương ứng.
Một truy vấn ngầm là kết hợp của những thành phần sở thích ẩn cấu thành. Mức
độ quan tâm trong một sở thích vắng mặt là một hàm của mức độ quan tâm trong thành
phần tham gia sở thích. Về nguyên tắc, ta có thể xây dựng một số hàm thoả mãn điều
14


kiện là mức độ quan tâm tuyệt đối trong một sở thích ẩn giảm khi chiều dài đường dẫn
tương ứng tăng.
Ví dụ . Những sở thích từ hồ sơ cá nhân của Jon
< MOVIE.mid=DIRECTED.mid, 1 >
< DIRECTED.did=DIRECTOR.did, 0.9 >

< DIRECTOR.name=‘W. Allen’, 0.8, 0 >

Hình 3. Một phần đồ thị cá nhân của Jon
Trong hình 3, đường dẫn nối nút giá trị ‘W.Allen’ với nút thuộc tính ‘MOVIE.MID’ là
cạnh lựa chọn có nhãn (0.8, 0) với cạnh tham gia [a] và cạnh tham gia [b]. Sở thích của
Jon về các bộ phim của đạo diễn W. Allen được bao gồm sở thích ẩn biểu diễn thông
qua [a] và [b]:
< MOVIE.mid=DIRECTED.mid and
DIRECTED.did=DIRECTOR.did and
DIRECTOR.name=‘W. Allen’, 0.72, 0 >

15


Lưu ý rằng bất kỳ con đường trực tiếp nào trong đồ thị cá nhân có thể lập bản đồ
sở thích ngầm. Tuy nhiên, nó còn căn cứ vào trực giác của con người và bằng chứng
nhận thức[6].
2.3 Kết hợp các sở thích
Sự hài lòng (Satisfaction) của một thành phần chọn lọc sở thích hoặc sở thích ẩn
<q, dT, dF> là tương đương với sự thỏa mãn của q nếu dT ≥ 0 hay không quan tâm đến
q nếu dF ≥ 0. Như vậy, doi trong sự hài lòng của sở thích kí hiệu là d (u) và mức độ
không quan tâm đến kí hiệu là d (u) với:
d (u) = max (dT (u), dF (u))

(nếu dT ≥ 0)

d (u) = min (dT (u), dF (u))

(nếu dF ≥ 0)


Ví dụ. Hãy xem xét những lựa chọn ưu tiên của Jon.
< DIRECTOR.name=‘W. Allen’, 0.8, 0 > (1)
< GENRE.genre=‘musical’, -0.9, 0.7 >

(2)

Các bộ dữ liệu thỏa mãn nếu đáp ứng được cả hai điều kiện: (1), các bộ phim
phải là của đạo diễn W. Allen (dT=0.8; dF=0) và (2) là bộ phim không thuộc thể loại
nhạc kịch (dT= -0.9; dF=0.7).
Tổng thể của mức độ quan tâm là kết quả của việc kết hợp các sở thích được tính toán
sử dụng một hàm xếp hạng. Trên cơ sở phân biệt các trường hợp sau đây:
(a) Tất cả các sở thích là tích cực (kết hợp tích cực)
(b) Không trường hợp nào trong số các sở thích được chấp nhận (kết hợp tiêu cực)
(c) Một số sở thích là tích cực và những trường hợp khác là không (hỗn hợp).
Kết hợp các sở thích tích cực. Hãy xem xét một tập hợp P của N sở thích và
thiết lập các D tương ứng với sự hài lòng (không âm) (để đơn giản ta bỏ qua u):

16


D = { di |di : doi trong pi ∈ P , i = 1 ... N }
Mức độ quan tâm đến một sự kết hợp tích cực phải là một giá trị của di . Một tham số
quan trọng trong vấn đề này là giá trị lớn nhất (D ). Xung quanh nó, người ta có thể
thấy được ba vấn đề khác nhau.
Lạm phát (Inflationary). Mức độ quan tâm đến các sở thích hài lòng tăng với số
lượng của các sở thích, tức là,

(D ) ≥ max (D ), thể hiện một triết lý "càng tốt hơn".

Các hàm đề xuất:


Ưu thế (Dominant). Mức độ quan tâm đến các sở thích hài lòng bằng mức độ
quan tâm lớn nhất của sở thích, tức là

(D ) = max (D ). Hàm này thể hiện một triết

lý “người chiến thắng có tất cả”, do đó nó không phụ thuộc vào số lượng sở thích.
Riêng biệt (Reserved). Mức độ quan tâm đến nhiều sở thích hài lòng giữa mức
cao nhất và mức thấp nhất của sự quan tâm trong số các sở thích ban đầu, tức là:
min (D ) ≤

(D ) ≤ max (D ). Nguyên tắc cơ bản là mức độ quan tâm đáp ứng nhiều

sở thích chủ yếu phụ thuộc vào tầm quan trọng của chúng.
Các hàm sau đây thuộc thể loại này:

Sự phù hợp của một hàm xếp hạng chỉ được đánh giá theo cách tiếp cận đối với
cá nhân và, quan trọng hơn, bằng cách nó phản ánh chặt chẽ hành vi của con người.
Sự kết hợp các sở thích tiêu cực. Một vấn đề tương tự phát sinh liên quan đến mức độ
quan tâm đến các sở thích tiêu cực, tức là, xử lý với nhiều mức độ không tích cực trong

17


một bộ D_. Trường hợp này là ngược lại với phần trước đó. Các tham số quan trọng là
min (D_) và người ta có thể xác định lạm phát, ưu thế, và riêng biệt các hàm xếp hạng.
Các đối số của 1 và 2 ở trên, là như nhau, chỉ thay đổi '+' và '-'.
Hỗn kết hợp. Mức độ quan tâm của sự kết hợp giữa độ tích cực (D ) và độ tiêu cực
(D ) là một hàm của mức độ quan tâm đáp ứng điều kiện sau:


Ví dụ về các hàm như sau:

Công thức (6) là thích hợp, vì nó còn thể hiện khả năng trực giác rằng mức độ quan
tâm tổng thể phụ thuộc vào mức độ quan tâm sự kết hợp sở thích tích cực và tiêu cực,
đồng thời phụ thuộc số lượng sở thích. Cá nhân hoá truy vấn cần được xếp hạng bẳng
việc sử dụng một hàm xếp hạng.
2.4 Thứ tự ưu tiên, xếp hạng
Các khái niệm về mức độ tới hạn được đưa ra để xếp hạng sở thích và lựa chọn
top K của chúng. Như vậy, sở thích được quan tâm nhất và ngược lại tương ứng với d
cao nhất , và d thấp nhất .
Mức độ tới hạn c của sở thích <q, dT(u), dF(u)> được định nghĩa như sau:

18


Căn cứ vào mức độ tới hạn, sở thích được sắp xếp theo thứ tự như sau:
Ví dụ 4. Những sở thích từ hồ sơ cá nhân của Jon
p1: < DIRECTOR.name=‘W. Allen’, 0.8, 0 >
p4: < MOVIE.duration=‘2h’, e(0.7), e(-0.5)>
p5: < GENRE.genre=‘musical’, -0.9, 0.7 >
được sắp xếp theo thứ tự giảm mức độ tới hạn như sau:
p5 (C5 = 1,6), P4 (c4 = 1.2), p1 (c1 = 0,8).
Hãy xem xét một sở thích ngầm với mức độ tới hạn c . Đối với bất kỳ thành phần tham
gia sở thích với một mức độ tới hạn c , ràng buộc sau đây có được bằng cách áp dụng
toán học đơn giản:

2.5 Lựa chọn sở thích sử dụng cho truy vấn
Bước đầu tiên của truy cập cá nhân hoá truy vấn là việc khai thác các sở thích
top K (quan trọng nhất) liên quan đến một truy vấn. Sở thích có thể ở mức cú pháp
hoặc ngữ nghĩa. Sở thích mức cú pháp, nếu nó ánh xạ đến một đường thuộc đồ thị truy

vấn. Đây là một đồ thị top K của lược đồ cá nhân, nó bao gồm tất cả các nút tương ứng
với các mối quan hệ liên quan đến các truy vấn, tất cả các cạnh lựa chọn và cạnh tham
gia tương ứng với các điều kiện của các truy vấn gọi đến. Ví dụ, truy vấn trong hình 4
select title
from MOVIE M, PLAY P
where M.mid=P.mid and P.date=‘28/07/2004’
được mô tả bằng màu xám trên đồ thị cá nhân tương ứng với hồ sơ cá nhân của Jon.

19


Hình 4. Một câu truy vấn trên đầu trang của một đồ thị cá nhân
Một sở thích ẩn liên quan đến truy vấn này là:
MOVIE.mid=GENRE.mid and GENRE.genre=‘comedy’ bởi Jon không thích thể loại
‘musical’, ‘comedy’≠ ‘musical’.
Tham số K được quy định cụ thể với việc sử dụng một số tiêu chí. Ví dụ, một tiêu
chuẩn dựa trên mức độ tới hạn sở thích, có thể chỉ định top 5 sở thích hoặc sở thích với
một mức độ tới hạn trên một ngưỡng c , hoặc lựa chọn một tiêu chí dựa vào mức độ
quan tâm mong muốn ở kết quả, có thể chỉ định kết quả với mức độ> 0,8.
Ý tưởng xây dựng. Với đồ thị tương ứng với một người sử dụng G với hồ sơ cá nhân và
đồ thị truy vấn trên của biểu đồ này đại diện cho một truy vấn Q. Hãy xem xét P , tập
hợp của tất cả pi đường dẫn G có liên quan đến Q theo thứ tự giảm dần của mức độ tới
hạn c , nghĩa là

Các thiết lập sở thích có thể ảnh hưởng đến các truy vấn, dựa trên một số tiêu chuẩn độ
tới hạn C(.), là tập hợp con đã ra lệnh P = {pi | i ∈ [1, K, c

20

≥ c } của P mà:



Một thuật toán lựa chọn sở thích được xây dựng trên cơ sở gắn liền với truy vấn phụ
trên đồ thị cá nhân G theo hướng giảm dần của mức độ tới hạn. Xem xét đồ thị cá nhân
được mô tả trong hình. 5. Để đơn giản, thuộc tính và giá trị liên quan đến thành phần
tham gia và thành phần chọn lọc sở thích được bỏ qua. Mỗi cạnh được dán nhãn với
mức độ tới hạn của sở thích.

Hình 5. Ví dụ đồ thị với mức độ tới hạn
Ta thấy tính gắn bó mạnh bị mất đi đối với các mức độ tới hạn của sở thích ẩn. Do đó,
một cây tốt nhất đầu tiên của đồ thị không đảm bảo sở thích ẩn được tạo ra theo thứ tự
đúng. Thật vậy, ABDs1 không quan trọng hơn AEFs2.
Một sở thích lựa chọn ẩn có thể là đầu ra kết quả truy vấn chỉ khi nó quan trọng
hơn sở thích lựa chọn quan trọng nhất không nhìn thấy (mcsu). Dựa trên công thức (8),
sau đó xét đến thành phần tham gia ẩn quan trọng nhất, tiếp theo là một thành phần
chọn lọc với mức độ tới hạn bằng 2. Do đó, một sở thích lựa chọn ẩn có thể được coi là
đầu ra chỉ khi nó có một mức độ tới hạn tối thiểu bằng mức độ tới hạn tham gia nhân
hai. Nếu không, các thuật toán nên mở rộng cạnh tham gia và kiểm tra đường dẫn còn
lại xuất phát từ nó.
Giả sử rằng thành phần tham gia ẩn quan trọng nhất được theo sau bởi một
thành phần chọn lọc với một mức độ tới hạn bằng 2, dự tính trường hợp xấu nhất mcsu.
-

Mục đích: Lựa chọn sở thích để xác định đường đi có chi phí rẻ hơn
21


-

Đầu vào của thuật toán sẽ là mức độ tới hạn của hầu hết các thành phần chọn lọc sở

thích sau đó đến thành phần tham gia sở thích.

-

Đầu ra: Kết quả là một cây đầu tiên tốt nhất của đồ thị cá nhân G dựa trên kết quả c
*fc . Bất cứ khi nào một sở thích lựa chọn được xây dựng, nó là đầu ra ngay lập tức.

-

Xử lý: Thuật toán FakeCrit
Một lựa chọn tốn ít chi phí có mức độ tới hạn tạm thời fc, quy định: Đối với mỗi

cạnh lựa chọn, fc được thiết lập là 1. Đối với mỗi cạnh tham gia, fc được thiết lập tối
đa mức độ tới hạn của tất cả các cạnh sau này. Nếu một trong chúng là tham gia, mức
độ tới hạn được nhân với 2.
Thuật toán FakeCrit dùng để lựa chọn sở thích có đường đi với một mức độ tới
hạn c và mức độ tới hạn tạm thời fc, như thể nó là một sở thích lựa chọn ẩn với mức độ
tới hạn bằng c*fc (thay vì c).
Mục đích là tạo ra
hàng đợi

của top K sở thích dựa trên một số tiêu chuẩn C(.). Một

sở thích được lưu giữ theo thứ tự giảm của c * fc. Ban đầu, nó bao gồm

thành phần sở thích liên quan đến truy vấn. Trong mỗi vòng lặp, thuật toán chọn từ
∪ {p}), thì nó là đầu ra.

phần tử đầu p. Nếu p là một sở thích đáp ứng tiêu chuẩn C (
Nếu p là một sở thích tham gia đáp ứng tiêu chuẩn C (


∪ {p}), thì sau đó, nó được
. Một đường đi mới p ∧

mở rộng vào các đường dẫn dài hơn bằng cách thêm vào
được tạo ra cho mỗi

thành phần sở thích với p. Những thành phần sở thích

được coi là trong thứ tự giảm dần c * fc. Một đường đi mới được đặt vào

: (a) nếu

nó phát triển một quan hệ thành p hoặc Q, bởi một chu kỳ được tạo ra, (b) nếu kết quả
của mức độ tới hạn của nó và mức độ tới hạn tạm thời (c

* f(c ) < , tiêu chuẩn C

xác định rằng sở thích top K phải có một mức độ tới hạn lớn hơn
Thuật toán dừng khi tất cả các sở thích top K được hình thành.

22

> 0.


2.6 Xử lý truy vấn dựa trên sở thích người dùng
Việc sở thích top K được tích hợp vào các truy vấn người dùng và trả về một câu trả lời
cá nhân. Điều này sẽ tương đương với:
(a) Gợi sự quan tâm cho người sử dụng, tức là nó phải đáp ứng (ít nhất) tiêu chí L từ sở

thích top K.
.(b) Xếp hạng dựa trên mức độ quan tâm.
(c) Tự giải thích. Đối với mỗi bộ dữ liệu trả về, các sở thích hài lòng và / hoặc không
cần được cung cấp để giải thích cho lựa chọn và xếp hạng của nó.
Sau đây mô tả hai cách tiếp cận cho việc phát sinh các câu trả lời cá nhân. Sở
thích đàn hồi được chuyển thành điều kiện phạm vi thích hợp bằng cách sử dụng một
bộ quy tắc trước khi chúng có thể được chèn vào một truy vấn.
2.6.1 Phương pháp SPA
Câu trả lời cá nhân hoá đơn giản (Simply Personalized Answers-SPA).
Phương pháp SPA là cách tích hợp sở thích top K vào truy vấn ban đầu và xây dựng
một truy vấn mới. Trên cơ sở xây dựng các truy vấn cá nhân là sự kết hợp của một tập
hợp các truy vấn con, mỗi truy vấn là ánh xạ một một hoặc nhiều các sở thích K đã
chọn. Mỗi truy vấn con được xây dựng bằng cách mở rộng các truy vấn ban đầu từ một
điều kiện phù hợp liên quan đến các thành phần tham gia sở thích. Truy vấn con này
cũng trả về mức độ quan tâm tích cực của các sở thích tương ứng. Nếu nó có chứa một
sở thích đàn hồi, thì hàm đàn hồi tương ứng cung cấp mức độ quan tâm trong mỗi bộ
dữ liệu [14], để nó có thể xử lý các sở thích đàn hồi và sở thích vắng mặt. Ví dụ: Giả sử
Jon gửi một truy vấn đơn giản
-

Đầu vào: Câu truy vấn ban đầu và sở thích top K

-

Đầu ra: Kết quả cá nhân hóa dựa trên sở thích người dùng đã cung cấp

-

Xử lý:
23



(1) Cấu trúc sở thích người dùng áp dụng định nghĩa
doi(q) = < dT(u), dF(u) > (thành phần chọn lọc sở thích)
với ∀ u∈ DA làm hài lòng sở thích q, dT(u), dF(u) ∈ [-1,1] và dT(u)*dF(u) ≤ 0
doi (q) = <d>, d ∈ [0, 1] (thành phần tham gia sở thích)
(2) Xử lý Preferences trả về truy vấn cá nhân hóa
+ Lựa chọn sở thích top K
+ Xây dựng các truy vấn con dựa trên kết hợp câu truy vấn ban đầu và sở thích
top K đã được lựa chọn. Việc xây dựng truy vấn con này còn phụ thuộc vào loại sở
thích. Một sở thích có thể là sự hiện diện hay vắng mặt của giá trị. Hơn nữa, sở thích
vắng mặt cũng phân biệt thành 2 loại là sở thích vắng mặt 1-1 và sở thích vắng mặt 1n. Truy vấn con được xây dựng cho từng trường hợp.
(Các sở thích có mặt)
Q1: select [Column 1, Column 2,…], r degree
from [Table 1, Table 2,…]
where [Condition]
(Sở thích vắng mặt 1-1) Chúng được ánh xạ đến truy vấn phụ trong cùng một cách như
những sở thích có mặt. Sự khác biệt duy nhất là sự thay đổi của toán tử điều kiện:
Q2: select [Column 1, Column 2,…], r degree
from [Table 1, Table 2,…]
where [Condition]
(Sở thích vắng mặt 1-n)
Q3: select [Column 1, Column 2,…], r degree

24


from [Table 1, Table 2,…]
where […]
not in (select […]

from [Table 1, Table 2,…]
where [Condition])
+ Kết hợp các truy vấn con: Các kết quả dự kiến thu được bằng cách kết hợp các
các truy vấn con, nhóm các thuộc tính dự kiến của các truy vấn ban đầu, và không bao
gồm các nhóm trả về ít hơn L dòng. Kết quả được xếp hạng dựa trên sự kết hợp của các
sở thích thỏa mãn.
select [Column 1, Column 2,…], r degree
from Q1 Union All Q2 Union All Q3
group by [Column 1, Column 2,…]
having count(*) = L
order by r(degree)
Ví dụ: Từ hồ sơ của Jon ta có câu truy vấn đầu vào bằng SQL chuẩn:
select title from movies
Và tập sở thích top K đã được lựa chọn, mà từ đó L = 2 nên được thỏa mãn.
p1: MOVIE.mid=DIRECTED.mid and
DIRECTED.did=DIRECTOR.did and
DIRECTOR.name=‘W. Allen’
p2: MOVIE.year<1980
p3: MOVIE.mid=GENRE.mid and GENRE.genre=‘musical’
25


×