Là một người yêu thích đọc sách, và các hệ thống gợi ý sách thường chỉ áp dụng các thuộc tính cơ bản như đầu mục, tác giả hay thê loại của sách đề đưa ra gợi ý, em cảm thấy có thé đưa ra
Trang 1ĐẠI HỌC QUỐC GIA TP HÒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC VÀ KỸ THUẬT THÔNG TIN
DO ĐỨC THỊNH — 19520977
KHOA LUAN TOT NGHIEP
XAY DUNG HE THONG DE XUAT SACH CHO UNG DUNG WEB AP DUNG
CÁC MÔ HÌNH TRUY HOI THONG TIN
BOOKS RECOMMENDATION SYSTEM FOR WEB-BASED APPLICATION
APPLYING INFORMATION RETRIEVAL MODELS
CU NHANNGANH CONG NGHE THONG TIN
GIẢNG VIÊN HƯỚNG DAN
TS DO TRỌNG HOP Ths TA THU THUY
TP HO CHÍ MINH, 2023
Trang 2LỜI CẢM ƠN
Đầu tiên, em xin được gửi lời cảm ơn tới các thầy cô, cán bộ đang đã và đang tham
gia công tác giảng day tại trường Đại học Công Nghệ Thông Tin — Dai học Quốc Gia TP.HCM, đặc biệt là các thầy cô và cán bộ của khoa Khoa Học và Kỹ Thuật
Thông Tin Trong suốt những năm em học tập và rèn luyện tại trường, các thầy cô
đã truyền đạt cho em những kiến thức vô cùng quý báu Em xin được gửi lời cảm
ơn đến ThS Lưu Thanh Sơn, người cố vấn học tập của em trong suốt bốn năm qua,
thầy luôn tích cực giúp đỡ và quan tâm đến em Em cũng xin được gửi lời cảm ơn trân trọnng nhất đến TS Đỗ Trọng Hợp và ThS Tạ Thu Thủy, những người đã
nhận lời và giúp đỡ em rất nhiều để em có thể hoàn thành khóa luận tốt nghiệp này.
Một lần nữa em xin trân trọng cảm ơn thầy cô!
Em cũng xin gửi lời cảm ơn đến gia đình và bạn bè, những người đã đồng hành và giúp đỡ em trong suốt thời gian qua!
Trang 3LAL Dat VAN a5 ốẽ
1.2 Định hướng va giải pháp -eccrrreeeeeeertrrririrriiiiiirirrririirrrrrree
an 5
¬ ¬ 2.2.2 Một số phương pháp truy hồi thông tỉn -s
4.2 Thử nghiệm .eecceeeerrrrrrtirirrrrtrtrtrtririiiiirirtrtririiiriiirrtrtrrrirriiiirre
co nh Ô.ÔÔỎ
w an Chương 5 Hệ thống dé xuat ssssssssssntnsanssssstistesasieiatiststseiseestassaessesanete
w an
lì na
Trang 45.2.1 Streamiit -.-.ccckckrtrtriiiiiiiiiiiiiiiiiiiiiiiiiiirie
5.2.2 Các bước triển Khai eens
5.2.3 Giao diện chính của ứng dụng -.-.ecceeeeeetetriririiirrir
Chương 6 _ Kết luận và hướng phát triỂn esresresrerrerrere
sa 6.2 Hướng phát triển -es2tseerterterrtretrerrertrrrrrerrrrerrrre
38
38 39 39
41
41 42
Trang 5Doan dir liệu văn ban mô ta của sách (được khoang đỏ) 28
Phân bổ rating của uS€T 2- 2-52 2 2S2E‡EESEEEEEEEEEEE2EE21221 2121212 30Giá trị RMSE với tổng số item nhóm Ï -2- 2 2 2+ s£s+£s+sz2 33Giá trị RMSE với tổng số item nhóm 2 2-2 2 2+ +£+£s+zszz 34Giá trị RMSE với tổng số item nhóm 3 - 2-2 2 2+2 s£+£+zszz 35
Quá trình xử lý đữ liệu - 2c 2 + E* SH HH HH Hư, 37
Quá trình tạo CAC BOTY eeeeesecesseeeseeceseeceneeeseeesaeeeteeeseessaeeenaeceeaeceneeesaes 38
Giao diện ứng dụng (1) - << 111v HH ng ng 39 Giao diện ứng dụng (2) .- c1 31391191 119111 vn ng ng 40
Trang 6DANH MỤC BANG
Bảng 2.1 So sánh Skip-gram và CBỌW LH HH HH HH 19
Bảng 3.1 Ý nghĩa các trường trong tập dữ liệu DOOKS -¿ z=5+ 26
Bảng 3.2 Các giá tri ở trường language_code trong tập books - ‹ 27
Bang 3.3 Số lượng các giá trị rỗng trong trường languaga_code 28
Bang 3.4 Y nghĩa các trường cĩ trong tập ratings ¿- scxecxzxsrerxeres 31
Bảng 4.1 Kết quả RMSE trung bình của từng mơ hình (Nhĩm I) 33Bảng 4.2 Kết quả RMSE trung bình của từng mơ hình (Nhĩm 2) 34
Bang 4.3 Kết quả RMSE trung bình của từng mơ hình (Nhĩm 3) 34
Trang 7DANH MỤC TỪ VIET TAT
STT| Tên viết tắt Tên đầy đủ
I | API Application Programming Interface
11 | IICF Item-Item Collaborative Filtering
12 | MSE Mean Squared Error
13 | NLTK Natural Language ToolKit
14 |RS Recommender System, Recommendation System
15 | RMSE Root Mean Squared Error
16 | TF-IDF Term Frequency - Inverse Document Frequency
17 | TN True Negative
Trang 818 TP True Positive
19 UUCF User-User Collaborative Filtering
Trang 9TÓM TÁT KHÓA LUẬN Recommendation system hay recommender system, hệ khuyến nghị, là hệ thống
được xây dựng đề đưa các gợi ý, khuyến nghị cho user dựa trên những dữ liệu đã có
sẵn về user hoặc sản phẩm Hệ khuyến nghị là bài toán có tính thực tiễn và tính ứng dụng cao, như giải quyết các vấn đề lựa chọn của user như nên mua sản phẩm nào,
bài nhạc nào phù hợp với mình hay nên đọc các tin tức gì trong hằng sa số các lựa chọn Hiện nay, các bài toán này ngày càng trở nên phé biến hơn nhờ sự phát triển
thần tốc của các nền tảng số như các trang mạng xã hội TikTok, Instagram hoặc các nền tảng streaming trực tuyến như Netflix, Youtube, v.v.
Information retrieval techniques, hay kỹ thuật truy hôi thông tin, là các kỹ thuật truy xuất thông tin từ các dữ liệu không có cấu trúc cụ thể như hình ảnh, âm thanh hoặc văn ban Các kỹ thuật này truy xuất các thuộc tinh an của dữ liệu nhằm có thể tái sử
dụng các dữ liệu này một cách hiệu quả hơn.
Là một người yêu thích đọc sách, và các hệ thống gợi ý sách thường chỉ áp dụng các thuộc tính cơ bản như đầu mục, tác giả hay thê loại của sách đề đưa ra gợi ý, em cảm thấy có thé đưa ra một giải pháp cải thiện cho các hệ thống gợi ý này bằng cách
áp dụng thêm các kỹ thuật truy hồi thông tin lên các đoạn văn bản gợi ý của tựa
sách dé xây dựng hệ khuyến nghị.
Trong khóa luận này, em sẽ nghiên cứu và áp dụng các kỹ thuật truy hồi thông tin
bao gồm: TF-IDF, DOC2VEC và xây dựng một hệ khuyến nghị áp dụng thuật toán Content-based, Collaborative Filtering Sau đó, thử nghiệm các phương pháp này và
so sánh đánh giá độ chính xác và tính tin tin cậy của từng phương pháp.
Trang 10Chương 1 Giới thiệu đề tài
1.1 Dat vấn đề
Với sự phát triển nhanh chóng của công nghệ, cuộc sống của con người ngày càng
được cải thiện và tiện ích Bây giờ, chúng ta có thể dễ dàng tiếp cận đến nhiều nội dung thông qua internet và một thiết bị truy cập internet Chỉ cần vài thao tác đơn
giản, chúng ta có thể xem phim yêu thích hoặc nghe nhạc Điều tương tự cũng áp
dụng cho việc đọc sách Có vô số cuốn sách mà chúng ta có thể tiếp cận thông qua các nền tảng như Amazon Kindle, Google Play Books, v.v.
Tuy tiện lợi, tuy nhiên, việc có quá nhiều cuốn sách cũng gây ra van đề "khủng hoảng thừa" khi người đọc không biết chọn sách nào phù hợp với mình Để giải
quyết vấn để này, các nền tảng đã áp dụng hệ thống gợi ý sách cho user, sử dụng các thuật toán học máy hay được gọi là hệ thống khuyến nghị Những hệ thống
khuyến nghị này đề xuất sách phù hợp cho người đọc, từ đó nâng cao trải nghiệm
và cũng mang lại lợi nhuận cho nền tảng đó.
Dữ liệu văn bản có thể được tìm thấy ở mọi nơi, từ các trang web, trang báo điện tử
cho đến các trang mạng xã hội và thư viện điện tử Cùng với sự phô biến của việc
số hóa thư viện và sự phát triển của internet và mạng xã hội, dữ liệu văn bản tăng
lên với tốc độ nhanh chóng Dữ liệu văn bản là dạng dữ liệu phi cấu trúc hoặc bán cấu trúc, chứa nhiều thông tin ẩn mà mắt thường không thể nhìn thấy Tuy nhiên,
thông tin này có thê được khám phá thông qua các kỹ thuật khai phá dữ liệu văn bản
hoặc truy xuất/thu thập thông tin và được sử dụng bởi các mô hình học máy và trí tuệ nhân tạo Nội dung và mô tả của các cuốn sách cũng là một nguồn dữ liệu phong
phú.
Tuy nhiên, các hệ thống khuyến nghị trên các nền tảng đọc sách thường chỉ dựa trên thé loại sách, tác giả hoặc đánh giá từ user trước đó đề đưa ra gợi ý Tuy chung quy,
những hệ thống khuyến nghị này không sử dụng nội dung hoặc mô tả của cuốn sách
để đưa ra gợi ý cho người đọc.
Trang 111.2 Dinh hướng và giải pháp
Trong nghiên cứu nay, chúng tôi đã phát triển một hệ thống khuyến nghị bằng cách
sử dụng dữ liệu văn bản mô tả từ các đầu sách và rating của user cho các cuén sách, nhằm cung cấp các khuyến nghị mang tính cá nhân hóa đến user Dé thực hiện điều nay, chúng tôi đã sử dụng kỹ thuật truy xuất thông tin để xây dựng hồ sơ cho từng
cuốn sách dựa trên các đoạn mô tả Sau đó, chúng tôi sử dụng phương pháp lọc cộng tác cùng với các rating mà user đã đánh giá trước đó để đưa ra các gợi ý phù
hợp với từng user Mục tiêu cuối cùng là để user có thê khám phá ra những cuốn sách phù hợp nhất với sở thích cá nhân mình.
Dữ liệu đầu vào sẽ là các đoạn văn mô tả của sách và cũng như là rating của user
cho những đầu sách mà user đó đã đọc Chúng tôi sẽ tiến hành véc-tơ hóa các đoạn
mô tả của các cuốn sách bằng các kỹ thuật truy hồi thông tin như TF-IDF va
Doc2Vec Sau đó, chúng tôi áp dụng mô hình hồi quy, để đưa ra các dự đoán rating
nhằm đánh giá sự quan tâm của user đối với từng cuốn sách Đồng thời cũng sử dụng mô hình hồi quy đã huấn luyện để đưa ra dự đoán rating cho những đầu sách
mà người dùng chưa đánh giá Cuối cùng, chúng tôi sử dụng độ đo Root Mean
Squared Error để đánh giá hiệu quả của thuật toán.
1.3 Bố cục khóa luận
Phần còn lại của báo cáo khóa luận tốt nghiệp này được tổ chức như sau:
Ở chương 2, chúng tôi sẽ trình bày các khái niệm tổng quan về các nghiên cứu liên
quan được áp dụng như: hệ khuyến nghị, bao gồm khái niệm và các thuật toán tiếp cận Tiếp theo sẽ trình bày khái niệm tổng quan về các kỹ thuật truy hồi thông tin.
Trong báo cáo này, chúng tôi sẽ trình bày khái niệm về các thuật toán based filtering va Collaborative filtering của hệ khuyến nghị, khái niệm và các cách
Content-tiếp cận của các kỹ thuật truy hồi thông tin Bag-of-Words, TF-IDF, Word2Vec và
Doc2Vec.
Chương 3 chúng tôi sẽ trình bày về bộ dữ liệu thực nghiệm trong đề tài này Cách thu thập bộ dữ liệu, và sau đó là tiền xử lý dé có thé thu được đữ liệu mong muốn từ
tập dữ liệu thô.
Trang 12Chương 4 sẽ trình bày về các mô hình được thử nghiệm, cũng như là các kết quả
khi so sánh với một mô hình baseline.
Chương 5 trình bày hệ thống được triển khai, bao gồm ứng dụng demo và các bảng
vẽ mô tả thuật toán Ở chương này, chúng tôi cũng sẽ trình bày các kết quả thu được sau khi triển khai thử nghiệm mô hình trên môi trường phát triển.
Cuối cùng trong chương 6, chúng tôi sẽ trình bày các kết luận thu được từ quá trình
nghiên cứu, thử nghiệm, xây dựng, và triển khai hệ thống Từ đó đưa ra các định hướng phát triển tiếp theo cho đề tài này.
Trang 13Chương 2 Cac nghiên cứu liên quan
2.1 Hệ khuyến nghị
2.1.1 Khái niệm
Hệ khuyến nghị (recommender system - RS) là một phương pháp trong hệ thống lọcthông tin (Information filtering), được sử dụng để giải quyết các vấn đề dự đoán sởthích hoặc đánh giá của user đối với những item mà họ chưa từng tương tác hoặc
đánh giá trong quá khứ.
Hệ khuyến nghị bao gồm hai thành phần chính là người dùng (user) và mục (item),
trong đó user là các cá nhân sử dụng và mục là các sản phẩm như sách, bài hát,video, và kế ca là các user khác như tinh năng gợi ý kết bạn hoặc gợi ý theo dõi trên
các nền tảng mạng xã hội
Mục tiêu chính của các hệ khuyến nghị là đánh giá và dự đoán mức độ quan tâm
của user đối với các item trong hệ thống, từ đó có vạch ra các cách tiếp cận phù hợpnhất cho từng user Điều này có thê gia tăng trải nghiệm của user, tăng sự tương tác
và kéo dai thời gian sử dụng sản phẩm, đồng thời gia tăng doanh thu và hiệu quả
của dịch vụ.
Một ví dụ thực tế về hệ thống gợi ý là hệ thống gợi ý sản phẩm được sử dụng bởiAmazon Amazon sử dụng một công cụ gợi ý để đề xuất các sản pham cho khach
hang dựa trên lich sử duyệt web, lịch sử mua hang và dữ liệu hành vi khác Hệ
thống gợi ý phân tích các mẫu và sở thích dé cung cấp các gợi ý cá nhân cho người
dùng, nâng cao trải nghiệm mua sam của họ [2][10]
2.1.2 Các phương pháp tiếp cận
2.1.2.1 Content-based Filtering (CBF)
Phuong pháp lọc theo nội dung, hay content-based filtering (CBF), dựa vào dir liệu
ma user nhập vào, như đánh giá item hoặc nhấp vào đường dẫn tới item Hệ thong
sẽ dựa vào dữ liệu đó dé xây dựng một hồ sơ (profile) cho user, sau đó đưa ra các
khuyến nghị dựa vào profile cua user [1][2] User càng tương tác nhiều trên hệ
thống thì các gợi ý sẽ càng trở nên phù hợp với user đó hơn
Các bước tiếp cận của phương pháp này như sau:
Trang 141. Véc-tơ hóa item: Trước khi có thể áp dụng content-based filtering, các item cần
được thé hiện dưới dạng véc-tơ các đặc trưng (features) Những đặc trưng này
có thể là thuộc tính, từ khóa, tóm tắt, thể loại, ngày phát hành, tác giả, v.v của
item [1] Có thể tính toán giá trị tương đồng giữa các véc-tơ đặc trưng của từng
1tem tương ứng.
Tính giá trị tương đồng: Sau khi mỗi item đã được thể hiện dưới dạng véc-tơ các
đặc trưng, giá trị tương đồng giữa chúng có thể được tính toán bằng các phép đo
lường khoảng cách, chăng hạn như độ đo tương đồng cosin hoặc độ đoEuclidean Điều này đòi hỏi so sánh các đặc trưng của các item và tính toán mộtgiá trị tương đồng cho mỗi cặp item
Xác định giá trị ngưỡng: Sau khi tính toán giá trị tương đồng, một ngưỡng giá trị
được xác định dé quyét định xem một item có tương đồng với Item đã được
đánh giá trước đó hay không Các cặp item có điểm tương đồng vượt quangưỡng được xem là tương tự nhau và có thê được khuyến nghị đến cho user
Gợi ý các item mới: Dựa trên sự tương đồng giữa các item đã được đánh giá vàcác item khác, content-based filtering đề xuất các item mới cho user Các item
mới này có nội dung tương tự với các item ma user đã đánh gia tích cực, vi vậy
có khả năng cao rang user cũng thích các item đó.
Ưu điểm của content-based filtering:
Khả năng giải thích: CBF có thé cung cấp giải thích cho các đề xuất bang cáchnhắn mạnh các đặc điềm hoặc đặc tính của các gol ý
Xử lý được bài toán khởi đầu lạnh (cold-start): CBE có thê xử lý các vấn đề khiuser mới hoặc item mới có lượng tương tác hạn chế bằng cách dựa vào đặc điểm
của Item đê đê xuât.
CBF cũng có một số hạn chế:
Tính đa dạng: Các đề xuất có thể bị giới hạn trong các item có đặc điểm tương
tự, dẫn đến việc thiếu sự đa dạng trong các đề xuất.
Trang 15e Không mang tính ngẫu nhiên: Vì CBF dựa trên các đặc điểm của item, nó có thé
không hiệu quả trong việc đề xuất các item nằm ngoài sở thích đã được thiết lập
cua user.
e Vấn đề khởi dau lạnh cho các item mới: CBF gặp khó khăn trong việc dé xuất
các item mới được thêm vao mà không có đủ dữ liệu tương tac của user hoặc
thông tin về đặc điểm
CBF tận dụng các đặc điểm của item và sở thích của user để cung cấp các đề xuất
cá nhân hóa Bằng cách phân tích các đặc điểm của item và so sánh chúng với hồ sơuser, CBF mang đến một phương pháp khuyến nghị tùy chỉnh có thé hoạt động độc
lập và cung cấp giải thích cho các đề xuất Tuy nhiên, nó có hạn chế về độ đa dạng
và ngẫu nhiên, đặc biệt trong việc xử lý các item hoặc user mới với dữ liệu hạn chế
2.1.2.2 Collaborative Filtering (CF)
Phuong pháp lọc cộng tác (CF) đưa ra các gợi ý cho user dựa trên các user có
profile tương đồng [1][2] Có thé nói rằng đây là phương pháp gợi ý các item tới
user dựa trên tập hợp user có hành vi tương tự [4].
Ví dụ, chúng ta có một nhóm bạn và mỗi người đều có một tập hợp các bài hát, bộ
phim hay cuốn sách yêu thích Nếu hỏi họ đề xuất bài nhạc, bộ phim hay cuốn sách
nào nên xem, ta có thê tìm thay những thứ mới mà mình cũng có thé sẽ thích Đồngthời nếu nhiều người trong số học đều gợi ý cùng một thứ thì khả năng rất cao là ta
cũng sẽ thích thứ đó.
Phương pháp này có 2 cách tiếp cận chính:
e User-user Collaborative Filtering (UUCF):
Tim kiém User Tương tu: Bước đầu tiên là xác định những user có sở thích hoặc
hành vi tương tự với user mục tiêu dựa trên việc tương tac lịch sử với các item.Điều này có thể được thực hiện bằng cách tính toán các độ đo tương tự như
cosine similarity hoặc tương quan Pearson giữa các mẫu ratings của user.
Dự đoán sở thích của User: Sau khi đã có danh sách những user tương tự, các
ratings hoặc hồ sơ của họ đối với các item mà user mục tiêu chưa tương tác cóthé được sử dụng dé dự đoán sở thích của user mục tiêu Có thé tổng hợp các
Trang 16ratings hoặc sở thích của những user tương tự và đặt trọng số cao hơn cho những
user có giá trị trong đồng cao với user mục tiêu
Item-item Collaborative Filtering (IICF):
Tìm kiếm Item tương tự: Thay vì tập trung vào user, CF dựa trên item dé tìm racác item tương tự dựa trên sự xuất hiện cùng nhau trong ratings của user Nếuhai item thường được user đánh giá giống nhau hoặc gần như nhau, chúng có thé
được coi là tương tự nhau.
Dự đoán rating cua item: Sau khi xác định được các item tương tu, các ratings
mà một user mục tiêu đưa ra cho một số item cụ thé có thé được sử dụng dé dự
đoán ratings của user mục tiêu cho các item tương tự Điều này được thực hiện
bang cách tong hợp các ratings của các item tương tự và đặt trong số cao hơn
cho các item có độ tương tự cao hơn với các item đã được đánh gia.
Ca hai phương pháp tiếp cận của CF đều có những ưu và nhược điểm riêng UUCF
sẽ có tính cá nhân cao hơn, tuy nhiên nó sẽ có vân đê “khởi động lạnh”, hay “cold start”, khi mà không có đủ thông tin của user IICF thì sẽ linh hoạt hơn, tuy nhiên
nó sẽ không thê đưa ra các khuyên nghị mang tính cá nhân cao tới từng user.
Loi ích của Collaborative Filtering:
Khả năng tim kiếm bat ngờ: CF có thé đưa ra các item ma user có thé chưa tự
tìm được, vì nó dựa trên sở thích của những user tương tự.
Khả năng mở rộng: CF có thể xử lý các tập dữ liệu lớn và thích nghi động với
thay đổi trong hành vi user và sở thích của item
Hạn chế của Collaborative Filtering:
Van đề khởi động lạnh: CF gặp khó khăn khi không có đủ dữ liệu cho các user
hoặc item mới, vì nó dựa trên sở thích của những user hoặc item tương tự.
Sự thưa thớt: CF có thể gap van đề với sự thưa thớt khi số lượng item hoặc user
lớn, dẫn đến việc có ít dit liệu dé dự đoán chính xác
Thiên hướng theo sự phô biến: CF thường gợi ý các item phổ biến hơn, bỏ qua
các item đặc biệt hoặc ít phô biến hơn
Trang 17Collaborative Filtering là một kỹ thuật gợi ý dựa trên việc sử dụng hành vi và sở
thích quá khứ của những user hoặc item tương tự để dự đoán sở thích user hoặc
ratings item Nó cung cấp lợi ích của gợi ý bất ngờ và khả năng mở rộng, nhưng đối
mặt với những khó khăn như về van đề khởi động lạnh, sự thưa thớt và thiên hướngtheo sự phổ biến
2.1.3 Ma tran utility
Trong các hệ khuyến nghị, ma trận utility đóng một vai trò quan trọng trong việcbiểu diễn mối liên quan giữa user-item, item-item hoặc user-user Nó cho biết các
giá tri này một cách tương quan [1].
Các ma trận utility là các ma trận 2 chiều với mỗi chiều biểu diễn user và itemtương ứng Mỗi 6 trong ma trận thé hiện độ quan tâm của user đó với item tươngứng, có thé là đánh giá chủ quan (trên thang đo từ 1 đến 5), hay đánh giá kháchquan (ví dụ như lượt truy cập, lượt xem, lượt mua, v.v.) Ma tran utility có thé là matrận thưa vì không phải user nào cũng có tương tác với tất cả các item Lý do chính
cho điêu này là vì có sô lượng rât lớn user cũng như là item.
| | item | item2 | item3 | item4 |
| mer1f[›»2ˆ›|4 5 1 3 |
|user2| 4 | ? ? 1 | juser3, ? | 4 2 ? | Iuser4| 2 | 4 3 1 |
juser5| 1 | 3 2 ? |
Hình 2.1 Ví dụ về một ma trận utility
Các bước xây dựng ma trận utility:
1 Thu thập dữ liệu: Thu thập dữ liệu tương tac giữa user va item, thường là các
đánh giá hoặc sở thích của user đôi với các item khác nhau.
Trang 18Tiền xử lý dữ liệu: Xử lý dữ liệu bằng cách xử lý các giá trị thiếu, các ngoại lệ
và thông tin không liên quan Đảm bảo dữ liệu có định dạng phù hợp cho cácbước xử lý tiếp theo
User và item duy nhất: Xác định tất cả user và item duy nhất trong bộ dữ liệu.Bước này quan trọng dé xác định kích thước của ma trận utility
Khởi tạo ma trận tiện ích: Tạo một ma trận trống với các hàng biểu diễn user và
các cột biểu diễn item Kích thước của ma trận sẽ được xác định bởi số lượnguser và item duy nhất
Đánh giá của user-item: Điền các giá trị đánh giá của user cho item vào ma trận
tiện ích Mỗi ô trong ma trận đại diện cho giá trị đánh giá mà một user đã đưa ra
cho một item Nếu user chưa đánh giá một item nào đó, ô tương ứng có thê đểtrong hoặc duoc gan một giá tri mặc định (ví du: 0) để chỉ ra sự thiếu hụt của
một đánh giá.
Chuẩn hóa: Chuẩn hóa các giá trị đánh giá nêu cần dé xử lý các khác biệt về tỷ
lệ đánh giá Các kỹ thuật chuẩn hóa thông thường bao gồm chuẩn hóa z-scorehoặc chuẩn hóa min-max
Xử lý độ thưa: Giải quyết van đề ma trận thư, khi có rất nhiều các ô tréng vì user
thường không thê đánh giá tất cả các item Có thé sử dụng các kỹ thuật khácnhau dé giảm thiêu độ thưa, chang hạn như phân tích ma trận hoặc các phương
pháp dựa trên vùng lân cận (Nearest Neighbors).
Áp dụng các hàm tính toán ma trận: Thực hiện các phép toán cần thiết cho cácthuật toán lọc cộng tác Các phép toán này có thé bao gồm phân rã ma trận, nhân
ma trận hoặc tính toán giá trị tương đồng
Tạo gợi ý: Sử dụng ma trận tiện ich dé tao ra gợi ý cho user Các thuật toán loc
cộng tác thường liên quan đến việc tìm kiếm user hoặc item tương tự dựa trên
ma trận tiện ích và đê xuât các item mà user tương tự đã đánh giá cao.
Ma trận utility đóng vai trò nền tảng trong các bài toán khuyến nghị Nó cho phép
xác định những user hoặc item tương thích với mỗi user dựa trên thói quen của họ
trong quá khứ Bằng cách phân tích ma trận này, ta có thé lay được các mẫu hoặc xu
10
Trang 19hướng, từ đó có thể đưa ra các khuyến nghị mang tính cá nhân hóa cao cho từng
user.
Các hệ khuyến nghị đều tận dung ma trận này dé đưa ra các khuyến nghị theo 2
cách chính: content-based filtering va collaborative filtering CBF là tan dụng sự
giống nhau của các item hoặc các đặc trưng của nó dé đưa ra các gợi ý tương tự với
các item ma user đã tương tác tích cực trong quá khứ, còn CF dựa vào các user có
thói quen tương tự với user, để có thé đưa ra các item ma user mục tiêu chưa tương
cách hiệu quả và được ứng dụng trong nhiều mô hình hệ thống như các công cụ tìm
kiếm, quản lý văn bản hay trong các hệ thống gợi ý
Một ví dụ thực tế là công cụ tìm kiếm Google Google sử dụng các kỹ thuật truyxuất thông tin để tìm và hiển thị những trang web liên quan đến câu truy vấn tìm
kiếm của người dùng Công cụ tìm kiếm này sử dụng các phương pháp chỉ mục hóa,thuật toán xếp hạng va xử lý câu truy van dé nhanh chóng và chính xác truy xuất
thông tin từ một kho lưu trữ lớn của các trang web.
2.2.2 Một số phương pháp truy hồi thông tin
2.2.2.1 Bag-of-Words (BoW)
BoW là một thuật toán đơn giản và phô biến trong các bài toán xử lý ngôn ngữ tự
nhiên nhăm thể hiện các dữ liệu văn bản thô dưới dạng véc-tơ số Thuật toán này bỏ
11
Trang 20qua hoàn toàn ngữ pháp và thứ tự xuât hiện của từ trong văn bản, nó chỉ quan tâm đên tân suât xuât hiện của các từ trong tập dữ liệu văn bản đó.
Mô tả thuật toán:
1. Lam sạch văn bản: Loại bỏ các ký tự không mong muốn khỏi văn bản: số, ký tự
đặc biệt, dấu câu, v.v Chuyên đổi văn bản thành chữ thường dé đảm bảo tínhnhất quán
Tach từ (Tokenization): Văn ban thô được phân chia thành các từ hoặc đơn vi từ
độc lập Quá trình này giúp phân tách văn bản thành các don vị cơ bản dé phântích tiếp theo Các kỹ thuật thông thường bao gồm tách dựa trên khoảng trăng
hoặc sử dụng các thư viện tách từ chuyên dụng.
Loại bỏ từ dừng: Loại bỏ các từ phổ biến không mang nhiều ý nghĩa, chăng hạn
We wow
như các mạo từ (vi dụ: "the," "a") và giới từ (ví dụ: "in," "on") Những từ nay,
được gọi là từ dừng, có thé bị loại bỏ dé giữ lại các từ mang nhiều ý nghĩa hơn
Xây dựng từ vựng: Xây dựng từ điền, là tập hợp duy nhất các từ xuất hiện trong
nguồn văn bản sau khi đã làm sạch và loại bỏ từ dừng Mỗi từ trong từ điển sẽđóng vai trò là một thuộc tính hoặc chiều trong biểu diễn Bag-of-Words
Xây dựng ma tran Tài liệu-Từ (Document-Term Matrix - DTM): Tao một ma
trận biểu thị tần suất xuất hiện của mỗi từ trong từng văn bản Mỗi hang tươngứng với mỗi văn bản trong tập dữ liệu gốc, và từng cột đại diện cho từng từ
trong từ điển Các giá tri trong ma trận có thé là số lần xuất hiện của từ hoặc các
đo lường được chuẩn hóa như tần số của từ-trọng số tần số nghịch đảo của tài
liệu (TF-IDF).
Véc-tơ hóa: Biểu diễn mỗi văn bản dưới dạng véc-tơ trong ma trận DTM Mỗivéc-tơ sẽ có cùng độ dài với kích thước từ điền, với mỗi phan tử đại diện cho tầnsuất xuất hiện của từ tương ứng trong văn bản Ở bước này, dữ liệu văn bảnđược chuyên đổi thành dé liệu số học dé sử dụng trong các thuật toán máy học
Chuẩn hóa đặc trưng: Thực hiện việc chuẩn hóa đặc trưng nếu cần dé chuẩn hóacác giá trị trong ma trận DTM Các kỹ thuật chuẩn hóa thông thường bao gồm
chuân hóa z-score hoặc chuân hóa min-max.
12
Trang 218 Phan tích văn bản hoặc mô hình hóa: Sử dụng ma trận DTM hoặc biểu diễn
véc-tơ để thực hiện các nhiệm vụ phân tích văn bản khác nhau, chang han nhu phan
loại văn ban, phan tích cảm xúc, mô hình chủ đề hoặc truy xuất thông tin.
Ví dụ như trong câu “Tôi đang học Đại học” Khi tách các từ ra khỏi câu thì sẽ được
một danh sách cách từ như sau: “Tôi”, “đang”, “học”, “đại”, “học” Sau đó xây
dựng bộ từ vựng bao gồm các từ “tôi”, “đang”, “học”, “đại” Cuối cùng biểu diễncâu gốc thành một véc-tơ với giá trị là số lần xuất hiện của từ có trong câu gốc [1, 1,
2, 1] Trong đó ngoài từ “học” xuất hiện 2 lần nên có giá trị là 2 thì các từ còn lạiđều xuất hiện 1 lần nên có giá trị là 1
Mô hình Bag-of-Words (BoW) cung cấp một phương pháp đơn giản và hiệu quả đểbiểu diễn dữ liệu văn bản bằng cách tập trung vào tần số hoặc sự xuất hiện của từtrong một văn bản Đây là một phương pháp được sử dụng phổ biến trong nhiềuứng dụng liên quan đến xử lý văn bản Tuy nhiên, mô hình này không xem xét thứ
tự hoặc ngữ cảnh của từ trong văn bản, mà chỉ quan tâm đến sự xuất hiện của từ và
bỏ qua thông tin về vị trí và liên kết giữa các từ
2.2.2.2 Term Frequency - Inverse Document Frequency (TF-IDF)
TF-IDF, hay Tần suất thuật ngữ - Tan suất tài liệu nghịch đảo, là một phương thứcthống kê thể hiện tần suất của một từ đối với một văn bản trong một tập hợp vănban hay một ngữ liệu văn bản [5] TF-IDF thường được dùng dé làm trọng sỐ trongtìm kiếm, truy xuất thông tin hoặc mô hình hóa văn bản
Trong ngôn ngữ sẽ luôn có các từ hoặc cụm từ có tần suất xuất hiện cao hơn các từcòn lại và thuật toán này thường được dùng phô biến vì có thể cân bằng giá trị quan
trọng của các từ Những từ có giá trị TF-IDF cao là những từ khóa quan trọng của
Trang 22TF là tân suat xuât hiện của một từ trong văn ban đó.
ƒ(t,đ): là tần suất xuất hiện của từ £ trong văn bản d
max{f (w,d):w € d}: Là sé lần xuất hiện nhiều nhất của một từ bất kỳ trong
văn bản đ.
|D|
IDF (Inverse Document Frequency): idf(t, D) = log Tensei
D:ted}|"
IDF là tan số nghịch của 1 từ trong tập văn bản
|D|: là tong số văn bản trong tập D
l{d € D:t € đ}|: là số văn bản có xuất hiện từ t
Mô tả thuật toán:
1. Tokenization và Chuẩn hóa: Tách các văn bản thành các từ hoặc token riêng lẻ
Loại bỏ các ký tự không mong muốn ra khỏi các từ Chuyển đổi các từ thànhchữ thường đề đảm bảo tính nhất quán
Tính toán tần suất xuất hiện của từ (Term Frequency - TF): Đối với mỗi vănban, ta tiến hành đếm số lần xuất hiện của từng từ Giá trị này thể hiện tam quantrọng của từ đó trong văn bản tương ứng Thông thường, giá trị tần suất xuấthiện của một từ được tính bằng cách đếm số lần xuất hiện của từ đó trong văn
bản, sau đó chia cho tông sô từ trong văn bản.
Tính toán nghịch dao tần số tài liệu (Inverse Document Frequency - IDF): Tính
toán mức độ quan trọng của từng từ trong ngữ liệu Công thức IDF tính toán
đánh giá đóng góp của từng từ cho toàn bộ tập hợp văn bản.
Tích hợp TF và IDF (TF-IDF): Nhân tần số từng từ (TF) với nghịch dao tần số
tài liệu (IDF) tương ứng Kết quả là một giá trị TF-IDF cho mỗi từ trong mỗi
văn bản.
._ Véc-tơ hóa: Biểu diễn mỗi văn bản dưới dạng véc-tơ TF-IDF Mỗi dữ liệu văn
ban sẽ được biéu diễn bởi một véc-tơ có số chiều bằng kích thước từ điển Các
phần tử trong véc-to sé đại diện cho giá trị TF-IDF cua từng từ trong van ban
Chuẩn hóa đặc trưng: Thực hiện chuẩn hóa đặc trưng để đảm bảo tính nhất quáncủa các giá tri trong véc-tơ TF-IDF.
14
Trang 237 Sử dụng dữ liệu: Dữ liệu đã được biểu diễn bang TF-IDF có thé được sử dụng
trong các mô hình xử lý dữ liệu văn bản như phân loại văn ban, phân tích cảm
xúc, trích xuất thông tin, v.v.
TF-IDF được ứng dụng nhiều trong các công cu tìm kiếm Hệ thống sẽ nhận biết từnào được quan tâm nhất Ví dụ như câu truy vấn là “TF-IDF là gì?” Sau khi xử lýcâu truy vấn, ta sẽ có các cụm từ “TF-IDE” và “là gì”, hệ thống sẽ nhận thấy “TF-
IDE” là từ được quan tâm nhất Sau đó, Tiến hành tìm các văn bản có chứa cụm từ
này rồi mới tiễn hành đánh giá và so sánh trên toàn bộ câu truy van
2.2.2.3 Word2Vec
Word2Vec là một thuật toán xử lý ngôn ngữ tự nhiên, biểu diễn các từ dưới dạngcác véc-tơ dé tìm mối quan hệ của các từ trong một tập hay một ngữ liệu lớn Đây làmột kỹ thuật phố biến trong việc xử lý các dữ liệu văn bản dựa trên ý tưởng là các
từ có mối liên hệ về mặt ngữ nghĩa sẽ thường xuất hiện cùng nhau trong một ngữ
cảnh [6].
Word2Vec có 2 cách tiếp cận chính:
2.2.2.3.1 Continuous Bag of Words (CBOW)
Mô hình CBOW sé dự đoán sự xuất hiện của một từ nhất định dựa vào các từ xungquanh của nó Với câu “Tôi muốn ăn ”, mô hình khả năng cao sẽ dự đoán các từ
có liên quan đến đồ ăn như “cơm”, “bánh”, v.v
Mô tả thuật toán:
1 Khởi tạo các véc-to từ: Khởi tao các véc-tơ từ cho mỗi từ trong từ vựng Các
véc-tơ này thường có độ dài cô định, được gọi là chiều nhúng
2 Tạo dữ liệu huấn luyện: Dữ liệu huấn luyện được tạo băng cách chọn một từ
mục tiêu từ câu và tạo một ngữ cảnh bằng các từ xung quanh trong một cửa sốxác định Các từ ngữ cảnh và từ mục tiêu tạo thành một cặp huấn luyện
3 Mã hóa các từ: Chuyên đổi các từ ngữ cảnh thành các véc-tơ mã hóa one-hot
Một véc-tơ mã hóa one-hot là một véc-tơ nhị phân trong đó tất cả các thànhphần đều bằng không, trừ chỉ số tương ứng với từ, có giá trị là một
15
Trang 244 Lan truyền tiến: Nhân các véc-tơ mã hóa one-hot của từ ngữ cảnh với ma trận
trọng số để thu được các véc-tơ nhúng của các từ ngữ cảnh Cộng các véc-tơ
nhúng này dé thu được véc-tơ ngữ cảnh trung bình
5 Dự đoán từ mục tiêu: Để thu được xác suất dự đoán của từ mục tiêu, ta nhân
véc-tơ ngữ cảnh trung bình với ma trận trọng số đầu ra Quá trình này tạo ra một
vector chứa các giá trị dự đoán cho mỗi từ mục tiêu Sau đó, các giá trị dự đoán
này được chuân hóa bằng hàm kích hoạt softmax để tính toán xác suất Hàmkích hoạt softmax đảm bảo tổng các xác suất dự đoán của các từ mục tiêu có
tổng băng 1, giúp giải thích xác suất dự đoán một cách chính xác
6 Tinh toán hàm mat mát: So sánh các xác suất dự đoán của từ mục tiêu với véc-tơ
mã hóa one-hot thực tế Hàm mất mát được tính toán bang một hàm mat mát phùhợp, chang hạn như ham mat mát cross-entropy
7 Lan truyền ngược (Backpropagation): Thực hiện lan truyền ngược để cập nhật
trọng số của mô hình Đạo hàm của hàm mat mát với các trọng số được tính toán
thông qua quá trình lan truyền ngược
8 Cập nhật véc-tơ từ: Cập nhật các véc-tơ từ của các từ ngữ cảnh băng cách điều
chỉnh trọng số dựa trên đạo hàm thu được trong quá trình lan truyền ngược.Bước này cải thiện chất lượng của các véc-tơ từ bằng cách điều chỉnh chúng để
dự đoán tốt hơn từ mục tiêu
9 Lap lại các bước 2-8: Lap lại các bước 2 đến 8 trong một số lần hoặc cho đến
khi mô hình hội tụ Mô hình được huấn luyện trên nhiều cặp huấn luyện, dầndan cập nhật các véc-tơ từ dé bắt chước mối quan hệ ngữ nghĩa giữa các từ
10 Trả về các véc-tơ từ: Sau quá trình huấn luyện, các véc-tơ từ đại diện cho mỗi từ
trong từ vựng Các véc-tơ từ này có thể được sử dụng cho các nhiệm vụ xử lý
ngôn ngữ tự nhiên khác nhau như tính tương đồng từ, tương tự từ hoặc phân loại
văn bản.
Thuật toán Word2Vec với phương pháp CBOW nhằm mục đích học các véc-tơ từbang cách dự đoán từ mục tiêu dựa trên ngữ cảnh Bằng cách cập nhật các véc-tơ từ
16
Trang 25dựa trên hiệu suất dự đoán, Word2Vec lấy được các mối quan hệ ngữ nghĩa và
tương tự giữa các từ trong một biéu diễn phân tán
2.2.2.3.2 Skip-gram
Mô hình skip-gram sẽ dự đoán các từ sẽ xuất hiện xung quanh một từ nhất định Ví
99 66
dụ, với từ “ăn”, mô hình sé dự đoán các từ như “uông”, “cơm”, hay “chơi”.
Mô tả thuật toán:
1. Khởi tạo các véc-tơ từ: Bắt đầu bằng việc khởi tạo các véc-tơ từ cho mỗi từ
trong từ vựng Các véc-tơ nay thường có độ dài cố định, được gọi là chiều
nhúng.
Tạo dữ liệu huấn luyện: Dữ liệu huấn luyện được tạo bằng cách chọn một từ
mục tiêu từ câu và ngẫu nhiên chọn các từ ngữ bên cạnh từ mục tiêu trong một
kích thước cửa s6 xác định Từ mục tiêu và các từ ngữ bên cạnh tạo thành một
cặp huấn luyện
Mã hóa các từ: Chuyên đồi từ mục tiêu và các từ ngữ bên cạnh thành các véc-tơ
mã hóa one-hot Một véc-to mã hóa one-hot là một véc-tơ nhị phân trong đó tất
cả các thành phần đều bằng không, trừ chỉ số tương ứng với từ, có giá trị là một
Lan truyền tiến: Nhân véc-tơ mã hóa one-hot của từ mục tiêu với ma trận trọng
số dé thu được véc-tơ nhúng của từ mục tiêu Véc-tơ này đại diện cho từ mục
tiêu trong không gian nhúng.
Dự đoán ngữ cảnh: Đề thu được xác suất dự đoán của các từ ngữ bên cạnh, ta
nhân véc-tơ nhúng của từ mục tiêu với ma trận trọng số đầu ra Quá trình này sẽ
tạo ra một vector chứa các giá trị dự đoán cho mỗi từ ngữ Sau đó, các giá trị dự
đoán này được chuẩn hóa băng hàm kích hoạt softmax dé tính toán xác suất
Hàm kích hoạt softmax đảm bảo tổng các xác suất dự đoán của các từ ngữ cótổng bằng 1, giúp giải thích xác suất dự đoán một cách chính xác
Tính toán hàm mat mát: So sánh các xác suất dự đoán của các từ ngữ bên cạnh
với véc-tơ mã hóa one-hot thực tế Hàm mất mát được tính toán bằng một hàmmat mát phù hợp, chăng hạn như hàm mat mát cross-entropy
17