Đê đạt được mục đích này, hệ thống thu thập thôngtin về sở thích của người dùng, thông tin này có thê dựa trên các hoạt động trước đó hoặcthông tin rõ ràng do người dùng cung cấp.. Ví dụ
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
ĐỒ ÁN TỐT NGHIỆP NGÀNH KỸ THUẬT DỮ LIỆU
GVHD: THS TRẦN TRỌNG BÌNH SVTH: VÕ HỬU NGHĨA
XÂY DỰNG KHO DỮ LIỆU VÀ HỆ THỐNG HỖ TRỢ QUYẾT ĐỊNH ÁP DỤNG TẠI THƯ VIỆN TRƯỜNG ĐẠI HỌC
SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH KỸ THUẬT DỮ LIỆU
VÕ HỬU NGHĨA - 20133074
Đề tài:
XÂY DỰNG KHO DỮ LIỆU VÀ HỆ THỐNG HỖ TRỢ QUYẾT ĐỊNH
ÁP DỤNG TẠI THƯ VIỆN TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
KHÓA LUẬN TỐT NGHIỆP
KỸ SƯ NGÀNH KỸ THUẬT DỮ LIỆU
GIÁO VIÊN HƯỚNG DẪN ThS TRẦN TRỌNG BÌNH
KHÓA 2020 – 2024
TP Hồ Chí Minh, tháng 06 năm 2024
Trang 3PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Chuyên ngành:Kỹ thuật dữ liệu
Tên đề tài: Xây dựng kho dữ liệu và hệ thống hỗ trợ quyết định áp dụng tại thư viện trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh
Họ và tên giáo viên hướng dẫn: ThS Trần Trọng Bình
Trang 4PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Chuyên ngành:Kỹ thuật dữ liệu
Tên đề tài: Xây dựng kho dữ liệu và hệ thống hỗ trợ quyết định áp dụng tại thư viện trường Đại học Sư phạm kỹ thuật Thành phố Hồ Chí Minh.
Họ và tên giáo viên hướng dẫn: ThS Trần Trọng Bình
Trang 5Trong quá trình thực hiện tiêu luận chuyên ngành, dựa trên kiến thức được Thầycung cấp qua các thảo luận, kết hợp với việc tự tìm hiêu những công cụ và kiến thức mới,
em đã cố gắng thực hiện tiêu luận một cách tốt nhất Tuy nhiên, vẫn còn chưa được hoànthiện và có thê còn có sai sót
Em rất mong nhận được sự góp ý từ Thầy nhằm rút ra những kinh nghiệm quý báu
và hoàn thiện vốn kiến thức đê em có thê hoàn thành những nghiên cứu, dự án khác trongtương lai
Em xin chân thành cảm ơn Thầy!
Trang 6Trường ĐH Sư Phạm Kỹ Thuật TP.HCM
Khoa : Công nghệ thông tin
ĐỀ CƯƠNG KHÓA LUẬN TỐT NGHIỆP
Chuyên ngành:Kỹ Thuật Dữ Liệu
Tên khóa luận: Xây dựng kho dữ liệu và hệ thống hỗ trợ quyết định áp dụng tại thư viện trường Đại học Sư phạm kỹ thuật Thành phố Hồ Chí Minh.
Giáo viên hướng dẫn:ThS Trần Trọng Bình
Nhiệm vụ của khóa luận:
Trang 8MỤC LỤC
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 1
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 2
LỜI CẢM ƠN 3
ĐỀ CƯƠNG KHÓA LUẬN TỐT NGHIỆP 4
KẾ HOẠCH THỰC HIỆN 5
MỤC LỤC 6
DANH SÁCH HÌNH 9
DANH SÁCH BẢNG 11
PHẦN 1: MỞ ĐẦU 12
1.1 Lý do chọn đề tài 12
1.2 Mục tiêu nghiên cứu 12
1.3 Cách tiếp cận và phương pháp nghiên cứu 13
1.3.1 Đối tượng nghiên cứu 13
1.3.2 Phạm vi nghiên cứu 13
1.4 Kết quả dự kiến đạt được 13
PHẦN 2: NỘI DUNG 14
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 14
1.1 Kho dữ liệu 14
1.1.1 Định nghĩa 14
1.1.2 Kiến trúc kho dữ liệu 14
1.1.3 Các mô hình dữ liệu 15
1.1.4 Sự khác biệt giữa kho dữ liệu và cơ sở dữ liệu 16
1.1.5 Lợi ích của việc xây dựng kho dữ liệu 17
1.2 Hệ quản trị cơ sở dữ liệu Microsoft SQL Server 18
1.2.1 Định nghĩa 18
1.2.2 Thành phần chính 18
1.2.3 Tính năng nổi bật 19
1.2.4 Ưu điểm 19
1.2.5 Nhược điểm 19
1.3 Công cụ trực quan hoá Power BI 19
Trang 91.3.1 Định nghĩa 19
1.3.2 Các thành phần chính 20
1.3.3 Ưu điểm 20
1.3.4 Hạn chế 21
1.4 Tổng quan về hệ thống gợi ý 21
1.4.1 Định nghĩa 21
1.4.2 Lợi ích 22
1.4.3 Các phương pháp chính 22
1.4.5 Thuật toán Word2Vec 34
1.5 Tổng quan về phương pháp khai phá luật kết hợp (Association rule in data mining) .38
1.5.1 Định nghĩa 38
1.5.2 Cách hoạt động 39
1.5.3 Các thuật toán 40
1.6 Hệ thống hỗ trợ quyết định 41
1.6.1 Khái niệm 41
1.6.2 Các thành phần của hệ thống hỗ trợ ra quyết định 42
1.6.3 Ưu điểm và nhược điểm của hệ thống hỗ trợ ra quyết định 43
1.6.4 Các ứng dụng của hệ thống hỗ trợ ra quyết định 44
CHƯƠNG 2: HỆ THỐNG THÔNG TIN THƯ VIỆN VÀ XÂY DỰNG KHO DỮ LIỆU VÀ HỆ THỐNG HỖ TRỢ RA QUYẾT ĐỊNH CHO THƯ VIỆN TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH 45
2.1 Khái niệm về hệ thống thông tin thư viện 45
2.2 Hệ thống thư viện tích hợp và Ứng dụng dịch vụ quản trị thư viện 45
2.3 Các thành phần của hệ thống thông tin thư viện 47
2.4 Các hoạt động của Hệ thống thông tin thư viện 48
2.5 Thực trạng hệ thống thông tin thư viện hiện tại của Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh 50
2.5.1 Hệ thống thông tin quản lý 50
2.5.2 Thư viện số: thuvienso.hcmute.edu.vn 51
2.6 Xây dựng kho dữ liệu 51
2.6.1 Chuẩn bị nguồn dữ liệu đầu vào 51
2.6.2 Thiết kế kho dữ liệu library_warehouse 52
2.7 Các yêu cầu về xây dựng dashborad hỗ trợ quản lý và kiêm soát chất lượng dịch vụ thư viện bằng công cụ Power BI 74
2.7.1 Load dữ liệu vào Power Bi 74
2.7.2 Tạo các Dashboard và các Chart 76
2.8 Khai phá luật kết hợp dựa trên lịch sử mượn trả sách và hệ thống gợi ý sách 80
Trang 102.8.1 Khai phá luật kết hợp dựa trên lịch sử mượn trả 80
2.8.2 Hệ thống gợi ý sách 88
2.8.3 Trực quan hệ thống gợi ý lên web bằng Streamlit 93
PHẦN 3: KẾT LUẬN 97
3.1 Kết quả đạt được 97
3.1.1 Về lí thuyết 97
3.1.2 Về ứng dụng 97
3.2 Hướng phát triển 97
DANH MỤC TÀI LIỆU THAM KHẢO 98
Trang 11DANH SÁCH HÌNH
Hình 1 Sơ đồ biêu diễn kiến trúc của kho dữ liệu 14
Hình 2 Ví dụ mô hình sao 15
Hình 3 Ví dụ mô hình bông tuyết 16
Hình 4 Hệ thống SQL Server 18
Hình 5 Sơ đồ Power BI Desktop, Service và Mobile 20
Hình 6 Sơ đồ biêu diễn các thuật toán chính trong hệ thống gợi ý 23
Hình 7 Ví dụ thuật toán lọc theo nội dung 23
Hình 8 Ví dụ về làm giảm các từ có tần số cao 24
Hình 9 Ví dụ về góc giữa các vecto 25
Hình 10 Ví dụ ý tưởng chung của User-based Collaborative Filtering 27
Hình 11 Về dụ ý tưởng chung của Item-based Collaborative Filtering 29
Hình 12 Mô tả kĩ thuật phân rã ma trận 31
Hình 13 Mô tả bài toán tối ưu ma trân X và W 33
Hình 14 Mô hình skip-gram 34
Hình 15 Mô hình CBOW 36
Hình 16 Mô tả ý tưởng chính của phương pháp luật kết hợp 39
Hình 17 Mô tả ý tưởng chính của hệ thống hỗ trợ ra quyết định 41
Hình 18 Ví dụ về một Mô hình hệ thống quản lý thư viện của một đơn vị 46
Hình 19 Mô hình cách hoạt động của phần mềm Koha 46
Hình 20 Các thành phần của hệ thống thông tin thư viện 47
Hình 21 Mô hình hoạt động của hệ thống thông tin thư viện (link) 48
Hình 22 Hàm chuẩn hóa cơ sở dữ liệu 52
Hình 23 Sơ đồ diagram 53
Hình 24 DimAuthor 53
Hình 25 DimBook 53
Hình 26 DimCTDT 54
Hình 27 DimDate 54
Hình 28 DimDDC 55
Hình 29 DimGiaoTrinh 55
Hình 30 DimHistory 55
Hình 31 DimInformation 56
Hình 32 DimKhoa 56
Hình 33 DimLoai_GT 56
Hình 34 DimMon 57
Hình 35 DimNganhNghe 57
Hình 36 DimNguon 57
Trang 12Hình 38 DimTrinhDo 58
Hình 39 FactTongHop 58
Hình 40 FactQuanLy_GiaoTrinh 59
Hình 41 Thêm dữ liệu vào bảng DimAuthor 59
Hình 42 Dữ liệu bảng DimAuthor 60
Hình 43 Thêm dữ liệu vào bảng DimBook 60
Hình 44 Dữ liệu bảng DimBook 61
Hình 45 Thêm dữ liệu vào bảng DimCTDT 61
Hình 46 Dữ liệu bảng DimCTDT 62
Hình 47 Thêm dữ liệu vào bảng DimDate 62
Hình 48 Dữ liệu bảng DimDate 63
Hình 49 Thêm dữ liệu vào bảng DimDDC 63
Hình 50 Dữ liệu bảng DimDDC 64
Hình 51 Thêm dữ liệu vào bảng DimGiaoTrinh 64
Hình 52 Dữ liệu bảng DimGiaoTrinh 65
Hình 53 Thêm dữ liệu vào bảng DimHistory 65
Hình 54 Dữ liệu bảng DimHistory 66
Hình 55 Thêm dữ liệu vào bảng DimInformation 66
Hình 56 Dữ liệu bảng DimInformation 67
Hình 57 Thêm dữ liệu vào bảng DimKhoa 67
Hình 58 Dữ liệu bảng DimKhoa 68
Hình 59 Dữ liệu bảng DimLoai_GT 68
Hình 60 Dữ liệu bảng DimMon 69
Hình 61 Thêm dữ liệu vào bảng DimNganhNghe 69
Hình 62 Dữ liệu bảng DimNganhNghe 70
Hình 63 Dữ liệu bảng DimNguon 70
Hình 64 Thêm dữ liệu vào bảng DimTrinhDo 71
Hình 65 Dữ liệu bảng DimTrinhDo 71
Hình 66 Thêm dữ liệu bảng vào FactQuanLy_GiaoTrinh 71
Hình 67 Dữ liệu bảng FactQuanLy_GiaoTrinh 72
Hình 68 Thêm dữ liệu vào bảng FactTongHop 73
Hình 69 Dữ liệu bảng FactTongHop 73
Hình 70 Chọn nguồn import dữ liệu vào Power BI 74
Hình 71 Chọn database muốn import 75
Hình 72 Load database 75
Hình 73 Biêu đồ thông kê số lượng sinh viên đã mượn sách theo từng khoa 76
Hình 74 Biêu đồ cột đếm số lượng sinh viên đã mượn sách qua các năm 76
Hình 75 Thống kê số sách được mượn theo từng khoa 77
Trang 13Hình 76 Liệt kê 5 quyên sách được mượn nhiều nhất theo từng khoa 78
Hình 77 Thống kê loại sách giáo trình nào được mượn nhiều nhất ở mỗi chương trình đào tạo 78
Hình 78 Số lượng sách phục vụ cho từng trình độ 79
Hình 79 Thống kê và so sánh số sinh viên vào thư viện theo thời gian 80
Hình 80 Đề xuất với từ khóa ‘data’ 95
Hình 81 Top 5 sách được mượn nhiều nhất 96
DANH SÁCH BẢNG Bảng 1 So sánh Database và Data Warehouse 16
Trang 14PHẦN 1: MỞ ĐẦU
1.1 Lý do chọn đề tài
Thư viện của trường Đại học Sư phạm Kỹ thuật TP.HCM sở hữu một số lượnghàng trăm nghìn sách và tài liệu khác nhau Việc có một hệ thống cơ sở dữ liệu quản lí tậptrung sẽ giúp quản lí dữ liệu hiệu quả hơn Giảm thiếu việc thất lạc sách cũng như tăngcường khả năng quản lí và truy xuất dữ liệu
Ngoài có hệ thống quản lí cơ sở dữ liệu thì cũng cần phải có phương pháp giúp gợi
ý cho độc giả những loại sách phù hợp với họ Điều này sẽ nâng cao trải nghiệm ngườidùng, đồng thời tiết kiệm thời gian hơn Bên cạnh đó còn giúp cho những người quản líthư viện đưa ra những quyết định hiệu quả hơn trong việc bổ sung sách mới, phân bổnguồn lực, cung cấp báo cáo và phân tích thống kê giúp định hướng phát triên dịch vụ thưviện
Song song với đó hệ thống này có thê giúp tự động hóa các quy trình làm việctrong thư viện, từ việc nhập liệu, xử lý thông tin, đến việc tạo báo cáo và thống kê Điềunày giúp giảm thiêu công việc thủ công, tiết kiệm thời gian và tăng năng suất làm việc củanhân viên thư viện
Với những lí do cùng với những giá trị nêu trên, nên em đã quyết định tìm hiêu vềthư viện và thực hiện khoá luận tốt nghiệp với đề tài: “Xây dựng kho dữ liệu và hệ thống
hỗ trợ quyết định áp dụng tại thư viện trường Đại học Sư phạm kỹ thuật thành phố Hồ ChíMinh”
1.2 Mục tiêu nghiên cứu
Xây dựng kho dữ liệu với SQL
Trực quan hóa dữ liệu lên Power BI
Xây dựng hệ thống luật kết hợp
Xây dựng hệ thống gợi ý, trực quan hóa kết quả lên web bằng streamlit
Trang 151.3 Cách tiếp cận và phương pháp nghiên cứu
1.3.1 Đối tượng nghiên cứu
Đê nghiên cứu được hoàn thiện và thực tế, thì em đã sử dụng tập dữ liệu thực tếcủa thư viện trường Đại học Sư phạm Kĩ thuật làm cơ sở dữ liệu cho nghiên cứu này.Đồng thời, em cũng đã nghiên cứu các công nghệ phù hợp nhất đối với nghiên cứu lầnnày bao gồm:
- Sử dụng cơ sở dữ liệu SQL đê lưu trữ dữ liệu cho hệ thống
- Dùng Power BI đê trực quan hóa dữ liệu
- Tìm hiêu và chọn luật kết hợp và phương pháp gợi ý hiệu quả
1.3.2 Phạm vi nghiên cứu
Đối với nghiên cứu lần này, em tập trung chủ yếu vào việc đê xây dựng kho dữliệu, đồng thời sử dụng phương pháp gợi ý đê đề xuất nội dung tương tự Bên cạnh đócũng sẽ trực quan hoá kết quả thông qua trang web đơn giản được dựng bằng Streamlit
1.4 Kết quả dự kiến đạt được
Xây dựng hệ thống hỗ trợ ra quyết định thông qua trực quan hóa dữ liệu (PowerBI), xây dựng dashboard, khai phá luật kết hợp, đồng thời xây dựng hệ thống gợi ý vàtrực quan lên web bằng Streamlit
Trang 161.1.2 Kiến trúc kho dữ liệu
Nhìn chung, một kho dữ liệu hoàn chỉnh sẽ có kiến trúc ba tầng:
-Tầng dưới cùng(Bottom tier): tại đây sẽ có một máy chủ kho dữ liệu,thường là hệ thống cơ sở dữ liệu quan hệ, thu thập, làm sạch và chuyên đổi dữ liệu từnhiều nguồn thông qua quá trình được gọi là Extract, Transform và Load (ETL) hoặcExtract, Load và Transform (ELT)
-Tầng giữa (Middle tier): tầng này bao gồm một máy chủ OLAP (xử lí phântích trực tuyến) cho phép tốc độ truy vấn nhanh Có ba loại OLAP thường được sử dụng
là ROLAP, MOLAP và HOLAP
-Tầng trên cùng(Top tier): đây là giao diện dành cho người dùng cuối, chophép họ thực hiện phân tích dữ liệu tùy ý
Hình 1 Sơ đồ biểu diễn kiến trúc của kho dữ liệu
Trang 171.1.3 Các mô hình dữ liệu
Các schema (mô hình dữ liệu) là cách mà dữ liệu được tổ chức trong cơ sở dữ liệuhoặc kho dữ liệu Có hai loại cấu trúc schema chính là star schema (mô hình hình sao) vàsnowflake schema (mô hình tuyết):
-Star schema: Mô hình này bao gồm một bảng fact (bảng sự kiện) có thêđược kết nối với một số bảng dimension (bảng chiều) Nó được coi là loại schema đơngiản nhất và phổ biến nhất bởi vì bảng fact là trung tâm của mô hình với các bảngdimension xung quanh nó Trong mô hình này, chúng ta sẽ thường tìm một vài thuộc tính
là tập con của các thuộc tính khác trong cùng 1 bản ghi Sự dư thừa này nên rất thận trọng
và giúp tăng hiệu năng tốt hơn Chúng ta có thê dùng ngày tháng, vị trí, và chi nhánh bánhàng,… đê tổng hợp (chính là transform trong ETL) và lưu trữ dữ liệu trong kho dữ liệu
Hình 2 Ví dụ mô hình sao
-Mô hình snowflake (mô hình bông tuyết): Mô bông tuyết là dạng mở rộng củalược đồ hình sao bằng cách bổ sung các Dimension.Trong đó bảng fact (bảng sự kiện)được kết nối với một số bảng dimension (bảng chiều), các bảng dimension này có thê cócác bảng con Người dùng của mô hình snowflake được hưởng lợi từ mức độ trùng lặp dữliệu thấp, vì các bảng dimension đã được bình thường hóa giảm sự trùng lặp dữ liệu Tuynhiên mô hình snowflake có thê làm giảm hiệu suất truy vấn so với mô hình sao
Trang 18Hình 3 Ví dụ mô hình bông tuyết
1.1.4 Sự khác biệt giữa kho dữ liệu và cơ sở dữ liệu
Bảng 1 So sánh Database và Data Warehouse
Processing Method Xử lí giao dịch trực
tuyến(OLTP)
Xử lí phân tích trựctuyến(OLAP)
Optimization
Xóa, chèn, thay thế và cậpnhật số lượng lớn các giaodịch ngắn trực tuyến một cáchnhanh chóng
Nhanh chóng phân tích khốilượng lớn dữ liệu và cung cấpcác quan điêm khác nhau chocác nhà phân tích
Data structure
Cấu trúc dữ liệu được chuẩnhóa cao với nhiều bảng khácnhau không chứa dữ liệu dưthừa Như vậy, dữ liệu chínhxác hơn nhưng truy xuất chậm
Cấu trúc dữ liệu không chuẩnhóa với một vài bảng chứa dữliệu lặp lại Do đó, dữ liệu cókhả năng kém chính xác hơnnhưng truy xuất nhanh
Data timeline
Dữ liệu hiện tại, thời gian thựccho một bộ phận của doanhnghiệp
Quá trình phân tích diễn ranhanh chóng và dễ dàng docần có số lượng nhỏ các table
Trang 19khung thời gian nhỏ của dữliệu có sẵn.
joins và khung thời gian rộngcủa dữ liệu có sẵn
Concurrent users
Hàng nghìn người dùng đồngthời được hỗ trợ Tuy nhiên,chỉ một người dùng có thê sửađổi từng phần dữ liệu tại mộtthời điêm
Số lượng nhỏ người dùngđồng thời
ACID compliance
Ghi dữ liệu theo cách tuân thủACID đê đảm bảo tính toànvẹn ở mức cao nhất
Không phải lúc nào cũng tuânthủ ACID
Storage
Giới hạn ở một nguồn dữ liệuduy nhất từ một chức năngkinh doanh cụ thê
Tất cả các nguồn dữ liệu từ tất
cả các chức năng kinh doanh
Query type Các truy vấn giao dịch đơn
giản
Các truy vấn phức tạp đê phântích chuyên sâu
1.1.5 Lợi ích của việc xây dựng kho dữ liệu
Truy vấn và phân tích dữ liệu hiệu quả hơn: Kho dữ liệu có cấu trúc được sắp xếp
và tổ chức rõ ràng giúp dễ dàng truy vấn và phân tích dữ liệu
Cung cấp dữ liệu chính xác và đầy đủ: Dịch vụ dữ liệu lưu trữ dữ liệu từ nhiều nguồn vàđược cập nhật liên tục, giúp đê cung cấp dữ liệu chính xác và thông tin đầy đủ cho ngườidùng
Tiết kiệm thời gian và tài nguyên: Sử dụng dữ liệu kho giúp giảm thiêu nhu cầutìm kiếm và truy xuất thông tin từ nhiều nguồn, tiết kiệm thời gian và tài nguyên
Đưa ra quyết định vận hành hiệu quả hơn: Phân tích dữ liệu kho giúp công ty đưa
ra quyết định hiệu quả hơn dựa trên về thông tin chính xác và đầy đủ
Hỗ trợ giám sát và đánh giá hiệu quả kinh doanh: Kho dữ liệu cung cấp dữ liệu lịch
sử và hiện tại về doanh số, hiệu quả kinh doanh và nhiều yếu tố khác giúp công ty theodõi và đánh giá hiệu quả kinh doanh hiệu quả hơn
Trang 20Nâng cao năng suất và hiệu quả công việc : Sử dụng kho dữ liệu giúp tăng năngsuất và hiệu quả công việc vì việc truy vấn và phân tích dữ liệu trở nên dễ dàng hơn, giúpngười dùng tận dụng tốt hơn thời gian và nguồn lực của mình
1.2 Hệ quản trị cơ sở dữ liệu Microsoft SQL Server
Hình 4 Hệ thống SQL Server
1.2.1 Định nghĩa
Hệ quản trị cơ sở dữ liệu Microsoft SQL Server (Structured Query Language) là phầnmềm do Microsoft phát triên, dùng đê lưu trữ và truy xuất dữ liệu dựa trên tiêu chuẩnRDBMS (Hệ thống quản lý cơ sở dữ liệu quan hệ) RDBMS bao gồm: cơ sở dữ liệu, công
cụ cơ sở dữ liệu, ứng dụng quản lý dữ liệu và các thành phần khác
Máy chủ SQL cơ bản được xây dựng xung quanh một bảng cấu trúc, bao gồmcác hàng kết nối các mục dữ liệu liên quan trong các bảng khác nhau Vì vậy không cầnphải lưu trữ dữ liệu ở nhiều nơi trong cơ sở dữ liệu
1.2.2 Thành phần chính
Thành phần chính của SQL Server là Database Engine và SQLOS:
-Database Engine: Nó là thành phần cốt lõi của SQL Server chịu trách nhiệm lưutrữ, xử lý và bảo mật dữ liệu Công cụ cơ sở dữ liệu bao gồm nhiều công cụ khác nhaunhư công cụ lưu trữ quản lý tệp, bảng, trang, chỉ mục, bộ đệm dữ liệu và giao dịch cơ sở
dữ liệu
Trang 21-SQLOS: Là lớp cuối cùng của kiến trúc SQL Server tổng thê SQLOS chịu tráchnhiệm quản lý các tác vụ như quản lý bộ nhớ, lập lịch tác vụ và khóa dữliệu đê tránh những xung đột không mong muốn có thê xảy ra trong quá trình cập nhật.
1.2.3 Tính năng nổi bật
Microsoft cung cấp tính năng quản lý dữ liệu cùng SQL Server với các dịch vụ tíchhợp lập trình SQL Server, SQL Server Data Quality và SQL Server Master Ngoài ra, hai
bộ công cụ dành riêng cho quản trị viên cơ sở dữ liệu (DBAs) và lập trình viên:
-SQL Server Data Tools: Được sử dụng trong việc phát triên cơ sở dữ liệu
-SQL Server Management Studio được ứng dụng đê triên khai dễ dàng
SQL Server còn được trang bị tính năng kinh doanh giúp người dùng có thê thựchiện phân tích dữ liệu thông qua:
-SQL Server Analysis Services (SSAS): sử dụng đê phân tích các dữ liệu
-SQL Server Reporting Services: đê tạo ra báo cáo dễ dàng hơn
1.2.4 Ưu điểm
-Cài nhiều phiên bản MS SQL khác nhau trên cùng một máy
-Duy trì riêng biệt các môi trường sản xuất, phát triên, thử nghiệm
-Giảm thiêu các vấn đề tạm thời trên cơ sở dữ liệu
-Tách biệt các đặc quyền bảo mật
-Duy trì máy chủ dự phòng
1.2.5 Nhược điểm
-Microsoft SQL Server chỉ chạy trên hệ điều hành Windows
-Microsoft SQL Server cần thanh toán phí license đê chạy nhiều database
1.3 Công cụ trực quan hoá Power BI
1.3.1 Định nghĩa
Power BI là nền tảng phân tích và dự báo dữ liệu được phát triên bởiMicrosoft Nó cho phép người dùng kết hợp, chuyên đổi và trực quan hóa dữ liệu từ nhiềunguồn đê tạo các báo cáo, biêu đồ và trực quan hóa dữ liệu dễ hiêu và hấp dẫn Power BI
Trang 22cung cấp các công cụ và tính năng mạnh mẽ đê khám phá, phân tích và chia sẻ dữ liệumột cách nhanh chóng và linh hoạt.
1.3.2 Các thành phần chính
- Ứng dụng máy tính đê bàn Windows có tên là Power BI Desktop
-Dịch vụ SaaS (Phần mềm dưới dạng dịch vụ) trực tuyến có tên là Dịch
-Kết nối từ nhiều nguồn: Power BI cho phép bạn kết nối và sắp xếp dữ liệu từnhiều nguồn khác, bao gồm cơ sở dữ liệu, bảng tính, dịch vụ đám mây và ứng dụngSaaS Nó giúp kết hợp dữ liệu từ nhiều nguồn khác nhau và tạo ra cái nhìn toàn diện về
dữ liệu
-Tích hợp với các công cụ của Microsoft: Power BI tích hợp tốt với các công cụ vàứng dụng khác của Microsoft như Excel, Azure và Office 365 Điều này giúp bạn tậndụng tối đa của nó của nó của các tài nguyên và công cụ hiện có mà bạn đã biết
-Chia sẻ và chia sẻ dữ liệu: Power BI cho phép bạn chia sẻ báo cáo và
Trang 23bảng tính Quản lý với đồng nghiệp và khách hàng Bạn có thê nhúng trực quanhóa trên trang web, thiết bị di động hoặc trang tổng quan và sắp xếp dữ liệu của mình mộtcách an toàn.
1.3.4 Hạn chế
-Giới hạn dữ liệu: Phiên bản Power BI miễn phí có giới hạn về khối lượng dữ liệu
và số lượng báo cáo bạn có thê tải xuống
-Phụ thuộc vào nguồn dữ liệu: Power BI phụ thuộc vào việc kết nối và truy vấn cácnguồn khác nhau Các sự cố hoặc thay đổi về nguồn dữ liệu có thê ảnh hưởng đến hiệusuất và trực quan hóa dữ liệu
-Yêu cầu kỹ năng kỹ thuật: Power BI có một số tính năng phức tạp và đòi hỏi khắtkhe Khai thác hết tiềm năng của nó đòi hỏi phải có chuyên môn kỹ thuật
1.4 Tổng quan về hệ thống gợi ý
1.4.1 Định nghĩa
Hệ thống gợi ý là một bộ công cụ và phần mềm được thiết kế đê cung cấp đề xuất
về các mặt hàng (items) cho người dùng (users) Những gợi ý này áp dụng cho nhiềuquyết định khác nhau, chẳng hạn như quyết định mua hàng, lựa chọn âm nhạc hay đọc tintức trực tuyến Hình thức này được sử dụng rộng rãi trong nhiều lĩnh vực, với YouTubegiới thiệu video và Tiki giới thiệu sản phẩm liên quan, Netflix giới thiệu phim theo sởthích, Facebook giới thiệu bạn bè và quảng cáo sản phẩm
Đề xuất có thê được cá nhân hóa hoặc không được cá nhân hóa Đối với các đềxuất được cá nhân hóa, chúng thường được hiên thị dưới dạng danh sách dựa trên sở thích
và giới hạn cá nhân của người dùng Đê đạt được mục đích này, hệ thống thu thập thôngtin về sở thích của người dùng, thông tin này có thê dựa trên các hoạt động trước đó hoặcthông tin rõ ràng do người dùng cung cấp
Sự phát triên của hệ thống đề xuất bắt đầu từ việc quan sát thấy rằng mọi ngườithường dựa vào đề xuất của người khác khi làm việc hàng ngày Quyết định đê mô phỏnghành vi này, hệ thống đề xuất đã sử dụng thuật toán lấy đề xuất từ cộng đồng người dùng
và tạo đề xuất cho những người dùng đang hoạt động
RS đã chứng minh giá trị của mình trong việc giải quyết vấn đề quá tải thông tin
Trang 24khám phá mặt hàng mới, giảm thiêu rủi ro quyết định sai lầm Đồng thời, RS có khả năng
cá nhân hóa đề xuất theo nhu cầu và ngữ cảnh cụ thê của người dùng, tạo ra một trảinghiệm tìm kiếm độc đáo và hữu ích
1.4.2 Lợi ích
Hệ thống gợi ý đã trở thành một phần không thê thiếu ngày nay và mang lại nhiềulợi ích quan trọng cho người dùng và doanh nghiệp Hệ thống tạo ra sự tương tác tích cựcgiữa con người và máy tính, cải thiện trải nghiệm người dùng bằng cách cung cấp các đềxuất thú vị và phù hợp Điều này không chỉ làm tăng xếp hạng và sự hài lòng của ngườidùng mà còn khuyến khích việc sử dụng hệ thống và chấp nhận giới thiệu
Hệ thống giới thiệu cũng thúc đẩy tối ưu hóa doanh thu thông qua chiến lược mởrộng quy mô - bán thêm và bán chéo Bằng cách xác định sở thích và hành vi mua hàngcủa người dùng, hệ thống sẽ đề xuất các sản phẩm chất lượng cao hơn, giúp tăng khả năngbán lại và tăng giá trị đơn hàng Đồng thời, phân tích sản phẩm chéo giúp đề xuất bánchéo, mang lại trải nghiệm mua sắm trọn vẹn và tăng giá trị đơn hàng
Hệ thống đề xuất không chỉ biến khách hàng tiềm năng thành khách hàng thực sự
mà còn mang đến trải nghiệm mua sắm được cá nhân hóa và đặc biệt cung cấp mà còntạo ra những mối quan hệ liên tục thông qua giao tiếp tích cực Cuối cùng, bằng cách thuthập dữ liệu về việc mua hàng và sở thích của người dùng, hệ thống hỗ trợ phân tích kinhdoanh, giúp các công ty hiêu rõ hơn về khách hàng và thị trường, từ đó đưa ra các quyếtđịnh chiến lược sáng suốt
Nói tóm lại, hệ thống khuyến nghị là một công cụ mạnh mẽ không chỉ tối ưu hóatrải nghiệm mua sắm mà còn thúc đẩy sự phát triên và thành công của doanh nghiệp trongnền kinh tế kỹ thuật số ngày nay
1.4.3 Các phương pháp chính
Hệ thống gợi ý gồm 2 phương pháp chính: lọc theo nội dung (content-basedrecommenders), lọc cộng tác (collaborative filtering recommender) và phương pháp kếthợp (hybrid recommenders) Với mỗi phương pháp có nhiều dạng cơ bản được mô tả chitiết theo sơ đồ dưới đây:
Trang 25Hình 6 Sơ đồ biểu diễn các thuật toán chính trong hệ thống gợi ý
● Lọc theo nội dung (content-based recommenders)
Hình 7 Ví dụ thuật toán lọc theo nội dung
-Định nghĩa: Hệ thống đề xuất dựa trên nội dung là một tập hợp con của hệ thống đềxuất giúp điều chỉnh các đề xuất cho người dùng bằng cách phân tích các đặcđiêm vốn có Hệ thống này tập trung vào việc tìm hiêu nội dung và ánh xạ nó tới sởthích của người dùng Hệ thống đề xuất dựa trên nội dung tạo hồ sơ cho cả ngườidùng và mục tiêu bằng cách xem xét các đặc điêm như thê loại, từ khoá, siêu dữ liệu
và các yếu tố mô tả khác Điều đó cho phép hệ thống đưa ra đề xuất các mục có đặcđiêm nội dung tương tự phù hợp với sở thích của người dùng
Trang 26-Cách hoạt động: Công cụ đề xuất nội dung hoạt động dựa trên thông tin mà ngườidùng cung cấp trực tiếp (xếp hạng) hoặc gián tiếp (nhấp chuột vào liên kết) Dựa trênthông tin này, hồ sơ người dùng sẽ được tạo, hồ sơ này được sử dụng đê đưa ra đềxuất cho người dùng Khi người dùng cung cấp nhiều phản hồi hơn hoặc xem xétphản hồi, công cụ sẽ trở nên chính xác hơn.
-Một số khái niệm quan trọng: Có hai khá niệm quan trọng là tần suất thuật ngữ (TF)
và tần suất tài liệu nghịch đảo (IDF) được sử dụng trong các hệ thống truy xuất thôngtin và cả các cơ chế lọc dựa trên nội dung (chẳng hạn như công cụ đề xuất dựa trênnội dung) Chúng được sử dụng đê xác định tầm quan trọng tương đối của một tàiliệu/bài báo/mục tin tức/phim TF đơn giản là tần số của một từ trong tài liệu IDF lànghịch đảo của tần số tài liệu trong toàn bộ kho tài liệu TF-IDF được sử dụng chủyếu vì hai lý do: Giả sử chúng ta tìm kiếm "the rise of analytics" trên Google Chắc
chắn rằng "the" sẽ xuất hiện thường xuyên hơn "analytics" nhưng tầm quan trọng
tương đối của phân tích cao hơn quan điêm truy vấn tìm kiếm Trong những trườnghợp như vậy, trọng số TF-IDF phủ nhận tác động của các từ có tần suất cao trong việcxác định tầm quan trọng của một mục (tài liệu) Nhưng trong khi tính toán TF-IDF,nhật ký được sử dụng đê làm giảm tác động của các từ có tần số cao Ví dụ: TF = 3 sovới TF = 4 khác rất nhiều so với TF = 10 so với TF = 1000 Nói cách khác, mức độliên quan của một từ trong tài liệu không thê được đo lường dưới dạng số liệu thô đơngiản và do đó có phương trình dưới đây:
Ví dụ:
Hình 8 Ví dụ về làm giảm các từ có tần số cao
Trang 27-Có thê thấy rằng tác động của các từ có tần số cao bị giảm bớt và các giá trị này dễ sosánh với nhau hơn so với tần số thuật ngữ thô ban đầu Sau khi tính điêm TF-IDF, làmcách nào đê xác định mục nào gần nhau hơn, gần hồ sơ người dùng hơn? Điều này đượcthực hiện bằng cách sử dụng Mô hình không gian vectơ(Vector Space Model) tính toánkhoảng cách dựa trên góc giữa các vectơ.
-Cách mô hình không gian vectơ hoạt động: Trong mô hình này, mỗi mục được lưu trữdưới dạng vectơ thuộc tính của nó (cũng là vectơ) trong không gian n chiều và góc giữacác vectơ được tính toán đê xác định độ tương tự giữa các vectơ Tiếp theo, các vectơ hồ
sơ người dùng cũng được tạo dựa trên hành động của người đó đối với các thuộc tínhtrước đó của vật phẩm và độ tương tự giữa vật phẩm và người dùng cũng được xác địnhtheo cách tương tự Ví dụ sau sẽ minh họa rõ nét hơn:
Hình 9 Ví dụ về góc giữa các vecto
- Hiên thị ở trên là bản trình bày 2-D của hai thuộc tính, Đám mây & Phân tích M1 & M2
là tài liệu U1 & U2 là người dùng Tài liệu M2 thiên về Analytics hơn là đám mây trongkhi M1 thiên về đám mây hơn là Analytics Người dùng U1 thích các bài viết về chủ đề
‘đám mây’ hơn các bài về ‘phân tích’ và ngược lại đối với người dùng U2 Phương pháptính toán lượt thích/không thích/số đo của người dùng được tính bằng cách lấy cosin củagóc giữa vectơ hồ sơ người dùng(Ui) và vectơ tài liệu Lý do cơ bản đằng sau việc sử
dụng cosin là giá trị của cosine sẽ tăng khi giá trị của góc giữa nó biêu thị sự giống nhaunhiều hơn Các vectơ được chuẩn hóa độ dài, sau đó chúng trở thành vectơ có độ dài 1 vàsau đó phép tính cosin chỉ đơn giản là tích tổng của các vectơ Sử dụng hàm sumproducttrong Excel đê thực hiện tính toán tương tự giữa các vectơ
Trang 28- Cách tính TF-IDF: TF-IDF(term, document) = TF(term, document) * IDF(term)
TF = tần suất xuất hiện của từ trong văn bản
tổng số từ trong văn bảnIDF(term) = log(N / DF(term)) (N là tổng số tài liệu trong tập dữ liệu, DF(term) là sốlượng tài liệu trong tập dữ liệu mà từ (term) xuất hiện)
-Kết quả của TF-IDF là một giá trị số thê hiện tầm quan trọng của từ trong tài liệu Giá trịcàng cao thê hiện từ đó càng quan trọng và đặc trưng cho tài liệu đó TF-IDF có thê đượctính toán cho mỗi từ trong tài liệu và sau đó được sử dụng đê đánh giá sự tương đồng giữacác tài liệu trong hệ thống gợi ý dựa trên nội dung
● Lọc cộng tác (collaborative filtering recommender)
Lọc cộng tác sử dụng đồng thời những điêm tương đồng giữa người dùng và các mục đêđưa ra đề xuất Điều này cho phép đưa ra những khuyến nghị tình cờ Nghĩa là, các môhình lọc cộng tác có thê đề xuất một mục cho người dùng A dựa trên sở thích của ngườidùng tương tự B Hơn nữa, các phần nhúng có thê được học tự động mà không cần dựavào kỹ thuật thủ công của các tính năng Về cơ bản có 2 loại thuật toán hoặc các kỹ thuật
đê xây dựng hệ thống đề xuất dựa trên lọc cộng tác: dựa trên bộ nhớ (memory-based)
và dựa trên mô hình (model-based).
Lọc dựa trên bộ nhớ (memory-based): Phương pháp dựa trên bộ nhớ tập trung
vào việc lưu trữ và sử dụng trực tiếp dữ liệu lịch sử hoặc dữ liệu huấn luyện Thông tinđược lưu trữ trong bộ nhớ và được sử dụng đê đưa ra quyết định hoặc đưa ra dự đoán dựatrên những điêm tương đồng hoặc so sánh với các ví dụ được tạo trước đó Ưu điêm củaphương pháp dựa trên bộ nhớ là đơn giản, linh hoạt và có thê học từ dữ liệu phi cấu trúc.Tuy nhiên, điều này có thê khó khăn nếu bạn đang xử lý các phòng có kích thước lớnhoặc các tính năng phức tạp Hai thuật toán chính trong phương pháp lọc này là item- based và user-based.
User-based Collaborative Filtering (lọc cộng tác dựa trên người dùng): Lọc
cộng tác dựa trên người dùng là phương pháp phân loại so sánh những điêm tươngđồng của người dùng dựa trên hành vi của họ Đây là một trong những phương pháp phổbiến nhất được sử dụng trong lĩnh vực hệ thống gợi ý đê giới thiệu các mục cho
Trang 29người dùng Cách thức hoạt động của lọc cộng tác dựa trên giả định rằng nếu hai ngườidùng có sở thích giống nhau trong quá khứ thì họ cũng sẽ có sở thích tương tự trongtương lai Bên cạnh đó phương pháp này có nhược điêm là khả năng mở rộng kém khi sốlượng người dùng và mục tiêu lớn Ngoài ra, nếu không có đủ dữ liệu đánh giá, việc tínhtoán độ tương đồng và đưa ra dự đoán chính xác có thê trở nên khó khăn.
Hình 10 Ví dụ ý tưởng chung của User-based Collaborative Filtering
Các bước chính :
B1: Tính độ tương đồng (similarity):
● Tạo ra một ma trận đánh giá trong đó hàng đại diện cho người dùng và cột đại diệncho các mục tiêu Các giá trị trong ma trận này thường là các đánh giá hoặc phản hồi
từ người dùng về các mục tiêu tương ứng
● Độ tương đồng giữa hai user u và user u, có thê được tính theo hai phương phápPearson và Cosine:
simpearson(u, u,) = ΣiϵIuu,(rui − ru) (ru,i − ru,)
ΣiϵIuu, (rui − ru)2 ΣiϵIuu,(ru , i − ru,)2
simcosine(u, u,) = ΣiϵIuu,(rui) (ru, i)
ΣiϵIuu,(rui)2 ΣiϵIuu,(ru , i)2
Trang 30Trong đó:
-rui và ru,i là giá trị đánh giá tương ứng của user u và user u’ với item i
-Iuu, là tập hợp các items được cả user u và user u’ đánh giá (rated)
-ru là giá trị đánh giá trung bình trên tất cả các items của user u
-ru, là giá trị đánh giá trung bình trên tất cả các items của user u’
B2: Chọn các user lân cận:
Xác định các mục tiêu lân cận cho một mục tiêu cụ thê: Dựa trên độ tương đồngtính được ở bước trước, chọn ra một tập hợp các mục tiêu tương tự cho một mục tiêu cụthê
B3: Dự đoán đánh giá còn thiếu (missing rating) của một item:
Tính toán dự đoán xếp hạng cho các mục không được người dùng xếp hạng Tínhtoán dự đoán xếp hạng cho các mục chưa được người dùng xếp hạng bằng cách sử dụngthông tin từ các mục lân cận Điều này có thê được thực hiện bằng cách tính trung bìnhhoặc tính trọng số cho xếp hạng từ các trang web lân cận
rui = ru + Σu,ϵKusim(u, u
,) (ru, i − ru,)
Σu, ϵKu sim(u, u,)Trong đó:
-sim(u, u,) là độ tương đồng của user u và u,
-Ku là số lượng users có độ tương đồng gần với user u(k láng giềng của u)
B4: Xây dựng ma trận dự đoán:
Tạo ra một ma trận dự đoán trong đó hàng đại diện cho người dùng và cột đại diệncho các mục tiêu Các giá trị trong ma trận này là dự đoán đánh giá cho các mục tiêu màngười dùng chưa đánh giá
B5: Gợi ý mục cho người dùng:
Đề xuất mục tiêu cho người dùng: Dựa trên các dự đoán đánh giá, hệ thống có thê
đề xuất một danh sách các mục tiêu được đánh giá cao cho mỗi người dùng Điều này
Trang 31Item-based Collaborative Filtering (lọc cộng tác dựa trên mục tiêu): Lọc cộng tác dựa
trên đối tượng tập trung vào việc tính toán sự tương đồng giữa các mục (item) dựa trên sựtương đồng trong lịch sử đánh giá của người dùng Phương pháp này giả định rằng nếungười dùng có sở thích tương tự đối với một mục tiêu (đối tượng) trong quá khứ thì họ sẽ
có xu hướng có sở thích tương tự trong tương lai
Hình 11 Về dụ ý tưởng chung của Item-based Collaborative Filtering
Các bước chính :
B1: Tính độ tương đồng (similarity):
Tạo ra một ma trận đánh giá trong đó hàng đại diện cho người dùng và cột đại diệncho các mục tiêu Các giá trị trong ma trận này thường là các đánh giá hoặc phản hồi từngười dùng về các mục tiêu tương ứng
simpearson(i, i,) = ΣuϵUii,(rui − ri) (rui, − ri,)
ΣuϵUii, (rui − ri)2 ΣuϵUii, (rui , − ri,)2
simcosine(u, u,) = ΣuϵUii,(rui) (rui,)
ΣuϵUii, (rui)2 ΣuϵUii,(rrui,)2
Trong đó:
-rui và rui, là giá trị đánh giá của user tương ứng cho item i và item i’.-U là tập các users đã đánh giá cho item i và item i’
Trang 32-ri là giá trị giá trị đánh giá trung bình của tất cả các users trên item i.
-ri, là giá trị giá trị đánh giá trung bình của tất cả các users trên item i’
B2: Chọn các items lân cận:
Xác định các mục tiêu lân cận cho một mục tiêu cụ thê: Dựa trên độ tương đồngtính được ở bước trước, chọn ra một tập hợp các mục tiêu tương tự cho một mục tiêu cụthê
B3: Dự đoán đánh giá còn thiếu (missing rating) của một item:
Sử dụng thông tin từ các mục tiêu lân cận, tính toán dự đoán đánh giá cho các mụctiêu chưa được đánh giá Điều này có thê được thực hiện bằng cách tính trung bình hoặctrọng số của các đánh giá từ các mục tiêu lân cận
rui = ri + Σi,ϵKisim(i, i
,) (rui, − ri,)
Σi, ϵKi sim(i, i,)Trong đó:
-sim(i, i,) là độ tương đồng của item i và i,.-Ki là số items có độ tương đồng gần item i (k láng giềng của i)
B4: Xây dựng ma trận dự đoán:
Tạo ra một ma trận dự đoán trong đó hàng đại diện cho người dùng và cột đại diệncho các mục tiêu Các giá trị trong ma trận này là dự đoán đánh giá cho các mục tiêu chưađược đánh giá
B5: Gợi ý mục cho user:
Dựa trên các dự đoán đánh giá, hệ thống có thê đề xuất một danh sách các mục tiêuđược đánh giá cao cho mỗi người dùng Điều này giúp người dùng tìm thấy các mục tiêu
có khả năng phù hợp với sở thích của họ
Model-based Collaborative Filtering (lọc cộng tác dựa trên mô hình):
Lọc cộng tác dựa trên mô hình tập trung vào việc xây dựng mô hình hoặc chứcnăng dự đoán đê cung cấp đề xuất cho người dùng Phương pháp này sử dụng phươngpháp thống kê và học máy đê xây dựng mô hình từ dữ liệu huấn luyện Trong đó haiphương pháp phổ biến nhất là Factorization Machines và Neural Collaborative Filtering:
Trang 33Phương pháp Factorization Machines:
Factorization Machines là một mô hình học máy phổ biến trong lĩnh vực lọc tươngtác Nó đã được áp dụng thành công cho nhiều vấn đề như hệ thống gợi ý, dự đoán vàphân loại xếp hạng FM kết hợp các hàm tương tác và tuyến tính đê tạo ra các dự đoán.Điều này giúp mô hình tìm hiêu mối quan hệ tương tác giữa các tính năng và dự đoán sởthích của người dùng đối với các mục FM sử dụng kỹ thuật phân rã ma trận (matrix factorization) đê biêu thị các tính năng tương tự trong tương tác sử dụng ma trận phân
bố nhân tố Điều này cho phép mô hình tìm hiêu cả tương tác riêng lẻ và tương tác giữacác cặp tính năng
Kỹ thuật phân rã ma trận (matrix factorization) là phương pháp chia một ma trậnlớn X thành hai ma trận có kích thước nhỏ hơn là W và H, sao cho ta có thê xây dựnglại X từ hai ma trận nhỏ hơn này càng chính xác càng tốt, nghĩa là X ~ WHTđược minhhọa như hình sau:
Hình 12 Mô tả kĩ thuật phân rã ma trận
Có thê hiêu rằng, ý tưởng chính của Matrix Factorization là đặt items và users vàotrong cùng một không gian thuộc tính ẩn Trong đó, W ∈ R∣ U ∣ ∗ K là một ma trận mà mỗidòng u là một vector bao gồm K nhân tố tiềm ẩn (latent factors) mô tả user u và H
∈ R∣ I ∣ ∗ K là một ma trận mà mỗi dòng i là một vector bao gồm K nhân tố tiềm ẩn mô tảcho item i
Trang 34Áp dụng phương pháp này vào bài toán gợi ý, chúng ta có x là một vector của itemprofile Mục tiêu của chúng ta là tìm một vector w tương ứng với mỗi user sao cho ratings
đã biết của user đó cho item (y) xấp xỉ với:y~ xw
Mở rộng với Y là utility matrix, giả sử đã được điền hết giá trị, ta có:
Với M, N lần lượt là số users và số items
Lưu ý, do X là được xây dựng dựa trên thông tin mô tả item và quá trình xây dựngnày độc lập với quá trình đi tìm hệ số phù hợp cho mỗi user nên việc xây dựng itemprofile đóng vai trò quan trọng và có thê ảnh hưởng trực tiếp đến hiệu năng của mô hình.Thêm nữa, việc xây dựng mô hình riêng lẻ cho mỗi user dẫn đến kết quả chưa thực sự tốt
vì không khai thác được đặc điêm giống nhau giữa các user
Giả sử rằng ta không cần xây dựng trước các item profile mà ma trận này có thêhuấn luyện đồng thời với ma trận trọng số, hay nói các khác bài toán này là bài toán tối
ưu các ma trận X và W, trong đó X là ma trận của toàn bộ các item profiles, mỗi hàngtương ứng với 1 item Còn W là ma trận của toàn bộ user models (các mô hình của users),mỗi cột tương ứng với một user Chúng ta sẽ cố gắng xấp xỉ utility matrix Y
∈ RM*Nbằng tích của hai ma trận con là X ∈ RM*Kvà W ∈ RK*N
Trong đó, K được chọn thường nhỏ hơn rất nhiều so với M và N, và cả hai ma trận
X và W đều phải có bậc (rank) không được vượt quá K
Trang 35Hình 13 Mô tả bài toán tối ưu ma trân X và W
Ưu nhược điểm của mô hình lọc cộng tác:
-Ưu điêm: Như chúng ta biết có hai loại hệ thống đề xuất, hệ thống đề xuất dựatrên nội dung có trường hợp sử dụng hạn chế và có độ phức tạp về thời gian cao hơn.Ngoài ra, thuật toán này dựa trên một số nội dung hạn chế nhưng điều đó không xảy ravới các thuật toán dựa trên Lọc cộng tác Một trong những ưu điêm chính mà hệ thống đềxuất này có là chúng có hiệu quả cao trong việc cung cấp nội dung được cá nhân hóanhưng cũng không thê thích ứng với những thay đổi về sở thích của người dùng
-Nhược điêm: Một trong những vấn đề chính mà hệ thống đề xuất phải đối mặt làkhả năng mở rộng vì khi cơ sở người dùng tăng lên thì kích thước tương ứng cho tínhtoán và không gian lưu trữ dữ liệu đều tăng lên rất nhiều, dẫn đến kết quả chậm và khôngchính xác Ngoài ra, các thuật toán lọc cộng tác không đề xuất tính đa dạng của sản phẩm
vì nó dựa trên dữ liệu lịch sử và do đó cũng đưa ra các đề xuất liên quan đến chúng
1.4.4 Phương pháp đánh giá
-MAE (Mean Absolute Error): Sai số tuyệt đối trung bình (MAE) đo lường sự khácbiệt dưới dạng giá trị tuyệt đối giữa dự đoán của thuật toán và xếp hạng thực tế mà ngườidùng sẽ đưa ra Nó được biêu diễn bằng công thức sau:
MAE = Σui puin− rui
pui : là dự đoán của mô hình đối với xếp hạng của user u với item i
rui: là đánh giá của user u đối với item i
n: là tổng số ví dụ trong tập test
Trang 36-RMSE (Root Mean Square Error) : RMSE là căn bậc hai của sai số tuyệt đối trungbình (MAE), RMSE đo lường độ lớn của sai lệch giữa các giá trị dự đoán và giá trị thực
tế Nó được biêu diễn bằng công thức sau:
RMSE = Σui(puin− rui)2
1.4.5 Thuật toán Word2Vec
Định nghĩa: Thuật toán Word2Vec là một công cụ được phát triên đê giải quyết vấn đề
về biêu diễn độ tương tự giữa các từ trong xử lý ngôn ngữ tự nhiên Word2vec giải quyếtvấn đề vector one-hot không thê biêu diễn chính xác độ tương tự giữa các từ(độ tương tựcô-sin giữa các vector one-hot của bất kỳ hai từ khác nhau nào luôn bằng)
Phân loại: Thuật toán Word2Vec bao gồm hai mô hình chính là CBOW và skip-gram:
SKIP-GRAM: Mô hình skip-gram giả định rằng một từ có thê được sử dụng đê
sinh ra các từ xung quanh nó trong một chuỗi văn bản.Nói cách khác, mô hình này cốgắng dự đoán từ đích trung tâm dựa trên các từ ngữ cảnh Giả sử chuỗi văn bản là "the",
"man", "love", "his" và "son" Nếu sử dụng "love" làm từ mục tiêu trung tâm và đặt kíchthước cửa sổ ngữ cảnh là 2 Với từ mục tiêu trung tâm là "love", mô hình Skip-gram quantâm đến xác suất có điều kiện của việc tạo ra các từ ngữ cảnh ("the", "man", "her" và
"boy")
P("the","man","his","son"∣"loves")
Hình 14 Mô hình skip-gram
Trang 37Có thê thu được xác suất có điều kiện sinh ra từ ngữ cảnh cho một từ đích trung tâm cho trước bằng phép toán softmax trên tích vô hướng của vector:
Hình 1.14 Xác xuất có điều kiện của mô hình Skip-gram
Chú thích:
i: Chỉ số của một từ trong từ điên
vi∈Rd: vector của từ được biêu diễn khi từ này là từ đích trung tâm
ui∈Rd:vector của từ được biêu diễn khi từ này là một từ ngữ cảnh
c: chỉ số của từ đích trung tâm wc
o: chỉ số của từ ngữ cảnh wc
Hàm hợp lý: Với một đoạn văn bản có độ dài T, hàm hợp lý của mô hình Skip-gram làxác suất kết hợp đê tạo ra tất cả các từ ngữ cảnh cho bất kỳ từ trung tâm nào, được tínhbằng:
Hình 1.15 Hàm hợp lí của mô hình Skip-gram
Huấn luyện mô hình: Mô hình Skip-gram được huấn luyện bằng cách cực đại hóa
hàm hợp lý, hay còn gọi là ước lượng hợp lý cực đại Điều này tương đương với việc
giảm thiêu hàm mất mát sau:
Hình 1.16 Hàm mất mát của mô hình Skip-gram
Trang 38Quá trình huấn luyện sử dụng thuật toán Stochastic Gradient Descent (SGD) đêcập nhật các tham số mô hình (vector từ trung tâm và vector từ ngữ cảnh) sau mỗi vònglặp.
Ứng dụng: Sau khi huấn luyện, vector từ trung tâm vivà ui thường được sử dụng
đê biêu diễn một từ trong các ứng dụng xử lý ngôn ngữ tự nhiên
CBOW(Continuous Bag of Words): là một phương pháp trong xử lý ngôn ngữ tự
nhiên được sử dụng đê tạo ra các vector biêu diễn từ (word embeddings) Khác với môhình skip-gram, mô hình CBOW dự đoán từ đích trung tâm dựa trên các từ ngữ cảnh xungquanh nó trong một đoạn văn bản Ví dụ, với câu "the man loves his son" và từ đích trungtâm là "loves", mô hình CBOW sẽ dự đoán xác suất của từ "loves" dựa trên các từ ngữcảnh "the", "man", "his" và "son"
P("loves"∣"the","man","his","son")
Hình 15 Mô hình CBOW
Đê thực hiện việc này, mô hình CBOW lấy trung bình cộng các vector từ của các
từ ngữ cảnh và sử dụng kết quả này đê tính toán xác suất có điều kiện của từ đích trung
tâm Cụ thê hơn, xác suất có điều kiện này được tính toán bằng cách sử dụng hàm softmax
trên tích vô hướng giữa vector trung bình của các từ ngữ cảnh và vector của từ đích trungtâm
Trang 39Chú thích:
vi ∈Rd: là vector từ ngữ cảnh của từ có chỉ số i
ui ∈Rd: là vector từ đích trung tâm của từ có chỉ số I
c: là chỉ số của từ đích trung tâm wc
o1,…,o2m: là chỉ số các từ ngữ cảnh wo1,…,wo2mtrong từ điên
Cho một chuỗi văn bản có độ dài T, ta giả định rằng từ xuất hiện tại bước thờigian t là w(t), và kích thước của cửa sổ ngữ cảnh là m Hàm hợp lý của mô hình CBOW là
xác suất sinh ra bất kỳ từ đích trung tâm nào dựa vào những từ ngữ cảnh
Quá trình huấn luyện mô hình CBOW tương tự như mô hình skip-gram, trong đómục tiêu là cực đại hóa hàm hợp lý (likelihood function) Điều này tương đương với việc
giảm thiêu hàm mất mát được định nghĩa là âm của logarit của hàm hợp lý Gradient của
hàm mất mát sau đó được sử dụng đê cập nhật các tham số của mô hình, bao gồm cả cácvector từ của các từ trong từ điên
Sự khác biệt giữa CBOW và SKIP-GRAM:
Sự khác biệt chính giữa mô hình CBOW và mô hình skip-gram nằm ở cách chúng
dự đoán một từ dựa trên các từ xung quanh nó Mô hình skip-gram giả định rằng các từngữ cảnh (các từ xung quanh) được tạo ra dựa trên từ đích trung tâm.Nói cách khác, môhình này cố gắng dự đoán các từ ngữ cảnh dựa trên từ đích trung tâm.Ngược lại, mô hìnhCBOW giả định rằng từ đích trung tâm được tạo ra dựa trên các từ ngữ cảnh xung quanh
Trang 40nó.Mô hình này sử dụng trung bình các vector từ của các từ ngữ cảnh đê dự đoán từ đíchtrung tâm.
hệ ngữ nghĩa giữa các từ, giúp máy tính hiêu nghĩa của các từ trong ngữ cảnh
Tính linh hoạt: Word2vec có thê được sử dụng cho nhiều tác vụ xử lý ngôn ngữ tựnhiên khác nhau, chẳng hạn như phân loại văn bản, tóm tắt văn bản, dịch máy
Có thê áp dụng cho các loại dữ liệu khác: ý tưởng của Word2vec đã được áp dụngcho nhiều vấn đề liên quan đến dữ liệu vượt xa dữ liệu ngôn ngữ
Khó giải thích: Các vectơ nhúng(vector embedding) do Word2vec tạo ra thường làcác mảng số phức tạp, ý nghĩa của nó khó giải thích một cách trực quan
Độ dài văn bản bị giới hạn: Word2vec chỉ có thê xử lý các văn bản ngắn
1.5 Tổng quan về phương pháp khai phá luật kết hợp (Association rule in data mining)
1.5.1 Định nghĩa
Khai phá luật kết hợp là một loại kỹ thuật học không giám sát nhằm kiêm tra
sự phụ thuộc của một đối tượng dữ liệu vào một đối tượng dữ liệu khác và ánh xạ nósao cho có lợi hơn Nó cố gắng tìm ra những mối quan hệ thú vị hoặc những mối quan
hệ giữa các biến trong một tập dữ liệu Nó dựa vào các quy tắc khác nhau đê tìm ramối quan hệ thú vị giữa các biến cơ sở dữ liệu