May thay, hệ thống gợi ý Recommender system - RS có thể chỉ ra các thông tin phù hợp trong số thông tin khổng lồ chưa có trật tự, nó sử dụng các kỹ thuật lọc để chọn ra những loại thông
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA
- -
PHẠM HOÀNG TRƯƠNG
NGHIÊN CỨU VÀ ỨNG DỤNG
KỸ THUẬT SVD VÀO HỆ THỐNG GỢI Ý
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60.48.01.01
TÓM TẮT LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Đà Nẵng - Năm 2018
Trang 2Công trình được hoàn thành tại TRƯỜNG ĐẠI HỌC BÁCH KHOA
Người hướng dẫn khoa học: TS.NGUYỄN VĂN HIỆU
Phản biện 1: PGS.TS VÕ TRUNG HÙNG
Phản biện 2: TS PHẠM VĂN VIỆT
Luận văn sẽ được bảo vệ trước Hội đồng chấm Luận văn tốt
nghiệp thạc sĩ KHOA HỌC MÁY TÍNH họp tại Trường Đại học Bách
khoa vào ngày 16 tháng 06 năm 2018
Có thể tìm hiểu luận văn tại:
Trung tâm Học liệu, Đại học Đà Nẵng tại Trường Đại học Bách khoa
Thư viện Khoa Công nghệ thông tin, Trường Đại học Bách khoa - ĐHĐN
Trang 3MỞ ĐẦU
1 Lý do chọn đề tài
Du lịch từ lâu đã được ghi nhận như một sở thích, một hoạt động nghỉ ngơi tích cực của con người Ngày nay, du lịch đã trở thành một hiện tượng kinh tế - xã hội phổ biến trên toàn thế giới, nó được xem như là một nhu cầu không thể thiếu của con người và được coi là một tiêu chuẩn để đánh giá chất lượng cuộc sống Nhận thức được xu thế trên, ngành du lịch Quảng Ngãi với nhiều cố gắng và thành quả góp phần đáng kể vào sự nghiệp phát triển du lịch chung của quốc gia Đến với Quảng Ngãi, chúng ta sẽ cảm nhận cái nắng gió của vùng đất miền Trung với những bờ biển dài tuyệt đẹp và một chiều dài lịch sử với các di tích lịch sử khá nổi tiếng Hình ảnh ấy đã thu hút không ít du khách trong và ngoài nước phải một lần đặt chân đến mảnh đất này Vì vậy, để tìm cho mình một điểm du lịch phù hợp
du khách cần lời khuyên trong trường hợp này
May thay, hệ thống gợi ý (Recommender system - RS) có thể chỉ ra các thông tin phù hợp trong số thông tin khổng lồ chưa có trật
tự, nó sử dụng các kỹ thuật lọc để chọn ra những loại thông tin đặc trưng nhằm hiển thị các phần tử phù hợp với sở thích người dùng, hệ thống có tích hợp tính năng gợi ý sẽ thu hút được người dùng cả về
sự hài lòng và tin cậy Một số hệ thống gợi ý như Amazon, Netflix, IDMb, Youtube, Last.fm, MovieLens,… đã tăng được số lượng khách truy cập nhờ vào tính năng hỗ trợ quyết định này của hệ thống Các kĩ thuật lọc trong RS thường được phân thành các nhóm: lọc dựa trên nội dung (content - based filtering, dựa trên user profile), lọc cộng tác (collaborative filtering – CF, dựa trên dữ liệu đánh giá trong quá khứ của user), lai ghép (hybrid, kết hợp của hai phương pháp trên) và lọc không cá nhân hóa (non-personalization) Trong đó, nổi bật và được sử dụng nhiều nhất là kỹ thuật lọc cộng tác bởi sự
Trang 4đơn giản trong việc thu thập thông tin (user, item và feedback) của
nó Ưu điểm của lọc cộng tác là nó có thể hoạt động tốt trong trường hợp thiếu hụt thông tin của đối tượng, có thể đưa ra gợi ý mà không cần thông tin hồ sơ người dùng (user profile) Chất lượng của hệ thống gợi ý cộng tác phụ thuộc vào độ đo tương tự và việc lựa chọn tập láng giềng Tuy nhiên hạn chế chính của CF là vấn đề dữ liệu thưa, khả năng mở rộng và thiếu dữ liệu đánh giá, vì vậy hệ thống chưa đưa ra được gợi ý tốt nhất
Để hệ thống gợi ý có thể đưa ra những dự đoán chính xác hơn người ta sử dụng phương pháp phân tích giá trị đơn SVD (Singular Value Decomposition) vào hệ thống gợi ý Giải thuật SVD được Golub và Kahan giới thiệu năm 1965, đó là một công cụ phân rã ma trận hiệu quả được sử dụng để giảm hạng (hay số chiều) của ma trận
Kỹ thuật này được áp dụng vào nhiều bài toán xử lý văn bản khác nhau như tóm tắt văn bản, phát hiện sao chép, lập chỉ mục và truy vấn SVD cho phép phân tích một ma trận phức tạp thành ba ma trận thành phần Mục đích nhằm đưa việc giải quyết bài toán liên quan đến ma trận lớn, phức tạp về những bài toán nhỏ hơn Vì vậy, ta áp dụng kỹ thuật SVD vào hệ thống gợi ý để hệ thống gợi ý có thể dự đoán chính xác, phục vụ tốt một số bài toán gợi ý thực tế, giúp người dùng đưa ra quyết định chính xác hơn
Với những lý do đó, tôi đã quyết định lựa chọn luận văn tốt
nghiệp với đề tài “Nghiên cứu và ứng dụng kỹ thuật SVD vào hệ thống gợi ý” để hệ thống gợi ý có thể hỗ trợ người dùng dễ dàng tìm
thấy những địa điểm du lịch phù hợp với họ, giúp người dùng đưa ra
quyết định chính xác hơn
2 Mục tiêu và nhiệm vụ của đề tài
2.1 Mục tiêu
- Xây dựng mô hình gợi ý mới sử dụng phương pháp SVD
- Ứng dụng mô hình đề xuất để xây dựng hệ thống gợi ý
Trang 52.2 Nhiệm vụ
Để hệ thống đạt được mục tiêu đề ra, đề tài tiến hành giải quyết các nhiệm vụ sau:
- Tìm hiểu về hệ thống du lịch Quảng Ngãi
- Nghiên cứu, tìm hiểu kỹ thuật SVD
- Đề xuất mô hình gợi ý sử dụng kỹ thuật SVD
- Phân tích và thiết kế hệ thống gợi ý địa điểm du lịch sử dụng kỹ thuật SVD
- Xây dựng và đánh giá hệ thống gợi ý
3 Đối tượng và phạm vi nghiên cứu
3.1 Đối tượng nghiên cứu
- Kỹ thuật SVD (Singular Value Decomposition)
- Hệ thống gợi ý (Recommender system - RS)
- Hệ thống Du lịch Quảng Ngãi
3.2 Phạm vi nghiên cứu
- Tập trung vào phương pháp SVD và các hướng cải tiến chúng
- Ứng dụng cho hệ thống gợi ý tra cứu các địa điểm du lịch trong phạm vi tỉnh Quảng Ngãi và được đưa lên Internet
4 Phương pháp nghiên cứu
Trong luận văn đã sử dụng các phương pháp sau:
- Tìm hiểu thực tế, tổng hợp thống kê dữ liệu về du lịch Quảng Ngãi
- Kỹ thuật phân rã ma trận (matrix factorization – MF)
- Kỹ thuật SVD (Singular Value Decomposition)
- Phương pháp đánh giá
5 Ý nghĩa khoa học và thực tiễn của đề tài
- Ý nghĩa khoa học:
Đề xuất được mô hình gợi ý mới sử dụng kỹ thuật SVD
Đề tài nghiên cứu trường hợp riêng của kỹ thuật SVD
Trang 6 Góp phần vào công cuộc nghiên cứu và phát triển ứng dụng thông minh
Chương 3 – Xây dựng hệ thống gợi ý và đánh giá
Chương 1 - TỔNG QUAN DU LỊCH QUẢNG NGÃI VÀ HỆ
THỐNG GỢI Ý
Trong chương này, trình bày các lý thuyết về du lịch, điểm du lịch, giới thiệu về du lịch Quảng Ngãi, khái niệm về hệ thống gợi ý, nêu bật tầm quan trọng của điểm du lịch và giá trị của cơ sở dữ liệu đối với hệ thống gợi ý, đồng thời phân tích một số website có chức năng tương tự Chương này là cơ sở lý luận cho các chương tiếp theo
1.1 TỔNG QUAN VỀ DU LỊCH QUẢNG NGÃI
Du lịch là hành động rời khỏi nơi cư trú để đi đến một nơi khác, một môi trường khác trong một thời gian ngắn nhằm mục đích tìm hiểu, khám phá, vui chơi, giải trí, nghỉ dưỡng Điểm du lịch là một phạm vi cụ thể chứa đựng một nguồn lực tự nhiên hay nhân tạo với mục đích thu hút và thỏa mãn một hoặc nhiều nhu cầu như nghỉ ngơi, vui chơi, tham quan … của khách du lịch
Tỉnh Quảng Ngãi có đường bờ biển kéo dài từ An Tân đến Sa Huỳnh nên có nhiều bãi tắm đẹp như Mỹ Khê, Sa Huỳnh Khe Hai,
Lệ Thủy, Minh Tân Quảng Ngãi với 23 di tích lịch sử văn hóa và 2
di tích danh nhân quốc gia hiện có Quảng Ngãi còn có hơn 100 di
Trang 7tích cấp tỉnh và đang từng bước lập hồ sơ đề nghị Bộ Văn hóa thông tin công nhận nhằm bảo tồn và phát huy giá trị
Hệ thống thông tin Quảng Ngãi đã có các trang Website hỗ trợ đạt tour, các hệ thống tra cứu trực tuyến Các hệ thống này đã góp phần quảng bá, cung cấp thông tin đến với du khách gần xa Tuy nhiên các hệ thống này thiếu hỗ trợ, cung cấp đánh giá và giới thiệu quảng bá còn nhiều hạn chế
Hiện nay, ở Việt Nam, có rất nhiều website cung cấp thông tin
về du lịch Tuy nhiên, hầu hết các website đều thuộc vào hai dạng chính dưới đây:
Các trang bán tour trực tuyến:
Các website này cung cấp các thông tin về giá tour, giá vé, giá khách sạn, hành trình tour…, có thiết kế giao diện đẹp mắt, thuận tiện cho người dùng, nội dung về các tour du lịch khá đầy đủ, chi tiết, phạm vi các điểm du lịch rộng lớn cả trong và ngoài nước
Tuy nhiên, thông tin về các điểm du lịch còn sơ sài, chỉ thấy được tour giá rẻ mà không thấy được tour được ưa chuộng, không thấy được thái độ của khách đối với các điểm du lịch trong mỗi tour
Cẩm nang du lịch:
So với các trang bán tour trực tuyến thì những website này tập trung trình bày nhiều hơn về điểm đến và điểm du lịch, nó cung cấp những thông tin về chùm điểm du lịch, ẩm thực, văn hóa…
Như vậy, các website du lịch ở Việt Nam hiện nay chủ yếu tập trung hỗ trợ công việc đặt tour, bán tour cho các đơn vị lữ hành Phạm vi điểm đến và điểm du lịch được giới thiệu tại các website du lịch hiện nay quá rộng lớn, cả trong nước, ngoài nước và ở các châu lục khác nhau, đây là thế mạnh trong du lịch tuy nhiên nó cũng tạo
ra một nhược điểm lớn: dữ liệu, thông tin cho mỗi điểm đến hay điểm du lịch thường ít được đầy đủ và hoàn thiện Do đó, luận văn
đã đề xuất phạm vi nội dung tập trung vào một khu vực cụ thể đó là
Trang 8Quảng Ngãi, vùng đất du lịch tiềm năng chưa được khai thác hiệu quả Từ đây, việc xây dựng một website nhằm thu thập thông tin đánh giá về một số địa điểm du lịch ở Quảng Ngãi làm CSDL cho hệ thống gợi ý địa điểm du lịch là vô cùng cần thiết
1.2 CÁC PHƯƠNG PHÁP GỢI Ý
Có rất nhiều cách để gợi ý, ước lượng hạng/điểm cho các sản phẩm như sử dụng học máy, lý thuyết xấp xỉ, các thuật toán dựa trên kinh nghiệm… các hệ thống gợi ý thường được phân ba loại dựa trên cách nó dùng để ước lượng hạng của sản phẩm:
- Dựa trên nội dung (content-based): người dùng được gợi ý những sản phẩm tương tự như các sản phẩm từng được họ đánh giá cao
- Cộng tác (collaborative): người dùng được gợi ý những sản phẩm mà những người cùng sở thích với họ đánh giá cao
- Lai ghép (hybrid): kết hợp cả phương pháp dựa trên
1.2.1 Phương pháp gợi ý dựa trên nội dung
Phương pháp gợi ý dựa vào nội có một điểm mạnh sau: phương pháp không yêu cầu số lượng người dùng lớn; dự vào thông tin có sẵn để thực hiện gợi ý các sản phẩm mới Tuy nhiên, phương pháp này còn chứa một dãy nhược điểm sau: quá tập trung chuyên ngành; vấn đề trích chọn đặc trưng
1.2.2 Phương pháp gợi ý dựa trên lọc cộng tác
Hệ tư vấn dựa trên lọc cộng tác được phân chia thành hai nhóm:
- Nhóm dựa trên bộ nhớ
- Nhóm dựa trên mô hình
Phương pháp gợi ý dựa vào lọc cộng tác có ưu điểm: việc tính toán tương đối đơn giản, nhanh chóng và hiệu quả trong quá trình gợi
ý Tuy nhiên, phương pháp này tồn tại các nhược điểm sau: Vấn đề người dùng mới (New User Problem); vấn đề sản phẩm mới (New Item Problem); vấn đề dữ liệu thưa (Sparsity Data Problem)
Trang 91.2.3 Phương pháp gợi ý lai
Một hệ thống lai là sự kết hợp kỹ thuật lọc nội dung và lọc cộng tác cố gắng sử dụng ưu điểm của mỗi kỹ thuật Với hai (hoặc hơn) kỹ thuật gợi ý cơ bản, một số cách đã được đề xuất cho việc kết hợp chúng để tạo ra một hệ thống lai mới
1.3 HỆ THỐNG GỢI Ý
1.3.1 Giới thiệu
Hệ thống gợi ý là hệ thống hỗ trợ ra quyết định nhằm gợi ý các thông tin liên quan đến người dùng một cách dễ dàng và nhanh chóng, phù hợp với từng người dùng Hệ thống bao gồm các kỹ thuật
và công cụ phần mềm nhằm đưa ra những gợi ý cho người dùng, đáp ứng nhu cầu của họ về một sản phẩm, dịch vụ nào đó trên Internet Những gợi ý được cung cấp nhằm hỗ trợ người dùng đưa ra quyết định lựa chọn những sản phẩm, dịch vụ phù hợp với nhu cầu và thị hiếu của mình, chẳng hạn như: mua sản phẩm nào, nghe thể loại nhạc
gì hay tin tức trực tuyến nào nên đọc,
Hệ thống gợi ý thông thường sẽ tập trung vào một mục tin hay sản phẩm (item) cụ thể nào đó (CD, tin tức) theo thiết kế và giao diện
đồ họa người dùng kết hợp với kỹ thuật, thuật toán gợi ý nhằm sinh
ra các gợi ý tuỳ chỉnh, cung cấp những gợi ý có ích và hiệu quả cho sản phẩm đó Hệ thống gợi ý nhằm hướng dẫn những người dùng thiếu kinh nghiệm hoặc chưa đủ thẩm quyền để đánh giá số lượng áp đảo các item thay thế
Tuy vậy, du lịch Quảng Ngãi vẫn chưa thấy xuất hiện các nghiên cứu về RS Trong luận văn này, tôi giới thiệu sơ lược về hệ thống gợi ý, các phương pháp cơ bản được sử dụng phổ biến nhất trong RS, sau đó đi sâu vào tìm hiểu chi tiết phương pháp, kỹ thuật nổi trội nhất hiện nay trong RS là kỹ thật SVD (Singular Value Decomposition), kỹ thuật phân rã ma trận (matrix factorization –
Trang 10MF), kỹ thuật NN-MF (Nonnegative Matrix Factorization) và để xây dựng hệ thống gợi ý địa điểm du lịch tại Quảng Ngãi
1.3.2 Bài toán tổng quát của hệ thống gợi ý
Bài toán tư vấn được coi là bài ước lượng trước hạng (rating) của các sản phẩm chưa được người dùng xem xét Việc ước lượng này thường được dựa trên những đá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 để tư vấn Một cách hình thức, bài toán tư vấn được mô tả như sau:
r ,
Hình 1.2 Ma trận đánh giá của người dùng
Gọi U là tập hợp tất cả người dùng, I là tập hợp tất cả các sản phẩm có thể tư vấn Tập I có giá trị trong khoảng {1,n}, tập U có giá trị trong khoảng {1,m} Hàm f(u,i) đo độ phù hợp (hay hạng) của sản phẩm I với người dùng u : f : U x I → R với R là tập được sắp thứ tự Với mỗi người dùng u U, cần tìm sản phẩm i,I
sao cho hàm f(i’,u) đạt giá trị lớn nhất:
x I Các hệ thống tư vấn thường được phân thành nhiều loại dựa trên cách nó sử dụng các thuật toán để ước lượng hạng hoặc điểm của các sản phẩm
Trang 111.3.3 Chức năng hệ thống gợi ý
Dưới đây là một số chức năng của hệ thống gợi ý
Đối với nhà cung cấp:
- Tăng số lượng các sản phẩm bán ra cho các hệ thống thương mại điện tử
- Bán các sản phẩm đa dạng hơn trên các hệ thống thương mại điện tử
- Tăng sự hài lòng người dùng
- Tăng độ tin cậy, độ trung thực của người dùng
- Hiểu rõ những gì người dùng muốn
Đối với người dùng:
- Tìm kiếm các gợi ý tin tưởng
- Cải thiện hồ sơ cá nhân người dùng
- Bày tỏ ý kiến của mình.dùng khác
1.3.4 Dữ liệu và các nguồn tri thức
Hệ thống gợi ý là hệ thống xử lý thông tin thu thập từ các loại
dữ liệu khác nhau để xây dựng các gợi ý Dữ liệu chủ yếu là về các sản phẩm cần gợi ý và người dùng sẽ nhận được các gợi ý này Tuy nhiên, dữ liệu và các nguồn tri thức sẵn có cho các hệ thống gợi ý có thể rất đa dạng Trong bất kỳ trường hợp nào, dữ liệu được sử dụng bởi hệ thống gợi ý thuộc ba loại: sản phẩm (Item), người dùng (User)
và các giao dịch (Transactions), đó chính là quan hệ giữa người dùng
và sản phẩm
1.3.4.1 Sản phẩm
1.3.4.2 Người dùng
Trang 121.3.4.3 Giao dịch
KẾT LUẬN CHƯƠNG 1
Trong chương 1, luận văn đã trình bày tổng quan về du lịch Quảng Ngãi, những điểm đạt được và những hạn chế của du lịch Quảng Ngãi; một số website du lịch Việt Nam, những đặc điểm của chúng; các phương pháp gợi ý Ngoài ra, trong chương đã giới thiệu
về hệ thống gợi ý, nêu chức năng, phát biểu bài toán tổng quát của hệ thống gợi ý, cơ sở dữ liệu và các nguồn tri thức để có thể ứng dụng các kỹ thuật vào hệ thống gợi ý
Chương 2 – CÁC KỸ THUẬT PHÂN RÃ
Hệ thống gợi ý đóng vai trò rất lớn trong hệ thống tư vấn, hệ thống gợi ý, đã có ứng dụng đem lại lợi ích về kinh tế, chính trị Một mảng kỹ thuật được nhiều nhà nghiên cứu quan tâm đó đó là Kỷ thuật Phân rã Đặc biệt trong hệ thống gợi ý chú trọng đến phương pháp SVD, phương pháp phân rã ma trận MF và phương pháp phân
rã ma trận không âm NN-MF Nội dung cụ thể sẽ được trình bày trong chương này
2.1 KỸ THUẬT SVD
2.1.1 Giới thiệu
Kỹ thuật SVD được G Golub và W Kahan giới thiệu vào năm
1965 Đây là một kỹ thuật phân tích dùng để tính toán các giá trị đơn, nghịch đảo và hạng ma trận Kỹ thuật này phân tích một ma trận thành ba ma trận mới dựa vào các giá trị đơn được phân tích Kể từ khi được giới thiệu SVD đã trở thành một kỹ thuật phân tích ma trận tiêu chuẩn trong đại số tuyến tính
Trong thực tiễn, người ta muốn xấp xỉ ma trận lớn ban đầu với một ma trận có kích thước nhỏ hơn mà vẫn giữ lại được những đặc trưng gần giống như ban đầu Sớm nhận ra rằng trong việc rút gọn số chiều, SVD làm những đặc trưng giống nhau thì càng tương quan nhau hơn, nếu chúng khác nhau thì càng cách xa nhau hơn Vấn đề
Trang 13này có thể giải thích khi quan sát những vectơ trong U và V bên trên Những vectơ bao gồm việc cấu thành từ sự biến đổi nhỏ nhất từ dữ liệu trực giao
Trong hệ thống gợi ý các địa điểm du lịch, sau khi hoàn thành bước mô hình hoá dữ liệu, một ma trận thưa được tạo ra Do giải thuật SVD là ý tưởng giảm số chiều của ma trận ban đầu, rút gọn về
số chiều nhỏ hơn rất nhiều, làm nổi trội các giá trị đặc trưng và loại
bỏ được các đặc trưng nhiễu Vì thế, SVD được áp dụng rộng rãi vào bài toán gợi ý
2.1.2 Phát biểu bài toán
Các hệ thống gợi ý có thể áp dụng cho nhiều lĩnh vực khác nhau Tuy nhiên, bài toán có thể được phát biểu dưới dạng toán học như sau:
2.1.3 Ý tưởng thực hiện
SVD là phương pháp giúp phân rã bất cứ ma trận nào thành tích của 3 ma trận với tính chất đặc biệt
T m