
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI HANOI UNIVERSITY OF INDUSTRY Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC Số 14 ● 2024 17
ỨNG DỤNG HỌC MÁY TRONG VIỆC PHÁT HIỆN TIN GIẢ TRÊN MẠNG XÃ HỘI
MACHINE LEARNING APPLICATION IN DETECTING FAKE NEWS ON SOCIAL MEDIA
Hoàng Kim Quang1,*, Trần Văn Sơn1, Lê Thị Thủy2
1Lớp KHMT01 - K16, Khoa Công nghệ thông tin, Trường Đại học Công nghiệp Hà Nội
2Khoa Công nghệ thông tin, Trường Đại học Công nghiệp Hà Nội
*Email: quangh922@gmail.com
TÓM TẮT
Nghiên cứu này tập trung vào việc áp dụng các phương pháp học máy kết hợp xử lý ngôn ngữ tự nhiên để đối phó với
vấn đề phát hiện tin giả trên mạng xã hội. Ứng dụng học máy trong việc phát hiện tin giả trên mạng xã hội giúp con người
phát hiện nhanh có tin tức có hại, giả mạo một cách hiệu quả và nhanh chóng. Kết quả cho thấy, cả ba mô hình đều có tiềm
năng trong việc phân loại tin tức giả trên mạng xã hội. Tuy nhiên, việc lựa chọn mô hình phụ thuộc vào yêu cầu cụ thể của
bài toán và đặc điểm của dữ liệu.
Từ khóa: Học máy, Xử lý ngôn ngữ tự nhiên.
ABSTRACT
The research article focuses on applying machine learning methods combined with natural language processing to
tackle the issue of detecting fake news on social media. The use of machine learning in detecting fake news on social
media helps humans efficiently and quickly identify harmful and deceptive information. The results show that all three
models have potential in classifying fake news on social media. However, the choice of model depends on the specific
requirements of the problem and the characteristics of the data.
Keywords: Machine learning, Natural language processing.
1. GIỚI THIỆU
Trên mạng xã hội và các nền tảng truyền thông kỹ thuật
số, sự lan truyền nhanh chóng của tin tức giả đã trở thành
một vấn đề đáng lo ngại. Để đối phó với tình trạng này, ứng
dụng học máy và xử lý ngôn ngữ tự nhiên đã được áp dụng
để phát hiện và phân loại các tin tức giả một cách tự động
và hiệu quả.
Học máy là một lĩnh vực của Trí tuệ nhân tạo (AI) tập
trung vào việc phát triển các thuật toán và mô hình để giúp
máy tính học từ dữ liệu và tự động thực hiện nhiệm vụ mà
không cần được lập trình cụ thể. Trong việc phát hiện tin
giả, các thuật toán Học máy được huấn luyện trên dữ liệu
đã được gán nhãn, trong đó tin tức được xác định là giả hoặc
thật.
Xử lý ngôn ngữ tự nhiên (NLP) là một lĩnh vực của AI
tập trung vào việc hiểu và xử lý ngôn ngữ tự nhiên của con
người bằng cách sử dụng máy tính. Trong việc phát hiện tin
giả, NLP đóng vai trò quan trọng trong việc phân tích và xử
lý các đặc trưng ngôn ngữ của tin tức, như từ ngữ, cú pháp
và ngữ nghĩa, để xác định tính chính xác của thông tin.
Bằng việc kết hợp Học máy và NLP, các công cụ và mô
hình có thể được xây dựng để tự động phân loại các tin tức
là giả hay thật. Các mô hình Học máy như Naive Bayes, K-
Nearest Neighbors (KNN) và Support Vector Machine
(SVM) có thể được áp dụng để phân loại tin tức dựa trên
đặc trưng của chúng. NLP cung cấp các công cụ và phương
pháp để xử lý và rút trích thông tin từ văn bản, giúp định
lượng các đặc trưng ngôn ngữ và xây dựng mô hình phát
hiện tin giả.
Sự kết hợp giữa Học máy và NLP trong việc phát hiện
tin giả trên mạng xã hội đóng vai trò quan trọng trong việc
bảo vệ người dùng khỏi thông tin sai lệch, đảm bảo tính
chính xác và đáng tin cậy của tin tức trên nền tảng truyền
thông kỹ thuật số.
2. MỘT SỐ MÔ HÌNH MÔ HÌNH HỌC MÁY VÀ XỬ
LÝ NGÔN NGỮ TỰ NHIÊN
2.1. Mô hình k-nearest neighbor (KNN)
Mô hình K-Nearest Neighbors (KNN) là một mô hình
Học máy trong đó việc phân loại dữ liệu mới được thực
hiện dựa trên sự tương đồng với các điểm dữ liệu gần nhất
trong tập huấn luyện. Mô hình KNN không dự đoán một
hàm mục tiêu hoặc xây dựng một mô hình phân loại tường
minh, mà dựa trên việc so sánh và điểm số các điểm dữ
liệu xung quanh.
Quy trình xây dựng là ta sẽ có D là tập các điểm dữ liệu
đã được gắn nhãn và A là dữ liệu chưa được phân loại. Ta
bắt đầu thực hiện thuật toán. Ta bắt tay vào tính khoảng
cách, áp dụng 1 trong các cách tính khoảng cách Euclid,

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI HANOI UNIVERSITY OF INDUSTRY Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC Số 14 ● 2024 18Manhattan, Minkowski, Minkowski hoặc tính theo trọng số
từ dữ liệu mới A đến tất cả các dữ liệu khác đã được phân
loại trong D. Sau khi tính hết toàn bộ khoảng cách nêu trên,
chọn K (K là tham số tự định nghĩa) khoảng cách nhỏ nhất,
hay nói cách khác là lấy ra K đối tượng mà có khoảng cách
nhỏ nhất đã được tính toán.
Kiểm tra danh sách các lớp có khoảng cách nhỏ nhất và
đếm số lượng xuất hiện của mỗi lớp. Lấy ra đúng lớp xuất
hiện nhiều nhất trong K đối tượng được lấy ra. Từ đó rút ra
kết luận: Lớp của dữ liệu mới nhập vào là lớp đã nhận được
ở trên.
Thế nhưng, vấn đề mang tính ảnh hưởng nhất là lấy giá
trị K sao cho phù hợp, tức là cần bao nhiêu điểm ở gần hay
cách nói khác là cần bao nhiêu “láng giềng” gần nhất với
dữ liệu cần phân loại?
Theo các chuyên gia, chúng ta nên thực hiện các phép
thử, chạy nhiều mô hình KNN với các giá trị K khác nhau
và bắt đầu thực nghiệm từ 1 “láng giềng”, nghĩa là với
K = 1, sau đó kiểm tra độ hiệu quả của từng mô hình để có
thể tìm được giá trị K nào sẽ là tối ưu nhất cho bài toán
của mình. Tuy nhiên, do dữ liệu mỗi tập sẽ có tính khác
biệt, đặc điểm khác nhau, vì vậy, việc xác định được giá
trị K nào sẽ là phù hợp sẽ gặp nhiều khó khăn. Tuy nhiên,
nếu ra có thể tìm được giá trị K phù hợp cho bài toán, hiệu
quả cũng như độ chính xác của bài toán sẽ được nâng lên
đáng kể.
Khoảng cách trong không gian vector: Trong không
gian một chiều, việc đo đạc khoảng cách giữa 2 điểm là một
công việc hết sức quen thuộc là lấy giá trị tuyệt đối của hiệu
giữa hai giá trị được xét. Ở trong không gian hai chiều, tức
là một mặt phẳng, ta có thể sử dụng nhiều công thức để tính
khoảng cách khác nhau và ta thường sử dụng công thức tính
khoảng cách Euclid để thực hiện việc này.
Việc đo khoảng cách giữa hai điểm dữ liệu nhiều chiều
là rất cần thiết trong học máy để phục vụ việc đánh giá xem
điểm nào là điểm gần nhất so với một điểm khác trong
không gian. Vì vậy mà khái niệm norm ra đời. Norm có
nhiều loại:
- Chuẩn norm 1: Là tổng các giá trị tuyệt đối của các
phần tử vector, công thức toán học như sau:
‖‖=
||
- Chuẩn norm 2: là căn bậc hai của tổng bình phương
của mỗi phần tử vector, công thức toán học như sau:
‖‖=
||
- Chuẩn giới hạn âm: là giá trị tuyệt đối nhỏ nhất trong
số các phần tử của vector, công thức toán học như sau:
‖‖=||
- Chuẩn giới hạn dương: ngược lại với chuẩn giới hạn
âm là giá trị tuyệt đối lớn nhất trong số các phần tử của
vector, công thức toán học như sau:
‖‖=||
- Chuẩn norm p, có công thức như sau:
= ‖‖=
||
Để xác định khoảng cách giữa hai vectơ x và y, người ta
thường áp dụng một hàm số lên vectơ hiệu: =−. Một
hàm số được dùng để đo các vectơ sẽ cần có một vài tính
chất đặc biệt.
2.2. Mô hình Naive Bayes
Mô hình Naive Bayes là một mô hình Học máy dựa trên
nguyên tắc của định lý Bayes để phân loại dữ liệu. Mô hình
này được xây dựng trên giả định "naive" (ngây thơ) rằng
các đặc trưng của dữ liệu là độc lập và có ảnh hưởng riêng
biệt lên kết quả phân loại. Thuật toán này thường được sử
dụng để phân loại văn bản.
Xác suất Naïve Bayes:
(|) =(|)()
()
(|) = (1|) × (2|) × . . .× (|) × ()
- P(c|x) là xác suất của c khi biết x. Trong đó, c là các
lớp (nhãn) và x là tập các thuộc tính (đặc trưng).
- P(c) là xác suất của lớp c.
- P(x|c) là xác suất của x nếu biết c.
- P(x) là xác suất của x.
2.3. Mô hình SVM
SVM là phương pháp học có giám sát do Vladimir N.
Vapnik đề xuất vào năm 1995 và ngày càng được sử dụng
phổ biến trong đa dạng lĩnh vực, đặc biệt là lĩnh vực phân
loại mẫu và nhận dạng mẫu.
Phương pháp này thực hiện phân lớp dựa trên nguyên lý
cực tiểu hóa rủi ro có cấu trúc SRM - một trong số các
phương pháp phân lớp giám sát không tham số tinh vi nhất
hiện tại.
Bài toán phân lớp sử dụng SVM có 2 mục đích chính.
Thứ nhất, tìm một siêu phẳng có biên cực đại giữa các lớp
mẫu âm và mẫu dương. Thứ hai, cực tiểu hóa các mẫu
không phân chia được trong tập huấn luyện.
Đây là thuật toán hỗ trợ phân loại rất phổ biến và hiệu
quả, có thể áp dụng trong học có giám sát hoặc bán giám
sát. Mục đích của SVM là phân loại dữ liệu thành hai lớp
khác nhau, trong trường hợp này là lớp các tin giả và lớp
các tin thật. Với một bộ các mẫu huấn luyện thuộc hai thể
loại cho trước, thuật toán huấn luyện SVM xây dựng một
mô hình SVM để phân loại các mẫu khác vào một trong hai
thể loại đó. Thuật toán SVM chia hai lớp dữ liệu bằng một

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI HANOI UNIVERSITY OF INDUSTRY Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC Số 14 ● 2024 19siêu mặt phẳng d-1 chiều khi số chiều của dữ liệu huấn
luyện là d. Trong đó, w.x - b = 0 là siêu mặt phẳng thể hiện
sự phân tách dữ liệu.
Hình 1. Mô hình SVM
2.4. Xử lý ngôn ngữ tự nhiên (nlp)
Kiến thức NLP được chúng tôi áp dụng là:
Chuyển các văn bản sang các vector
Trong xử lý ngôn ngữ tự nhiên, chúng ta cần biểu diễn
các câu, từ và văn bản dưới dạng các vector (vectorization)
để máy tính có thể áp dụng các thuật toán và phương pháp
học máy. Một phương pháp phổ biến là sử dụng mô hình
"Túi từ" (Bag-of-Words) hoặc "Túi từ và Tf-Idf" (Term
Frequency-Inverse Document Frequency).
Trong mô hình "Túi từ", mỗi từ trong văn bản được coi
là một đặc trưng và được đếm số lần xuất hiện trong văn
bản. Các từ sẽ được biểu diễn thành một vector dựa trên số
lần xuất hiện của chúng. Mô hình "Túi từ và Tf-Idf" cải tiến
bằng cách tính toán giá trị Tf-Idf cho từng từ, kết hợp tần
số xuất hiện (Term Frequency - Tf) và tần số nghịch đảo
của văn bản (Inverse Document Frequency - Idf).
Quá trình chuyển các văn bản thành các vector trong xử
lý ngôn ngữ là một bước quan trọng để máy tính có thể hiểu
và xử lý ngôn ngữ tự nhiên, và nó cung cấp cơ sở cho nhiều
ứng dụng như phân loại văn bản, dịch máy, phân tích cảm
xúc và nhiều hơn nữa.
Để hiểu rõ hơn về "Túi từ và Tf-Idf" (Term Frequency-
Inverse Document Frequency), hãy xem một ví dụ cụ thể:
Văn bản 1: "Tôi thích mèo"
Văn bản 2: "Tôi thích chó"
Văn bản 3: "Tôi ghét nhện"
Tần suất từ (Tf)
Tf đại diện cho tần suất xuất hiện của một từ trong một
văn bản. Chúng ta đếm số lần xuất hiện của mỗi từ trong
mỗi văn bản.
Giá trị Tf cho mỗi văn bản:
| "Tôi" | "thích" | "mèo" | "chó" | "ghét" | "nhện" |
Văn bản 1 | 1 | 1 | 1 | 0 | 0 | 0 |
Văn bản 2 | 1 | 1 | 0 | 1 | 0 | 0 |
Văn bản 3 | 1 | 0 | 0 | 0 | 1 | 1 |
Tần suất ngược của văn bản (Idf)
Idf đo độ thông tin của một từ trong toàn bộ tập hợp các
văn bản. Nó được tính là logarithm cơ số tự nhiên của tổng
số văn bản chia cho số văn bản chứa từ đó.
Giá trị Idf cho mỗi từ:
| "Tôi" | "thích" | "mèo" | "chó" | "ghét" | "nhện" |
Idf | 0 | 0 | 1,09 | 1,09 | 1,09 | 1,09 |
Tf-Idf
Tf-Idf là tích của Tf và Idf. Nó đại diện cho sự quan
trọng của một từ trong một văn bản cụ thể so với toàn bộ
tập hợp các văn bản.
Giá trị Tf-Idf cho mỗi từ trong mỗi văn bản:
| "Tôi" | "thích" | "mèo" | "chó" | "ghét" | "nhện" |
Văn bản 1 | 0 | 0 | 1,09 | 0 | 0 | 0 |
Văn bản 2 | 0 | 0 | 0 | 1,09 | 0 | 0 |
Văn bản 3 | 0 | 0 | 0 | 0 | 1,09 | 1,09 |
Trong ví dụ này, các từ "mèo," "chó," "ghét," và "nhện"
có giá trị Tf-Idf khác không trong các văn bản tương ứng
của chúng, cho thấy sự quan trọng của chúng trong các văn
bản đó so với các từ khác. Từ "Tôi" có giá trị Tf-Idf bằng
không trong tất cả các văn bản, cho thấy nó không cung cấp
nhiều thông tin phân loại. Công thức tính toán Tf-Idf cho
một từ trong một văn bản cụ thể như sau:
Tf-Idf = Tf * log(N / DF)
Trong đó:
+ Tf là tần số xuất hiện của từ trong văn bản.
+ N là tổng số văn bản trong tập dữ liệu.
+ DF là số lượng văn bản trong tập dữ liệu chứa từ đó.
3. ĐỀ XUẤT MÔ HÌNH PHÁT HIỆN TIN GIẢ
Để xây dựng một phần mềm phân loại văn bản tiếng
Việt, nhóm tác giả có thể tuân theo các bước sau:
Hình 2. Các bước xử lý văn bản
Chuẩn bị dữ liệu: Thu thập dữ liệu từ các nguồn phù
hợp, bao gồm dữ liệu huấn luyện để xây dựng mô hình và
dữ liệu để thử nghiệm việc phân loại. Dữ liệu huấn luyện
nên chứa các mẫu văn bản đã được gán nhãn đúng theo các
nhãn phân loại mong muốn.
Tiền xử lý dữ liệu: Bước này bao gồm việc tiền xử lý dữ
liệu văn bản để chuẩn hóa và tạo ra các đặc trưng hữu ích
cho việc phân loại. Các bước tiền xử lý có thể bao gồm: loại
bỏ các ký tự đặc biệt, chuyển đổi chữ hoa thành chữ thường,
tách từ, loại bỏ từ dừng (stop words), chuẩn hóa từ vựng
(stemming hoặc lemmatization) và mã hóa đặc trưng thành
dạng số.

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI HANOI UNIVERSITY OF INDUSTRY Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC Số 14 ● 2024 20Xây dựng mô hình: Sử dụng dữ liệu huấn luyện đã được
tiền xử lý, xây dựng một mô hình phân loại văn bản. Có
nhiều phương pháp và mô hình khác nhau có thể được sử
dụng, bao gồm mô hình Naive Bayes, K-Nearest Neighbor,
Support Vector Machines (SVM). Quá trình xây dựng mô
hình bao gồm huấn luyện mô hình trên dữ liệu huấn luyện
và tinh chỉnh các tham số để đạt được hiệu suất tốt nhất.
Xây dựng phần mềm phân loại văn bản: Sau khi xây
dựng và tinh chỉnh mô hình, nhóm tác giả có thể tích hợp
mô hình vào phần mềm phân loại văn bản.
- Dữ liệu thử nghiệm
Để kiểm chứng các phương pháp trình bày ở trên, ta đã
tiến hành thử nghiệm với bộ dữ liệu Kaggle.
Dữ liệu Kaggle là một nguồn tài nguyên dữ liệu trực
tuyến được cung cấp bởi Kaggle, một nền tảng cộng đồng
phổ biến cho các nhà khoa học dữ liệu và các chuyên gia
trong lĩnh vực học máy và khoa học dữ liệu. Kaggle cung
cấp cho người dùng truy cập vào hàng ngàn bộ dữ liệu từ
nhiều lĩnh vực khác nhau như y học, tài chính, hình ảnh,
ngôn ngữ tự nhiên, thị giác máy tính và kể cả dữ liệu để
thực hiện.
Dữ liệu huấn luyện:
+ Kích thước: 94,14MB
+ Số tin trong file: 20800 tin
+ Định dạng: CSV
+ Dữ liệu được chia thành các cột sau: id, tiêu đề, tác giả,
văn bản và nhãn. Những thành phần thuộc tính này là thành
phần cơ bản của một bài báo, tin tức hay của một bài viết,…
Nhưng ta chỉ quan tâm là nhãn và cột văn bản. Các văn
bản cột chứa các nội dung của bài viết, trong khi các nhãn
cột tượng trưng cho bài viết là thực tế hay không.
Dữ liệu thử nghiệm:
+ Kích thước: 29,7MB
+ Số tin trong file: 5200 tin
+ Định dạng: CSV
+ Dữ liệu được chia thành các cột sau: id, tiêu đề, tác
giả, văn bản (Tương tự với dữ liệu huấn luyện nhưng bỏ đi
thành phần “nhãn”).
4. KẾT QUẢ THỬ NGHIỆM
Bảng 1. Kết quả đánh giá của từng mô hình
Naïve Bayes
accuracy
SVM accuracy KNN accuracy
85,62% 96,23% 55,6%
Dựa trên kết quả đánh giá, ta có các kết quả đáng chú ý sau:
Naïve Bayes accuracy: 85,62% - Đây là tỷ lệ phân loại
chính xác của mô hình Naïve Bayes trên tập dữ liệu thử
nghiệm. Kết quả này cho thấy mô hình Naïve Bayes đạt
được độ chính xác tương đối cao.
SVM accuracy: 96,23% - Kết quả này cho thấy mô hình
SVM đạt được tỷ lệ phân loại chính xác rất cao trên tập dữ
liệu thử nghiệm. Mô hình SVM có khả năng tạo ra một ranh
giới phân chia tốt giữa các lớp dữ liệu, dẫn đến hiệu suất
phân loại tốt.
KNN accuracy: 55,6% - Tỷ lệ phân loại chính xác của
mô hình KNN trên tập dữ liệu thử nghiệm là 55,6%, tức là
khá thấp so với hai mô hình trước đó. Mô hình KNN dựa
trên việc xác định lớp của điểm dữ liệu dựa trên các điểm
láng giềng gần nhất. Kết quả này cho thấy mô hình KNN có
thể không phù hợp hoặc cần tinh chỉnh thêm để đạt hiệu
suất cao hơn.
Tóm lại, mô hình SVM đạt kết quả tốt nhất với tỷ lệ phân
loại chính xác là 96,23%. Naïve Bayes cũng đạt được kết
quả tương đối tốt với 85,62% độ chính xác. Trong khi đó,
mô hình KNN có hiệu suất thấp hơn với tỷ lệ phân loại
chính xác là 55,6%. Cần xem xét tinh chỉnh hoặc thay đổi
mô hình KNN để cải thiện hiệu suất phân loại.
5. KẾT LUẬN
Trong bài báo này, chúng tôi đã giới thiệu mô hình học
máy sử dụng và từ đó đánh giá được hiệu quả của từng mô
hình. Nghiên cứu này cung cấp phương pháp nhận biết tin
giả bằng học máy và chứng minh rằng mô hình SVM và
Naïve Bayes có thể được sử dụng hiệu quả trong việc phân
loại tin giả. Các kết quả này có thể đóng góp cho việc xây
dựng các hệ thống tự động phát hiện tin giả và hỗ trợ trong
công tác phân loại và kiểm tra tính xác thực của thông tin
trên mạng. Tuy nhiên, vẫn còn khả năng tinh chỉnh và cải
thiện các mô hình để đạt hiệu suất tốt hơn trong tương lai.
TÀI LIỆU THAM KHẢO
[1]. https://vi.wikipedia.org/wiki/X%E1%BB%AD_l%C3%BD_ng%C3%B4n_ng%E1%BB%AF_t%E1%BB%B1
_nhi%C3%Aan.
[2].https://viblo.asia/p/ly-thuyet-ve-mang-bayes-va-ung-dung-vao-bai-toan-loc-thu-rac-07LKXzkelV4
[3].Daniel Jurafsky, James H. Martin, 2009. Prentice-Hall 2nd edition. Speech and Language Processing: An
Introduction to Natural Language Processing. Speech Recognition, and Computational Linguistics.
[4]. Võ Trung Hùng, Ninh Khánh Chi, Trần Anh Kiệt, 2022. Automatic Fake News Detection: Achievements And
Challenges.

