3.5. Xây dựng vector đặc trƣng
Sau khi hồn tất khâu chuẩn bị dữ liệu và xây dựng các blacklist word phản động, tơi đã tiến hành biểu diễn các đặc trưng cho dữ liệu như đã được trình bày ở Chương 3 để tiến hành tổng hợp thành vector đặc trưng cho bài viết, bình luận. Vector đặc trưng của bài viết, bình luận bao gồm:
- Các đặc trưng ngơn ngữ được xây dựng từ blacklist word phản động. - Một số đặc trưng hình thái liên quan đến nội dung và ngữ pháp: + Độ dài của bình luận hoặc bài viết.
+ Số ký tự viết hoa/ tổng số ký tự của bình luận hoặc bài viết.
+ Số các ký tự khơng phải alphabet xuất hiện trong bình luận hoặc bài viết. + Số các dấu câu xuất hiện trong bình luận hoặc bài viết.
+ Số từ khơng cĩ trong từ điển tiếng Việt xuất hiện trong bình luận hoặc bài viết.
+ Tần xuất các từ viết tắt trong bài viết. + Độ dài trung bình của các từ.
+ Độ dài trung bình của các câu. - Đặc trưng hình thái n-gram.
Một số đặc trưng hỗ trợ khác như ngữ cảnh, đặc trưng liên quan đến người dùng và thơng tin đa phương tiện, do khĩ khăn về kĩ thuật nên chưa áp dụng cho việc xây dựng vector đặc trưng trong luận văn này. Cụ thể các bước được thực hiện theo quy trình như sau:
(1) Bƣớc 1: Đọc dữ liệu.
(2) Bƣớc 2: Tách từ và gán trọng số phản động cho các từ trong câu.
Những từ nào cĩ trong bộ từ điển phản động sẽ được gắn trọng số khác 0; những từ cịn lại cĩ trọng số bằng 0. Để tính trọng số phản động cho tồn bộ nội dung của bài viết hoặc bình luận, trước hết tơi tách dữ liệu văn bản thành các câu. Sau đĩ, sử dụng thư viện VnCoreNLP để tách từ. Sau khi tách từ, đối chiếu với bộ từ điển phản động để gắn trọng số cho các từ trong từng câu. Độ phản động của bài viết, bình luận là tổng hợp tồn bộ độ phản động của các câu trong nĩ.
(3) Bƣớc 3: Đặc trưng hình thái liên quan đến nội dung và ngữ pháp. Tính
tốn các chỉ số liên quan đến các đặc trưng hình thái đã được mơ tả ở Chương 3 để tạo thành thành phần vector đặc trưng của bài viết, bình luận.
- Tính số ký tự viết hoa/tổng số ký tự của bài viết hoặc bình luận. Sau đĩ chuẩn hĩa dữ liệu thành dưới dạng số trong khoảng [0;1].
- Tính độ dài bài viết, bình luận sau đĩ chuẩn hĩa độ dài đĩ dưới dạng số trong khoảng [0-1].
- Tính số ký tự khơng phải chữ cái xuất hiện trong bài viết, bình luận sau đĩ chuẩn hĩa thành số nằm trong khoảng [0-1].
- Tính tần suất sử dụng các ký tự đặc biệt trong bài viết, bình luận, sau đĩ chuẩn hĩa thành số nằm trong [0-1].
- Tính độ dài trung bình các từ sau đĩ chuẩn hĩa thành số nằm trong [0-1]. - Tính tần suất xuất hiện từ viết tắt trong bài viết hoặc bình luận, sau đĩ chuẩn hĩa dữ liệu thu được thành dạng số nằm trong [0-1].
(Mã nguồn đọc dữ liệu, tính tốn đặc trưng h nh thái liên quan đến nội
dung và ngữ pháp của bài viết, bình luận được tơi trình bày ở hình 3.29 đến hình 3.37 mục 2 phần Phụ lục).
(4) Bƣớc 4: Đặc trưng hình thái n-gram. Áp dụng bigram và trigram mức
ký tự cho bài viết và bình luận để trở thành một phần vector đặc trưng. Sử dụng thư viện sklearn thơng qua CountVectorizer. Do giới hạn về trang thiết bị dùng để huấn luyện, tơi chỉ sử dụng mơ hình bigram và trigram ở mức kí tự mà khơng sử dụng mức từ. Tương lai nếu tiếp tục theo đuổi đề tài này, tơi sẽ thử áp dụng nhiều phương pháp hơn, trong đĩ cĩ sử dụng n-gram cấp độ từ.
(5) Bƣớc 5: Tổng hợp vector đặc trưng. Gom các đặc trưng đã tạo ta cĩ
vector đặc trưng hồn chỉnh cho bài viết, bình luận.Vector đặc trưng là tổng hợp từ 3 loại đặc trưng như đã nêu ở Bƣớc 2, 3, 4.
Dữ liệu được scale lại bằng StandardScaler để mỗi đặc trưng thu được cĩ độ lệch chuẩn và trung bình tương tự phân phối chuẩn, thuận lợi cho việc huấn luyện.Dữ liệu được phân chia thành tập huấn luyện và tập kiểm thử, trong đĩ tập kiểm thử chiếm 30% tồn bộ lượng dữ liệu như đoạn code mơ hình thể hiện (14.000 mẫu ở tập huấn luyện, 6.000 mẫu ở tập kiểm tra).
Như vậy, bộ dữ liệu huấn luyện bao gồm 14.000 mẫu, mỗi mẫu đặc trưng bởi 1 vector 42.229 chiều bao gồm các đặc trưng về hình thái, độ phản động dựa trên bộ từ điển và đặc trưng n-gram. Cụ thể:
Đặc trưng về độ phản động: 1 chiều Đặc trưng về hình thái: 6 chiều Đặc trưng n-gram: 42.222 chiều
(Chi tiết tính tốn các đặc trưng và tổng hợp vector đặc trưng được mơ tả
ở hình 3.38-3.42 mục 2 phần Phụ lục).
3.6. Các mơ hình thử nghiệm
Sau khi xử lý và chuẩn hĩa dữ liệu, vector đặc trưng đã cĩ được từ Mục 3.5 sẽ được sử dụng để huấn luyện mơ hình.
* Độ quan trọng của mơ hình n-gram trong xây dựng vector đặc trƣng:
Để kiểm tra độ quan trọng của mơ hình n-gram trong xây dựng vector đặc trưng của bài viết, bình luận tiếng Việt, tơi tiến hành thử nghiệm theo phương pháp đĩ là: Sử dụng thuật tốn SVM và mơ hình MLP để lần lượt huấn luyện với đầu vào là 02 loại vector đặc trưng. Vector đặc trưng thứ nhất, bao gồm độ phản
động, hình thái và n-gram; vector đặc trưng thứ hai, chỉ cĩ độ phản động và hình thái mà khơng cĩ n-gram.
* Thử nghiệm: Tơi lần lượt thực hiện 06 thử nghiệm, bao gồm:
SVM-3f: Bộ vector đặc trưng bao gồm: Blacklist word phản động, hình
thái và n-gram kết hợp với thuật tốn SVM.
SVM-2f: Bộ vector đặc trưng bao gồm: Blacklist word phản động và hình
thái kết hợp với thuật tốn SVM.
MLP-2f: Bộ vector đặc trưng bao gồm: Blacklist word phản động và hình
thái kết hợp mơ hình MLP.
MLP-3f: Bộ vector đặc trưng bao gồm: Blacklist word phản động, hình
thái và n-gram kết hợp mơ hình MLP.
SVM-BERT: Sử dụng pretrained PhoBert kết hợp với thuật tốn SVM. MLP-BERT: Sử dụng pretrained PhoBert kết hợp với mơ hình MLP.
3.6.1. SVM-3f
Tơi sử dụng thư viện scikit-learn [52] cùng thuật tốn LinearSVM để huấn luyện mơ hình. Cùng lúc, tơi sử dụng GridSearchCV để lựa chọn tham số C cho thuật tốn. C là tham số phạt trong bài tốn soft-margin, được điều chỉnh để giúp đưa các điểm dữ liệu nằm trong khoảng hai siêu mặt phẳng được vẽ bởi thuật tốn SVM về đúng phân lớp của chúng. Tơi cho chạy thuật tốn GridSearchCV với các tham số C lần lượt là [0.001, 0.01, 0.1, 1, 10, 100, 1.000, 10.000] (hình
3.43 phần Phụ lục).
Với mỗi tham số C, tơi sử dụng phương pháp cross-validation trên tập huấn luyện với số lượng là 5.