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

Xử lý truy vấn cá nhân hóa

Một phần của tài liệu CÁ NHÂN HÓA TRUY VẤN DỰA TRÊN SỞ THÍCH NGƯỜI DÙNG (Trang 36 -36 )

Phát biểu truy vấn

Câu truy vấn dựa trên SQL chuẩn. Đầu vào dữ liệu bao gồm hai thành phần:

(a) Câu truy vấn ban đầu là SQL chuẩn

Ví dụ:

Select * From Books where Books.SoTrang= “66”

37

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)

Ví dụ:

<Like_LinhVuc= ‘ Chính trị xã hội’, 0.2, 0>

<Like_LinhVuc.ID = Customers.ID, 0.4>

Xử lý truy vấn dựa trên sở thích

Hình 8. Mô hình xử lý truy vấn dựa trên sởthích người dùng

 Quản lý hồ sơ người dùng bao gồm: Thêm mới, Sửa, Xóa thông tin sở thích người

dùng. Thành phần sở thích bao gồm: Sở thích về lĩnh vực, thể loại, độ tuổi, ngôn

ngữ, tác giả của sách.

38

Mô tả tóm tắt:

 Tên chức năng: Thêm mới

 Mục đích: Giúp người dùng thêm mới thông tin sở thích cá nhân

 Tác nhân: Người sử dụng

 Tóm lược: Khi người dùng đã đăng nhập thành công có thể lựa chọn các chức năng

thêm mới, sửa, xóa thông tin sở thích cá nhân. Với chức năng thêm mới, hệ thống

sẽ kiểm tra thông tin người dùng nhập vào, nếu không hợp lệ thì thông báo lỗi và

cho phép nhập lại. Nếu các thông tin nhập vào đầy đủ và hợp lệ, hệ thống cho phép

thêm thông tin này vào CSDL. Sau khi người dùng thêm mới, họ có thể kiểm tra lại

thông tin đã nhập vào một cách dễdàng, đồng thời có thể sửa hoặc xóa sở thích.

Mô t kch bn:

 Thông tin đầu vào: Thuộc tính, giá trị, dT, dF, mức độ liên kết

 Điều kiện đầu vào: dT.dF ≤ 0

 Dòng sự kiện chính:

Hành động của tác nhân Phản ứng của hệ thống

1. Chọn chức năng đăng nhập khi đã

có tài khoản hoặc sau khi đăng kí xong

hệ thống tựđộng cho thành viên vào

trang đăng nhập.

3. Nhập thông tin tài khoản đểđăng

nhập

4. Gửi thông tin đăng nhập tới hệ thống

2. Hiển thị trang đăng kí (nếu được yêu cầu)

5. Kiểm tra thông tin đăng nhập, nếu đúng

thì cho phép truy cập hệ thống, sai thì thông

báo lỗi, ngược lại, thông báo đăng nhập

thành công

39

6. Nháy nút Sở thích trên menu

8. Chọn danh mục sở thích cần thêm

mới (chọn thuộc tính)

10. Chọn giá trị, dT, dF, mức độ liên

kết

7. Mở trang quản lý sở thích cá nhân

9. Hiển thị trang thêm mới sởthích tương

ứng

11. Hệ thống kiểm tra điều kiện, nếu hợp lệ

thì chèn thêm bản ghi mới vào cơ sở dữ liệu.

Và ngược lại thì thông báo lỗi và cho người

dùng nhập lại (gọi thủ tục thêm mới sở

thích)


Các chức năng khác như sửa, xóa sở thích mô tả tương tự như chức năng thêm mới.

 Cấu trúc sở thích:

(1) Sở thích về lĩnh vực bao gồm các thuộc tính: Mã sở thích, tên lĩnh vực, mã

người dùng, mức độ thích và mức độ quan tâm đến các trường hợp khác, cuối cùng

là mức độ liên kết các sở thích về lĩnh vực với các sở thích khác.

(2) Sở thích về thể loại bao gồm các thuộc tính: Mã sở thích, tên thể loại, mã người

dùng, mức độ thích và mức độ quan tâm đến các trường hợp khác, cuối cùng là mức

độ liên kết các sở thích về thể loại với các sở thích khác.

(3) Sở thích về ngôn ngữ bao gồm các thuộc tính: Mã sở thích, tên ngôn ngữ, mã

người dùng, mức độ thích và mức độ quan tâm đến các trường hợp khác, cuối cùng

là mức độ liên kết các sở thích về ngôn ngữ với các sở thích khác.

(4) Sở thích về độ tuổi bao gồm các thuộc tính: Mã sở thích, độ tuổi, mã người

dùng, mức độ thích và mức độ quan tâm đến các trường hợp khác, cuối cùng là mức

độ liên kết các sở thích về độ tuổi với các sở thích khác.

(5) Sở thích về tác giả bao gồm các thuộc tính: Mã sở thích, tên tác giả, mã người

dùng, mức độ thích và mức độ quan tâm đến các trường hợp khác, cuối cùng là mức

độ liên kết các sở thích về tác giả với các sở thích khác.

40

Các sở thích này được liên kết với nhau nhờ ID người dùng. Mỗi người dùng có một

hồ sơ riêng với các thành phần sở thích được định nghĩa như trên.

 Xử lý Preferences:

Xây dựng các thủ tục gọi đến SQL server xử lý kết hợp truy vấn ban đầu và sở

thích cá nhân. Sau đó, ta thu được một truy vấn mới giúp đưa ra kết quả cá nhân

hóa tốt nhất.

 SQL Server

(a) Thủ tục Thêm mới sở thích về lĩnh vực:

if(md1. md2>0) hoặc (md1=0 and md2=0)

begin

(Thông báo: Giá trị chọn không hợp lý,chọn lại giá trị')

end

insert into Like_LinhVuc

(b) Thủ tục sửa sở thích về lĩnh vực:

if(md1. md2>0) hoặc (md1=0 and md2=0)

begin

(Thông báo: Giá trị chọn không hợp lý,chọn lại giá trị')

end

update Like_LinhVuc

(c) Thủ tục xóa sở thích về lĩnh vực:

delete Like_LinhVuc

where ID

(e) Truy vấn dựa trên sở thích người dùng:

Begin

1. R: = {}; Pactive: = PK; MEDI: = (Pactive) (tính toán theo công thức (6));

Xây dựng Qs (truy vấn có mặt và truy vấn vắng mặt 1-1) ( if dT>0, dF≤ 0)

và Qa (truy vấn vắng mặt 1-n) (if dT≤0, dF>0)

41

2. Foreach qi ∈ Qs

2.1. if các sở thích khác nhau trong Qs, Qa không đáp ứng tiêu chí L thì dừng thuật

toán

2.2. thực thi qi

2.3. Foreach t trả về bởi qi, t ∉ R

1. thực thi truy vấn có mặt và truy vấn vắng mặt với bộ dữ liệu t: Qi (t) thu

được P : = {prefs hài lòng bởi t trong các kết quả của qi và Qi }


2. thực thi truy vấn vắng mặt 1- n với bộ dữ liệu t: Qi (t) thu được

A .: = {các sở thích hài lòng bởi t trong kết quả Qi }

3. Prefs = P ∪ A ;

4. Prefs : = PK - Prefs

5. if t đáp ứng tiêu chí L

tính toán dt (dt là mức độ quan tâm) căn cứ vào dT, dF, thành phần

chọn lọc và thành phần tham gia sở thích

R: = add (R, t, Prefs , Prefs , dt)

end for

2.4. output tất cả các t ∈ R với dt ≥ MEDI

2.5. Pactive: = Pactive – {sở thích trong qi}; MEDI: = (Pactive)

end for

3. Foreach qi ∈ Qa

3.1. if phần còn lại của sở thích trong Qa không đáp ứng tiêu chí L thì dừng

thuật toán và trả về tập R

3.2. thực thi qi

3.3. Foreach t trả về bởi qi, t ∉ R

1. thực hiện truy vấn vắng mặt 1-n Qi (t); lưu t vào danh sách thỏa mãn

truy vấn Qi thu được danh sách Ids : = add (Ids , t)

42

3. Prefs d: = PK - Prefs

4. if t đáp ứng tiêu chí L

tính toán dt căn cứ vào dT và dF truyền vào; gán R bằng danh

sách mới R: = add (R, t, Prefs , Prefs , dt)

end for

3.4. output tất cả các t ∈R chưa có đầu ra với dt ≥ MEDI

3.5. Pactive: = Pactive – {sở thích trong qi}; MEDI: = (Pactive)

end for

4. if sở thích trong các truy vấn trong Qa đáp ứng tiêu chí L

4.1. thực thi Q

4.2. Foreach t trả về bởi Q, t ∉ R, t ∉ Ids

1. Prefs : = {tất cả các truy vấn vắng mặt 1-n }

2. if t đáp ứng tiêu chí L

tính toán dt với dT và dF tương ứng và gán R bằng danh sách mới

R: = add (R, t, Prefs , Prefs , dt)

End for

5. output các bộ dữ liệu còn lại từ R End

3.3 Đánh giá

(1)Với câu truy vấn:

Select * From Books where Books.SoTrang= “66”

Tập kết quả thu được như sau:

43

Hình 9. Ví dụ truy vấn không kết hợp sở thích


(2)Với câu truy vấn :

Select * From Books where Books.SoTrang= “66”

Kết hợp Preference:

<Like_LinhVuc= ‘ Chính trị xã hội’, 0.2, 0>

<Like_LinhVuc.ID = Customers.ID, 0.4>

44

Hình 10. Ví dụ truy vấn kết hợp sở thích

Kết quả của truy vấn là đáp ứng ít nhất là L tiêu chí và thỏa mãn sở thích cá nhân được

tích lũy trong một danh sách R có thứ tự giảm mức độ quan tâm. Như vậy, việc kết hợp

truy vấn với sở thích cá nhân không những mang lại sự hài lòng cho người dùng mà

còn giúp thu hẹp phạm vi tìm kiếm, cho phép một sự phục hồi nhanh chóng của bộ dữ

liệu.

45

KẾT LUẬN

Tôi đã tìm hiểu được về vào cá nhân hóa truy vấn và mô hình sở thích, cá nhân

hoá các thuật toán truy vấn hiệu quả, các hàm xếp hạng, và thử nghiệm kết quả. Cá

nhân hoá quyền truy cập cơ sở dữ liệu thông tin [10] sẽ mở ra cánh cửa cho những

thách thức mới và cơ hội cho tương lai. Kết hợp sở thích cá nhân với các khía cạnh

khác của bối cảnh một truy vấn gọi đến các tùy biến khác, chẳng hạn như thời gian của

vị trí người sử dụng, ngày, thiết bị được sử dụng để truy vấn, ... chắc chắn là một thách

thức nghiên cứu ưu tiêntrong tương lai gần.

Hơn nữa, kể từ khi truy vấn cá nhân làm thay đổi trải nghiệm tìm kiếm, người

sử dụng giao diện cần để cung cấp một cách đơn giản hơn để giải thích những gì hệ

thống thực hiện để cá nhân hoá truy vấn hoàn thiện hơn. Vì vậy, một hướng nghiên cứu

thú vị là hướng tới thiết kế của giao diện người dùng cho phép người dùng kiểm soát

mức độ của cá nhân hóa truy vấn, và có thể giúp làm giảm bớt câu trả lời không chính

xác. Một vấn đề khác thú vị là biểu diễn sở thích với một mô hình cao hơn có ánh xạ từ

lược đồ cơ sở dữ liệu, và các thuật toán (bán) tự động xây dựng hồ sơ người dùng.

TÀI LIỆU THAM KHẢO

[1] Agrawal, R., Wimmers, E. A Framework for Expressing and Combining

Preferences. Proc.of ACM SIGMOD, 2000.

[2] André E., Rist, T. From adaptive hypertext to personalized web companions.

Comm. of the ACM, 45(5), 43-46, 2002.

[3] Borzsonyi, S., Kossmann, D., Stocker, K. The Skyline Operator. Proc. of ICDE,

421–430, 2001.

[4] Bruno, N., Chaudhuri, S., Gravano, L. Top- k Selection Queries over Relational

Databases: Mapping Strategies and Performance Evaluation. ACM TODS, 27(2), 153-

187, 2002.

[5] Chomicki, J. Preference Formulas in Relational Queries. ACM TODS, 28(4), 427–

466, 2003.

[6] Koutrika, G., Ioannidis, Y. Personalization of Queries in Database Systems. Proc.

of ICDE, 2004.

46

[6] Collins, A., Quillian, M. Retrieval Time from Semantic Memory. J. of Verbal

Learning and Verbal Behaviour, Vol 8, 240-247, 1969

[7] Fishburn, P. Preference Structures and Their Numerical Representations. Theor.

Comput. Sci. 217, 359–383, 1999.

[8] Hansson, S. O. Preference Logic. In Handbook of Philosophical Logic, D. Gabbay,

Ed. Vol.8, 2001.

[9] Ilyas, I., Shah, R. Aref, W., Vitter, J., Elmagarmid, A. Rank-aware Query

Optimization.Proc. of ACM SIGMOD, 2004.

[10] Internet Movies Database. Available at www.imdb.com

[11] Karypis, G. Evaluation of Item-Based Top-N Recommendation Algorithms. Proc.

of

CIKM, 247-254, 2001.

[12] Kießling, W., Köstler, G.. Preference SQL-Design, Implementation, Experiences.

Proc. of VLDB, 2002.

[13] Kießling, W. Foundations of preferences in database systems. Proc. of. VLDB,

2002.

[14] Koutrika, G., Ioannidis, Y. Personalization of Queries in Database Systems. Proc.

of

ICDE, 2004.

[15] Lacroix, M., Lavency, P. Preferences: Putting More Knowledge into Queries.

Proc. of VLDB, 217–225, 1987.


[16] Liu F., Yu C., Meng W. Personalized Web Search by Mapping User Queries to

Categories.Proc. of ACM CIKM, 558-565, 2002.

[17] Papadias, D., Tao, Y., Fu, G., Seeger, B. An Optimal and Progressive Algorithm

for

Skyline Queries. Proc. of ACM SIGMOD, 467–478, 2003.

[18] Pitkow, J., Schutze, H., et al. Personalized Search. Comm. of the ACM, 45(9),

2002.

[19] Shahabi, C., Banaei-Kashani, F., Chen, Y., McLeod D. Yoda: An Accurate and

Scalable Web-based Recommendation System. Proc. of COOPIS, 2001.

[20] Wellman,M.P., Doyle, J. Preferential semantics for goals. Proc. of the National

Conf. on AI, 698–703, 1991.

[21] Zhu, L., Meng W. Learning-Based Top-N Selection Query Evaluation over

Relational Databases. Proc. of WAIM, 2004.

Một phần của tài liệu CÁ NHÂN HÓA TRUY VẤN DỰA TRÊN SỞ THÍCH NGƯỜI DÙNG (Trang 36 -36 )

×