1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng học máy trong xây dựng hệ thống gợi ý,khoá luận tốt nghiệp

60 25 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 60
Dung lượng 2,82 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hệ khuyến nghị hay hệ thống gợi ý Recommendation Systems là hệ thống dựa trênnhững hành vi đã thực hiện trong quá khứ hoặc dựa trên tổng hợp ý kiến đánh giá sảnphẩm, số lần mua hay số lầ

Trang 1

HỌC VIỆN NGÂN HÀNG KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC

Trang 2

HỌC VIỆN NGÂN HÀNG KHOA HỆ THÓNG THÔNG TIN QUẢN LÝ

KHÓA LUẬN TÓT NGHIỆP ĐẠI HỌC

TS Đinh Trọng Hiếu Hoàng Thái Hạnh 18A4040059 K18HTTTC 18

Đại học chính quy

Hà Nội, tháng 05/2019

Trang 3

Khóa luận tốt nghiệp Ứng dụng học máy trong xây dựng hệ khuyến nghị tự động

LỜI CẢM ƠN

Em xin bày tỏ lòng biết ơn sâu sắc đến TS Đinh Trọng Hiếu đã hướng dẫn nhiệttình, tận tâm trong suốt quá trình thực hiện khóa luận này Thầy đã giúp cho có địnhhướng, phương pháp nghiên cứu, các tài liệu bổ ích và chia sẽ cho em nhiều kinh nghiệmquý báu

Em cũng xin chân thành cảm ơn Học viện Ngân hàng đã tạo điều kiện cho chúng emtrong suốt quá trình học tập và làm khóa luận Đặc biệt em xin được gửi lời cám ơn sâusắc tới các Thầy Cô khoa Hệ thống Thông tin quản lý đã nhiệt tình dạy, hướng dẫn cũngnhư truyền đạt những kiến thức, kinh nghiệm vô cùng bổ ích cho chúng em trong suốt 4năm học vừa qua, để chúng em có thể áp dụng vào quá trình thực tập cũng như hoànthành khóa luận

Cuối cùng, em xin được gửi lời cảm ơn đến các bạn cũng khóa và những người đãđóng góp nhiệt tình, chia sẻ những kinh nghiệm trong quá trình nghiên cứu khóa luận này

Em xin chân thành cảm ơn!

Trang 4

LỜI CAM KẾT

Tôi xin cam đoan kết quả đạt được trong báo cáo là sản phẩm nghiên cứu, tìm hiểucủa riêng cá nhân tôi Trong toàn bộ nội dung của báo cáo, những điều được trình bàyhoặc là của cá nhân tôi hoặc là được tổng hợp từ nhiều nguồn tài liệu Tất cả các tài liệutham khảo đều có xuất xứ rõ ràng và được trích dẫn hợp pháp

Tôi xin hoàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lờicam đoan của mình

SINH VIÊN THỰC HIỆN

Hoàng Thái Hạnh

Trang 5

NHẬN XÉT

(Của giáo viên hướng dẫn)

Ve các mặt: Mục đích của đề tài; Tính thời sự và ứng dụng của đề tài; Bố cục và hìnhthức trình bầy đề tài; Kết quả thực hiện đề tài; Ý thức, thái độ của sinh viên trong quátrình thực hiện đề tài

Kết luận :

Hà Nội, ngày tháng năm 2019Giáo viên hướng dẫn

(Ky tên)

Trang 6

MỤC LỤC

DANH MỤC CÁC CHỮ VIẾT TẮT viii

DANH MỤC HÌNH VẼ ix

DANH MỤC BẢNG BIỂU x

MỞ ĐẦU 1

CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ BÀI TOÁN 2

NGHIÊN CỨU VÀ HỆ KHUYẾN NGHỊ Tự ĐỘNG 2

1.1 Hoàn cảnh ra đời bài toán nghiên cứu 2

1.2 Tổng quan về hệ khuyến nghị 3

1.3 Các khái niệm chính của hệ khuyến nghị 5

1.4 Tổng quan các hướng tiếp cận hệ khuyến nghị 7

1.4.1 Lọc nội dung (Content-based filtering) 7

1.4.2 Lọc cộng tác (Collaborative filtering) 8

1.4.3 Lai (Hybrid recommender) 9

1.5 Chức năng của Hệ khuyến nghị 9

1.5.1 Đối với nhà cung cấp dịch vụ 9

1.5.2 Đối với người sử dụng 10

1.6 Ứng dụng của Hệ khuyến nghị 10

1.7 Những thách thức khi xây dựng Hệ khuyến nghị 10

1.7.1 Khởi động nguội/ khởi động yếu(Cold-Start) 10

1.7.2 Dữ liệu thưa 11

1.7.3 Khả năng mở rộng 11

CHƯƠNG 2: ỨNG DỤNG HỌC MÁY TRONG HỆ KHUYẾN NGHỊ 12

2.1 Tổng quan về học máy (MachineLearning) 12

2.2 Phân loại các thuật toán MachineLearning 13

2.2.1 Phân loại dựa theo phương thức học 13

2.2.2 Phân loại dựa trên chức năng 14

2.3 Ứng dụng của học máy 18

2.4 Học máy trong hệ khuyến nghị 19

Trang 7

Khóa luận tốt nghiệp Ứng dụng học máy trong xây dựng hệ khuyến nghị tự động

2.4.1 Thuật toán người láng giềng (Neighborhood-based - NBCF) 19

2.4.2 Phân tích ma trận thành nhân tử (Matrix Factorization - MF) 30

CHƯƠNG 3: ỨNG DỤNG HỌC MÁY TRONG XÂY DỰNG HỆ KHUYẾN NGHỊ CHO WEBSITE “DI ĐỘNG VIỆT” 33

3.1 Giới thiệu website “Di động Việt” 33

3.1.1 Các tính năng chính của website 33

3.1.2 Một số giao diện chính của website: 34

3.2 Đề xuất giải quyết bài toán 39

3.2.1 Lựa chọn phương pháp 39

3.2.2 Xây dựng mô hình 41

3.3 Xây dựng tập dữ liệu huấn luyện 41

3.4 Xây dựng hệ khuyến nghị 42

3.4.1 Xây dựng các tác nhân tham gia hệ thống 42

3.4.2 Biểu đồ hoạt động các quy trình liên quan 42

3.5 Các trường hợp của hệ thống 43

3.5.1 Khởi động nguội (cold-start) 43

3.5.2 Tự động gợi ý 45

KẾT LUẬN 46

TÀI LIỆU THAM KHẢO 1

Trang 8

CF Collaborative Filtering Hệ gợi ý lọc cộng tác

DANH MỤC CÁC CHỮ VIẾT TẮT

Trang 9

DANH MỤC HÌNH VẼ

Hình 1 Mô tả đơn giản hoạt động của RS 3

Hình 2 Hệ khuyến nghị của Amazon.com 4

Hình 3 Hệ khuyến nghị của Amazon.com 4

Hình 4 Ma trận User-Item-Feedback 5

Hình 5 Mô tả kỹ thuật Lọc nội dung 7

Hình 6 Mô tả kỹ thuật Lọc cộng tác 8

Hình 7 Mô tả quan hệ giữa AI-ML-DL 13

Hình 8 Sơ đồ tư duy các thuật toán củahọc máy 17

Hình 9 Minh họa kỹ thuật phân rã ma trận 30

Hình 10 Giao diện trang chủ 34

Hình 11 Giao diện tính năng hiển thịsản phẩm và tin tức 35

Hình 12 Giao diện chi tiết sản phẩm 36

Hình 13 Giao diện tính năng thanh toán 36

Hình 14 Giao diện tính năng giỏ hàng 37

Hình 15 Giao diện tính năng xem chi tiếtđánh giá 37

Hình 16 Giao diện tính năng gửi phản hồivàđánh giá 38

Hình 17 Giao diện trang quản trị 38

Hình 18 Giao diện gửi yêu cầu “Nhận gợi ý” 39

Hình 19 Mô hình thuật toán 41

Hình 20 Biểu đồ hoạt động quy trình quản lý phản hồi khách hàng 42

Hình 21 Biểu đồ hoạt động quy trình nhận gợi ý 43

Hình 22 Giao diện chức năng thêm sở thích để nhận gợi ý cho người dùng mới 44

Hình 23 Giao diện chức năng gợi ý sản phẩm mới cho người dùng 45

Hình 24 Giao diện chức năng đưa ra gợi ý tự động 45

Trang 10

DANH MỤC BẢNG BIỂU

Bảng 1 Ma trận User-Item-Feedback 20

Bảng 2 Ma trận chuẩn hóa (theo điểm trung bình đánh giá của cácuser) 21

Bảng 3 Ma trận tương tự giữa các người dùng 22

Bảng 4 Ma trận dự đoán đầy đủ (theo độ tương tự giữa các user) 23

Bảng 5 Ma trận chuẩn hóa (theo điểm trung bình đánh giá của cácitem) 25

Bảng 6 Ma trận tương tự giữa các mục tin 25

Bảng 7 Ma trận dự đoán đầy đủ (theo độ tương tự giữa các mục tin) 26

Bảng 8 Một số tính năng chính của website Di động Việt 34

Bảng 9 Cơ sở dữ liệu sử dụng 39 Bảng 10 Bảng dữ liệu tbl_binh_luan

40 Bảng 11 Bảng dữ liệu chi tiết bảng tbl_binh_luan

40 Bảng 12 Bảng dữ liệu tbl_san_pham

40 Bảng 13 Bảng dữ liệu chi tiết bảng tbl_san_pham

41

Trang 11

MỞ ĐẦU

Với sự phát triển nhanh của Thương mại điện tử hiện nay, lượng sản phẩm, dịch vụđược đăng tải lên mạng internet thông qua các mô hình kinh doanh qua mạng và hệ thốnggiao dịch điện tử ngày càng khổng lồ Lượng thông tin quá lớn gây không ít khó khăn chongười dùng trong việc đưa ra quyết định là nên mua sản phẩm nào phù hợp với nhu cầucủa mình, dẫn tới yêu cầu phải có các phương pháp tự động thu thập thông tin hoặc một

hệ thống có thể gợi ý người dùng kịp thời, giúp người dùng tìm kiếm thông tin một cáchchính xác và tiết kiệm thời gian hơn Xuất phát từ nhu cầu thực tế đó, hệ khuyến nghị tựđộng ra đời

Hệ khuyến nghị hay hệ thống gợi ý (Recommendation Systems) là hệ thống dựa trênnhững hành vi đã thực hiện trong quá khứ hoặc dựa trên tổng hợp ý kiến đánh giá sảnphẩm, số lần mua hay số lần xem sản phẩm, từ những người dùng tương tự trước, đểđưa ra các lựa chọn phù hợp cho người dùng hiện hành Việc tích hợp hệ khuyến nghị đãmang lại hiệu quả rất lớn trong việc góp phần làm tăng doanh số bán hàng hoặc số lượngtruy cập, số lần download (ví dụ một số hệ khuyến nghị nổi tiếng như Amazon, Youtube,Facebook,.) Đồng thời hệ thống này sẽ giúp đưa ra những gợi ý về sản phẩm theo nhucầu cá nhân để mỗi khách hàng có thể tìm kiếm được những thông tin thú vị hoặc nhữngsản phẩm liên quan một cách dễ dàng hơn

Tuy đóng vai trò quan trọng và xuất hiện phổ biến ở các trang web thương mại điện

tử lớn nước ngoài nhưng hệ khuyến nghị lại chưa phổ biến ở các website thương mại điện

tử ở Việt Nam Thêm vào đó, việc thực hiện tính toán và đưa ra gợi ý thường được xâydựng bởi các thuật toán học máy (Machine Learning) Vì vậy, em đã lựa chọn thực hiện

đề tài: “ỨNG DỤNG HỌC MÁY TRONG XÂY DựNG HỆ KHUYẾN NGHỊ TựĐỘNG” với nội dung gồm các chương như sau:

Chương 1: Giới thiệu tổng quan về bài toán nghiên cứu và hệ khuyến nghị

Chương 2: Ứng dụng học máy trong hệ khuyến nghị

Chương 3: Ứng dụng học máy trong xây dựng hệ khuyến nghị cho website Di độngViệt

Trang 12

NGHIÊN CỨU VÀ HỆ KHUYẾN NGHỊ Tự ĐỘNG

1.1 Hoàn cảnh ra đời bài toán nghiên cứu

Hệ khuyến nghị (Recommendation System - RS) là một trong các ứng dụng rõ ràngcủa Khoa học dữ liệu (Data Science) và là ứng dụng có vai trò rất lớn trong thực tiễn Bởichúng ta đang sống trong thời đại bùng nổ thông tin, đặc biệt là các nguồn thông tin trựctuyến từ Internet Hàng ngày có hàng ngàn bản tin được viết và đưa lên Internet, hàngtrăm bài hát được thu âm, hàng trăm đầu sách được xuất bản Làm thế nào chúng ta có thểtìm được đúng nội dung mình quan tâm? Điểm đến đầu tiên của hầu hết mọi người có lẽ

là Google Nhưng Google chỉ thực sự hữu ích khi ta biết chính xác mình cần cái gì, haynói cách khác, khi ta biết rõ “từ khóa” cần thiết Nhưng khi chúng ta cần tìm một bảnnhạc “hay”, ta có thể sẽ mất rất nhiều thời gian với Google, bởi khái niệm “hay” rấtkhông rõ ràng, và có thể rất khác nhau đối với mỗi người Nếu tham khảo bạn bè trênFacebook, việc này có thể cũng không hữu ích và tốn thời gian khi ta có ít bạn bè hoặc sựquan tâm, hoặc sở thích của bạn bè cũng không giống mình

Những nhu cầu như vậy xảy ra rất thường xuyên với đa số mọi người, và một hệthống khuyến nghị tự động, giúp gợi ý những nội dung phù hợp nhất với mỗi người là nhucầu hết sức phổ biến và cần thiết Hiện nay, trên thế giới nói chung và tại Việt Nam nóiriêng, các hệ khuyến nghị đã trở thành một xu hướng không thể thiếu trong thương maiđiện tử Mục đích của nó là hỗ trợ người dùng tìm kiếm được đúng các thông tin cần thiết,

dự đoán sở thích hay xếp hạng mà người dùng có thể dành cho một sản phẩm nào đó màkhách hàng xem xét tới trong quá khứ Từ đó, gợi ý cho người dùng các sản phẩm liênquan

Hệ thống khuyến nghị rất quan trọng cho sự thành công của thương mại điện tử vàdần trở nên phổ cập trong các ứng dụng khác nhau (ví dụ như Netflix, Google tin tức,Amazon) Các thống kê đã chỉ ra rằng, hai phần ba (⅔) số phim được xem trên hệ thốngNetflix, 38% lượng nhấp chuột trên hệ thống tin tức Google News hay 35% sản phẩm bánđược trên hệ thống thương mại điện tử Amazon đều nhờ vào hệ khuyến nghị tự động

Việc thực hiện tính toán được xây dựng dựa trên các thuật toán học máy (MachineLearning), đưa ra các dự đoán tốt nhất về sản phẩm mà người dùng có thể thích, giúp tối

ưu hóa doanh thu, tăng tín nhiệm, cải thiện trải nghiệm người dùng, tăng hiệu năng hoạtđộng bằng tự động hóa, biến khách hàng tiềm năng trở thành khách hàng thật Ứng dụngcác thuật toán học máy vào hệ thống khuyến nghị đã và đang thay đổi cách chúng ta tìmkiếm sản phẩm, thông tin và các dịch vụ khác Công nghệ đằng sau hệ thống này đã được

Trang 13

Khóa luận tốt nghiệp Ứng dụng học máy trong xây dựng hệ khuyến nghị tự động

phát triển từ cách đây 20 năm, với nhiều công cụ để chúng ta có thể xây dựng một hệkhuyến nghị hiệu quả

Tuy đóng vai trò quan trọng như vậy nhưng hệ khuyến nghị lại chưa phổ biến ở cácwebsite TMĐT ở Việt Nam Vì vậy trong khóa luận này, dựa trên những tìm hiểu của bảnthân về hệ khuyến nghị và ứng dụng của Machine Learning trong hệ khuyến nghị, em sửdụng phần mềm soạn thảo code Sublime Text 3, ngôn ngữ lập trình PHP & MySQL đểxây dựng một hệ khuyến nghị đơn giản cho website “Di Động Việt” Tập dữ liệu đầu vàodựa trên nguồn dữ liệu thu thập từ fanpage với các hoạt động bình luận và đánh giá sảnphẩm (theo hướng tích cực) để xây dựng mối quan hệ giữa người dùng và sản phẩm Kếtquả đưa ra những sản phẩm gợi ý tương thích với sở thích của mỗi người dùng

1.1 Tổng quan về hệ khuyến nghị

“Hệ khuyến nghị (Recommender Systems - RS) là một dạng của Hệ thống lọc thông tin (Information Filtering), nó được sử dụng để dự đoán sở thích (preferences) hay xếp hạng (rating) mà người dùng có thể dành cho một mục thông tin (item) nào đó mà họ chưa xem xét tới trong quá khứ (item có thể là bài hát, bộ phim, đoạn video clip, sách, bài báo, ) nhằm đưa ra những gợi ý về những mục tin phù hợp cho người dùng” (Nguyễn

Thái Nghe, 2013) [1]

Hình 1 Mô tả đơn giản hoạt động của RS

Hai người dùng mua cùng sản phẩm A và B từ một website TMĐT Khi đó chỉ sốtương tự Similarity index của 2 người dùng này sẽ được tính toán Người dùng B có muathêm sản phẩm C, dựa vào kết quả tính toán trước mà hệ thống có thể gợi ý sản phẩm Cđến với người dùng A và nhóm người dùng có sở thích mua sắm tương tự

Trong Amazon.com - Hệ thống bán hàng trực tuyến, để tối ưu hóa khả năng muasắm của khách hàng, Amazon quan tâm đến việc những khách hàng nào đã đang chú ýđến những sản phẩm nào dựa vào dữ liệu quá khứ của họ (có thể là lịch sử truy cập, đánhgiá mà người dùng đã đưa ra cho sản phẩm, thời gian truy cập, số lần click chuột trên sảnphẩm, Từ đó hệ thống sẽ dự đoán được người dùng có thể thích sản phẩm nào và đưa ra

Trang 14

những gợi ý phù hợp Các gợi ý được cung cấp cho người dùng dưới dạng như một danhsách các sản phẩm mà những người dùng tương tự đã thích và các sản phẩm trong danhsách này có thể hoàn toàn mới đối với người đang được gợi ý Mỗi người dùng hoặcnhóm người dùng sẽ nhận được các danh sách gợi ý khác nhau:

Hình 2 Hệ khuyến nghị của Amazon.com

Hình 3 Hệ khuyến nghị của Amazon.com

Trang 15

Một vài hệ khuyến nghị nổi tiếng (R.Baeza, F.Silvestri, 2009) [2]:

Ringo

-Tin tức / báo chí: Tapestry, GroupLens, Lotus Notes, Anatagonomy

- Sách / tài liệu: Amazon.com, Foxtrot, InfoFinder

- Web: Phoaks, Gab, Lab, IfWeb, Let’s Browse

- Nhà hàng: Adaptive Place Advisor, Polylens, Pocket restaurent finder

- Du lịch: Dietorecs, LifestyleFinder, TripAdvisor

Đã có các cuộc hội thảo được tổ chức hằng năm, dành riêng cho các các nghiên cứu,cống hiến liên quan hay các ứng dụng công nghệ gợi ý Tiêu biểu như ACMRecommender Systems, ACMSIGIR, SIGMOD, Các khoa đại học và sau đại học trênthế giới hiện nay cũng đã có môn dành riêng để nghiên cứu lĩnh vực này Sách, báo, tạpchí nghiên cứu về các hệ khuyến nghị đã được phát hành rộng rãi (AI Communication(2008), Online Recommendation System (2008), Zheng Wen, Recommendation SystemBased on Collaborative Filtering (2008),

Trong nước, cũng đã xuất hiện một vài công bố khoa học về lĩnh vực này, như củanhóm tác giả (Nguyễn Duy Phương và Từ Minh Phương, 2013) đã đề xuất phương pháptính toán mức độ tương tự giữa các cặp người dùng hoặc sản phẩm đựa trên đồ thị ngườidùng - sản phẩm Một nghiên cứu khác của nhóm tác giả (Phạm Minh Chuẩn & cộng sự,2013) đã trình bày hệ thống khuyến nghị công việc bằng cách sử dụng phương pháp pháthiện chủ đề ẩn dựa trên mô hình xác suất toán học kết hợp với kỹ thuật dựa trên lọc côngtác (Nguyễn Thái Nghe, 2013) [1]

1.2 Các khái niệm chính của hệ khuyến nghị

Thông thường trong RS sẽ có ba thông tin chính: người dùng (user), mục tin (item)

và phản hồi (feedback) của người dùng trên mục tin đó Các thông tin này được biểu diễn

thông qua một ma trận như sau:

Hình 4 Ma trận User-Item-Feedback

Trang 16

- Mỗi dòng biểu diễn một mục tin; mỗi cột biểu diễn một người dùng; mỗi ô biểudiễn một giá trị phản hồi (feedback) dưới dạng rating từ 1-5 biểu diễn mức độ yêu thíchcủa người dùng cho mục tin tương ứng.

- Những ô có giá trị biểu diễn cho những mục tin mà các người dùng đã xếp hạngtrong quá khứ Những ô trống là những mục tin chưa được xếp hạng

- Các ma trận này thường có rất nhiều ô trống (vì mỗi người dùng thường chỉ xếphạng cho một vài mục tin trong quá khứ) Do vậy ma trận này còn gọi là Sparse Matrix(ma trận thưa)

Nguyễn Thái Nghe (2013) nêu ra rằng: “Nhiệm vụ chính của RS là dựa vào các ô đã

có giá trị trong ma trận trên (dữ liệu thu được từ quá khứ), thông qua mô hình đã đượcxây dựng, RS dự đoán các ô còn trống (của user hiện hành), sau đó sắp xếp kết quả dựđoán (ví dụ, từ cao xuống thấp) và chọn ra Top-N items theo thứ tự, từ đó gợi ý chúngcho người dùng.” [1] Do vậy mà đôi khi RS cũng được gọi là bài toán hoàn thiện ma trận(Matrix Completion)

Nguyễn Thái Nghe (2013) cũng khái quát nhiệm vụ trên thành phát biểu toán họcnhư sau:

- Gọi U là một tập hợp n người dùng (user), | U | = n , và u là một người dùng cụ thể nào đó (uU).

- Gọi I là một tập hợp m mục thông tin (item), | I | = m , và I là một mục thông tin cụ

thể nào đó ( i ∈ I).

- Gọi R là một tập hợp các giá trị phản hồi của người dùng và r ui ∈ R (R C ∙ft) là

xếp hạng của người dùng u trên mục thông tin i.

- Gọi Dtra in⊆ U × I × R là tập dữ liệu huấn luyện

- Gọi D test⊆ U × I × R là tập dữ liệu kiểm thử.

- Gọi r : U × I→ R; ( u, i ) ↦ r ui

Mục tiêu của RS là tìm một hàm r' : U × I → ¾ sao cho một hàm ξ( r, r^ ) thỏa mãn

một điều kiện nào đó Ví dụ, nếu ξ là một hàm ước lượng độ chính xác thì nó cần phải

được tối đa hóa, còn nếu ξ là hàm để đo độ lỗi như Root Mean Squared Error thì nó cần

phải được tối tiểu [1]

u , i X cD

test

Trang 17

1.3 Tổng quan các hướng tiếp cận hệ khuyến nghị

Hiện tại, RS có rất nhiều hướng tiếp cận được đề xuất, tuy nhiên có thể gom chúngvào trong các nhóm chính: Lọc nội dung (Content-based filtering); Lọc cộng tác(Collaborative filtering) và Hỗn hợp hay Lai (Hybrid recommender)

1.4.1 Lọc nội dung (Content-based filtering)

Với kỹ thuật này người dùng sẽ được đề xuất các mục tin tương tự với các mục tin

mà người này đã tương tác trước đây dựa trên nội dung (thuộc tính mô tả sản phẩm đượctrích xuất tự động hoặc được tạo thủ công) Ví dụ: một người dùng mua một dụng cụ thểthao là vợt tennis, hệ thống sẽ đề xuất một số món hàng có trong CSDL có chung thuộctính hoặc chung nhãn gán “dụng cụ thể thao”, “tennis” cho người dùng này, cụ thể như ví

dụ dưới đây là quả bóng tennis

Hình 5 Mô tả kỹ thuật Lọc nội dung

Dữ liệu profile người dùng này thường được lưu dưới dạng vector các từ khóa, cóđược bằng cách phân tích nội dung mô tả của mục tin item thông qua các kỹ thuật phân

tích từ khóa tìm kiếm thông tin (information retrieval)

Như vậy việc xây dựng profile cho mỗi người dùng có thể được coi là các bài toánRegression hoặc Classsification, với tập dữ liệu huấn luyện (training data) là cặp dữ liệu

(item, rating) mà người dùng đã đánh giá trước đó, nhằm sắp xếp các mục tin vào từng

nhóm hoặc đi tìm các đặc trưng của từng mục tin Các mục tin trong hồ sơ không phụ

thuộc vào người dùng, mà thường phụ thuộc vào các đặc điểm mô tả của mục tin hoặc

cũng có thể được xác định bằng cách yêu cầu người dùng gắn nhãn từ khóa

Ưu điểm:

- Lọc nội dung có thể đưa ra được gợi ý bất kể item cần gợi ý là gì bởi kỹ thuật nàychỉ sử dụng các đặc trưng item và so sánh nó với item khác

- Không yêu cầu tri thức về một phạm vi cụ thể

- Chất lượng tăng theo thời gian

Trang 18

- Làm việc hiệu quả với những item có thể biểu diễn dưới dạng một tập các đặctrưng.

Nhược điểm:

- Nếu item không có sẵn đặc tính đặc trưng thì cần phải thêm cho item một cách thủcông, do vậy nếu số lượng item lớn thì sẽ mất nhiều thời gian và công sức Nếu tập itemchứa toàn item đơn nhất với các đặc trưng khác nhau thì hệ khuyến nghị sẽ không có giátrị

- Do bị giới hạn bởi các đặc trưng item nên có thể gặp vấn đề về khởi động nguội(cold-start) hay vấn đề mâu thuẫn giữa tính ổn định và tính mềm dẻo (Michael J Pazzani

& Daniel Billsus, 2007)[3]

1.4.1 Lọc cộng tác (Collaborative filtering)

Lọc cộng tác là kỹ thuật được triển khai rộng rãi nhất và thành công nhất Ngườidùng sẽ nhận được các item gợi ý xuất phát từ những người dùng có sở thích và thị hiếutương đồng với mình

Hình 6 Mô tả kỹ thuật Lọc cộng tác

ưu điểm:

- Không yêu cầu tri thức về sản phẩm

- Giảm thiểu tiêu tốn bộ nhớ và thời gian thực hiện so với lọc nội dung

profile

người dùng cụ thể

Nhược điểm:

- Vấn đề “cold-start” do người dùng mới hoặc do dữ liệu không đầy đủ thông tin về

sở thích, xếp hạng dẫn đến không đưa ra được nhóm người dùng tương tự

Trang 19

Khóa luận tốt nghiệp Ứng dụng học máy trong xây dựng hệ khuyến nghị tự động

1.4.2 Lai (Hybrid recommender)

Phương pháp lai là kỹ thuật kết hợp lọc cộng tác và lọc nội dung để RS hoạt độnghiệu quả hơn Kỹ thuật này cũng có thể được sử dụng để khắc phục một số vấn đề thườnggặp trong RS như “cold-start” và dữ liệu thưa Có thể kết hợp bằng nhiều cách như:

- Đưa ra các dự đoán của kỹ thuật lọc nội dung riêng và lọc cộng tác riêng và sau đókết hợp chúng lại

- Thêm một số đề xuất của kỹ thuật lọc nội dung vào lọc cộng tác và ngược lại

- Kết hợp hai kỹ thuật lọc cộng tác và lọc nội dung thành một mô hình thống nhất

Ví dụ, Netflix đưa ra các đề xuất các bộ phim dựa trên sở thích xem của nhữngngười dùng tương tự (lọc cộng tác) và dựa trên những bộ phim có chung đặc điểm vớinhững bộ phim mà người dùng đánh giá (lọc nội dung)

Theo Robin Burke (2002), có bảy kỹ thuật kết hợp cơ bản sau:

1 Trọng số (Weighted): các gợi ý sẽ được đánh trọng số theo quy ước cho trước

2 Chuyển đổi (Switching): Hệ thống chọn lựa giữa các thành phần gợi ý đã được đềxuất và áp dụng

3 Hỗn hợp (Mixed): Các kết quả từ những gợi ý thành phần khác nhau được trộnlẫn

để đưa ra đề xuất cho người dùng

4 Kết hợp tính năng (Feature Combination): Các tính năng được lấy từ các nguồntri

thức khác nhau được kết hợp lại để đưa ra cho một thuật toán gợi ý duy nhất

5 Tính năng tăng cường (Feature Augmentation): Một kỹ thuật gợi ý được sử dụng

để tính toán một tính năng hoặc tập hợp các tính năng, kết quả sẽ là một phần của đầu vàocho kỹ thuật tiếp theo

6 Thác nước (Cascade): Các gợi ý sẽ có thứ tự ưu tiên nghiêm ngặt, với những ưutiên thấp hơn không được thay đổi quyết định của những ưu tiên trên nó

7 Cấp độ meta (Meta-level): Một hệ gợi ý được sử dụng để tạo ra một vài kiểu môhình, đầu ra sẽ được hệ khuyến nghị tiếp theo sử dụng

1.2 Chức năng của hệ khuyến nghị

1.5.1 Đối với nhà cung cấp dịch vụ

FrancescoRicci & cộng sự (2010) đã đưa ra một số chức năng sau của hệ gợi ý đốivới nhà cung cấp dịch vụ như sau [6]:

- Tăng số lượng sản phẩm bán được

- Bán được các sản phẩm đa dạng hơn

- Nâng cao sự hài lòng của người dùng

Trang 20

- Nâng cao sự trung thành của người dùng.

- Hiểu biết tốt hơn về những mong muốn của người dùng

1.5.2 Đối với người sử dụng

- Tìm ra một số sản phẩm tốt nhất

- Gợi ý một nhóm sản phẩm khác liên quan có thể cũng phù hợp với mình

- Cải thiện profile người dùng

1.4 Những thách thức khi xây dựng hệ khuyến nghị

1.7.1 Khởi động nguội/ khởi động yếu (Cold-Start)

Cold-start xảy ra do hệ thống chưa thu thập đủ thông tin dẫn đến không thể tạo cácgợi ý hữu ích Ba nguyên nhân dẫn đến vấn đề này gồm: mục tin mới, người dùng mới và

do hệ thống mới Khi có một người dùng mới bắt đầu sử dụng thì hệ thống hoàn toànkhông có thông tin gì về người đó cũng như khi thêm một mục tin mới vào hệ thống thìcũng không có bất kì phản hồi của người dùng nào về mục tin này Còn nếu hệ thống mớiđược đưa vào sử dụng sẽ gây ra đồng thời cả hai vấn đề trên

Đối với kỹ thuật lọc nội dung, hệ thống phải xây dựng mô hình chi tiết về sở thích vàthị hiếu người dùng tường minh bằng cách truy vấn người dùng, hoặc không tường minhbằng cách giám sát các hành vi sử dụng hệ thống của người dùng Do vậy, để tránh cold-start người dùng phải thực sự sử dụng hệ thống để góp phần xây dựng profile của mình.(Xiaoyuan Su & Taghi M.Khoshgoftaar, 2009) [5]

Đối với kỹ thuật lọc cộng tác, RS xác định độ tương tự của các người dùng trước vớingười dùng hiện hành để đề xuất các mục tin mà những người dùng tương tự đó thích nênviệc đưa ra gợi ý sẽ thất bại nếu các mục tin chưa được đánh giá, xếp hạng bởi bất kỳngười dùng nào (Xiaoyuan Su & Taghi M.Khoshgoftaar, 2009) [5]

Trang 21

Khóa luận tốt nghiệp Ứng dụng học máy trong xây dựng hệ khuyến nghị tự động

1.7.2 Dữ liệu thưa

Dữ liệu thưa là một vấn đề thường gặp phải trong các RS sử dụng kỹ thuật lọc cộngtác Vấn đề xảy ra khi dữ liệu về thông tin phản hồi (feedback) không đủ để xác địnhnhững người láng giềng gây ảnh hưởng chính đến chất lượng của RS Lọc cộng tácthường sử dụng ma trận thưa để biểu diễn dữ liệu Khi số lượng người dùng và mục tintăng lên, đồng nghĩa với ma trận user-item-feedback sẽ lớn hơn, các ô trống chưa đượcđánh giá cũng sẽ tăng lên dẫn đến dữ liệu thưa Có nhiều phương pháp đã được đề xuấtnhưng hầu hết chỉ đều thành công trong việc cung cấp các gợi ý tốt hơn mà chưa có một

mô hình chung để giải quyết triệt để vấn đề này (Xiaoyuan Su & Taghi M.Khoshgoftaar,2009)[5]

1.7.3 Khả năng mở rộng

Đối với nhiều hệ khuyến nghị có nhiều người sử dụng và nhiều sản phẩm, duy trìkhả năng mở rộng là một vấn đề thách thức Hầu hết các hệ khuyến nghị sử dụng các kiểulọc cộng tác khác nhau để xây dựng các đề xuất các sản phẩm liên quan đến mối quan tâmcủa người dùng Tuy nhiên, các kỹ thuật lọc cộng tác này yêu cầu tính toán rất nhiều tùytheo số lượng người dùng và sản phẩm trong cơ sở dữ liệu (mà thường số lượng ngườidùng và sản phẩm rất lớn), do vậy mà các hệ khuyến nghị sẽ bị ảnh hưởng nghiêm trọngbởi vấn đề khả năng mở rộng Thêm vào đó, các phương pháp đề xuất để xử lý vấn đề khảnăng mở rộng và thúc đẩy xây dựng các gợi ý dựa trên cơ chế xấp xỉ Ngay cả khi chúng

ta cải tiến hiệu năng, hầu hết kết quả đưa ra giảm tính chính xác

Trang 22

Trí tuệ nhân tạo (Artificial Intelligence - AI) là các kỹ thuật giúp cho máy tính thựchiện được những công việc như con người Học máy (Machine Learning - ML) là mộtnhánh của AI Hiện không có khái niệm chính thức nào nhưng khái quát lại, Học máy làcác kỹ thuật giúp cho hệ thông máy tính có khả năng " tự học" từ dữ liệu để giải quyếtnhững công việc cụ thể Ví dụ như các máy tính có thể tự động phân loại các thư có chứaquảng cáo và tự động xếp thư vào thư mục rác mà không cần phải dán nhãn “spam” hayphải chỉ trước bất kỳ quy tắc nào cả.

Tom Mitchell trong cuốn sách Machine Learning cũng đã cung cấp một định nghĩa:

“A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.”[7] Ta có thể diễn giải như sau: Một chương trình máy tính

được gọi là “học” từ kinh nghiệm E với tác vụ T và được đánh giá bởi độ đo P khi và chỉkhi máy tính khiến tác vụ T này cải thiện được độ chính xác P thông qua dữ liệu E chotrước Đây là các thành phần cơ bản mà bất cứ hệ thống học máy nào cũng có Với ví dụbên trên, dữ liệu E cho trước là tập dữ liệu email, tác vụ T là việc xác định email có phải

là email spam hay không Mô hình này được đánh giá bởi độ chính xác P và có thể tiếnhành cải thiện mô hình dựa vào độ đo này

Một nhánh nhỏ của ML gần đây rất được quan tâm và ưa chuông là Học sâu (DeepLearning) Deep Learning tập trung giải quyết các vấn đề liên quan đến mạng thần kinhnhân tạo, nâng cấp các công nghệ như nhận diện giọng nói hay xử lý ngôn ngữ tự nhiên.mang lại những thành tựu vô cùng to lớn, mở ra kỉ nguyên công nghệ mới cho con người

Ví dụ như AlphaGo của Google đã chiến thắng nhà vô địch cờ vây Lee Sedol vào tháng 3năm 2016 Tính năng nhận diện khuôn mặt khá chính xác của Facebook được triển khaivào năm 2016 Trợ lý ảo Siri của Apple được giới thiệu từ năm 2006 Xe tự lái củaGoogle được thử nghiệm chính thức trên đường phố vào năm 2015 ” (Đỗ Minh Hải)[12]

Trang 23

Khóa luận tốt nghiệp Ứng dụng học máy trong xây dựng hệ khuyến nghị tự động

Hình 7 Mô tả quan hệ giữa AI-ML-DL

2.1 Phân loại các thuật toán Machine Learning

Có hai cách phân loại các thuật toán ML là dựa theo phương thức học và dựa theochức năng của mỗi thuật toán

2.2.1 Phân loại dựa theo phương thức học

2.2.1 a Học có giám sát (Supervied Learning)

Học có giám sát là nhóm phổ biến nhất trong các thuật toán ML Nhóm bao gồm cácthuật toán dự đoán đầu ra (output) của một dữ liệu mới (new input) dựa trên các cặp (I/O)

đã biết từ trước Các cặp dữ liệu này còn được gọi là (data, label), tức (dữ liệu, nhãn)

Một cách toán học, Học có giám sát là khi chúng ra có một tập hợp biến đầu vào X =

i X1,X2, .,X n } và một tập hợp nhãn tương ứng Y = {y1,y 2 , ,y n }, trong đó xj, y j là cácvector Các cặp dữ liệu biết trước (xj, yj) ∈ X × Y được gọi là tập training data (dữ liệu

huấn luyện) Từ tập traing data này, chúng ta cần tạo ra một hàm số ánh xạ mỗi phần tử từ

tập X sang một phần tử (xấp xỉ) tương ứng của tập Y: yj≈ f (x i ), V i 1 ,2 , , N Mục đích

là xấp xỉ hàm số f thật tốt để khi có một dữ liệu x mới, chúng ta có thể tính được nhãn tương ứng của nó y = f(x)

Ví dụ, trong bài toán nhận dạng chữ viết tay, input là ảnh của hàng nghìn chữ sốđược viết bởi nhiều người khác nhau Thuật toán cần tạo ra một mô hình tức một hàm số

mà đầu vào là một bức ảnh và đầu ra là một chữ số tương ứng, như vậy khi nhận đượcmột bức ảnh mô hình sẽ dự đoán có chữ số nào trong đó

Học có giám sát còn được tiếp tục chia ra thành hai loại chính là Phân loại(Classification) và Hồi quy (Regression)

Trang 24

- Phân loại là bài toán có các nhãn (label) của dữ liệu đầu vào được chia thành một

số hữu hạn nhóm Ví dụ: nhận dạng email spam hay nhận diện khuôn mặt của Facebook

- Nếu nhãn của dữ liệu đầu vào là một giá trị thực cụ thể (ví dụ: căn phòng X m2) thìbài toán đó gọi là Hồi quy

2.2.1 b Học không giám sát (Unsupervised Learning)

Học không giám sát khác với học có giám sát ở chỉ có dữ liệu đầu vào không biếtđược outcome hay label Nói một cách toán học, học không giám sát là khi chúng ta chỉ

có dữ liệu vào X mà không biết nhãn Y tương ứng Thuật toán sẽ dựa vào cấu trúc của dữliệu để thực hiện một công việc nào đó như phân nhóm (clustering) hoặc giảm số chiều dữliệu (dimension reduction) để thuận tiện trong việc lưu trữ và tính toán

Học không giám sát cũng được chia tiếp thành hai loại là phân nhóm (Clustering) vàkhai phá luật kết hợp (Association)

- Phân nhóm là bài toán phân nhóm toàn bộ dữ liệu X thành các nhóm nhỏ dựa trên

sự liên quan giữa các dữ liệu trong mỗi nhóm Ví dụ: phân nhóm khách hàng dựa trênhành vi mua hàng

- Khai phá luật kết hợp là bài toán giúp khám phá ra một quy luật dựa trên nhiều dữliệu cho trước Ví dụ: những khách hàng mua sách thường có xu hướng mua thêm búthoặc kẹp sách, từ đó có thể tạo ra một RS thúc đẩy nhu cầu mua sắm của khách hàng

2.2.1 c Học bán giám sát (Semi-Supervised Learning)

Học bán giám sát nằm giữa hai nhóm học có giám sát và học không giám sát Nóitheo cách toán học là dữ liệu X đầu vào lớn nhưng chỉ một phần trong chúng được gánnhãn Trên thực tế, rất nhiều các bài toán ML thuộc vào nhóm này vì việc thu tập, gánnhãn dữ liệu tốn nhiều thời gian và chi phí

2.2.1 d Học tăng cường (Reinforcement Learning)

Học tăng cường là các bài toán giúp cho một hệ thống tự động xác định hành vi dựatrên hoàn cảnh để đạt được lợi ích cao nhất Các bài toán này đều không có cặp dữ liệugán nhãn X, Y đầu vào

2.2.2 Phân loại dựa trên chức năng

Theo PhD Jason Brownlee, các thuật toán phân loại dựa theo một số chức năng vàphân nhánh của chúng như sau [8]:

- Regression Algorithms (Thuật toán hồi quy)

+ Linear Regression (Hồi quy tuyến tính)

+ Logistic Regression (Hồi quy logistic)

+ Stepwise Regression (Hồi quy từng bước)

Trang 25

Khóa luận tốt nghiệp Ứng dụng học máy trong xây dựng hệ khuyến nghị tự động

+ Ordinary Least Squares Regression (OLSR)

+ Multivariate Adaptive Regression Splines (MARS)

+ Locally Estimated Scatterplot Smoothing (LOESS)

- Classification Algorithms (Thuật toán phân lớp)

+ Linear Classifier (Phân loại tuyến tính)

+ Kernel SVM

+ Sparse Representation-based classification (SRC)

+ Support Vector Machine (SVM)

- Instance-based Algorithms (Thuật toán dựa theo sơ đồ)

+ k-Nearest Neighbor (kNN)

+ Self-Organizing Map (SOM)

+ Locally Weighted Learning (LWL)

+ Learning Vector Quantization (LVQ)

- Regularization Algorithms (Thuật toán chuẩn hóa)

+ Ridge Regression

+ Elastic Net

+ Least-Angle Regression (LARS)

+ Least Absolute Shrinkage và Selection Operator (LASSO)

- Bayesian Algorithms (Thuật toán Bayes)

+ Naive Bayes

+ Gaussian Naive Bayes

+ Averaged One-Dependence Estimators (AODE)

+ Bayesian Belief Network (BBN)

+ Bayesian Network (BN)

+ Multinomial Naive Bayes

- Clustering Algorithms (Thuật toán phân cụm)

Trang 26

+ Hopfield Network

+ Radial Basis Function Network (RBFN)

+ Back-Propagation

- Dimensionality Reduction Algorithms (Thuật toán giảm kích thước)

+ Principal Component Analysis (PCA)

+ Principal Component Regression (PCR)

+ Partial Least Squares Regression (PLSR)

+ Sammon Mapping

+ Mixture Discriminant Analysis (MDA)

+ Quadratic Discriminant Analysis (QDA)

+ Flexible Discriminant Analysis (FDA)

+ Linear Discriminant Analysis (LDA)

+ Bootstrapped Aggregation (Bagging)

+ Stacked Generalization (blending)

+ Gradient Boosting Machines (GBM)

+ Gradient Boosted Regression Trees (GBRT)

- Dicision Tree (Thuật toán cây quyết định)

+ Iterative Dichotomiser 3 (ID3)

+ Classification và Regression Tree (CART)

Trang 27

Khóa luận tốt nghiệp Ứng dụng học máy trong xây dựng hệ khuyến nghị tự động

Hình 8 Sơ đồ tư duy các thuật toán của học máy

Trang 28

phủ nhận vai trò vô cùng quan trọng của ML trong việc nâng cao hiệu quả tổ chức vậnhành, kiểm soát chi phí cũng như tạo ra lợi thế cạnh tranh Dưới đây là một số ngành/ lĩnhvực đang triển khai ML:

- Dịch vụ tài chính - ngân hàng: Với sự trợ giúp của ML, các doanh nghiệp hoạtđộng trong ngành/lĩnh vực này có thể xác định được những cá nhân hoặc tổ chức cóprofile rủi ro tài chính cao hay thể tìm ra và ngăn chặn gian lận tài chính kịp thời MLcũng được sử dụng để xác định các cơ hội đầu tư và thương mại, thời điểm giao dịch hợplý

- Vận tải: Dựa trên lịch sử du lịch, di chuyển và mô hình di chuyển trên nhiều tuyếnđường khác nhau, ML có thể giúp các công ty vận tải dự đoán các vấn đề tiềm ẩn có thểphát sinh trên một số tuyến nhất định và theo đó khuyên khách hàng của họ nên chọntuyến khác Các công ty vận tải và các tổ chức giao hàng đang ngày càng sử dụng ML đểthực hiện phân tích và mô hình hóa dữ liệu từ đó giúp khách hàng của họ có thể đưa rađược quyết định di chuyển sáng suốt, thông minh

- Y tế và chăm sóc sức khỏe: ML trở thành một xu hướng chăm sóc sức khỏe hiệnđang phát triển rất nhanh chóng Ứng dụng rõ nhất là sự ra đời của máy cảm biến và cácthiết bị đeo được sử dụng dữ liệu để truy cập sức khỏe của bệnh nhân Các cảm biến trongthiết bị đeo cung cấp thông tin bệnh nhân theo thời gian thực, như tình trạng sức khỏetổng thể, nhịp tim, huyết áp và các thông số quan trọng khác Các bác sĩ và chuyên gia y

tế có thể sử dụng thông tin này để phân tích tình trạng sức khỏe của một cá nhân, rút ramột mô hình từ lịch sử bệnh nhân và dự đoán sự xuất hiện của bất kỳ bệnh nào trongtương lai tạo điều kiện cho các chuyên gia y tế có thể chẩn đoán và đưa ra phương thứcđiều trị tốt hơn

- Tiếp thị và bán hàng: Các doanh nghiệp đang sử dụng công nghệ học máy để phântích lịch sử mua hàng của khách hàng và đưa ra các đề xuất sản phẩm được cá nhân hóacho lần mua tiếp theo của họ Đây chính là Hệ khuyến nghị - RS

Ngoài ra còn một số ứng dụng nổi bật khác của công nghệ Học máy phải kể đếnnhư:

- Xe không người lái có thể tự lái hàng trăm triệu dặm

- Nhận diện chữ viết tay hay tính năng nhận diện khuôn mặt của Facebook

- Các trợ lý ảo Siri, Alexa, Cortana, Google Assistant, xử lý ngôn ngữ tự nhiên đểnhận dạng giọng nói, hiểu và phát âm được

Trang 29

2.3 Học máy trong hệ khuyến nghị

Như trong chương 2 đã trình bày, hệ khuyến nghị bao gồm hai nhóm lớn chính làLọc nội dung (Content-based filtering) và Lọc cộng tác (Collaborative filtering) Trong

đó, Lọc nội dung xây dựng mô hình cho mỗi người dùng không phụ thuộc vào các ngườidùng khác mà phụ thuộc vào profile của mỗi mục tin Profile này có thể được xây dựngbởi nhà cung cấp mục tin hoặc được thu thập bằng cách yêu cầu người dùng gắn nhãn chocác mục tin này và thường sử dụng kỹ thuật Xử lý ngôn ngữ tự nhiên (Natural LanguageProcessing - NLP) Nhưng điều này lại dẫn đến:

- Không tận dụng được thông tin về hành vi, sở thích từ các người dùng khác mà cácthông tin này thường rất hữu ích vì được phân thành một vài nhóm đơn giản, dễ dàng suyluận ra hành vi, sở thích của những người dùng còn lại

- Profile cho mỗi mục tin khó xây dựng vì không phải người dùng nào cũng sẵn sànggắn nhãn cho mục tin hoặc có nhưng cũng sẽ thường mang xu hướng thiên vị

- Phần xử lý các từ gần/đồng nghĩa, viết tắt, viết sai chính tả, đan xen nhiều ngônngữ cũng rất phức tạp khi sử dụng kỹ thuật NLP

Cách giải quyết những nhược điểm trên là sử dụng kỹ thuật Lọc cộng tác(Collaborative Filtering - CF) Do vậy mục 3.4 này sẽ chỉ trình bày về ứng dụng của họcmáy trong hệ khuyến nghị dựa trên kỹ thuật Lọc công tác

Khi nói đến Lọc cộng tác mà không chú thích gì thêm thì phương pháp thông thườngđược sử dụng sẽ là “Thuật toán người láng giềng” (Neighborhood-based - NBCF).Phương pháp còn lại là “Phân tích ma trận thành nhân tử” (Matrix Factorization)

2.4.1 Thuật toán người láng giềng (Neighborhood-based - NBCF)

Có hai cách tiếp cận của lọc cộng tác theo thuật toán người láng giềng là dựa trên sựtương tự giữa các người dùng và dựa trên sự tương tự giữa mục tin

2.4.1 a Thuật toán người láng giềng dựa trên người dùng

Thuật toán người láng giềng dựa trên người dùng xác định độ tương tự giữa hai

người dùng U 1 và U 2 thông qua việc so sánh các đánh giá của họ trên cùng mục tin Sau

đó dự đoán kết quả đánh giá mục tin i của người dùng U 1 dựa vào các đánh giá của ngườidùng tương tự U 2 Theo Herlocker & cộng sự (1999), độ tương tự giữa hai người dùng

sau:

Trang 30

+ và ilà những đánh giá của người dùng U 1, U 2cho mục tin i.+ rr rrr là trung bình các đánh giá của hai người dùng này.

Sau khi tính toán độ tương tự giữa các người dùng, để có thể dự đoán đánh giá củangười dùng U 1 trên mục tin i, ta lấy trọng số trung bình của tất cả các đánh giá trên mụctin đó của người dùng tương tự U 2theo công thức sau (Resnick & cộng sự, 1994):

Giả sử có các người dùng và các mục tin trên, các giá trị trong mỗi ô thể hiện số sao

mà mỗi người dùng đã đánh giá cho mỗi mục tin với giá trị cao hơn thể hiện mức độ yêuthích cao hơn Các dấu “?” là các giá trị cần phải dự đoán

Trong ma trận thường có rất nhiều dấu “?” vì người dùng thường rất lười đánh giá

Do đó ta cần khắc phục bằng cách điền vào các giá trị sao cho không làm ảnh hưởngnhiều tới sự tương đồng giữa các người dùng Nếu điền giá trị “0” thì giá trị này khôngphù hợp do 0 tương đương với mức yêu thích thấp nhất Nếu điền giá trị “2.5” (trung bìnhcộng của mức đánh giá thấp nhất và cao nhất), thì với các người dùng dễ tính thường cho

Ngày đăng: 07/04/2022, 11:20

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nguyen Thai Nghe (2013), An introduction to factorization technique for building recommendation systems, Journal of Science - University of Da Lat Sách, tạp chí
Tiêu đề: An introduction to factorization technique forbuilding recommendation systems
Tác giả: Nguyen Thai Nghe
Năm: 2013
[2] R.Baeza & F.Silvestri (2009), Web Query Log Mining, ACM SIGIR Conference tutorial Sách, tạp chí
Tiêu đề: Web Query Log Mining
Tác giả: R.Baeza & F.Silvestri
Năm: 2009
[3] Michael J. Pazzani & Daniel Billsus (2007), Content-based Recommendation Systems , Rutgers University, ASBIII, 3 Rutgers Plaza New Brunswick Sách, tạp chí
Tiêu đề: Content-based RecommendationSystems
Tác giả: Michael J. Pazzani & Daniel Billsus
Năm: 2007
[4] Robin Burke (2002), Hybrid Web Recommender Systems , School of Computer Science, Telecommunications and Information Systems, DePaul University, 243 S.Wabash Ave.Chicago, Illinois, USA Sách, tạp chí
Tiêu đề: Hybrid Web Recommender Systems
Tác giả: Robin Burke
Năm: 2002
[5] Xiaoyuan Su & Taghi M.Khoshgoftaar (2009), A Survey of Collaborative Filtering Techniques , Department of Computer Scienceand Engineering, Florida Atlantic University Sách, tạp chí
Tiêu đề: A Survey of CollaborativeFiltering Techniques
Tác giả: Xiaoyuan Su & Taghi M.Khoshgoftaar
Năm: 2009
[6] Francesco Ricci, Lior Rokach, BrachaShapira, Paul Bkantor (2010), Recommender Systems Handbook, Springer New York Dordrecht Heidelberg London Sách, tạp chí
Tiêu đề: Recommender Systems Handbook
Tác giả: Francesco Ricci, Lior Rokach, BrachaShapira, Paul Bkantor
Năm: 2010
[9] Koren, Y. (2010), Factor in the neighbors: Scalable and accurate collaborative filtering, ACM Transactions on Knowledge Discovery from Data (TKDD), 4(1), 1 Sách, tạp chí
Tiêu đề: Factor in the neighbors: Scalable and accurate collaborativefiltering
Tác giả: Koren, Y
Năm: 2010
[10] Feng, M., Heffernan, N., & Koedinger, K. (2009), Addressing the assessment challenge with an online system that tutors as it assesses, 19(3), P243-266 Sách, tạp chí
Tiêu đề: Addressing the assessmentchallenge with an online system that tutors as it assesses
Tác giả: Feng, M., Heffernan, N., & Koedinger, K
Năm: 2009
[11] Ekstrand, Michael D., John T. Riedl, and Joseph A. Konstan (2011), Collaborative filtering recommender systems’ ”, Foundations and Trends® in Human- Computer Interaction 4.2, P81-173 Sách, tạp chí
Tiêu đề: Collaborative filtering recommender systems’"”
Tác giả: Ekstrand, Michael D., John T. Riedl, and Joseph A. Konstan
Năm: 2011

HÌNH ẢNH LIÊN QUAN

Hình 1. Mô tả đơn giản hoạt động của RS - Ứng dụng học máy trong xây dựng hệ thống gợi ý,khoá luận tốt nghiệp
Hình 1. Mô tả đơn giản hoạt động của RS (Trang 16)
Hình 2. Hệkhuyến nghị của Amazon.com - Ứng dụng học máy trong xây dựng hệ thống gợi ý,khoá luận tốt nghiệp
Hình 2. Hệkhuyến nghị của Amazon.com (Trang 17)
Hình 4. Ma trận User-Item-Feedback - Ứng dụng học máy trong xây dựng hệ thống gợi ý,khoá luận tốt nghiệp
Hình 4. Ma trận User-Item-Feedback (Trang 19)
Hình 5. Mô tả kỹ thuật Lọc nội dung - Ứng dụng học máy trong xây dựng hệ thống gợi ý,khoá luận tốt nghiệp
Hình 5. Mô tả kỹ thuật Lọc nội dung (Trang 22)
Hình 7. Mô tả quan hệ giữa AI-ML-DL - Ứng dụng học máy trong xây dựng hệ thống gợi ý,khoá luận tốt nghiệp
Hình 7. Mô tả quan hệ giữa AI-ML-DL (Trang 29)
Hình 8. Sơ đồ tư duy các thuật toán củahọc máy - Ứng dụng học máy trong xây dựng hệ thống gợi ý,khoá luận tốt nghiệp
Hình 8. Sơ đồ tư duy các thuật toán củahọc máy (Trang 33)
Bảng 4. Ma trận dự đoán đầy đủ (theo độ tương tự giữa cácuser) - Ứng dụng học máy trong xây dựng hệ thống gợi ý,khoá luận tốt nghiệp
Bảng 4. Ma trận dự đoán đầy đủ (theo độ tương tự giữa cácuser) (Trang 41)
Bảng 7. Ma trận dự đoán đầy đủ (theo độ tương tự giữa các mục tin) - Ứng dụng học máy trong xây dựng hệ thống gợi ý,khoá luận tốt nghiệp
Bảng 7. Ma trận dự đoán đầy đủ (theo độ tương tự giữa các mục tin) (Trang 44)
Hình 9. Minh họa kỹ thuật phân rã ma trận - Ứng dụng học máy trong xây dựng hệ thống gợi ý,khoá luận tốt nghiệp
Hình 9. Minh họa kỹ thuật phân rã ma trận (Trang 48)
Bảng 8. Một số tính năng chính của website Di động Việt - Ứng dụng học máy trong xây dựng hệ thống gợi ý,khoá luận tốt nghiệp
Bảng 8. Một số tính năng chính của website Di động Việt (Trang 53)
Hình 11. Giao diện tính năng hiển thịsản phẩm và tin tức - Ứng dụng học máy trong xây dựng hệ thống gợi ý,khoá luận tốt nghiệp
Hình 11. Giao diện tính năng hiển thịsản phẩm và tin tức (Trang 54)
SÀN PHẨM BÁN CHẠY - Ứng dụng học máy trong xây dựng hệ thống gợi ý,khoá luận tốt nghiệp
SÀN PHẨM BÁN CHẠY (Trang 54)
Hình 12. Giao diện chi tiết sản phẩm - Ứng dụng học máy trong xây dựng hệ thống gợi ý,khoá luận tốt nghiệp
Hình 12. Giao diện chi tiết sản phẩm (Trang 55)
Hình 14. Giao diện tính năng giỏ hàng - Ứng dụng học máy trong xây dựng hệ thống gợi ý,khoá luận tốt nghiệp
Hình 14. Giao diện tính năng giỏ hàng (Trang 56)
Hình 16. Giao diện tính năng gửi phản hôi vàđánh giá - Ứng dụng học máy trong xây dựng hệ thống gợi ý,khoá luận tốt nghiệp
Hình 16. Giao diện tính năng gửi phản hôi vàđánh giá (Trang 57)

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w