Tải bản đầy đủ (.pdf) (29 trang)

ĐỀ TÀI PHÁT HIỆN TIN GIẢ VỚI SVM

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (797.02 KB, 29 trang )

BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CNTT
---♣♣♣---

HỌC MÁY
ĐỀ TÀI
PHÁT HIỆN TIN GIẢ VỚI SVM
Giảng viên hướng dẫn : ThS Lê Thị Thủy
Sinh viên thực hiện : 1. Bùi Công Tùng - 2020608603
2. Nguyễn Thị Hường - 2019607824
3. Vũ Chí Trung - 2020608748

Hà Nội – 2022


PHÂN CÔNG CÔNG VIỆC VIẾT BÁO CÁO
Đề tài: Phát hiện tin giả với SVM

Tuần

Nội dung công việc

Kết quả đạt
được

Phương
pháp thực
hiện

Lập kế hoạch làm bài


tập lớn, thực hiện
Nguyễn Thị Hường
nghiên cứu phát biểu
Vũ Chí Trung
bài tốn.

Kế hoạch chi
tiết cơng việc.

Tìm hiểu tài
liệu, thảo
luận nhóm.

Tổng quan đề
tài, khái niệm
tin giả - Fake
News

Tìm hiểu tài
liệu, thảo
luận nhóm.

Người thực hiện
Bùi Cơng Tùng

1

2

Vũ Chí Trung


Chương 1: Tổng quan
về bài toán Phát hiện
tin giả.
- Lời cảm ơn.
- Lý do chọn dề tài.

3

Tổng quan về
các mơ hình
ML cơ bản, ưu
Nguyễn Thị Hường - Tìm hiểu về các mơ
và nhược điểm
hình Machine Learning của các mơ
cơ bản.
hình.

4

Bùi Cơng Tùng

Chương 3: Nội dụng và Mơ hình SVM
xây dựng trên
kết quả thực nghiệm.
ngơn ngữ
- Cài đặt thuật tốn
Python. Sử
SVM. Tiến hành các
dụng mơ hình

bước thu thập, tiền xử
để phát triển
lý dữ liệu.
chương trình
- Xây dựng chương
phát hiện tin
trình.
giả

Sử dụng dữ
liệu online,
code với
Google Colab

Bùi Cơng Tùng

Hồn thành
bản báo cáo đề
tài.

Tổng hợp kết
quả. Hoàn
thiện báo cáo.

Chương 2: Phát hiện
tin giả với SVM.

5

1 |Nhóm 8 – Học Máy


Hồn thiện báo cáo.

Tìm hiểu tài
liệu, thảo
luận nhóm.
Sưu tầm ví
dụ.


MỤC LỤC
PHÂN CÔNG CÔNG VIỆC VIẾT BÁO CÁO................................1
LỜI CẢM ƠN.....................................................................................2
LỜI NĨI ĐẦU.....................................................................................4
DANH MỤC HÌNH ẢNH SỬ DỤNG...............................................6
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI PHÁT HIỆN TIN ĐỒN
..............................................................................................................7
I. Tổng quan phát hiện tin đồn..........................................................7
II. Các mơ hình cho bài tốn phát hiện tin giả.................................7


Định nghĩa, khái niệm các mơ hình............................................7


Mơ hình Navie Bayes..........................................................................7



Mơ hình KNN......................................................................................8




Mơ hình SVM....................................................................................10

CHƯƠNG 2: XÂY DỰNG PHẦN MỀM PHÁT HIỆN TIN ĐỒN
............................................................................................................13
I. Khái niệm.......................................................................................13
II. Xây dựng phần mềm phát hiện tin giả......................................14
CHƯƠNG 3: NỘI DUNG VÀ KẾT QUẢ THỰC NGHIỆM.......16
I. Nội dung.........................................................................................16
1.1. Chuẩn bị dữ liệu...........................................................................................................................16
1.2. Xử lý dữ liệu.................................................................................................................................17

II. Chương trình và kết quả thực nghiệm......................................18
2.1. Khởi tạo mơi trường chạy chương trình.....................................................................................18
2.2. Kết quả thực nghiệm...................................................................................................................24

KẾT LUẬN.......................................................................................26
TÀI LIỆU THAM KHẢO................................................................27
2 |Nhóm 8 – Học Máy


LỜI CẢM ƠN
Lời đầu tiên cho phép em gửi lời cảm ơn sâu sắc tới các thầy cô trong
khoa Công nghệ thông tin - Trường Đại học Công Nghiệp Hà Nội, những
người đã hết mình truyền đạt và chỉ dẫn cho em những kiến thức, những bài học
quý báu và bổ ích. Đặc biệt em xin được bày tỏ sự tri ân và xin chân thành cảm
ơn giảng viên ThS Lê Thị Thủy người trực tiếp hướng dẫn, chỉ bảo em trong
suốt q trình học tập, nghiên cứu và hồn thành được đồ án. Sau nữa, em xin
gửi tình cảm sâu sắc tới gia đình và bạn bè vì đã ln bên cạnh khuyến khích,

động viên, giúp đỡ cả về vật chất linh tinh thần cho chúng em trong suốt qui
trình học tập để em hồn thành tốt việc học tập của bản thân.
Trong thời đại bùng nổ thông tin, cũng như sự phát triển của mạng xã hội
thời đại 4.0 hiện nay, mọi người được tiếp cận rất nhanh với các cơng nghệ,
hình ảnh, mọi thứ xung quanh, văn bản, thơ ca, tin tức… việc gặp phải các tin
giả, các nguồn tin xun tạc, khơng đúng, tin khơng chính thống, không đáng
tin cậy "Fake News" là điều không thể tránh khỏi. Thậm chí tin giả đang được
nhìn nhận như một trong những mối đe dọa lớn nhất đến sự tiếp cận, nền tri
thức, tranh luận tự do, ảnh hưởng rất nhiều đến mọi mặt của đời sống xã hội.
Chính vì vậy em đã lựa chọn đề tài: “Phát hiện tin giả với SVM“ làm đề tài kết
thúc môn học của mình.
Trong quá trình nghiên cứu và làm đề tài, do năng lực, kiến thức, trình độ
bản thân em cịn hạn hẹp nên khơng tránh khỏi những thiếu sót và em mong mỏi
nhận được sự thơng cảm và những góp ý từ quý thầy cô cũng như các bạn trong
lớp. Em xin chân thành cảm ơn!
Hà nội, ngày 05 tháng 02 năm 2022
Nhóm 8

3 |Nhóm 8 – Học Máy


LỜI NÓI ĐẦU
Những năm gần đây, AI nổi lên như một bằng chứng của cuộc cách mạng
công nghiệp lần thứ tư. Trí tuệ nhân tạo có thể được định nghĩa như một ngành
của khoa học máy tính liên quan đến việc tự động hóa các hành vi thơng minh.
Trí tuệ nhân tạo là một bộ phận của khoa học máy tính và do đó nó phải được
đặt trên những ngun lý lý thuyết vững chắc, có khả năng ứng dụng được ca
lĩnh vực này. Ở thời điểm hiện tại, thuật ngữ này thường dùng để nói đến các
máy tính có mục đích khơng nhất định và ngành khoa học nghiên cứu về các lý
thuyết và các ứng dụng của trí tuệ nhân tạo.

Theo đà phát triển của công nghệ, ứng dụng trí tuệ nhân tạo ln là xu
hướng cơng nghệ tương lai mà các hãng cơng nghệ trên tồn thế giới đua nhau
sáng tạo, nó là nền tảng cốt lõi của cuộc cách mạng công nghệ 4.0. ML
(Machine Learning) là một lĩnh vực của trí tuệ nhân tạo, được sinh ra từ khả
năng nhận diện mẫu vả từ lý thuyết các máy tính có thể học mà khơng cần phải
lập trình để xử lý các nhiệm vụ cụ thể nào đó.
Hầu hết các Doanh nghiệp đang làm việc với lượng lớn dữ liệu đều nhận
ra tầm quan trọng của công nghệ AI, đặc biệt trong phát hiện tin giả, tin đồn
khơng có căn cứ, khơng xác thực và khơng chính thống. Những cái nhìn sáng
st từ nguồn dữ liệu này chủ yếu dong thời gian thực sẽ giúp các tổ chức, các
doanh nghiệp vận hành hiệu quả hơn hoặc tạo lợi thế cạnh tranh với các đối thủ.
Các ứng dụng của AI đã quá quen thuộc với con người: xe tự hành của Google
và Tesla, hệ thống tự tag khuôn mặt trên Facebook, hệ thống gợi ý sản phẩm
của Amazon, hệ thống gợi ý phim trên ứng dụng Netflix… chỉ là một vài ứng
dụng trong muôn vàn những ứng dụng của trí tuệ nhân tạo Machine Learning.
Trong báo cáo thực tập, em sẽ nghiên cứu các mơ hình học máy cơ bản
của Machine Learning để ứng dụng vào xây dựng phần mềm phát hiện tin đồn
trong mạng xã hội bằng ngôn ngữ Python.
Trong phạm vi báo cáo đồ án, em sẽ trình bày 3 chương như sau:
Chương 1: Tổng quan về đề tài - Phát hiện tin giả.
Trong phần này em sẽ trình bày khái niệm về tin đồn, sơ lược về bài tốn đặt ra
ở đây là gì, input và output cho đề tài phát hiện tin đồn trong mạng xã hội.

4 |Nhóm 8 – Học Máy


Giới thiệu và tóm tắt những ưu nhược điểm của các mơ hình hiện đang được
dùng cho phân loại dữ liệu mà em đã biết như mơ hình Navie Bayes, mơ hình
SVM, mơ hình Random Forest, mơ hình KNN(K-Nearest Neighbors) và từ đó
lựa chọn mơ hình phù hợp với mơi trường làm việc hiện tại nhất. Sau đó tìm

hiểu, nghiên cứu xây dựng chương trình phát hiện tin giả.
Chương 2: Phát hiện tin giả.
Với bài toán phân loại dữ liệu văn bản, tin tức đặt ra ở đây, em sẽ khái qt các
bước để thầy cơ và các bạn có thể hình dung được cách xử lý bài tốn. Với đầu
vào(input) là dữ liệu văn bản, tin tức đúng đắn đã xác thực hoặc tin giả không
đúng sự thật, bịa đặt hoặc từ nguồn tin không xác thực mà chúng ta biết được
tuy nhiên máy thì chưa biết, chưa đọc hiểu được, qua q trình xử lý văn bản, số
hóa văn bản, qua các mơ hình xử lý nhằm phân loại được dữ liệu văn bản, tin
tức là văn bản, tin tức đúng hay sai - ở đây là phát hiện tin giả – tin không đúng
sự thật, bịa đặt hoặc từ nguồn tin khơng xác thực, khơng chính thống. Dữ liệu sẽ
là văn bản, tin tức… về mọi mặt trong xã hội.
Chương 3: Nội dung và kết quả thực nghiệm
Với các kiến thức đã được tìm tịi, chuẩn bị và nghiên cứu, em sẽ tiến hành cài
đặt môi trường và chạy thử nghiệm các mơ hình. Thu thập kết quả chạy chương
trình và đánh giá các trường hợp dựa trên kết quả đầu ra, tốc độ xử lý và mức độ
chuẩn xác. Cuối cùng sẽ là phần kết luận và đánh giá kết quả đề tài nói chung,
đưa ra những điểm đã đạt được và chưa đạt trong đề tài này, đưa ra định hướng
phát triển cho mơ hình cũng như hoàn thiện tốt sản phẩm phần mềm sau này.

5 |Nhóm 8 – Học Máy


DANH MỤC HÌNH ẢNH SỬ DỤNG
Hình 1. Ví dụ mơ hình KNN
Hình 2. Ví dụ mơ hình KNN
Hình 3. Mơ hình SVM (nguồn wikipedia)...........................................................10
Hình 4. Ví dụ về siêu phẳng phân tách dữ liệu (nguồn wikipedia)....................11
Hình 5. Các mẩu tin tức, văn bản chưa được xác thực( Dữ liệu thơ)
Hình 6. Cài đặt các thư viện và hàm xử lý
Hình 7. Xử lý dữ liệu

Hình 8. Cài đặt mơ hình NavieBays
Hình 9. Cài đặt mơ hình KNN
Hình 10. Cài đặt mơ hình SVM
Hình 11. Dự đốn của mơ hình SVM
Hình 12. Độ chính xác dự đốn của các mơ hình

6 |Nhóm 8 – Học Máy


CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
PHÁT HIỆN TIN ĐỒN
I. Tổng quan phát hiện tin đồn.
Phân loại văn bản (Text classification) là một bài tốn phổ biến trong xử
lý ngơn ngữ tự nhiên (Nature Language Processing). Phân loại văn bản là bài
tốn thuộc nhóm học có giám sát (Supervised Learning) trong Học máy. Bài
tốn u cầu dữ liệu cần có nhãn (label). Mơ hình sẽ học từ dữ liệu có nhãn đó,
sau đó được dùng để dự đốn nhãn cho các dữ liệu mới mà mơ hình chưa gặp.
Bài tốn đặt ra ở đây là với một mẫu dữ liệu văn bản đầu vào bất kỳ, ngẫu
nhiên, có thể từ thao tác đánh máy, sao chép hoặc là coppy từ một trang web
online bất kỳ có chứa nội dung trong đó sau đó qua máy học thì ta có được mẫu
dữ liệu đầu ra là một văn bản đã được dự đoán và phân loại. Trong bài toán,
chúng ta sẽ từng bước xây dựng mơ hình SVM - Support Vector Machine để
phân loại tin thật và tin giả.
Với bài toán phân loại văn bản thì khá là phổ biến và chúng ta có thể
dùng nhiều mơ hình khác nhau như mơ hình SVM, Navie Bayes, Logistic,
Random Forest, K Nearest Neighbors… để giải quyết được bài toán đặt ra.
Chúng ta sẽ cùng tìm hiểu qua về các mơ hình, các ưu nhược điểm của từng mơ
hình nêu trên.

II. Các mơ hình cho bài toán phát hiện tin giả.

 Định nghĩa, khái niệm các mơ hình
Hiện nay với bài tốn phát hiện tin đồn ta có thể sử dụng khá nhiều mơ
hình khác nhau tùy thuộc vào yêu cầu bài toán cũng như bộ dữ liệu để có thể đạt
được kết quả như mong muốn nhất.
 Mơ hình Navie Bayes
Naive Bayes Classification (NBC) là một mơ hình thuộc vào nhóm học
máy có giám sát, dựa trên định lý Bayes về lý thuyết xác suất để đưa ra các
phán đoán cũng như phân loại dữ liệu dựa trên các dữ liệu được quan sát và
thống kê, được ứng dụng rất nhiều trong các lĩnh vực Machine learning dùng để
đưa các dự đốn có độ chính xác cao, dựa trên một tập dữ liệu đã được thu thập.
7 |Nhóm 8 – Học Máy


Định lý Bayes được phát biểu về mặt toán học dưới dạng phương trình sau:

trong đó A và B là các sự kiện và P (B) # 0.
 Về cơ bản, ta đang cố gắng tìm xác suất của sự kiện A, với điều kiện sự
kiện B là đúng. Sự kiện B được gọi là bằng chứng.
 P (A) là tiên nghiệm của A (xác suất trước, tức là xác suất của sự kiện
trước khi bằng chứng được nhìn thấy). Bằng chứng là một giá trị thuộc
tính của một cá thể không xác định (ở đây là sự kiện B).
 P (A | B) là xác suất hậu kỳ của B, tức là xác suất của sự kiện sau khi
bằng chứng được nhìn thấy.
Ưu điểm:
 Hoạt động tốt cho nhiều bài toán/miền sữ liệu và ứng dụng.
 Đơn giản nhưng đủ tốt để giải quyết nhiều bài toán như phân lớp
văn bản, lọc spam,..
 Cho phép kết hợp tri thức tiền nghiệm (prior knowledge) và dữ liệu
quan sát được (obserwed data).
 Tốt khi có sự chệnh lệch số lượng giữa các lớp phân loại.

 Huấn luyện mơ hình (ước lượng tham số) dễ và nhanh.
Nhược điểm:
- Các thuộc tính trong các đối tượng thường phụ thuộc lẫn nhau.
- Vấn đề Zero khi phân lớp, nếu có một đối tượng X nào (trong dữ
liệu huấn luyện) khơng có thuộc tính lớp Ck, có thuộc tính Fi nhận
một giá trị cụ thể vij, thì xác suất điều kiện P(Fi = xij | Ck) sẽ luôn
bằng 0)
- Không được huấn luyện bằng phượng pháp tối ưu mạnh và chặt
chẽ.
- Tham số mủa mô hình là các ước lượng xác suất điều kiện đơn lẻ.
- Khơng tính đến sự tương tác giữa các ước lượng này.

8 |Nhóm 8 – Học Máy


 Mơ hình KNN
KNN (K-Nearest Neighbors) là mơ hình học máy có giám sát, đơn giản
và dễ triển khai, dùng cho cả bài toán phân loại (classifications) và hồi quy
(regression).
Khác với đa số mơ hình học máy khác, KNN khơng học từ dữ liệu mà
mọi q trình tính tốn đều được thực hiện khi cần dự đoán kết quả của một
điểm dữ liệu mới.

Hình 1: Ví dụ mơ hình KNN

Mơ hình KNN cho rằng những dữ liệu tương tự nhau sẽ tồn tại gần nhau
trong một khơng gian, từ đó cơng việc của chúng ta làm sẽ là tìm k điểm gần
với điểm dữ liệu cần kiểm tra nhất.

Hình 2: Ví dụ mơ hình KNN


Nếu k = 1, hình thoi sẽ được phân loại vào cùng loại với điểm dữ liệu gần
nhất của nó (tức là hình tam giác trong bảng bên trái - bảng A).
Bảng bên phải (bảng B) thể hiện với k = 5, mơ hình sẽ xem xét 5 điểm dữ
liệu gần hình thoi nhất, đó là 3 hình tam giác và 2 hình chữ thập.
9 |Nhóm 8 – Học Máy


Qui tắc quyết định là chọn phân loại có số lượng lớn nhất trong 5 điểm dữ
liệu được xem xét. Vì vậy, trong trường hợp này, hình thoi cũng được xếp vào
phân loại tam giác.
Ưu điểm:
 Mơ hình rất đơn giản, dễ hiểu.
 Giai đoạn đào tạo nhanh.
 Đa năng - có thể được sử dụng cho cả bài tốn phân loại và hồi
quy.
Nhược điểm:
- Giai đoạn dự đoán rất chậm.
- Độ chính xác của mơ hình phụ thuộc vào hệ số k. Khi hệ số k quá
nhỏ hoặc hệ số k là chẵn sẽ ảnh hưởng tới kết quả phân loại dữ
liệu. Vậy nên cần lựa chọn hệ số k phù hợp cho từng bộ dữ liệu.
- Sử dụng nhiều bộ nhớ vì nó lưu trữ tất cả dữ liệu.
Và với bài toán đặt ra cho đề tài Phát hiện tin giả thì chúng em đã chọn mơ hình
SVM để có thể giải quyết một cách tối ưu nhất cho bài tốn.
 Mơ hình SVM
Mơ hình SVM - Support Vector Machine là mơ hình học có giám sát, có
thể sử dụng cho cả việc phân loại hoặc đệ quy. Tuy nhiên nó được sử dụng chủ
yếu cho việc phân loại.

Hình 3. Mơ hình SVM (nguồn wikipedia)


10 |Nhóm 8 – Học Máy


Một trong những kỹ thuật phân lớp với độ chính xác và sự ổn định cao,
tốc độ phân lớp nhanh và có nền tảng tốn học rất chặt chẽ là Support Vector
Machine (máy véc tơ hỗ trợ - SVM).
Kỹ thuật này ban đầu được Vladimir N. Vapnik đề xuất năm 1963 và là
chủ đề nghiên cứu rất sôi động từ khi nó ra đời.

Hình 4. Ví dụ về siêu phẳng phân tách dữ liệu (nguồn wikipedia)

Một siêu phẳng phân tách bộ dữ liệu thành hai miền (+1 và -1) một cách tốt
nhất được định nghĩa là siêu phẳng có khoảng cách lề (margin) giữa hai lớp đạt
cực đại. Hình 4. chỉ ra ví dụ về một siêu phẳng phân tách hai lớp dữ liệu một
2
2
cách tốt nhất trong đó lề giữa hai lớp được tính bằng ¿ w . w>¿=¿ ¿ ‖w‖ .
Mơ hình SVM có ưu điểm:
 Xử lý trên không gian số chiều cao : SVM là một cơng cụ tính tốn hiệu
quả trong khơng gian chiều cao, đặc biệt là áp dụng cho các bài toán phân
loại văn bản và phân tích quan điểm nơi chiều có thể cực kỳ lớn.
 Tiết kiệm bộ nhớ: Do chỉ có một tập hợp con của các điểm được sử dụng
trong quá trình huấn luyện và ra quyết định thực tế cho các điểm dữ liệu
mới nên chỉ có những điểm cần thiết mới được lưu trữ trong bộ nhớ khi
ra quyết định.
 Tính linh hoạt - phân lớp thường là phi tuyến tính. Khả năng áp dụng
Kernel mới cho phép linh động giữa các phương pháp tuyến tính và phi
tuyến tính từ đó khiến cho hiệu suất phân loại lớn hơn.
Nhược điểm:

11 |Nhóm 8 – Học Máy


 Bài toán số chiều cao: Trong trường hợp số lượng thuộc tính của tập dữ
liệu lớn hơn rất nhiều so với số lượng dữ liệu thì SVM cho kết quả khá
tồi.
 Chưa thể hiện rõ tính xác suất: Việc phân lớp của SVM chỉ là việc cố
gắng tách các đối tượng vào hai lớp được phân tách bởi siêu phẳng SVM,
chưa giải thích được xác suất xuất hiện của một thuộc tính trong một
nhóm thuộc tính như thế nào. Hiệu quả của việc phân lớp xác định dựa
vào khái niệm Margin từ điểm dữ liệu mới đến siêu phẳng phân lớp mà
chúng ta đã nói đến ở phía trên.
Nhận xét:
Trong các mơ hình học máy cơ bản, chúng ta nhận thấy SVM là mơ hình
hiệu quả cho bài tốn phân loại dữ liệu hay với đề tài này chính là phát hiện tin
đồn, tin tức sai trái, khơng chính xác, không đáng tin cậy. Support Vector
Machine sử dụng mặt phân cách sao cho Margin tìm được là lớn nhất, đồng
nghĩa với việc các điểm dữ liệu an toàn nhất so với mặt phân cách.
Vì vậy với những bài tốn phức tạp hoặc có bộ dữ liệu lớn và cần độ
chính xác cao cho đánh giá và phân loại dữ liệu, lọc tin tức, phát hiện tin đồn…
thì chúng ta nên cân nhắc và xem xét lựa chọn mơ hình cho việc giải quyết bài
toán một cách hiệu quả và chính xác nhất.

12 |Nhóm 8 – Học Máy


CHƯƠNG 2: XÂY DỰNG PHẦN MỀM PHÁT
HIỆN TIN ĐỒN
I. Khái niệm.
Như chúng ta đã biết, thời đại hiện nay là thời đại internet, là thời đại của

sự bùng nổ thông tin, khi mà tất cả mọi người trên thế giới đều sống trên một
thế giới phẳng, đặc biệt là hiện nay khi đang diễn ra cuộc cách mạng công
nghiệp 4.0 thì lượng thơng tin ngày càng nhiều, việc phân loại chúng trở nên
khó khăn.
Fake News là gì?
Fake News (Tin giả) là các thông tin giả mạo, sai lệch và giật gân được
phát đi dưới hình thức tin tức. Nói một cách đơn giản, tin giả là đối lập của tin
thật, tin tức sai sự thật thì có thể coi là tin giả.
Fake News đã chính thức trở thành cụm từ nổi bật nhất của năm 2017.
Cụm từ trở nên phổ biến và được liệt vào "từ của năm" do từ điển Collins
Dictionary của Anh lựa chọn. “False stories that appear to be news, spread on
the internet or using other media, usually created to influence political views or
as a joke”, đây là nguyên văn định nghĩa bằng tiếng Anh về cụm từ fake news
của trang từ điển />Trong thời đại bùng nổ thông tin, cũng như sự phát triển của mạng xã hội
như hiện nay thì việc gặp phải các "Fake News" là điều khơng thể tránh khỏi.
Thậm chí nó đang được nhìn nhận như một trong những mối đe dọa lớn nhất
đến sự tiếp cận, nền tri thức, văn hóa và tranh luận tự do. Vậy chúng ta làm gì
để phát hiện và phân biệt được sự khác nhau giữa tin thật và tin giả.
Một trong những khó khăn mà các hệ thống thơng tin thường phải gặp đó
là tần suất cập nhật của các thông tin quá lớn. Do đó số lượng văn bản, tin tức
số hóa ngày nay đang tăng dần theo cấp số nhân, cùng với sự gia tăng của số
lượng văn bản, nhu cầu tìm kiếm văn bản, tin tức cũng tăng theo, chưa kể cần
phải xác định được văn bản, tin tức đó là đúng, xác thực, đáng tin cậy hay
ngược lại đó là những văn bản, tin tức không đáng tin cậy, chưa được xác thực,
chúng chỉ là những tin đồn, văn bản không xác thực. Khi đó việc phát hiện và
phân loại được văn bản, tin tức một cách tự động, đúng đắn và xác thực là một
yêu cầu cấp thiết được đặt ra.
13 |Nhóm 8 – Học Máy



Phát hiện tin đồn sẽ giúp chúng ta tìm kiếm thơng tin một cách nhanh
chóng hơn, nắm bắt thơng tin chính xác hơn thay vì phải tìm lần lượt, cần xác
thực lại nguồn tin, tin tức xem có chính xác hay không, hơn nữa khi mà số
lượng tin tức đang gia tăng một cách nhanh chóng thì thao tác tìm kiếm hay
phân biệt tin tức sẽ mất rất nhiều thời gian, cơng sức, nhàm chán và khơng khả
thi. Chính vì thế nhu cầu phát hiện tin đồn, tin tức giả mạo, khơng chính xác là
thực sự cần thiết.

II. Xây dựng phần mềm phát hiện tin giả.
Chúng ta sẽ xây dựng phần mềm phát hiện tin đồn với ngôn ngữ lập trình
Python – một ngơn ngữ lập trình khá phổ biến hiện nay và được ứng dụng rất đa
dạng, code của Python rất dễ đọc, ngắn gọn, nhanh, mạnh phù hợp với mọi hệ
điều hành.
Để các mơ hình cơ bản của Mechine Learning có thể dự đốn và phát
hiện, phân loại được tin tức một cách chính xác thì trước tiên chúng ta sẽ cần
huấn luyện cho máy học bằng dữ liệu Train ban đầu. Chúng ta có thể hình dung
việc huấn luyện cho máy giống việc một em bé muốn đọc đúng được chữ cái
bất kỳ nào thì chúng ta cần dạy cho em bé đó nhận thức được bảng chữ cái. Với
bài toán này em đã chuẩn bị dữ liệu là file Fake.csv chứa ~23500 dòng mẫu dữ
liệu và 4 cột. Cột đầu tiên xác định tiêu đề tin tức, cột thứ 2 là nội dung tin tức,
cột thứ 3 là thể loại tin tức, cột cuối cùng là ngày tháng đưa tin tức. Tương tự
vậy file True.csv chứa ~21400 dòng mẫu dữ liệu tin tức và 4 cột. Cột đầu tiên
xác định tiêu đề tin tức, cột thứ 2 là nội dung tin tức, cột thứ 3 là thể loại tin tức,
cột cuối cùng là ngày tháng đưa tin tức. Tất cả các mẩu tin tức, văn bản từ 2
file .csv đều chưa được xác thực, dữ liệu đầu vào thơ cịn chưa được xử lý.
Phần mềm được xây dựng với mục đích phát hiện các tin tức giả mạo,
bằng bằng cách sử dụng sklearn chúng ta sẽ xây dựng một TfidfVectorizer trên
tập dữ liệu của mình. Sau đó, khởi tạo một bộ phân loại thụ động sao cho phù
hợp với mơ hình training. Cuối cùng, để kiểm tra tính hiệu quả của mơ hình ta
sẽ sử dụng accuracy score để đánh giá độ chính xác cũng như hiệu quả của các

mơ hình.
Để hiểu hơn về q trình phần mềm phát hiện tin đồn hoạt động ta cần
tìm hiều hơn về thuật ngữ TfidfVectorizer.
TF: Term Frequency (Tần suất xuất hiện của từ) là số lần từ xuất hiện
trong văn bản. Vì các văn bản có thể có độ dài ngắn khác nhau nên một số từ có
14 |Nhóm 8 – Học Máy


thể xuất hiện nhiều lần trong một văn bản dài hơn là một văn bản ngắn. Cụm từ
nào có giá trị TF cao hơn những cụm từ khác thì có nghĩa là cụm từ đó xuất hiện
thường xuyên hơn những cụm từ khác.
IDF: Inverse Document Frequency tính tốn độ quan trọng của một từ.
Khi tính tốn TF, mỗi từ đều quan trọng như nhau, nhưng có một số từ trong
tiếng Anh như "is", "of", "that",... xuất hiện khá nhiều nhưng lại rất ít quan
trọng.
Vì vậy, chúng ta cần một phương thức bù trừ những từ xuất hiện nhiều
lần và tăng độ quan trọng của những từ ít xuất hiện nhưng có ý nghĩa đặc biệt
cho một số đoạn văn bản. TfidfVectorizer chuyển đổi một tập hợp các tài liệu
thô thành một ma trận các đặc trưng TF-IDF.
Tiếp đến chúng ta sẽ cài đặt các mơ hình Mechine Learning để giải quyết
bài toán phát hiện tin đồn nhằm đánh giá được độ chính xác và hiệu quả của các
mơ hình, so sánh giữa các mơ hình với nhau, cho thấy được đầu ra(output) là dữ
liệu đã được xử lý và từ đó phán đốn được chính xác nhất nguồn dữ liệu, phát
hiện được tin thật tin giả - Fake news. Qua kết quả nhận được từ việc đánh giá
độ chính xác của các mơ hình chúng ta sẽ xác định mơ hình hiệu quả nhất dùng
cho phát triển, xây dựng phần mềm phát hiện tin đồn trong xã hội.

15 |Nhóm 8 – Học Máy



CHƯƠNG 3: NỘI DUNG VÀ KẾT QUẢ
THỰC NGHIỆM
I. Nội dung
Đề giải quyết được bài toán phát hiện tin đồn một cách tối ưu và hiệu
quả, em đã cài đặt phần mềm với các mơ hình Mechine Learning khác nhau
nhằm đưa ra được nhận định, so sánh độ hiệu quả của các mơ hình, tăng tính
đúng đắn và xác thực hơn cho các tin tức, các mẫu dữ liệu, bản tin…với ngơn
ngữ lập trình Python.
1.1. Chuẩn bị dữ liệu
Để xây dựng được phần mềm phát hiện tin đồn trong xã hội, chúng ta
chuẩn bị các mẫu dữ liệu là các mẩu tin tức, văn bản chưa được xác thực, dữ
liệu đầu vào thơ chưa được xử lý.

Hình 5. Các mẩu tin tức, văn bản chưa được xác thực( Dữ liệu thô).

Với dữ liệu ban đầu file Fake.csv chứa ~23500 dòng mẫu dữ liệu và 4
cột. Cột đầu tiên xác định tiêu đề tin tức, cột thứ 2 là nội dung tin tức, cột thứ 3
là thể loại tin tức, cột cuối cùng là ngày tháng đưa tin tức. Tương tự vậy file
True.csv chứa ~21400 dòng mẫu dữ liệu tin tức và 4 cột. Cột đầu tiên xác định
tiêu đề tin tức, cột thứ 2 là nội dung tin tức, cột thứ 3 là thể loại tin tức, cột cuối
16 |Nhóm 8 – Học Máy


cùng là ngày tháng đưa tin tức. Tất cả các mẩu tin tức, văn bản từ 2 file .csv đều
chưa được xác thực, dữ liệu đầu vào thơ cịn chưa được xử lý.
Bước tiếp theo, chúng ta sẽ tiến hành tiền xử lý dữ liệu thô trước khi đưa
vào huấn luyện với các mơ hình cho phân loại tin tức. Việc tiền xử lý dữ liệu là
hết sức quan trọng để đảm bảo mơ hình đạt được kết quả tốt nhất.
1.2. Xử lý dữ liệu
Xử lý dữ liệu là quá trình chuẩn hóa dữ liệu và loại bỏ các thành phần

khơng có ý nghĩa cho việc phân loại dữ liệu. Ở đây chúng ta sẽ khởi tạo vector
TfidfVectorizer với các stop word trong tiếng Anh. Stop word là những từ phổ
biến nhất trong một ngôn ngữ sẽ được lọc ra trước khi xử lý dữ liệu ngôn ngữ.
TfidfVectorizer biến một dữ liệu thô thành một ma trận các đặc trưng TF-IDF.

Hình 6. Cài đặt các thư viện và hàm xử lý

17 |Nhóm 8 – Học Máy


II. Chương trình và kết quả thực nghiệm
2.1. Khởi tạo mơi trường chạy chương trình.
** Xây dựng phần mềm phát hiện tin đồn – Fake news
- Bước 1: Import các thư viện cần thiết

- Bước 2: Đọc dữ liệu

- Bước 3: Xử lý dữ liệu

18 |Nhóm 8 – Học Máy


19 |Nhóm 8 – Học Máy


Hình 7. Xử lý dữ liệu

Xử lý dữ liệu bằng cách bỏ đi các khoảng cách trống, dữ liệu không cần
thiếu như phần ngày tháng tin tức, thể loại tin tức, chú trọng vào nội dung và
tiêu đề của tin tức.

Dữ liệu sau khi được xử lý được sắp xếp lại thành 2 cột gồm tiêu đề(title)
và nội dung(text). Dữ liệu real(tin thật) được đặt vào class 1 ở dạng danh sách,
dữ liệu fake(tin giả, tin đồn) được đặt vào class 0 dạng danh sách.
Tiếp theo chúng ta sẽ cài đặt các mơ hình và sử dụng TfidfVectorizer
biến một dữ liệu thô thành một ma trận các đặc trưng TF-IDF. Sau đó máy sẽ
học và tiến hành chuẩn hóa dữ liệu, đưa ra dự đốn theo từng mơ hình Mechine
Learning. Chúng ta sẽ đánh giá hiệu quả của các mô hình qua kết quả dự đốn
dữ liệu của từng mơ hình.

20 |Nhóm 8 – Học Máy


Hình 8. Cài đặt mơ hình NavieBays

21 |Nhóm 8 – Học Máy


Hình 9. Cài đặt mơ hình KNN

22 |Nhóm 8 – Học Máy


Hình 10. Cài đặt mơ hình SVM

23 |Nhóm 8 – Học Máy


Hình 11. Dự đốn của mơ hình SVM

24 |Nhóm 8 – Học Máy



×