Tải bản đầy đủ (.pdf) (74 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.87 MB, 74 trang )

Mụ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
Cơ sở lý thuyết ........................................................................................................ 34

2.4
2.4.1

Định nghĩa về Entropy ..................................................................................... 34

2.4.2

Location Entropy ............................................................................................. 36
Ý tưởng phát triển hệ thống xếp hạng địa điểm ........................................................ 38

2.5

Chương 3: Hệ thống xếp hạng địa điểm.................................................................................. 39
Kiến trúc hệ thống xếp hạng địa điểm ...................................................................... 39

3.1
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

Thuật toán và các mô hình sử dụng ......................................................................... 43

3.2
3.2.1

Trust-based collaborative filtering .................................................................... 43

3.2.2

Interest-based collaborative filtering................................................................. 45

3.2.3

Thuật toán lựa chọn ứng viên dựa trên sở thích ................................................ 46

01



3.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

02


Lờ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ĩ

03



Danh Mục Các Ký Hiệu, Các Chữ Viết Tắt
Ký Hiệu
HITS
TCF
ICF
LBS

Viết Tắt
Hypertext Induced Topic Search
Trust-based collaborative filtering
Interest-based collaborative filtering
Location Based Service

04


Danh 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 ........................................... 59
Bảng 2: Thông kê cây thể loại trong tập dữ liệu thực nghiệm ....................................... 59
Bảng 3: Kết quả đánh giá các mô hình .......................................................................... 63

05


Danh 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

06


PHẦ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.

07


Đề 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.

08


Sau đâ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.

09


Chươ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

10


như ă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

11


có 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

12



1.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.

13


 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.

14


 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.


15


Hì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-

16


in) 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.

17


Về 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”.

18



Hì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.

19


Chươ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

20


Hình 9: Mô hình xếp hạng chung
Trong mô hình này, Với tập tài liệu D = (d1, d2, d3, …., dn) và truy vẫn của người
dùng. Máy tìm kiếm sẽ tìm những tài liệu phù hợp với truy vấn của người dùng. Hệ thống
sẽ tự động xếp hạng các kết quả phù hợp nhất với câu truy vấn của người dùng hoặc có
thể kết hợp với những đặc điểm cá nhân của người dùng như độ tuổi, giới tính, sở thích
để 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.

21


Việ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

22


thươ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 đó.

23


Hì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

24


 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

25


×