Áp dụng vào nguồn dữ liệu đã thu thập được tra tiến hành kiểm thử cho Tập dữ liệu quan điểm chính trị.
Tập kiểm thử Tổng cộng Tích cực Trung lập Tiêu cực Tập kiểm thử Quan điểm chính trị 2.333 888 670 775 Bảng 4-2 Bảng thống kê tập kiểm thử 4.3. Thiết lập thực nghiệm
Chương trình được tiến hành thực nghiệm trên máy tính có cấu hình: CPUs: i5-7300HQ 2.50GHz; Ram: 8Gb GPU: GeForce GTX1050; Hệ điều hành: Ubuntu 18.04 LTS.
Ngôn ngữ lập trình được sử dụng: Python; Jupyter Notebook. - Các thư viện xử lý ngôn ngữ tiếng Việt :
0 100 200 300 400 500 600 700 800 900 1000 Tập kiểm thử Quan điểm chính trị Tích cực Trung lập Tiêu cực
+ Thư viện xử lý ngôn ngữ tự nhiên Underthesea sử dụng cho giai đoạn tiền xử lý.
+ Thư viện và mô hình ngôn ngữ tiếng Việt Fasttex sử dụng cho giai đoạn Embedd dữ liệu ngôn ngữ tự nhiên.
+ Thư viện Numpy, thư viện Pandas. + Thư viện tensorflow.keras.
- Triển khai môi trường và hệ thống. + Cài đặt môi trường Python.
+ Cài đặt Preferred Installer Program (PIP). + Cài đặt Jupyter Notebook.
+ Cài đặt môi trường ảo (virtual environment). + Cài đặt mô hình Word2Vec fastText.
+ Cài đặt package Keras sử dụng Tensorflow Backend.
+ Cài đặt các required package còn lại bằng file requirements.txt. + Cài đặt Flask (để thực hiện UI demo).
4.4. Phương pháp đánh giá 4.4.1. Phương pháp đánh giá
Khi xây dựng mô hình, ta cần đánh giá để xem mô hình sử dụng có hiệu quả và so sánh với các mô hình khác. Phương pháp đánh giá mô hình được sử
dụng với kiển mô hình và bài toán này thường là Accuracy score (độ chính xác), Confusion matrix, ROC curve, Prection và Recall, F1-Score…
Trong những bài toán phân loại lớp, sau khi đã xử lý dữ liệu và đưa vào mô hình học máy, đầu ra của mô hình sẽ là một vector xác suất tương ứng của từng lớp. Ta có thể đánh giá mức độ chính xác của mô hình thông qua chỉ số về accuracy (độ chính xác): là phần trăm các lớp đã phân loại đúng / tổng số dự đoán, thế nhưng đối với các lớp đã phân loại sai thì độ chính xác chưa thể hiện tốt được mối liên hệ giữa các lớp đúng/ sai.
Chính vì thế, ngoài accuracy (độ chính xác), chúng ta sẽ sử dụng thêm một độ đo là Confusion Matrix. Confusion Matrix là một phương pháp đánh giá kết quả của những bài toán phân loại với việc xem xét cả những chỉ số về độ chính xác và độ bao quát của các dự đoán cho từng lớp. Một confusion matrix gồm 4 chỉ số sau đối với mỗi lớp phân loại.
4.4.2. Các độ do sử dụng
Predicted as Positive Predicted as Negative Actual Positive TP FN
Actual Negative FP TN
Bảng 4-3 Thể hiện Confusion Matrix
Một số ký hiệu được sử dụng trong tính toán các độ đo: Accuracy: kết quả độ chính xác
TP: số lượng mẫu tích cực đúng TN: số lượng mẫu tiêu cực đúng FP: số lượng mẫu tích cực sai FN: số lượng mẫu tiêu cực sai
4.5. Kết quả thực nghiệm
Từ kết quả của mô hình trên tập kiểm thử, tập Confusion Matrix như sau:
Chú thích:
Lớp trung lập: nhãn 0 Lớp tích cực: nhãn 1 Lớp tiêu cực: nhãn 2
Hình 4-2 Normalized Confusion Matrix của mô hình trên tập kiểm thử
- Accuracy Score tính toán được dựa trên Confusion Matrix: 0.75010.
- Công thức tính Accuracy: Dùng tổng đường chéo của confusion matrix (tổng các trường hợp phân lớp đúng) chia tổng tất cả các trường hợp kiểm thử.
Dựa trên quan sát của bảng Normalized Confusion Matrix trên, ta có thể nhận thấy kết quả phân lớp của các lớp đều ở mức chấp nhận được (>0.7).
- Những mẫu thuộc lớp Trung lập có thể bị mô hình nhầm lẫn thành nhãn tích cực và nhãn tiêu cực (là 0.13 và 0.16).
- Những mẫu lớp Tích cực vẫn có một tỉ lệ không nhỏ (0.25) bị phân lớp sai thành mẫu tiêu cực.
- Những mẫu lớp Tiêu cực có tỉ lệ phân lớp chính xác cao hơn (0.83) và hiệu quả hơn so với 02 lớp còn lại.
- Chương trình được xây dựng thực nghiệm tại hệ thống sau:
http://35.213.175.182:5005/ (Qua năm 2021 hệ thống này có thể thay đổi).
Ví dụ về bình luận Tích cực và Tiêu cực: Bài viết trên trang facebook: Thông tin Chính phủ với nội dung liên quan đến tình hình phòng, chống dịch bệnh Covid – 19
Các bình luận:
Khi đưa vào chương trình phân tích quan điểm chính trị từ mạng xã hội
Hình 4-6 Đầu vào của chương trình
Ở đây đầu vào của chương trình có thể cho ta điền trực tiếp câu văn, hay đoạn văn cần phân tích, sau đó bấm nút phân tích, ta sẽ có kết quả sau:
Trên giao diện của chương trình cho ta thấy được kết quả tiền xử lý đầu vào của đoạn văn, kết quả xử lý đầu vào khi xử lý qua bộ từ điển vnTokenize, và quan trọng là phân tích được quan điểm bình luận của trên đã cho kết quả POSITIVE tức là bình luận trên ở quan điểm Tích cực.
Cũng ở ví dụ này nhưng dữ liệu đầu vào có chiều hướng Tiêu cực
Hình 4-8 Đầu vào của chương trình với bình luần có hướng Tiêu cực
Hình 4-9 Kết quả của chương trình sau khi phân tích mang quan điểm Tiêu cực
Ta thấy kết quả của chương trình phân tích được quan điểm bình luận đã cho kết quả NEGATIVE tức là bình luận ở quan điểm Tiêu cực.
4.6. So sánh với một số phương pháp khác
Để có sự nhận định khách quan trong việc áp dụng phương pháp LSTM kết hợp Word2Vec. Ta tiến hành thực nghiệm với một số các phương pháp, cụ thể như:
Tên phương pháp Accuracy Score
RNN + TF-IDF 0.6920
RNN + W2V 0.7442
LSTM + TF-IDF 0.7101
LSTM + W2V 0.7501
Bảng 4-4 Bảng so sánh một số phương pháp
Các tiếp cận khác đã được nghiên cứu và thực hiện để so sánh kết quả thực nghiệm, bao gồm Support Vector Machine (SVM), mạng RNN cùng với mạng LSTM. Các phương pháp tiếp cận trên được kết hợp với Word Embedding lần lượt là TF-IDF (Term-Frequency Inverse Document Frequency) và Word2Vec. Dễ dàng nhận thấy khi sử dụng mô hình Word2Vec trên cùng một phương pháp cho ra kết quả cao hơn so với mô hình dùng TF-IDF bởi khả năng biểu diễn ngữ cảnh phong phú của nó.
Mặc dù cùng là về cơ bản LSTM không khác mô hình truyền thống RNN nhưng cải tiến lớn nhất của mạng LSTM so với RNN là LSTM giải quyết vấn đề Vanishing/Exploding của RNN, và kết quả cho ta cũng thấy rõ được sự cãi tiến của sử dụng phương pháp LSTM với RNN.
Ngoài ra, phương pháp tiếp cận sử dụng SVM kết hợp với TF-IDF cho ra kết quả ấn tượng (0.83) và cao hơn các phương pháp sử dụng RNN và LSTM kết hợp với Word2Vec. Tuy nhiên, có thể lý giải kết quả trên vì mô hình SVM thường có xu hướng hoạt động tốt hơn trên các tập dataset nhỏ và đơn giản, dữ liệu huấn luyện còn ít, chưa đa dạng; Câu Input có nguồn gốc từ mạng xã hội nên thường ngắn gọn nên khả năng không tận dụng nhiều sức mạnh, khả năng 'Long-Term' của LSTM. Trong tương lai, khi được cung cấp
thêm dữ liệu phù hợp, quy mô hơn các mô hình học sâu như RNN hay LSTM sẽ chắc chắn cải thiện hiệu suất.
4.7. Phân tích lỗi
- Dữ liệu được sử dụng trong huấn luyện và kiểm thử hoàn toàn là dữ liệu thu thập từ mạng xã hội: mặc dù đã qua quá trình tiền xử lý, nhưng vẫn có thể có những mẫu không theo một chuẩn mực cú pháp, từ đó tạo thành các điểm nhiễu khi mô hình học. (Ví dụ: những câu quá ngắn; những câu không có dấu; câu có sử dụng tiếng nước ngoài; v.v…).
- Sự đa nghĩa của tiếng Việt: cũng là một thách thức lớn với nghiên cứu này, đặc biệt với mạng xã hội do các trào lưu sử dụng từ mới, từ lóng, (những từ không có trong từ điển; …), câu có hàm ý mỉa mai, … xuất hiện cùng với những từ bình thường khiến dữ liệu bị nhiễu.
- Sự bao hàm của chủ đề chính trị: Vì chính trị là một chủ đề tương đối lớn, dữ liệu khi thu thập cũng sẽ thuộc phạm trù của nhiều chủ đề con: cách vận hành của nhà nước; đường lối ngoại giao của nhà nước; bổ nhiệm nhân sự của nhà nước; hoạt động, chính sách; … Dẫn đến tập từ vựng của dữ liệu tương đối dàn trải, chưa cô đọng, ảnh hưởng đến độ chính xác của mô hình trong quá trình học.
- Một số hướng giải quyết với các lỗi trên:
+ Tiếp cận các nguồn dữ liệu khác: có định dạng cấu trúc, ngữ nghĩa, và đa dạng hơn về hình thức từ các đơn vị, ban ngành như viện dư luận xã hội, ban tuyên giáo trung ương, cổng dữ liệu quốc gia, …. Những dữ liệu này có thể có thêm trọng số (đánh giá, thang điểm, …) nên nếu thu thập được, sẽ mang lại giá trị cao cho nghiên cứu.
+ Kết hợp với các phương pháp khác: như đã trình bày tại các đề mục trên, ở các mô hình phân tích quan điểm, một phương pháp mang lại nhiều hứa hẹn là các mô hình học lai: kết hợp nhiều phương pháp nhằm mang đến kết quả tốt hơn. Đây cũng là một xu hướng mà nhiều nghiên cứu đang theo đuổi, hứa hẹn mang kết quả đáng mong chờ.
4.8. Nhận định và bàn luận 4.8.1. Nhận định
Mô hình phân tích quan điểm, cảm xúc (tích cực, trung lập, tiêu cực) các bài viết tiếng Việt có nội dung liên quan đến chính trị đã thực hiện được trong quá trình nghiên cứu đề tài này:
- Tìm hiểu, nghiên cứu về thực trạng vấn đề hiện tại, từ đó đưa ra được phát biểu của bài toán và lộ trình nghiên cứu thực hiện.
- Nghiên cứu, tìm hiểu một số công trình trong và ngoài nước có liên quan từ đó học hỏi được nhiều kiến thức, kinh nghiệm trong các lĩnh vực: học máy, xử lý ngôn ngữ tự nhiên, dữ liệu lớn, v.v… áp dụng vào chương trình.
- Phát triển, xây dựng hai bộ từ điển là từ điển Social Language và từ điển hư từ phục vụ cho quá trình tiền xử lý dữ liệu. Tuy nhiên chủ yếu dựa vào những kiến thức chủ quan và quá trình tìm kiếm trên Internet nên vẫn còn nhiều hạn chế và thiếu sót về từ vựng.
- Thu thập dữ liệu liên quan đến các khía cạnh đề tài sử dụng, lên đến khoản 21 nghìn tài liệu bằng các công cụ lập trình.
- Thực hiện tiến trình tiền xử lý dữ liệu ứng dụng hai bộ từ điển nêu trên, thư viện xử lý để thực hiện theo các tiến trình: chuẩn hóa dữ liệu, tách từ, loại bỏ hư từ.
- Thực hiện mã hóa dữ liệu vào không gian vector theo mô hình Word2Vec.
- Xây dựng, phát triển hai mô hình sử dụng mạng nơ-ron RNN và cụ thể là mô hình LSTM ứng dụng cho mô hình phân tích quan điểm để phân tích quan điểm Tích cực, Trung lập hay Tiêu cực.
- Thực hiện đánh giá các kết quả đạt được dựa trên dữ liệu ta có kết quả: + Những mẫu thuộc lớp Trung lập có thể bị mô hình nhầm lẫn thành nhãn tích cực và nhãn tiêu cực (là 0.13 và 0.16).
+ Những mẫu lớp Tích cực vẫn có một tỉ lệ không nhỏ (0.25) bị phân lớp sai thành mẫu tiêu cực.
+ Những mẫu lớp Tiêu cực có tỉ lệ phân lớp chính xác cao hơn (0.83) và hiệu quả hơn so với 02 lớp còn lại.
4.8.2. Bàn luận
Theo kết quả đạt được thì định hướng phát triển về sau sẽ tốt hơn về giải thuật, dữ liệu và ứng dụng.
Bên cạnh đề tài cho lĩnh vực chính trị chương trình sẽ có thể mở rộng cho các lĩnh vực khác như: văn hóa, thể thao, xã hội hoặc kết hợp nhiều lĩnh vực.
Khả năng thu thập dữ sẽ được nâng lên, tạo được nguồn dữ liệu lớn hơn cho các hệ thống dữ liệu từ điển phân tích tiếng việt giúp tạo nguồn dữ liệu lớn, phân tích sâu hơn cho các chương trình có liên quan về sau. Từ đó kết quả sẽ đạt độ chính xác cao hơn.
4.9. Kết chương
Các số liệu thể hiện bên trên là kết quả của quá trình thực nghiệm mô hình huấn luyện đã được xây dựng. Có thể kết quả thu được thực sự chưa như mong muốn nhưng đây là quá trình xây dựng chương trình.
Với độ chính xác khoảng 75% về cơ bản hệ thống đã đáp ứng được yêu cầu về phân tích quan điểm trong lĩnh vực chính trị. Từ đó đạt được mục tiêu là xây dựng một hệ thống Phân tích Quan điểm chính trị từ mạng xã hội.
Với những gì đã thực hiện, bản thân cũng tích lũy được một số kinh nghiệm trong lĩnh vực Machine Learning, Deep Learning trên cơ sở đó việc đề ra các hướng để hoàn thiện và vận dụng vào các lĩnh vực khác nhau ngoài lĩnh vực chính trị của chương trình.
KẾT LUẬN VÀ KIẾN NGHỊ
Qua thời gian thực hiện đề tài và kết quả đạt được của đề tài, bản thân nhận thấy đã đem lại lượng kiến thức lớn và có tính ứng dụng cao trong công việc hiện tại.
Mặc dù hạn chế thời gian thực hiện, cùng với số lượng dữ liệu thu thập để thực hiện còn chỉ gói gọn trong một lĩnh vực chính trị và chưa nhiều chỉ mới khoản 21 nghìn từ mạng xã hội Facebook, bên cạnh đó làm quen với nguyên tắc gán nhãn cho ba phân lớp cho dữ liệu dùng cho chính trị và việc các mẫu kết quả phân loại còn có chút ít nhằm lẫn: Những mẫu thuộc lớp Trung lập có thể bị mô hình nhầm lẫn thành nhãn tích cực và nhãn tiêu cực (là 0.13 và 0.16); Những mẫu lớp Tích cực vẫn có một tỉ lệ không nhỏ (0.25) bị phân lớp sai thành mẫu tiêu cực; Những mẫu lớp Tiêu cực có tỉ lệ phân lớp chính xác cao hơn (0.83) và hiệu quả hơn so với 02 lớp còn lại. Nhưng kết quả của chương trình cũng nằm trong ngưỡng mong muốn. Chương trình sẽ tiếp tục được bỗ sung cơ sở dữ liệu cung như nâng cấp hơn nữa các thuật toán tăng khả năng training để đạt được kết quả ngày càng tốt hơn.
Về mặt học thuật đề tài cũng đã có đưa ra được các nghiên cứu có liên quan gần với nội dung đề tài, nhưng cũng có nhiều nét riêng mà đề tại mạng lại cho thực tiễn của chương trình cũng như ngôn ngữ tiếng Việt Nam. Với tính ứng dụng thực tiễn chương trình sẽ tiếp tục được nghiên cứu mở rộng quy mô của chương trình ra nhiều lĩnh vực hơn nữa, thu thập thêm nhiều nguồn dữ liệu không chỉ của Facebook mà còn nhiều trang mạng xã hội hoặc các trang thông tin có tính tương tác cao, cũng như từng bước hình thành một chương trình có tính ứng dụng cao hơn trong tương lai không xa.
TÀI LIỆU THAM KHẢO Các luận văn/Luận án
[1] Alexander Park et al (2015). Twitter as a Corpus for Sentiment
Analysis and Opinion Mining, European Language Resources Association
[2] Nguyễn Đăng Thành (2016). Phân tích cảm xúc trong giáo dục
đại học qua các hông tin tiếng Việt trên web.
[3] Trần Văn Tiến, Nguyễn Minh Trường (2017). Nghiên cứu kỹ thuật phân tích Cảm xúc ứng dụng vào cải tiến chất lượng đào tạo đại học, http://thuvien.uit.edu.vn/DigitalDocument/Detail?treeId=660&fileId=9266
[4] Quản Thành Thơ (2017). Phân tích cảm xúc tiếng Việt trong viễn
cảnh Big Data: Hướng tiếp cận Deep Learning, https://www.slideshare.net/GrokkingVN/grokking-techtalk-18a-vietnamese- sentime nt-analysis-in-a-big-data-scenario-the-deep-learning-approach.
[5] Hung T. Vo et al (2016). Topic classification and sentiment
analysis for Vietnamese Education survey system, 92 https://www.researchgate.net/publication/303786096_Topic_classification_a nd_sen timent_analysis_for_Vietnamese_education_survey_system
[6] Thor Pham Blog, Published: April 24, 2018 by Categories:
Deep-learning, Tags: machine learning, python from: <https://thorpham.github.io/blog/2018/04/24/word2vec/>
Các tài liệu từ internet/website:
[8] https://viblo.asia/
Tiếng Anh
[9] AHMAD, Shakeel, et al. Detection and classification of social