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

Xây dựng hệ thống gợi ý phim movie recommendation

22 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Xây Dựng Hệ Thống Gợi Ý Phim Movie Recommendation
Tác giả Nguyễn Trọng Đạt, Nguyễn Đình Tuyền, Trần Minh Anh
Người hướng dẫn Vũ Văn Định
Trường học Trường Đại Học Điện Lực
Chuyên ngành Công Nghệ Thông Tin
Thể loại báo cáo chuyên đề
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 22
Dung lượng 2,41 MB

Nội dung

Để cung cấp gợi ý, máy tính so sánh các đối tượng bằng cách sử dụngkhoảng cách cosin và Euclide dựa trên hồ sơ sở thích của khách hàng và mô tả của mặt hàng thể loại, danh mục sản phẩm,

Trang 1

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN NHẬP MÔN HỌC MÁY

ĐỀ TI:

XÂY DỰNG HỆ THỐNG GỢI Ý PHIM MOVIE RECOMMENDATION Sinh viên thực hiện : NGUYỄN TRỌNG ĐẠT

NGUYỄN ĐÌNH TUYỀN TRẦN MINH ANH Giảng viên hướng dẫn : VŨ VĂN ĐỊNH

Hà Nội, tháng 05 năm 2023

Trang 2

2 Nguyễn Trọng Đạt

20810340154

Làm báo cáo +triển khai code

3 Trần Minh Anh Thu thập dữ liệu

csv

Giảng viên chấm 1 :

Giảng viên chấm 2 :

Trang 3

LỜI CẢM ƠN

Lời đầu tiên, em xin chân thành gửi lời cảm ơn tới các thầy côgiáo trong Trường Đại học Điện Lực nói chung và các thầy cô giáotrong Khoa Công nghệ thông tin nói riêng đã tận tình giảng dạy, truyềnđạt cho chúng em những kiến thức cũng như kinh nghiệm quý báutrong suốt quá trình học Đặc biệt, chúng em xin gửi lời cảm ơn đến

Vũ Văn Định - giảng viên Khoa Công nghệ thông tin - Trường Đại họcĐiện Lực Thầy đã tận tình theo sát giúp đỡ, trực tiếp chỉ bảo, hướngdẫn trong suốt quá trình nghiên cứu và học tập của chúng em Trongthời gian học tập với thầy, nhóm chúng em không những tiếp thu thêmnhiều kiến thức bổ ích mà còn học tập được tinh thần làm việc, thái độnghiên cứu khoa học nghiêm túc, hiệu quả Đây là những điều rất cầnthiết cho chúng em trong quá trình học tập và công tác sau này Dothời gian thực hiện có hạn kiến thức còn nhiều hạn chế nên bài làm củachúng em chắc chắn không tránh khỏi những thiếu sót nhất định Emrất mong nhận được ý kiến đóng góp của thầy cô giáo và các bạn để

em có thêm kinh nghiệm và tiếp tục hoàn thiện đồ án của mình.Chúng em xin chân thành cảm ơn!

Trang 4

MỤC LỤC

LỜI MỞ ĐẦU 1

CHƯƠNG 1: TỔNG QUAN VỀ HỌC MÁY 2

1.1 Tổng quan Học máy 2

1.2 Các ứng dụng của học máy Ứng dụng: 2

1.3 Tìm hiểu về lọc cộng tác 3

CHƯƠNG 2: TÌM HIỂU VỀ HỆ THỐNG GỢI Ý 5

2.1 Hệ thống gợi ý là gì? 5

2.2 Các phương pháp gợi ý 5

2.2.1 Hệ thống gợi ý dựa theo lọc cộng tác 6

2.2.2 Hệ thống gợi ý dựa theo nội dung 7

2.2.3 Hệ thống gợi ý dựa trên cơ sở tri thức 8

2.4 So sánh các phương pháp gợi ý 9

2.4.1 Hệ thống gợi ý dựa theo lọc cộng tác 9

2.4.2 Hệ thống gợi ý dựa theo nội dung 9

2.4.3 Hệ thống gợi ý dựa trên cơ sở tri thức 9

CHƯƠNG 3: XÂY DỰNG HỆ THỐNG GỢI Ý PHIM CƠ BẢN VỚI PYTHON 11

3.1 Cơ sở dữ liệu 11

3.2 Code chương trình 13

3.3 Kết quả đạt được 16

KẾT LUẬN 18

TƯ LIỆU THAM KHẢO 19

Trang 5

LỜI MỞ ĐẦU

Lượng dữ liệu trên Internet ngày nay là rất lớn Tuy nhiên,không phải tất cả thông tin được cung cấp ở đó đều hữu ích hoặc manglại cho mọi người những gì họ muốn Trước khi tìm thấy những gì họtìm kiếm đầu tiên, người dùng phải thực hiện tìm kiếm hoặc nghiêncứu nhiều lần Kết quả là, các hệ thống khuyến nghị đã được phát triển

để giải quyết vấn đề này Bằng cách xem xét các lựa chọn trước đó của

họ, một hệ thống khuyến nghị cung cấp cho người dùng thông tin theotừng khu vực Dữ liệu được lọc và điều chỉnh riêng theo nhu cầu củangười dùng Các hệ thống khuyến nghị ngày càng trở nên phổ biến hơnkhi khối lượng dữ liệu tăng lên Các hệ thống đưa ra đề xuất đã đượctạo ra trong nhiều lĩnh vực khác nhau, bao gồm âm nhạc, phim ảnh, tintức và các mục nói chung

Đó là lí do nhóm chúng em chọn triển khai đề tài “Xây dựng hệthông giới thiệu phim – MOVIE RECOMMENDATION SYSTEMS”

Trang 6

CHƯƠNG 1: TỔNG QUAN VỀ HỌC MÁY1.1 Tổng quan Học máy

(Machine Learning) là một ngành khoa học nghiên cứu các thuật toáncho phép máy tính có thể học được các khái niệm (concept)

Phân loại: Có hai loại phương pháp học máy chính

 Phương pháp quy nạp: Máy học/phân biệt các khái niệm dựa trên

dữ liệu đã thu thập được trước đó Phương pháp này cho phép tậndụng được nguồn dữ liệu rất nhiều và sẵn có

 Phương pháp suy diễn: Máy học/phân biệt các khái niệm dựa vàocác luật Phương pháp này cho phép tận dụng được các kiến thứcchuyên ngành để hỗ trợ máy tính Hiện nay, các thuật toán đều cốgắng tận dụng được ưu điểm của hai phương pháp này

Các ngành khoa học liên quan:

 Lý thuyết thống kê: các kết quả trong xác suất thống kê là tiền đềcho rất nhiều phương pháp học máy Đặc biệt, lý thuyết thống kêcho phép ước lượng sai số của các phương pháp học máy

 Các phương pháp tính: các thuật toán học máy thường sử dụng cáctính toán số thực/số nguyên trên dữ liệu rất lớn Trong đó, các bàitoán như: tối ưu có/không ràng buộc, giải phương trình tuyến tínhv.v được sử dụng rất phổ biến

 Khoa học máy tính: là cơ sở để thiết kế các thuật toán, đồng thờiđánh giá thời gian chạy, bộ nhớ của các thuật toán học máy

Các nhóm giải thuật học máy:

 Học có giám sát: Máy tính được xem một số mẫu gồm đầu vào(input) và đầu ra (output) tương ứng trước Sau khi học xong cácmẫu này, máy tính quan sát một đầu vào mới và cho ra kết quả

 Học không giám sát: Máy tính chỉ được xem các mẫu không cóđầu ra, sau đó máy tính phải tự tìm cách phân loại các mẫu này vàcác mẫu mới Học nửa giám sát: Một dạng lai giữa hai nhóm giảithuật trên

 Học tăng cường: Máy tính đưa ra quyết định hành động (action) vànhận kết quả phản hồi (response/reward) từ môi trường(environment) Sau đó máy tính tìm cách chỉnh sửa cách ra quyếtđịnh hành động của mình

Trang 7

- Nhận dạng (Pattern Recognition): nhận dạng tiếng nói, chữ viếttay, vân tay, thị giác máy (Computer Vision)

- Tìm kiếm (Search Engine)

- Chẩn đoán trong y tế: phân tích ảnh X-quang, các hệ chuyên giachẩn đoán tự động

- Tin sinh học: phân loại chuỗi gene, quá trình hình thànhgene/protein

- Vật lý: phân tích ảnh thiên văn, tác động giữa các hạt

- Phát hiện gian lận tài chính (financial fraud): gian lận thẻ tỉn dụng

- Phân tích thị trường chứng khoán (stock market analysis)

- Chơi trò chơi: tự động chơi cờ, hành động của các nhân vật ảo

- Rôbốt: là tổng hợp của rất nhiều ngành khoa học, trong đó họcmáy tạo nên hệ thần kinh/bộ não của người máy

hồ sơ của người dùng Ý tưởng đằng sau tính năng lọc dựa trên nộidung là nếu bạn thích một mục thì có thể bạn cũng sẽ thích mục khác

Để cung cấp gợi ý, máy tính so sánh các đối tượng bằng cách sử dụngkhoảng cách cosin và Euclide dựa trên hồ sơ sở thích của khách hàng

và mô tả của mặt hàng (thể loại, danh mục sản phẩm, màu sắc, độ dàicủa từ) Nhược điểm của lọc dựa trên nội dung là nó chỉ có thể đề xuấthàng hóa hoặc tài liệu có thể so sánh được với những gì người dùng đã

sử dụng hoặc mua Nó không thể đề xuất thêm hàng hóa hoặc nội dungngoài điều này Chẳng hạn, nếu người mua chỉ mang theo đồ gia dụng,

họ không thể đề xuất bất kỳ mặt hàng nào khác Công cụ đề xuất kếthợp kiểm tra cả dữ liệu giao dịch (dựa trên nội dung) và dữ liệu meta(cộng tác) Đây là lý do tại sao nó hoạt động tốt hơn cả hai Công cụ đềxuất kết hợp sử dụng các phương trình vectơ để xác định mức độgiống nhau giữa các mặt hàng và cũng có thể tạo các thẻ xử lý ngônngữ tự nhiên cho từng sản phẩm hoặc mặt hàng (phim, nhạc) Bằngcách sử dụng ma trận lọc cộng tác, người dùng sau đó có thể được đưa

ra các đề xuất cho các sản phẩm dựa trên hành động, mục tiêu theođuổi và sở thích của họ Minh họa lý tưởng về công cụ đề xuất kết hợp

là Netflix Nó xem xét cả sở thích của người dùng (cộng tác) và các

Trang 8

chi tiết hoặc đặc điểm của phim hoặc chương trình truyền hình (dựatrên nội dung) Hệ thống đề xuất được trình bày trong báo cáo này sửdụng bộ lọc dựa trên nội dung Có hai phương pháp để xây dựng hệthống khuyến nghị, đó là học máy (TF-IDF) và phương pháp học sâu(BERT).

Trang 9

CHƯƠNG 2: TÌM HIỂU VỀ HỆ THỐNG GỢI Ý

2.1 Hệ thống gợi ý là gì?

Hệ thống gợi ý là một thuận toán đơn giản mà ở đó nó phục vụcho mục đích cung cấp thông tin liên quan đến một người dùng cụ thểdựa mô hình khám phá trên một tập dữ liệu Thuật toán này đánh giácác sản phẩm và hiện thị cho người dùng rằng là sản phẩm nào đượcđánh giá (liên quan) cao nhất Một ví dụ của hệ thống gợi ý được ápdụng trong thực tế đó là khi bạn truy cập trang web Amazon và bạnnhận ra rằng một số sản phẩm sẽ được gợi ý cho bạn hoặc là khi bạntruy cập web Netfix sẽ gợi ý một số bộ phim nhất định cho bạn Các hệthống này còn được dùng trong lĩnh vực nghe nhạc trực tuyến ví dụnhư Spotify and Deezer, ở đó chúng có nhiệm vụ gợi ý các bài nhạc

mà bạn có thể thích

Hệ thống gợi ý (Recommender systems hoặc Recommendationsystems) là một dạng của hệ hỗ trợ ra quyết định, cung cấp giải phápmang tính cá nhân hóa mà không phải trải qua quá trình tìm kiếm phứctạp Hệ gợi ý học từ người dùng và gợi ý các sản phẩm tốt nhất trong sốcác sản phẩm phù hợp

Hệ thống gợi ý sử dụng các tri thức về sản phẩm, các tri thức củachuyên gia hay tri thức khai phá học được từ hành vi con người dùng

để đưa ra các gợi ý về sản phẩm mà họ thích trong hàng ngàn hàng vạnsản phẩm có trong hệ thống Các website thương mại điện tử, ví dụ nhưsách, phim, nhạc, báo sử dụng hệ thống gợi ý để cung cấp các thôngtin giúp cho người sử dụng quyết định sẽ lựa chọn sản phẩm nào Cácsản phẩm được gợi ý dựa trên số lượng sản phẩm đó đã được bán, dựatrên các thông tin cá nhân của người sử dụng, dựa trên sự phân tíchhành vi mua hàng trước đó của người sử dụng để đưa ra các dự đoán vềhành vi mua hàng trong tương lai của chính khách hàng đó Các dạnggợi ý bao gồm: gợi ý các sản phẩm tới người tiêu dùng, các thông tinsản phẩm mang tính cá nhân hóa, tổng kết các ý kiến cộng đồng, vàcung cấp các chia sẻ, các phê bình, đánh giá mang tính cộng đồng liênquan tới yêu cầu, mục đích của người sử dụng đó

2.2 Các phương pháp gợi ý

Giả sử rằng I là tập các đối tượng (Item) có thể được gợi ý, U là tập ngườidùng, u là một người dùng cụ thể trong tập U và i là một đối tượng cụ thểtrong I mà chúng ta muốn dự đoán cho u (dựa vào sở thích của u)

Trang 10

trong U đối với các

đối tượng trong I

Các điểm sốđánh giá của ucho các đốitượng trong I

Nhận ra người sử dụngtrong U tượng tự với u (

về sở thích) và sau đóngoại suy điểm số đánhgiá vủa u cho i

Dựa theo nội

dung các đối tượng trongCác đặc điểm của

I

Các điểm sốđánh giá của ucho các đốitượng trong I

Tạo ra một mô hình mô

tả sở thích của người sửdụng u, sau đó sử dụng

để đánh giá mức độ ưathích của u với i.Dựa trên cơ sở

tri thức các đối tượng trongCác đặc điểm của

I Các tri thức (hiểu

biết) về sự phù hợp

giữa các đối tượng

với nhu cầu của

người sử dụng

Một sự mô tảnhu cầu và sởthích của người

sử dụng u

Suy luận sự phù hợpgiữa I và nhu cầu của u

2.2.1 Hệ thống gợi ý dựa theo lọc cộng tác

 Hệ thống gợi ý dựa theo lọc cộng tác (Collaborative recommendationsystems): là phương pháp gợi ý được triển khai rộng rãi nhất và thànhcông nhất trong thực tế

 Hệ thống theo lọc công tác phân tích và tổng hợp các điểm số đánh giácủa các đối tượng, nhận ra sự tương đồng giữa những người sử dụngtrên cơ sở các điểm số đánh giá của họ và tạo ra các gợi ý dựa trên sự

so sánh này Hồ sơ (profile) của người sử dụng điển hình trong hệthống lọc cộng tác bao gồm một vector các đối tượng (item) và cácđiểm số đánh giá của chúng, với số chiều tăng lên liên tục khi người sửdụng tương tác với hệ thống theo thời gian

 Một số hệ thống sử dụng phương pháp chiết khấu dựa trên thời gian(time-based discounting) để tính toán cho yếu tố "trượt" đối với sựquan tâm của người sử dụng Trong một số trường hợp điểm số đánhgiá (rating) có thể là nhị phân (thích/không thích) hoặc các giá trị sốthực cho thấy mức độ ưu tiên

 Thế mạnh lớn nhất của kỹ thuật gợi ý theo lọc cộng tác là chúng hoàntoàn độc lập với sự biểu diễn của các đối tượng đang được gợi ý, và do

Trang 11

đó có thể làm việc tốt với các đối tượng phức tạp như âm thanh vàphim Schafer, Konstan & Riedl (1999) gọi lọc cộng tác là "tương quangiữa người – với – người" (people-to-people correlation).

2.2.2 Hệ thống gợi ý dựa theo nội dung

 Hệ thống gợi ý dựa theo nội dung (Content-based recommendationsystems): là sự kế thừa và mở rộng của lĩnh vực nghiên cứu lọc thôngtin

 Trong hệ thống thì các đối tượng được biểu diễn bởi các đặc điểm liênquan tới chúng

 Ví dụ, hệ thống gợi ý văn bản như hệ thống lọc tin NewsWeeder sửdụng những từ của các văn bản như các đặc điểm

 Một số hệ thống gợi ý dựa trên nội dung học một hồ sơ cá nhân về sởthích của người sử dụng dựa trên các đặc điểm xuất hiện trong chínhcác đối tượng người sử dụng đã đánh giá (rated) Schafer, Konstan &Riedl gọi gợi ý theo nội dung là "tương quan đối tượng với đối tượng"(item-to-item correlation) Hồ sơ người sử dụng của một hệ thống gợi ýtheo nội dung phụ thuộc vào phương pháp học máy được dùng

 Cây quyết định (Decision trees), mạng noron (neural nets) và biểu diễndựa theo vector (vector-based representations) đều có thể được sử dụng

để học hồ sơ người dùng Cũng giống như trong lọc cộng tác, hồ sơngười dùng trong gợi ý dựa theo nội dung là những dữ liệu lâu dài vàđược cập nhật theo thời gian

 Minh họa:

2.2.3 Hệ thống gợi ý dựa trên cơ sở tri thức

Trang 12

 Hệ thống gợi ý dựa trên cơ sở tri thức (Knowledge-basedrecommenders systems): gợi ý các đối tượng dựa trên các suy luận vềnhu cầu và sở thích của người dùng Theo một nghĩa nào đó, tất cả các

kỹ thuật gợi ý có thể mô tả như là làm một số suy luận Phương pháptiếp cận dựa trên cơ sở tri thức được phân biệt ở chỗ: chúng có kiếnthức làm thế nào một đối tượng cụ thể đáp ứng nhu cầu một ngườidùng cụ thể, và do đó có thể lập luận về mối quan hệ giữa nhu cầu vàcác gợi ý cụ thể

 Sử dụng miền tri thức rõ ràng, có liên quan tới mối quan hệ giữa yêucầu của người dùng và sản phẩm cụ thể Ban đầu người ta đưa ra 3dạng tri thức: tri thức về danh mục (tri thức về sản phẩm được gợi ý),tri thức người sử dụng (tri thức về các yêu cầu của người sử dụng), trithức về các chức năng (tri thức để ánh xạ các yêu cầu của người sửdụng tới các sản phẩm thoả mãn các yêu cầu đó)

 Phương pháp này không dựa trên tiểu sử người sử dụng nên không gặpphải khó khăn về sản phẩm mới và người dùng mới Gợi ý trên cơ sở trithức có khả năng suy diễn, khả năng suy diễn phụ thuộc vào độ phùhợp của yêu cầu người sử dụng với các thuộc tính của sản phẩm

 Mọi hệ thống dựa trên cơ sở tri thức đều là mối quan hệ thu nhận trithức Thực tế, chất lượng của các phương án gợi ý tùy thuộc vào độchính xác của cơ sở tri thức Đây cũng là hạn chế lớn nhất của phươngpháp này

o Không cần tri thức miền

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

o Đủ thông tin phản hồi không tường minh

Trang 13

o Không cần tri thức miền

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

o Đủ thông tin phản hồi không tường minh

Trang 14

CHƯƠNG 3: XÂY DỰNG HỆ THỐNG GỢI Ý

PHIM CƠ BẢN VỚI PYTHON

- Tiêu đề ban đầu

- Tổng quan về mức độ phổ biến của các

Trang 16

3.2 Code chương trình

Trang 19

3.3 Kết quả đạt được

Trang 21

KẾT LUẬN

Qua việc thực hiện nghiên cứu đề tài “Xây dựng hệ thông giớithiệu phim – MOVIE RECOMMENDATION SYSTEMS” Em đã họchỏi được rất nhiều kĩ năng hay cũng như kiến thức bổ ích Bên cạnh

đó, việc làm nghiên cứu giúp em được trau dồi kiến thức, nâng cao khảnăng làm việc

Trong quá trình thực hiện đề tài có rất nhiều ý tưởng hay, độcđáo Nhưng do kiến thức của em còn hạn hẹp và thời gian không chophép nên em chưa thể thực hiện được những ý tưởng đó Mặc dù em

đã cố gắng để xây dựng một chương trình hoàn chỉnh nhất, đẹp nhấtnhưng trong quá trình xây dựng chương trình em khó tránh khỏi nhữngthiếu sót Vì vậy em rất mong rằng thầy cô đóng góp ý kiến để em cóthể hoàn thành bài báo cáo một cách hoàn chỉnh và chỉnh chu nhất

Em xin chân thành gửi lời cảm ơn tới thầy Vũ Văn Định, người

đã tận tình giảng dạy em môn Nhập môn học máy Giúp đỡ em trongquá trình nghiên cứu đề tài Chia sẻ những kiến thức hay, những tàiliệu bổ ích, những tài liệu thú vị cũng như các kĩ năng lập trình, tiếpcận bài toán nhanh nhất

Một lần nữa chúng em xin chân thành cảm ơn!

Ngày đăng: 23/01/2025, 12:24

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

TÀI LIỆU LIÊN QUAN