Tải bản đầy đủ (.docx) (52 trang)

Đồ án xây dựng ứng dụng bản đồ du lịch

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.53 MB, 52 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

ĐỒ ÁN 1

Xây dựng ứng dụng bản đồ du lịch

GV HƯỚNG DẪN: ThS. Huỳnh Hồ Thị Mộng Trinh
SV THỰC HIỆN: Nguyễn Văn Khơi - 20520999
Đồn Minh Lợi - 20521554

TP. HỒ CHÍ MINH, 2023


LỜI CẢM ƠN
Xin chân thành cảm ơn trường Đại học Công nghệ Thông tin ĐHQG TP.HCM, quý
Thầy, Cô Bộ môn đã tạo điều kiện và hỗ trợ chúng em trong q trình học tập mơn đồ
án 1 vừa qua. Nhờ sự đồng lòng và sự quan tâm của quý Thầy, Cơ, chúng em đã có
một mơi trường học tập thuận lợi và được trao dồi kiến thức một cách hiệu quả.
Chúng em xin chân thành cảm ơn Cô Huỳnh Thị Mộng Trinh, người đã dành thời gian
và tâm huyết để giảng dạy, giải đáp thắc mắc và hỗ trợ chúng em trong suốt thời gian
qua. Sự tận tâm và sự chỉ dẫn tận tình của Cơ đã giúp chúng em hiểu rõ hơn về nội
dung đồ án và phát triển đồ án một cách tốt nhất.
Cảm ơn các thành viên trong nhóm đã cống hiến và hồn thành xuất sắc công việc
được giao. Mặc dù công việc không dễ dàng và gặp nhiều khó khăn trong q trình
trao đổi ý kiến và thảo luận, nhưng mọi người luôn nỗ lực đóng góp ý kiến và hỗ trợ
lẫn nhau. Sự tích cực và tinh thần đồn kết của cả nhóm đã tạo nên thành công cuối
cùng của dự án.
Chúng em nhận thức rằng kiến thức mà nhóm tìm hiểu vẫn cịn hạn chế và dự án của
chúng em vẫn còn thiếu sót. Vì vậy chúng em rất mong nhận được sự góp ý chân


thành từ Cơ để chúng em có thể rút kinh nghiệm, nâng cao kiến thức và hoàn thiện đề
tài nghiên cứu của nhóm.
Một lần nữa, chúng em xin chân thành cảm ơn sâu sắc. Chúng em rất biết ơn và tự hào
vì đã có cơ hội được học tập và làm việc dưới sự hướng dẫn của cô Huỳnh Thị Mộng
Trinh. Mong rằng chúng em sẽ tiếp tục nhận được sự hỗ trợ và định hướng từ cô trong
tương lai.
Ngày 5 tháng 7 năm 2023 Thành phố Hồ Chí Minh
Trân trọng,
Nhóm sinh viên thực hiện

2|Page


MỤC LỤC
Chương 1: Mở đầu................................................................................................7
1.1Lý do chọn đề tài.............................................................................................7
1.2Mục tiêu và phạm vi nghiên cứu.....................................................................7
Chương 2: Tổng quan...........................................................................................8
2.1Phân tích hướng nghiên cứu của các tác giả liên quan đến đề tài...................8
2.1.1

Cơng nghệ bản đồ.......................................................................................8

2.1.2 Định vị........................................................................................................8
2.1.3 Tích hợp dữ liệu..........................................................................................8
2.1.4 Giao diện người dùng và Trải nghiệm người dung.....................................8

2.2Các vấn đề còn tồn tại.....................................................................................8
2.2.1


Độ tin cậy dữ liệu.......................................................................................8

2.2.2 Cung cấp thông tin chi tiết..........................................................................8
2.2.3 Tương tác người dung và đánh giá.............................................................8
2.2.4 Tích hợp cơng nghệ mới.............................................................................9
2.2.5 Giao diện người dung.................................................................................9

2.3Các vấn đề cần giải quyết................................................................................9
2.3.1 Thu thập và xử lý dữ liệu đáng tin cậy........................................................9
2.3.2 Cải thiện tính năng hiển thị thông tin..........................................................9
2.3.3 Quản lý đánh giá và phản hồi người dung..................................................9
2.3.4 Tích hợp cơng nghệ mới.............................................................................9
2.3.5 Thiết kế giao diện người dùng tương tác....................................................9

Chương 3: Nghiên cứu lý thuyết và thực nghiệm............................................10
3.1Lý thuyết về HTML......................................................................................10
3.1.1

Định nghĩa................................................................................................10

3.1.2

Cách thức mà HTML hoạt động...............................................................10

3.1.3

Ứng dụng..................................................................................................10

3.2Định dạng Website với CSS:........................................................................10
3.2.1


Định nghĩa................................................................................................10

3.2.2

Cách thức mà CSS hoạt động...................................................................10

3.2.3

Ứng dụng..................................................................................................11

3.3Lập trình Javascript:......................................................................................11
3.3.1

Định nghĩa................................................................................................11

3.3.2

Cách thức mà Javascript hoạt động...........................................................11

3|Page


3.3.3

Ứng dụng..................................................................................................11

3.4Sử dụng framework Bootstrap để phát triển website chuẩn responsive:......11
3.4.1


Định nghĩa................................................................................................11

3.4.2

Cách thức mà Bootstrap hoạt động...........................................................11

3.4.3

Ứng dụng..................................................................................................12

3.5Sử dụng Jquery để tối ưu hóa code và hỗ trợ làm hiệu ứng trong
javascript.......................................................................................................12
3.5.1

Định nghĩa................................................................................................12

3.5.2

Cách thức mà Jquery hoạt động................................................................12

3.5.3

Ứng dụng..................................................................................................12

3.6Sử dụng Leaflet hỗ trợ xây dựng các tính năng liên quan đến bản đồ định
tuyến..............................................................................................................12
3.6.1

Định nghĩa................................................................................................12


3.6.2

Cách thức mà Leaflet hoạt động...............................................................13

3.6.3

Ứng dụng..................................................................................................13

3.7Cơng thức Haversine.....................................................................................13
3.7.1

Định nghĩa................................................................................................13

3.7.2

Cách thức hoạt động.................................................................................13

3.7.3

Ứng dụng..................................................................................................14

3.8Thuật tốn tìm vùng bao...............................................................................14
3.8.1

Định nghĩa................................................................................................14

3.8.2

Cách thức hoạt động.................................................................................14


3.8.3

Ứng dụng..................................................................................................14

3.9Hệ thống gợi ý Recommender System..........................................................15
3.9.1

Khái niệm.................................................................................................15

3.9.2

Một số phương pháp trong hệ thống khuyến nghị.....................................16

3.9.3

So sánh Content-based và Collaborative Filtering....................................19

3.9.4

Các thành phần chính................................................................................19

3.10 ChatBox DialogFlow...............................................................................22
3.10.1 ChatBox DialogFlow................................................................................22
3.10.2 Quy trình hoạt động..................................................................................23

3.11 Khai thác ý kiến, đánh giá và tạo bản tóm tắt..........................................26
3.11.1 Giới thiệu hướng nghiên cứu....................................................................26
3.11.2 Phương pháp tiếp cận................................................................................26
3.11.3 Cơ sở lý thuyết..........................................................................................27


4|Page


3.11.4 Phương pháp khai thác ý kiến...................................................................27
3.11.5 Mơ hình nghiên cứu tổng quan.................................................................28
3.11.6 Thu thập dữ liệu........................................................................................29
3.11.7 Tiền xử lý dữ liệu......................................................................................30
3.11.8 Gán nhãn dữ liệu.......................................................................................30
3.11.9 Phương pháp biểu diễn văn bản................................................................30
3.11.10 Đánh giá mơ hình......................................................................................32

Chương 4: Kết quả.............................................................................................34
4.1Kết quả nghiên cứu đã tiến hành...................................................................34
4.1.1

Nghiên cứu về ChatBox............................................................................34

4.1.2

Khảo sát về DialogFlow............................................................................34

4.1.3

Tìm hiểu về thuật tốn recommendation system.......................................34

4.1.4

Nghiên cứu về khai thác ý kiến đánh giá và tạo bản tóm tắt.....................34

4.1.5


Xem xét các cơng trình nghiên cứu liên quan...........................................35

4.2 Sản phẩm phần mềm.......................................................................................36
4.1.6

Template Website.....................................................................................36

4.1.7

Các tính năng đề xuất cho Website...........................................................36

4.1.8

Các đối tượng sử dụng..............................................................................37

4.1.9

Giao diện phần cứng.................................................................................39

4.1.10 Usecase.....................................................................................................39
4.1.11 Sơ đồ ERD................................................................................................41
4.1.12 Đặc tả UseCase.........................................................................................41

Chương 5: Kết luận và hướng phát triển.........................................................50

5|Page


TĨM TẮT ĐỒ ÁN

Bài tốn nhóm đặt ra là xây dựng một nhóm các ứng dụng có liên quan đến nhau về
chủ đề “bản đồ du lịch”, ở mức đồ án 1 một nhóm sẽ tiến hành phân tích, thiết kế ứng
dụng web để hỗ trợ về vấn đề du lịch (dữ liệu giới hạn ở mức các quán nước trong
thành phố Hồ chí Minh), mục tiêu ở đồ án 1 là tạo ra một mạng xã hội du lịch trên
website, người dùng với vai trò là người dùng thường có thể khám phá các địa điểm du
lịch (các quán nước )ở quanh mình. Ngồi ra nhóm cịn tiến hành nghiên cứu và tìm
hiểu về khả năng xây dựng ứng dụng điện thoại có thể thay thế được một hướng dẫn
viên du lịch khi người dùng đến một địa điểm mới, về cơ bản ứng dụng sẽ hỗ trợ người
dùng như một ChatBox nhưng có khả năng nâng cao hơn trong việc xử lý các câu hỏi
của người dùng.
Tóm tắt về cơng nghệ sử dụng.
Xây dựng Front-end của Website nhóm sử dụng các công nghệ cơ bản như HTML,
CSS và Javascipts.
Về Phía Back-end nhóm sử dụng SQL server để chứa dữ liệu, Leaflet để xây dựng các
tính năng liên quan đến bản đồ và định tuyến,…. Ngồi ra nhóm cịn sử dụng NodeJS,
Express.
Tóm tắt về hướng thực hiện
Nghiên cứu các ứng dụng liên quan: Foody, Google Map, Tripadvisor, Yeld,
OpenTable....
Tiến hành xây dựng kế hoạch và hướng đi của dự án:
 Thu thập dữ liệu về các quán nước từ các Website.
 Xử lý bộ dữ liệu và xây dựng databases để tiến hành sử dụng.
 Đề xuất các tính năng cơ bản cho Website.
 Xây dựng Website để tạo ra một cộng đồng người dùng muốn tìm hiểu
về vấn đề du lịch, Website sẽ hỗ trợ các tính năng cơ bản để người dùng có
thể khám phá các địa điểm du lịch, ngồi ra cịn hỗ trợ một số người dùng
khác có thể đăng tải các địa điểm của họ lên (ví dụ các chủ qn có thể đăng
qn của mình lên trên các địa điểm du lịch).
 Nghiên cứu và tìm hiểu các cơng nghệ, thuật tốn, lý thuyết liên quan để
xây dựng Recommendation System.

Kết quả đạt được
 Hoàn thành được bộ dữ liệu về các quán nước ở trong khu vực thành phố
Hồ Chí Minh.
 Xây dựng được Website hỗ trợ cơ bản các tính năng đã đề xuất.
 Tìm hiểu được một số thuật tốn ứng dụng trong quá trình xây dựng
phần mềm.
 Tìm hiểu và nghiên cứu được nhiều lý thuyết, thuật toán ứng dụng cho
việc xây dựng Recommendation system.
 Xây dựng được nền tảng cơ bản để tiến hành thực hiện đồ án 2.

6|Page


Chương 1:

Mở đầu

Lý do chọn đề tài
Chúng tôi đã lựa chọn đề tài "xây dựng ứng dụng bản đồ du lịch" với một số lý do
đáng kể. Thứ nhất, ngành du lịch đang trở thành một ngành công nghiệp phát triển
mạnh, góp phần quan trọng vào nền kinh tế. Điều này đặt ra nhu cầu tạo ra một nền
tảng trực tuyến để người dùng du lịch có thể chia sẻ thơng tin, kinh nghiệm và đánh
giá, từ đó tăng cường sự tương tác và góp phần phát triển ngành du lịch. Thứ hai,
người dùng du lịch ngày càng muốn có được thơng tin chính xác và đánh giá đáng tin
cậy trước khi quyết định chọn địa điểm du lịch. Một website cộng đồng sẽ tạo ra một
không gian cho họ để chia sẻ kinh nghiệm, đánh giá và tìm hiểu từ những người khác.
Điều này giúp họ có những quyết định du lịch thông minh và tận hưởng những trải
nghiệm tuyệt vời.
Thứ ba, chúng tôi muốn đáp ứng nhu cầu của các chủ cửa hàng du lịch. Một website
cộng đồng sẽ là một cơng cụ hữu ích cho họ để tìm kiếm khách hàng và quảng bá dịch

vụ. Họ có thể hiển thị thông tin về sản phẩm và dịch vụ của mình, tương tác với khách
hàng tiềm năng và tạo ra cơ hội kinh doanh. Cuối cùng, chúng tôi mong muốn mang
đến cho người dùng du lịch những trải nghiệm mới mẻ và đa dạng. Thông qua việc
khám phá các địa điểm du lịch mới, không chỉ những địa điểm nổi tiếng, chúng tôi hy
vọng mở ra một thế giới du lịch đa sắc màu, nơi người dùng có thể khám phá văn hóa,
thiên nhiên và truyền thống độc đáo của từng địa phương.
Từ những lý do trên, chúng tôi đã quyết định thực hiện đề tài này với hy vọng góp
phần nâng cao trải nghiệm du lịch của mọi người, tạo ra một không gian tương tác và
chia sẻ thông tin giữa người dùng du lịch và các chủ cửa hàng.
1.1

1.2

Mục tiêu và phạm vi nghiên cứu
 Xây dựng bộ dữ liệu về các quán nước trong khu vực thành phố Hồ Chí
Minh
 Tìm hiểu cơng nghệ recommendation system cho người dùng: Nghiên
cứu và áp dụng các phương pháp và công nghệ gợi ý để xây dựng một hệ
thống giới thiệu địa điểm du lịch phù hợp với sở thích và nhu cầu của người
dùng. Mục tiêu là tìm hiểu cách hoạt động của các thuật tốn gợi ý, xây
dựng mơ hình dự đốn và cải tiến quy trình gợi ý để cung cấp những gợi ý
chính xác và hữu ích cho người dùng.
 Hiện thực hố định tuyến bản đồ: Nghiên cứu và phát triển một hệ thống
định tuyến bản đồ cho người dùng du lịch. Mục tiêu là xây dựng một công
cụ giúp người dùng lựa chọn và tìm đường đi tối ưu đến các địa điểm du
lịch. Hệ thống sẽ tích hợp thơng tin về khoảng cách, thời gian di chuyển, lưu
lượng giao thông và các yếu tố khác để đưa ra đường đi phù hợp và tiết
kiệm thời gian cho người dùng.
 Tối ưu hóa trải nghiệm người dùng: Mục tiêu cuối cùng là cải thiện trải
nghiệm người dùng khi sử dụng website bản đồ du lịch. Điều này bao gồm

cải tiến giao diện người dùng, tăng cường tính tương tác và đáp ứng nhanh
chóng các yêu cầu và phản hồi từ người dùng. Mục tiêu cuối cùng là mang
lại một trải nghiệm du lịch trực tuyến tốt nhất cho người dùng và tạo ra một
cộng đồng chia sẻ thông tin và kinh nghiệm du lịch sôi động.

7|Page


Chương 2:

Tổng quan

Phân tích hướng nghiên cứu của các tác giả liên quan đến đề tài
2.1.1 Công nghệ bản đồ
Công nghệ bản đồ là một yếu tố quan trọng trong việc xây dựng ứng dụng bản đồ quán
nước. Các công nghệ như Google Maps, OpenStreetMap và Mapbox đã cung cấp các
dịch vụ và giao diện lập trình ứng dụng (API) mạnh mẽ cho việc tích hợp bản đồ vào
ứng dụng. Tác giả có thể nghiên cứu và đánh giá khả năng sử dụng các cơng nghệ này,
tìm hiểu về tính năng, khả năng tùy chỉnh và độ chính xác của dữ liệu bản đồ.
2.1.2 Định vị
Đ nh v là một yếu tố quan trọng trong việc xây dựng ứng dụng bản đồ quán t yếu tố quan trọng trong việc xây dựng ứng dụng bản đồ quán u tố quan trọng trong việc xây dựng ứng dụng bản đồ quán quan trọng trong việc xây dựng ứng dụng bản đồ quán ng trong việc xây dựng ứng dụng bản đồ quán c xây dựng ứng dụng bản đồ quán ng ứng dụng bản đồ quán ng dụng bản đồ quán ng bản đồ quán n đồ quán quán
nư c. S dụng bản đồ quán ng công nghệc xây dựng ứng dụng bản đồ quán đ nh v như GPS (Global Positioning System), ứng dụng bản đồ quán ng dụng bản đồ quán ng
có th xác đ nh v trí hiệc xây dựng ứng dụng bản đồ quán n tại của người dùng trên bản đồ. Điều này cho phép i của người dùng trên bản đồ. Điều này cho phép a người dùng trên bản đồ. Điều này cho phép i dùng trên bản đồ quán n đồ quán . Điều này cho phép u này cho phép
người dùng trên bản đồ. Điều này cho phép i dùng dễ dàng tìm kiếm các quán nước trong khu vực xung quanh và nhận dàng tìm kiếu tố quan trọng trong việc xây dựng ứng dụng bản đồ quán m các quán nư c trong khu vựng ứng dụng bản đồ quán c xung quanh và nhận n
ch đười dùng trên bản đồ. Điều này cho phép ng đếu tố quan trọng trong việc xây dựng ứng dụng bản đồ quán n đ a đi m mong muố quan trọng trong việc xây dựng ứng dụng bản đồ quán n. Tác giản đồ quán có th nghiên cứng dụng bản đồ quán u vều này cho phép các phương ng
pháp đ nh v , đánh giá đột yếu tố quan trọng trong việc xây dựng ứng dụng bản đồ quán chính xác và khản đồ qn năng tương ng thích v i các cơng nghệc xây dựng ứng dụng bản đồ quán
bản đồ quán n đồ quán .
2.1.3 Tích hợp dữ liệu
Một yếu tố quan trọng trong việc xây dựng ứng dụng bản đồ quán t yếu tố quan trọng trong việc xây dựng ứng dụng bản đồ quán u tố quan trọng trong việc xây dựng ứng dụng bản đồ quán quan trọng trong việc xây dựng ứng dụng bản đồ quán ng trong xây dựng ứng dụng bản đồ quán ng ứng dụng bản đồ quán ng dụng bản đồ quán ng bản đồ quán n đồ quán quán nư c là tích hợp p
d liệc xây dựng ứng dụng bản đồ quán u quán nư c từ các nguồn khác nhau. Các tác giả có thể nghiên cứu về các các nguồ quán n khác nhau. Các tác giản đồ quán có th nghiên cứng dụng bản đồ quán u vều này cho phép các

nguồ quán n d liệc xây dựng ứng dụng bản đồ quán u có sẵn, bao gồm cơ sở dữ liệu công cộng, đánh giá của người dùngn, bao gồ quán m cơng sở dữ liệu công cộng, đánh giá của người dùng d liệc xây dựng ứng dụng bản đồ quán u công cột yếu tố quan trọng trong việc xây dựng ứng dụng bản đồ quán ng, đánh giá của người dùng trên bản đồ. Điều này cho phép a người dùng trên bản đồ. Điều này cho phép i dùng
và d liệc xây dựng ứng dụng bản đồ quán u đượp c tại của người dùng trên bản đồ. Điều này cho phép o bở dữ liệu công cộng, đánh giá của người dùngi người dùng trên bản đồ. Điều này cho phép i dùng. Đồ quán ng thời dùng trên bản đồ. Điều này cho phép i, tác giản đồ quán cũng cần đánh giá tính tin n đánh giá tính tin
cận y và đột yếu tố quan trọng trong việc xây dựng ứng dụng bản đồ quán tin cận y của người dùng trên bản đồ. Điều này cho phép a d liệc xây dựng ứng dụng bản đồ quán u đượp c tích hợp p vào ứng dụng bản đồ quán ng dụng bản đồ quán ng.
2.1.4 Giao diện người dùng và Trải nghiệm người dung
Tác giả có thể nghiên cứu về giao diện người dùng để tạo ra trải nghiệm tốt nhất cho
người dùng khi sử dụng ứng dụng bản đồ quán nước. Điều này bao gồm thiết kế giao
diện dễ sử dụng, tương tác trực quan và khả năng tương tác xã hội. Tác giả có thể tiến
hành các cuộc thử nghiệm người dùng để đánh giá trải nghiệm người dùng và nâng
cao giao diện người dùng.
2.2
Các vấn đề còn tồn tại
2.2.1 Độ tin cậy dữ liệu
Vấn đề đầu tiên là độ tin cậy của dữ liệu về quán nước được sử dụng trong ứng dụng.
Dữ liệu này bao gồm thông tin về địa điểm, đánh giá, đánh giá từ người dùng và các
chi tiết khác. Để đảm bảo tính chính xác và tin cậy của thơng tin, cần thiết phải có quy
trình kiểm tra và xác minh dữ liệu. Đồng thời, cần xem xét cách người dùng có thể
đóng góp thơng tin và cập nhật nó một cách dễ dàng và hiệu quả.
2.2.2 Cung cấp thông tin chi tiết
Một vấn đề quan trọng khác là cung cấp đủ thông tin chi tiết về các quán nước. Người
dùng mong muốn biết về menu, giá cả, đánh giá và các thông tin khác để có thể đưa ra
quyết định thơng minh. Do đó, cần thu thập và hiển thị các thơng tin này một cách đầy
đủ và rõ ràng. Điều này địi hỏi sự hợp tác từ phía các qn nước để cung cấp thông
tin, và đồng thời xây dựng quy trình xác minh và đảm bảo chất lượng thơng tin được
hiển thị trên ứng dụng.
2.1

8|Page


Tương tác người dung và đánh giá

Tương tác người dùng và đánh giá là một yếu tố quan trọng để cung cấp trải nghiệm
tốt cho người dùng. Tuy nhiên, việc quản lý đánh giá và bình luận địi hỏi sự cẩn thận
để đảm bảo tính trung thực và tin cậy của thông tin. Vấn đề phát sinh khi thông tin
đánh giá và bình luận khơng được kiểm sốt một cách cẩn thận, dẫn đến thơng tin
khơng chính xác hoặc thiên vị. Do đó, cần xây dựng một hệ thống quản lý đánh giá và
bình luận để đảm bảo tính trung thực và tin cậy của thơng tin.
2.2.4 Tích hợp cơng nghệ mới
Cơng nghệ định vị, trí tuệ nhân tạo và thực tế ảo đang phát triển nhanh chóng, và việc
tích hợp các công nghệ mới này vào ứng dụng bản đồ quán nước có thể cải thiện trải
nghiệm người dùng. Tuy nhiên, việc tích hợp và tận dụng các cơng nghệ này địi hỏi
kiến thức chun mơn và đầu tư về phát triển. Do đó, việc nghiên cứu và áp dụng các
công nghệ mới để nâng cao chất lượng và tính năng của ứng dụng là một vấn đề quan
trọng.
2.2.5 Giao diện người dung
Giao diện người dùng thân thiện và dễ sử dụng là yếu tố quan trọng để thu hút và giữ
chân người dùng. Thiết kế giao diện đồ họa, cách hiển thị thông tin và khả năng tương
tác sẽ ảnh hưởng đến trải nghiệm người dùng. Việc nghiên cứu và thử nghiệm giao
diện người dùng để tối ưu hóa trải nghiệm là một vấn đề cịn tồn tại trong xây dựng
ứng dụng bản đồ quán nước.
2.3
Các vấn đề cần giải quyết
2.3.1 Thu thập và xử lý dữ liệu đáng tin cậy
Để đảm bảo tính chính xác và tin cậy của dữ liệu về quán nước, cần nghiên cứu các
phương pháp thu thập dữ liệu đáng tin cậy từ các nguồn đáng tin cậy như các cơ quan
chính phủ, trang web chuyên về đánh giá quán nước hoặc đánh giá từ các nguồn đáng
tin cậy khác. Nghiên cứu cách xử lý và xác minh dữ liệu cũng là một yếu tố quan trọng
để đảm bảo tính chính xác của thơng tin hiển thị trên ứng dụng.
2.3.2 Cải thiện tính năng hiển thị thơng tin
Tính năng hiển thị thơng tin chi tiết về quán nước là một yếu tố quan trọng để người
dùng có thể đưa ra quyết định thơng minh. Nghiên cứu về cách cung cấp thông tin về

menu, giá cả, đánh giá, thực đơn đặc biệt và các thông tin khác một cách rõ ràng, dễ
hiểu và thu hút sẽ cải thiện trải nghiệm người dùng.
2.3.3 Quản lý đánh giá và phản hồi người dung
Tạo ra một hệ thống quản lý đánh giá và phản hồi người dùng là một yếu tố quan trọng
để đảm bảo tính trung thực và tin cậy của thông tin. Nghiên cứu về cách kiểm sốt và
quản lý đánh giá và bình luận từ người dùng, cùng với cơ chế xác minh thông tin và xử
lý khiếu nại, sẽ giúp duy trì chất lượng thơng tin và tạo lịng tin cho người dùng.
2.3.4 Tích hợp cơng nghệ mới
Nghiên cứu và áp dụng các cơng nghệ mới như định vị GPS nâng cao, trí tuệ nhân tạo,
thực tế ảo và gợi ý thông minh có thể mang lại trải nghiệm tốt hơn cho người dùng.
Nghiên cứu về cách tích hợp và tận dụng các cơng nghệ này để cải thiện tính năng và
hiệu suất của ứng dụng sẽ là một hướng đi quan trọng.
2.3.5
Thiết kế giao diện người dùng tương tác
Nghiên cứu về cách thiết kế giao diện người dùng thân thiện, trực quan và dễ sử dụng
sẽ đóng vai trị quan trọng trong việc thu hút và giữ chân người dùng. Tìm hiểu về
2.2.3

9|Page


cách sắp xếp thông tin, tạo hiệu ứng tương tác và cung cấp trải nghiệm người dùng tốt
hơn sẽ đem lại lợi ích cho ứng dụng bản đồ quán nước.

10 | P a g e


Chương 3:

Nghiên cứu lý thuyết và thực nghiệm


Lý thuyết về HTML
3.1.1 Định nghĩa
HTML viết tắt của Hypertext Markup Language là ngơn ngữ lập trình dùng để xây
3.1

dựng và cấu trúc lại các thành phần có trong Website.
Một Website thường chứa nhiều trang con và mỗi trang con này lại có một tập tin
HTML riêng.Lưu ý, HTML không phải là ngôn ngữ lập trình.Điều này có nghĩa là nó
khơng thể thực hiện các chức năng “động”.Hiểu một cách đơn giản hơn, cũng tương tự
như phần mềm Microsoft Word, HTML chỉ có tác dụng bố cục và định dạng trang web.

3.1.2 Cách thức mà HTML hoạt động
HTML document có đi file dạng .html hoặc htm.Bạn có thể xem chúng bằng các
trình duyệt web hiện hành như Google Chrome, Firefox, Safari,… Nhiệm vụ của trình
duyệt là đọc những file HTML này và “biến đổi” chúng thành một dạng nội dung visual
trên Internet sao cho người dùng có thể xem và hiểu được chúng.
Thơng thường, một Website sẽ có nhiều HTML document (ví dụ: trang chủ, trang
blog, trang liên hệ,…) và mỗi trang con như vậy sẽ có một tệp HTML riêng.Mỗi tài liệu
HTML bao gồm 1 bộ tag (hay cịn gọi là element).Nó tạo ra một cấu trúc tương tự như
cây thư mục với các heading, section, paragraph,… và một số khối nội dung khác.Hầu hết
tất cả các HTML element đều có một tag mở và một tag đóng với cấu trúc <tag></tag>.

3.1.3 Ứng dụng
HTML được sử dụng để tiến hành xây dựng khung xương của trang web, các bộ phận và
các thành phần có trong trang web như video, hình ảnh, icon, …..

Định dạng Website với CSS:
3.2.1 Định nghĩa
CSS là viết tắt của Cascading Style Sheets, là một ngôn ngữ thiết kế được sử dụng

3.2

nhằm mục đích đơn giản hóa q trình tạo nên một website.CSS được ra mắt vào năm
1996 bởi World Wide Web Consortium (W3C).

3.2.2 Cách thức mà CSS hoạt động
Thông thường, một đoạn CSS sẽ bao gồm các phần: vùng chọn {thuộc tính: giá trị;
thuộc tính: giá trị;…..} Đoạn CSS sẽ được khai báo bằng vùng chọn, các thuộc tính, giá trị
nằm trong dấu ngoặc nhọn.Mỗi thuộc tính là một giá trị riêng ở dạng số, hoặc chính là tên
của các giá trị đã có trong danh sách của CSS.Quy tắc khai báo đó chính là: thuộc tính và

11 | P a g e


giá trị cần cách nhau bằng dấu hai chấm, mỗi dịng khai báo thuộc tính cần có dấu chấm
phẩy cuối cùng.Các thuộc tính khơng bị giới hạn ở một vùng chọn.

3.2.3 Ứng dụng
CSS được ứng dụng vào việc giúp cho giao diện trở nên bắt mắt hơn, mọi đối tướng mà
HTML cung cấp đều có các thuộc tính định dạng nhất định, việc ứng dụng các thuộc
tính này một cách thông minh sẽ giúp web-site trở nên đẹp và dễ sử dụng hơn rất
nhiều.

Lập trình Javascript:
3.3.1 Định nghĩa
JavaScript là ngơn ngữ lập trình được nhà phát triển sử dụng để tạo trang web tương
3.3

tác.Từ làm mới bảng tin trên trang mạng xã hội đến hiển thị hình ảnh động và bản đồ
tương tác, các chức năng của JavaScript có thể cải thiện trải nghiệm người dùng của trang

web.Là ngôn ngữ kịch bản phía máy khách, JavaScript là một trong những công nghệ cốt
lõi của World Wide Web.

3.3.2 Cách thức mà Javascript hoạt động
Tất cả các ngơn ngữ lập trình đều hoạt động bằng cách dịch cú pháp giống tiếng Anh
thành mã máy, hệ điều hành sau đó sẽ chạy mã này.JavaScript được phân loại khái quát là
một ngôn ngữ viết tập lệnh hoặc một ngôn ngữ diễn giải.Mã JavaScript được diễn giải, tức
là được công cụ JavaScript dịch trực tiếp sang mã ngôn ngữ máy cơ bản.Với các ngôn ngữ
lập trình khác, trình biên dịch sẽ biên dịch tồn bộ mã thành mã máy trong một bước
riêng.

3.3.3 Ứng dụng
Javascipt được ứng dụng trong việc giúp web trở thành 1 web động có khả năng tương tác
với người dùng đồng thời tạo một số hiệu ứng đẹp mắt.

Sử dụng framework Bootstrap để phát triển website chuẩn responsive:
3.4.1 Định nghĩa
Bootstrap là 1 framework HTML, CSS, và JavaScript cho phép người dùng dễ dàng
3.4

thiết kế website theo 1 chuẩn nhất định, tạo các website thân thiện với các thiết bị cầm tay
như mobile, ipad, tablet,....

3.4.2 Cách thức mà Bootstrap hoạt động
Bootstrap chứa các tập tin JavaScript, CSS và fonts đã được biên dịch và nén
lại.Ngoài ra, Bootstrap được thiết kế dưới dạng các mơ-đun.Do đó, dễ dàng tích hợp với
hầu hết các mã nguồn mở như WordPress, Joomla, Magento, …Trong đó, Bootstrap mang
đến nhiều chức năng nổi bật.

12 | P a g e



Bootstrap cho phép người dùng truy cập vào thư viện “khổng lồ” các thành tố dùng để
tạo nên giao diện của một website hoàn chỉnh như font, typography, form, table, grid…
Bootstrap cho phép bạn tùy chỉnh framework của website trước khi tải xuống và sử
dụng nó tại trang web của khung.
Tái sử dụng các thành phần lặp đi lặp lại trên trang web.
Bootstrap được tích hợp jQuery.Bạn chỉ cần khai báo chính xác các tính năng trong
q trình lập trình web của bạn.
Định nghĩa glyphicons nhằm giảm thiểu việc sử dụng hình ảnh làm biểu tượng và
tăng tốc độ tải trang.

3.4.3 Ứng dụng
Bootstrap được nhóm ứng dụng vào việc phát triển 1 web-site chuẩn responsive trên các
thiết bị.

Sử dụng Jquery để tối ưu hóa code và hỗ trợ làm hiệu ứng trong
javascript.
3.5.1 Định nghĩa
jQuery là thư viện được viết từ JavaScript, jQuery giúp xây dựng các chức năng bằng
3.5

Javascript dễ dàng, nhanh và giàu tính năng hơn.

3.5.2 Cách thức mà Jquery hoạt động
Với một Javascript thuần, nếu bạn muốn lấy phần tử trong HTML thì cần có cú pháp:
document .getElementBy{Id I Class I Tagname}.Đây là một đoạn code rất dài vì vậy, bạn
có thể bỏ qua bước này bằng cách thông qua jQuery để lấy một phần tử trong HTML bằng
$(selector).


3.5.3 Ứng dụng
Sử dụng tạo 1 số hiệu ứng animation cùng với việc tối ưu hóa code javascipt.
Sử dụng Leaflet hỗ trợ xây dựng các tính năng liên quan đến bản đồ
định tuyến
3.6.1 Định nghĩa
Leaflet - Một thư viện Javascipts mã nguồn mở được sử dụng thay thế cho Google
3.6

Map API trong việc xây dựng các ứng dụng, phần mềm liên quan đến bản đồ.
Leaflet hỗ trợ xây dựng Map có tính tương tác, ngồi các việc hiển thị bản đồ thì
nó cịn hỗ trợ các tính năng như đo khoảng cách, định tuyến, xác định vị trí hiện
tại,…..... Đây là một thư viện khá nhẹ, chỉ khoảng 38KB cho phần script nhưng lại
có đầy đủ tất cả các tính năng mà hầu hết các developer cần.

13 | P a g e


Leaflet được thiết kế chú trọng tới sự đơn giản, hiệu suất, và khả năng sử dụng. Nó
cũng hoạt động hiệu quả trên cả nền tảng máy tính lẫn mobile, có thể được mở
rộng với cả tá plugin, ngồi ra nó cịn có một trang document API khá đẹp, đơn
giản nhưng dễ đọc
3.6.2 Cách thức mà Leaflet hoạt động
Khi cần bất kỳ tính năng nào của bản đồ, ta sẽ tiến hành gọi tải các source code liên
quan và nhúng trực tiếp vào code của ta để thực hiện, hoặc nếu có thể sử dụng các link
nhúng để nhúng vào phần mềm rồi tiến hành sử dụng như bình thường.
Sau khi đã nhúng vào phần mềm ta chỉ việc gọi các hàm hoặc các đối tượng liên quan
và sử dụng như bình thường.

3.6.3 Ứng dụng
Hỗ trợ xây dựng các tính năng định tuyến, vẽ bản đồ, xác định vị trí, tính năng chỉ

đường, ghim map, kiểm tra vị trí hiện tại......
Cơng thức Haversine
3.7.1 Định nghĩa
Cơng thức tính tốn khoảng cách giữa 2 điểm trên mặt cầu dựa trên tọa độ GPS của 2
3.7

điểm đó. Dựa trên cơng thức trên ta có thể dễ dàng tính ra được khoảng cách giữa 2
điểm trên địa cầu thông qua kinh độ và vĩ độ của chúng.
3.7.2 Cách thức hoạt động
Ứng dụng công thức Haversine ta xây dựng được thuật toán như sau:
function getDistanceFromLatLonInKm(lat1,lon1,lat2,lon2) {
var R = 6371; // Radius of the earth in km
var dLat = deg2rad(lat2-lat1); // deg2rad below
var dLon = deg2rad(lon2-lon1);
var a =
Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) *
Math.sin(dLon/2) * Math.sin(dLon/2)
;
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));

14 | P a g e


var d = R * c; // Distance in km
return d;
}
function deg2rad(deg) {
return deg * (Math.PI/180)
}

3.7.3 Ứng dụng
Dựa trên việc tính tốn được khoảng cách giữa 2 địa điểm thơng qua tọa độ của 2 điểm
đó có thể hỗ trợ xác định khoảng cách giữa 2 địa điểm nhằm việc tạo gợi ý cho người
dùng về các địa điểm du lịch (ở mức đồ án 1 là các quán nước). Ngồi ra nhờ vào thuật
tốn haversine kết hợp với thuật tốn đo tọa độ tạo vịng bao để tiến hành kiểm tra xác
thực địa điểm của người dùng (xác định xem người dùng có thật sự đang ở địa điểm
của qn đó hay khơng). Việc tính được khoảng cách của người dùng và các địa điểm
quán nước sẽ hỗ trợ cho tính năng gợi ý các Voucher của các quán nước ở gần cho
người dùng, tăng tỉ lệ người dùng ghé qn.
Thuật tốn tìm vùng bao
3.8.1 Định nghĩa
Dựa vào tọa độ hiện tại, tiến hành tìm kiếm dữ liệu về diện tích và xác định dữ liệu giả
3.8

định về 4 điểm cực của một địa điểm ở trên bản đồ. Kinh độ và vĩ độ của một địa điểm
khi xác định trên bản đồ có thể nằm ở bất kỳ vị trí nào vì vậy bắt buộc phải xác định
được diện tích của địa điểm để có thể tiến hành xác định tọa độ 4 điểm cực để vẽ vùng
bao
3.8.2 Cách thức hoạt động
Xác định diện tích của khu vực, tiến hành giả định 4 điểm cực dựa trên diện tích với
tọa độ của địa điểm là điểm tâm của vùng bao.
3.8.3 Ứng dụng
Ứng dụng trong việc xác thực vị trí của người dùng có phải đã ở trong khu vực của địa
điểm (quán nước) hay là không, dựa vào việc vẽ vùng bao của địa điểm, vẽ vùng bao
của vị trí người dùng, từ đó tiến hành xác định điểm giao nhau của 2 vùng bao, nếu
xảy ra sự giao nhau thì có thể kết luận hiện tại người dùng đang ở trong khu vực của
quán.

15 | P a g e



Hệ thống gợi ý Recommender System
3.9.1 Khái niệm
Recommendater System
3.9

Hệ thống gợi ý, hay tiếng anh là Recommender System, là một hệ thống có khả
năng tự động gợi ý cho người dùng những sản phẩm họ có thể thích. Đây là một giải
pháp thay thế tốt nhất cho các thuật toán tìm kiếm, khi mà những sản phẩm họ có thể
thích được tự động đề xuất kể cả khi người dùng có thực hiện hành động tìm tiếm hay
khơng. Bằng cách sử dụng bộ dữ liệu thu thập được từ phía người dùng trước đó, hệ
thống sẽ tiến hành dự đốn và đưa ra kết quả gợi ý cho người dùng về những sản
phẩm, tính năng, hay dịch vụ... liên quan phù hợp với sở thích, độ quan tâm của người
dùng. Từ đó giúp nâng cao được chất lượng dịch vụ cho ứng dụng cũng như thu lại
được lợi nhuận cao, đặc biệt trong các sàn thương mại điện tử.
Recommemder System là một trong những mảng tương đối lớn của Học Máy
Machine Learning và cũng có lịch sử khá lâu đời, khi lần đầu tiên hệ thống được đề
cập trong một bài báo cáo kĩ thuật năm 1990 bởi Jussi Karlgren tại Đại Học Columbia
và sau đó được triển khai quy mô lớn từ năm 1994 trở đi bởi Jussi Karlgren. Tuy
nhiên, thực tế Recommendation Systems là chỉ thực sự bùng nổ khoảng 10-15 năm
gần đây, khi việc tương tác trực tuyến của người dùng gia tăng, và sự phát triển mạnh
mẽ của các sàn thương mại điện tử, và cũng không thể thiếu sự tiến bộ của ngành
Khoa học dữ liệu hiện nay.
Thông tin về người sử dụng được dùng cho hệ thống khuyến nghị tự động có thể chia
thành hai loại: thông tin ẩn và thông tin hiện.
 Thông tin ẩn (Implicit Feedback): Các lượt thích và khơng thích của người
dùng được ghi nhận và ghi lại trên cơ sở các hành động của họ như nhấp chuột,
tìm kiếm và mua hàng… Các nội dung này rất dễ thu thập, nhưng thường có độ
nhiễu cao và khơng có tương tác trực tiếp với người dùng (hệ thống tự động ghi
lại lịch sử), đồng thời những phản hồi tiêu cực

 Thông tin hiện (Explicit Feedback): các kết quả nhận được khi người dùng trực
tiếp đưa ra đánh giá về sản phẩm như thích/ khơng thích, chấm điểm, bình
luận… Các thơng tin này thường khó thu thập h ơn rất nhiều so với thơng tin
ẩn, nhưng độ chính xác cao hơn và rất hữu ích cho việc khuyến nghị
Mục tiêu của hệ thống khuyến nghị:
-

Gia tăng doanh số: Đơn giản là họ sẽ bán thêm được hàng hoặc tăng lượt đặt
chỗ so với những trang mà không sử dụng Recommendation System.

16 | P a g e


-

-

Recommendation System đề xuất càng chính xác với nhu cầu người dùng thì
website càng bán được nhiều hàng.
Thỏa mãn nhu cầu khách hàng: Một Recommendation System được thiết kế và
cài đặt tốt sẽ cải thiện trải nghiệm người dùng. Người dùng sẽ thấy rằng hệ tư
vấn này rất thú vị, chính xác, và cù ng với một UI được thiết kế hợp lý, khách
hàng sẽ muốn quay lại website.
Nắm được nhu cầu khách hàng: Một chức năng quan trọng khác của
Recommendation System là cho phép ta thu thập được phản hồi của khách
hàng. Nếu khách hàng khơng thích những thứ mà bạn đề xuất, bạn vẫn có thể
thu thập lại được những thơng tin này và tái sử dụng nó để cải thiện độ chính
xác của Recommendation System.

Các thuật ngữ sau đây sẽ thường được sử dụng,

-

Đối tượng, hay người dùng mà hệ thống gợi ý hướng đến được gọi là users,
Sản phẩm mà hệ thống đưa ra gợi ý được gọi là items
Sự tương quan giữa các đối tượng và sản phẩm, mức độ quan tâm của đối
tượng đối với sản phẩm đó được gọi là rating

3.9.2 Một số phương pháp trong hệ thống khuyến nghị
Về phân loại, các Recommender Systems thường được chia thành hai nhóm lớn:
-

-

Content-based systems: đánh giá đặc tính của items được recommend. Ví dụ:
một user xem rất nhiều các bộ phim về cảnh sát hình sự, vậy thì gợi ý một bộ
phim trong cơ sở dữ liệu có chung đặc tính hình sự tới user này. Cách tiếp cận
này yêu cầu việc sắp xếp các items vào từng nhóm hoặc đi tìm các đặc trưng
của từng items. Tuy nhiên, có những items khơng có nhóm cụ thể và việc xác
định nhóm hoặc đặc trưng của từng item đôi khi là bất khả thi.
Collaborative filtering: Hệ thống gợi ý items dựa trên sự tương quan
(similarity) giữa các users và rating. Có thể hiểu rằng ở nhóm này, một item
được recommend tới một user dựa trên những users có hành vi tương tự.

3.9.2.1 Phương pháp khuyến nghị theo nội dung (Content-based)
Content-based recommendation đề xuất dựa theo nội dung của mỗi item, tức là các hệ
thống đề xuất sản phẩm cho người dùng sẽ dựa trên mô tả về sản phẩm đó và hồ sơ sở
thích của người dùng đó.
Trong hệ thống content-based, cần xây dựng một bộ hồ sơ (profile) cho item. Profile
này được biểu diễn dưới dạng toán học là một feature vector. Trong những trường hợp
đơn giản, feature vector được trực tiếp trích xuất từ item. Ví dụ, xem xét các features

của một bài hát mà có thể được sử dụng trong các Recommendation Systems như ca
sĩ, nhạc sĩ sáng tác, năm sáng tác, thể loại, …
Về ưu điểm:
-

Không cần bất kỳ dữ liệu nào về người dùng khác, vì các đề xuất là dành riêng
cho người dùng hiện tại. Điều này giúp dễ dàng mở rộng quy mô đến một số
lượng lớn người dùng, tiết kiệm bộ nhớ và thời gian tính tốn

17 | P a g e


-

Có thể nắm bắt sở thích cụ thể của người dùng và có thể đề xuất các sản phẩm
thích hợp mà rất ít người dùng khác quan tâm.

Về nhược điểm:
-

-

Cần phải trích xuất được các đặc điểm của sản phẩm.
Khi xây dựng mơ hình cho một user, các hệ thống Content-based không tận
dụng được thông tin từ các users khác. Những thơng tin này thường rất hữu ích
vì hành vi mua hàng của các users thường được nhóm thành một vài nhóm đơn
giản; nếu biết hành vi mua hàng của một vài users trong nhóm, hệ thống nên
suy luận ra hành vi của những users còn lại
Vấn đề người dùng mới.


3.9.2.2 Phương pháp Collaborative Filtering
Những nhược điểm của Content-based có thể được giải quyết bằng phương pháp lọc
cộng tác. Các phương pháp lọc cộng tác dựa trên việc thu thập và phân tích một lượng
lớn thơng tin về hành vi, hoạt động hoặc sở thích của người dùng và dự đốn những gì
người dùng sẽ thích dựa trên sự tương đồng của họ với người dùng khác. Nó xem xét
phản ứng của những người dùng khác trong khi đề xuất một người dùng cụ thể. Nó ghi
chú những sản phẩm mà một người dùng cụ thể thích và cả những sản phẩm mà người
dùng có hành vi và sở thích tương tự họ thích, để giới thiệu những sản phẩm đó cho
người dùng.
Hệ thống recommender so sánh dữ liệu đã thu thập với dữ liệu tương tự và khác
nhau được thu thập từ những người khác và tính tốn danh sách các mục được đề xuất
cho người dùng.
Khi xây dựng mơ hình từ hành vi của người dùng, sự phân biệt thường được
thực hiện giữa các hình thức thu thập dữ liệu rõ ràng và tiềm ẩn.
Ví dụ về thu thập dữ liệu rõ ràng bao gồm:
-

Yêu cầu người dùng xếp hạng một mục trên thang trượt.

-

Yêu cầu người dùng tìm kiếm

-

Yêu cầu người dùng xếp hạng một bộ sưu tập các mục từ yêu thích đến
ít yêu thích nhất.

-


Yêu cầu người dùng tạo danh sách các mục mà anh / cơ ấy thích.

Ví dụ về thu thập dữ liệu ngầm bao gồm:
-

Quan sát các mục mà người dùng xem trong cửa hàng trực tuyến.

-

Phân tích thời gian xem mục / người dùng.

18 | P a g e


-

Lưu giữ một bản ghi các mục mà người dùng mua trực tuyến.

-

Lấy danh sách các mục mà người dùng đã nghe hoặc xem trên máy tính
của họ.

-

Phân tích mạng xã hội của người dùng và khám phá những lượt thích và
khơng thích tương tự.

Một trong những ví dụ nổi tiếng nhất về lọc cộng tác là lọc cộng tác theo từng mục
(những người mua X cũng mua Y), một thuật toán được phổ biến rộng rãi bởi hệ thống

gợi ý của Amazon.com. Các ví dụ khác bao gồm:
-

Last.fm đề xuất âm nhạc dựa trên so sánh thói quen nghe của những người dùng
tương tự, trong khi Readgeek so sánh xếp hạng sách cho các đề xuất.

-

Facebook , MySpace , LinkedIn và các mạng xã hội khác sử dụng tính năng lọc
cộng tác để giới thiệu bạn bè, nhóm và các kết nối xã hội khác (bằng cách kiểm
tra mạng kết nối giữa người dùng và bạn bè của họ). Twitter sử dụng nhiều tín
hiệu và tính tốn trong bộ nhớ để giới thiệu cho người dùng của họ rằng họ nên
“theo dõi”.

Về ưu điểm:
-

Nó khơng dựa vào nội dung phân tích máy và do đó nó có khả
năng đề xuất chính xác các mục phức tạp như phim mà khơng
u cầu “hiểu biết” về mục đó.

-

Có thể giúp người dùng khám phá những sở thích mới.

Về nhược điểm:
Các phương pháp lọc cộng tác thường gặp phải ba vấn đề: Cold Start,
khả năng mở rộng và sự thưa thớt (sparsity).
-


Cold Start: Các hệ thống này thường yêu cầu một lượng lớn
dữ liệu hiện có của người dùng để đưa ra các đề xuất chính
xác.

-

Khả năng mở rộng: Trong nhiều mơi trường mà các hệ thống
này đưa ra các khuyến nghị, có hàng triệu người dùng và sản
phẩm. Do đó, một lượng lớn cơng suất tính tốn thường là cần
thiết để tính tốn các gợi ý.

19 | P a g e


-

Sparsity: Số lượng các mặt hàng được bán trên các trang web
thương mại điện tử lớn là cực kỳ lớn. Những người dùng tích
cực nhất sẽ chỉ đánh giá một tập con nhỏ của cơ sở dữ liệu
tổng thể. Do đó, ngay cả những mặt hàng phổ biến nhất cũng
có rất ít xếp hạng.

3.9.3 So sánh Content-based và Collaborative Filtering
Phương pháp gợi Dữ liệu cơ sở
Dữ liệu đầu ra
ý
Content – based
Các đặc điểm của
Các điểm số đánh
các item và hồ sơ

giá của người dùng
sở thích của người cho các item
dùng

Collaborative
Filtering

Các điểm số đánh
giá của những
người dùng đối với
các item

Các điểm số đánh
giá của người dùng
cho các item mà
người dùng chưa
có bất kỳ đánh giá
nào dựa trên người
dùng khác

Tiến trình xử lý
Tạo ra một mơ
hình mơ tả sở thích
của người dùng,
sau đó sử dụng để
đánh giá mức độ
tương quan của sở
thích người dùng
với đặc điểm item.
Dựa vào sự tương

quan đó mà xác
định người dùng có
ưa thích item hay
khơng.
Nhận ra sự tương
tự về sở thích giữa
các người dùng và
sau đó ngoại suy
điểm số đánh giá
của người dùng
cho item.

3.9.4 Các thành phần chính
Utility Matrix
Có hai thực thể chính trong các Recommendation Systems là users và items. Mỗi user
sẽ có mức độ quan tâm tới từng item khác nhau. Mức độ quan tâm này, được gọi là
rating, sẽ được gán cho một giá trị ứng với mỗi cặp user-item. Tập hợp tất cả các
ratings, bao gồm cả những giá trị chưa biết cần được dự đoán, tạo nên một ma trận gọi
là utility matrix.

20 | P a g e



×