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

Khóa luận tốt nghiệp Công nghệ thông tin: Xây dựng hệ thống đề xuất sách cho ứng dụng web áp dụng các mô hình truy hồi thông tin

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

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng hệ thống đề xuất sách cho ứng dụng web áp dụng các mô hình truy hồi thông tin
Tác giả Do Đức Thịnh
Người hướng dẫn TS. Đỗ Trọng Hợp, Ths. Tạ Thu Thủy
Trường học Trường Đại học Công nghệ Thông tin - Đại học Quốc gia TP.HCM
Chuyên ngành Công nghệ thông tin
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 51
Dung lượng 23,41 MB

Nội dung

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 2

LỜ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 3

LAL 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 4

5.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 5

Doan 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 6

DANH 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 7

DANH 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 8

18 TP True Positive

19 UUCF User-User Collaborative Filtering

Trang 9

TÓ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 10

Chươ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 11

1.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 12

Chươ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 13

Chươ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 14

1. 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 15

e 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 16

ratings 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 17

Collaborative 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 18

Tiề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 19

hướ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 20

qua 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 21

8 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 22

TF 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 23

7 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 24

4 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 25

dự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

Ngày đăng: 02/10/2024, 04:49

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w