Mô hình suy diễn đánh giá địa điểm

Một phần của tài liệu THUẬT TOÁN xếp HẠNG địa điểm TRONG các ỨNG DỤNG DỊCH vụ dựa TRÊN địa điểm (LBS) có CHÚ ý tới đặc điểm RIÊNG NGƯỜI DÙNG (Trang 52 - 55)

Theo quan sát của tôi, người dùng thường có xu hướng ít đánh giá trực tiếp quan điểm của mình tới các địa điểm. Mong muốn của tôi là dựa trên những hành vi của người dùng, chúng ta có thể đưa ra được đánh giá của người dùng cho địa điểm đó.

Từ sở thích của người dùng và từ thuật toán lựa chọn các ứng viên tiềm năng (các chuyên gia địa phương, các vị trí ứng viên), chúng ta cần suy diễn đánh giá của người dùng cho những vị trí tiềm năng này.

Input: Vùng đại lý R, sở thích phân cấp của người dùng u.wch, tổng số lượng vị trí gợi

ý N,

Ouput: Một tập các chuyên gia địa phương (local experts) E và một tập các vị trí tiềm

năng V

1. Lọc tất cả các vị trí V’ trong R

2. Loc tất cả các người dùng U đã thăm V’ 3. While True do

4. For level l (cập độ thấp nhất tới nút gốc) trong u.wch do 5. 𝑤𝑚𝑖𝑛 ← 𝑡𝑟ọ𝑛𝑔 𝑠ố 𝑠ở 𝑡ℎí𝑐ℎ 𝑛ℎỏ 𝑛ℎấ𝑡 ở 𝑐ấ𝑝 độ 𝑙

6. For c (category) trong u.wch ở level l do

7. 𝑘 ← |𝑢. 𝑤𝑐⁄𝑤𝑚𝑖𝑛| // tính số lượng người dùng

8. 𝑒 ← 𝑇𝑜𝑝(𝑘, 𝑈, 𝑐) // lựa chọn top k người dùng dựa trên u’c.h 9. For u’ e do 10. 𝑉 ← 𝑉 ∪ 𝑢′. 𝑉 (𝑡𝑟𝑜𝑛𝑔 𝑅) 11. 𝐸 ← 𝐸 ∪ 𝑒 12. If 𝑉 ≥ 𝑁 𝑜𝑟 𝐸 == U then 13. Return E và V

53

Trong phần này, người viết luận văn sẽ trình bày lại phương pháp suy diễn đánh giá của người dùng [1] đối với các địa điểm theo hai bước sau:

- Tính độ tương tự giữa các người dùng (user)

Để tính độ tương tự của người dùng, chúng ta có rất nhiều cách để tính độ tương tự của người dùng như dựa trên độ tin cậy, dựa trên lịch sử thăm các địa điểm giống nhau. Trong phần này, tôi sẽ trình bày phương pháp tính độ tương tự thông qua cây phân cấp sở thích của người dùng.

Bước 1: Dựa trên số lượng các node trùng nhau ở cấp độ (mỗi sở thích của người dùng

được biểu diễn theo một cây phân cấp) cần xử lý và giá trị của chúng.

Tính toán được độ tương tự dựa trên các sở thích chung giữa hai người dùng u và u’

(3.10)

Bước 2: Dựa trên lý thuyết về entropy, tôi tính toán entropy của user u ở cấp độ l.

Do mỗi người dùng có đa dạng sở thích, vì thế cần xác định được mức độ sở thích của người dùng đó với từng loại sở thích. Do có rất nhiều người chỉ thích một số loại cụ thể, có rất nhiều người thì thích rất nhiều loại.

Như hình 25 bên dưới, mô tả cây phân cấp sở thích của ba người dùng u1, u2, u3. Nhìn chung thì cả 3 người dùng này đều có sở thích ở ba thể loại c1, c5, c6 nhưng để so sánh độ tương tự giữa các người dùng này với nhau thì người dùng u1 tương tự với u2 hơn người dùng u2 với người dùng u3.

Công thức tính Entropy của người dùng u ở cấp độ l được tính như sau:

54

Trong đó:

H(u,l) là entropy của user u ở cấp độ l.

P(c) là xác xuất mà user u đã thăm thể loại c trong dữ liệu lịch sử.

Hình 25: Cây phân cấp sở thích của người dùng

Bước 3: Tính độ tương tự giữa hai user theo công thức bên dưới

Trong đó: β là trong số thay đổi trong độ sâu của cây phân cấp thể loại.

𝑆𝑖𝑚(𝑢, 𝑢′) = ∑ 𝛽 ∗ 𝐿𝑒𝑣𝑒𝑙𝑆𝑖𝑚(𝑢, 𝑢′, 𝑙)

1 + |𝐻(𝑢, 𝑙) − 𝐻(𝑢′, 𝑙)| (3.12)

|𝑙| 𝑙=1

- Tính toán đánh giá của người dùng với địa điểm

Trong bước này, chúng tôi sẽ đưa ra suy diễn đánh giá của người dùng với một địa điểm.

Từ thuật toán lựa chọn các ứng viên dựa trên sở thích, chúng ta đã có một tâp danh sách các chuyên gia địa phương (local experts) và các địa điểm tiềm năng đã được lựa chọn. Nhiệm vụ cần suy ra được đánh giá của người dùng với các địa điểm này.

Trên thực tế, nhiều người dùng không đưa trực tiếp các đánh giá tới một vị trí trong các mạng xã hội dựa trên địa điểm. Vì thế, chúng ta có thể dựa trên số lượng tới thăm của người dùngH tới vị trí như là đánh giá ẩn cho vị trí đó.

55

𝑅𝑢(𝑣) = ∑ 𝑆𝑖𝑚(𝑢, 𝑢′) ∗ 𝑣(𝑢′, 𝑣) (3.13)

𝑢′∈ 𝜀 & 𝑣 𝜖 𝜗

Trong đó, v(u’,v) là số lượng tới thăm của user u’ với vị trí v

Hệ thống sẽ tính toán đánh giá của người dùng tới các vị trí. Từ đó, sẽ xếp hạng các vị trí có đánh giá cao nhất cho mỗi người dùng.

Dựa trên độ đo đánh giá của người dùng cho từng vị trí tiềm năng. Hệ thống sẽ gợi ý và xếp hạng các địa điểm nay cho từng người dùng cụ thể. Ưu tiên cho những vị trí được đánh giá cao.

Một phần của tài liệu THUẬT TOÁN xếp HẠNG địa điểm TRONG các ỨNG DỤNG DỊCH vụ dựa TRÊN địa điểm (LBS) có CHÚ ý tới đặc điểm RIÊNG NGƯỜI DÙNG (Trang 52 - 55)