Trước khi đi vào phần kiến trúc hệ thống cho bài toán xếp hạng đại điểm, tôi giới thiệu về tổng quan về các loại cấu trúc dữ liệu trong các mạng xã hội địa điểm. Và mô tả tập dữ liệu mà tôi sử dụng trong luận văn này.
Trong các mạng xã hội dựa trên địa điểm thường sẽ có các loại cấu trúc dữ liệu sau: Người dùng (User)
Địa điểm (Venue)
Check-in (đánh dấu địa điểm khi người dùng tới thăm) Lịch sử thăm của người dùng
Thể loại (mỗi địa điểm được phân chia ở những thể loại khác nhau như địa điểm ăn uống, địa điểm nghệ thuật…)
Bình luận (tips): khi người dùng tới thăm các địa điểm, họ thường để lại những nhận xét, nhưng hướng dẫn chọn món ở những địa điểm đó.
Trong đó, với thông tin người dùng có thể bao gồm: id, tên, tuổi, giới tính, và địa chỉ nhà. Với thông tin về địa điểm (Venue) có thể bao gồm id, tên, thể loại, vị trí kinh độ, vĩ độ. Người dùng đánh dấu các vị trí khi đến thăm các địa điểm được coi là các check-in
40
của người dùng tại vị trí đó. Lịch sử thăm cả người dùng tương ứng với dữ liệu check-in nhưng cũng có thể là dữ liệu mà người dùng bình luận về vị trí đó (thường người dùng sẽ check-in nhiều hơn là bình luận cho vị trí). Thể loại của các vị trí được biểu diễn bởi cây phân cấp các thể loại.
Ví dụ: thể loại cho các địa điểm ăn uống có thể bao gồm nhà hàng với đồ ăn việt nam (Vietnamese restaurant) và nhà hàng với đồ ăn trung quốc (Chinese restaurant).
Trong luận văn này, tôi sử dụng một tập dữ liệu được chia sẻ từ JeiBao (một Phd Student) chia sẻ. Chúng bao gồm dữ liệu về người dùng, dữ liệu về các địa điểm, dữ liệu về tips (các bình luận của người dùng), dữ liệu về thể loại, dữ liệu về bạn bè.
3.1.2 Kiến trúc hệ thống xếp hạng địa điểm
Kiến trúc của hệ thống này sẽ bao gồm hai tầng chính: