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 đồnkhông có căn cứ, không xác thực và khôn
Trang 1Giả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
Trang 2PHÂ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 Người thực hiện Nội dung công việc Kết quả
đạt được
Phương pháp thực hiện
Kế hoạch chitiết côngviệc
Tìm hiểu tàiliệu, thảoluận nhóm
Tìm hiểu tàiliệu, thảoluận nhóm
Chương 2: Phát hiệntin giả với SVM
- Tìm hiểu về các môhình Machine Learning
cơ bản
Tổng quan vềcác mô hình
ML cơ bản, ưu
và nhược điểmcủa các môhình
Tìm hiểu tàiliệu, thảoluận nhóm.Sưu tầm vídụ
4 Bùi Công Tùng
Chương 3: Nội dụng vàkết quả thực nghiệm
- Cài đặt thuậttoán SVM Tiến hànhcác bước thu thập,tiền xử lý dữ liệu
chương trình
Mô hình SVMxây dựng trênngôn ngữPython Sửdụng mô hình
để phát triểnchương trìnhphát hiện tingiả
Sử dụng dữliệu online,code vớiGoogleColab
5 Bùi Công Tùng Hoàn thiện báo cáo
Hoàn thànhbản báo cáo đềtài
Tổng hợp kếtquả Hoànthiện báocáo
Trang 3tieuluanmoi123docz.net
Trang 4II Các mô hình cho bài toán phát hiện tin giả 7
❖ Mô hình Navie Bayes 7
II Chương trình và kết quả thực nghiệm 18
Trang 5LỜ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ọcquý 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 quá trình học tập, nghiên cứu và hoàn thành được đồ án Sau nữa, em xingửi tình cảm sâu sắc tới gia đình và bạn bè vì đã luôn 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 quitrình học tập để em hoà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ộithờ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 tingiả, các nguồn tin xuyên tạc, không đúng, tin không chính thống, không đángtin cậy "Fake News" là điều không thể tránh khỏi Thậm chí tin giả đang đượcnhì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 trithứ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ỏinhận được sự thông cảm và những góp ý từ quý thầy cô cũng như các bạn tronglớ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
Trang 6LỜ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ạngcông nghiệp lần thứ tư Trí tuệ nhân tạo có thể được định nghĩa như một ngànhcủ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 nguyên lý lý thuyết vững chắc, có khả năng ứng dụng được calĩ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ácmá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 luôn là xuhướng công nghệ tương lai mà các hãng công nghệ trên toàn thế giới đua nhausá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ảilậ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 đồnkhô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ángsuôt 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ácdoanh 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ủaAmazon, hệ thống gợi ý phim trên ứng dụng Netflix… chỉ là một vài ứng dụngtrong 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ảncủa Machine Learning để ứng dụng vào xây dựng phần mềm phát hiện tin đồntrong 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 toán đặt ra ởđây là gì, input và output cho đề tài phát hiện tin đồn trong mạng xã hội
Trang 7Giớ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 đượcdùng cho phân loại dữ liệu mà em đã biết như mô hình Navie Bayes, mô hìnhSVM, 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ìmhiể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 quát cácbước để thầy cô và các bạn có thể hình dung được cách xử lý bài toán Với đầuvà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 đượctuy nhiên máy thì chưa biết, chưa đọc hiểu được, qua quá 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, tintứ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ươngtrì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ướngphá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
Trang 8DANH 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 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ự đoán của mô hình SVM
Hình 12 Độ chính xác dự đoán của các mô hình
Trang 9CHƯƠ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 toá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àitoán thuộc nhóm học có giám sát (Supervised Learning) trong Học máy Bàitoán yê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ự đoán nhãn cho các dữ liệu mới mà mô hình chưa gặp
Bài toá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ẫunhiên, có thể từ thao tác đánh máy, sao chép hoặc là coppy từ một trang webonline 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 toá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ọcmáy có giám sát, dựa trên định lý Bayes về lý thuyết xác suất để đưa ra cácphá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ự đoán có độ chính xác cao, dựa trên một tập dữ liệu đã được thu thập
Trang 10tieuluanmoi123docz.netĐịnh lý Bayes được phát biểu về mặt toán học dưới dạng phương trình sau:
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 khibằ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ớpvă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ệuquan 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ậnmột giá trị cụ thể vij, thì xác suất điều kiện P(Fi = xij | Ck) sẽ luônbằng 0)
- Không được huấn luyện bằng phượng pháp tối ưu mạnh và chặtchẽ
- 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
Trang 11❖ 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 quá trình tính toá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
Trang 12Qui 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àophâ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 toán phân loại và hồiquy
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ìnhSVM để có thể giải quyết một cách tối ưu nhất cho bài toá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)
Trang 13Mộ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 toán học rất chặt chẽ là Support VectorMachine (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 2cách tốt nhất trong đó lề giữa hai lớp
ǁ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 toán hiệuquả trong không gian chiều cao, đặc biệt là áp dụng cho các bài toán phânloạ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ụngtrong quá trình huấn luyện và ra quyết định thực tế cho các điểm dữ liệumới nên chỉ có những điểm cần thiết mới được lưu trữ trong bộ nhớ khi raquyết định
Tính linh hoạt - phân lớp thường là phi tuyến tính Khả năng áp dụngKernel mới cho phép linh động giữa các phương pháp tuyến tính và phituyến tính từ đó khiến cho hiệu suất phân loại lớn hơn
Trang 14tieuluanmoi123docz.netNhược điểm:
Trang 15Bà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ộtnhóm thuộc tính như thế nào Hiệu quả của việc phân lớp xác định dựavà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ìnhhiệu quả cho bài toá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 VectorMachine sử dụng mặt phân cách sao cho Margin tìm được là lớn nhất, đồngnghĩ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 toá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àitoán một cách hiệu quả và chính xác nhất
Trang 16CHƯƠ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ộtthế giới phẳng, đặc biệt là hiện nay khi đang diễn ra cuộc cách mạng côngnghiệ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ênkhó 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 đượcphá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 tinthậ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 CollinsDictionary của Anh lựa chọn “False stories that appear to be news, spread onthe 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 newscủa trang từ điển https://dictionary.cambridge.org/
Trong thời đại bùng nổ thông tin, cũng như sự phát triển của mạng xã hộinhư 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ầnphải xác định được văn bản, tin tức đó là đúng, xác thực, đáng tin cậy hayngượ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ộtyêu cầu cấp thiết được đặt ra