Kết quả thực nghiệm các mơ hình

Một phần của tài liệu Kiểm duyệt bài viết và bình luận tiếng việt có nội dung không phù hợp trên mạng xã hội facebook (Trang 62 - 66)

Như vậy, dễ dàng nhận thấy hệ số MCC của việc sử dụng các bộ vector đặc trưng gồm độ phản động, hình thái và n-gram kết hợp với thuật tốn SVM (SVM-3f) đạt kết quả cao nhất (0,572) khi so sánh tương quan với các mơ hình khác.

SVM-3f và MLP-3f cĩ hệ số MCC cao hơn hẳn so với SVM-2f và MLP-2f cho thấy đặc trưng n-gram vẫn đĩng vài trị rất quan trọng trong việc đánh giá nội dung bài viết, bình luận. Điều đĩ dẫn tới việc hi sinh các đặc trưng n-gram khỏi tính tốn bộ vector đặc trưng để tăng tốc độ đánh giá nội dung bình luận, bài viết sẽ đem tới những kết quả khơng mong đợi.

Mặc dù khơng cĩ mơ hình nào đạt kết quả cao nhất, nhưng cĩ thể nhận thấy PhoBert hoạt động khá tốt, cĩ tiềm năng cao trong việc ứng dụng xử lý ngơn ngữ tiếng Việt. Đối với bài tốn kiểm duyệt bài viết, bình luận phản động, cĩ thể do hạn chế về mặt kĩ thuật tơi fine-tune (tinh chỉnh) PhoBert theo ý của mình. Do đĩ, tơi quyết định sẽ sử dụng mơ hình SVM-3f để phát triển dịch vụ kiểm duyệt bài viết, bình luận phản động trên Facebook.

(Một số kết quả chi tiết hơn của các mơ h nh được tơi trình bày ở Mục 3

phần Phụ lục).

Cách thức làm việc: Dữ liệu bài viết, bình luận Facebook (kèm theo đ nh

danh của user, fanpage, group) khi đi qua extension, Layer 1 sẽ kiểm tra, đối

chiếu, ngăn chặn các dữ liệu chứa user, fanpage, group nằm trong blacklist như đã đề cập ở nội dung Chương 2. Dữ liệu Facebook nào vượt qua Layer 1, tiếp tục được Layer 2 kiểm tra, Layer 2 cĩ chức năng kiểm duyệt nội dung dựa trên mơ hình tơi đã thử nghiệm và phát triển tại Chương 3. Hệ thống sẽ trả lại giá trị 1 (dương tính) nếu bài viết mang tính chất phản động, và -1 (âm tính) đối với bài viết khơng mang tính chất phản động.

Backend RESTful API được xây dựng trên framework Flask của Python dễ dàng tích hợp với checkpoint của model. Backend gửi trả lại kết quả phân loại nội dung bài viết, bình luận cho Frontend (mã nguồn của Backend được thể hiện

ở hình 3.52 trong phần Phụ lục).

Trước khi đánh giá nội dung phản động, các bài viết, bình luận sẽ được kiểm tra liệu cĩ chứa các đường link URL của các website, blog phản động hay khơng. Nếu cĩ, extension sẽ lập tức ẩn đi các nội dung đường link URL đĩ (hình

3.53 phần Phụ lục). Nội dung các bài viết, bình luận sẽ được tính tốn, xây dựng

thành bộ vector đặc trưng như trong bước huấn luyện model. Bộ vector đặc trưng này sẽ được Backend sử dụng và gán nhãn cho bài viết, bình luận phản động hay khơng phản động, tương ứng kết quả trả về cho Frontend là 1 hoặc -1.

Bên cạnh Backend, tơi đã phát triển một Frontend khai thác dịch vụ do Backend cung cấp để kiểm duyệt các bài viết, bình luận cĩ nội dung phản động trên Facebook. Frontend được cài đặt dưới dạng extension cho trình duyệt Chrome, cĩ chức năng đọc các bài viết, bình luận trên Facebook, gửi bài viết, bình luận đến Backend để thẩm định và ẩn đi bài viết, bình luận nếu nĩ chứa nội dung phản động.

Extension của Chome cĩ cây thư mục bao gồm các file dưới đây:

H nh 3.16: Cấu trúc thư mục extension

H nh 3.17: File manifest.json

- Manifest.json: Là một file JSON bắt buộc phải cĩ của extension trên trình duyệt Google Chrome. File này khai báo các quyền cần cung cấp để hoạt động, các thư viện dùng bên thứ ba, khai báo icon, các URL mà extension này hoạt động, giới thiệu về extension.

Trong file này cĩ khai báo name là tên extension, description là giới thiệu về extension, version cho biết phiên bản của extension, conten_scripts cho biết nhưng đoạn script sẽ được sử dụng trong extension. Trong extension này chỉ sử dụng một file là content.js nhằm tương tác với trình duyệt, matches cho biết những url sẽ thực thi extension (ở đây facebook - https://www.facebook.com/*). Đặc biệt là khai báo permissions bắt buộc phải cĩ url của server để khai báo xin phép Chrome là URL này được phép hoạt động. Trong thử nghiệm này, tơi thử nghiệm server trên chính máy tính nội bộ, chạy dịch vụ ở cổng 5.000 trong localhost, nên ta sẽ khai báo http://localhost:5000.

- Content.js: Là file javascript quan trọng nhất trong tiện ích mở rộng này, cĩ chức năng thực hiện nhiệm vụ đọc bài viết trên Facebook. Sau khi đọc được

bài viết, bình luận trên Facebook, extension sẽ gửi nội dung bài viết, bình luận lên Backend để nhờ kiểm tra nội dung. Việc này được thực hiện thơng qua hàm

startApp và kỹ thuật short polling (frontend sẽ gửi request đến server nhiều lần,

nếu cĩ kết quả th sẽ cập nhật). Như đã biết, Facebook dùng cơ chế loadmore để

để hiển thị thêm bài viết trên newsfeeds hoặc hiển thị thơng tin bài viết trên fanpage, group. Mỗi khi loadmore dữ liệu được load về và được đưa vào cây DOM và render lại. Tương tự với bình luận, mỗi khi chọn xem thêm bình luận, thì các bình luận mới được thêm vào cây DOM. Như vậy, cứ mỗi 03 giây, ta sẽ lại xử lý những bài viết, bình luận mới được thêm vào trên cây DOM.

Nhận thấy, các bài viết và bình luận trong Facebook được gán vào những thẻ div với những class tương ứng. Như vậy, sau khi tìm được những class mà Facebook dùng để gán cho bình luận và bài viết, ta cĩ thể lọc ra được nội dung chứa trong thẻ div đĩ. Trước đây, để thực hiện được việc tìm HTMLElement theo class địi hỏi phải sử dụng thêm những thư viện ngồi như JQuery. Tuy nhiên, từ năm 2015, với sự ra đời của tiêu chuẩn ES6, Javascript giờ đã hỗ trợ lệnh querySelector, cho phép ta cĩ thể tra các HTMLElement theo tên thẻ, tên class, tên id.

Sau khi sử dụng querySelector để tìm được những HTMLElement cần, ta cĩ thể dễ dàng lọc ra nội dung của nĩ thơng qua attribute (thuộc tính) innerText, từ đĩ lấy được nội dung bên trong là bài viết, bình luận. Đồng thời, ta cĩ thể thay đổi và quản lý nĩ, thơng qua việc update DOM (hình 3.54 phần Phụ lục).

Cơ chế hoạt động của hàm startApp: Để lấy được nội dung bài viết và

bình luận, ta sử dụng selector để lấy. Trước hết, ta cần phải tìm được các class, id chứa nội dung cần tìm. Để làm được điều này ta cĩ thể dùng cơng cụ inspect elements trên Google chrome. Sau khi tìm được selector, ta sử dụng hàm document.querySelector và document.querySelectorAll trong Javascript. Để hạn chế việc gửi lên các nội dung cũ đã từng được check thì qua mỗi vịng lặp ta thêm class “checked” để nếu cĩ class này thì extension bỏ qua, việc này hạn chế việc submit những nội dung đã check lên server, thơng qua đĩ giảm tải cho server, đồng thời tăng hiệu năng cho extension. Sau khi đã lấy được nội dung thì ta gửi request tới server kiểm tra. Nếu response trả về là -1 nghĩa là khơng chứa nội dung phản động. Ngược lại, nếu response trả về là 1 thì cĩ chứa nội dung

phản động và ta tiến hành ẩn bài viết, bình luận.

Cài đặt Extension:

Bƣớc 1: Vào trình duyệt Chrome > Customize and Control Google Chrome

> More Tools > Extensions

Bƣớc 2: Nhấn vào Load unpacked.

Bƣớc 3: Trỏ đến folder chứa extension và nhấn OK.

Một phần của tài liệu Kiểm duyệt bài viết và bình luận tiếng việt có nội dung không phù hợp trên mạng xã hội facebook (Trang 62 - 66)

Tải bản đầy đủ (PDF)

(89 trang)