BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP. HCM
---------------------------
NGUYỄN MINH KHÔI
HỆ THỐNG ĐỀ XUẤT ĐỊA ĐIỂM SỬ DỤNG
PHƯƠNG PHÁP LAI (HYBRID) TRÊN DỮ LIỆU
FOODY.VN
LUẬN VĂN THẠC SĨ
Chuyên ngành : Công nghệ Thông tin
Mã số ngành : 60480201
TP. HỒ CHÍ MINH, tháng 04 năm 2015
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP. HCM
---------------------------
NGUYỄN MINH KHÔI
HỆ THỐNG ĐỀ XUẤT ĐỊA ĐIỂM SỬ DỤNG
PHƯƠNG PHÁP LAI (HYBRID) TRÊN DỮ LIỆU
FOODY.VN
LUẬN VĂN THẠC SĨ
Chuyên ngành : Công nghệ Thông tin
Mã số ngành : 60480201
CÁN BỘ HƯỚNG DẪN KHOA HỌC: TS NGUYỄN THỊ THANH SANG
TP. HỒ CHÍ MINH, tháng 04 năm 2015
CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP. HCM
Cán bộ hướng dẫn khoa học : TS. Nguyễn Thị Thanh Sang
Luận văn Thạc sĩ được bảo vệ tại Trường Đại học Công nghệ TP. HCM ngày 11
tháng 04 năm 2015.
Thành phần Hội đồng đánh giá Luận văn Thạc sĩ gồm:
(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ Luận văn Thạc sĩ)
TT
Họ và tên
Chủ tịch Hội đồng
1
GS.TSKH. Hoàng Văn Kiếm
Chủ tịch
2
TS. Võ Đình Bảy
Phản biện 1
3
TS. Lư Nhật Vinh
Phản biện 2
4
PGS.TSKH. Nguyễn Xuân Huy
5
TS. Nguyễn Văn Mùi
Ủy viên
Ủy viên, Thư ký
Xác nhận của Chủ tịch Hội đồng đánh giá Luận sau khi Luận văn đã được sửa chữa
(nếu có).
Chủ tịch Hội đồng đánh giá LV
TRƯỜNG ĐH CÔNG NGHỆ TP. HCM
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
PHÒNG QLKH – ĐTSĐH
Độc lập – Tự do – Hạnh phúc
TP. HCM, ngày..11…tháng…04.. năm 2015
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: ...........NGUYỄN MINH KHÔI.........................Giới tính: ..Nam ...........
Ngày, tháng, năm sinh: 20-12-1987...............................................Nơi sinh:....Long An....
Chuyên ngành: .............Công nghệ thông tin.................................MSHV:1341860007....
I- Tên đề tài:
HỆ THỐNG ĐỀ XUẤT ĐỊA ĐIỂM SỬ DỤNG PHƯƠNG PHÁP LAI (HYBRID)
TRÊN DỮ LIỆU FOODY.VN ...........................................................................................
II- Nhiệm vụ và nội dung:
- Nghiên cứu và xây dựng Hệ thống đề xuất dựa trên kết hợp giữa đặc trưng của dữ
liệu địa điểm và đánh giá của người dùng và kết hợp với dữ liệu về địa lý để loại trừ các
kết quả không thực tế về mặt không gian.
+ Đưa ra kết quả đề xuất dựa vào đặc trưng của địa điểm.
+ Đưa ra kết quả dựa vào đánh giá của người dùng.
+ Kết hợp các kết quả trên và loại trừ các kết quả không phù hợp với vị trí
địa lý hiện tại của người dùng.
+ So sánh kết quả khi không có và có kết hợp với vị trí địa lý.
III- Ngày giao nhiệm vụ: 08-08-2014
IV- Ngày hoàn thành nhiệm vụ: 11-04-2014 ....................................................................
V- Cán bộ hướng dẫn: .........................................................................................................
……………TS NGUYỄN THỊ THANH SANG ................................................................
CÁN BỘ HƯỚNG DẪN
(Họ tên và chữ ký)
KHOA QUẢN LÝ CHUYÊN NGÀNH
(Họ tên và chữ ký)
i
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu, kết quả nêu
trong Luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác.
Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện Luận văn này
đã được cảm ơn và các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn gốc.
Học viên thực hiện Luận văn
(Ký và ghi rõ họ tên)
ii
LỜI CÁM ƠN
Lời cảm ơn chân thành chúng tôi xin gởi đến Ban Giám Hiệu, toàn thể cán bộ nhân viên,
giảng viên trường Đại Học HUTECH, Ban lãnh đạo Phòng Quản Lý Khoa Học và Đào Tạo
Sau Đại Học, khoa Công Nghệ Thông Tin đã tạo điều kiện thuận lợi cho chúng tôi học tập và
nghiên cứu trong suốt học trình cao học.
Chúng tôi xin chân thành tri ân đến các thầy cô đã trực tiếp động viên, hướng dẫn chúng
tôi trong suốt học trình: PGS.TS Lê Hoài Bắc, PGS.TS Nguyễn Xuân Huy, TS Nguyễn An
Khương, TS Nguyễn Chánh Thành, TS Nguyễn Thị Thanh Sang, TS Tân Hạnh, TS Nguyễn
Đình Thuân, TS Lê Mạnh Hải, TS Nguyễn Tuấn Đăng, TS Lư Nhật Vinh.
Với lòng tri ân sâu sắc, chúng tôi muốn nói lời cảm ơn chân thành đến cô TS Nguyễn
Thị Thanh Sang đã rất tận tụy và nghiêm túc hướng dẫn chúng tôi trong quá trình thực hiện
nghiên cứu này.
Cuối cùng nhưng cũng là một yếu tố quan trọng giúp chúng tôi hoàn thành nghiên cứu
này, đó là gia đình. Chúng tôi muốn nói lời tri ân chân thành đến mẹ, em chúng tôi đã động
viên và chia sẻ mọi hoàn cảnh với chúng tôi trong suốt học trình này.
Nguyễn Minh Khôi
iii
TÓM TẮT
Hiện nay Smart Phone ngày càng phổ biến. Các Smart Phone được tích hợp định vị
GPS. Với chức năng này kết hợp với ứng dụng mạng xã hội địa điểm người dùng có thể
chia sẻ những nơi mình biết hay đã tới. Trong số đó Foody.vn là mạng xã hội địa điểm lớn
nhất Việt Nam. Sau một thời gian phát triển, số lượng địa điểm được chia sẻ trên Foody.vn
trở nên quá nhiều làm cho người dùng bị quá tải. Cần thiết phải nghiên cứu Hệ thống đề
xuất (Recommender System - RS) có thể áp dụng trên dữ liệu địa điểm.
Trong bài toán đề xuất địa điểm cần phải kết hợp giữa đặc trưng của địa điểm, đánh
giá của người dùng và vị trí địa lý của địa điểm với vị trí của người dùng có khả năng tới.
Với những lý do trên tôi chọn đề tài: “Hệ thống đề xuất địa điểm sử dụng phương
pháp lai (Hybrid) trên dữ liệu Foody.vn”
Các yêu cầu cần thực hiện trong đề tài là: Nghiên cứu Hệ thống đề xuất dựa trên kết
hợp giữa đặc trưng của dữ liệu địa điểm, đánh giá của người dùng và vị trí địa lý để loại trừ
các kết quả không thực tế về mặt không gian.
- Cụ thể:
+ Đưa ra kết quả đề xuất dựa vào đặc trưng của địa điểm.
+ Đưa ra kết quả dựa vào đánh giá của người dùng.
+ Kết hợp các kết quả trên và loại trừ các kết quả không phù hợp với khu vực
địa lý mà người dùng hay đến.
+ So sánh kết quả khi không có và có kết hợp với khu vực địa lý.
iv
ABSTRACT
The Smart Phone technology is becoming more innovative. All Smart Phones now
contain a GPS tracking device. With this function and the ability to browse the World Wide
Web, a person can share their current as well as previous locations. Vide Web Foody.vn is
one of the most popular social network of attractions in Vietnam. After a period time of
Web development, the number of interesting locations shared on Foody.vn drastically
increases and overloads customers. Therefore, the RS needs to be used for attractive places
recommendation on Web, which can be utilized with the smart phone devices. The
concerning problem is how to effectively combine the recognition of locations, consumers’
reports, destinations, and user profiles for the best recommendation results.
With all reasons above, we decide to make the topic: "The places recommender
system using Hybric method on Foody.vn data."
The recommender system is proposed based on the features of places combined with
user ratings and geographic location in Foody.vn website. In particular, the objectives of
this thesis are listed as follows:
+ Giving the recommendation results based on the features of places
+ Giving the recommendation results based on the user ratings.
+ Combining all above results and eliminating unrealistic results with present
geographic location of users
+ Comparing and evaluating the experimental results.
v
MỤC LỤC
DANH MỤC CÁC THUẬT NGỮ VÀ CHỮ VIẾT TẮT .................................................. vii
DANH MỤC CÁC HÌNH .................................................................................................... ix
DANH MỤC CÁC BẢNG ................................................................................................... x
CHƯƠNG 1 MỞ ĐẦU ......................................................................................................... 1
1.1 Giới thiệu ..................................................................................................................... 1
1.2 Lý do chọn đề tài ......................................................................................................... 1
1.3 Mục tiêu của đề tài ....................................................................................................... 2
1.4 Đối tượng và phạm vi nghiên cứu ............................................................................... 3
1.5 Tổ chức của luận văn ................................................................................................... 3
CHƯƠNG 2 TỔNG QUAN VỀ HỆ THỐNG ĐỀ XUẤT ................................................... 5
2.1 Hệ thống đề xuất .......................................................................................................... 5
2.1.1 Khái niệm .............................................................................................................. 5
2.1.2 Phát biểu bài toán đề xuất ..................................................................................... 6
2.1.3 Nguồn dữ liệu sử dụng trong hệ thống đề xuất ..................................................... 6
2.1.4 Cách tiếp cận được dùng trong RS. ...................................................................... 7
2.2 Mô hình hệ thống đề xuất ............................................................................................ 9
2.3 Một vài hệ đề xuất nổi tiếng ........................................................................................ 9
2.4 Phương pháp lọc cộng tác .......................................................................................... 10
2.4.1 Giới thiệu: ........................................................................................................... 10
2.4.2 Phát biểu bài toán: ............................................................................................... 11
2.4.3 Các phương pháp lọc cộng tác: ........................................................................... 11
2.5 Phương pháp lọc dựa trên nội dung ........................................................................... 12
2.5.1 Giới thiệu............................................................................................................. 12
2.5.2 Phát biểu bài toán ................................................................................................ 14
2.5.3 Các phương pháp trong lọc theo nội dung .......................................................... 14
2.6 Phương pháp lai ......................................................................................................... 15
2.7 Đồ thị hai phía trong hệ thống đề xuất ...................................................................... 16
2.7.1 Đồ thị hai phía (Biparties Graph) ........................................................................ 16
vi
2.7.2 Tổng quan về tình hình nghiên cứu .................................................................... 16
2.7.3 Sử dụng đồ thị hai phía trong hệ thống đề xuất .................................................. 18
2.7.4 Phương pháp lọc theo nội dung sử dụng đồ thị kết hợp 2 đồ thị hai phía .......... 33
CHƯƠNG 3 HỆ THỐNG ĐỀ XUẤT ĐỊA ĐIỂM FOODY .............................................. 35
3.1 Mô hình hệ thống đề xuất cho FOODY .................................................................... 35
3.2 Chương trình Demo ................................................................................................... 36
3.3 Thu thập dữ liệu ......................................................................................................... 41
3.4 Cài đặt Lọc cộng tác .................................................................................................. 45
3.5 Cài đặt Lọc theo nội dung.......................................................................................... 48
3.6 Cài đặt Kết hợp .......................................................................................................... 49
3.7 Cài đặt bổ sung vị trí địa lý........................................................................................ 51
CHƯƠNG 4 THỰC NGHIỆM VÀ ĐÁNH GIÁ ................................................................ 56
4.1 Thực nghiệm .............................................................................................................. 56
4.1.1 Dữ liệu thực nghiệm............................................................................................ 56
4.1.2 Phương pháp đánh giá ......................................................................................... 56
4.1.3 So sánh và đánh giá thực nghiệm........................................................................ 56
4.2 Phân tích kết quả ........................................................................................................ 60
CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN..................................................... 62
5.1 Đánh giá kết quả đạt được ......................................................................................... 62
5.2 Hạn chế của đề tài ...................................................................................................... 63
5.3 Hướng phát triển ........................................................................................................ 64
TÀI LIỆU THAM KHẢO................................................................................................... 65
vii
DANH MỤC CÁC THUẬT NGỮ VÀ CHỮ VIẾT TẮT
Viết tắt
Tiếng Việt
Tiếng Anh
GPS
Hệ thống Định vị Toàn cầu
Global Positioning System
CF
Lọc cộng tác
Collaborative filtering
CBF
Lọc theo nội dung
Content based filtering
HF
Phương pháp lai
Hybrid filtering
IR
Hệ thống truy xuất thông tin
Information Retrieval
RS
Hệ thống đề xuất
Recommender System
Hybrid
Hệ thống lai
Hybrid Recommender Systems
Thông tin/nội dung
Content
Người dùng
User
Lọc cộng tác dựa vào bộ nhớ
CSQuery
Memory Based Collaborative
Filtering
Lọc cộng tác dựa vào mô
Model Based Collaborative
hình
Filtering
Đồ thị hai phía
Biparties Graph
Đánh dấu nơi đã tới
check-in
Thư viện lập trình trích xuất
CSS selector engine, HTML
dữ liệu web
parser, and jQuery
Xây dựng hồ sơ người dùng
User profile builder
Xem
Watch
Theo dõi
Subscribe
viii
Bình chọn
Vote
Lỗi xử lý đề xuất
Recommendation Core
Phương pháp lọc
Filtering
Xếp hạng
Ranking
Mã người dùng
User ID
Tên đăng nhập của người
dùng
User Name
Tên hiển thị của người dùng
Display Name
Sản phẩm
Products
Vĩ độ
Latitude
Kinh độ
Longitude
Lọc dựa vào người dùng
UserBased
Lọc dựa vào sản phẩm
ItemBased
ix
DANH MỤC CÁC HÌNH
Hình 2. 1: Hệ thống đề xuất .................................................................................................. 5
Hình 2. 2: Mô hình dữ liệu cho hệ thống đề xuất ................................................................. 7
Hình 2. 3: Sơ đồ các phương pháp trong hệ thống đề xuất ................................................... 8
Hình 2. 4: Mô hình hệ thống đề xuất .................................................................................... 9
Hình 2. 5: Minh họa Phương pháp lọc cộng tác ................................................................. 10
Hình 2. 6: Minh họa lọc theo nội dung ............................................................................... 13
Hình 2. 7: Mô hình đồ thị hai phía ...................................................................................... 16
Hình 2. 8: Ví dụ đồ thị hai phía .......................................................................................... 17
Hình 2. 9: Mô hình đồ thị hai phía chuyển đổi từ đồ thị đánh giá ...................................... 19
Hình 2. 10: Đồ thị hai phía trọng số dương ........................................................................ 20
Hình 2. 11: Đồ thị hai phía trọng số âm .............................................................................. 21
Hình 2. 12: Đồ thị hai phía sản phẩm và nội dung ............................................................. 33
Hình 2. 13: Mô hình đồ thị kết hợp..................................................................................... 34
Hình 3. 1: Mô hình hệ thống đề xuất cho FOODY ............................................................. 35
Hình 3. 2: Giao diện thành phần thu thập dữ liệu ............................................................... 36
Hình 3. 3: Danh sách tỉnh thành.......................................................................................... 36
Hình 3. 4: Tên địa điểm ...................................................................................................... 37
Hình 3. 5: Đánh giá của người dùng ................................................................................... 37
Hình 3. 6: Check-in của người dùng ................................................................................... 37
Hình 3. 7: Đặc trưng của địa điểm ...................................................................................... 38
Hình 3. 8: Giao diện thành phần tạo đề xuất....................................................................... 39
Hình 3. 9: Kết quả đề xuất cho người dùng chưa đăng nhập .............................................. 40
Hình 3. 10: Giao diện thành phần web hiển thị đề xuất...................................................... 40
Hình 3. 11: Dữ liệu thu thập ............................................................................................... 41
Hình 3. 12: Mô tả đề xuất trên dữ liệu check-in ................................................................. 52
Hình 4. 1: Biểu đồ so sánh độ chính xác............................................................................. 60
x
DANH MỤC CÁC BẢNG
Bảng 2. 1: Ví dụ ma trận đánh giá ...................................................................................... 11
Bảng 2. 2: Ví dụ ma trận trọng số của đồ thị hai phía [6]................................................... 16
Bảng 2. 3: Ma trận đánh giá ................................................................................................ 18
Bảng 2. 4: Ma trận biến đổi từ ma trận đánh giá ................................................................ 19
Bảng 2. 5: Ma trận đánh giá trọng số dương ...................................................................... 20
Bảng 2. 6: Ma trận đánh giá trọng số âm ............................................................................ 21
Bảng 2. 7: Tổng trọng số tất cả các đường đi trên đồ thị G+ .............................................. 22
Bảng 2. 8: Tổng trọng số tất cả các đường đi trên đồ thị G- ............................................... 24
Bảng 2. 9: Tổng trọng số tất cả các đường đi trên đồ thị G+ và G- không theo User ......... 26
Bảng 2. 10: Tổng trọng số tất cả các đường đi trên đồ thị G+ và G- theo User .................. 27
Bảng 2. 11: Ma trận sản phẩm nội dung ............................................................................. 33
Bảng 2. 12: Ma trận người dùng sản phẩm ......................................................................... 34
Bảng 3. 1: Trích 10 mẫu dữ liệu người dùng ...................................................................... 41
Bảng 3. 2: Trích 10 mẫu dữ liệu địa điểm .......................................................................... 42
Bảng 3. 3: Trích 10 mẫu dữ liệu đánh giá........................................................................... 43
Bảng 3. 4: Trích 10 mẫu dữ liệu đặc trưng địa điểm .......................................................... 44
Bảng 3. 5: Trích 10 mẫu dữ liệu check-in .......................................................................... 44
Bảng 3. 6: Trích dẫn 10 mẫu kết quả đề xuất trên dữ liệu đánh giá dương ........................ 45
Bảng 3. 7: Trích dẫn 10 mẫu kết quả đề xuất trên dữ liệu đánh giá âm ............................. 46
Bảng 3. 8: Đại số quan hệ truy vấn kết quả của lọc cộng tác ............................................. 46
Bảng 3. 9: Trích dẫn 10 mẫu kết quả đề xuất bằng phương pháp lọc cộng tác .................. 47
Bảng 3. 10: Đại số quan hệ truy vấn kết quả của lọc theo nội dung ................................... 48
Bảng 3. 11: Trích dẫn 10 mẫu kết quả tính trọng số địa điểm và đặc trưng ....................... 49
Bảng 3. 12: Đại số quan hệ truy vấn kết quả của lọc kết hợp ............................................. 49
Bảng 3. 13: Trích dẫn 10 mẫu kết quả kết hợp lọc cộng tác và lọc theo nội dung ............. 50
Bảng 3. 14: Đại số quan hệ truy vấn kết quả của lọc kết hợp có bổ sung kết quả lọc dựa
vào quan hệ check-in........................................................................................................... 53
Bảng 3. 15: Trích dẫn 10 mẫu kết quả phương pháp lai kết hợp với check-in ................... 54
xi
Bảng 4. 1: Thông số bộ dữ liệu đánh giá ............................................................................ 56
Bảng 4. 2: Danh sách 10 đề xuất có trọng số cao nhất cho người dùng mới ...................... 57
Bảng 4. 3: Chi tiết quá trình đánh giá ................................................................................. 57
Bảng 4. 4: So sánh độ chính xác ......................................................................................... 59
1
CHƯƠNG 1
MỞ ĐẦU
1.1 Giới thiệu
Hằng ngày một lượng lớn thông tin/nội dung được tạo ra. Chúng ta đang quá
tải bởi: Hàng ngàn bài báo tin tức và các bài blog mỗi ngày; Hàng triệu phim ảnh,
sách và các bài nhạc trực tuyến; Quá nhiều kênh truyền hình, hàng ngàn chương trình.
Tuy nhiên chúng ta thực sự chỉ cần một vài trong số chúng. Đặt ra vấn đề là nội dung
nào cần thiết, nội dung nào không hoặc xa hơn là nội dung nào sẽ cần thiết hơn nội
dung nào đối với một đối tượng người dùng (User) cụ thể. Để giải quyết vấn đề trên
cần nghiên cứu hệ thống hỗ trợ đưa ra gợi ý các nội dung mà có khả năng được người
dùng sử dụng nhất.
1.2 Lý do chọn đề tài
Foody.vn ứng dụng web và phần mềm di động mạng xã hội địa điểm có lượng
dữ liệu lớn nhất Việt Nam với hơn 70.000 địa điểm và 12.000.000 người sử dụng và
đang tiếp tục gia tăng về số lượng địa điểm và người dùng.
Mỗi ngày trên ứng dụng Foody.vn một lượng lớn đánh giá, địa điểm mới được
tạo ra một cách rời rạc. Đặt ra vấn đề về khai thác những dữ liệu rời rạc trên để cung
cấp những địa điểm phù hợp với sở thích, thói quen của từng người dùng cụ thể. Hệ
thống hỗ trợ đưa ra các gợi ý cho người dùng được gọi là Hệ thống đề xuất (RS) sẽ
giúp giải quyết vấn đề.
Một địa điểm khi đề xuất cho người dùng phải tính đến vị trí của nó so với vị
trí khu vực của người dùng thường hay đến nếu không sẽ dẫn đến những đề xuất mà
khoảng cách quá xa và người dùng không thể đến được. Do đó, trong bài toán đề xuất
phải kết hợp giữa đặc trưng của địa điểm, đánh giá của người dùng với vị trí địa lý
của khu vực địa điểm mà người dùng hay tới để đạt được kết quả tốt nhất.
2
Với những lý do trên tôi chọn đề tài: “Hệ thống đề xuất địa điểm sử dụng
phương pháp lai (Hybrid) trên dữ liệu Foody.vn”.
1.3 Mục tiêu của đề tài
Với những lý do nêu trên cần thiết nghiên cứu Hệ thống đề xuất dựa trên kết
hợp giữa đặc trưng của dữ liệu địa điểm và đánh giá của người dùng, và kết hợp với
dữ liệu về địa lý để hạn chế tối đa các kết quả không thực tế về mặt không gian,
khoảng cách.
Do hạn chế về kiến thức và thời gian chúng tôi chỉ đặt mục tiêu đạt được kết
quả đề xuất ở mức độ chính xác tối đa 5 số lẻ hàng thập phân của trọng số, lượng User
tối đa 1000 và bỏ qua vấn đề về thời gian xử lý của thuật toán.
Mục tiêu cụ thể:
+ Đưa ra kết quả dựa vào đánh giá của người dùng.
+ Đưa ra kết quả đề xuất dựa vào đặc trưng của địa điểm.
+ Kết hợp các kết quả trên và loại trừ các kết quả không phù hợp với
khu vực địa lý mà người dùng hay đến.
+ So sánh kết quả khi không có và có kết hợp với khu vực địa lý.
Để đạt được mục tiêu trên chúng tôi đề xuất mô hình đồ thị hai phía để xếp
hạng địa điểm theo trọng số. Trong phương pháp lọc cộng tác, chúng tôi xây dựng
mô hình đồ thị hai phía, một bên là người dùng một bên là địa điểm và tính trọng số
dựa vào mối quan hệ là dữ liệu đánh giá của người dùng với địa điểm. Trong phương
pháp lọc theo nội dung chúng tôi xây dựng mô hình đồ thị hai phía một bên là địa
điểm một bên là đặc trưng của địa điểm và tính trọng số dựa vào quan hệ này. Sử
dụng mối quan hệ check-in giữa một bên là người dùng một bên là địa điểm và xây
dựng mô hình hai phía tính trọng số dựa vào quan hệ này, để xếp hạng địa điểm gần
khu vực người dùng thường hay đến.
3
Những đóng góp của luận văn
Từ những mục tiêu trên qua quá trình tìm hiểu và nghiên cứu những kết quả
đóng góp chính của đề tài là:
- Nghiên cứu phương pháp lọc cộng tác, lọc theo nội dung, phương pháp lai để
xây dựng hệ thống đề xuất.
- Vận dụng kết quả nghiên cứu xây dựng hệ thống đề xuất sử dụng dữ liệu của
Việt Nam đem lại lợi ích thiết thực.
Ý nghĩa khoa học và thực tiễn
- Về mặt khoa học: Đề tài nghiên cứu phương pháp lọc cộng tác, phương pháp
lọc theo nội dung và phương pháp lai sử dụng mô hình đồ thị hai phía từ đó xây dựng
được hệ thống đề xuất.
- Về mặt thực tiễn: Đề tài ứng dụng kết quả nghiên cứu vào bộ dữ liệu địa điểm
FOODY của Việt Nam để xây dựng hệ thống đề xuất địa điểm, đem lại lợi ích thiết
thực cho người sử dụng.
1.4 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu luận văn gồm khái niệm về Hệ thống đề xuất, khái niệm
về Lọc cộng tác, Lọc theo nội dung, Lọc kết hợp, khái niệm về đồ thị hai phía, thuật
toán duyệt và tính trọng số tất cả các đường đi trong đồ thị hai phía.
Ứng dụng phương pháp lọc kết hợp áp dụng trên dữ liệu Foody.vn để xếp hạng
các địa điểm theo trọng số. Xếp hạng lại khi kết hợp với dữ liệu khoảng cách.
Sử dụng phép đo Precision để đánh giá kết quả thu được.
1.5 Tổ chức của luận văn
Luận văn có cấu trúc như sau:
• Chương 1 Mở đầu: Trình bày lý do chọn đề tài, nêu mục tiêu cần quan tâm
những đóng góp và tính ứng dụng vào thực tiễn, nêu rõ đối tượng và phạm vi nghiên
cứu. Sau cùng là cách tổ chức của luận văn.
4
• Chương 2 Tổng quan về hệ thống đề xuất: Trình bày tổng quan về hệ thống
đề xuất, trình bày mô hình của hệ thống đề xuất. Trình bày cơ sở lý thuyết và các công
trình nghiên cứu về hệ thống đề xuất Web. Trình bày phương pháp Lọc cộng tác sử
dụng mô hình đồ thị hai phía. Trình bày phương pháp Lọc theo nội dung sử dụng mô
hình đồ thị hai phía. Trình bày phương pháp Lai.
• Chương 3 Hệ thống đề xuất địa điểm FOODY: Trình bày xây dựng lọc
cộng tác với dữ liệu đánh giá FOODY. Trình bày lọc theo nội dung. Trình bày tổng
hợp kết quả của lọc cộng tác và lọc theo nội dung. Chương trình demo.
• Chương 4 Thực nghiệm và đánh giá kết quả đạt được: Trình bày các đánh
giá kết quả đạt được dựa vào các độ đo.
• Chương 5 Kết luận và hướng phát triển: Nhận xét kết quả đạt được của
đề tài. Đồng thời cũng đưa ra hướng phát triển trong tương lai.
5
CHƯƠNG 2
TỔNG QUAN VỀ HỆ THỐNG ĐỀ XUẤT
2.1 Hệ thống đề xuất
2.1.1 Khái niệm
Hệ thống đề xuất là một phân lớp của hệ thống lọc thông tin. Mục đích là để
cung cấp những gợi ý cho người dùng về một sản phẩm, dịch vụ nào đó trên Internet
như phim ảnh, âm nhạc, tin tức, sách, bài báo nghiên cứu, truy vấn tìm kiếm ...Cũng
có những hệ thống đề xuất cho các chuyên gia, nhà hàng, dịch vụ tài chính, bảo hiểm
nhân thọ… Một vài ứng dụng nổi tiếng về hệ thống đề xuất như: đề xuất sản phẩm
của Amazon.com, hệ đề xuất phim của NetFlix… Hệ thống đề xuất giúp giải quyết
được tình trạng quá tải thông tin. Hệ thống đề xuất là một trong những công cụ mạnh
mẽ và phổ biến trong thương mại điện tử.
Dữ liệu người
dùng
Hệ thống đề xuất
Kết quả đề
xuất
Người dùng
Hình 2. 1: Hệ thống đề xuất
Theo Adomavicius và Tuzhilin [5] bài toán đề xuất được coi là bài toán xếp
hạng các sản phẩm (phim, cd, nhà hàng …). Xếp hạng này thường dựa trên những
6
đánh giá đã có của chính người dùng đó hoặc những người dùng khác. Những sản
phẩm có hạng cao nhất sẽ được dùng để đề xuất.
2.1.2 Phát biểu bài toán đề xuất
Gọi U là tập tất cả người dùng (users); I là tập tất cả các đối tượng (items) đề
nghị. Tập I có thể rất lớn, từ hàng trăm ngàn (sách, cd…) đến hàng triệu (như website).
Hàm r (u, i) đo độ phù hợp (hay hạng) của đối tượng i với user u [11]:
r: U x I → R
Trong đó R là tập các đánh giá (rating) được sắp thứ tự. Với mỗi người dùng
u ∈ U, cần tìm đối tượng i ∈ I sao cho hàm r (u, i) đạt giá trị lớn nhất.
2.1.3 Nguồn dữ liệu sử dụng trong hệ thống đề xuất
+ Hành vi trong quá khứ của người dùng như đánh giá sản phẩm, mua sản
phẩm….
+ Hành vi trong quá khứ của những người dùng tương tự.
VD người dùng tương tự: Người dùng cùng đánh giá sản phần, cùng
mua sản phẩm…
+ Dựa vào nội dung.
Vd nội dung: Với film là thể loại film, diễn viên…Với sản phẩm như
quần áo thì kích cở, màu sắc…
7
+ Dựa vào tất cả các cách trên để đưa ra kết quả đề xuất.
Hình 2. 2: Mô hình dữ liệu cho hệ thống đề xuất
2.1.4 Cách tiếp cận được dùng trong RS.
Có nhiều cách tiếp cận [11], trong đó chủ đạo là:
+ Phương pháp lọc cộng tác - Collaborative Filtering: Khai thác
thông tin về những hoạt động trong quá khứ hoặc đánh giá của cộng đồng người dùng
để dự đoán những sản phẩm mà người dùng hiện tại có thể thích [8]. Hướng tiếp cận
này được sử dụng phổ biến hơn bởi sự đơn giản và không phụ thuộc vào nội dung đặc
trưng của sản phẩm mà người dùng đã đánh giá.
+ Phương pháp lọc dựa trên nội dung - Content Based Filtering:
Dựa vào nội dung của sản phẩm đưa ra những kết quả tư vấn là những sản phẩm có
8
nhiều đặc trưng tương tự với những sản phẩm mà họ đã thích trong quá khứ [9].
Hướng tiếp cận này thực hiện hiệu quả trên các đối tượng dữ liệu biểu diễn dưới dạng
văn bản nhưng rất khó thực hiện trên các dạng thông tin đa phương tiện (ví dụ: Phim,
nhạc, ảnh …). Bên cạnh đó nó còn phụ thuộc nhiều vào phương pháp trích xuất nội
dung đặc trưng của sản phẩm và đó cũng là một trong những hạn chế của phương
pháp.
+ Phương pháp lai – Hybrid Filtering: Một hướng giải quyết khác là
kết hợp lọc cộng tác với hướng tiếp cận dựa trên nội dung [10]. Tận dụng kết quả của
cả hai phương pháp giúp kết quả đề xuất chính xác hơn.
Hình 2. 3: Sơ đồ các phương pháp trong hệ thống đề xuất
9
2.2 Mô hình hệ thống đề xuất
Dưới đây là mô hình hệ thống đề xuất
Watch
Filtering
Subscribe
Final
Recommendations
Vote
Ranking
User behaviors
Recommendation Core
User Profile Builder
Hình 2. 4: Mô hình hệ thống đề xuất
- User profile builder: Khi người dùng đầu tiên đến với hệ thống đề xuất,
chúng ta sẽ xây dựng bộ hồ sơ người dùng của họ bao gồm các hành vi như: xem
(watch), theo dõi (đăng ký), bình chọn (vote)…
- Recommendation Core: Sau khi tạo danh sách hồ sơ của người dùng, chúng
ta sẽ sử dụng để phát sinh đề xuất bằng các phương pháp lọc (Filtering) sao đó xếp
hạng (Ranking) kết quả đề xuất để cung cấp cho người dùng những kết quả tốt nhất.
+ Filtering: Là thành phần quan trọng nhất của hệ thống đề xuất, phát
sinh kết quả đề xuất [4]
+ Ranking: Xếp hạng kết quả từ thành phần Filtering đưa qua.
2.3 Một vài hệ đề xuất nổi tiếng [12]
+ Phim / TV/ âm nhạc: Youtube, MovieLens, EachMovie, Morse, Firefly,
Flycasting, Ringo…
+ Tin tức / báo chí: Tapestry, GroupLens, Lotus Notes, Anatagonomy…
+ Sách / Tài liệu: Amazon.com, Foxtrot, InfoFinder…
10
+ Web: Phoaks, Gab, Fab, IfWeb, Let's Browse …
+ Nhà hàng: Adaptive Place Advisor, Polylens, Pocket restaurent finder…
+ Du lịch: Dietorecs, LifestyleFinder …
2.4 Phương pháp lọc cộng tác
2.4.1 Giới thiệu:
Phương pháp Lọc cộng tác tập hợp các đánh giá (điểm) của người dùng trên
các sản phẩm, nhận dạng sự tương đồng giữa các người dùng trên cơ sở các đánh giá
của họ và phát sinh ra những đề xuất mới cho người dùng.
Điểm
Đánh giá
Điểm
Cùng sở thích
Người dùng
Người dùng khác
Hình 2. 5: Minh họa Phương pháp lọc cộng tác
Trong phương pháp này, hệ thống thường xây dựng các ma trận đánh giá của
người dùng lên các đối tượng. Từ đó tính toán độ tương tự giữa những người dùng
này.