FP (Frequency Pattern) GrowthModel

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 55 - 58)

Ở các phần trên, tôi đã giới thiệu một số mô hình lọc kết hợp và mô hình khai phá sở thích của người dùng cũng như suy diễn đánh giá của người dùng cho các địa điểm. Ở phần này, tôi sẽ giới thiệu một mô hình khai phá các mẫu (pattern) của các tập mẫu.

Theo quan sát của tôi, người dùng hay có xu hướng đi địa điểm A rồi đi tiếp tới địa điểm B hay mua sản phẩm A sẽ mua kèm thêm sản phẩn B.

Ví dụ: Sau khi đi ăn ở một cửa hàng A, người dùng có thể đi tới các địa điểm khác như Cafe hoặc quán Karaoke.

Dựa trên ý tưởng trên, trong luận văn này, tôi sẽ giới thiệu lại mô hình FP-Growth cho vấn đề khai phá các vị trí thường xuyên được tới thăm cùng nhau. Từ những mẫu cặp thường xuyên thăm cùng nhau và dựa trên các địa điểm đã thăm trong quá khứ, chúng ta có thể xếp hạng các địa điểm người dùng có thể tới thăm lần tới cho từng người dùng cụ thể.

Tư tưởng của mô hình FP-Growth [8] là khai phá các tập item thường xuyên. Tôi sẽ giới thiệu các bước của mô hình FP-Growth và sử dụng chúng cho bài toán xếp hạng địa điểm. Chúng gồm ba bước cơ bản như sau:

Bước 1: Xây dựng một cấu trúc dữ liệu được gọi là FP-Tree

56

 Sắp xếp thử tự của các item theo tần xuất xuất hiện (support count) của các item này

 Kiểm tra và tạo FP-tree

o Tạo nút gốc của FP-tree, được gán nhãn “null” {} o Mỗi giao dịch tương ứng một nhánh của FP-tree.

o Mỗi node trên một nhánh tương ứng một item của giao dịch.

 Các item của một giao dịch được sắp theo giảm dần.

 Mỗi node kết hợp với support count của item tương ứng. o Các giao dịch có chung items tạo thành các nhánh có prefix chung.

Bước 2: Trích rút các cặp item thường xuyện từ FP-tree

o Tạo conditional pattern base cho mỗi node của FP-tree, Tích luỹ các prefix paths with frequency của node đó

o Tạo conditional FP-tree từ mỗi conditional pattern base

 Tích lũy frequency cho mỗi item trong mỗi base

 Xây dựng conditional FP-tree cho frequent items của base đó o Khám phá conditional FP-tree và phát triển frequent itemsets một cách đệ

qui

 Nếu conditional FP-tree có một path đơn thì liệt kê tất cả các itemsets.

Bước 3: Sử dụng các cặp item thường xuyên cho xếp hạng các địa điểm

Khi có các cặp item thường xuyên và vị trí hiện tại của người dùng. Hệ thống sẽ xếp hạng các các địa điểm có thể tới tiếp theo của người dùng.

57

Trong chương này, tôi đã giới thiệu về kiến trúc hệ thống và giới thiệu một số mô hình đánh giá xếp hạng các địa điểm theo từng người dùng cụ thể. Ngoài ra, tôi đã giới thiệu cách thức khai phá sở thích của người dùng. Và đã được thực nghiệm dựa trên tập dữ liệu thực từ hệ thống mạng xã hội Foursquare.

Trong chương tiếp, tôi sẽ trình bày những cài đặt và đánh giá với một số mô hình và so sánh kết quả giữa chúng. Ngoài ra, tôi sẽ đưa ra nhược điểm của những mô hình này từ đó tìm được những pháp pháp khắc phục những nhược điểm của các mô hình này.

Procedure FP-growth(Tree, α) {

(1) Nếu Tree có chứa một đường đi đơn P

(2) Thì với mỗi cách kết hợp của các nút trong đường đi P thực hiện

(3) phát sinh tập mẫu Uα, support = min(support của các nút trong ) (4) ngược lại ứng với mỗi ai trong thành phần của Tree thực hiện { (5) phát sinh tập mẫu β=aiUα với độ phổ biến

support = ai.support;

(6) xây dựng cơ sở điều kiện cho β và sau đó xây dựng cây FP Treeβ theo điều kiện của β;

(7) Nếu Treeβ ≠

(8) thì gọi lại hàm FP-growth(Treeβ, β) }

58

Chương 4: Cài đặt và đánh giá

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 55 - 58)