Với lượng dit liệu về video và người dùngrất lớn như vậy, Youtube gặp khó khăn trong việc mở rộng scale, cập nhật up-to-date hệ thống gợi ý của mình khi sử dụng những mô hình truyền thốn
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA HE THONG THONG TIN
CAO THIEN HUAN
KHOA LUAN TOT NGHIEP
HE THONG GOI Y VIDEO SU DUNG PHUONG PHAP
VIDEO RECOMMENDING SYSTEM USING DEEP
LEARNING METHOD
KY SU NGANH HE THONG THONG TIN
TP HO CHi MINH, 2021
Trang 2ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA HỆ THÓNG THÔNG TIN
CAO THIEN HUAN - 17520527
KHOA LUAN TOT NGHIEP
HE THONG GOI Ý VIDEO SỬ DUNG PHƯƠNG
PHAP HOC SAU
VIDEO RECOMMENDING SYSTEM USING DEEP
LEARNING METHOD
KY SU HE THONG THONG TIN
GIANG VIEN HUONG DAN TH.S NGUYEN HO DUY TRÍ
TP HO CHÍ MINH, 2021
Trang 3THONG TIN HOI DONG CHAM KHÓA LUẬN TOT NGHIỆP
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số
"¬" eas ngày của Hiệu trưởng Trường Đại hoc Công nghệ Thông tin.
Trang 4LỜI CẢM ƠN
Đầu tiên, em xin gửi lời cảm ơn đến Khoa hệ thống thông tin và Trường Đại học Công nghệ thông tin đã tạo cơ hội và điều kiện cho em được thực hiện khóa luận tốt nghiệp này Em cũng xin cảm ơn quý thầy cô giảng viên Khoa Hệ thống thông tin đã giúp đỡ, hỗ trợ em trong thời gian
qua.
Thứ hai, em xin gửi lời cảm ơn đến thầy ThS Nguyễn Hồ Duy Trí — người đã tận tình hướng dẫn và cho em rất nhiều lời khuyên quý báu trong suốt thời gian thực hiện khoá luận Thầy luôn tích cực động viên và thông
cảm cho những khó khăn trong quá trình em nghiên cứu và luôn kịp thời hỗ
trợ em.
Khoảng thời gian nghiên cứu và thực hiện khoá luận vô cùng khó khăn
và đầy thử thách, cùng với đó là khối lượng kiến thức không lồ Tuy nhiên, nhờ có sự giúp đỡ cũng như động viên của các thầy cô và gia đình, em đã
có thể vượt qua những khó khăn đó và hoàn thành khoá luận của mình Các
thay, cô, cha mẹ và bạn bè luôn là nguồn động lực to lớn, chỗ dựa tinh thần
vững chắc trong học tập và trong cuộc sống của em.
Một lần nữa xin cảm ơn và rất mong nhận được sự góp ý chân thành
thầy cô.
TP.Hồ Chí Minh, ngày 11 tháng 12 năm 2021
Sinh viên thực hiện
Cao Thiện Huân
Trang 51.5 Ý nghĩa của đỀ tài: cceeeeeeerririeeeetrrrrrireetrrrrrrree 14
1.6 Bố cục báo cáO: -cccccccccrrrtttitttrittrrrrtrrtrrvrtrrrrrrrrrrrrrrrrrrrree 14
Chương 2 CƠ SỞ LÝ THUYẾTT 22+cestrevetrrerttrrrrtrrrrrrrrrer 16
2.1 _ Tổng quan về hệ thống gợi ý: -:-eececcerrrrceseeerre 16
2.2 _ Các phương phap gỢI : cceceeceeerieerieekrieerireirriirrrrie 16
2.2.1 Lọc cộng tác (Collaborative FIltering): -. -c e-e-eex 16 2.2.2 Lọc dựa trên nội dung (Content-based Filtering): 17 2.2.3 Phân rã ma trận (Matrix FaCfOT1ZAfIOR): -«e-<<ceecsecse-see 17
2.3 _ Thư viện hỗ trợ: e-errieriieriiiiriiiriiiririrre 18
2.3.1 Ngôn ngữ PythOn: -sceererrriitrirriiriiririiriiririee 18 2.3.2 TenSOTTÏOW: cà HH nh tưeg 20 2.3.3 Jupyter Nof€bOOĂK: «ch re 20
2.4 Mô hình do Youtube đề xuất: - :cccccrreeccerrrrecerrrree 21
2.4.1 Vấn đề gặp phải: ccssrccevrieevrrrrrtrrrrrrrrrrrrrrrerre 21
Trang 62.4.2 Phương pháp giải quyẾt: -eeceecreeceerrreeeeerrrreree 22
Chương 3 PHƯƠNG PHAP THỰC HIỆN + cccctttrzcc 27
3 ð: sa 273.2 — Giai đoạn 1: Tuyển chọn ứng viên (Candidate Generations) 30
3.2.1 Thiết kế mô hình -c-eeccetrrrevvrrrrrerrrrrrrrrrrrrrrrre 303.2.2 Huấn luyện và dự đoán cecccceerrireevvverrrrrererrrrrriree 343.3 Giai đoạn 2: Xếp hạng (RankIng) -« c«eccsecxexesexeeerrexree 35
chu cóc 35
3.3.2 Thiết kế mô hình :-cccccrreccetrrrerertrrrerrrrrrrerrrrrrsrrte 353.3.3 Huấn luyện và dự đoán -. -.eeccerircecerrrrceerrrrreerre 35
Chương 4 KẾT LUẬN VÀ HƯỚNG PHAT TRIỂN: -.- 37
4.1 Kết quả dat được: -eccecrreeceerrreeerrrrrrerrrre 374.2 HaZjH:NF ee On 374.3 _ Hướng phát triển: ccecreeceerrrcererrrrererrre 37
Trang 7DANH MỤC HÌNH
Hình 2-1: Ma trận Y được phân tích thành tích của hai ma trận X và W 18 Hình 2-2: Logo Python ss-cs< sàng Hà nà Hàng Hy 19 Hình 2-3: Logo TlenSOTfÏOW -csstthHH HH HH Hi nên 20 Hình 2-4: Logo ]UDV{€T s 55<cse tt niên 21
Hình 2-5: Kiến trúc hệ thống gợi ý video biểu diễn dưới dạng đường ống
Hình 3-2: Thống kê cột like/dislike -ess+eeesrccetreezerrecee 28Hình 3-3: Cột dwell_ time sau chuẩn hoá cesssssseccessssssssssssssscessscsssssssssssecssceessssssessccsses 28Hình 3-4: Cột example_age sau chuẩn hoá -:-.ccccerrrreecccverrrre 28Hình 3-5: Thống kê cột Users -+-cssrecetrrevetrrrrvrrrretrrrrerrrrrte 29Hình 3-6: Thống kê cột videos - cccc:iiceecevertirrevevtrtrrirrrerrrrrrrrarerrrrrree 29
Hình 3-7: Tập train_data sau CÙng -s-cseekkekkiiEEHHieH gu Hiy 29 Hình 3-8: Các lớp 1npUt «- sex HH Hà HH gHà gu 30 Hình 3-9: Các lớp Embecdings « s-+++xe+xeekttrrektrekirkrrikrrkrrrrekee 30 Hình 3-10: Lớp L2 Normalization e« 5scs<cxeekeEEketkkkirrkettkeirrkiirierike 31 Hình 3-11: Các lớp ReLU va Batch NÑormalization -«cec-e«e 31
Hình 3-12: Mô tả tổng quan mô hình Candidate Generation 33Hình 3-13: Quá trình huấn I0 34
Hình 3-14: Top 10 video được dự đoán từ mô hình Candiate Generation ở trên
Trang 8Hình 3-15: Các thuộc tính cũ được thay băng các thuộc tính mới Hình 3-16: Quá trình huấn luyện của mô hình Ranking
Trang 9DANH MỤC TỪ VIET TAT
STT Từ viết tắt Từ đầy đủ
ReLU Rectified Layer Unit
CBOW Continuous Bags of
Words
Trang 10TÓM TẮT KHÓA LUẬN
Với sự bùng né của Cách mạng 4.0 và sự bành trướng của Internet, cùng với
đó là sự phô biến của các công cụ tạo video/ trò chuyện trực tuyến (livestream), hang
triệu video được tải lên (upload) mang mỗi ngày Theo thống kê của Tubefilter thực
hiện vào năm 2019, cứ một phút thì có 500 giờ video được tải lên Youtube Thế giớiđược chứng kiến sự tăng trưởng và xuất hiện mạnh mẽ của các nền tảng xem phimtrực tuyến với sự dẫn đầu của “anh cả” Netflix Chỉ trong vòng 5 năm, sỐ lượng người
dùng của Netflix đã tăng từ 60 triệu người đến hơn 200 triệu người dùng với tăng
trưởng trung bình khoảng 28 triệu người dùng mỗi năm Đại dịch COVID-19 bùngphát đã khuấy động hơn nữa cuộc đua giành thị phần phim trực tuyến khi mà giờ đâybỗng nhiên có thêm 50% khách hàng tiềm năng - những người phải ở trong nhà vìđại dịch và bắt đầu có nhiều thời gian rảnh Một cơ hội vô cùng to lớn dành cho cácnền tảng video trực tuyến nhưng cũng là một thách thức lớn: Họ phải tìm cách giữchân người dùng Và cách đơn giản nhất có lẽ là khiến người dùng xem video liên
tục (binge-watch).
Dé khiến người dùng xem video liên tục, nền tảng phải có sẵn khối lượngvideo khổng 16 và phải tìm cách liên tục gợi ý cho người dùng xem những video đó.Tuy nhiên, việc thống kê, phân tích và đưa ra gợi ý video không phải là việc đơn giản
Có rất nhiều thé loại video khác nhau và ké cả khi chung thể loại thì các video cũng
có rất nhiều hình thức và đặc tính khác nhau Nắm bắt được nội dung của video làmột việc rất khó khăn đối với máy móc, khi chúng phải có khả năng phân tích cả âmthanh (audio) và hình ảnh (graphic) của video Một sỐ phương pháp như Lọc cộngtác (Collaborative Filtering), được các nhà nghiên cứu áp dụng cũng chỉ có thé dựatrên đánh giá chủ động của người dùng hoặc ban thân thông tin sản phẩm dé đưa ragợi ý, và bấy nhiêu đó là chưa đủ Chúng ta cần một phương pháp có thê gợi ý video
dựa trên nhiều đặc tính, dữ liệu hơn từ người dùng và video Khoá luận này xin giới
thiệu một mô hình học sâu được Youtube đề xuất có khả năng nhận nhiều thuộc tính
10
Trang 11đầu vào của cả người dùng và đặc tính của video dé huấn luyện cho công việc gợi ý
video.
Trong khuôn khô khoá luận này, sinh viên đã có những tìm hiểu sau:
- Tim hiểu về lĩnh vực học sâu (deep learning), các kiến thức cơ bản của lĩnh
vực này như: Cách hoạt động của mạng Nơ-ron, các lớp ReLU, lớp đặc
(dense),
- Tim hiểu và cài đặt mô hình sử dụng thư viện Tensorflow
- Áp dụng mô hình với tập dữ liệu (dataset) được thu thập bởi bên thứ ba
- _ Đánh giá độ hiệu quả của mô hình và những hạn chê.
11
Trang 12Chương 1 TONG QUAN DE TÀI
Nội dung chương này sé là về ly do chon dé tai, quá trình khảo sát các mô hình liên quan vê mục tiêu, đôi tượng, phạm vi, phương pháp của các mô hình đó, và cuôi cùng chọn mô hình học sâu mà Youtube đê xuât đê làm khoá luận.
1.1 Đặt vấn đề:
Youtube là mạng xã hội video lớn nhất thé giới Hệ thống gợi ý của Youtubephục vụ hàng tỉ người dùng và chịu trách nhiệm cung cấp nội dung được cá nhân hoátối ưu trong kho video không lồ của mình Với lượng dit liệu về video và người dùngrất lớn như vậy, Youtube gặp khó khăn trong việc mở rộng (scale), cập nhật (up-to-date) hệ thống gợi ý của mình khi sử dụng những mô hình truyền thống Các nhómphương pháp như Lọc cộng tác, lọc nội dung đều cần lưu trữ và xử lý một ma trận
thuộc tính rât lớn, vì vậy các mô hình này rât khó mở rộng.
Đề khắc phục vấn đề đó, các kĩ sư ở Youtube đã nghiên cứu và xây dựng một
mô hình học sâu sử dụng kỹ thuật tương tự như Phân rã ma trận (theo các tác giả là
“kỹ thuật Phân rã ma trận phi tuyến phổ quát” (non-linear matrix factorization))
1.2 Khảo sát các công trình liên quan:
Tại thời điểm của bài báo, chưa có nhiều nghiên cứu sử dụng mạng Nơ-ron và
mô hình học sâu cho hệ thống gợi ý Mạng nơ-ron được sử dụng để gợi ý tin tức ở,
trích dẫn ở [1] và kiểm tra các đánh giá ở [2] Đối với nhóm phương pháp Lọc cộng
tác, tác giả Elkahky và các đồng nghiệp sử dụng mô hình mạng nơ-ron cho bài toánxây dựng đối tượng người dùng đa miền (cross domain user modeling) [3] Đối vớinhóm Lọc nội dung, tác giả Burgers và đồng nghiệp đã sử dụng mạng nơ-ron cho hệthống gợi ý nhạc [4]
12
Trang 131.3 Mục tiêu và phạm vi khoá luận:
1.3.1 Mục tiêu:
1.3.1.1 Đối tượng nghiên cứu:
- _ Các bộ dữ liệu liên quan đến video, phim ảnh: Youtube Duration Data
- _ Các thuật toán, mô hình, khái niệm sử dụng trong học may (machine learning),
hoc sâu (deep learning): Mạng Nơ-ron, thuật toán K- láng giềng gần nhất
(KNN),
- MOt số thuật toán gợi ý phô biến
- _ Các thuật toán tiền xử lý dữ liệu, giảm chiều dit liệu, chuẩn hóa dữ liệu: Mã
hoá (Encoding), chuẩn hoá (Standardization)
- Cac thư viện hỗ trợ xây dựng mô hình học máy (machine learning), học sâu
(deep learning): Tensorflow, Pandas, Keras.
1.3.1.2 Mục tiêu nghiên cứu:
- Tim hiểu các phương pháp gợi ý nội dung đã và đang được sử dụng trong lĩnh
vực phim ảnh, video.
- GIới thiệu mô hình học sâu và hướng tiếp cận các mô hình học sâu (deep
learning) dé cải thiện khả năng gợi ý video
- _ Xây dựng mô hình đơn giản thể hiện được tư tưởng của thuật toán và hiệu qua
trên đữ liệu huấn luyện
1.3.2 Pham vi:
Bộ dữ liệu tên Youtube Duration Data bao gom 1814 video duoc xem boi 158tình nguyện viên được chiêu mộ từ trang web Task Rabbit Các tác giả phát triển mộtphần mở rộng (extension) chạy trên Chrome dé ghi lai cac lich st xem Youtube cua
các tính nguyện viên như thời gian xem, thông tin video đã xem, thời lượng xem
video của họ Các tình nguyên viên gồm 77 đàn ông va 112 phụ nữ Có hơn 17.599
phiên (session) xem được ghi lại, các tác giả lọc ra các phiên mà người dùng có thời
13
Trang 14gian xem (dwell time) video nhỏ hơn bằng thời lượng video để đảm bảo tính chân
thực và tránh sai sót về kỹ thuật (lỗi mạng)
1.4 Phương pháp thực hiện:
- _ Bước 1: Thu thập, tham khảo các nguồn dit liệu phù hợp với bài toán.
-_ Bước 2: Tìm hiểu các phương pháp, mô hình gợi ý nội dung phù hợp với bài toán
- _ Bước 3: Tiền xử lý dữ liệu
- _ Bước 4: Trích xuất các đặc trưng của dữ liệu dé làm đầu vào (input) cho mô hình
- Bước 5: Thực thiện xây dựng mô hình.
- _ Bước 6: Huan luyện mô hình và đánh giá kết quả
- Bước 7: Đánh giá lại các phương pháp và thực hiện các điều chỉnh (fine-tune) vé
các độ đo, các lớp, đặc trưng đầu vào
1.5 Ý nghĩa của đề tài:
Việc xây dựng được một mô hình có thé gợi ý video một cách tổng quát(general) từ vô số đầu vào (input) giúp tận dụng các đặc trưng của video, hành vingười dùng; kết hợp những ưu điểm của những phương pháp trước như Lọc cộng tác
(Collaborative Filtering), Lọc nội dung (Content-based Filtering), từ đó cải thiện hệ
thống gợi ý một cách mạnh mẽ hon, sâu sắc hơn va cá nhân hoá (personalize) trải
nghiệm của người dùng.
1.6 Bố cục báo cáo:
Báo cáo được chia thành năm chương Bao gồm:
Chương I Tổng quan dé tài:
Chương nay trình bày ly do chọn dé tài, khảo sát các công trình liên
quan và mục tiêu, đối tượng đề tài nhắm tới cùng với phạm vi, phương pháp thực
hiện.
Chương 2 — Cơ sở lý thuyết:
14
Trang 15Chương này trình bày các kiến thức căn bản về khái niệm Học sâu (Deep
learning), Mạng Nơ-ron (Neural Network), kỹ thuật Phân rã ma trận(Matrix
Factorization), mô hình mà Youtube đề xuất va các thư viện, dit liệu được sử dụng
trong suốt quá trình thực hiện đề tài
Chương 3 — Phương pháp thực hiện:
Trinh bày tổng quát phương pháp thực hiện xây dựng mô hình gợi ý
Chương 4 — Kết luận và hướng phát triển:
Trình bày tổng quan những nội dung được thực hiện trong khóa luận,các kết quả đạt được và những hạn chế mà khóa luận gặp phải
15
Trang 16Chương 2 CƠ SỞ LÝ THUYET
Chương này trình bày các kiến thức căn bản về khái niệm Học sâu (Deep
learning), Mạng No-ron (Neural Network), kỹ thuật Phân rã ma trận(Matrix
Factorization), mô hình mà Youtube đề xuất và các thư viện, dữ liệu được sử dụng
trong suốt quá trình thực hiện đề tài.
2.1 Tông quan về hệ thống gợi ý:
Hệ thống gợi ý (Recommender systems hoặc Recommendation systems) là
một hệ thống thuộc dạng hệ hỗ trợ ra quyết định Các hệ thống gợi ý tập trung tìm
hiểu mối quan hệ giữa các sản phẩm và người dùng, các đặc tính của sản phẩm vathông tin,lich sử, nhân khẩu học, của người tiêu dùng trong một ngữ cảnh nhất định
dé phân tích và đưa ra các gợi ý sản phẩm phù hợp nhất với người tiêu dùng đó 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.
Các phương pháp gợi ý phổ biến đều tìm cách xây dựng một ma trận thuộctinh (Utility Matrix) giữa người dùng — người dùng, người dùng — sản phẩm hoặcngược lại Sau đó chuẩn hoá các giá trị trong ma trận để tránh thiên kiến từ ngườidùng Mô hình được xây dựng dé dự đoán các gia tri còn thiéu trong ma trận — là phảnhồi (feedback) của các sản phẩm chưa được người dùng tương tac
2.2 Các phương pháp gợi ý:
2.2.1 Loc cộng tac (Collaborative Filtering):
Nhóm phương pháp lọc cộng tác tập trung thu thập va phan tích các tri
thức về người dùng như hành vi, lịch sử mua hàng, nhân khẩu học, các tươngtác với sản phẩm của người dùng và gợi ý các sản phẩm tiềm năng mà người
dùng đó chưa tương tác dựa trên sự tương đồng của họ với các người dùng
khác Mức độ quan tâm của người dùng với một sản phâm mới sẽ phụ thuộc
vào
16
Trang 17Cá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ựđoá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 Phương pháp này xác định mức độ quan tâm của một người dùng
đối với một sản phẩm bang cách so sánh các người dùng khác có lịch sử tươngtác với sản phẩm gần giống người dùng hiện tại
2.2.2 Lọc dựa trên nội dung (Content-based Filtering):
Đôi với nhóm thuật toán gợi ý dựa trên nội dung, hệ thông tập trung vào việc xây dựng các vector đặc trưng dựa vào các đặc tính của sản phâm và
so sánh các vector đặc trưng giữa các sản phâm với nhau đê tìm ra độ tương
đồng giữa chúng
Trong hệ thống gợi ý dựa trên nội dung, từ khóa được sử dụng dé mô tảcác mục và hồ sơ người ding được xây dựng dé chỉ ra loại sản phẩm ngườidùng thích Phương pháp này dựa trên các đặc tính của sản pham mà người
dùng đã tương tác trong quá khứ và so sánh độ tương đồng về đặc tính giữa
các sản phâm đó với sản phâm mới, từ đó quyết định gợi ý sản phẩm này cho
người dùng.
2.2.3 Phân rã ma trận (Matrix Factorization):
Với các phương pháp trên, việc số lượng người dùng ngày càng đông cũngnhư sản phẩm ngày càng nhiều sẽ dẫn đến tính trạng ma trận thuộc tính ngày càng
lớn, từ đó Hình hưởng đến hiệu năng của hệ thống gợi ý Trong các bài toán thực tế,
sô lượng sản phâm và sô lượng người dùng thường rat lớn.
Kỹ thuật phân rã ma trận [5] là phương pháp chia một ma trận lớn Y thành hai
ma trận có kích thước nhỏ hơn là X và W, sao cho ta có thể xây dựng lại Y từ hai matrận nhỏ hơn này càng chính xác càng tốt, nghĩa là
Y~xY=xw
17
Trang 18Ý tưởng chính đăng sau Matrix Factorization cho Recommendation Systems
là tồn tại các tinh năng ẩn (latent features) mô tả sự liên quan giữa các sản phẩm
(items) và người dùng (users).
(Full) Utility matrix Item features
Hình 2-1: Ma trận Y được phân tích thành tích của hai ma trận X va W
Ma trận X tập hợp các vector x chứa các hệ số tượng trưng cho các tính chất
an của sản phẩm đó, hệ số càng cao tương đương với tính chất cao Tương tự ma trận
Y tập hợp các vector y chứa các hệ số tượng trưng cho mức độ người dùng thích tínhchat an của sản phâm Giá tri của X * W sẽ cao nếu các thành phan trong ma trận đều
có giá trị cao, đồng nghĩa với việc nên gợi ý sản phẩm này cho người dùng đó vì sảnphẩm có chứa các tính chất ân mà người dùng thích
Ưu điểm của phương pháp này so với các phương pháp còn lại là không gianlưu trữ yêu nhỏ (do chỉ cần lưu hai ma trận X, W so với Utility Matrix), đồng thời
việc suy diễn (inference), dự đoán cũng dễ hơn do chỉ cần lấy tích của hai ma trận X,
W.
2.3 Thư viện hỗ tro:
2.3.1 Ngôn ngữ Python:
Python [9] là ngôn ngữ lập trình hướng đối tượng, cấp cao, mạnh mẽ, được tạo
ra bởi Guido van Rossum Python rất dễ cho người mới bắt đầu học lập trình vì cú
pháp dễ đọc, thân thiện và dễ thực thi Python đang trở thành xu hướng ở các năm
gần đây Python hoàn toàn tạo kiểu động và sử dụng cơ chế cấp phát bộ nhớ tự động
18
Trang 202.3.2 Tensorflow:
Tensorflow là một hệ thong học máy (machine learning) có thể vận hành ởquy mô lớn và ở đa dạng môi trường Tensorflow cung cấp một hệ sinh tháicác thư viện, công cụ phát triển các dự án học máy, học sâu vô cùng mạnh mẽ
và linh hoạt Tensorflow được phát triển bởi Google với tiền thân là Google
Brains, sau đó được công khai mã nguồn vào năm 2015 [6] và ra mat bản ôn
định vào năm 2017.
TensorFlow
Hình 2-3: Logo Tensorflow
Nguyên lý hoạt động của TensorFlow: Tensorflow giúp lập trình viên tạo
ra các biểu đồ luồng dữ liệu (dataflow graph) - một cấu trúc dữ liệu mô tả cách
dữ liệu được xử lý qua từng lớp hay giai đoạn (node) trong biểu đồ Các node này thực chất tượng trưng cho các phép tính toán, xử lý Những phép tính toán
này không được xử lý bởi Python mà được đưa qua các thư viện C++ để xử lý
nhằm tối ưu hiệu suất.
2.3.3 Jupyter Notebook:
Jupyter là nền tang website tinh toán mã nguồn mở, có khả năng cho phéptương tác trực tiếp với các khối (cell) code Jupyter hỗ trợ hon 40 ngôn ngữ lập trình,phô biến và mạnh mẽ nhất là Julia, Python và R Jupyter được phát triển với mục dich
hỗ trợ giáo dục, giảng dạy và lập trình trực quan Jupyter hoàn toàn miễn phí, dễ cài
đặt,
Jupyter [7] có năng nổi bật cho phép tương tác trực tiếp với từng dòng code(interactive), hỗ trợ hơn 40 ngôn ngữ lập trình, trong đó tập trung vào 3 ngôn ngữ là
20