Đối với các doanh nghiệp, cửa hàng, các mạng xã hội dựa trên địa điểm là nơi họ giới thiệu, quảng bá về dịch vụ của mình và cũng là nơi mà các doanh nghiệp có thể tiếp nhận những phản hồ
Trang 1Mục lục
Lời Cam Đoan 3
Danh Mục Các Ký Hiệu, Các Chữ Viết Tắt 4
Danh Mục Các Bảng 5
Danh Mục Các Hình Vẽ, Đồ Thị 6
PHẦN MỞ ĐẦU 7
Chương 1: Tổng quan về các dịch vụ mạng xã hội dựa trên đia điểm 10
1.1 Yelp 13
1.2 Foursquare 16
Chương 2: Tổng quan về bài toán xếp hạng 20
2.1 Khái niệm chung về bài toán xếp hạng 20
2.2 Hệ thống gợi ý 22
2.3 Một số thuật toán xếp hạng 25
2.3.1 Facebook’s Edge Rank 26
2.3.2 Twitter TunkRank 29
2.3.3 HITS (Hypertext Induced Topic Search) 32
2.4 Cơ sở lý thuyết 34
2.4.1 Định nghĩa về Entropy 34
2.4.2 Location Entropy 36
2.5 Ý tưởng phát triển hệ thống xếp hạng địa điểm 38
Chương 3: Hệ thống xếp hạng địa điểm 39
3.1 Kiến trúc hệ thống xếp hạng địa điểm 39
3.1.1 Tổng quan về cấu trúc dữ liệu trong các mạng xã hội dựa trên địa điểm 39
3.1.2 Kiến trúc hệ thống xếp hạng địa điểm 40
3.1.2.1 Batch Layer 40
3.1.2.2 Serving Layer 43
3.2 Thuật toán và các mô hình sử dụng 43
3.2.1 Trust-based collaborative filtering 43
3.2.2 Interest-based collaborative filtering 45
Trang 23.2.3.1 Xác định local experts 46
3.2.3.2 Khai phá sở thích cá nhân hóa 49
3.2.3.3 Thuật toán lựa chọn ứng viên dựa trên sở thích 51
3.2.4 Mô hình suy diễn đánh giá địa điểm 52
3.2.5 FP (Frequency Pattern) Growth Model 55
Chương 4: Cài đặt và đánh giá 58
4.1 Tập dữ liệu 58
4.2 Cài đặt và đánh giá kết quả 60
4.2.1 Cài đặt và kết quả 60
4.2.2 Phân tích kết quả các mô hình 63
4.2.3 So sánh và đánh giá các mô hình 64
Chương 5: Kết luận và hướng phát triển 66
Tài liệu tham khảo 67
Phụ Lục 69
Trang 3Lời Cam Đoan
Tôi – Ngô Văn Vĩ- cam kết Luận Văn là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của TS Nguyễn Khanh Văn
Các kết quả nêu trong Luận Văn là trung thực, không phải là sao chép toàn văn của bất
kỳ công trình nào khác
Hà Nội, ngày 27 tháng 08 năm 2015
Tác giả Luận Văn
Ngô Văn Vĩ
Trang 4Danh Mục Các Ký Hiệu, Các Chữ Viết Tắt
HITS Hypertext Induced Topic Search
TCF Trust-based collaborative filtering
ICF Interest-based collaborative filtering
Trang 5Danh Mục Các Bảng
Bảng 1: Thống kê thông tin trong tập dữ liệu thực nghiệm 59Bảng 2: Thông kê cây thể loại trong tập dữ liệu thực nghiệm 59Bảng 3: Kết quả đánh giá các mô hình 63
Trang 6Danh Mục Các Hình Vẽ, Đồ Thị
Hình 1: Tháp nhu cầu maslow 10
Hình 2: Một số mạng xã hội dựa trên địa điểm 12
Hình 3: Trang chủ của Yelp 14
Hình 4: Xếp hạng địa điểm theo sổ rating 15
Hình 5: Xếp hạng các địa điểm phổ biến mà mọi người thăm 16
Hình 6: Trang chủ mạng xã hội Foursquare 17
Hình 7: Xếp hạng các địa điểm theo cùng sở thích 18
Hình 8: Tính năng gợi ý địa điểm tiếp theo sẽ tới 19
Hình 9: Mô hình xếp hạng chung 21
Hình 10: Mô hình gợi ý dựa trên lọc kết hợp 24
Hình 11: Các mô hình trong phương pháp lọc kết hợp 24
Hình 12 : Sự phát triển người dùng trên Facebook 27
Hình 13: Công thức EdgeRank 28
Hình 14: Thống kê số lượng tweets hàng ngày trên Twitter 30
Hình 15: Graph biểu thị liên kết giữa các nút 33
Hình 16: Luồng xử lý của thuật toán HITS 33
Hình 17: Hàm entropy nhị phân 36
Hình 18: Kiến trúc hệ thống 41
Hình 19: Mô hình xác định local experts 42
Hình 20: Mô hình trích rút sở thích của người dùng 42
Hình 21: mô hình tương tác người dùng và vị trí 47
Hình 22: Đồ thị tương tác người dùng và vị trí 47
Hình 23: Ma trận biểu diễn từ đồ thị tương tác giữa người dùng và vị trí 48
Hình 24: Biểu diễn cây phân cấp sở thích người dùng 50
Hình 25: Cây phân cấp sở thích của người dùng 54
Hình 26: Mô hình đánh giá hiệu quả của các mô hình xếp hạng 63
Trang 7PHẦN MỞ ĐẦU
Trong những năm gần đây, trong bối cảnh Internet phổ biến trên toàn cầu Cùng lúc này các dịch vụ mạng xã hội phát triển Điều này giúp người dùng dễ dàng chia sẻ thông tin, kết nối với bạn bè từ nhiều vùng miền trên toàn thế giới, đồng nghĩa với việc người dùng sẽ tiếp nhận một lượng thông tin cực lớn từ mạng xã hội Người dùng có nhu cầu sử dụng các dịch vụ này để tìm kiếm thông tin hữu ích, còn đối với các doanh nghiệp, các cửa hàng dịch vụ thì mạng xã hội sẽ là nơi họ giới thiệu quảng bá dịch vụ của họ đối với người dùng
Trong số các mạng xã hội chung nhất, thì phải kể đến sự phát triển bùng nổ của các mạng xã hội theo chủ đề, đặc biệt là mạng xã hội dựa trên địa điểm Đối với các mạng xã hội dựa trên địa điểm, đây là nơi cung cấp cho người dùng thông tin về địa điểm Nó giúp người dùng dễ dàng tìm kiếm các địa điểm theo nhu cầu cá nhân như mua sắm, ăn uống, xem phim Đối với các doanh nghiệp, cửa hàng, các mạng xã hội dựa trên địa điểm là nơi họ giới thiệu, quảng bá về dịch vụ của mình và cũng là nơi mà các doanh nghiệp có thể tiếp nhận những phản hồi nhanh nhất từ phía người dùng
Vì vậy, trong luận văn này, tôi sẽ tập trung giới thiệu về các dịch vụ mạng xã hội địa điểm Do sự bùng nổ thông tin, lượng thông tin trên các dịch vụ dựa trên địa điểm phát triển nhanh chóng bao gồm cả lượng thông tin chia sẻ cũng như số lượng người dùng tham gia vào các hệ thống này Nhưng lúc này, người dùng sẽ gặp phải khó khăn trong việc tìm kiếm và lựa chọn các thông tin Vì vậy, các dịch vụ mạng xã hội địa điểm cần cung cấp cho người dùng những tính năng công cụ giúp người dùng dễ dàng tìm kiếm, dễ dàng lựa chọn các thông tin phù hợp
Trong luận văn này, tôi sẽ trình bày một số mô hình thuật toán xếp hạng địa điểm
có chú ý tới đặc điểm của người dùng Đây là thuật toán quan trọng được sử dụng trong các bài toán tìm kiếm thông tin và bài toán gợi ý Nó sẽ giúp người dùng dễ dàng tìm kiếm và chọn lựa các địa điểm tốt nhất, phù hợp với sở thích của của người dùng nhất
Trang 8Đề có thể xây dựng được một mô hình xếp hạng địa điểm, trước tiên người viết luận văn cần tìm hiểu và nghiên cứu:
Tìm hiểu tổng quan về các mạng xã hội địa điểm, giới thiệu những mạng xã hội địa điểm nổi tiếng và các tính năng của chúng Từ đó, chúng ta có thể nhận thấy được mô hình xếp hạng địa điểm rất cần thiết trong các dịch vụ mạng xã hội địa điểm
Tiếp theo người viết luận văn sẽ nghiên cứu tổng quan các hệ thống xếp hạng và
hệ thống gợi ý Ngoài ra, người viết luận văn sẽ giới thiệu một số mô hình xếp hạng đã được xây dựng và áp dụng trong một số mạng xã hội nổi tiếng trên thế giới
Để có thể xây dựng mô hình xếp hạng địa điểm có liên quan đến sở thích người dùng, người viết luận văn cần nghiên cứu những kỹ thuật phân tích sở thích của người dùng Từ sở thích người dùng, mô hình xếp hạng có thể đưa chính xác các địa điểm mà người dùng quan tâm
Dựa trên những kiến thức cơ sở, người viết luận văn sẽ nghiên cứu một số mô hình đánh giá xếp hạng địa điểm dựa theo sở thích của từng người dùng cụ thể
Trong qua trình làm luận văn, người viết luận văn đã thực hiện được:
Tìm hiểu tổng quan về các dịch vụ dựa trên địa điểm
Tìm hiểu tổng quan mô hình xếp hạng cơ bản và bài toán gợi ý, giúp chúng ta nhìn nhận được tầm quan trọng của bài toán xếp hạng Ngoài ra, người viết luận văn đã tìm hiểu được một số mô hình xếp hạng trên một số mạng xã hội nổi tiếng như Twitter và Facebook
Tìm hiểu được kỹ thuật phân tích sở thích của người dùng
Nghiên cứu một số mô hình đánh giá, xếp hạng địa điểm dựa theo sở thích của người dùng
Cài đặt thử nghiệm và đánh giá một số mô hình này
Trang 9Sau đây, tác giả trình bày bố cục của luận văn như sau:
Ngoài phần mở đầu, kết luận, danh mục tài liệu tham khảo và phụ lục, nội dung của luận văn được xây dựng thành bốn chương
Chương 1: Tổng quan về các dịch vụ mạng xã hội dựa trên địa điểm
Ở chương một, người viết luận văn sẽ trình bày tổng quan về dịch vụ mạng xã hội địa điểm Người viết sẽ giới thiệu hai mạng xã hội dựa địa điểm nổi tiếng là Yelp và Foursquare cũng như các tính năng cơ bản của chúng Từ đó, chúng ta có thể nhận thấy bài toán xếp hạng địa điểm là rất cần thiết cho một ứng dụng mạng xã hội dựa trên địa điểm
Chương 2: Tổng quan về bài toán xếp hạng
Ở trong chương này, người viết sẽ giới thiệu tổng quan về bài toán xếp hang Khái niệm và mô hình của bài toán xếp hạng tổng quát Ngoài ra, người viết luận văn cũng giới thiệu về bài toán gợi ý mà bài toán xếp hạng là cốt lõi trong bài toán này
Phần cuối chương, người viết trình bày hai thuật toán xếp hạng của hai mạng xã nổi tiếng là Facebook và Twitter và thuật toán xếp hạng trang web khá nổi tiếng là HITS
Chương 3: Kiến trúc hệ thống và các mô hình xếp hạng
Trong chương 3, người viết luận sẽ trình bày về thiết kế kiến trúc hệ thống cho bài toán xếp hạng và một số mô hình xếp hạng mà người viết luận văn đã tìm hiểu và nghiên cứu
Chương 4: Kết quả và đánh giá
Trong chương 4, người viết sẽ đưa ra những kết quả đánh giá từ việc cài đặt các
mô hình xếp hạng Và tác giả sẽ đưa ra những nhận xét về các mô hình cũng như ưu nhược điểm của chúng
Trang 10Chương 1: Tổng quan về các dịch vụ mạng xã hội dựa trên đia điểm
Trước khi đi vào giới thiệu các dịch vụ mạng xã hội dựa trên địa điểm, tôi sẽ giới thiệu cái nhìn về nhu cầu của người dùng Để thấy việc các mạng xã hội, trong đó có các mạng xã hội dựa trên địa điểm phát triển nhanh chóng trong thời buổi Internet phát triển như ngày này là một điều tất yếu
Trước tiên, chúng ta hãy xem xét tháp nhu cầu của Maslow [12] , ngoài những nhu cầu về “thể lý” như ăn uống, nghỉ ngơi Người dùng còn có nhu cầu về thể hiện bản thân, kết nối và chia sẻ với cộng đồng
Hình 1: Tháp nhu cầu maslow
Chính vì thế, các mạng xã hội phát triển nhằm đáp ứng được một phần nhu cầu đó của người dùng
Khi có sự bùng nổ thông tin trên mạng internet, người dùng cần có xu hướng chọn lọc thông tin tốt hơn Và khi xã hội phát triển, người dùng có những nhu cầu thiết yếu
Trang 11như ăn uống, nghỉ ngơi…thì họ mong muốn có những nhu cầu khác như kết nối, chia sẻ thông tin, trải nghiệm để hiện hiện bản thận
Ví dụ: Người dùng có nhu cầu tìm kiếm các địa điểm ăn uống mới, trải nghiệm những món ăn mới, trong một không gian đẹp giúp họ thỏa mãn được sở thích cá nhân
Ngoài ra, người dùng cần những dịch vụ để có thể hiện được những cá tính của mình và có thể khám phá những dịch vụ, địa điểm mới tốt hơn và hữu dụng hơn Và sự phát triển mạnh mẽ của các mạng xã hội cũng đã thể hiện theo những nhu cầu thiết yếu của người dùng Những dịch vụ này giúp con người có thể kết nối và chia sẻ những thông tin hữu ích với nhau thuận tiện hơn
Trong thời kỳ đầu, một trong những mạng xã hội đầu tiên nhất phải kể đến là MySpace và Friendster Chúng đã phát triển và bùng nổ trong một khoảng thời gian dài Trong qua trình phát triển, nhu cầu của con người cao hơn, họ sẽ đòi hỏi những dịch vụ hiện tại nhiều hơn nhằm đáp ứng nhu cầu của họ Vì thế, sẽ có sự đảo thải đối với những mạng xã hội không còn phù hợp Người dùng sẽ chấp nhận và chuyển dần sang các mạng
xã hội mới phù hợp hơn và đáp ứng được nhu cầu của họ Chính vì thế, sau một thời gian các mạng xã hội khởi đầu như MySpace và Friendster đã không đáp ứng được nhu cầu của người dùng và dần mất vị thế của mình trên internet Thay vào đó là hai mạng xã hội nổi tiếng là Facebook và Twitter Đó là những mạng xã hội chung để người dùng kết nối
và chia sẻ thông tin
Ngoài những mạng xã hội chung như Facebook, Twitter thì người dùng cũng có mong muốn được thể hiện bản thân trên những mạng xã hội theo chủ đề như các dịch vụ mạng xã hội dựa trên địa điểm, thời trang
Trong luận văn này, tôi sẽ tập trung giới thiệu tới những dịch vụ mạng xã hội dựa trên địa điểm Các mạng xã hội địa điểm ra đời, nó giúp cho người dùng dễ dàng tìm kiếm và chia sẻ và khám phá các địa điểm người dùng yêu thích Người dùng có thể thể hiện tính cách của mình bằng cách check-in (đánh dấu) những địa điểm mà họ quan tâm
và chia sẻ chúng tới bạn bè của mình Ngoài ra, những mạng xã hội này giúp người dùng
Trang 12có thể kết nối với bạn bè, chia sẻ với họ những địa điểm mà họ quan tâm, gợi ý cho bạn
bè những địa điểm tin cậy
Ngày này, khi Internet phát triển làm đà tăng tốc cho sự phát triển của các thiết bị
di động như điện thoại thông minh, các thiết bị đeo tay, các thiết bị hiện thực ảo Với những yếu tố này cũng đã giúp cho các mạng xã hội dựa trên địa điểm phát triển mạnh
mẽ ở trên nhiều nền tảng như PC, di động, các thiết bị động
Hiện tại trên thế giới có rất nhieuf dịch vụ dựa trên địa điểm ra đời Hình ảnh bên dưới là một cái nhìn tổng quan về các dịch vụ mạng xã hội dựa trên địa điểm tại thời điểm này Trong đó, có hai mạng xã hội địa điểm phát triển lớn nhất là Foursquare và Yelp
Để có cái nhìn tổng quan hơn về các dịch vụ mạng xã hội dựa trên địa điểm, trong chương này, tôi giới thiệu về hai dịch vụ mạng xã hội dựa trên địa điểm là Yelp và Foursquare
Hình 2: Một số mạng xã hội dựa trên địa điểm
Trang 131.1 Yelp
Mạng xã hội Yelp [14] ra đời từ năm 2004 Yelp là một dịch vụ mạng xã hội tiên phong trong lĩnh vực đánh giá địa điểm bằng cách sử dụng đánh giá (review) của người dùng cho các địa điểm Từ đó, hệ thống của mạng xã hội này sẽ đánh giá, xếp hạng các địa điểm đó cho từng người dùng cụ thể Ngoài ra, người dùng (hay các doanh nghiệp)
có thể tự tạo nội dung giới thiệu địa điểm về dịch vụ, về thương hiệu của họ trên mạng
xã hội này Đây là một cách giúp các doanh nghiệp quảng bá được được dịch vụ của họ Hiện tại, Yelp phát triển phổ biến ở Mỹ và Canada với nhiều loại địa điểm khác nhau (có hơn 20 loại địa điểm khác nhau) như địa điểm về nhà ăn, các dịch vụ y tế, dịch vụ làm đẹp …
Về lượng người dùng, Yelp có khoảng 66 triệu người dùng trên toàn thế giới (trong đó có tới 86.4% là người Mỹ) Với tỉ lệ người dùng truy cập hàng tháng lên tới 18 triệu người Và với hơn 5.7 triệu thiết bị di động sử dụng ứng dụng này của Yelp Trang web này cũng thu thập được tổng cộng 25 triệu lượt đánh giá kể từ khi ra đời năm 2004
Về tính năng, ứng dụng này giúp cho người dùng có thể tìm kiếm các địa điểm dựa trên sở thích và hệ thống có thể xếp hạng các địa điểm dựa trên những đánh giá từ cộng đồng, từ hành vi của người dùng Ngoài ra, Yelp có thể trợ giúp người dùng tìm kiếm những địa điểm tốt theo nhiều loại tiêu chí khác nhau như:
Tìm các địa điểm tốt cho việc hẹn hò
Tìm các địa điểm phù hợp với trẻ em
Trang 14 Tìm các địa điểm có những tiện ích như có mạng wifi hay có không gian đẹp
Hình 3: Trang chủ của Yelp
Trong một khoảng thời gian dài phát triển, số lượng người dùng tham gia vào hệ thống tăng lên đồng nghĩa với số lượng các địa điểm mà người dùng chia sẻ, giới thiệu cũng tăng nhiều dần lên Số lượng địa điểm được tạo và chia sẻ trên Yelp lên tới hàng triệu ở nhiều thể loại khác nhau Lúc này, người dùng sử dụng mạng xã hội này sẽ gặp rất nhiều khó khăn như:
Không thể đọc hết các đánh giá của người dùng
Rất khó để tìm kiếm những địa điểm mà mình yêu thích
Hoặc khó lựa chọn được các địa điểm được đánh giá là tốt
Nhằm hỗ trợ người dùng tìm kiếm được địa điểm mình mong muốn, Yelp đã phát triển và cung cấp một số tính năng như xếp hạng, gợi ý các địa điểm cho người dùng Những địa điểm được gợi ý này có thể là những địa điểm mà người dùng quan tâm, hay những địa điểm phổ biến được người dùng đánh giá nhiều nhất
Dưới đây, là một số hình ảnh về tính năng xếp hạng các địa điểm trên Yelp
Trang 15 Thứ nhất, đó là tính năng xếp hạng các địa điểm theo số điểm trung bình đánh giá (rating) Các địa điểm sẽ được phân ra các nhóm thể loại và được xếp hạng theo đánh giá của cộng đồng
Bên dưới, nhà hàng “The italian Homemade Company” được đánh giá tốt nhất và được xếp hạng lên đầu
Hình 4: Xếp hạng địa điểm theo sổ rating
Thứ hai, Yelp xếp hạng các địa điểm theo số lượng người dùng vào xem Khi người dùng tham gia vào hệ thống của Yelp Hệ thống sẽ đưa ra nhiều chiến lược xếp hạng các địa điểm gợi ý cho người dùng Trong đó, số lượng người dùng vào xem là một yếu tố dùng trong mô hình xếp hạng các địa điểm
Trang 16Hình 5: Xếp hạng các địa điểm phổ biến mà mọi người thăm
Từ những tính năng được người viết luận văn giới thiệu bên trên, nhận thấy các
mô hình xếp hạng địa điểm rất quan trọng cho các mạng xã hội địa điểm Nó giúp người dùng có thể nhanh chóng lựa chọn và quyết định tới những địa điểm tốt nhanh hơn Những tính năng này sẽ giúp người dùng dễ dàng tìm kiếm các địa điểm tin cậy, chất lượng tốt, phù hợp với các tiêu chí mà người dùng mong muốn tìm kiếm
Trên đây, tôi đã giới thiệu về mạng xã hội dựa trên địa điểm Yelp và tính năng xếp hạng các địa điểm của mạng xã hội này Phần tiếp trong chương này, tôi sẽ giới thiệu một mạng xã hội dựa trên địa điểm nổi tiếng khác Đó là Foursquare
1.2 Foursquare
Trong phần này, tôi sẽ giới thiệu về dịch vụ mạng xã hội dựa trên địa điểm Foursquare [15] Đây là một ứng dụng mạng xã hội dựa trên địa điểm nổi tiếng nhất thế giới hiện tại Nó giúp người dùng dễ dàng khám phá, chia sẻ (thông qua hệ thống check-
Trang 17in) các địa điểm mà người dùng tới Mạng xã hội này cũng hỗ trợ người dùng tìm kiếm các địa điểm hữu ích dựa trên sở thích hoặc dựa trên những gợi ý từ bạn bè của họ
Theo số liệu thống kê, tính tới tháng 5 năm 2014 mạng xã hội Foursquare có hơn 50 triệu người dùng trên toàn thế giới, và có hơn 6 tỷ check-ins trên hệ thống của foursquare
Hình ảnh bên dưới là hình ảnh trang chủ của foursquare với một danh sách các nhóm về địa điểm và một danh sách các địa điểm được gợi ý cho người dùng Khi tham gia vào dịch vụ của foursquare, người dùng có thể lựa chọn các loại địa điểm mình yêu thích như Outdoor seating, jazz music…Ngoài ra, hệ thống sẽ gợi ý cho người dùng một
số địa điểm mà họ có thể quan tâm
Hình 6: Trang chủ mạng xã hội Foursquare
Trên ứng dụng Foursquare, người dùng có thể tìm kiếm, đánh giá các địa điểm và kết nối các bạn bè cùng sở thích Người dùng cũng có thể chia sẻ với bạn bè những địa điểm mình yêu thích
Trang 18Về tính năng, mạng xã hội dựa trên địa điểm Foursquare cung cấp cho người dùng rất nhiều tính năng Trong đó có tính năng gợi ý địa điểm mà người dùng có thể thích hoặc các địa điêm mà người dùng sẽ tới tiếp theo Những địa điểm khi được gợi ý cho từng người dùng cụ thể đều được xếp hạng dựa trên một số tiêu chí cụ thể như sở thích, cùng thích (một dạng luật kết hợp), theo vị trí địa lý
Dưới đây là hình ảnh một số tính năng nổi bật của Foursquare:
Thứ nhất, gợi ý các địa điểm mà những người thích “Phở Thìn 13 Lò Đúc” cũng thích những địa điểm này Các địa điểm gợi ý sẽ được xếp hạng dựa trên nhiều tiêu chí cụ thể
Hình 7: Xếp hạng các địa điểm theo cùng sở thích
Thứ hai, gợi ý các địa điểm mà người dùng có thể đi tới sau đó Hình ảnh bên dưới là đưa ra gợi ý địa điểm có thể đi tới sau khi tới “Phở Thìn 13 Lò Đúc” Kết quả được đưa ra là “Café Giảng” Đây là một địa điểm mà người dùng thường hay đi tới khi đã tới địa điểm “Phở Thìn 13 Lò Đúc”
Trang 19Hình 8: Tính năng gợi ý địa điểm tiếp theo sẽ tới
Mô hình xếp hạng địa điểm đã được Foursquare áp dụng vào các tính nặng gợi ý trên trong hệ thống của họ Nó sẽ giúp tính năng này có thể đưa ra được những gợi ý phù hợp và chính xác hơn Ngoài ra, những tính năng gợi ý sẽ giúp người dùng tiêt kiệm được thời gian tìm kiếm và lựa chọn địa điểm phù hợp
Những mạng xã hội ngách như các mạng xã hội dựa trên địa điểm trên, nó như là một thể hiện nhu cầu của người dùng Chúng giúp người dùng lựa chọn tốt hơn những thông tin quan trọng Những ứng dụng này, sẽ giúp người dùng tìm kiếm, khám phá những địa điểm có dịch vụ tốt hơn, phù hợp hơn với điều kiện và sở thích của họ
Trong chương này, tôi đã giới thiệu về một số mạng xã hội dựa trên địa điểm và những tính năng xếp hạng các địa điểm cho người dùng Người viết luận văn nhận thấy
mô hình xếp hạng là rất cần thiết cho các ứng dụng mạng xã hội dựa trên địa điểm Vậy câu hỏi đặt ra, là làm sao xây dựng được một hệ thống xếp hạng địa điểm? Trên thế giới
có những mô hình xếp hạng nào?
Vì thế, chương tới, tôi sẽ giới thiệu tổng quan hệ thống xếp hạng và một số hệ thống xếp hạng của một số mạng xã hội nổi tiếng trên thế giới
Trang 20Chương 2: Tổng quan về bài toán xếp hạng
Trong chương này, người viết luận văn sẽ giới thiệu tổng quan về bài toán xếp hạng cũng như một số lý thuyết liên quan được sử dụng trong báo cáo luận văn Ngoài
ra, người viết luận văn cũng giới thiệu về bài toán gợi ý mà trong đó, bài toán xếp hạng địa điểm được sử dụng và rất cần thiết cho bài toán này Sau khi giới thiệu về tổng quan
về bài toán xếp hạng, tôi sẽ giới thiệu một số hệ thống xếp hạng cho các trang web và một số hệ thống xếp hạng đang được áp dụng trên một số mạng xã hội nổi tiếng
2.1 Khái niệm chung về bài toán xếp hạng
Bài toàn xếp hạng là một bài toán quan trọng trong các ứng dụng tìm kiếm thông tin, các ứng dụng của hệ thống gợi ý:
Xếp hạng địa điểm tốt nhất mà người dùng có thể tới
Sắp xếp các tin tức liên quan và tốt nhất
Gợi ý các sản phẩm mà người dùng có thể mua
Tùy thuộc vào mỗi bài toán, mô hình xếp hạng có thể dựa trên một hoặc nhiều tiêu chí Cụ thể, trên mạng xã hội các bài viết có thể được xếp hạng dựa trên số lượng người like, số lượng người share nhất Vì vậy, với mỗi ứng dụng cụ thể và yêu cầu của mỗi bài toán, chúng ta có thể đưa ra được một độ đo phù hợp với yêu cầu của người dùng Bài toán xếp hạng rất phổ biến và nổi tiếng trong bài toán tìm kiếm thông tin Vì vậy, trong phần này tôi sẽ giới thiệu mô hình xếp hạng chung trong hệ thống này Đối với hệ thống tìm kiếm Trong đó:
Đầu vào của hệ thống là một câu truy vấn, có thể là bao gồm cả thông tin của người dùng bao gồm: độ tuổi, giới tính, vị trí, sở thích
Đầu ra của hệ thống là những kết quả phù hợp với người dùng Các kết quả này sẽ được xếp hạng theo thự tự của độ phù hợp
Trang 21để có thể cá nhân hóa kết quả của câu truy vấn đó
Một yếu tố quan trọg trong hệ thống tìm kiếm là hàm xếp hạng Tùy thuộc vào yêu cầu cụ thể mà chúng ta đưa ra một mô hình xếp hạng để có thể đáp ứng yêu cầu của ứng dụng Để xác định hàm tính hạng người ta quan tâm tới hai hướng giải quyết:
Tính hạng các trang web phù hợp với yêu cầu của người dùng
Tính hạng các trang web phù hợp với câu truy vấn của người dùng
Trang 22Việc tính hạng đúng và phù hợp, giúp người dùng tiếp cận được các kết quả như mong muốn
Phần tiếp, tôi sẽ đi giới thiệu một miền ứng dụng mà thuật toán xếp hạng rất cần thiết
và hữu ích trong miền ứng dụng này Đó là bài toán về hệ thống gợi ý Hệ thống này sẽ giúp đưa ra được nhóm kết quả (có thể là địa điểm dịch vụ, sản phẩm) mà người dùng quan tâm, phù hợp với người dùng nhất
2.2 Hệ thống gợi ý
Hệ gợi ý thực chất cũng là các công cụ phần mềm (trên web, trên mobile) có chức năng hỗ trợ người dùng trong việc tìm kiếm, lựa chọn một sản phẩm, dịch vụ hay một thông tin nào đó trong một lĩnh vực cụ thể [10] Sự hỗ trợ này sẽ liên quan lớn đến quyết định của người dùng như là sẽ mua sản phẩm nào, sử dụng dịch vụ nào, hay đi tới đâu hay không Ở đây tôi sẽ dùng khái niệm item để chỉ sản phẩm, thông tin hoặc dịch vụ được gợi ý cho người dùng Thông thường, một hệ thống gợi ý chỉ tập trung vào một loại item trong một lĩnh vực cụ thể nào đó (bản nhạc, sách, sản phẩm, địa điểm) Một trong những ứng dụng web rộng rãi về hệ gợi ý ta thường xuyên bắt gặp đó là Amazon (đối với các sản phẩm thương mại điện tử) hoặc hệ thống gợi ý địa điểm trên mạng xã hội (Foursquare, Facebook) Website này cung cấp cho mỗi khác hàng của nó gợi ý về sản phẩm dịch vụ mà nó cung cấp Hệ gợi ý là lĩnh vực chồng lên với lĩnh vực tìm kiếm
và ta có thể nhận thấy sự khác nhau cơ bản giữa hệ thống gợi ý và hệ thống tìm kiếm đó là: kết quả trả về của hệ thống gợi ý Hệ thống gợi ý giới hạn số lượng kết quả trả về cũng như quan tâm đến mối quan hệ giữa người dùng và tập kết quả đó Trong khi hệ thống tìm kiếm tại một thời điểm, với cùng một câu truy vấn đầu vào sẽ cho ra những kết quả giống nhau còn hệ thống gợi ý sẽ cho ra những kết quả khác nhau đối với từng người dùng khác nhau Về mặt cơ bản, hệ thống gợi ý cố gắng dự đoán tập các item có khả năng phù hợp với user dựa trên sở thích của bản thân họ Hệ thống gợi ý sẽ thu thập
dữ liệu người dùng nhằm phục vụ cho mục đích quan sát sở thích của người dùng Thông
Trang 23thương, sự quyết định của con người sẽ phụ thuộc vào tác động của người khác bởi vì con người luôn có hướng xu thế và tin vào đám đông Ví dụ chẳng hạn khi chúng ta lựa chọn một bộ film để xem Khi đó, chúng ta sẽ xem những ý kiến đánh giá và nhận xét của người khác về bộ film đí trước khi quyết định xem nó
Chúng tôi nhận thấy, hệ thống gợi ý đóng một vai trò quan trọng trong thực tế Nó giúp:
Tăng số lượng tới thăm (đối với địa điểm), tăng số lượng sản phẩm bán ra (đối với các sản phẩm trong các hệ thống thương mại điện tử)
Giúp người dùng khám phá thêm nhiều địa điểm, dịch vụ mới
Giúp thỏa mãn được nhu cầu của người dùng
Hiểu rõ hơn người dùng
Để xây dựng ứng dụng gợi ý, có rất nhiều giải pháp cho bài toán gợi ý như:
Gợi ý dựa trên lọc cộng tác
Một cách tổng quát, hệ thống gợi ý dựa trên kỹ thuật lọc cộng tác làm việc như sau: Đầu tiên hệ thống thu thập và duy trì thông tin về người sử dụng, thông tin này bao gồm
sở thích của người dùng trên một item cụ thể nào đó được biểu hiện qua điểm số (rate)
mà người dùng đánh giá cho item đó Các thông tin này sẽ được lưu trong tập riêng (user’s profile) Sau đó, hệ thống sẽ tính toán độ tương đồng giữa dựa vào sự tương đồng của các user’s profile này Từ đó sẽ đưa ra được sự gợi ý cho user đó
Trang 24Hình 10: Mô hình gợi ý dựa trên lọc kết hợp
Mô hình lọc cộng tác có thể dựa trên user hoặc dựa trên item Chúng ta có thể dựa vào lịch sử hành vi của người dùng và tính toán được độ tương tự giữa hai người dùng hoặc giữa hai item
Hình 11: Các mô hình trong phương pháp lọc kết hợp
Trang 25 Gợi ý dựa trên nội dung
Hệ thống gợi ý dựa trên nội dung tập trung vào tính chất của các item, sự tương tự của các item được xác định bằng sự tương tự của các thuộc tính của item đó Thông thường, một hồ sơ cá nhân của người dùng được tự động tạo lập thông qua phản hồi của người dùng và mô tả của họ về những item mà người đó thích Thông tin về hồ sơ người dùng được hệ thống thu thập và dùng để kiểm tra bằng cách so sánh với các đặc trưng của item Thông thường, nội dung của các item sẽ được tổ chức trong một bảng cơ sở dữ liệu, ở đó mỗi cột đại diện cho một đặc trưng của nội dung của các item Tùy vào lĩnh vực bài toán cụ thể, cột đó có thể chỉ là giá trị true hoặc false
Trong luận văn này, mục tiêu của tôi là là đưa ra các gợi ý các địa điểm cho người dùng theo cá nhân hóa (hoặc nói theo một cách khác là xếp hang các địa điểm theo từng
sở thích của người dùng) Nó cũng có thể được cọi là một bài toán gợi ý địa điểm dựa trên cá nhân hóa của người dùng
Ở phần trên, tôi đã giới thiệu tổng quan về bài toán xếp hạng và bài toán về hệ thống gợi ý mà mô hình xếp hạng rất cần thiết cho bài toán này Phần tiếp theo, tôi sẽ giới thiệu
về những thuật toán xếp hạng phổ biến trong mạng xã hội
2.3 Một số thuật toán xếp hạng
Hệ thống xếp hạng sẽ giúp chúng ta xếp hạng được các thông tin cần thiết, lựa chọn các thông tin quan trọng được đưa lên đầu Điều này giúp cho người dùng có thể chọn lựa thông tin nhanh và chính xác hơn Ở trong phần này, tôi sẽ giới thiệu một số hệ thống xếp hạng của các sản phẩm nối tiếng trên thế giới như Edge Rank (thuật toán xếp hạng newsfeed) của Facebook, TunkRank (thuật toán xếp hạng độ ảnh hưởng) trên Twitter, thuật toán PageRank, thuật toán HITS
Trang 262.3.1 Facebook’s Edge Rank
Trước khi bắt đầu giới thiệu về thuật toán Edge Rank của Facebook [13], tôi sẽ giới thiệu qua về mạng xã hội Facebook Từ đó, giúp cho ta hiểu rõ hơn việc cần thiết xây dựng một mô hình xếp hạng thông tin cho mạng xã hội này
Mạng xã hội Facebook [17] là một mạng xã hội lớn nhất thế giới, với số lượng người dùng tính tới năm 2014 là 1.4 tỷ người dùng Hình 12 là đồ thị mô tả sự phát triển của người dùng trên mạng xã hội này
Một số thống kê của facebook năm 2013:
Tổng số người sử dụng Facebook tính đến ngày 06/10/2013 là 1.2 tỉ người dùng
Tổng số người sử dụng Facebook hoạt động hàng tháng (monthly active users) là 1.19 tỷ
Tổng số người dùng Facebook hoạt động hằng ngày (daily active users) là 728 triệu người dùng
Tính riêng ở Mỹ, số người dùng hoạt động hằng ngày trên Facebook là 128 triệu (cập nhật lần cuối ngày 13/08/2013)
Số người dùng hoạt động mỗi ngày trên Facebook ở Vương Quốc Anh là 24 triệu (cập nhật lần cuối ngày 13/08/2013)
Số người dùng sử dụng Facebook ở Trung Quốc (mặc dù Trung Quốc còn chặn Facebook ngặt nghèo hơn cả ở Việt Nam) là 87 triệu (cập nhật lần cuối ngày 03/10/2013
Số lượng bạn bè trung bình trên Facebook của các bạn tuổi teen là 300 bạn (cập nhật lần cuối ngày 07/11/2013)
Mỗi ngày có khoảng 350 triệu hình ảnh được tải lên Facebook (cập nhật ngày 02/01/2013)
Trung bình, mỗi người dùng Facebook đã tải lên khoảng 217 hình ảnh (cập nhật ngày 17/09/2013)
Trang 27 Số lượng chia sẽ mỗi ngày trên Facebook là 4.75 tỉ lượt share (cập nhật ngày 17/09/2013)
Số lượng tin nhắn Facebook được gửi đi mỗi ngày là 10 tỉ tin nhắn (cập nhật ngày 17/09/2013)
Hình 12 : Sự phát triển người dùng trên Facebook
Với số lượng người dùng phát triển nhanh và cực lớn Trung bình mỗi người dùng
có khoảng 300 bạn bè trên mạng xã hội Thông tin được chia sẻ từ các bạn bè hàng ngày rất nhiều, Vậy các thông tin sẽ được xếp hạng như thế nào? Để người dùng có thể vừa xem được những tin mới nhất nhưng đó lại là những tin thực sự quan trọng và cần thiết
Facebook đã đưa ra thuật toàn EdgeRank nhằm giải quyết vấn đề này Dưới đây, tôi sẽ sẽ giới thiệu thuật toán EdgeRank của Facbook Mục địch của thuật toàn này là giúp xếp hạng các thông tin quan trọng trên news feed của của người dùng
Trang 28Hình 13: Công thức EdgeRank
Trong đó:
Affinity: Độ thân thiết giữa những người dùng
Độ thân thiết giữa người dùng được thể hiện bằng các mối quan hệ trên mạng xã hội như anh em, ông bà, bạn gái hay được thể hiện bằng những tương tác như bình luận (comment), thích (like), chia sẻ (share), đính (tag) giữa người dùng với nhau
Facebook sẽ xác định ưu tiên hiện thị trên News Feed của bạn những thông tin của những bạn bè có độ thân thiết cao
Weight : Trong số của các kiểu tương tác (Like, comment, share, report)
Tùy thuộc vào những tương tác của người dùng Người dùng tương tác càng nhiều với các đối tượng như fanpage, group càng nhiều, Facebook sẽ sắp xếp những thông tin của các đối tượng (fanpage, group) này theo một thứ tự ưu tiên
Time Decay : thời gian thông tin sau khi được tạo
Mỗi thông tin từ bạn bè, từ fanpage đều có chỉ số nóng hổi nhất định Nó giúp người dùng luôn nhận được các thông tin mới cũng như thông tin đó đang được ưu tiên là những thông tin quan trọng Vì vậy, Facebook đưa ra chỉ số time-decay giúp giải quyết vấn đề này Facebook sẽ hiện thị những thông tin mới nhất Các thông tin mới sẽ có điểm
số Time-Decay cao và ngược lại thông tin cũ sẽ có điểm số time-decay càng thấp
Hiện tại, Facbook đã cập nhật Edgerank 2.0 và có điều chỉnh thêm các chỉ số:
Last actor : Đưa ra top các tương tác gần nhất
Trang 29 Edge Weight : Trọng số tương tác
Story Bumping : Hiện thị những bài viết chưa xem
2.3.2 Twitter TunkRank
Cũng như mạng xã hội Facebook, Twitter [16] là một mạng xã hội nổi tiếng nhưng mạng xã hội này có một số đặc thù riêng nhất định như các thông tin được chia sẻ chỉ được tối đa 140 ký tự Và để giúp xếp hạng các thông tin cho từng người dùng cụ thể, twitter cũng phát triển thuật toán xếp hạng nhằm giải quyết vấn đề trên
Trước khi đi giới thiệu về thuật toán TunkRank [6]của Twitter, tôi sẽ giới thiệu qua nền tảng mảng xã hội này
Twitter là dịch vụ mạng xã hội miễn phí, nó cho phép người sử dụng đọc, nhắn tin
và cập nhật các mẩu tin nhỏ gọi là tweet Nó là một dạng tiểu blog Những mẩu tweet
được giới hạn tối đa 140 ký tự được lan truyền nhanh chóng trong phạm vi nhóm bạn của người nhắn hoặc có thể được phát triển rộng rãi cho mọi người Twitter thành lập từ năm 2006, nó đã trở thành một hiện tượng phố biến toàn cầu Những tweet có thể chỉ là dòng tin vặt cá nhân cho đến những cập nhật thời sự tại chỗ kịp thời và nhanh chóng hơn
cả truyền thông chính thống
Hiện tại, Twitter có 288 triệu người dùng hoạt động tháng Và mỗi ngày có khoảng
340 triệu tweets Với số lượng thông tin chia sẻ phát triển càng nhiều, người dùng khó
mà nhận được các thông tin hữu ích từ bạn bè hay những người họ quan tâm Để người dùng có thể tìm kiếm cũng như theodõi được các luồng thông tin hữu ích đó và tìm được người mà ảnh hưởng tới mình nhất Twitter đã xây dựng thuật toán TunkRank Là một công cụ xếp hạng độ ảnh hưởng của người dùng trên mạng xã hội Twitter
Dưới đây tôi sẽ giới thuật toán xếp hạng mà Twitter sử dụng cho việc xác định người ảnh hưởng trên mạng xã hội twitter Từ đó, xác định được người ảnh hưởng tới mình và giúp xếp hạng ưu tiên những thông tin mà những người này chia sẻ
Trang 30Hình 14: Thống kê số lượng tweets hàng ngày trên Twitter
Người dùng khi tham gia các mạng xã hội, mong muốn nhận được những thông tin hữu ích, kết nối với những người nổi tiếng Chúng ta có thể theo dõi các thông tin này bằng cách follow (hay subscribe) người mà mình quan tâm Nhưng chúng ta thường follow rất nhiều người dẫn tới việc khó theo dõi các luồng thông tin được chia sẻ và khó
có thể tìm được những thông tin hữu ích từ những luồng thông tin này
Twitter phát triển thuật toán TunkRank dựa trên những điểm quan sát:
Khi bạn follow (hay subscribe) một ai đó, là mong muốn nhận được và chú ý tới những thông tin người này chia sẻ Khi bạn follow càng nhiều, bạn càng nhận được nhiều thông tin chia sẻ hơn nhưng lại không lựa chọn được những thông tin thật sự hữu ích
Độ ảnh hưởng của bạn phụ thuộc vào những người follow bạn (hay còn gọi với thuật ngữ là follower) Và không phụ thuộc vào những người mà bạn follow (hay còn gọi với thuật ngữ là following) Ngoài ra, khi bạn chia sẻ các thông tin và
Trang 31những thông tin này được mọi người chú ý, điều này cũng ảnh hưởng tới độ ảnh hưởng của bạn trong mạng lưới bạn bè của bạn
Thuật toán TunkRank [6]:
Một số thừa nhận cho mô hình xếp hạng này:
Influence(X): Đo độ ảnh hưởng của người dùng X
Gọi Followers (Y) là ký hiệu tập người dùng follow Y Và Following(X) là ký hiệu tập người dùng mà X follow
Giả sử, X là một người follow Y thì xác xuất X đọc một tweet được chia sẻ bởi Y là 1/ |Following(X)|
Nếu X đọc một tweet từ Y, thì xác xuất retweet lại là pretweet và ta giả sử chúng ta
đã biết trước xác xuất này
Vậy độ ảnh hưởng của người dùng X được tính bởi công thức sau:
Từ công thức trên, chúng ta có thể xác định được những người dùng ảnh hưởng nhất
và xác định thông tin nào cần thiết tới cá nhân mỗi người dùng Từ đó, hệ thống sẽ xếp hạng các thông tin này, đưa các thông tin hợp lý tới từng người dùng cụ thể
Trang 32Ở phần tiếp theo, tôi sẽ giới thiệu một thuật toán phân tích liên kết giữa các trang web nhằm xác định được các nút quan trọng trong một mạng Từ đó, mô hình sếp hạng
có thể dựa vào những thông tin này sắp xếp các liên kết hợp lý
2.3.3 HITS (Hypertext Induced Topic Search)
Trong phần này, tôi mô tả ý tưởng chính của thuật toán HITS [7] Một thuật toàn mà trong luận văn này, người viết sẽ sử dụng thuật toán này cho việc xác định những chuyên gia trong một vùng các địa điểm
Thuật toán HITS là một thuật toán phân tích liên kết giữa các Web pages và được phát triển bởi giáo sư Jon Kleinberg Đây là một thuật toán xếp hạng phụ thuộc truy vấn tìm kiếm cho việc tìm kiếm thông tin trên web
Tính hạng của mỗi trang web được xác định hai trong số khác: authority và hub
Authority: là trọng số đánh giá những trang được xem là phù hợp nhất đối với mỗi câu truy vấn
Hub: là những trang không cần có đặc tính “authority” nhưng lại trỏ tới nhiều trang có đặc tính “authority”
Khi người dùng lựa chọn một truy vấn tìm kiếm, đầu tiên thuật toán HITS mở rộng danh sách các trang (page) liên quan được trả lại bởi công cụ search engine và thực hiện việc xếp hạng cho tập các trang được được mở rộng, xếp hạng authority và xếp hạng hub Với mỗi page trong tập đã được mở rộng, HITS phân chia chúng một điểm authority
và một điểm hub
Ở hình bên dưới, một authority là một trang web với nhiều in-links và một hub là một page có nhiều out-links Ý tưởng chính của HITS là một hub tốt liên kết tới nhiều authority tốt và một authority tốt sẽ được liên kết bởi nhiều hub tốt Các authority và hub
có mối quan hệ tăng cường hỗ trợ lẫn nhau Đặc biệt hơn, điểm authority của một page
là tổng của các điểm hub của các page mà nó liên kết tới Và điểm hub là sự kết hợp của các điểm authority của các page đã liên kết bởi nó Qua sử dụng các phương thức vòng lặp, các điểm authority và hub của mỗi trang sẽ được tính toán và cập nhât
Trang 33Hình 15: Graph biểu thị liên kết giữa các nút
Điểm mạnh chính của thuật toán HITS là xếp hạng các trang dựa trên truy vấn, điều này giúp đưa ra kết quả liên quan hơn Tuy nhiên, nhược điểm của HITS cần tính toán trực tuyến Nghĩa là, khi có yêu cầu truy vấn, thuật toán mới bắt đầu tính điểm Authority và Hub Chính vì thế kết quả trả về cho người dùng thường bị chậm
Mô hình tổng quan của thuật toán HITS bao gồm các bước như sau:
Tiền xử lý dữ liệu
Khởi tạo các vector Authority và Hub
Tính toán k vòng lặp (cập nhật và chuẩn hóa lại vector Authority và Hub)
Sau k vòng lặp, trả về kết quả vector Authority và Hub
Hình 16: Luồng xử lý của thuật toán HITS
Trang 34Tiếp theo, tôi sẽ giới thiệu mã giả thuật toán HITS dưa trên luồng xử lý trên:
Ở phần trên, người viết luận văn đã giới thiệu mô hình tổng quan của bài toán xếp hạng cũng như một số thuật toán xếp hạng cho các mạng xã hội Tiếp theo người viết luận văn
sẽ giới thiệu cơ sở lý thuyết được sử dụng trong luận văn này
2.4 Cơ sở lý thuyết
2.4.1 Định nghĩa về Entropy
Theo Wikipedia, Entropy thông tin [3] mô tả mức độ hỗn loạn trong một tín hiệu lấy
từ một sự kiện ngẫu nhiên Nói cách khác, entropy cũng chỉ ra có bao nhiêu thông tin trong tín hiệu, với thông tin là các phần không hỗn loạn ngẫu nhiên của tín hiệu
Ví dụ, nhìn vào một dòng chữ tiếng Việt, được mã hóa bởi các chữ cái, khoảng cách,
và dấu câu, tổng quát là các ký tự Dòng chữ có ý nghĩa sẽ không hiện ra một cách hoàn toàn hỗn loạn ngẫu nhiên; ví dụ như tần số xuất hiện của chữ cái x sẽ không giống với tần số xuất hiện của chữ cái phổ biến hơn là t Đồng thời, nếu dòng chữ vẫn đang được
Input: Một ma trận A có kích thước n × m và số lượng vòng lặp
Output: Điểm các vector Authority và hub x và y
Trang 35viết hay đang được truyền tải, khó có thể đoán trước được ký tự tiếp theo sẽ là gì, do đó
nó có mức độ ngẫu nhiên nhất định Entropy thông tin là một thang đo mức độ ngẫu nhiên này
Định nghĩa:
Claude E Shannon đã xây dựng định nghĩa về entropy để thoả mãn các giả định sau:
Entropy phải tỷ lệ thuận liên tục với các xác suất xuất hiện của các phần tử ngẫu nhiên trong tín hiệu Thay đổi nhỏ trong xác suất phải dẫn đến thay đổi nhỏ trong entropy
Nếu các phần tử ngẫu nhiên đều có xác suất xuất hiện bằng nhau, việc tăng số lượng phần tử ngẫu nhiên phải làm tăng entropy
Có thể tạo các chuỗi tín hiệu theo nhiều bước, và entropy tổng cộng phải bằng tổng
có trọng số của entropy của từng bước
Shannon cũng chỉ ra rằng bất cứ định nghĩa nào của entropy, cho một tín hiệu có thể nhận các giá trị rời rạc, thoả mãn các giả định của ông thì đều có dạng:
−𝐾 ∑ 𝑝(𝑖) log 𝑝(𝑖) (2.2)
𝑛
𝑖=1
Trong đó:
K là một hằng số, chỉ phụ thuộc vào đơn vị đo
n là tổng số các giá trị có thể nhận của tín hiệu
i là giá trị rời rạc thứ i
p(i) là xác suất xuất hiện của giá trị i
Trang 36Trong một vị trí, chúng ta thường có ba độ đo khác nhau: tần xuất (frequency), số lượng người dùng (user count hay unique visitor), entropy
Trang 37entropy thấp nếu phân phối số lượng tới thăm của người dùng sẽ tập trung ở một vài người dùng nhất định
Vậy Location Entropy là một độ đo về tính đa dạng của người thăm (visitor) duy nhất cho một vị trí (location)
Trước tiên, tôi định nghĩa một vài ký hiệu:
L: là một vị trí (location)
U: là một tập người dùng
Cho một người dùng 𝑢 ∈ 𝑈, cho Ou là một tập quan sát (có thể gọi là sự tới thăm) vị trí của user u và cho 𝑂 = ⋃𝑢∈𝑈𝑂𝑢 Môt sự quan sát 𝑜 ∈ 𝑂𝑢 là một bộ bốn bao gồm các thông tin về id, kinh độ, vĩ độ và thời gian
Xác xuất quan sát của người dùng u ở vị trí L được tính như sau:
𝑃𝐿(𝑢) =|𝑂𝑢,𝐿 |
|𝑂𝐿| (2.3)
Trong đó 𝑃𝐿(𝑢) là tỷ lệ của tất cả sự quan sát vị trí L của người dùng u
Định nghĩa: cho một vị trí L, tần xuất của vị trí được định nghĩa như sau Freq(L):=|OL| Số lượng user của vị trí này được định nghĩa như sau UV(L) := |UL| Vì vậy location entropy được định nghĩa như sau:
𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝐿) ≔ − ∑ 𝑃𝐿(𝑢) log 𝑃𝐿(𝑢)
𝑢𝜖𝑈𝐿
(2.4)
Trong luận văn này, lý thuyết location entropy được ứng dụng cho việc đo tính
đa dạng sở thích của người dùng (đánh giá mức độ mạnh yếu sở thích của người dùng ở mỗi cấp trong một cây sở thích) Từ đó hỗ trợ cho việc tính độ tương tự giữa những người dùng dựa theo sở thích
Từ những nhu cầu, cơ sở lý thuyết trên và tầm quan trọng của một hệ thống xếp hạng địa điểm cho các mạng dịch vụ địa điểm Phần cuối của chương này, tôi sẽ nêu ý tưởng phát triển hệ thống xếp hạng địa điểm cho các dịch vụ mạng xã hội đại điểm