SlideShare a Scribd company logo
1 of 29
Sinh viên: Bùi nguyễn tất thành
20102149 - IS1 – Việt nhật – K55
Giáo viên hướng dẫn: TS. Vũ tuyết Trình
Gợi ý địa điểm dựa trên
phân tích thói quen tương tác
của người dùng
Người dùng – Địa điểm
– Tương tác
Cinema 2 Museum 1
Coffee 3
Check-in
Cinema 2 -- 8:30
Coffee 3 -- 10:15
Museum 1 -- 11:00
Shopping 1 -- 11:45
Locations
User-LocationGraph
Users
Trajectories
• View
• Want to go
• Like
• Check-in
• Comment
Mục tiêu bài toán
Gợi ý địa điểm cho người dùng:
Cá nhân hóa gợi ý dựa trên
o Đặc điểm của người dùng
o Hành vi người dùng
o Sở thích và thói quen của người dùng
oVị trí của người dùng
o “Chất lương/độ tin cậy” của địa điểm
Cinema 2 Museum 1
Coffee 3
Nội dung trình bày
Đặt vấn đề
Mục đích
• Cách tiếp cận
• Xây dựng hệ thống
• Thực nghiệm
• Kết luận
Mô hình hóa đối tượng
Người dùng
Sex
Birthday
Relation
Job
Address
District
Province
Tương tác Mức quan tâm
Xem
(view)
1
Muốn đến
(wanttogo)
2
Thích
(like)
3
Đã đến
(check in)
4
Nhận xét
(comment)
5
Địa điểm
address
district
province
categories
openingTime
closingTime
minPrice
maxPrice
latitude
longitude
totalView
totalWantToGo
totalLike
totalCheckIn
totalComment
Vector người dùng
Vector địa điểm
Attribute district province age sex relation
Weight 0.25 0.225 0.2 0.175 0.15
Dimension district province lowerPrice upperPrice openingTime closingTime
Weight 0.225 0.175 0.175 0.175 0.125 0.125
Dimension totalView totalWanttogo totalLike totalCheckin totalComment
Weight 0.07 0.13 0.2 0.27 0.33
Vector thuộc tính địa điểm – thể hiện các đặc điểm của địa điểm
Vector tương tác địa điểm – thể hiện chất lượng địa điểm
Biểu diễn đối tượng bằng vector
Phát biểu bài toán
Input:
• user – profile
• Interactions
• Locations - profile
Processes Output:
• Các địa điểm được
gợi ý cho người dùng
Interactions
Phát biểu bài toán
Input:
• user – profile
• Interactions
• Locations - profile
Processes Output:
• Các địa điểm được
gợi ý cho người dùng
Interactions
Nội dung trình bày
Đặt vấn đề
Mục đích
Cách tiếp cận
• Xây dựng hệ thống
• Thực nghiệm
• Kết luận
Mô hình gợi ý
Pha 1 – Tổng quát hóa Pha 2 – Cá nhân hóa
Xác định tập người dùng tương tự
Attribute
Actual
Value
Standardized
Value
SEX
nam 100
nữ 0
AGE
0 ~ 15 0
16 ~ 23 35
23 ~ 35 60
> 35 100
…. …. …
o DISTANCE
Khoảng cách hai vector đặc điểm
o Chuẩn hóa dữ liệu
Đưa các thuộc tính về cùng đơn vị và miền giá trị
o ACTIVITY
+ Mức độ hoạt động tương tác.
+ Tính dựa trên lượng tương tác của người dùng.
Input:
• Người dùng U ( profile )
• Tập người dùng trong hệ thống
Output:
• Us : Danh sách người
dùng xếp theo độ tương
tự với U giảm dần
VD: Ba người dùng u và ( u1, u2 )
=> xác định u1 hoặc u2 giống u
 DISTANCE(u, u1) <~ DISTANCE(u, u2)
 ACTIVITY(u1) << ACTIVITY(u2)
Return u2
Attribute district province age sex relation
Weight 0.25 0.225 0.2 0.175 0.15
Bảng chuẩn hóa thuộc tính
Pha 1 (Tổng quát hóa)
 Sở thích (preference):
 Một nhóm người dùng có đặc điểm
tương tự cùng thích một hoặc một số
địa điểm giống nhau
 Thói quen (habit):
 Xuất hiện các cặp địa điểm (A, B)
thường được một nhóm người dùng
tương tác liền nhau (hoặc gần nhau)
Input:
• Tập US
• Tập địa điểm, tương tác
lịch sử của Us
Output:
• L1: Tập địa điểm
gợi ý cho tập US
Địa điểm tương tác cuối
Địa điểm gợi ý
B
B
Similar
B
Amount
Order by Time
Hidden Markov Model
LP
LH
L1
Mô hình Markov ẩn trong hệ thống
𝑷 𝑮ợ𝒊 ý 𝟏
= 𝑷 𝒔ở 𝒕𝒉í𝒄𝒉 ∗ 𝑷 𝒕𝒉ó𝒊 𝒒𝒖𝒆𝒏
oMột địa điểm được gợi ý cho tập
người dùng tương tự cần thỏa mãn hai
điều kiện:
Là địa điểm thuộc sở thích của
tập người dùng tương tự
Là địa điểm có thể được quan
tâm tiếp theo do thói quen của tập
người dùng.
Pha 1
Xác định tập địa điểm gợi ý cho tập US: L1
Xác định tập địa điểm sở thích
Input:
• n người dùng đầu tiên
của tập US
• Tập địa điểm, tương tác
lịch sử của Us
Output:
• LP: Tập địa điểm
sở thích của tập US
Most Similar
Amount Preference
Lọc cộng tác
(Collaborative filtering)
Pha 1
Xác định tập địa điểm thói quen
Input:
• Tập địa điểm tương tác
cuối của tập US
• Tập địa điểm, tương tác
lịch sử của Us
Output:
• LH: Tập địa điểm mà
tập US sẽ có thể tương
tác theo thói quen
Order by Time Habit
Địa điểm tương tác cuối
Địa điểm gợi ý
Pha 1
Pha 2 (Cá nhân hóa)
A
C
B
Loại địa điểm
quan tâm (%)
Input: L1
A
A
A
AA
A
A
A
A
Output:
• Tập địa điểm được cá nhân
hóa theo người dùng
Input:
• Lịch sử tương
tác của U
Input:
• A: Vị trị của U
Lọc địa điểm theo sở thích người dùng
Pha 2
A
C
B
Các loại địa điểm
quan tâm (%)
Input: L1
( 𝑷 𝑮ợ𝒊 ý 𝟏 )
A
A
A
A
Input:
• Lịch sử tương
tác của U
Lọc nội dung
(Content-based filtering)
𝑷 𝑮ợ𝒊 ý 𝟐 = 𝑷 𝑮ợ𝒊 ý 𝟏 + 𝑷 𝑮ợ𝒊 ý 𝟏 ∗ % 𝒒𝒖𝒂𝒏 𝒕â𝒎
Output:
• L2: tập các địa điểm sắp
xếp theo sở thích của U
Xác định địa điểm theo vị trí người dùng
A
C
B
A
A
A
AA
A
A
A
A
Output:
• L3: tập địa điểm tại A
Input:
• A: Vị trị của U
Input: L2
Ánh xạ:
LB -> LA
LC -> LA …
Độ tương tự : (địa điểm – địa điểm) :
• DISTANCE :
Khoảng cách giữa hai vector đặc điểm
• QUALITY :
+ Chênh lệch chất lượng hai địa điểm
+ Tính dựa trên lượng tương tác từ
người dùng tới địa điểm
SIMILARITY = DISTANCE * QUALITY_SUB
Pha 2
Tiền xử lý dữ liệu trước khi xử lý: chỉnh các giá trị
thuộc tính sai giá trị hoặc không có giá trị
Tạo cơ sở dữ liệu Neo4j: các node (người dùng và địa
điểm) – dễ dàng biểu diễn
Tạo các quan hệ giữa người dùng và đia điểm là các
tương tác
Tạo các quan hệ giữa người dùng, người dùng là
khoảng cách giữa các vector thuộc tính
Json
Elements
Standardizing
Data
Creating
Neo4J Nodes
Creating Neo4j Relationships
{User-Location}
Creating Neo4J
Relationships {User-User}
Read File
Neo4J
Database
Biểu diễn dữ liệu
trọng Neo4j
Khởi tạo cơ sở dữ liệu
Nội dung trình bày
Đặt vấn đề
Mục đích
Cách tiếp cận
Xây dựng hệ thống
• Thực nghiệm
• Kết luận
Thực hiện
Dữ liệu kiểm thử:
o Từ trang “foody.vn”
o Dữ liệu trong phạm vi Hà Nội
o User : 11550
o Location : 14993
Với mỗi địa điểm gợi ý L:
o Chi phí gợi ý : 10 điểm
Với mỗi địa điểm gợi ý L: 6 trường hợp đánh giá
o L là loại U thường tương tác nhất : 10 điềm
o L là loại U thường tương tác thứ hai : 7 điểm
o L là loại U đã tương tác : 5 điểm
o L là loại U thường tương tác nhất nhưng là địa điểm U đã tương tác : 3 điểm
o L là loại U đã tương tác nhưng là địa điểm U đã tương tác : 2 điểm
o L là loại U chưa từng tương tác : 0 điểm
Kết quả
 Kết quả chấp nhận được : 10, 7, 5
 Kết quả tệ : 3, 2
 Kết quả thất bại : 0
 4 gói dữ liệu: 100, 250, 500, 750 người dùng – địa điểm từ dữ lịch sử
tương tác + 40% ngẫu nhiên
 Chọn một người dùng bất kỳ, thực hiện gợi ý – lấy 10 địa điểm gợi ý
đầu tiên để xác định độ chính xác
Gói
(USER)
Số địa điểm /
số lần thực hiện
Kết quả
10 điểm
Kết quả
7 điểm
Kết quả
5 điểm
Kết quả
3 điểm
Kết quả
2 điểm
Kết quả
0 điểm
Tổng
điểm
Điểm chi
phí
100 100 / 10 38 21 12 2 1 26 595 1000
250 500 / 50 187 132 90 9 4 78 3279 5000
500 700 / 70 225 149 168 12 11 135 4191 7000
750 1000 / 100 291 219 255 44 37 154 5924 10000
Chấp nhận Tệ Thất bại
Gói 100 71% 3% 26%
Gói 250 81.8% 2.6% 15.6%
Gói 500 77.43% 3.29% 19.28%
Gói 750 76.5% 8.1% 15.4%
Sản phẩm
(Windows phone 8.1 )
 “Around You” : Gợi ý địa điểm phù hợp với người dùng
 “Best Locations” : Đưa ra các địa điểm dựa vào xếp hạng chất lượng địa điểm
 “Find Location” : Tìm địa điểm theo tên và xếp hạng theo chất lượng
Nội dung trình bày
Đặt vấn đề
Mục đích
Cách tiếp cận
Xây dựng hệ thống
Thực nghiệm
• Kết luận
Kết quả đạt được
Hiểu lý thuyết về hệ gợi ý: lọc tương tác, lọc nội dung và hệ thống lai
Hiểu lý thuyết về mô hình Markov ẩn
Hiểu lý thuyết cơ bản về dữ liệu đồ thị và cách sử dụng cơ sở dữ liệu Neo4j
Xây dựng được hệ gợi ý lai kết hợp lọc tương tác và lọc nội dung
Ứng dụng mô hình Markov ẩn trong xử lý, cụ thể là xử lý dữ liệu thời gian
Xây dựng thành công hệ gợi ý địa điểm với dữ liệu test đạt kết quả trung
bình: 50%
Lập trình cơ bản trên nền tảng di động windows phone 8.1
Các yêu cầu cơ bản đề ra được đáp ứng trong hệ thống.
Cải thiện, phát triển bài toàn
Tăng tính chính xác cho hệ thống bằng các giải pháp
o Phân tích ngôn ngữ tự nhiên cho các nhận xét của người dùng
o Điều chỉnh các tham số chuẩn hóa của hệ thống
o Đặt thuộc tính thời gian cho tất cả các tương tác của người dùng
Tăng hiệu năng cho hệ thống bằng các giải pháp
o Cải thiện khởi tạo mối quan hệ {user-user} khi xây dựng cơ sở dữ liệu bằng
việc khoanh vùng người dùng tương tự
o Áp dụng xử lý song song khi tính toán trong “pha tổng quát”
o Sử dụng cơ sở dữ liệu đệm để tăng tốc quá trình xử lý (Redis database)
CẢM ƠN THẦY CÔ VÀ CÁC BẠN
ĐÃ CHÚ Ý LẮNG NGHE!
Chất lượng của một địa điểm
interaction_point=
𝑡𝑦𝑝𝑒_𝑜𝑓_𝑖𝑛𝑡𝑒𝑟𝑎𝑐𝑡 𝑡𝑜𝑡𝑎𝑙∗𝑤𝑒𝑖𝑔ℎ𝑡
𝑡𝑦𝑝𝑒_𝑜𝑓_𝑖𝑛𝑡𝑒𝑟𝑎𝑐𝑡 𝑚𝑎𝑥_𝑜𝑓_𝑡𝑜𝑡𝑎𝑙∗𝑤𝑒𝑖𝑔ℎ𝑡
∗ 100%
𝒒𝒖𝒂𝒍𝒊𝒕𝒚 =
𝑞𝑢𝑎𝑙𝑖𝑡𝑦_𝑙𝑒𝑣𝑒𝑙∗interaction_point
1000 ∗max_interaction_point
*100%
𝒂𝒕𝒕𝒓𝒂𝒄𝒕𝒊𝒗𝒆𝒏𝐞𝐬_𝒍𝒆𝒗𝒆𝒍 =
𝑡𝑜𝑡𝑎𝑙𝑉𝑖𝑒𝑤
max_𝑡𝑜𝑡𝑎𝑙𝑉𝑖𝑒𝑤_𝑜𝑓_𝑐𝑎𝑡𝑒𝑔𝑜𝑟𝑦
∗ 100%
𝒊𝒏𝒕𝒆𝒓𝒂𝒄𝒕_𝒍𝒆𝒗𝒆𝒍 = (
𝑡𝑦𝑝𝑒_𝑜𝑓_𝑖𝑛𝑡𝑒𝑟𝑎𝑐𝑡𝑖𝑜𝑛
𝑡𝑜𝑡𝑎𝑙_𝑖𝑛𝑡𝑒𝑟𝑎𝑐𝑡𝑖𝑜𝑛
max_𝑡𝑜𝑡𝑎𝑙_𝑜𝑓_𝑐𝑎𝑡𝑒𝑔𝑜𝑟𝑦
) ∗ 100%
𝒊𝒏𝒕𝒆𝒓𝒆𝒔𝒕_𝒍𝒆𝒗𝒆𝒍 =
𝑡𝑜𝑡𝑎𝑙𝑊𝑎𝑛𝑡 ∗ 2 + 𝑡𝑜𝑡𝑎𝑙𝐿𝑖𝑘𝑒 ∗ 3 + 𝑡𝑜𝑡𝑎𝑙𝑐ℎ𝑒𝑘𝑖𝑛 ∗ 4 + 𝑡𝑜𝑡𝑎𝑙𝑐𝑜𝑚𝑚𝑒𝑡𝑛 ∗ 5
4 ∗ (𝑡𝑜𝑡𝑎𝑙𝑉𝑖𝑒𝑤 ∗ 1)
∗ 100%
𝒒𝒖𝒂𝒍𝒊𝒕𝒚_𝒍𝒆𝒗𝒆𝒍 =
𝑎𝑡𝑡𝑟𝑎𝑐𝑡𝑖𝑣𝑒𝑛𝑒𝑠𝑠𝑙𝑒𝑣𝑒𝑙 + 𝑖𝑛𝑡𝑒𝑟𝑎𝑐𝑡𝑙𝑒𝑣𝑒𝑙
5
∗ 𝑖𝑛𝑡𝑒𝑟𝑒𝑠𝑡_𝑙𝑒𝑣𝑒𝑙
if (distance1 < distance2) {
if (distance1*6 > distance2*5) {
if (activity1*3 < activity2*2) {
result = 1;
} else return = -1;
} else return = -1;
}
if (distance1 > distance2) {
if (distance1*5 < distance2*6) {
if (activity1*2 > activity2*3) {
result = -1;
} else return = 1;
} else return = 1;
}
if (distance1 == distance2) {
if (activity1 < activity2) return = 1;
if (activity1 > activity2) return = -1;
if (activity1 == activity2) return = 0;
}
3 địa điểm (u1, u2, u)
chọn u1 hoặc u2 tương tự u hơn
So sánh 2 cặp (u1, u) – (u2, u)
• return 1 : u2 tương tự u hơn u1
• return -1 : u1 tương tự u hơn u2
• return 0 : u1, u2 cùng độ tương tự với u
So sánh độ tương tự giữa
{người dùng – người dùng}

More Related Content

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Location recommender system

  • 1. Sinh viên: Bùi nguyễn tất thành 20102149 - IS1 – Việt nhật – K55 Giáo viên hướng dẫn: TS. Vũ tuyết Trình Gợi ý địa điểm dựa trên phân tích thói quen tương tác của người dùng
  • 2. Người dùng – Địa điểm – Tương tác Cinema 2 Museum 1 Coffee 3 Check-in Cinema 2 -- 8:30 Coffee 3 -- 10:15 Museum 1 -- 11:00 Shopping 1 -- 11:45 Locations User-LocationGraph Users Trajectories • View • Want to go • Like • Check-in • Comment
  • 3. Mục tiêu bài toán Gợi ý địa điểm cho người dùng: Cá nhân hóa gợi ý dựa trên o Đặc điểm của người dùng o Hành vi người dùng o Sở thích và thói quen của người dùng oVị trí của người dùng o “Chất lương/độ tin cậy” của địa điểm Cinema 2 Museum 1 Coffee 3
  • 4. Nội dung trình bày Đặt vấn đề Mục đích • Cách tiếp cận • Xây dựng hệ thống • Thực nghiệm • Kết luận
  • 5. Mô hình hóa đối tượng Người dùng Sex Birthday Relation Job Address District Province Tương tác Mức quan tâm Xem (view) 1 Muốn đến (wanttogo) 2 Thích (like) 3 Đã đến (check in) 4 Nhận xét (comment) 5 Địa điểm address district province categories openingTime closingTime minPrice maxPrice latitude longitude totalView totalWantToGo totalLike totalCheckIn totalComment
  • 6. Vector người dùng Vector địa điểm Attribute district province age sex relation Weight 0.25 0.225 0.2 0.175 0.15 Dimension district province lowerPrice upperPrice openingTime closingTime Weight 0.225 0.175 0.175 0.175 0.125 0.125 Dimension totalView totalWanttogo totalLike totalCheckin totalComment Weight 0.07 0.13 0.2 0.27 0.33 Vector thuộc tính địa điểm – thể hiện các đặc điểm của địa điểm Vector tương tác địa điểm – thể hiện chất lượng địa điểm Biểu diễn đối tượng bằng vector
  • 7. Phát biểu bài toán Input: • user – profile • Interactions • Locations - profile Processes Output: • Các địa điểm được gợi ý cho người dùng Interactions
  • 8. Phát biểu bài toán Input: • user – profile • Interactions • Locations - profile Processes Output: • Các địa điểm được gợi ý cho người dùng Interactions
  • 9. Nội dung trình bày Đặt vấn đề Mục đích Cách tiếp cận • Xây dựng hệ thống • Thực nghiệm • Kết luận
  • 10. Mô hình gợi ý Pha 1 – Tổng quát hóa Pha 2 – Cá nhân hóa
  • 11. Xác định tập người dùng tương tự Attribute Actual Value Standardized Value SEX nam 100 nữ 0 AGE 0 ~ 15 0 16 ~ 23 35 23 ~ 35 60 > 35 100 …. …. … o DISTANCE Khoảng cách hai vector đặc điểm o Chuẩn hóa dữ liệu Đưa các thuộc tính về cùng đơn vị và miền giá trị o ACTIVITY + Mức độ hoạt động tương tác. + Tính dựa trên lượng tương tác của người dùng. Input: • Người dùng U ( profile ) • Tập người dùng trong hệ thống Output: • Us : Danh sách người dùng xếp theo độ tương tự với U giảm dần VD: Ba người dùng u và ( u1, u2 ) => xác định u1 hoặc u2 giống u  DISTANCE(u, u1) <~ DISTANCE(u, u2)  ACTIVITY(u1) << ACTIVITY(u2) Return u2 Attribute district province age sex relation Weight 0.25 0.225 0.2 0.175 0.15 Bảng chuẩn hóa thuộc tính
  • 12. Pha 1 (Tổng quát hóa)  Sở thích (preference):  Một nhóm người dùng có đặc điểm tương tự cùng thích một hoặc một số địa điểm giống nhau  Thói quen (habit):  Xuất hiện các cặp địa điểm (A, B) thường được một nhóm người dùng tương tác liền nhau (hoặc gần nhau) Input: • Tập US • Tập địa điểm, tương tác lịch sử của Us Output: • L1: Tập địa điểm gợi ý cho tập US Địa điểm tương tác cuối Địa điểm gợi ý B B Similar B Amount Order by Time Hidden Markov Model LP LH L1
  • 13. Mô hình Markov ẩn trong hệ thống 𝑷 𝑮ợ𝒊 ý 𝟏 = 𝑷 𝒔ở 𝒕𝒉í𝒄𝒉 ∗ 𝑷 𝒕𝒉ó𝒊 𝒒𝒖𝒆𝒏 oMột địa điểm được gợi ý cho tập người dùng tương tự cần thỏa mãn hai điều kiện: Là địa điểm thuộc sở thích của tập người dùng tương tự Là địa điểm có thể được quan tâm tiếp theo do thói quen của tập người dùng. Pha 1 Xác định tập địa điểm gợi ý cho tập US: L1
  • 14. Xác định tập địa điểm sở thích Input: • n người dùng đầu tiên của tập US • Tập địa điểm, tương tác lịch sử của Us Output: • LP: Tập địa điểm sở thích của tập US Most Similar Amount Preference Lọc cộng tác (Collaborative filtering) Pha 1
  • 15. Xác định tập địa điểm thói quen Input: • Tập địa điểm tương tác cuối của tập US • Tập địa điểm, tương tác lịch sử của Us Output: • LH: Tập địa điểm mà tập US sẽ có thể tương tác theo thói quen Order by Time Habit Địa điểm tương tác cuối Địa điểm gợi ý Pha 1
  • 16. Pha 2 (Cá nhân hóa) A C B Loại địa điểm quan tâm (%) Input: L1 A A A AA A A A A Output: • Tập địa điểm được cá nhân hóa theo người dùng Input: • Lịch sử tương tác của U Input: • A: Vị trị của U
  • 17. Lọc địa điểm theo sở thích người dùng Pha 2 A C B Các loại địa điểm quan tâm (%) Input: L1 ( 𝑷 𝑮ợ𝒊 ý 𝟏 ) A A A A Input: • Lịch sử tương tác của U Lọc nội dung (Content-based filtering) 𝑷 𝑮ợ𝒊 ý 𝟐 = 𝑷 𝑮ợ𝒊 ý 𝟏 + 𝑷 𝑮ợ𝒊 ý 𝟏 ∗ % 𝒒𝒖𝒂𝒏 𝒕â𝒎 Output: • L2: tập các địa điểm sắp xếp theo sở thích của U
  • 18. Xác định địa điểm theo vị trí người dùng A C B A A A AA A A A A Output: • L3: tập địa điểm tại A Input: • A: Vị trị của U Input: L2 Ánh xạ: LB -> LA LC -> LA … Độ tương tự : (địa điểm – địa điểm) : • DISTANCE : Khoảng cách giữa hai vector đặc điểm • QUALITY : + Chênh lệch chất lượng hai địa điểm + Tính dựa trên lượng tương tác từ người dùng tới địa điểm SIMILARITY = DISTANCE * QUALITY_SUB Pha 2
  • 19. Tiền xử lý dữ liệu trước khi xử lý: chỉnh các giá trị thuộc tính sai giá trị hoặc không có giá trị Tạo cơ sở dữ liệu Neo4j: các node (người dùng và địa điểm) – dễ dàng biểu diễn Tạo các quan hệ giữa người dùng và đia điểm là các tương tác Tạo các quan hệ giữa người dùng, người dùng là khoảng cách giữa các vector thuộc tính Json Elements Standardizing Data Creating Neo4J Nodes Creating Neo4j Relationships {User-Location} Creating Neo4J Relationships {User-User} Read File Neo4J Database Biểu diễn dữ liệu trọng Neo4j Khởi tạo cơ sở dữ liệu
  • 20. Nội dung trình bày Đặt vấn đề Mục đích Cách tiếp cận Xây dựng hệ thống • Thực nghiệm • Kết luận
  • 21. Thực hiện Dữ liệu kiểm thử: o Từ trang “foody.vn” o Dữ liệu trong phạm vi Hà Nội o User : 11550 o Location : 14993 Với mỗi địa điểm gợi ý L: o Chi phí gợi ý : 10 điểm Với mỗi địa điểm gợi ý L: 6 trường hợp đánh giá o L là loại U thường tương tác nhất : 10 điềm o L là loại U thường tương tác thứ hai : 7 điểm o L là loại U đã tương tác : 5 điểm o L là loại U thường tương tác nhất nhưng là địa điểm U đã tương tác : 3 điểm o L là loại U đã tương tác nhưng là địa điểm U đã tương tác : 2 điểm o L là loại U chưa từng tương tác : 0 điểm
  • 22. Kết quả  Kết quả chấp nhận được : 10, 7, 5  Kết quả tệ : 3, 2  Kết quả thất bại : 0  4 gói dữ liệu: 100, 250, 500, 750 người dùng – địa điểm từ dữ lịch sử tương tác + 40% ngẫu nhiên  Chọn một người dùng bất kỳ, thực hiện gợi ý – lấy 10 địa điểm gợi ý đầu tiên để xác định độ chính xác Gói (USER) Số địa điểm / số lần thực hiện Kết quả 10 điểm Kết quả 7 điểm Kết quả 5 điểm Kết quả 3 điểm Kết quả 2 điểm Kết quả 0 điểm Tổng điểm Điểm chi phí 100 100 / 10 38 21 12 2 1 26 595 1000 250 500 / 50 187 132 90 9 4 78 3279 5000 500 700 / 70 225 149 168 12 11 135 4191 7000 750 1000 / 100 291 219 255 44 37 154 5924 10000 Chấp nhận Tệ Thất bại Gói 100 71% 3% 26% Gói 250 81.8% 2.6% 15.6% Gói 500 77.43% 3.29% 19.28% Gói 750 76.5% 8.1% 15.4%
  • 23. Sản phẩm (Windows phone 8.1 )  “Around You” : Gợi ý địa điểm phù hợp với người dùng  “Best Locations” : Đưa ra các địa điểm dựa vào xếp hạng chất lượng địa điểm  “Find Location” : Tìm địa điểm theo tên và xếp hạng theo chất lượng
  • 24. Nội dung trình bày Đặt vấn đề Mục đích Cách tiếp cận Xây dựng hệ thống Thực nghiệm • Kết luận
  • 25. Kết quả đạt được Hiểu lý thuyết về hệ gợi ý: lọc tương tác, lọc nội dung và hệ thống lai Hiểu lý thuyết về mô hình Markov ẩn Hiểu lý thuyết cơ bản về dữ liệu đồ thị và cách sử dụng cơ sở dữ liệu Neo4j Xây dựng được hệ gợi ý lai kết hợp lọc tương tác và lọc nội dung Ứng dụng mô hình Markov ẩn trong xử lý, cụ thể là xử lý dữ liệu thời gian Xây dựng thành công hệ gợi ý địa điểm với dữ liệu test đạt kết quả trung bình: 50% Lập trình cơ bản trên nền tảng di động windows phone 8.1 Các yêu cầu cơ bản đề ra được đáp ứng trong hệ thống.
  • 26. Cải thiện, phát triển bài toàn Tăng tính chính xác cho hệ thống bằng các giải pháp o Phân tích ngôn ngữ tự nhiên cho các nhận xét của người dùng o Điều chỉnh các tham số chuẩn hóa của hệ thống o Đặt thuộc tính thời gian cho tất cả các tương tác của người dùng Tăng hiệu năng cho hệ thống bằng các giải pháp o Cải thiện khởi tạo mối quan hệ {user-user} khi xây dựng cơ sở dữ liệu bằng việc khoanh vùng người dùng tương tự o Áp dụng xử lý song song khi tính toán trong “pha tổng quát” o Sử dụng cơ sở dữ liệu đệm để tăng tốc quá trình xử lý (Redis database)
  • 27. CẢM ƠN THẦY CÔ VÀ CÁC BẠN ĐÃ CHÚ Ý LẮNG NGHE!
  • 28. Chất lượng của một địa điểm interaction_point= 𝑡𝑦𝑝𝑒_𝑜𝑓_𝑖𝑛𝑡𝑒𝑟𝑎𝑐𝑡 𝑡𝑜𝑡𝑎𝑙∗𝑤𝑒𝑖𝑔ℎ𝑡 𝑡𝑦𝑝𝑒_𝑜𝑓_𝑖𝑛𝑡𝑒𝑟𝑎𝑐𝑡 𝑚𝑎𝑥_𝑜𝑓_𝑡𝑜𝑡𝑎𝑙∗𝑤𝑒𝑖𝑔ℎ𝑡 ∗ 100% 𝒒𝒖𝒂𝒍𝒊𝒕𝒚 = 𝑞𝑢𝑎𝑙𝑖𝑡𝑦_𝑙𝑒𝑣𝑒𝑙∗interaction_point 1000 ∗max_interaction_point *100% 𝒂𝒕𝒕𝒓𝒂𝒄𝒕𝒊𝒗𝒆𝒏𝐞𝐬_𝒍𝒆𝒗𝒆𝒍 = 𝑡𝑜𝑡𝑎𝑙𝑉𝑖𝑒𝑤 max_𝑡𝑜𝑡𝑎𝑙𝑉𝑖𝑒𝑤_𝑜𝑓_𝑐𝑎𝑡𝑒𝑔𝑜𝑟𝑦 ∗ 100% 𝒊𝒏𝒕𝒆𝒓𝒂𝒄𝒕_𝒍𝒆𝒗𝒆𝒍 = ( 𝑡𝑦𝑝𝑒_𝑜𝑓_𝑖𝑛𝑡𝑒𝑟𝑎𝑐𝑡𝑖𝑜𝑛 𝑡𝑜𝑡𝑎𝑙_𝑖𝑛𝑡𝑒𝑟𝑎𝑐𝑡𝑖𝑜𝑛 max_𝑡𝑜𝑡𝑎𝑙_𝑜𝑓_𝑐𝑎𝑡𝑒𝑔𝑜𝑟𝑦 ) ∗ 100% 𝒊𝒏𝒕𝒆𝒓𝒆𝒔𝒕_𝒍𝒆𝒗𝒆𝒍 = 𝑡𝑜𝑡𝑎𝑙𝑊𝑎𝑛𝑡 ∗ 2 + 𝑡𝑜𝑡𝑎𝑙𝐿𝑖𝑘𝑒 ∗ 3 + 𝑡𝑜𝑡𝑎𝑙𝑐ℎ𝑒𝑘𝑖𝑛 ∗ 4 + 𝑡𝑜𝑡𝑎𝑙𝑐𝑜𝑚𝑚𝑒𝑡𝑛 ∗ 5 4 ∗ (𝑡𝑜𝑡𝑎𝑙𝑉𝑖𝑒𝑤 ∗ 1) ∗ 100% 𝒒𝒖𝒂𝒍𝒊𝒕𝒚_𝒍𝒆𝒗𝒆𝒍 = 𝑎𝑡𝑡𝑟𝑎𝑐𝑡𝑖𝑣𝑒𝑛𝑒𝑠𝑠𝑙𝑒𝑣𝑒𝑙 + 𝑖𝑛𝑡𝑒𝑟𝑎𝑐𝑡𝑙𝑒𝑣𝑒𝑙 5 ∗ 𝑖𝑛𝑡𝑒𝑟𝑒𝑠𝑡_𝑙𝑒𝑣𝑒𝑙
  • 29. if (distance1 < distance2) { if (distance1*6 > distance2*5) { if (activity1*3 < activity2*2) { result = 1; } else return = -1; } else return = -1; } if (distance1 > distance2) { if (distance1*5 < distance2*6) { if (activity1*2 > activity2*3) { result = -1; } else return = 1; } else return = 1; } if (distance1 == distance2) { if (activity1 < activity2) return = 1; if (activity1 > activity2) return = -1; if (activity1 == activity2) return = 0; } 3 địa điểm (u1, u2, u) chọn u1 hoặc u2 tương tự u hơn So sánh 2 cặp (u1, u) – (u2, u) • return 1 : u2 tương tự u hơn u1 • return -1 : u1 tương tự u hơn u2 • return 0 : u1, u2 cùng độ tương tự với u So sánh độ tương tự giữa {người dùng – người dùng}

Editor's Notes

  1. Nói về các hệ gợi ý thường thấy hiện nay (foody, lozi, địa điểm việt….) Định nghĩa các đối tượng – đặc điểm đối tượng hỗ trợ gì cho mục tiêu đồ án