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

Khóa luận tốt nghiệp Hệ thống thông tin: Xây dựng website báo điện tử tích hợp hệ thống khuyến nghị nội dung

97 0 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 website báo điện tử tích hợp hệ thống khuyến nghị nội dung
Tác giả Võ Thành Đễ
Người hướng dẫn THS. Thái Bảo Trần
Trường học Trường Đại học Công Nghệ Thông Tin
Chuyên ngành Hệ thống 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 97
Dung lượng 40,53 MB

Nội dung

TÓM TẮT KHÓA LUẬNKhoá luận với đề tài “Xây Dựng Website Báo Điện Tử Tích Hợp Hệ Thống Khuyến Nghị Nội Dung” là một hệ thống với hai nghiệp vụ chính là quản lý các bàibáo điện tử và cung

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRUONG DAI HOC CONG NGHE THONG TIN

KHOA HE THONG THONG TIN

VO THÀNH ĐÔ - 19521365

KHÓA LUẬN TÓT NGHIỆP

XÂY DỰNG WEBSITE BAO ĐIỆN TỬ TÍCH HỢP HE THONG

KHUYEN NGHỊ NỘI DUNG

BUILD AN ONLINE NEWS WEBSITE WITH A CONTENT

RECOMMENDATION SYSTEM

KY SU NGANH HE THONG THONG TIN

GIANG VIEN HUONG DAN THS THAI BAO TRAN

Trang 2

LỜI CẢM ƠN

Em xin gửi lời cảm ơn đến các thầy cô giáo của Trường Đại học Công Nghệ Thông

Tin đã dạy bảo và truyền đạt cho em những kiến thức chuyên môn và nén tảng trongsuốt quá trình học tập

Em xin gửi lời cảm ơn chân thành đến Cô Thái Bảo Trân, giảng viên hướng dẫn

của em trong quá trình thực hiện khoá luận tốt nghiệp với đề tài: Xây Dựng Website

Báo Điện Tử Tích Hợp Hệ Thống Khuyến Nghị Nội Dung (Build An Online News

Website With A Content Recommendation System) Cô đã tận tình hỗ trợ, chi bao và

động viên em trong suốt quá trình nghiên cứu và hoàn thiện khoá luận Nhờ có sự

hướng dẫn của cô, em đã có thêm nhiều kiến thức và kinh nghiệm quý báu về ngành

Hệ Thống Thông Tin

Em xin cảm ơn gia đình, bạn bè và những người đã ủng hộ và động viên em trong

quá trình hoàn thành khoá luận này.

Cuối cùng, em xin gửi lời cảm ơn đến các Anh Chị và các bạn sinh viên trường

Dai học Công nghệ Thông tin đã nhiệt tình hỗ trợ, chia sẻ ý kiến, góp ý giúp em trongsuốt thời gian thực hiện khóa luận Một lần nữa, em xin chân thành cảm ơn và xin

gửi lời chúc sức khỏe đến quý Thầy Cô Kính chúc khoa Hệ Thống Thông Tin ngàycàng phát triển và thành công

Vì thời gian có hạn nên khóa luận không tránh khỏi những sai sót Em rất mong

nhận được những ý kiến đóng góp của quý thầy cô và các bạn

TP Hồ Chí Minh, tháng 06 năm 2023

Sinh viên thực hiện

V6 Thành Đô

Trang 3

MỤC LỤC

TOM v90 4 000/9077 1

CHUONG 1 TONG QUAN viesesssesssssssssssssseeeeeessesesssssssmmmmtnsnnnnsnnssssssseeeeeeeeeeeeeee 2

1.1 Dat VAN AG ae eeeccccccccccseesssnsssnssnnnnnseessseeeeeceeececceccesessnnnnnntnnnnmnsssesseeseeeeeee 2

1.3.2 Mot số website đọc báo trực tuyến thế giới

1.3.2.1 The New York Times 6-5-5252 Sctstsrrrrrrrrerrree 5 1.3.2.2 BBC News.

1.3.3 Đánh giá chung -SĂS+Strớy 8

1.4 Lý do chọn đề thi cecccccccccsseeesssssessesssssessssssssecsssuscesssssecessseeessssnecesssineeees §1.5 Đối tượng và phạm vi nghiên cứu .-. -: cvc+z++trrvrreecee 81.5.1 Đối CUO voeecsssecessssseesssssseessosssecsssssusccsssssesessssscesssusecssssuesessssessessseess 8

Trang 4

2.443 REST APH à 22222 24 2.4.4 Django Rest Framework 6-6-5 SeS+cstskerrerrkrkeree 25

2.45 MySQIGG,t À 26

CHƯƠNG 3 DE XUẤT XỬ LÝ THUẬT TOÁN -+¿ 28

3.1 Thu thập dữ liệu c¿cccccEEEEEErttttiiiirrrrrrrrrrrrre 28

3.2 Thiết kế hệ thống khuyến nghị -c+c++222cvvsccccezrrrz 29

3.2.1 _ Xử lý trên tập Datase( -c- sec 29

3.2.1.1 Sơ đồ Hee 293.2.1.2 Mô tả các thành phần -:: -+2222222EEErkrrkrrrrrercvee 29

3.2.2 Xử lý khi có thêm dit liệu mới -ccvvcvvvvvvcccccc+ 30

3.2.2.1 Sơ đồ luồng dit liệu 2222cccccrrrrrrrrrrrrrrrrrrrrrree 30

3.2.2.2 Mô tả các thành phần :: -+22222ccerrrrrrkrrrrrerrvee 30

3.3 Hệ thống khuyến nghị -22¿22VE+2+tSEEESEtEEEEEEErrtrrkkrrrrrkrree 31

Trang 5

3.3.2 Trích xuất đặc trưng : -cc+cc2cvvrrerrrvvrrerrrrrrrrrr 343.3.2.1 Lan đầu tiên

3.3.2.2 Thêm dữ liệu mới - +5+5+5++c+sc+tsxsxervserrxe 35

3.3.3 Đưa ra khuyến nghi

3.3.4 Lưu trữ kết quả khuyến nghị -2¿©2+c222v++crecrrseccrrr 36

CHƯƠNG 4 PHAN TÍCH THIET KE VÀ TRIEN KHAI

4.1 Mô tả nghiệp Vu we ec eceeeesescecesesesescstenessseseseensscsssesssseeacseesenene DD

4.1.1 Yéu cầu chức năng

4.1.2 Yêu cầu phi chức năng -22+++22++ztcvcvvrrrrrrrrrrrrrrer 374.2 Thiết kế kiến trúc ceeeeeeeceerrrrrrrrrkiiiiiiiiiirrirrirrrrrre 384.2.1 Sơ đồ kiến trúc htrtiiiiiiiiirrrrirrrrrre 38

4.2.2 Mô tả các thành phần của kiến trúc -.-c -++ 384.3 Thiết kế các Use case tre 39

4.3.1 Sơ đồ Use case àằĂecccceeerrrereeerreee Ð

4.3.2 Danh sách các AC(Or -cc+c+csceeercece 20)

4.3.3 Danh sách các Ủsecase -.ccc tr 40

4.3.4 Đặc ta các Use case và sơ đồ hoạt động (Activity Diagram) 4I

4.3.4.1 Đọc bài báo càng HH Hư 4I

4.3.4.2 Tìm kiếm bài báo -¿-222++++2222++ttEEEEerrrrrrkrrerrrrrrccre 42

4.3.4.3 Gửi bình luận cc Set nhe 43 4.3.4.1 Quản lý bài báo che 44 4.3.4.2 Quản lý bình luận oo sees ee ee ceseseecsesteseseeesreneneseeeeee! 46

Trang 6

4.4.2 Tìm kiếm bài báo -.:¿:©2222+t22EvvrttEEEkvrrrtrrtrrrrrrrrrrrrrkev 49

4.5.2.1 Bang Commens -.¿5+5555+S2+cx+xsecxerrekeree 55

4.5.2.1 Bảng Relateds ch Hướ 55

4.6 Mô tả khái quát các thành phan trong hệ thống - 56

4.6.1 Sơ đồ các thành phần trong hệ thống -2 564.6.2 Mô tả các thành phan trong hệ thống -2 56

4.7 Công cụ hỗ trợ -222c22 x22 t2 tt 57

4.7.1 Visual Studio COde - «St ShStH HH gưưn 57

4.7.2 Jupyter notebook c+cc+ccseserieekerererrrerrree 57

4.7.3 POstman Ăn HH HH gướ 57

4.8 Triển khai Website h0: - 58

4.8.1 | Danh sách màn hình Website đọc báo -¿ +++scxsss+ss+ 58

Trang 7

4.8.2.3 Trang tìm kiếm 2¿c2222+2t2CEEvvrtErrvrrrrrrrvrrerrrrrrcrl 634.8.2.4 Trang phân theo thể loại

4.9 Hệ thống quản lý nội dung ¿¿-2++22v+z+etvvxvererrrsreerr 65

4.9.1 Danh sách màn hình quản lý nội dung

4.9.2 Mô tả chỉ tiết các màn hình quản lý nội dung - 664.9.2.1 Trang quản lý bài viết

4.9.2.2 Trang quản lý bình luận -. - -++s+s+<+<+<+xece+ 67

4.9.2.3 Trang tạo bài viết

4.9.2.4 Trang sửa bài viẾt -csccc22cvccrScErrrtrrrtrrrrrrrrrrerrrrrrce 69

CHƯƠNG 5 KÉT LUẬN VÀ HƯỚNG PHÁT TRIẺN 70

5.1 - Kết quả đạt được -cccccccccceceErrkererrrkrrerrkreerrer 70

5.2 Ưu điểm và hạn chế -222+¿2222V2vv+rretrrrrrrrrrrrrrrrrrrrree 7I

5.3 _ Thuận lợi và khó khăn ¿5:5 ¿5+ +2 tt + £Evxereketeterrerrrrrexer 72 5.3.1 Thuận lợi -c-cccccccccccccvverrrrrrrrrrkrrerrrrrrer 72

5.3.2 Khó khăn -cccccccccccECCEverrrrrrrrrrrkrrererrrrer 72

5.4 Hướng phát triỂn .-:5222++t2CEkvrteErrkrretrrrtrrerrrrrrrrer 73

5:00 (ÄAÁä ,ÔỎ 74

Phụ lục 1 Một số màn hình trên thiết bị di động - -= 74TÀI LIEU THAM KHẢO -.22-222222222222+222E2E222223E2222231222221222222exee 84

Trang 8

.1 Trang chủ VnEXpT€SS - ¿532222 St 2v 3221 121112101111 1e 3

.2 Các bài báo được khuyến nghị trên VnExpress - -cc-ccc2 3

.3 Trang chủ 24h ¿- - + ST E12 21212121 11012 1 010101 ng 4

.4 Các bài báo được khuyến nghị trên 24h 2¿©22+++evcvvzrcrre 4

.5 Trang chủ The New York Times ¿-¿ ¿5+5 + stketekrrkrrre 5

.6 Các bài báo được khuyến nghị trên The New York Times 5

.7 Trang chủ BBC News chàng Hit 6

.8 Một số câu chuyện được gợi ý trên BBC News ccccieekec 7

2.1 Các bài báo có cùng nội dung

2.2 Sử dụng KNN đề dự đoán mức độ tương tự giữa các bài viÊt 122.3 Sử dụng TF-IDF dé chuyền văn bản thành ma trận đặc trưng 17

3.2 Thiết kế hệ thống khuyến nghị trên tập Dataset - 29

3.3 Thiết kế hệ thông khuyến nghị khi có thêm dữ liệu mới - 303.4 Kết quả chèn dữ liệu và database c¿2222zctvccvvrretrrvrrrrrrrrree 323.5 Dữ liệu sau khi chuẩn hoá ©22-55scserterteerteerrerrrerrrrrr 33

3.6 Lấy dữ liệu mới trong database . :5ccccccccvsecscrrrseccerrseecee 23.7 Kết quả dự đoán và hệ số khớp nhau -.2¿¿©2¿+22+zz+2ccvscee 36

4.1 Sơ đồ Use case tổng quất -222¿222+2+t2222++eEEEErrrtrkkrrerrrkrrrrrr 39

Trang 9

Hình 4.6 Sơ đồ hoạt động Use case quan lý bình luận - 47

Hình 4.7 Sơ đồ tuần tự của Use case đọc bài báo +scscxsscsssrrrrrresrsee 48

Hình 4.8 Sơ đồ tuần tự của Use case tìm 10a 49Hình 4.9 Sơ đồ tuần tự của Use case gửi bình luận - - - sc++s+x+cee 50

Hình 4.10 Sơ đồ tuần tự của Use case quản lý bài báo . -cccc+ccsscez 51Hình 4.11 Sơ đồ tuần tự của Use case quản lý bình luận .-:-¿ 52

Hình 4.12 Sơ đồ cơ sở dữ TIỆU - 1 1S HH HH ghế 53Hình 4.13 Khái quát các thành phần của hệ thống -.-: ¿¿+++ 56

Hình 4.14 Logo Visual Studio COde ¿-¿- + +S+S++t+xterertrkrkerrrerkrkrkrree 57

Hình 4.15 Logo Jupyter not€bOOk - ‹- - - + 5* St EEk2k SE vưy 57

Hình 4.16 Logo PostIman ¿- - + ¿5< * 6E E$EEEEEEEEkEEEEEETv 11110111 1 111111 57

Hình 4.24 Màn hình trang quản lý bình luận «¿+ - <2 <sc<++z++<+s<++ 67

Hình 4.25 Màn hình trang tạo bài Vist cc.ccscseessssssesssssssessssssecsecsssecssssseesssesseescessees 68Hình 4.26 Màn hình trang sửa bài Vi6t eeceeessssseeecccccssssseessccecssssteeeeeecesssnneeseecessen 69

Hình 0.1 Màn hình trang chủ mobiÏe ¿-¿- - ¿5< 55+ k‡*‡EvEvrkekerekerrkrketee 74

Hình 0.2 Màn hình trang thê loại mobile ¿ - 5 2 25++++ss+£e£++xzx+evzsr+ 75

Hình 0.3 Màn hình trang thể loại mobile ¿¿©2z++22++z++22+zzrrrrxscee 76

Hình 0.4 Màn hình trang tìm kiếm mobile - : 2£ ©+z++222v+zz+2vvszcezz Hi

Hình 0.5 Màn hình khi đang load mobile ¿-¿- 5-5252 52>++++c+ss£z+zxses> 78

Hình 0.6 Màn hình các thể 0u 90111 79

Trang 10

Hình 0.9 Màn hình gửi nhận xét mobile

Hình 0.10 Màn hình các bai báo được đề xuất mobile

Trang 11

-DANH MỤC BẢNG

Bảng 4.1 Bảng mô tả các thành phần kiến trúc .: ¿©2222 38

Bang 4.2 Danh sách các AC(OT tt vs Eskrrerrrerrksrkrrrrrerrrrrrrsvrercre OD

Bang 4.3 Danh sách các Use Case ¿5-6 5S S* 2 3 v2 2y 40

Bảng 4.4 Đặc tả Use case đọc bài báo -c- set ướn 4I

Bảng 4.5 Đặc tả Use case tìm kiếm bài báo -©222+c2222xzrerrrkecrrrrreerrrr 42

Bảng 4.6 Đặc ta Use case gửi bình luận -¿-¿- + c5 Sx xe 43

Bang 4.7 Đặc ta Use case quan lý bài báo - 5 +5+5c+c+scsccxexsrerre 44

Bảng 4.8 Đặc tả Use case quản lý bình luận - es < +5+++cc+xerzxexsrerre 46 Bang 4.9 Bang POS( St nh HT HH HH Hit 54

Bảng 4.10 Bảng SeT 5c 52 S22 2.2 17121221212101 1112121010101 re 54 Bang 4.11 Bang Cat€EOFICS St S1 TH TH HH HH Hư 54

Bang 4.12 Bảng ComimefIS - ¿+ - +5: 52525 2S *E‡E‡EeEeEeErkrkrkerrrkrkrkerrree 55

Bảng 4.13 Bảng Relateds

Bang 4.14 Bảng mô tả các thành phan trong hệ thống - 56

Bảng 4.15 Bảng danh sách các màn hình Website đọc báo -. - - «+ 58

Bang 4.16 Bang mô tả màn hình trang chủ - eseseeeenenesseneneseneeeeeeees 59

Bảng 4.17 Bang mô tả màn hình đọc báo — tiêu đề -ccz+ccssceeex 60

Bảng 4.18 Bang mô tả màn hình đọc báo — nội dung chính 61

Bang 4.19 Bang mô tả man hình đọc báo — g6p ý ¿-¿- - 5+ Sc++xzxscercr+ 62

Bảng 4.20 Bang mô tả màn hình tìm kiếm -2¿¿©+zc+222vvzevevvseceeex 63

Bang 4.21 Bang mô tả màn hình thể loại -ccc+22222vvvvvrrerrrrrrrrrrercee 64

Trang 12

Bảng 4.25 Bảng mô tả màn hình trang tạo bài viết

Bảng 4.26 Bảng mô tả màn hình sửa bài viết

Trang 13

DANH MỤC TU VIET TAT

KNN: K-Nearest Neighbors

NRS: News Recommender System

TF-IDF: Term Frequency — Inverse Document Frequency

Admin — Quan trị viên — Nhà quản quan lý nội dung: người quan lý nội dung trang báo

Người dùng trực tuyến — Người dùng: người sử dụng trang web dé đọc báo

Bài viết — Bài báo: một bài báo bat kỳ

Trang 14

TÓM TẮT KHÓA LUẬN

Khoá luận với đề tài “Xây Dựng Website Báo Điện Tử Tích Hợp Hệ Thống

Khuyến Nghị Nội Dung” là một hệ thống với hai nghiệp vụ chính là quản lý các bàibáo điện tử và cung cấp nền tảng đọc báo trực tuyến thông qua internet có tích hợp

hệ thống đề xuất bài viết tiếp theo có nội dung tương tự với bài viết hiện tại

Khoá luận bao gồm 5 chương bao gồm:

— Chương 1: Tổng quan

Chương này bao gồm các mục đích, đặt vấn đề và khảo sát hiện trạng của đề tài

Khảo sát hiện trạng bao gồm việc xem xét các website đọc báo trực tuyến ở Việt Nam

và trên thế giới, như vnexpress.net, 24h, The New York Times Chương cũng trình

bay lý do chọn dé tài và đối tượng, phạm vi nghiên cứu

— Chương 2: Cơ sở lý thuyết

Chương này giới thiệu về hệ thống khuyến nghị và các phương pháp thực hiện

Ngoài ra, còn giới thiệu các công nghệ được sử dụng trong khóa luận.

— Chương 3: Đề xuất xử lý thuật toán

Chương này mô tả dữ liệu và thuật toán xử lý khuyến nghị, các bước chuẩn hoá dữ

liệu trước khi đưa vào mô hình khuyến nghị

— Chương 4: Phân tích thiết kế và triển khai

Chương này mô tả nghiệp vụ và yêu cầu của hệ thống Thiết kế kiến trúc và mô tảcác thành phan của kiến trúc, thiết kế cơ sở dit liệu, công cụ hỗ trợ Mô tả về hệ thông

Website đọc báo và hệ thống quản lý nội dung

— Chương 5: Kết luận và hướng phát triển

Trang 15

CHUONG 1 TONG QUAN

Chương đầu tiên sẽ khái quát van đề đặt ra va mục tiêu của dé tài, cùng với đó là

khảo sát hiện trạng và trình bày những nội dung sẽ thực hiện trong khóa luận.

1.1 Đặt vấn đề

Trong thời đại công nghệ 4.0, sự phát triển của công nghệ thông tin và internet đãmang đến một cuộc cách mạng trong việc truyền tải thông tin Hiện nay, hầu hết mọi

người đọc tin tức thông qua hình thức trực tuyến, nơi họ có thé truy cập hàng triệu

bài báo từ nhiều nguồn khác nhau được tạo ra liên tục hàng ngày Một số lượng thôngtin không lồ đang được tạo ra mỗi ngày, và điều này tạo ra một thách thức lớn cho

người dùng khi cố gắng tìm kiếm và tiếp cận những nội dung mà họ quan tâm

Dé giúp người dùng tìm kiếm và tiếp cận thông tin một cách hiệu quả, các hệ thống

gợi ý tin tức (NRS) đã được phát triển Mục tiêu của NRS là đề xuất những tin tức cóthé thu hút sự quan tâm của người đọc dựa trên các thông tin và sở thích của họ Tuy

nhiên, việc xây dựng một NRS hiệu quả và chính xác là một thách thức lớn do nhiều

yếu tố phức tạp

1⁄2 Mục đích

Mục đích của đề tài này là xây dựng một hệ thống gợi ý tin tức trực tuyến dựa trên

nội dung của các bài báo Hệ thống sẽ sử dụng các đặc trưng của bài báo như thé loại,tác giả, tiêu đề và nội dung tóm tắt để tính toán độ tương đồng giữa các bài báo và đề

xuất những bài báo có nội dung gần giống với bài báo hiện tại mà người dùng đang

đọc.

Mục tiêu của hệ thống là giúp người dùng khám phá được nhiều nội dung hap dẫn

và phù hợp với sở thích của họ, cũng như tăng lượng truy cập cho trang web tin tức.

Trang 16

1.3 Khảo sát hiện trạng

1.3.1 Một số website đọc báo trực tuyến Việt Nam

1.3.1.1 VnExpress

ẤM Thờisự Gocrhin Thágới Video Podcasts inh doanh Bấnđộng sin Khoahoc GIẢùi Thổao Phaplugt Giiodye Suckhde Đờisống Dulch Sỏhda Xe Yến Tamsy Thưgăn

Cuộc chiến sở hữu ở

chung cư

BJ ang cnuc ew dan CTS nu a0

Cổ huê (Bác Từ êm, Ha NH cả

‘em không ng để cạn go tàng

hàm và cóc bên ch ưa gant

Tranh chấp ten quan đện ie, hạ

ting lên (ch thuộc sở hữu chứng.

Mỹ thách thức lin ranh đỏ của An Độc Góc ntin

Nga Ukraine thảm kịch tàu hỏa Khai báo nghề nghiệp.

mát vi ly kh được

etd tanh gối nhưng yen edn an he lại oma

thách hace ra 8 ‘aim 206 tạ Ant 32 an

Hinh 1.1 Trang chu VnExpress

VnExpress là một trang web tin tức trực tuyến nhiều người xem nhất Việt Nam,

cung cấp các tin tức về thời sự, chính trị, kinh tế, xã hội, thé thao, giải trí, du lịch,khoa học, giáo dục, sức khỏe, ôtô - xe máy, pháp luật, số hóa, nhà đất, cộng đồng và

thé giới,

2 boanh nghiệp kêu khó bán nhà vì lãi suất neo cao

Nhiều công ty địa ốc 6 tháng qua không bán được nhà cho người mua để ở

(đã trừ nhóm đầu tư, đầu cơ rời thị trường) do lãi suất neo cao 13-14% một

năm 217

Nam thanh khoản nhà ở kém nhất nửa thập ky

Lượng giao dịch nhà ở 12 tháng qua tại hai miền Nam - Bắc sụt giảm mạnh, sức mua xuống thấp nhát 5 năm ga s3

Giao dịch đất nền phía Nam giảm hơn 90%

Quý |, đất nền dự án các tỉnh ké cận TP HCM hau như không bán được hàng,

Trang 17

[Tin wwe wong noty Deen Mon Soro cs LOCC ame

Sau tiếng hô hoán “chạy đi”, cây xanh bật gốc đỏ _ Video bóng đá Hải Phòng - HAGL: Người hùng TIN TỨC THỊ TRƯỜNG.

Am xuống đường đặc biệt, thăng tiền mạnh mẽ (V-League)

Nhiều người đang tú mua hét

oằng tháo chay khi cây xanh trên đường Trần Hưng Đạo (quận 5,

TPHCM) bật gốc, ngã xuống

|= Sét đánh trúng 2 vợ chồng, người vợ chết tại chỗ ‘TM Benzema chính thức chia tay Real Madrid, chuẩn bị đến.

` shipper bắt ngờ ngã vật xuống đường giữa nắng nông Vdeo bêngđàHà Nol -Nam Bh Người hùng Tuần Ha

L* Ta mann hdr ch tiễn ngôi í l2 nears ee

E théc©cười nghin mộtiếu ảnh nóng ma

hong Ukraine: Xây ra anh bom xe «note i

[inn doanh Ree cn CaM Toot rang Ecco ay

pre bỏ quên ở cảng tại Việt Nam 5 năm khéng rõ _ Hotgirl có 1,5 triệu fan diện váy ngủ quyến rũ bên.

Lan sóng "Đông tiến” đón đầu

bắt dong sản ké cận đường vành dai

Hải Phòng điều chỉnh lỗi chơi và

khiến HAGL lắm vào khó khăn sau

phía Đông Hã Nội

“chủ nhân, giá dat cỡ nào khung cửa sỏ ,

P 5 5 TN) Siêu mẫu Võ Hoàng Yến "đai

“Chiếc 6 tô có giá tắt đắt nhưng 5 lÀ HN xo nguoi máu có phong cach thoi néo” Chuyện Vui Sốp Pi 4.6:

năm bị bỏ quên ở cảng Không ai 1Ì nu bên ngoài thân thái, bồn trong

nhận tuyệt dep, l

“7 THONG TIN CHUNG KHOAN

* Nông tuần qua Khối ti sản của người giầu nhất Việt LÊ Vay áo đi siêu thị thả dang” của hội con gãi châu

Hình 1.3 Trang chủ 24h

24h là một trang web tin tức trực tuyến phô biến ở Việt Nam, cung cấp các tin tức

về thời sự, thể thao, giải trí, kinh doanh và pháp luật Trang web có ít chuyên mục và

thể loại tin tức hơn VnExpress, chủ yếu tập trung vào các lĩnh vực như: tin tức trongngày, thế giới, thé thao, giải trí, kinh doanh, pháp luật,

at từ 1-6 thí điểm làm thủ Vụ tiếp viên hàngkhôngxách Đề xuất Cục Đăng kiểm bỏ quản tục bay không can giấy tờ tuỳ ma tuý: Đã bat giữ 200 đối lý trực tiếp 44 đơn vị đăng kiểm thân tượng liên

¿

Bộ Nội vụ đề xuất loạt quy định Đề xuất không lấy phiếu tin Đưa viêm gan B về âm tính nhờ

Trang 18

1.3.2 Một số website đọc báo trực tuyến thế giới

1.3.2.1 The New York Times

=a “TERNATIONAL CANADA ESPAOL + pm

CN hed cw York Fimes sus

India| Crash Investigation Looks

at Possible Signal Failure After

Rescue Efforts End

Tim Robinson and the Golden Age

Whats the to Incorporating awe into

treat aworkout injury: your daily stroll can

Hinh 1.5 Trang chu The New York Times

The New York Times là một trang web tin tức trực tuyến uy tín va nổi tiếng ở Hoa

Kỳ cung cấp các tin tức về các lĩnh vực như quốc tẾ, quốc nội, kinh doanh, thể thao,

nghệ thuật, ầm thực và khoa học,

The New York Times có chất lượng bài viết cao, với ngôn ngữ chính xác và trau

chuốt Tuy nhiên, trang web cũng có một số hạn chế như: có một số bài viết mang

tính thiên vị hoặc chính trị; có một số bài viết quá dài hoặc khó hiểu; nhiều bài viếtyêu cầu đăng ký hoặc trả phí để xem

‘Similar Recipes

Strawberry Spoon Almond Berry Layer Double Strawberry Cake Cake Shortcakes

Trang 19

U58 Canad © th Science & Environment

D Watch: Themissing Titanic How tapping sounds might Father, son and explorer

sub: ln 7 seconds teach rescue teams mleeing

> “Hi miss! Hollywood star

surprises sister in class

@nm uK

n accused of tricking If US firms'go woke’, do they

customers really go broke?

Amazon f Expe Could Russia actually

nuclear roulette in UI

Hinh 1.7 Trang chu BBC News

BBC News là một dich vu tin tức đa phương tiện trực tuyến và truyền hình do BBC

(British Broadcasting Corporation) điều hành Được thành lập vào năm 1922, BBCNews là một trong những tô chức tin tức hàng đầu trên toàn cầu và đã trở thành nguồntin đáng tin cậy cho hàng triệu người trên thế giới

BBC News cung cấp thông tin về các sự kiện quốc tế, quốc gia và văn hóa từ khắp

nơi trên thế giới Các bài báo, bản tin trực tiếp, video, podcast và nhiều nội dung khác

được cập nhật liên tục trên trang web của BBC News và các kênh truyền hình và đài

phát thanh của BBC BBC News có một mạng lưới phóng viên và nhà báo đến từnhiều quốc gia, giúp dam bảo rằng tin tức được báo cáo một cách toàn diện và chính

xác.

BBC News có hệ thống gợi ý nội dung được thiết kế để cung cấp trải nghiệm cá

nhân hóa cho người dùng Hệ thống này sử dụng các thuật toán và công nghệ đề phân

Trang 20

Hệ thống gợi ý nội dung của BBC News giúp người dùng tiếp cận các tin tức, bàiviết và video có liên quan đến những chủ đề mà họ quan tâm Khi người dùng truy

cập vào trang web hoặc ứng dụng của BBC News, hệ thống sẽ thu thập thông tin về

lịch sử duyệt web, tìm kiếm trước đó và các hoạt động trên trang để xác định sở thích

va nguyện vọng của người dùng.

Dựa trên thông tin này, hệ thống sẽ phân tích và so sánh với cơ sở dữ liệu nội dungcủa BBC News đề đề xuất những nội dung có khả năng cao phù hợp với người dùng

Điều này có thể bao gồm các bài báo, video, bản tin trực tiếp, podcast và nhiều hình

thức nội dung khác từ các chuyên mục khác nhau.

| Related Stories |

'What we know so far about the search for the missing Titanic sub

Ships racing to boost

desperate search for sub

British father, his son

and explorer among

missing

Scans of Titanic reveal wreck as never seen before

Trang 21

1.3.3 Đánh giá chung

Các trang web điều cung cấp cho người dùng một trải nghiệm đơn giản và dễ sử

dụng Cấu trúc bố cục của trang web được thiết kế rõ ràng và đễ hiểu Tốc độ tải trangnhanh và khả năng tương tác của người dùng tốt Tuy nhiên, trang web có quá nhiềuquảng cáo, điều này có thể làm giảm tính linh hoạt của người dùng

Cả 4 trang web điều cung cấp cho người dùng nhiều phương pháp đề tìm kiếm vàđọc tin tức Người dùng có thé tìm kiếm tin tức theo chủ đề hoặc từ khóa Ngoài ra,

các trang web cũng cung cấp cho người dùng các bài viết liên quan và các bài viếtđược đề xuất để giúp người dùng tìm kiếm thông tin một cách nhanh chóng và dễ

dàng.

1.4 Lý do chọn đề tài

Mong muốn xây dựng một trang báo điện tử có khả năng đề xuất nội dung phù hợpvới nhu cầu của người dùng và giới hạn quảng cáo nhằm cung cấp cho người đọc mộttrang báo có trải nghiệm đọc tin tức thuận tiện và dễ chịu hơn

1.5 Đối tượng và phạm vi nghiên cứu

1.5.1 Đối tượng

Đề tài tập trung xây dựng và phát triên một nền tảng đọc báo điện tử online phục

vụ cho người đọc tin tức và người quản lý nội dung Cụ thể như sau:

— Người dùng trực tuyến: Đây là nhóm người dùng chủ yếu sử dụng trang báo

điện tử dé đọc tin tức và tìm kiếm thông tin trực tuyến Đối tượng này có thé

bao gồm mọi người, từ các độ tuổi, giới tính, quốc gia và sở thích khác nhau

— Nhà quản lý trang báo điện tử: Đây là nhóm người có trách nhiệm quản lý và

điều hành trang báo điện tử Bao gồm các biên tập viên, nhà phát triển web và

nhân viên liên quan đến việc cung cấp nội dung và quản lý hệ thống gợi ý

Trang 22

1.5.2 Phạm vi

— Nội dung tin tức: Đề tài tập trung vào việc xây dựng một hệ thống gợi ý nội

dung tin tức phù hợp với nhu cầu của người dùng dựa trên nội dung bài viết

hiện tại Phạm vi bao gồm thu thập, xử lý và phân tích thông tin để đưa ra cácgợi ý tin tức liên quan và hấp dẫn

— Giao diện và trải nghiệm người đùng: Hoạt động trên nền tang web, có thé sử

dụng trên mọi thiết bị Cải thiện trải nghiệm người dùng, đơn giản hóa quy

trình đọc tin tức và tạo ra một giao diện thân thiện và dé sử dụng.

— Hệ thống khuyến nghị:

+ TF-IDF: để chuyền đổi văn bản thành các vecto đặc trưng

+ OneHotEncoder: để mã hóa các thuộc tính phân loại

+ NearestNeighbors: mô hình học máy được sử dung để dự đoán mức độ

tương tự giữa các bài viết

— Công nghệ sử dụng:

+ Ngôn ngữ lập trình: ReactJS, Python

+ Thư viện xử lý kiến nghị: pandas, sklearn, numpy, scipy, underthesea

+ Dataset: News Dataset Vietnameses | Kaggle)

Trang 23

CHƯƠNG2 CƠ SỞ LÝ THUYET

Chương này dé cập đến những kiến thức lý thuyết quan trọng Đặc biệt là cần làm

rõ những lý thuyết về công nghệ, thuật toán, khái niệm được sử dụng và nhắc đến

trong khóa luận.

BAT DONG SAN

À ca Cham sử dụng dat Nha

Pe x yh) nude giao, ngudi dan sẽ

BAT DONG SAN

Thủ tục xóc định tiền sử

dụng dat phải nộp khi ba

By KIMN T

Hình 2.1 Các bai báo có cùng nội dung

Hệ thống khuyến nghị là một loại hệ thống thông tin được sử dụng để đề xuất, gợi

ý các mục tiêu mà người dùng có thể quan tâm Mục tiêu có thể là sản phẩm, nội

dung, dịch vụ, hoặc bat cứ thứ gì mà người dùng có thé tương tác

Có nhiều phương pháp và kỹ thuật được sử dụng dé xây dựng hệ thống khuyếnnghị, trong đó hai phương pháp phổ biến nhất là Collaborative Filtering và Content-

Based Filtering Cả hai phương pháp này đều có ưu điểm và hạn chế riêng

Trang 24

— Collaborative Eilteringt!: Phương pháp nay dựa trên việc phân tích hành vi và

sở thích của một nhóm người dùng dé đề xuất cho người dùng hiện tại các mục

tiêu mà nhóm người dùng tương tự đã thích Collaborative Filtering có hai

dạng chính là User-Based và Item-Based User-Based sử dụng sự tương đồng

giữa các người dùng để dé xuất, trong khi Item-Based sử dung sự tương đồnggiữa các mục tiêu dé dé xuất Collaborative Filtering có thé giúp đề xuất các

mục tiêu mà người dùng chưa từng biết đến, và nó phổ biến trong các nền tảngnhư phim ảnh, âm nhạc và mua sắm trực tuyến

— Content-Based Filtering!"!; Phương pháp này đề xuất các mục tiêu tương tự

dựa trên đặc trưng và thuộc tính của mục tiêu và sở thích của người dùng Nó

xác định mức độ tương đồng giữa các mục tiêu và sở thích của người dùng

dựa trên các thông tin như từ khóa, thể loại, tác giả, diễn viên, v.v Based Filtering phù hợp cho việc đề xuất các mục tiêu tương tự về nội dung

Content-hoặc thuộc tính.

Mục tiêu của hệ thống khuyến nghị là tăng trải nghiệm của người dùng, giúp họ

khám phá những mục tiêu mới và phù hợp với sở thích của mình Nó được áp dụng

rộng rãi trong các nền tảng thương mại điện tử, dich vu streaming, trang tin tức, mạng

xã hội và nhiều lĩnh vực khác để cung cấp trải nghiệm cá nhân hóa và giúp người

dùng tìm thấy những mục tiêu mà họ thích

Trong phạm vi đề tài này chỉ tập trung xây dựng hệ thống Content-Based Filtering

dé đề xuất bài báo dựa theo các thuộc tính như tên bai báo, nội dung tóm tắt, thé loại,

tác giả của nó.

Trang 25

# Dự đoán mức độ tương tự giữa các bài viết

distances, indices = model.kneighbors(features, n_neighbors=10)

hoặc dự đoán về việc nhóm của một điềm dữ liệu cụ thé") Mặc dù nó có thé được sử

dụng cho cả bài toán hồi quy (regression) và phân loại (classification), nó thường

được sử dụng như một thuật toán phân loại, dựa trên giả định rằng các điểm tương tự

có thể được tìm thấy gần nhau

Cách thức hoạt động của mô hình Nearest Neighbors như sau:

— Tién xử lý dữ liệu: Đầu tiên, dữ liệu huấn luyện được tiền xử lý dé chuẩn hóa

và chuẩn bị cho quá trình tìm kiếm gần nhất

— Xây dựng cấu trúc dữ liệu: Dữ liệu huấn luyện được lưu trữ trong một cấu trúc

dữ liệu hiệu quả để tìm kiếm gần nhất nhanh chóng Cấu trúc dữ liệu phổ biến

cho mô hình Nearest Neighbors là cây KD-tree hoặc Ball tree.

Trang 26

— Tìm kiếm gần nhất: Khi có một điểm dữ liệu mới, mô hình tìm kiếm các điểm

dữ liệu trong tập huấn luyện mà có đặc trưng gần nhất với điểm dữ liệu mới

Thông thường, khoảng cách Euclidean hoặc khoảng cách cosine được sử dụng

để

- Dự

lo độ tương đồng giữa các điểm dữ liệu

đoán: Sau khi tìm thấy các điểm gần nhất, mô hình thực hiện dự đoán dựatrên nhãn của các điểm dữ liệu gần nhất này Có thể sử dụng phương pháp đa

số đơn giản hoặc trọng số được gán cho các điểm gần nhất dựa trên khoảng

cách.

Mô hin! Nearest Neighbors thường được sử dụng trong các tác vụ như phân loại,

phân cụm, tìm kiếm gần nhất và khám phá dữ liệu Nó có thể đưa ra dự đoán nhanh

chóng mà không cần quá trình huấn luyện phức tạp Tuy nhiên, mô hình này có nhượcđiểm là yêu cầu lưu trữ toàn bộ tập dữ liệu huấn luyện và tốn nhiều thời gian khi số

lượng điểm dữ liệu lớn

2.2.1. Chỉ số khoảng cách

Mục tiêu của thuật toán k-nearest neighbor là xác định các neighbor gần nhất của

một điểm nhất định, dé chúng ta có thé gán một nhãn cho điểm đó Đề làm điều này,

KNN có một vài yêu cầu:

— Xác định chỉ số khoảng cách: Để xác định điểm dữ liệu nào gần nhất với một

điểm truy vẫn nhất định, khoảng cách giữa điểm truy vấn và các điểm dữ liệukhác sẽ cần được tính toán Các chỉ số khoảng cách này giúp hình thành ranh

giới quyết định, phân vùng các điểm truy vấn thành các khu vực khác nhau'®,

+

một số thước đo khoảng cách có thể chọn:

Khoảng cách Euclid (p=2): Đây là thước đo khoảng cách được sử dụng

phổ biến nhất và nó được giới hạn ở các vectơ có giá trị thực

Trang 27

Công thức Euclid ©):

d(x, y) = xe — x)?

i=1

Khoảng cach Manhattan (p = 1): Đây cũng là một số liệu khoảng cách

phổ biến khác, do giá trị tuyệt đối giữa hai điểm

Khoảng cách Hamming: Ky thuật này thường được su dụng với các vectơ

Boolean hoặc chuỗi, xác định các điểm mà các vectơ không khớp

Trang 28

2.2.2 Định nghĩa k

Giá trị k trong thuật toán k-gần nhất hàng xóm (k-NN) xác định số lượng hàng

xóm sẽ được kiểm tra dé xác định phân loại của một điểm truy vấn cụ thé Ví dụ, nếuk=1, thì một điểm sẽ được gan vào cùng một lớp với hàng xóm gần nhất duy nhất của

nól5l,

2.2.3 Ứng dụng của K-Nearest Neighbors

Nearest Neighbors có nhiều ứng dụng trong các lĩnh vực khác nhau Dưới đây làmột số ví dụ về ứng dụng của thuật toán Nearest Neighbors:

— Phân loại văn bản: Trong xử lý ngôn ngữ tự nhiên, Nearest Neighbors có thể

được sử dụng để phân loại văn bản dựa trên đặc trưng của các từ hoặc câu

— Gợi ý sản phẩm: Trong lĩnh vực thương mại điện tử, Nearest Neighbors có thé

được sử dụng đề gợi ý sản phẩm cho người dùng dựa trên sự tương đồng của

hành vi mua hàng hoặc đánh giá của người dùng khác.

— Xử lý ảnh: Trong xử lý anh, Nearest Neighbors có thé được sử dụng dé tìm

kiếm và nhận dạng các hình ảnh tương tự Ví dụ, khi người dùng cung cấp mộthình anh, Nearest Neighbors có thé tìm kiếm trong cơ sở dữ liệu hình ảnh dé

tim ra những hình ảnh tương tự hoặc cùng chủ dé

Trang 29

Thuật toán content-based gồm 2 bước:

— Bước 1: Biểu diễn items dưới dạng vec-tơ thuộc tính — item profile

— Bước 2: Học mô hình của mỗi user

2.3.1.2 Xây dung Items Profile

Trong các hệ thống content-based, chúng ta cần xây dựng một bộ hồ sơ (profile)cho mỗi item Profile này được biểu dién dưới dạng toán học là một “feature vector”

n chiều Trong những trường hợp đơn giản (vi dụ như item là dir liệu dạng văn bản),feature vector được trực tiếp trích xuất từ item Từ đó chúng ta có thể xác định các

item có nội dung tương tự bằng cách tính độ tương đồng giữa các feature vector của

Trang 30

# Kết hợp các ma trận TF-IDF Lại với nhau

features = hstack([title tfidf, summary_tfidf])

Hình 2.3 Sử dụng TF-IDF dé chuyên văn bản thành ma trận đặc trưngTF-IDF là từ viết tắt của thuật ngữ tiếng Anh Term Frequency — Inverse Document

Frequency, TF-IDF là trong số của một từ trong văn bản thu được qua thống kê thé

hiện mức độ quan trọng của từ này trong một văn bản, mà bản thân văn bản đang xét

nằm trong một tập hợp các văn bản”,

Đây là một phương pháp được sử dụng trong xử lý ngôn ngữ tự nhiên và truy vấnthông tin để đánh giá mức độ quan trọng của một thuật ngữ trong một tài liệu

Trọng số TF-IDF được tính toán bằng cách kết hợp hai yếu tố chính: tần số thuật

ngữ (TF) và tần số nghịch dao tài liệu (IDF)

— Tần số thuật ngữ TF(t,d) °l: Đây là một phép đo mức độ xuất hiện của một

thuật ngữ trong một tài liệu cụ thể Nó được tính bằng cách đếm số lần thuật

ngữ t xuất hiện trong tài liệu d đó Tần suất xuất hiện của t trong tài liệu d cànglớn thì độ quan trọng của nó đối với văn bản càng cao và được tính bởi số lầnxuất hiện của t trong d chia cho tông số từ trong văn bản d như sau:

Trang 31

— _ Tần số nghịch đảo tài liệu IDF(t, D) ÊÌ; Đây là một phép do mức độ quan trọng

của một thuật ngữ trong toàn bộ tập tài liệu Nó được tính bằng cách chia tổng

số tài liệu cho số tài liệu chứa thuật ngữ đó, sau đó lấy logarit cơ số 2 của kếtquả IDF giúp giảm độ ưu tiên cho các thuật ngữ phổ biến như "a", "the" và

tăng độ ưu tiên cho các thuật ngữ hiếm hơn nhưng mang nhiễu thông tin quan

trọng IDF được tính bằng công thức:

— Công thức IDF(t, D)Ê!:

Trong đó tông số văn bản trong tập mẫu là D, số văn bản chứa từ là t

Trong thực tế, ta thường lấy log cho TF và IDF nhằm giảm bớt đi sự quan trọng

của những từ xuất hiện quá nhiều lần Do đó TF-IDF được tính như sau:

Công thức TFIDF(t, d, D)!!:

TFIDF(t, d, D) = log(1 + TF(t, đ)) * log (IDF(t,d))

TF-IDF thường được sử dung trong các hệ thống tìm kiếm va phân loại văn bản

để đánh giá mức độ liên quan của một tài liệu đến một thuật ngữ cụ thể Các giá trị

TF-IDF cao cho thay một thuật ngữ quan trọng trong tài liệu đó, va do đó, nó có théđược sử dung dé tìm kiếm, phân loại hoặc xếp hang tài liệu theo mức độ liên quan

TF-IDF được sử dụng trong nhiều tác vụ xử lý ngôn ngữ tự nhiên và truy vấn thông

tin Dưới đây là một số tình huống phổ biến sử dụng TF-IDF:

— Tim kiếm thông tin: TF-IDF được sử dụng trong hệ thống tìm kiếm dé xếp

Trang 32

— Phân loại văn bản: TF-IDF cũng được sử dụng trong tác vụ phân loại văn bản,

trong đó mỗi tài liệu được biểu diễn bằng vectơ TF-IDF Các mô hình học máy

như hồi quy logistic, hỗn hợp Gaussian hoặc máy vector hỗ trợ (SVM) có thể

sử dụng vectơ TF-IDF đề phân loại tài liệu thành các nhãn phù hợp

— Tóm tắt văn bản: Khi xây dựng hệ thống tóm tắt văn bản tự động, TF-IDF có

thể được sử dụng để xác định các câu hoặc đoạn văn nỗi bật trong tài liệu Các

câu có trọng số TF-IDF cao sẽ có khả năng chứa nhiều thông tin quan trọng

và được ưu tiên trong quá trình tóm tắt

Ưu điểm của việc sử dụng TF-IDF:

— Ưu điểm lớn nhất của TF-IDF đến từ việc nó đơn giản và dé sử dụng Nó rat

đơn giản dé tính toán, nó rẻ về mặt tính toán và nó là điểm khởi đầu đơn giản

cho các tính toán tương tự.

Nhược điểm của việc sử dụng TF-IDF

— TF-IDF không mang ý nghĩa ngữ cảnh Nó chi xem xét tam quan trọng của

các từ thông qua tần số xuất hiện, nhưng nó không phải rút ra ngữ cảnh của

các từ và hiểu tầm quan trọng của từ trong ngữ cảnh đó

2.3.3 Stop words

Stop words là nhóm các từ phổ biến và không mang nhiều ý nghĩa trong một ngôn

ngữ cụ thé Đối với xử lý ngôn ngữ tự nhiên, stop words thường được loại bỏ khỏi

văn bản hoặc không được xem xét trong quá trình xử lý ngôn ngữ!

Các từ dừng thường bao gồm các từ như "là", "của", "và", "với", "ở", "làm", "cho",

"theo", "một", "hai", "ba", "cả", "đến", "trên", "đưới", và nhiều từ phụ thuộc vào

ngôn ngữ cụ thé Các từ này xuất hiện rất phổ biến trong văn bản mà không mang

Trang 33

2.3.4 Biểu diễn nhị phân (One-hot coding)

Biểu diễn nhị phân, còn được gọi là one-hot coding, là một phương pháp đề biểu

diễn thông tin đưới dạng vectơ nhị phân, trong đó chỉ có một phần tử duy nhất trongvectơ có giá tri 1 và tất cả các phần tử khác có giá trị 0 Phương pháp này thường

được sử dụng trong xử lý ngôn ngữ tự nhiên và machine learning để biểu diễn cácbiến phân loại (categorical variables) dưới dạng số học dé có thé sử dụng trong các

thuật toán máy học và hoc may"),

Cách thức biểu diễn one-hot coding như sau: Giả sử ta có một tập hợp các nhãn

(labels) hoặc các biến phân loại, ví dụ như {A, B, C, D} Để biểu diễn mỗi nhãn thành

vecto nhị phân, ta sẽ tạo ra một vectơ có độ dài bằng với số lượng nhãn và gan giá trị

1 cho vị trí tương ứng với nhãn và giá trị 0 cho các vị trí còn lại.

Với biéu diễn này, ta có thé sử dụng các phép toán và thuật toán liên quan đến số

học trên các biến phân loại Ví dụ, ta có thể tính toán khoảng cách giữa các nhãn, ápdụng các thuật toán phân loại như hồi quy logistic hoặc hỗn hợp Gaussian, và thực

hiện các phép toán khác như dot product giữa các vectơ one-hot.

One-hot coding cũng có một số hạn chế, như việc tạo ra các vectơ có kích thước

lớn khi số lượng nhãn tăng lên, và không khai thác được sự tương quan giữa các nhãn.Tuy nhiên, trong nhiều trường hợp, one-hot coding là một phương pháp tiện lợi đểbiểu diễn các biến phân loại trong quá trình xử lý dữ liệu và huấn luyện mô hình

Trang 34

2.4 Các nền tang và công nghệ

2.4.1 React

Hình 2.4 Logo React

React là một thư viện JavaScript phổ biến được sử dụng để xây dựng giao diện

người dùng (UI) Nó được phát triển bởi Facebook và ra mắt lần đầu vào năm 2013

React cho phép xây dựng các thành phần UI tái sử dụng và tương tác một cách dễdàng, giúp tăng tính tương tác và khả năng duy trì mã nguồn trong các ứng dụng web

Một trong những khái niệm quan trọng nhất trong React là "virtual DOM" (cây

DOM ảo) Khi một thành phần React được cập nhật, React sẽ tạo ra một cây DOM

do dé so sánh với cây DOM hiện tại và chỉ cập nhật những phần thay đổi thực sự trêngiao diện người dùng Điều này giúp tăng hiệu suất và tối ưu hóa ứng dung.!7!

React sử dụng JSX (JavaScript XML) dé định nghĩa giao diện người dùng JSX

cho phép viết mã HTML trong JavaScript, tạo ra một cách thức dễ đọc và dễ hiểu đề

xây dựng giao diện người dùng trong React.!7!

React cũng hỗ trợ quản lý trạng thái (state) và lifecycle trong các thành phần Bằngcách sử dụng state, có thể lưu trữ và quản lý dữ liệu trong ứng dụng của mình

Lifecycle methods cho phép thực hiện các hành động như khởi tạo, cập nhật và hủy

thành phan trong quá trình hoạt động của nó”,

Trang 35

Ngoài ra, cộng đồng React rất lớn và phong phú, với nhiều thư viện và công cụ hỗ

trợ cho việc phát triển ứng dụng React Các thư viện như Redux, React Router và

Material-UI đều được sử dụng phổ biến dé mở rộng khả năng của React và cung cấp

các tính năng bô sung.

React là một thư viện JavaScript mạnh mẽ và linh hoạt, giúp xây dựng giao diện

người dùng đáng tin cậy va dé bảo trì Nó đã trở thành một công cụ phổ biến trong cộng đồng phát triển web và được sử dụng rộng rãi dé xây dựng các ứng dụng web

động và phức tạp.

2.4.2 React Next.js

A NEXT:

Hinh 2.5 Logo Next.js

React Next.js là một framework phat trién ứng dụng web phía máy khách

(client-side) và phía may chu (server-(client-side) dựa trên React Nó là một phiên ban mở rộng cua

React và cung cấp nhiều tính năng và tiện ích b6 sung dé xây dựng ứng dụng web

mạnh mẽ và dé dang quản lý.

Một số khái niệm trong Next.js!®:

— Server-side Rendering (SSR): React Next.js cho phép việc render HTML trên

máy chủ trước khi gửi đến trình duyệt, giúp cải thiện hiệu suất và tối ưu hóa

trải nghiệm người dùng SSR cho phép tạo ra các ứng dụng web tĩnh và động

mà có thé hiên thị nội dung ngay từ lần tải đầu tiên.

— Static Site Generation (SSG): React Next.js hỗ trợ tạo ra các trang web tĩnh

tĩnh (static) mà không cần phụ thuộc vào máy chủ Khi xây dựng ứng dụng, nội dung có thể được tạo ra tĩnh trước và được lưu trữ trong các tệp tĩnh, giúp

tăng tốc độ tải trang và giảm tải cho máy chủ.

Trang 36

— Routing: React Next.js cung cấp một hệ thống định tuyến (routing) mạnh mẽ,

cho phép xác định các đường dẫn và liên kết trang trong ứng dụng của mình Bằng cách sử dụng routing, có thể tạo ra các ứng dụng đa trang và đa tầng

phức tạp.

— Hot Module Replacement (HMR): React Next.js hỗ trợ tính năng HMR, cho

phép thay đổi mã nguồn trong quá trình phát triển mà không cần tải lại toàn

bộ trang web Điều này giúp tăng tốc độ phát triển và cải thiện trải nghiệm làm

việc với React Next.js.

— Code-splitting: React Next.js hỗ trợ việc tách mã (code-splitting) tự động, giúp

tải trang nhanh hơn bằng cách chỉ tải mã cần thiết cho từng trang hoặc thành phần cụ thê Điều này giúp tối ưu hóa kích thước tệp và tăng hiệu suất của ứng

dụng.

— CSS-in-JS: React Next.js tích hợp sẵn các thư viện CSS-in-JS như Styled

Components và Emotion, cho phép viết CSS trực tiếp trong mã JavaScript Điều này giúp quản lý tốt hơn các phong cách và tương tác giữa các thành phần

— TypeScript Support: React Next.js cung cấp hỗ trợ đầy đủ cho TypeScript, một

ngôn ngữ lập trình phổ biến và kiêu tĩnh Việc tích hợp TypeScript giúp tăng khả năng phát hiện lỗi và cung cấp tính năng tự động hoàn thành mã mạnh mẽ

trong quá trình phát trién.

React Next.js cung cấp một cách tiếp cận linh hoạt và tiện lợi dé phát triển ứng

dung web phức tạp và mạnh mẽ Với việc tích hợp nhiều tinh năng và tiện ích bổ

sung, nó giúp tăng hiệu suất, cải thiện trải nghiệm người dùng và tăng tốc quá trình phát triển ứng dụng.

Với cộng đồng phát triển mạnh mẽ React Next.js có một cộng đồng lớn và sôi động, với nhiều tài liệu, ví dụ về thư viện bố sung được xây dựng dựa trên nên tảng

nay .

Trang 37

Hình 2.6 Mô hình REST API

REST API (Representational State Transfer API) là một kiêu thiết kế và triển khai

các dịch vụ web dựa trên nguyên tắc của REST Nó cho phép các hệ thống khác nhau

có thê giao tiếp và tương tác với nhau thông qua mạng Internet.

REST API xác định cách các nguồn tài nguyên trên web được truy cập và quản lý.

Nó sử dụng các phương thức HTTP như GET, POST, PUT và DELETE đề thực hiện các hoạt động cơ bản liên quan đến nguồn tài nguyên REST API sử dụng các đường

dẫn (URL) đề đại điện cho các nguồn tài nguyên cụ thể và sử dụng các phương thức HTTP dé chỉ định hành động cần thực hiện trên nguồn tải nguyên đó.

Một số khái niệm quan trọng trong REST API bao gồm!:

— Nguồn tài nguyên (Resource): Là các đối tượng hoặc dữ liệu mà REST API

cung cấp và quan lý Mỗi nguồn tài nguyên được đại diện bởi một URI

(Uniform Resource Identifier).

— Phương thức (Method): REST API sử dụng các phương thức HTTP như GET,

POST, PUT va DELETE dé thực hiện các hoạt động trên nguồn tài nguyên.

Ví dụ, GET được sử dụng để truy xuất thông tin từ một nguồn tài nguyên,

POST để tạo mới nguồn tài nguyên, PUT để cập nhật nguồn tài nguyên và

DELETE dé xóa nguồn tài nguyên.

Trang 38

— Đại diện tài nguyên (Representation): Dữ liệu của một nguồn tài nguyên có

thể được truyền đi và nhận lại dưới dạng các định dạng như JSON, XML hoặc

HTML.

— Trạng thái (State): REST API không lưu trữ trạng thái trước đó của khách hàng

và mọi yêu cầu từ khách hang đủ dé nhà cung cấp dịch vụ hiéu yêu cầu đó mà không cần thông tin trạng thái trước đó.

REST API đã trở thành một tiêu chuẩn phổ biến trong việc phát triển các dịch vụ

web, do tính đơn giản, linh hoạt và khả năng mở rộng của nó Nó cho phép các ứng

dụng và hệ thống khác nhau có thể tương tác và truy cập dữ liệu qua mạng một cách

dễ dàng.

2.4.4 Django Rest Framework

django

framework

Hinh 2.7 Logo Django Rest Framework

Django Rest Framework (DRF) là một framework mạnh mẽ được sử dung dé phat triển RESTful API trong ứng dụng Django Nó cung cấp các công cụ và lớp trừu tượng giúp xây dựng các API đáp ứng tiêu chuân REST một cách nhanh chóng và dễ

dàng.

Django Rest Framework cung cấp nhiều tính năng mạnh mẽ bao gồm!!0l;

— Serialization: DRF cung cấp một cách tiện lợi dé chuyên đổi các đối tượng

Python thành dtr liệu JSON, XML hoặc các định dạng khác và ngược lại Quá

trình chuyển đổi này được thực hiện thông qua serializers.

Trang 39

— Authentication và Permissions: DRF hỗ trợ xác thực người dùng và quản lý

quyên truy cập dựa trên các phương thức xác thực như Token Authentication, Session Authentication, OAuth, và JWT (JSON Web Tokens) Bang cach sử dung permissions kiểm soát quyén truy cập của người dùng đối với các tài

nguyên API.

— Viewsets và Routers: DRF cung cấp các lớp trừu tượng như Viewsets và

Routers giúp xây dựng API một cách dé dàng và ngắn gọn Viewsets giúp tổ

chức mã nguồn của theo cách tô chức logic liên quan đến tài nguyên, và

Routers giúp tự động ánh xạ các URL tới các vIewsets tương ứng.

— Pagination: DRF cho phép quản lý phân trang dữ liệu trên các API trả về nhiều

kết quả có thé tùy chỉnh cách phân trang và định dạng hién thị trang.

— Documentation: DRF cung cap công cụ dé tạo tài liệu API tự động bằng cách

sử dụng các công nghệ như Swagger hoặc OpenAPI Điều này giúp tạo ra tài

liệu API dễ đọc và tự động cập nhật khi có thay đổi trong mã nguồn.

Django Rest Framework cung cấp một cách tiện lợi dé xây dựng va quản lý RESTful API trong Django, giúp tăng tốc quá trình phát triển va đảm bảo tuân thủ các tiêu chuẩn và nguyên tắc của REST Nó là một lựa chọn phổ biến cho việc xây

dựng dịch vụ web mạnh mẽ và lĩnh hoạt trong Django.

2.4.5 MySQL

MySQL.

Hinh 2.8 Logo MySQL

Trang 40

MySQL là một hệ quan tri cơ sở dữ liệu quan hệ mã nguồn mở được sử dụng rộng

rãi trên toàn thế giới Nó cung cấp một môi trường lưu trữ dữ liệu đáng tin cậy và

hiệu suất cao cho các ứng dụng web và doanh nghiệp.

Một số đặc điểm của MySQL bao gồm!!!:

— Quan lý cơ sở dữ liệu: MySQL được sử dụng dé tạo, quan lý và truy vẫn cơ sở

dữ liệu Nó hỗ trợ ngôn ngữ truy van SQL (Structured Query Language) dé

thực hiện các thao tác như tạo, đọc, cập nhật và xóa dữ liệu trong các bảng

quan hệ.

— Tính nhất quán và bảo mật dữ liệu: MySQL đảm bảo tính nhất quán và bảo

mat dữ liệu thông qua các tính năng như giao dich ACID (Atomicity,

Consistency, Isolation, Durability) và quyền truy cập kiểm soát người dùng.

— Tính năng mở rộng: MySQL có thê mở rộng linh hoạt và hỗ trợ xử lý dit liệu

lớn Nó có thé xử lý nhiều kết nói đồng thời và hỗ trợ cấu trúc phân tán như

dữ liệu được chia thành nhiều máy chủ dé tăng hiệu suất và sự tin cậy.

— Tương thích và tích hợp: MySQL tương thích với các ngôn ngữ lập trình phổ

biến như PHP, Python, Java và cung cấp các API và giao thức để kết nối và tương tác với các ứng dụng và hệ thống khác.

— Hồ trợ đa nên tang: MySQL có săn trên nhiêu nên tảng hệ điêu hành như

Windows, Linux và macOS, giúp cho việc triên khai và vận hành trên các môi

trường khác nhau dễ dàng.

— _ Cộng đồng lớn và hỗ trợ đáng tin cậy: MySQL có một cộng đồng người dùng

và phát triển đông đảo, dễ dàng tìm kiếm thông tin, tài liệu, và nhận sự hỗ trợ

trong việc sử dụng và triển khai MySQL.

MySQL là một hệ quản trị cơ sở dữ liệu quan hệ mạnh mẽ, phô biến và đáng tin

cậy Với tính nhất quán, bảo mật dữ liệu và tính linh hoạt, MySQL đã trở thành một

công cụ quan trọng trong việc lưu trữ và quản lý dữ liệu cho các ứng dụng web va

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

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Tìm hiểu về Content-based Filtering - Phương pháp gợi ý dựa theo nội dung (Phần 1), https://itzone.com.vn/vi/article/tim-hieu-ve-content-based-filtering-phuong-phap-goi-y-dua-theo-noi-dung-phan-1/ (truy cập 17 Tháng Tư 2023) Link
[2] Understanding TF-IDF for Machine Learning,https://www.capitalone.com/tech/machine-learning/understanding-tf-idf/ (truy cập 12 Thang Năm 2023) Link
[4] What Are Stop Words?, https://www.computerhope.com/jargon/s/stopword.htm(truy cap 25 Thang Tu 2023) Link
[5] One Hot Encoding in Machine Learning, https://www.geeksforgeeks.org/ml-one-hot-encoding-of-datasets-in-python/ (truy cập 12 Thang Tư 2023) Link
[6] What is the k-nearest neighbors algorithm?, https://www.ibm.com/topics/knn (truy cập 12 Thang Tu 2023) Link
[7] Dũng Vũ, React Js là gi? Dac diém va tinh nang cua ReactJs,https://bkhost.vn/blog/react-js/ (truy cap 7 Thang Nam 2023) Link
[8] Tim hiéu vé framework NextJS, https://aithietke.com/tim-hieu-ve-framework-nextjs/ (truy cap 7 Thang Nam 2023) Link
[10] Lập trình web Python Django RESTful API Framework,https://shareeverythings.com/lap-trinh/huong-dan-lap-trinh-web-python-django-restful-api-framework/ (truy cập 5 Thang Tư 2023) Link
[11] A. Pomponio, MySQL Overview: Key Features, Benefits, and Use Cases |OpenLogic by Perforce, https://www.openlogic.com/blog/mysql-overview (truy cập 13 Thang Năm 2023) Link
[12] Get Started with Visual Studio Code,https://code.visualstudio.com/learn/overview (truy cập 20 Thang Sáu 2023) Link
[13] Project Jupyter, https://jupyter.org (truy cập 20 Thang Tu 2023) Link
[14] Postman là gi? Hướng dẫn cách sử dung Postman hiệu quả nhất,https://itnavi.com.vn/blog/postman-la-gi (truy cập 26 Thang Tư 2023) Link
[15] News Dataset Vietnameses,https://www.kaggle.com/datasets/phamtheds/news-dataset-vietnameses (truy cập 15 Tháng Ba 2023) Link
[3] sklearn.feature_extraction.text.TfidfVectorizer, https://scikit-learn/stable/modules/generated/sklearn.feature_extraction.text.TfidfVectorizer.html (truy cap 19 Thang Nam 2023) Khác
[9] Restful api là gì? Giải đáp những điều cần biết về restful api?, 12 Tháng Mười Khác

HÌNH ẢNH LIÊN QUAN

Hình 0.9 Màn hình gửi nhận xét mobile - Khóa luận tốt nghiệp Hệ thống thông tin: Xây dựng website báo điện tử tích hợp hệ thống khuyến nghị nội dung
Hình 0.9 Màn hình gửi nhận xét mobile (Trang 10)
Hình 2.1 Các bai báo có cùng nội dung - Khóa luận tốt nghiệp Hệ thống thông tin: Xây dựng website báo điện tử tích hợp hệ thống khuyến nghị nội dung
Hình 2.1 Các bai báo có cùng nội dung (Trang 23)
Hình 3.2 Thiết kế hệ thống khuyến nghị trên tập Dataset 3.2.1.2. Mô ta các thành phần - Khóa luận tốt nghiệp Hệ thống thông tin: Xây dựng website báo điện tử tích hợp hệ thống khuyến nghị nội dung
Hình 3.2 Thiết kế hệ thống khuyến nghị trên tập Dataset 3.2.1.2. Mô ta các thành phần (Trang 42)
3.2.2.1. Sơ đồ luồng dữ liệu - Khóa luận tốt nghiệp Hệ thống thông tin: Xây dựng website báo điện tử tích hợp hệ thống khuyến nghị nội dung
3.2.2.1. Sơ đồ luồng dữ liệu (Trang 43)
Hình 3.6 Lấy dữ liệu mới trong database - Khóa luận tốt nghiệp Hệ thống thông tin: Xây dựng website báo điện tử tích hợp hệ thống khuyến nghị nội dung
Hình 3.6 Lấy dữ liệu mới trong database (Trang 47)
4.2.1. Sơ đồ kiến trúc - Khóa luận tốt nghiệp Hệ thống thông tin: Xây dựng website báo điện tử tích hợp hệ thống khuyến nghị nội dung
4.2.1. Sơ đồ kiến trúc (Trang 51)
Bảng 4.4 Đặc tả Use case đọc bài báo Tên Use Case Doc bai bao - Khóa luận tốt nghiệp Hệ thống thông tin: Xây dựng website báo điện tử tích hợp hệ thống khuyến nghị nội dung
Bảng 4.4 Đặc tả Use case đọc bài báo Tên Use Case Doc bai bao (Trang 54)
Bảng 4.5 Đặc tả Use case tìm kiếm bài báo - Khóa luận tốt nghiệp Hệ thống thông tin: Xây dựng website báo điện tử tích hợp hệ thống khuyến nghị nội dung
Bảng 4.5 Đặc tả Use case tìm kiếm bài báo (Trang 55)
Hình 4.4 Sơ đồ hoạt động Use case gửi bình luận - Khóa luận tốt nghiệp Hệ thống thông tin: Xây dựng website báo điện tử tích hợp hệ thống khuyến nghị nội dung
Hình 4.4 Sơ đồ hoạt động Use case gửi bình luận (Trang 56)
Bảng 4.7 Đặc ta Use case quan lý bài báo Tén Use Case Quan ly bai bao - Khóa luận tốt nghiệp Hệ thống thông tin: Xây dựng website báo điện tử tích hợp hệ thống khuyến nghị nội dung
Bảng 4.7 Đặc ta Use case quan lý bài báo Tén Use Case Quan ly bai bao (Trang 57)
Hình 4.6 So đồ hoạt động Use case quản lý bình luận - Khóa luận tốt nghiệp Hệ thống thông tin: Xây dựng website báo điện tử tích hợp hệ thống khuyến nghị nội dung
Hình 4.6 So đồ hoạt động Use case quản lý bình luận (Trang 60)
4.4. Sơ đồ tuần tự của các Use case (Sequence Diagram) - Khóa luận tốt nghiệp Hệ thống thông tin: Xây dựng website báo điện tử tích hợp hệ thống khuyến nghị nội dung
4.4. Sơ đồ tuần tự của các Use case (Sequence Diagram) (Trang 61)
Hình 4.8 Sơ đô tuân tu của Use case tìm kiêm - Khóa luận tốt nghiệp Hệ thống thông tin: Xây dựng website báo điện tử tích hợp hệ thống khuyến nghị nội dung
Hình 4.8 Sơ đô tuân tu của Use case tìm kiêm (Trang 62)
Hình 4.9 Sơ đồ tuần tự của Use case gửi bình luận - Khóa luận tốt nghiệp Hệ thống thông tin: Xây dựng website báo điện tử tích hợp hệ thống khuyến nghị nội dung
Hình 4.9 Sơ đồ tuần tự của Use case gửi bình luận (Trang 63)

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w