Phương pháp PPA

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 27 - 33)

Câu trả lời cá nhân hoá tiến bộ (Progressive Personalized Answers- PPA).

Là một thuật toán tiến bộ, cá nhân hoá, tự giải thích, xếp hạng kết quả, mà xử lý sở thích vắng mặt 1-n hiệu quả hơn.

PPA mục đích là cá nhân hóa dựa trên xử lý loại sở thích được tích hợp vào các truy vấn: sở thích có mặt, vắng mặt 1-1 và vắng mặt 1-n. Nếu xuất hiện sở thích vắng mặt 1-n thì được xử lý riêng. Do đó, hai bộ truy vấn phụ được hình thành: một tập hợp của truy vấn con liên quan đến sở thích có mặt và sở thích sự vắng mặt 1 -1, Qs, và thiết lập một truy vấn con liên quan đến sở thích vắng mặt 1 -n, Qa; xem xét cả hai bộ lệnh trong độ chọn lọc ngày càng tăng. Thuật toán như sau:

- Đầu vào: Truy vấn ban đầu Q và sở thích PK, tiêu chí L

- Đầu ra: Kết quả cá nhân hóa của Qđáp ứng ít nhất là L tiêu chí được tích lũy trong một danh sách R có thứ tự giảm mức độ quan tâm.

28

(1) Cấu trúc sở thích người dùng gồm 2 thành phần: thành phần chọn lọc sở thích và thành phần tham gia dược biểu diễn như định nghĩa đã trình bày trong chương 2. 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

PPA (truy vấn đầu vào Q, sở thích PK, tiêu chí L, Out: kết quả cá nhân hoá)

Begin

1. R: = {}; Pactive: = PK; MEDI: = (Pactive); Xây dựng Qs (truy vấn vắng mặt 1- 1) và Qa (truy vấn vắng mặt 1-n) từ Q

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 then 2.1.1. output các bộ dữ liệu từ R và dừng thuật toán

end if 2.2. thực thi qi

2.3. Foreach t trả về bởi qi, t ∉ R 2.3.1. thực thi Qi (t)

2.3.2. P : = {prefs hài lòng bởi t trong các kết quả của qi và Qi } 2.3.3. thực thi Qi (t)

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

2.3.6. Prefs : = PK - Prefs 2.3.7. if t đáp ứng các tiêu chí cho L

tính toán dt (dt là mức độ quan tâm);

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

29

end for

2.4. output tất cả các t ∈R chưa có đầu ra 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 3.1.1. output bộ dữ liệu từ R và dừng thuật toán

end if

3.2. thực thi qi

3.3. Foreach t trả về bởi qi, t ∉ R (adsbygoogle = window.adsbygoogle || []).push({});

3.3.1. thực hiện Qi (t); Ids : = add (Ids , t)

3.3.2. Prefs : = {prefs hài lòng bởi t trong kết quả Qi } 3.3.3. Prefs d: = PK - Prefs

3.3.4. if t đáp ứng các tiêu chuẩn cho L tính toán dt;

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

end if 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 các tiêu chí cho L 4.1. thực thi Q

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

4.2.1. Prefs : = {tất cả các truy vấn vắng mặt 1-n } 4.2.2. if t đáp ứng các tiêu chí L

30 tính toán dt;

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

End for

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

End

Kết quả của Q đáp ứng ít nhất là L tiêu chí được tích lũy trong một danh sách R có thứ tự giảm mức độ quan tâm. Từ đó, các bộ dữ liệu đẩy ra khi mức độ quan tâm của chúng là lớn hơn so với mức độ của bất kỳ bộ dữ liệu nào trong tương lai. Cụ thể hơn, hãy xem xét hai bộ của truy vấn phụ hình thành:

- Mỗi truy vấn phụ qi ∈Qs xác định các bộ dữ liệu đáp ứng một sở thích có mặt hay vắng mặt 1-1, và trả về id bộ dữ liệu t, thuộc tính liên quan, giá trị tương ứng với sở thích và mức độ quan tâm tích cực.

- Mỗi truy vấn phụ qj ∈ Qa xác định bộ dữ liệu mà đáp ứng một sở thích vắng mặt 1-n, và trả về id bộ dữ liệu t, các thuộc tính liên quan, giá trị tương ứng trong các sở thích và mức độ quan tâm tiêu cực.

Đầu tiên, truy vấn trong Qs được thực hiện tuần tự. Đối với mỗi id bộ dữ liệu t khác nhau trả về bởi truy vấn qi ∈ Qs, kiểm tra xem t cũng được trả về bởi các truy vấn tiếp theo qi trong Qs.

Đối với mục đích này, một tham số truy vấn Qi (t) là sự hợp nhất của các truy vấn này được thực hiện với tham số đầu vào id bộ dữ liệu t. Mỗi sự xuất hiện của t trong các kết quả trả về bởi Qi (t) và qi đáp ứng một số sở thích (có mặt hay vắng mặt 1-1).

31

Mối quan hệ thuộc tính - giá trị trả về trong mỗi lần xuất hiện của t mô tả sở thích hài lòng. Từ đó, tôi xây dựng các thiết lập sở thích hài lòng t có mặt hay vắng mặt 1-1 , P . Ngoài ra, đối với cùng một id bộ dữ liệu t, tham số truy vấn Qi (t) được tập hợp tất cả các truy vấn qj ∈ Qa thực hiện. Mỗi xuất hiện của t trong các kết quả của truy vấn này tương ứng với một trường hợp sở thích không hài lòng vắng mặt 1-n. Khi bộ sở thích sự vắng mặt 1 – n được xét đến, chúng ta có thể dễ dàng tìm thấy trong số chúng được thỏa mãn bởi t. Đó là bộ A .

Vì vậy, các sở thích hài lòng t là các thiết lập

Prefs = P ∪ A .

Các thiết lập sở thích không hài lòng có thể dễ dàng tìm thấy:

Prefs : = PK - {P ∪ A }.

Sau đó, mức độ quan tâm dt có thể được tính bằng cách sử dụng bất kỳ hàm xếp hạng cho các kết hợp tích cực, tiêu cực hoặc hỗn hợp sở thích.

Tham số L có thể được quy định rõ ràng hoặc ngầm bằng cách cung cấp mức độ quan tâm tối thiểu đến kết quả. Nếu t đáp ứng các tiêu chuẩn trên L, sau đó một bộ kết quả trả về với các yếu tố sau đây: {t, Prefs , Prefs , dt}.

Điều này được đặt trong danh sách kết quả R. (adsbygoogle = window.adsbygoogle || []).push({});

Khi tất cả các truy vấn trong Qs đã được thực hiện, truy vấn trong Qa tuần tự thực hiện theo cùng một logic như trước. Đối với mỗi id bộ dữ liệu phân biệt t trả về bởi một truy vấn qi ∈ Qa, nếu không có trong R, một tham số truy vấn là sự kết hợp của tất cả các truy vấn tiếp theo qi trong Qa được thực thi. Một bộ dữ liệu {t, Prefs , Prefs , dt} được xây dựng và được đặt trong danh sách kết quả, nếu nó đáp ứng các tiêu chí trên L. Ngoài ra, thuật toán lưu một danh sách Ids của tất cả các id bộ dữ liệu trả về bởi truy vấn vắng mặt. Khi kết thúc, bất kỳ bộ dữ liệu của

32

truy vấn ban đầu Q với id vắng mặt trong danh sách này cũng là một phần của kết quả trả về của thuật toán.

Danh sách kết quả, R, được sắp xếp theo giảm mức độ quan tâm. Một bộ dữ liệu từ danh sách này có thể được trả ra dựa trên bằng chứng rằng không có bộ dữ liệu tiếp theo nào có thể có một mức độ quan tâm lớn hơn so với mức độ trước đây. Bằng chứng như vậy được cung cấp dưới hình thức mức độ quan tâm tối đa (MEDI) mà không kết quả nào có thể đạt được.

Đây là mức độ quan tâm của các thiết lập tối đa các sở thích có thể sẽ làm hài lòng mỗi điểm của thuật toán. Ban đầu, đây là toàn bộ các sở thích. Khi thuật toán thu được kết quả với truy vấn con theo thứ tự, các sở thích liên quan đến các cách trước không áp dụng, do đó chúng được xóa khỏi bộ các sở thích này. Các bộ dữ liệu trong R có mức độ quan tâm trở thành lớn hơn hoặc bằng MEDI đầu ra. Tuy nhiên, họ không loại bỏ từ R. Bằng cách này, các thuật toán luôn biết các bộ dữ liệu đã được gặp và không tạo ra bản sao.

Kể từ khi R được lệnh giảm mức độ quan tâm, có một con trỏ đến các bộ dữ liệu đầu tiên không được nêu ra, con trỏ dần dần di chuyển về phía dưới cùng của danh sách.

Thuật toán chấm dứt khi các sở thích liên quan đến các truy vấn con còn lại không đủ để đáp ứng các tiêu chí trên L, và kết quả đầu ra bất kỳ còn lại các bộ dữ liệu trong R.

- Đánh giá: Phương pháp này khá tiến bộ so với phương pháp SPA, nó khắc phục được hầu hết các vấn đề còn tồn tại. Nó cho phép tạo ra phần tự giải thích kết quả. Mặt khác, nó thực thi việc xếp hạng các kết quả dựa vào sở thích từ K được chọn là hài lòng và không được chọn. PPA còn xử lý hiệu quả khi có sở thích vắng mặt 1-n và cho phép một sự phục hồi nhanh chóng của bộ dữ liệu.

33

CHƯƠNG III. ỨNG DỤNG TRUY VẤN THƯ VIỆN SÁCH TRUYỆN

Thư viện sách truyện là hệ thống tra cứu thông tin sách truyện áp dụng cá nhân hóa. Thông tin sách phong phú đa dạng bao gồm: tên sách, tác giả, nhà xuất bản, ngôn ngữ, thể loại, lĩnh vực, độ tuổi và các thông tin khác như số trang, số lượt xem, số lượt tải về. Mỗi người dùng có một hồ sơ riêng định nghĩa sẵn sở thích cá nhân. Mỗi khi người sử dụng cần tra cứu thông tin sách, hệ thống sẽ tự động xử lý truy vấn cá nhân hóa dựa trên sở thích đã có mà không cần định nghĩa lại. Trên cơ sở đó, ứng dụng được xây dựng gồm hai phần: Quản lý hồ sơ người dùng và tìm kiếm sách trong thư viện.

(1) Quản lý hồ sơ người dùng: đi sâu vào mô hình và lưu trữ sở thích người dùng

(2) Tìm kiếm sách: Áp dụng cá nhân hóa truy vấn dựa trên sở thích người dùng. Mục đích giúp trả về kết quả tìm kiếm với phạm vi nhỏ hơn, làm hài lòng người dùng hơn.

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 27 - 33)