BỘ NỘI VỤ TRƢỜNG ĐẠI HỌC NỘI VỤ HÀ NỘI
BÁO CÁO TỔNG HỢP ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CẤP TRƢỜNG XÂY DỰNG PHẦN MỀM PHÂN TÍCH TỰ ĐỘNG Ý KIẾN PHẢN HỒI CỦA SINH VIÊN VỀ CHẤT LƢỢNG ĐÀO TẠO Ở PHÂN HIỆU TRƢỜNG ĐẠI HỌC NỘI VỤ HÀ NỘI TẠI THÀNH PHỐ HỒ CHÍ MINH Mã số của đề tài: ĐTCT.2022.133 Chủ nhiệm đề tài: Thạc sỹ Tôn Nữ Thị Sáu Hà Nội, Tháng 7/2022
BỘ NỘI VỤ TRƢỜNG ĐẠI HỌC NỘI VỤ HÀ NỘI
BÁO CÁO TỔNG HỢP ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CẤP TRƢỜNG XÂY DỰNG PHẦN MỀM PHÂN TÍCH TỰ ĐỘNG Ý KIẾN PHẢN HỒI CỦA SINH VIÊN VỀ CHẤT LƢỢNG ĐÀO TẠO Ở PHÂN HIỆU TRƢỜNG ĐẠI HỌC NỘI VỤ HÀ NỘI TẠI THÀNH PHỐ HỒ CHÍ MINH Mã số của đề tài: ĐTCT.2022.133 Chủ nhiệm đề tài: Thạc sỹ Tôn Nữ Thị Sáu Thành viên đề tài: Thạc sỹ Đỗ Phƣớc Sang Thạc sỹ Phạm Thị Thu Trang Thạc sỹ Lê Xuân Hậu Cử nhân Nguyễn Thị Kim Oanh Hà Nội, Tháng 7/2022
MỤC LỤC
MỤC LỤC ............................................................................................................. 1
DANH MỤC BẢNG VIẾT TẮT .......................................................................... 3
DANH MỤC BẢNG BIỂU .................................................................................. 4
DANH MỤC HÌNH VẼ ........................................................................................ 5
MỞ ĐẦU ............................................................................................................... 7
1. Tính cấp thiết ..................................................................................................... 7
2. Mục tiêu của đề tài ............................................................................................ 8
3. Nhiệm vụ đề tài: ................................................................................................ 8
4. Đối tƣợng, phạm vi nghiên cứu......................................................................... 9
5. Phƣơng pháp nghiên cứu ................................................................................... 9
6. Ý nghĩa khoa học và ý nghĩa thực tiển .............................................................. 9
7. Kết quả đề tài ................................................................................................... 10
8. Cấu trúc của đề tài ........................................................................................... 11
Chƣơng 1: CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN ....... 12
1.1 Các khái niệm cơ bản .................................................................................... 12
1.1.1. Xử lý ngôn ngữ tự nhiên ........................................................................... 12
1.1.2. Bài toán Phân tích ý kiến .......................................................................... 13
1.1.3. Bài toán phân tích ý kiến theo khía cạnh .................................................. 14
1.1.4. Máy học. .................................................................................................... 16
1.2. Một số mô hình máy học và học sâu ............................................................ 17
1.2.1. Mô hình máy học Support Vector Machine .............................................. 17
1.2.2. Mô hình mạng học sâu tích chập – Convolutional Neural Network ........ 20
1.2.3. Mô hình ngôn ngữ BERT .......................................................................... 26
1.3. Phƣơng pháp biểu diễn từ ............................................................................ 32
1.4. Các công trình nghiên cứu trong và ngoài nƣớc .......................................... 34
Chƣơng 2: XÂY DỰNG DỮ LIỆU DỰA TRÊN Ý KIẾN PHẢN HỒI CỦA SINH VIÊN ......................................................................................................... 37
2.1. Giới thiệu ...................................................................................................... 37
2.2. Gán nhãn dữ liệu .......................................................................................... 38
2.2.1. Mục tiêu của việc gán nhãn ....................................................................... 38
2.2.2. Quy trình gán nhãn .................................................................................... 39
2.3. Tài liệu hƣớng dẫn các nguyên tắc gán nhãn dữ liệu ................................... 40
1
2.3.1. Quy tắc gán nhãn khía cạnh: ..................................................................... 40
2.3.2. Quy tắc gán nhãn bài toán trạng thái cảm xúc .......................................... 44
2.4. Huấn luyện ngƣời gán nhãn ......................................................................... 45
2.5. Thống kê dữ liệu và đánh giá dữ liệu. .......................................................... 47
Chƣơng 3: KẾT QUẢ THỬ NGHIỆM TRÊN CÁC MÔ HÌNH MÁY HỌC VÀ PHẦN MỀM PHÂN TÍCH TỰ ĐỘNG Ý KIẾN PHẢN HỒI CỦA SINH VIÊN VỀ CHẤT LƢỢNG ĐÀO TẠO THEO KHÍA CẠNH ...................................... 49
3.1. Mô hình máy học.......................................................................................... 49
3.2. Mô hình học sâu ........................................................................................... 50
3.3. Mô hình ngôn ngữ BERT ............................................................................. 52
3.4. Các mô hình so sánh..................................................................................... 54
3.5. Chi tiết cài đặt mô hình ................................................................................ 55
3.6. Kết quả thử nghiệm ...................................................................................... 56
3.6.1. Độ đo đánh giá .......................................................................................... 56
3.6.2. Kết quả thử nghiệm ................................................................................... 57
3.7. Phần mềm phân tích tự động ý kiến phản hồi của sinh viên về chất lƣợng đào tạo theo khía cạnh ......................................................................................... 61
3.7.1. Ngôn ngữ lập trình .................................................................................... 61
3.7.2. Mô tả ứng dụng ......................................................................................... 63
3.7.3. Chi tiết từng chức năng ............................................................................. 64
3.7.3.1. Chức năng Đăng ký tài khoản ................................................................ 65
3.7.3.2. Chức năng Đăng nhập tài khoản ............................................................ 65
3.7.3.4. Chức năng Phân tích ý kiến theo giảng viên .......................................... 66
3.7.3.5. Chức năng Phân tích ý kiến theo học phần ............................................ 69
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN .......................................................... 73
1. Kết luận ........................................................................................................... 73
2. Hƣớng phát triển ............................................................................................. 73
3. Kiến nghị ......................................................................................................... 74
3.1. Triển khai phần mềm vào thực tế ................................................................. 74
3.2. Phát triển phần mềm trong tƣơng lai ............................................................ 74
TÀI LIỆU THAM KHẢO ................................................................................... 75
2
DANH MỤC BẢNG VIẾT TẮT
Giải thích
Phân hiệu Trƣờng đại học Nội vụ Hà Nội tại TP.HCM
TT Chữ viết tắt 1 Phân hiệu TP.HCM
Naive Bayes
Neural Network
Support Vector Machine
Long Short-Term Memory
Convolutional neural network
2 NB 3 NN 4 SVM 5 LSTM 6 CNN 7 BiLSTM-CNN Bidirectional Long Short-Term Memory-Convolutional Neural Network
Encoder Representations from 8 BERT Bidirectional Transformers
Artificial Neural Networks
Term Frequency – Inverse Document Frequency
9 ANN 10 Tf-idf
3
DANH MỤC BẢNG BIỂU
Bảng 2.1. Danh sách thống kê số lƣợng các khía cạnh trong bộ dữ liệu ............ 47 Bảng 3.1. Kết quả thực nghiệm các phƣơng pháp cho bài toán phát hiện khía cạnh trên tập kiểm tra .......................................................................................... 58 Bảng 3. 2. Kết quả thí nghiệm các phƣơng pháp cho bài toán phát hiện khía cạnh và trạng thái cảm xúc tƣơng ứng trên tập kiểm tra ............................................. 59
4
DANH MỤC HÌNH VẼ
Hình 1. 1. Phần mềm Awario phân tích cảm xúc khách hàng ............................ 16 Hình 1. 2. Lịch sử phát triển của máy học .......................................................... 17 Hình 1. 3. Các mặt phẳng phân tách hai lớp ....................................................... 18 Hình 1. 4. Margin phân chia hai lớp .................................................................. 19 Hình 1.5. Kiến trúc mạng nơ-ron nhân tạo ......................................................... 20 Hình 1. 6. Cấu trúc trong từng nốt của mạng nơ-ron nhân tạo ........................... 21 Hình 1.7. Mô tả quá trình tính toán tại tầng tích chập, sử dụng hàm kích hoạt ReLu .................................................................................................................... 22 Hình 1.8. Kết quả sau khi đi qua lớp tổng hợp ................................................... 23 Hình 1. 9. Đồ thị hàm sigmoid ............................................................................ 24 Hình 1. 10. Đồ thị hàm ReLu .............................................................................. 25 Hình 1. 11. Đồ thị hàm Tanh ............................................................................... 26 Hình 1. 12 . Mô tả quá trình sử dụng BERT để rút trích vector biểu diễn của văn bản đầu vào .......................................................................................................... 27 Hình 1. 13. Mô hình Transformer đƣợc đề xuất bởi tác giả Vaswani et al. [21].28 Hình 1.14. Mô tả đầu vào của kiến trúc mô hình BERT [2]. .............................. 30 Hình 1.15. Ví dụ biểu diễn 2 câu văn bản đầu vào của mô hình BERT ............. 30 Hình 1.16. Mô tả quá trình Mô hình mặt nạ ngôn ngữ [15]. .............................. 31 Hình 1. 17. Mô tả quá trình Dự đoán câu tiếp theo. ............................................ 31 Hình 1. 18. Các cách tinh chỉnh khác nhau dựa trên mô hình BERT. ................ 32 Hình 2. 1. Quy trình xây dự bộ dữ liệu ............................................................... 39 Hình 3.1. Mô hình đề xuất trong bài toán phân loại văn bản. ............................. 49 Hình 3.2. Kiến trúc mô hình kết hợp BiLSTM-CNN cho bài toán tích ý kiến theo khía cạnh trên miền dữ liệu giáo dục .......................................................... 50 Hình 3. 3. Kiến trúc tinh chỉnh mô hình BERT .................................................. 53 Hình 3. 4. Kết quả chi tiết từng khía cạnh và trạng thái cảm xúc của mô hình kết hợp BiLSTM-CNN trên tập kiểm tra .................................................................. 59 Hình 3.5. Kết quả chi tiết từng khía cạnh và trạng thái cảm xúc của mô hình kết hợp BERT trên tập kiểm tra. ................................................................................ 60 Hình 3.6. Mô hình quan hệ dữ liệu ..................................................................... 62 Hình 3.7 . Sơ đồ luồng dữ liệu ............................................................................ 63 Hình 3.8. Sơ đồ quy trình thực hiện .................................................................... 63 Hình 3.9. Mô hình phân cấp chức năng của phần mềm Vasf Soft ..................... 64 Hình 3.10. Giao diện phần mềm Vasf Soft ......................................................... 64
5
Hình 3.11. Giao diện đăng ký tài khoản ............................................................. 65 Hình 3.12. Chức năng đăng nhập tài khoản ........................................................ 65 Hình 3.13. Chức năng thoát ................................................................................ 66 Hình 3.14. Chức năng phân tích ý kiến theo giảng viên ..................................... 66 Hình 3.15.Tải tập tin dữ liệu để phân tích........................................................... 67 Hình 3.16. Biểu đồ phần trăm khía cạnh đối với giảng viên .............................. 68 Hình 3.17. Bản đồ phần trăm cảm xúc theo khía cạnh đối với giảng viên ......... 68 Hình 3.18. Bảng phân tích cụ thể mỗi ý kiến của sinh viên đối với giảng viên . 69 Hình 3.19. Chức năng phân tích khía cạnh theo học phần ................................. 69 Hình 3.20. Tải tập tin dữ liệu ý kiến phản hồi của sinh viên đối với học phần ......... 70 Hình 3.21. Biểu đồ phần trăm cảm xúc trên mỗi khía cạnh đối với học phần ... 71 Hình 3.22. Biểu đồ phần trăm cảm xúc theo mỗi khía cạnh đối với học phần ... 71 Hình 3.23. Bảng phân tích chi tiết ý kiến phản hồi của sinh viên đối với học phần . 72
6
MỞ ĐẦU
1. Tính cấp thiết
Để thực hiện chủ trƣơng của của Bộ Giáo dục và Đào tạo nhiều trƣờng đại
học và cao đẳng tại Việt Nam đang triển khai thực lấy ý kiến phản hồi của ngƣời
học về giảng viên và nhà trƣờng bằng nhiều hình thức khác nhau sau khi kết
thúc học phần hoặc kết thúc học kỳ [26]. Cũng nhƣ các trƣờng đại học khác từ
năm 2017 đến này Phân hiệu Trƣờng Đại học Nội vụ Hà nội TP.HCM (Phân
hiệu) đã tiến hành thực hiện lấy ý kiến phản hồi của sinh viên về chất lƣợng đào
tạo bằng cách gửi đƣờng liên kết phiếu khảo sát đến sinh viên sau khi kết thúc
học kỳ. Để lấy ý kiến phản hồi của sinh viên một cách chính xác, có độ tin cậy
cao trong phiếu khảo sát của Phân hiệu đƣợc thiết kế 2 loại câu hỏi đó là câu hỏi
đóng và câu hỏi mở. Đối với ý kiến thu thập đƣợc từ câu hỏi đóng đƣợc Phân
hiệu xử lý và phân tích bằng phần mềm Excel, SPSS. Nhƣng đối với dữ liệu thu
đƣợc từ câu hỏi mở thƣờng bị bỏ qua, chỉ đọc để biết, không đƣợc phân tích cụ
thể. Trong khi đó những ý kiến thu đƣợc từ câu hỏi mở chính là tâm tƣ, nguyện
vọng, tình cảm, quan điểm…của sinh viên gửi cho Phân hiệu, việc phân tích
nguồn dữ liệu này rất cần thiết giúp cho Phân hiệu hiểu rõ khía cạnh mà sinh
viên quan tâm và cảm xúc của sinh viên đối với khía cạnh đó.
Các ý kiến phản hồi cho câu hỏi mở thƣờng là văn bản cho nên việc phân
tích theo cách thủ công sẽ gặp rất nhiều khó khăn, mất rất nhiều thời gian, kinh
phí và nhân lực, cho nên Phân hiệu cần phải có một phần mềm phân tích tự động
ý kiến phản hồi của sinh viên về chất lƣợng đào tạo cho nguồn dữ liệu thu thập
đƣợc từ các câu hỏi mở. Phần mềm sẽ thay cho con ngƣời thực hiện công việc
phân tích ý kiến phản hồi của sinh viên theo các khía cạnh và trạng thái cảm xúc
khác nhau. Bằng cách sử dụng phần mềm việc phân tích sẽ trở nên dễ dàng hơn,
giảm thời gian phân tích, giảm nguồn nhân lực thực hiện, và điều quan trọng là
phần mềm đƣa ra kết quả phân tích chính xác và có độ đồng nhất cao. Từ kết
quả phân tích của phần mềm giảng viên, lãnh đạo Phân hiệu thấy đƣợc bức tranh
tổng thể về các khía cạnh và cảm xúc của sinh viên đối với khía cạnh đó để từ
7
đó đƣa ra những giải pháp kịp tời nhầm nâng cao chất lƣợng đào tạo tại Phân
hiệu.
Với sự phát triển của các mô hình máy học và học sâu, việc áp dụng các
công nghệ trí tuệ nhân tạo vào giải quyết các vấn đề thực tế đã đƣợc nghiên cứu
[7] [13] [16] [18]. Tuy nhiên vấn đề của các mô hình này là chúng ta sẽ phải xây
dựng các bộ dữ liệu đã đƣợc gán nhãn và lựa chọn đƣợc mô hình phù hợp với dữ
liệu để nâng cao hiệu suất của mô hình. Theo tìm hiểu của nhóm nghiên cứu,
hiện nay đã có bộ dữ liệu về ý kiến phản hồi của sinh viên nhƣng chƣa có bộ dữ
liệu ý kiến phản hồi của sinh viên theo khía cạnh trong miền dữ liệu giáo dục
dành cho tiếng Việt. Đồng thời, tại Phân hiệu hiện nay chƣa có phần mềm phân
tích tự động ý kiến phản hồi của sinh viên theo khía cạnh đối với nguồn dữ liệu
thu đƣợc từ câu hỏi mở cho nên nhóm nghiên cứu chọn đề tài “Xây dựng phần
mềm phân tích tự động ý kiến phản hồi của sinh viên về chất lượng đào tạo ở
Phân hiệu trường Đại học Nội vụ Hà Nội tại Thành phố Hồ Chí Minh” để thực
hiện.
2. Mục tiêu của đề tài
- Xây dựng bộ dữ liệu gồm có 4.000 ý kiến phản hồi sinh viên theo khía
cạnh (tiếng Việt).
- Nghiên cứu các phƣơng pháp máy học, học sâu để giải quyết bài toán
Phân tích tự động ý kiến phản hồi của sinh viên.
- Xây dựng bản demo phần mềm phân tích tự động ý kiến phản hồi của
sinh viên về chất lƣợng đào tạo tại Phân hiệu TP.HCM.
3. Nhiệm vụ đề tài:
Nhiệm vụ của đề tài này bao gồm các nội dung nhƣ sau:
+ Nghiên cứu, khảo sát các công trình liên quan đến bài toán Phân tích tự
động ý kiến trong nƣớc và trên thế giới.
+ Thu thập và gán nhãn một tập dữ liệu ý kiến phản hồi của sinh viên với
kích thƣớc ít nhất 4000 câu ý kiến phản hồi.
8
+ Thử nghiệm, đánh giá kết quả thử nghiệm của các phƣơng pháp máy
học, học sâu trên bộ dữ liệu đã xây dựng.
+ Tìm hiểu các ngôn ngữ lập trình, cơ sở dữ liệu để xây dựng bản demo
phần mềm Phân tích tự động ý kiến phản hồi của sinh viên về chất lƣợng đào tạo
tại Phân hiệu TP.HCM.
4. Đối tƣợng, phạm vi nghiên cứu
- Đối tƣợng nghiên cứu: Các ý kiến phản hồi của sinh viên đƣợc thu thập
tại Phân hiệu TP.HCM và các nguồn khác, các mô hình máy học.
- Phạm vi nghiên cứu:
+ Đề tài nghiên cứu xây dựng dữ liệu tiếng Việt cho bài toán phân tích ý
kiến theo khía cạnh với hai bài toán con trong đó là: Phát hiện loại khía cạnh,
Phát hiện cảm xúc cho loại khía cạnh.
+ Phần mềm phân tích tự động các ý kiến phản hồi cho câu hỏi mở trong
cuộc khảo sát về chất lƣợng đào tạo.
5. Phƣơng pháp nghiên cứu
- Phƣơng pháp phân tích các tài liệu thứ cấp: Đề tài tập hợp các bài báo,
các công trình nghiên cứu của các tác giả đi trƣớc cả trong và ngoài nƣớc có liên
quan đến chủ đề nghiên cứu, trong đó đặc biệt là chú trọng đến các nghiên cứu
liên quan đến bài toán phân tích ý kiến theo khía cạnh.
- Phƣơng pháp thực nghiệm: Sử dụng phƣơng pháp thực nghiệm để xây
dựng bộ dữ liệu, thực nghiệm bộ dữ liệu với các mô hình máy học và học sâu.
Thực nghiệm xây dựng phần mềm phân tích tự động ý kiến phản hồi của sinh
viên.
6. Ý nghĩa khoa học và ý nghĩa thực tiển
Chúng ta có thể thấy rằng vấn đề phân tích các ý kiến phản hồi của sinh
viên rất quan trọng giúp các nhà quản lý, giảng viên nhìn thấy một cách tổng
quan những vấn đề mà sinh viên phản hồi để cải thiện môi trƣờng học tập phù
hợp với mong muốn của sinh viên và xu thế phát triển của thế giới. Mặc khác,
9
xây dựng các hệ thống phân tích tự động sẽ giúp các nhà quản lý tiết kiệm chi
phí, thời gian hơn là việc thuê ngƣời làm thủ công mà vẫn không hiệu quả.
- Xây dựng bộ dữ liệu chuẩn trong miền giáo dục phục vụ cho việc nghiên
cứu các phƣơng pháp cho bài toán xác định khía cạnh trên Tiếng Việt.
- Đánh giá các phƣơng pháp máy học khác nhau bằng cách so sánh kết
quả với các phƣơng pháp học sâu cho bài toán xác định khía cạnh trên Tiếng
Việt.
- Kết quả nghiên cứu có thể tích hợp vào các phần mềm khảo sát đánh giá
chất lƣợng giáo dục giúp tăng thêm tính năng và tạo ra chuyên nghiệp cho phần
mềm.
- Phần mềm tạo ra không những chỉ sử dụng đƣợc tại Phân hiệu mà còn
có thể sử dụng đƣợc cho các cơ sở giáo dục đại học khác.
7. Kết quả đề tài
Đề tài đã đạt đƣợc những kết quả tóm tắt sau đây:
- Một bộ ngữ liệu chuẩn tiếng Việt với kích thƣớc là 5.100 ý kiến phản
hồi đƣợc gán thủ công cho bài toán phân tích ý kiến theo khía cạnh với độ đồng
thuận giữa những ngƣời gán nhãn là 88,95% cho phát hiện khía cạnh và 80,52%
cho phát hiện khía cạnh và cảm xúc trên khía cạnh.
- Nghiên cứu, so sánh và thử nghiệm sự hiệu quả các phƣơng pháp học
máy NB, NN, SVM, LSTM, CNN, BiLSTM-CNN, BERT. Trong đó mô hình
BERT cho kết quả hiệu quả tốt hơn so với các mô hình khác với chỉ số F1 phát
hiện khía cạnh là 82,53% và phát hiện khía cạnh và trạng thái cảm xúc tƣơng
ứng 79,39%.
- Xây dựng phần mềm demo công nghệ web với các tính năng cần thiết
minh hoạ cho nghiên cứu mà nhóm nghiên cứu đã thực hiện.
- Một bài báo khoa học tại tạp chí chuyên ngành với thông tin nhƣ sau:
10
“Sáu, Tôn Nữ Thị, Đỗ Phƣớc Sang, and Phạm Thị Thu Trang. "Phân tích
ý kiến theo khía cạnh trên bình luận phản hồi của sinh viên cho tiếng Việt."
TNU Journal of Science and Technology 226, no. 18 (2021): 48-55.”
8. Cấu trúc của đề tài
Chƣơng 1 - Cơ sở lý thuyết. Trình bày nội dung lý thuyết về lĩnh vực xử
lý ngôn ngữ tự nhiên, các mô hình máy học, học sâu. Đồng thời đƣa ra các công
trình nghiên cứu có liên quan đến đề tài.
Chƣơng 2 - Xây dựng dữ liệu dựa trên ý kiến phản hồi của sinh viên.
Chƣơng này trình bày về quá trình nhóm nghiên cứu xây dựng hƣớng dẫn gán
nhãn, các các giai đoạn trong quá trình xây dựng bộ dữ liệu.
Chƣơng 3 – Kết quả thử nghiệm trên các mô hình máy học và phần mềm
Phân tích tự động ý kiến phản hồi của sinh viên về chất lƣợng đào tạo theo khía
cạnh. Trong chƣơng này nhóm nghiên cứu trình bày về các mô hình mà nhóm
nghiên cứu đã thử nghiệm. Đánh giá so sánh kết quả thử nghiệm của các mô
hình trên bộ dữ liệu mà nhóm nghiên cứu xây dựng. Đồng thời trình bày về phần
mềm Phân tích tự động ý kiến phản hồi của sinh viên về chất lƣợng đào tạo theo
khía cạnh.
Cuối cùng, tổng kết lại các kết quả quan trọng trong đề tài mà nhóm
nghiên cứu đã nghiên cứu và thực hiện, đƣa ra các hạn chế và hƣớng phát triển
của đề tài.
11
Chƣơng 1: CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN
Trong chƣơng này, nhóm nghiên cứu sẽ trình bày tổng quan các cơ sở lý
thuyết về lĩnh vực xử lý ngôn ngữ tự nhiên và chi tiết bài toán Phân tích ý kiến,
một số mô hình máy học mà nhóm nghiên cứu sử dụng để thực nghiệm. Bên
cạnh đó liệt kê các công trình liên quan đến đề tài này.
1.1 Các khái niệm cơ bản
1.1.1. Xử lý ngôn ngữ tự nhiên
Từ khi có máy tính thì dữ liệu ngôn ngữ đã xuất hiện, khối dữ liệu ngôn
ngữ ngày càng trở nên khổng lồ khi internet phát triển vì bất cứ ngƣời nào cũng
có thể tạo ra dữ liệu ngôn ngữ nhƣ tiếng nói hoặc văn bản. Đặc thù chính của
kiểu dữ liệu ngôn ngữ là không có cấu trúc hoặc nửa cấu trúc và không thể phân
tích ra các thuộc tính cụ thể để lƣu trữ trong các dòng và cột của bảng biểu. Với
tham vọng làm sao cho máy tính đọc và hiểu đƣợc dữ liệu ngôn ngữ đó phân
tích và đƣa ra các tri thức hữu ích để phục vụ cho quốc gia, cho doanh nghiệp,
cho bản thân. Với tham vọng đó các nhà nghiên cứu trên thế giới đã quan tâm và
nghiên cứu các phƣơng pháp xử lý dữ liệu ngôn ngữ ngay từ cuối những năm
1940 [1] và từ đó lĩnh vực nghiên cứu ngôn ngữ tự nhiên cũng xuất hiện.
Theo Liddy, E. D [9] quá trình xử lý ngôn ngữ tự nhiên là một tập hợp các
kỹ thuật máy tính đƣợc vận hành một cách lý thuyết để phân tích và miêu tả
(đƣa ra, trình bày) các văn bản xuất hiện tự nhiên ở một hoặc nhiều cấp độ phân
tích ngôn ngữ nhằm mục đích đạt đƣợc quá trình xử lý ngôn ngữ gần giống con
ngƣời xử lý cho một loạt các nhiệm vụ hoặc ứng dụng.
Đầu vào của bài toán Xử lý ngôn ngữ tự nhiên là dữ liệu ngôn ngữ đầu ra
là những vấn đề con ngƣời cần ví dụ nhƣ dịch văn bản đầu vào thành một ngôn
ngữ khác, trả lời các câu hỏi về nội dung của văn bản đầu vào hoặc rút ra suy
luận từ văn bản đầu vào.v.v…
Trong thực tế dữ liệu ngôn ngữ có hai loại đó tiếng nói và chữ viết, tƣơng
đƣơng với hai vai trò đó là vai trò của ngƣời đọc và vai trò của ngƣời nghe. Cho
12
nên trong lĩnh vực xử lý ngôn ngữ tự nhiên cũng chia làm hai lĩnh vực nhỏ bên
trong là xử lý văn bản và xử lý tiếng nói. Một số ứng dụng tiêu biểu trong lĩnh
vực xử lý ngôn ngữ tự nhiên đó là phân loại văn bản, tìm kiếm và truy xuất
thông tin, dịch máy, tóm tắt văn bản tự động, hay kiểm tra lỗi chính tả tự động
và nhận dạng tiếng nói, chuyển từ tiếng nói sang chữ viết và ngƣợc lại.
1.1.2. Bài toán Phân tích ý kiến
Theo từ điển Lạc Việt ý kiến là điều suy nghĩ, cách đánh giá riêng của
mỗi ngƣời về một vấn đề nào đó. Phân tích là phân chia các thành phần quan
trọng, khía cạnh nổi bật của một đối tƣợng ra thành các yếu tố.
Phân tích ý kiến có nghĩa là phân tích các đánh giá của một cá nhân về
một vấn đề nào đó ra các thành phần quan trọng.
Phân tích ý kiến (opinion analysis) hay còn gọi phân tích tình cảm
(sentiment analysis) là một lĩnh vực nghiên cứu, nó có liên quan chặt chẽ đến
(hoặc có thể đƣợc coi là một phần của) ngôn ngữ học tính toán, xử lý ngôn ngữ
tự nhiên và khai thác văn bản. Từ những năm đầu của thế kỷ 21 phân tích ý kiến
đã đƣợc các nhà nghiên cứu trên thế giới tập trung nghiên cứu và cho đến nay
cũng có nhiều kết quả nghiên cứu đƣợc ứng dụng vào thực tiễn [14].
Mục tiêu của bài toán phân tích ý kiến là xác định tình cảm hoặc quan
điểm hoặc mức độ phân cực tình cảm có trong các ý kiến đầu vào. Các các trạng
thái tình cảm ví dụ nhƣ là vui, buồn, tức giận, phẫn nộ hoặc yêu, thích, ghét,
căm thù. Các mức độ phân cực nhƣ là tích cực, tiêu cực, bình thƣờng.
Phân tích ý kiến không những đƣợc các nhà nghiên cứu quan tâm nghiên
cứu và phát triển mà còn đƣợc các doanh nghiệp thƣơng mại ứng dụng trong
nhiều lĩnh vực khác nhau nhƣ phân loại cảm xúc, thái độ ngƣời dùng thông qua
đánh giá của họ về sản phẩm, dịch vụ của doanh nghiệp trên trang các trang
thƣơng mại điện tử, trên trang mạng xã hội giúp các doanh nghiệp nắm bắt đƣợc
thái độ, tình cảm của khách hàng đối với những sản phẩm, dịch vụ mà họ đang
cung cấp trên thị trƣờng để từ đó họ đƣa ra những chính sách tốt hơn nhằm cải
thiện hoạt động kinh doanh của doanh nghiệp mình. Một ứng dụng khác của bài
13
toán phân tích ý kiến là ứng dụng chatbox để xác định là trạng thái cảm xúc hiện
tại của đối phƣơng là gì.
Hiện nay, bài toán phân tích cảm xúc có ba cấp độ đó là cấp độ câu văn
(sentence-level), văn bản (document-level), và khía cạnh (aspect-level).
- Mức độ văn bản (Document level): xác định cảm xúc hoặc quan điểm
của toàn bộ văn bản hoặc một đoạn văn bản.
- Mức độ câu (Sentence level): xác định cảm xúc hoặc quan điểm cho
một câu đơn riêng lẻ.
- Mức độ cụm từ (Phrase level): xác định cảm xúc hoặc quan điểm cho
từng cụm từ nhỏ ở trong một câu.
1.1.3. Bài toán phân tích ý kiến theo khía cạnh
Bài toán phân tích ý kiến chủ yếu tập trung giải quyết vấn đề một cách
chung chung là đƣa văn bản ý kiến đầu vào phân tích ra cảm xúc hoặc quan
điểm của các ý kiến đó. Tuy nhiên, trên thực tế khi ta nghiên cứu bộ dữ liệu các
ý kiến về một lĩnh vực nào đó ví dụ bộ dữ liệu ý kiến về nhà hàng, bộ dữ liệu ý
kiến về khách sạn, bộ ý kiến phản hồi của sinh viên về chất lƣợng đào tạo,
.v.v… lúc đó ta sẽ thấy rằng, có ý kiến chỉ nói về một khía cạnh nào đó cụ thể,
nhƣng có ý kiến lại đề cập đến nhiều khía cạnh khác nhau và mỗi khía cạnh lại
có một trạng thái cảm xúc hoặc mức độ cảm xúc khác nhau. Nếu nhƣ chúng ta
chỉ phân tích ý kiến đó theo mức độ cảm xúc tích cực, tiêu cực hoặc trung tính
thì sẽ không chính xác. Ví dụ khi phân tích một ý kiến phản hồi của sinh viên
“Thầy dạy khó hiểu nhƣng đƣợc cái thầy hay giúp đỡ sinh viên” về chất lƣợng
đào tạo thì chúng ta sẽ thấy rằng trong câu này đề cập đến hai khía cạnh, khía
cạnh thứ nhất là kỹ năng giảng dạy của thầy, khía cạnh thứ hai là hành vi của
thầy và ta dễ dàng nhìn thấy rằng đối với khía cạnh kỹ năng giảng dạy của thầy
là tiêu cực còn hành vi của thầy là tích cực. Nếu trong trƣờng hợp này chúng ta
cho ý kiến này là tiêu cực cũng không chính xác, mà tích cực cũng không chính
xác. Từ nhu cầu thức tế bài toán phân tích ý kiến theo khía cạnh ra đời và đƣợc
nhiều nhà nghiên cứu quan tâm.
14
Bài toán phân tích ý kiến theo khía cạnh (aspect based opinions analysis) hay còn gọi là bài toán phân tích cảm xúc theo khía cạnh (aspect based
sentiment analysis) với mục tiêu chính là xác định khía cạnh có trong ý kiến, sau
đó xác định cảm xúc cho khía cạnh đó.
Đầu vào của bài toán phân tích ý kiến theo khía cạnh: Là văn bản ý
kiến.
Đầu ra của bài toán phân tích ý kiến theo khía cạnh: Là các khía cạnh
đƣợc đề cập trong ý kiến và cảm xúc của các khía cạnh đó. Bộ khía cạnh đƣợc
định nghĩa sẵn trƣớc đó.
Từ ví dụ trên cho thấy bài toán phân tích ý kiến theo khía cạnh là có sự
khác biệt với bài toán phân tích ý kiến. Bài toán phân tích ý kiến theo khía cạnh
là phân tích văn bản ra các khía cạnh khác nhau, sau đó xác định trạng thái cảm
xúc của mỗi khía cạnh có xuất hiện ở trong ý kiến
Hiện nay phân tích cảm xúc đƣợc rất nhiều doanh nghiệp quan tâm và xây
dựng ứng dụng để đo lƣờng sức khoẻ thƣơng hiệu, quảng bá thƣơng hiệu nhƣ
Awario, Brandwatch, Talkwalke... Kết quả phân tích từ các phần mềm này sẽ
giúp cho doanh nghiệp phát hiện ra những vấn đề khách hàng đánh giá tốt và
chƣa tốt để doanh nghiệp có kế hoạch cải tiến phù hợp với từng vấn đề.
15
Hình 1. 1. Phần mềm Awario phân tích cảm xúc khách hàng
Nguồn: https://marketingai.vn/10-cong-cu-phan-tich-cam-xuc-dung-de-do- luong-suc-khoe-thuong-hieu/
1.1.4. Máy học.
Kể từ khi tiến hoá con ngƣời đã biết sử dụng các vật liệu có sẵn trong
thiên nhiên nhƣ đá, cây làm những công cụ đơn giản để săn, bắt, hái, lƣợm. Với
sự sáng tạo của bộ não con ngƣời đã phát minh ra các máy móc. Những chiếc
máy này đã làm cho cuộc sống của con ngƣời trở nên dễ dàng bằng cách cho
phép mọi ngƣời đáp ứng các nhu cầu cuộc sống khác nhau, bao gồm du lịch, các
ngành công nghiệp và máy tính. Và học máy là một trong số họ.
Tác giả Arthur Samuel [15] đã định nghĩa máy học là lĩnh vực nghiên
cứu cung cấp cho máy tính khả năng học hỏi mà không đƣợc lập trình rõ ràng.
Học máy dựa trên các thuật toán khác nhau để giải quyết vấn đề dữ liệu. Các nhà
khoa học dữ liệu muốn chỉ ra rằng có không có loại thuật toán duy nhất nào phù
hợp để giải quyết tất cả vấn đề. Loại thuật toán đƣợc sử dụng phụ thuộc vào loại
vấn đề bạn muốn giải quyết, số lƣợng các biến, loại mô hình phù hợp nhất với
nó, v.v.
16
Học máy có ứng dụng rộng khắp trong các ngành khoa học sản xuất, đặc
biệt là những ngành phân tích đối tƣợng dữ liệu khổng lồ nhƣ: Xử lý ngôn ngữ
tự nhiên (natural language processing), Máy tìm kiếm (search engine), nhận diện
hình ảnh (computer vision)
Hình 1. 2. Lịch sử phát triển của máy học
Nguồn: https://machinelearningcoban.com/2016/12/26/introduce/
Trong những năm gần đây, công nghệ phần cứng máy tính đƣợc nâng lên
tầm cao mới vì thế hiện nay chúng ta có đƣợc thế hệ máy tính với khả năng tính
toán siêu tốc và khả năng lƣu trữ lớn. Vì sở hữu đƣợc hệ thống siêu máy tính
cho nên các hãng công nghệ lớn thu thập đƣợc khối dữ liệu khổng lồ. Cùng với
sự phát triển vƣợt bậc của công nghệ phần cứng, phần mềm, máy học cũng đã
tiến thêm một bƣớc dài và đóng góp quan trọng trong các bài toán khác nhau,
trong lĩnh vực khác nhƣ xử lý ảnh, xử lý ngôn ngữ hay các kỹ thuật y sinh. Từ
đó cho thấy rằng máy học đóng một vai trò nền tảng trong sự phát triển của
ngành trí tuệ nhân tạo trên thế giới hiện nay.
1.2. Một số mô hình máy học và học sâu
1.2.1. Mô hình máy học Support Vector Machine
Support Vector Machine – SVM [1] là một thuật toán máy học giám sát
đƣợc sử dụng cho cả bài toán phân lớp (classification) và hồi quy (regression).
17
Tuy nhiên, SVM chủ yếu sử dụng trong bài toán phân lớp. Hiện nay, SVM đƣợc
xem là một thuật toán mạnh mẽ trong lĩnh vực máy học.
Giả sử chúng ta có hai phân lớp khác nhau đƣợc mô tả bởi các điểm trong
không gian nhiều chiều. Yêu cầu chúng ta phải tìm kiếm đƣợc một mặt phẳng để
phân loại chính xác hai phân lớp đó, nghĩa là mặt phẳng đó sẽ phân tách đƣợc
các điểm ở cùng phân lớp sẽ nằm trên cùng một phía của mặt phẳng và hai phân
lớp khác nhau sẽ nằm ở trên hai phía khác nhau của mặt phẳng. Trong Hình 1.3,
chúng ta có thể thấy có rất nhiều mặt phẳng đƣợc tìm thấy có thể giải quyết
đƣợc bài toán trên.
Hình 1. 3. Các mặt phẳng phân tách hai lớp
Nguồn: https://machinelearningcoban.com/assets/19_svm/svm1.png
Tuy nhiên, trong các mặt phẳng đó, chúng ta cần tìm mặt phẳng có thể
phân chia tốt nhất và hiệu quả nhất. Mặt phẳng tốt nhất cần tìm là mặt phẳng
phân chia sao cho khoảng cách từ điểm gần nhất của các phân lớp tới mặt phẳng
là bằng nhau và khoảng cách đó đƣợc gọi là margin. Đồng thời, chúng ta cần
một mặt phẳng mà margin là lớn nhất thì sẽ mang lại khả năng phân lớp tốt hơn.
Thuật toán SVM đƣợc phát triển từ việc tìm kiếm ra siêu mặt phẳng sao cho
margin là lớn nhất.
18
Hình 1. 4. Margin phân chia hai lớp
Nguồn: https://machinelearningcoban.com/assets/19_svm/svm5.png
Giả sử chúng ta có một mẫu huấn luyện xi (i € {1, 2, …, n}) và giá trị của
nhãn yi € {-1, 1}. Theo thuật toán SVM sẽ tìm ra một siêu mặt phẳng mà phân
tách đƣợc hai phân lớp và có margin là lớn nhất. Phƣơng trình siêu mặt phẳng
cần tìm:
Một siêu phẳng tách biệt ở dạng chính tắc thỏa mãn các ràng buộc sau:
[ ] { }
Khoảng cách từ điểm xi đến siêu mặt phẳng (W, b) sẽ đƣợc tính theo công
thức:
| | || ||
Margin cho siêu mặt phẳng (W, b) sẽ đƣợc tính toán theo công thức sau:
( )
Bài toán tối ƣu trong SVM chính là bài toán tìm W và b để margin đạt giá
trị lớn nhất và thỏa ràng buộc (2.2):
19
{ } { ( ) }
} { | | || || | | || ||
{ (| | | | )} || ||
} { || ||
Sau khi tìm đƣợc siêu mặt phẳng phân cách = 0, phân lớp
(class) cho một ngữ liệu mới sẽ đƣợc xác định đơn giản nhƣ sau:
Trong đó hàm sgn là hàm xác định dấu, nhận giá trị 1 nếu đối số là không
âm và -1 nếu ngƣợc lại.
1.2.2. Mô hình mạng học sâu tích chập – Convolutional Neural
Network
Mạng nơ-ron nhân tạo (Artificial Neural Networks - ANN) [8] đƣợc ra
đời xuất phát từ ý tƣởng mô phỏng hoạt động của não bộ con ngƣời là mạng lƣới
thần kinh đƣợc liên kết đầy đủ giữa các lớp với nhau. Kiến trúc của một mạng
nơ-ron nhân tạo gồm ba thành phần: lớp đầu vào, các lớp ẩn và lớp đầu ra. Trên
mỗi lớp có các nốt đƣợc thể hiện nhƣ các nơ-ron thần kinh, mỗi nốt trong một
lớp thì liên kết với tất cả các nốt trong lớp tiếp theo. Trong một mạng nơ-ron
nhân tạo thì số lớp ẩn là không giới hạn và số lƣợng các nốt trên mỗi lớp cũng
không giới hạn.
Hình 1.5. Kiến trúc mạng nơ-ron nhân tạo
20
Nếu chúng ta tiến hành đi sâu vào xem xét từng nốt trong các lớp của
mạng nơ-ron nhân tạo, chúng ta sẽ thấy đƣợc rằng, độ lớn trọng số của nốt hiện
đang xét sẽ là tổng các độ lớn trọng số của các nốt thuộc lớp đầu vào trƣớc đó và
chuyển qua hàm kích hoạt phi tuyến tính để tính toán trọng số. Các nốt này đƣợc
xem là đầu ra của lớp trƣớc đó và đồng thời cũng là đầu vào cho các lớp tiếp
theo. Trong quá trình huấn luyện, mạng nơ-ron thần kinh sẽ tiến hành tính toán
và tối ƣu hóa các trọng số đối với từng nốt trong mạng.
Hình 1. 6. Cấu trúc trong từng nốt của mạng nơ-ron nhân tạo
Nguồn: https://929687.smushcdn.com/2633864/wp- content/uploads/2021/04/perceptron.png?size=630x459&lossy=1&strip=1&webp=1
Mạng nơ-ron tích chập (convolutional neural network - CNN) là một
trong những phƣơng pháp đƣợc áp dụng nhiều nhất trong lĩnh vực xử lý ảnh
(computer vision) để giải quyết các bài toán nhƣ nhận dạng hình ảnh, phân loại
hình ảnh, phát hiện đối tƣợng, nhận diện khuôn mặt,…v.v. CNN đƣợc xây dựng
từ ba ý tƣởng chính: trƣờng tiếp nhận cục bộ (local receptive fields), chia sẻ
trọng số (shared weights) và tổng hợp (pooling). CNNs bao gồm một vài tầng
tích chập kết hợp với các hàm kích hoạt phi tuyến (nonlinear activation
function) để tạo ra thông tin trừu tƣợng hơn cho các tầng tiếp theo
- Lớp tích chập (convolution layer): Mục đích của tầng này là trích xuất
các đặc trƣng tƣơng ứng với đầu vào. Từ ý tƣởng trƣờng tiếp nhận cục bộ, sẽ
tiến hành chọn lựa một bộ lọc để tìm và lấy ra những thông tin quan trọng từ đầu
21
vào và thu nhỏ số chiều cho những lớp ẩn tiếp theo. Để tính toán các giá trị đầu
ra cho các vùng lọc chúng ta sẽ dùng đến các hàm kích hoạt. Một số hàm kích
hoạt đƣợc sử dụng hiện nay là ReLU, hàm kích hoạt Tanh hay Sigmoid. Hiện
nay, hàm kích hoạt ReLU đƣợc sử dụng nhiều hơn so với các hàm còn lại. Hình
1.7 sẽ mô tả quá trình tính toán tại tầng tích chập, sử dụng hàm kích hoạt ReLu
để tính toán và sử dụng bƣớc trƣợt cho bộ lọc là 1.
Hình 1.7. Mô tả quá trình tính toán tại tầng tích chập,
sử dụng hàm kích hoạt ReLu
+ Hàm kích hoạt ReLu: ReLU là hàm kích hoạt phổ biến nhất cho CNN
và đƣợc ƣa chuộng vì tính toán đơn giản, giúp hạn chế tình trạng Gradient biến
mất (vanishing gradient), và cũng cho kết quả tốt hơn. ReLu cũng nhƣ các hàm
kích hoạt khác, đƣợc đặt ngay sau tầng tích chập, ReLu sẽ gán những giá trị âm
bằng 0 và giữ nguyên giá trị của đầu vào khi lớn hơn 0. ReLU cũng có một số
vấn đề tiềm ẩn nhỏ không có đạo hàm tại điểm 0, giá trị của hàm ReLU có thể
lớn đến vô cùng và nếu chúng ta không khởi tạo trọng số cẩn thận, hoặc khởi tạo
tham số Learning rate quá lớn thì những nơ-ron ở tầng này sẽ rơi vào trạng thái
chết, tức là luôn có giá trị < 0.
- Lớp tổng hợp (Pooling layer): Sau tầng tích chập sẽ thực hiện tầng
tổng hợp để giảm số chiều đặc trƣng đầu vào và đồng thời cũng giữ lại các thông
22
tin quan trọng từ ngữ liệu đầu vào. Khi giảm số lƣợng chiều đi thì cho phép
giảm số lƣợng tham số, rút ngắn thời gian huấn luyện và hạn chế “học tủ”
(overfitting). Cơ chế của tầng tổng hợp tƣơng tự nhƣ tầng tích chập, cũng tiến
hành sử dụng một bộ lọc trƣợt qua ngữ liệu đầu vào và trích xuất ra các đặc
trƣng cần thiết trong vùng bộ lọc đó. Thế nhƣng, trái với bộ lọc tại tầng tích
chập, bộ lọc ở tầng tổng hợp sẽ không chứa các tham số. Hiện nay, phƣơng pháp
đƣợc sử dụng phổ biến ở tầng tổng hợp là phép tổng hợp lớn nhất (maxpooling:
chỉ lấy giá trị cao nhất trong vùng của bộ lọc đi qua). Ngoài ra, còn có phƣơng
pháp phép tổng hợp trung bình (averagepooling: tính toán giá trị trung bình
trong vùng bộ lọc đi qua).
Hình 1.8. Kết quả sau khi đi qua lớp tổng hợp
Nguồn: https://images.viblo.asia/cc4ae912-a9ce-4815-a3ca-e859999432af.png.
- Lớp kết nối đầy đủ (fully connected layer): Kiến trúc của tầng liên kết
đầy đủ tƣơng tự nhƣ kiến trúc của mạng nơ-ron nhân tạo đƣợc trình bày ở phần
đầu tiên. Kết quả đầu ra của cả hai tầng tích chập và tầng tổng hợp đều là các ma
trận ở dạng hai chiều hoặc 3 chiều. Trong khi đó, đầu ra mong muốn của hệ
thống là một vector một chiều. Để giải quyết vấn đề này trong tầng liên kết đầy
đủ, đầu tiên chúng ta tiến hành làm phẳng đầu ra ở lớp tổng hợp cuối cùng thành
một vector và vector này chính là đầu vào của các lớp liên kết đầy đủ. Lớp cuối
cùng trong tầng liên kết đầy đủ chính là đầu ra của bài toán đƣợc quan tâm đến.
+ Hàm kích hoạt: Trong một mạng nơ-ron nhân tạo hàm kích hoạt
(activation function) đóng vai trò là thành phần phi tuyến tại đầu ra của các nơ-
ron. Hàm kích hoạt mô phỏng tỷ lệ truyền xung qua axon của một neuron thần
23
kinh. Sau đây nhóm nghiên cứu sẽ trình bày chi tiết một số hàm kích hoạt đƣợc
sử dụng trong các mạng trí tuệ nhân tạo và ƣu điểm và nhƣợc điểm của chúng.
+ Hàm Sigmoid: Dƣới đây là công thức của hàm kích hoạt Sigmoid và
Hình 1.9 trình bày đồ thị hàm Sigmoid.
(1.7)
Hàm Sigmoid nhận đầu vào là một số thực và chuyển thành một giá trị
trong khoảng (0;1). Đầu vào là số thực âm rất nhỏ sẽ cho đầu ra tiệm cận với 0,
ngƣợc lại, nếu đầu vào là một số thực dƣơng lớn sẽ cho đầu ra là một số tiệm
cận với 1. Trong quá khứ hàm Sigmoid hay đƣợc dùng vì có đạo hàm rất đẹp.
Tuy nhiên hiện nay hàm Sigmoid rất ít đƣợc dùng vì những nhƣợc điểm sau:
* Hàm Sigmoid bão hoà và triệt tiêu gradient
* Hàm Sigmoid không có trung tâm là 0 gây khó khăn cho việc hội tụ
Hình 1. 9. Đồ thị hàm sigmoid
Nguồn: https://aicurious.io/posts/2019-09-23-cac-ham-kich-hoat- activation-function-trong-neural-networks/
+ Hàm Relu: Hàm ReLU đang đƣợc sử dụng khá nhiều trong những năm
gần đây khi huấn luyện các mạng nơ-ron. ReLU đơn giản lọc các giá trị < 0.
Nhìn vào công thức chúng ta dễ dàng hiểu đƣợc cách hoạt động của nó.
24
(1.8)
Ƣu điểm và nhƣợc điểm của hàm kích hoạt Relu nhƣ sau:
* Tốc độ hội tụ nhanh hơn hẳn. ReLU có tốc độ hội tụ nhanh.
* Tính toán nhanh hơn do công thức của hàm Relu đơn giản nhƣ vậy sẽ ít
tốn nhiều chi phí hơn để tính toán.
Với các node có giá trị nhỏ hơn 0, qua kích hoạt RELU (ReLU activation)
sẽ thành 0. Nếu các node bị chuyển thành 0 thì sẽ không có ý nghĩa với bƣớc
kích hoạt tuyến tính (linear activation) ở lớp tiếp theo và các hệ số tƣơng ứng từ
node đấy cũng không đƣợc cập nhật suy giảm độ dốc (Gradient descent).
Khi tỷ lệ học (learning rate) lớn, các trọng số (weights) có thể thay đổi
theo cách làm tất cả nơ-ron dừng việc cập nhật.
Hình 1. 10. Đồ thị hàm ReLu
Nguồn: https://aicurious.io/posts/2019-09-23-cac-ham-kich-hoat-activation- function-trong-neural-networks/
- Hàm Tanh: Hàm này nhận đầu vào là một số thực và chuyển thành một
giá trị trong khoảng (-1; 1). Công thức hàm Tanh đƣợc trình bày nhƣ sau:
(1.9)
25
Hình 1. 11. Đồ thị hàm Tanh
Nguồn: https://aicurious.io/posts/2019-09-23-cac-ham-kich-hoat-activation- function-trong-neural-networks/
- Hàm softmax: Softmax là hàm kích hoạt ở lớp ra trong một mạng mạng
nơ-ron nhân tạo đƣợc sử dụng với bài toán phân loại nhị phân với nhiều lớp
(multi-class classification problems) ở lớp đầu ra. Công thức nhƣ sau:
(1.10)
1.2.3. Mô hình ngôn ngữ BERT
Mô hình ngôn ngữ BERT [2] đƣợc viết tắt của Bidirectional Encoder
Representations from Transformers đƣợc Google công bố để phục vụ cho các
bài toán trong lĩnh vực xử lý ngôn ngữ tự nhiên. Không giống nhƣ các mô hình
word2vec cơ bản đã đƣợc đề xuất trƣớc đây, BERT đƣợc thiết kế để tạo ra các
vector đại diện cho ngôn ngữ văn bản thông qua ngữ cảnh 2 chiều của chúng –
điều này có nghĩa là BERT cho phép biểu diễn ngữ cảnh của một từ bằng cách
dựa trên mối quan hệ của từ đó với các từ xung quanh. Ví dụ nhƣ vector ngữ
cảnh của từ vựng “dạy học” trong câu văn bản “Chúng tôi đi dạy học” và câu
văn bản “Dạy học thật vui” nó sẽ có vector đại diện khác nhau. Hình 1.12 mô tả
quá trình sử dụng BERT để rút trích vector biểu diễn của văn bản đầu vào. Khi
mô hình BERT đƣợc đề xuất thì các vector đại diện đƣợc sinh ra từ mô hình
26
BERT đƣợc tính chỉnh với các lớp đầu ra bổ sung đã tạo ra nhiều kiến trúc cải
tiến đáng kể cho các nhiệm vụ xử lý ngôn ngữ tự nhiên nhƣ hệ thống hỏi đáp, hệ
thống chatbot.
Hình 1. 12 . Mô tả quá trình sử dụng BERT để rút trích vector biểu diễn của văn bản đầu vào
Nguồn: https://helpex.vn/article/bert-transformers-chung-hoat-dong-nhu-the- nao-608ba7d24c4ecc9eb5d8eace
Kiến trúc của mô hình BERT là một kiến trúc đa tầng gồm nhiều lớp mã
hoá Transformer hai chiều (bidirectional Transformer encoder) dựa trên công
trình nghiên cứu của tác giả Vaswani et al. (2017) [21]. Kể từ khi cơ chế sự chú
ý (attention) đƣợc giới thiệu trong bài báo Attention is all you need [21] ra đời
thì đã có hàng loạt kiến trúc mới cũng ra đời để giải quyết các bài toán seq2seq
và mô hình ngôn ngữ (language modelling) trong xử lý ngôn ngữ tự nhiên. Quá
trình mã hóa ở Transformer bao gồm 2 phần: mã hoá (encoder) và giải mã
(decoder).
- Encoder bao gồm 6 lớp xếp chồng lên nhau, mỗi lớp bao gồm 2 lớp phụ
(Sub-layer). Lớp phụ đầu tiên gồm có Multi-head và Self-attention mà nhóm
nghiên cứu sẽ đề cập sau. Ở lớp phụ thứ 2 là các lớp Fully-connected. Ngoài ra,
ở mỗi lớp phụ còn có các kết nối thặng dƣ (residual) sau các lớp tiêu chuẩn hoá
(normalization layer).
27
- Decoder có kiến trúc cũng tƣơng tự nhƣ encoder, chỉ có sự khác biệt
nhỏ là có thêm 1 lớp phụ thể hiện phân phối sự chú ý ở vị trí đầu tiên gọi là
Masked multi-head attention.
Hình 1.13 trình bày mô hình Transformer. Mô hình này gồm 2 phần
encoder bên trái và decoder bên phải
Hình 1. 13. Mô hình Transformer đƣợc đề xuất bởi tác giả Vaswani et al.
Nguồn: Vaswani et al, "Attention is all you need." [21].
Các thành phần quan trọng trong kiến trúc Transformer:
- Nhúng theo vị trí (Positional embedding): Vì Transformer không có
kiến trúc nhƣ mạng RNN nên không thể xác định đƣợc thứ tự vị trí của các từ
trong câu. Vì thế, vector này đƣợc thêm vào để giải quyết vấn đề này.
- Thêm và định mức (Add and Norm): Thực hiện chuẩn hóa dữ liệu đầu
ra từ multi-head attention về một khoảng giá trị nhằm giúp mô hình dễ hội tụ,
tăng độ chính xác.
Cơ chế tự chú ý (Self-attention): Cơ chế self-attention đƣợc xây dựng
dựa trên 3 vector biểu diễn là Query (Q), Key (K), Value (V). Query đƣợc sử
28
dụng khi một từ xem xét những từ còn lại trong câu, tìm kiếm thông tin xung
quanh để hiểu đƣợc ngữ cảnh và mối quan hệ của nó với các từ còn lại. Key sẽ
phản hồi yêu cầu của Query và đƣợc sử dụng để tính trọng số Attention. Chính
cơ chế Self-attention này sẽ giúp mỗi từ trong câu có khả năng tự điều chỉnh
trọng số của nó cho những từ khác trong câu sao cho từ nào càng gần vị trí của
nó thì trọng số sẽ càng lớn và khi xa dần nó thì trọng số sẽ càng nhỏ. Biểu thức
để tính toán Attention nhƣ sau:
(1.11)
Chú ý nhiều đầu (Multi-Head Attention):
Nhƣ vậy sau bƣớc thực hiện Self-attention chúng ta sẽ thu đƣợc 1 ma trận
Attention. Mỗi bƣớc nhƣ vậy đƣợc gọi là 1 head của Attention. Tuy nhiên, trong
ngôn ngữ để hiểu đƣợc ngữ nghĩa của một từ thì ta cũng cần hiểu sự liên quan
giữa từ đó và các thành phần còn lại trong câu đó. Vì thế, mô hình cần có nhiều
heads để tập trung vào nhiều thứ khác nhau, trong đó mỗi head sẽ có khả năng
học khác nhau về thông tin đó. Vì vậy, sau khi thu đƣợc ma trận Attention ở đầu
ra thì chúng ta sẽ thực hiện phép nối (concatenation) để thu đƣợc ma trận tổng
hợp multi-head.
(1.12)
Mô hình biểu diễn đầu vào cho mô hình BERT
Đầu vào cho mô hình BERT bằng cách sử dụng cấu trúc trên nhƣ hình
1.14. Đầu vào bao gồm một cặp câu, đƣợc gọi là chuỗi và hai mã thông báo đặc
biệt: [CLS] và [SEP] – Trong đó giá trị CLS thể hiện bắt đầu của mỗi câu và giá
trị SEP thể hiện giá trị kết thúc của câu đó. Vì vậy, trong ví dụ này, đối với hai
câu “my dog is cute” và “he likes play”, BERT đầu tiên sử dụng mã hóa từ ngữ
để chuyển đổi chuỗi thành mã thông báo và thêm mã thông báo [CLS] vào đầu
và mã thông báo [SEP] trong đầu và cuối câu thứ hai.
29
Hình 1.14. Mô tả đầu vào của kiến trúc mô hình BERT.
Nguồn: Devlin et al "Bert: Pre-training of deep bidirectional transformers for language understanding." [2]
Hình 1.15. Ví dụ biểu diễn 2 câu văn bản đầu vào của mô hình BERT.
Nguồn: Devlin et al "Bert: Pre-training of deep bidirectional transformers for language understanding." [2]
BERT đƣợc huấn luyện đồng thời trên hai bài toán gọi là Masked LM (để
dự đoán từ thiếu trong câu) và Next Sentence Prediction (NSP – dự đoán câu
tiếp theo câu hiện tại). Hai thứ này đƣợc huấn luyện đồng thời và hàm mất mát
tổng (Loss Function) sẽ là kết hợp hai hàm mất mát của cả hai bài toán và mô
hình sẽ cố gắng tối thiểu hóa tổng này. Chi tiết 2 bài toán này đƣợc trình bày
nhƣ sau:
- Huấn luyện mô hình ngôn ngữ mặt nạ (Masked Language Modeling):
Trong bài toán này chúng ta sẽ huấn luyện mô hình BERT bằng cách thực hiện
che đi tầm 15% số từ vựng trong câu và đƣa vào mô hình. Sau khi mô hình huấn
luyện thì mô hình sẽ dự đoán ra các từ bị che đó dựa vào các từ còn lại để cập
nhật lại các thông số. Lƣu ý rằng trong 15% từ đƣợc chọn để che mặt nạ, 10% số
từ vựng đó sẽ đƣợc thay thế bằng một từ vựng ngẫu nhiên. Phƣơng pháp thêm
nhiễu sẽ giúp BERT giảm thiên kiến về phía từ vựng có mặt nạ (đặc biệt khi từ
vựng nhãn không đổi) khi mã hóa ngữ cảnh hai chiều.
30
Hình 1.16. Mô tả quá trình Mô hình mặt nạ ngôn ngữ [15].
Nguồn: Mahesh B "Machine learning algorithms-a review"[15].
- Dự đoán Câu tiếp theo (Next Sentence Prediction): Mặc dù mô hình
hóa ngôn ngữ có mặt nạ có thể mã hóa ngữ cảnh hai chiều để biểu diễn từ ngữ,
nó không thể mô hình hóa các mối quan hệ logic giữa các cặp văn bản một cách
tƣờng minh. Để hiểu hơn về mối quan hệ giữa hai chuỗi văn bản, BERT sử dụng
tác vụ phân loại nhị phân, dự đoán câu tiếp theo trong quá trình tiền huấn luyện.
Khi sinh các cặp câu cho quá trình tiền huấn luyện, một nửa trong số đó là các
cặp câu liên tiếp nhau trong thực tế và đƣợc gán nhãn “Đúng” (True); và trong
nửa còn lại, câu thứ hai đƣợc lấy mẫu ngẫu nhiên từ kho ngữ liệu và cặp này
đƣợc gán nhãn “Sai” (False).
Hình 1. 17. Mô tả quá trình Dự đoán câu tiếp theo.
Nguồn: https://jalammar.github.io/illustrated-bert/
31
Quá trình tinh chỉnh mô hình BERT: Ý tƣởng chính của việc tinh chỉnh
là sử dụng trọng số đã học từ giai đoạn đào tạo trƣớc trong các nhiệm vụ hạ
nguồn với sự điều chỉnh kiến trúc dành riêng cho từng tác vụ tối thiểu để quá
trình đào tạo sẽ không tốn kém so với giai đoạn đào tạo trƣớc. Trong tài liệu về
BERT, chúng ta có thể thấy rằng việc sử dụng khái niệm này BERT có thể đạt
đƣợc kết quả hiện đại trong mƣời một nhiệm vụ cuối cùng là Hỏi và Trả lời, Suy
luận Ngôn ngữ Tự nhiên, v.v. Bài báo BERT chỉ ra một số cách để sử dụng mô
hình BERT đƣợc đào tạo trƣớc cho các nhiệm vụ khác nhau đƣợc hiển thị bên
dƣới:
Hình 1. 18. Các cách tinh chỉnh khác nhau dựa trên mô hình BERT.
Nguồn: https://helpex.vn/article/bert-transformers-chung-hoat-dong-nhu-the- nao-608ba7d24c4ecc9eb5d8eace
1.3. Phƣơng pháp biểu diễn từ
- Phƣơng pháp biểu diễn TF-IDF: Tf-idf (Term Frequency – Inverse
Document Frequency) đây là một phƣơng pháp rất phổ biến trong xử lý văn bản,
viết tắt của tần số tài liệu nghịch đảo tần số và trọng số tf-idf là trọng số thƣờng
đƣợc sử dụng trong truy xuất thông tin và khai thác văn bản. Trọng số này là
một thƣớc đo thống kê đƣợc sử dụng để đánh giá tầm quan trọng của một từ đối
32
với tài liệu trong bộ sƣu tập hoặc kho văn bản. Tầm quan trọng tăng tỷ lệ thuận
với số lần một từ xuất hiện trong tài liệu nhƣng đƣợc bù bởi tần số của từ trong
kho.
Trọng số TF-IDF đƣợc cấu thành bởi hai thuật ngữ: Đầu tiên tính toán
Tần số thuật ngữ chuẩn hóa (TF) bằng số lần một từ xuất hiện trong một tài liệu,
chia cho tổng số từ trong tài liệu đó; thuật ngữ thứ hai là Tần số tài liệu nghịch
đảo (IDF), đƣợc tính là logarit của số lƣợng tài liệu trong kho đƣợc chia cho số
lƣợng tài liệu xuất hiện thuật ngữ cụ thể.
TF: Tần suất thuật ngữ, đo tần suất xuất hiện của một thuật ngữ trong tài
liệu. Vì mỗi tài liệu có độ dài khác nhau, có thể một thuật ngữ sẽ xuất hiện nhiều
lần hơn trong các tài liệu dài hơn các tài liệu ngắn hơn. Do đó, tần suất thuật ngữ
thƣờng đƣợc chia cho độ dài tài liệu (hay còn gọi là tổng số thuật ngữ trong tài
liệu) nhƣ một cách chuẩn hóa:
TF- term frequency – tần số xuất hiện của 1 từ trong 1 văn bản. Cách
tính:
(3.1)
+ Thƣơng của số lần xuất hiện 1 từ trong văn bản và số lần xuất hiện
nhiều nhất của một từ bất kỳ trong văn bản đó. (giá trị sẽ thuộc khoảng [0, 1])
+ f(t,d) – số lần xuất hiện từ t trong văn bản d.
+ max{f(w,d):w d} – số lần xuất hiện nhiều nhất của một từ bất kỳ trong
văn bản.
* IDF: Tần số tài liệu nghịch đảo, đo lƣờng mức độ quan trọng của một
thuật ngữ. Trong khi tính toán TF, tất cả các điều khoản đƣợc coi là quan trọng
nhƣ nhau. Tuy nhiên, ngƣời ta biết rằng một số thuật ngữ nhất định, chẳng hạn
nhƣ là is, hung of, và, mà ra, có thể xuất hiện rất nhiều lần nhƣng không mấy
33
quan trọng. Do đó, chúng ta cần cân nhắc các thuật ngữ thƣờng xuyên trong khi
nhân rộng các thuật ngữ hiếm, bằng cách tính toán nhƣ sau:
IDF – inverse document frequency. Tần số nghịch của 1 từ trong tập
văn bản (corpus).
Tính IDF để giảm giá trị của những từ phổ biến. Mỗi từ chỉ có 1 giá trị
IDF duy nhất trong tập văn bản.
(3.2)
+ |D|: Tổng số văn bản trong tập D
+ : Số văn bản chứa từ nhất định, với điều kiện t xuất
hiện trong văn bản d. Nếu từ đó không xuất hiện ở bất cứ 1 văn bản nào trong
tập thì mẫu số sẽ bằng 0 => phép chia cho không không hợp lệ, vì thế ngƣời ta
thƣờng thay bằng mẫu thức 1+ .
1.4. Các công trình nghiên cứu trong và ngoài nƣớc
Bài toán phân tích cảm xúc trên khía cạnh đƣợc tập trung nghiên cứu bởi
các nhà nghiên cứu khoa học trong những năm gần đây. Từ những năm 2000,
bài toán khai thác ý kiến và phân tích cảm xúc bắt đầu xuất hiện và trở thành chủ
đề thảo luận sôi nổi trong lĩnh vực xử lý ngôn ngữ tự nhiên. Sau đây là các công
trình nghiên cứu liên quan đến bài toán phân tích ý kiến theo khía cạnh
- Tác giả Marzieh et al [10] cũng đã thực hiện phân tích các khía cạnh và
phân lớp cảm xúc (tích cực, tiêu cực) trên bộ dữ liệu Senti-hood của các câu trả
lời trên nền tảng Yahoo! mà ngƣời dùng để lại về những đánh giá và quan điểm
của họ trên những địa danh và khu vực lân cận của thành phố Luân Đôn.
- Bài toán phân tích ý kiến theo khía cạnh cho tiếng Anh và những ngôn
ngữ khác (không phải tiếng Việt) đƣợc giới thiệu điển hình là SemEval 2014,
2015 với nhiều bộ dữ liệu và phƣơng pháp đƣợc công bố. Từ đó thúc đẩy lĩnh
vực nghiên cứu này ngày càng nhiều
34
- Công trình của Kim Schouten và Flavius Frasincar [5] trình bày một
cách tổng quan về bài toán phân tích ý kiến trên khía cạnh. Trong công trình
này, tác giả đƣa ra định nghĩa và cấp độ bài toán phân tích ý kiến theo khía cạnh,
các phƣơng pháp đánh giá và khảo sát các mô hình và kết quả thử nghiệm đã
đƣợc đƣa vào nghiên cứu trƣớc đó đối với các bài toán khác nhau.
- Bộ ngữ liệu của Marianna Apidianaki và các cộng sự [12] xây dựng bộ
ngữ liệu ngôn ngữ tiếng Pháp trên hai miền dữ liệu nhà hàng và viện bảo tàng.
Trong công trình này, đối với lĩnh vực nhà hàng bộ ngữ liệu đƣợc xây dựng ở
cấp độ câu với số lƣợng 2365 câu và đối với lĩnh vực viện bảo toàn với số lƣợng
655 câu. Đồng thời, ngữ liệu này đƣợc xây dựng theo hai nhiệm vụ của hội thảo
SemEval2016 [13] là cấp độ câu đánh giá trong miền dữ liệu đối với miền dữ
liệu nhà hàng và ngoài miền dữ liệu đối với miền dữ liệu viện bảo tàng.
Đối với bài toán phân tích ý kiến theo khía cạnh cho tiếng Việt thì có các
công trình nhƣ sau:
- Vu Tien Thanh và cộng sự [20] trình bày một nghiên cứu về việc khai
thác ý kiến dựa trên khía cạnh về các đánh giá của ngƣời Việt về sản phẩm điện
thoại di động bằng cách trích xuất các ý kiến rõ ràng hoặc ngụ ý sử dụng quy tắc
cú pháp tiếng Việt.
- Hai Son Le và các cộng sự [4] đề xuất phƣơng pháp học bán giám sát
GK-LDA cho việc trích xuất và phân loại các thuật ngữ khía cạnh cho văn bản
tiếng Việt. Họ đã sử dụng phƣơng pháp dựa trên từ điển có thể trích xuất các
cụm danh từ để đạt đƣợc hiệu suất tốt hơn là chỉ trích xuất các hạt giống từ hoặc
sử dụng một câu hoàn chỉnh để suy ra các khía cạnh.
- Nguyen Thi Thanh Thuy cùng các cộng sự [16] xây dựng bộ ngữ liệu
tiếng Việt đối với miền dữ liệu nhà hàng ở cấp độ câu và giải quyết nhiệm vụ
phát hiện khía cạnh bằng việc kết hợp giữa ngữ liệu gán nhãn bằng tay và bộ
ngữ liệu tiếng Anh đƣợc dịch sang tiếng Việt. Cùng với đó đề xuất sử dụng từ
nhúng (word embedding) làm đặc trƣng cho mô hình và đạt đƣợc kết quả trên độ
đo F1 là 70.62%.
35
- Năm 2018, cộng đồng xử lý ngôn ngữ tự nhiên (Vietnamese Language
and Speech Processing - VLSP) đã tiến hành tổ chức cuộc thi và sử dụng bộ ngữ
liệu cho bài toán phân tích ý kiến và phân tích ý kiến trên khía cạnh đối với
miền dữ liệu nhà hàng và khách sạn của Huyên và các cộng sự [17]. Bộ ngữ liệu
đƣợc xây dựng ở mức độ đoạn cho bài toán phân tích ý kiến trên khía cạnh với
4751 đoạn bình luận đối với miền dữ liệu nhà hàng và 5600 đoạn bình luận đối
với miền dữ liệu khách sạn.
- Quang Hoang Vo và các cộng sự [18] cũng đã xây dựng ra một bộ dữ
liệu có tên là “Vietnamese Sentiment” gồm 17,500 phản hồi của ngƣời dùng trên
trang thƣơng mại điện tử. Họ đã giới thiệu một mô hình mới tích hợp các điểm
nổi trội của mạng nơ-ron Convolutional Neural Network (CNN) và LSTM. Mô
hình này cho các kết quả tốt hơn CNN, LSTM, và Support Vector Machine trên
bộ dữ liệu phân tích ý kiến trên tiếng Việt. Tuy nhiên việc phân tích ý kiến thì
lại phát triển mạnh mẽ trên nhiều miền dữ liệu đa dạng.
- Trong đó “The 2018 10th International Conference on Knowledge and
Systems Engineering (KSE 2018)” với bộ dữ liệu đƣợc phát triển và xây dựng
về phân tích ý kiến là “UIT-VSFC: Vietnamese Students’ Feedback Corpus for
Sentiment Analysis” với các tác giả đóng góp gồm Kiet và các cộng sự [7].
36
Chƣơng 2: XÂY DỰNG DỮ LIỆU
DỰA TRÊN Ý KIẾN PHẢN HỒI CỦA SINH VIÊN
2.1. Giới thiệu
Trong chƣơng này, nhóm nghiên cứu viết về quá trình xây dựng bộ dữ
liệu cho bài toán phân tích ý kiến phản hồi của sinh viên theo khía cạnh đối với
miền dữ liệu giáo dục. Mục đích của quá trình này là tạo ra một bộ dữ liệu chuẩn
phục vụ cho việc nghiên cứu đã đƣợc đặt ra trong đề tài. Bộ dữ liệu mà nhóm
nghiên cứu xây dựng đƣợc sẽ ảnh hƣởng lớn đến kết quả của các phƣơng pháp
thử nghiệm mà nhóm nghiên cứu đã chọn.
Ý kiến phản hồi của sinh viên về chất lƣợng giảng dạy của giảng viên,
chƣơng trình dạy học cũng nhƣ là cơ sở vật chất thể hiện sự quan tâm của sinh
viên đối với việc học của chính họ, đồng thời cũng thể hiện mong muốn của sinh
viên đối với giảng viên và cơ sở giáo dục. Để có thể xây dựng tốt bộ dữ liệu
phục vụ tốt cho việc nghiên cứu của nhóm nghiên cứu và đáp ứng đƣợc việc áp
dụng thực tế trong hiện tại và tƣơng lai, nhóm nghiên cứu đã tìm hiểu nhiều
nghiên cứu đã đi trƣớc, đồng thời cũng phân tích những lợi ích khi thừa kế bộ dữ
liệu đã đƣợc công bố. Tuy nhiên, qua tìm hiểu nhóm nghiên cứu nhận thấy hiện
nay chƣa có bộ dữ liệu chuẩn về ý kiến phản hồi của sinh viên theo khía cạnh
mà chỉ có bộ dữ liệu UIT-VSFC đƣợc Kiet và các cộng sự [7] công bố năm 2018
để phân tích ý kiến của sinh viên. Vì chƣa có bộ dữ liệu nào đƣợc công bố cho
nên mục tiêu của nhóm nghiên cứu là phải xây dựng một bộ dữ liệu chuẩn phục
vụ cho bài toán phân tích ý kiến theo khía cạnh. Để xây dựng bộ dữ liệu ý kiến
phản hồi của sinh viên theo khía cạnh nhóm nghiên cứu đã tiến hành thu thập ý
kiến phản hồi của sinh viên học tại Phân hiệu Trƣờng đại học nội vụ Hà Nội tại
TP.HCM về các học phần mà sinh viên đƣợc học trong học kỳ 2 năm học 2020 -
2021, đồng thời nhóm nghiên cứu quyết định thừa kế bộ dữ liệu UIT-VSFC.
Sau đây nhóm nghiên cứu trình bày việc gán nhãn dữ liệu, kiểm tra chất
lƣợng gán nhãn của dữ liệu và kết quả thông tin chi tiết về số lƣợng cũng nhƣ
các phân tích từ bộ dữ liệu.
37
2.2. Gán nhãn dữ liệu
2.2.1. Mục tiêu của việc gán nhãn
Mục tiêu của việc gán nhãn dữ liệu là tạo ra một bộ dữ liệu chuẩn để áp
dụng các phƣơng pháp học máy có giám sát. Đối với bài toán phân tích ý kiến
theo khía cạnh, nhóm nghiên cứu tiến hành gán nhãn dữ liệu theo các bài toán
nhƣ sau:
+ Phát hiện loại khía cạnh: Cho câu hoặc một đoạn ý kiến phản hồi của
sinh viên và một tập các loại khía cạnh đã đƣợc định nghĩa trƣớc, mục tiêu là
xác định loại khía cạnh đƣợc đề cập trong bình luận. Ví dụ nhƣ sau:
Đầu vào: “Thầy dạy rất hay tuy nhiên thầy không nhiệt tình giúp đỡ sinh
viên”
Đầu ra: Kỹ năng giảng dạy, hành vi
Trong đó: Kỹ năng giảng dạy đƣợc định nghĩa chỉ đến cách tổ chức dạy
học, phƣơng pháp dạy học lý thuyết, thực hành của giảng viên. hành vi đƣợc
định nghĩa chỉ đến các hành vi, thái độ của giảng viên trong giảng dạy và giao
tiếp với ngƣời học.
+ Phát hiện cảm xúc từng khía cạnh: Với đầu vào là ý kiến phản hồi
của sinh viên và các loại khía cạnh đã đƣợc xác định ở bài toán trên, chúng ta
cần phân tích xem các khía cạnh đƣợc phát hiện ra ở bài toán trên có cảm xúc
nhƣ thế nào. Trong đề tài này, nhóm nghiên cứu sử dụng 3 mức độ cảm xúc
khác nhau đó là: tiêu cực (negative), bình thƣờng (neural), tích cực (positive). Ví
dụ chi tiết đƣợc trình bày nhƣ sau:
Đầu vào:
Bình luận: “Thầy dạy rất hay tuy nhiên thầy không nhiệt tình giúp đỡ
sinh viên”
Loại khía cạnh: KỸ NĂNG GIẢNG DẠY, HÀNH VI
Đầu ra:
38
{KỸ NĂNG GIẢNG DẠY : TÍCH CỰC}
{HÀNH VI: TIÊU CỰC}
2.2.2. Quy trình gán nhãn
Sau khi nghiên cứu các ý kiến phản hồi của sinh viên học tại Phân hiệu
TP.HCM và bộ dữ liệu UIT-VSFC nhóm nghiên cứu tiến hành xây dựng tài liệu
hƣớng dẫn gán nhãn, huấn luyện ngƣời gán nhãn, thực hiện việc gán nhãn dữ
liệu và cập nhật bổ sung quy tắc gán nhãn sau mỗi lần đánh giá dữ liệu dựa trên
độ đo đồng thuận Kappa.
Quy trình gán nhãn dữ liệu đƣợc trình bày nhƣ Hình 2.1 giai đoạn chính
nhƣ sau:
Bƣớc 1: Thu thập dữ liệu
Bƣớc 2: Xây dựng tài liệu hƣớng dẫn gán nhãn dữ liệu
Bƣớc 3: Huấn luyện ngƣời gán nhãn (annotators)
Bƣớc 4: Đánh giá kết quả gán nhãn dữ liệu
Bƣớc 5: Thực hiện gán nhãn dữ liệu độc lập, đóng gói và chuyển giao dữ liệu
Hình 2. 1. Quy trình xây dự bộ dữ liệu
39
2.3. Tài liệu hƣớng dẫn các nguyên tắc gán nhãn dữ liệu
Để xây dựng tài liệu hƣớng dẫn gán nhãn nhóm nghiên cứu đã nghiên cứu
các ý kiến phản hồi của sinh viên học tại Phân hiệu TP.HCM và bộ dữ liệu UIT-
VSFC một cách kỹ lƣỡng. Nhóm nghiên cứu nhận thấy sự tƣơng đồng rất lớn
giữa hai bộ ý kiến đó là các vấn đề mà sinh viên thƣờng đề cập trong ý kiến rất
giống nhau ví dụ nhƣ sinh viên thƣờng đề cập đến cách giảng dạy của giảng
viên, hành vi và thái độ của giảng viên, cơ sở vật chất của nhà trƣờng, đặt biệt là
các em thƣờng xuyên đƣa ra các đề xuất. Từ việc nghiên cứu các ý kiến nhóm
nghiên cứu quyết định đƣa ra 11 khía cạnh sau: 1. Kỹ năng giảng dạy, 2. Hành
vi, 3. Kiến thức, 4. Kinh nghiệm, 5. Bài tập, 6. Cung cấp tài liệu, 7. Chấm điểm,
8. Chƣơng trình học, 9. Thiết bị dạy học, 10. Nói chung, 11. Đề xuất và 3 mức
độ cảm xúc là Tích cực, trung tính và Tiêu cực.
2.3.1. Quy tắc gán nhãn khía cạnh:
Kỹ năng giảng dạy - Teaching skill: Các ý kiến đề cập đến cách tổ chức
dạy học, phƣơng pháp dạy học lý thuyết, thực hành của giảng viên, các tƣơng
tác diễn ra trong quá trình học. Khả năng ngƣời dạy thực hiện các hành động
phù hợp làm cho ngƣời học hiểu hay không hiểu bài.
Ví dụ:
- Thầy giáo dạy dễ hiểu
- Thầy dạy rất hay.
- Thầy dạy dở, dạy chán,
- Thầy dạy buồn thiu, khó hiểu,
- Thầy dạy thú vị, thu hút
…….
Hành vi - Behavior: Các ý kiến đề cập đến các hành vi, thái độ của
giảng viên trong giảng dạy và giao tiếp với ngƣời học. Trong nghiên cứu này,
40
trọng tâm là hành vi, thái độ hƣớng đến mối quan hệ vì nó bao gồm các thuật
ngữ nhƣ lịch sự, tử tế, vô tƣ, v.v.
Ví dụ :
- Thầy dạy nhiệt tình.
- Cô giáo vui vẻ, quan tâm đến sinh viên, giúp đỡ sinh viên mọi lúc mọi
nơi….., tận tình góp ý từng bài, gần gũi sinh viên,
- Thầy hay đòi hỏi sinh viên những điều hơi quá cao.
- Thầy quá bảo thủ.
- Thầy luôn cho rằng ý kiến của thầy là đúng nhất , ngoài ra mọi ý kiến
khác đều sai.
- Thầy thƣờng xuyên đi trễ, khiến cả lớp phải chờ thầy.
- …….
Kiến thức - Knowledge: Các ý kiến đề cập đến mức độ hiểu biết của
giảng viên về nội dung giảng dạy, bao gồm kiến thức đã cung cấp cho sinh viên.
Ví dụ:
- Giảng viên có chuyên môn rất tốt , kiến thức rộng , giải đáp đƣợc mọi
thắc mắc của sinh viên,
- Thầy có kiến thức sâu rộng , cung cấp nhiều kiến thức hay .
- Kiến thức thầy cung cấp chƣa có trọng tâm
- ……..
Kinh nghiệm - Experience: Các ý kiến đề cập đến kinh nghiệm thực tiễn
và việc đƣa nội dung thực tiễn lồng ghép vào bài giảng của giảng viên
Ví dụ:
- Bài giảng có tính thực tiễn cao.
- Giảng Viên chia sẻ kinh nghiệm thực tế, truyền đạt thực tiễn vấn đề.
- Giảng viên có cập nhật thông tin mới nhất về tình hình thực tế , đƣa
nhiều thông tin thực tế vào bài giảng,
41
- Không dạy kiến thức thực tế toàn giảng dạy theo giáo trình,
- Ngoài những điều trong giáo án sinh viên hiểu đƣợc học rất nhiều điều
về thứ khác trong thực tế.
Bài tập - Assessment: Các ý kiến đề cập đến bài tập, số lƣợng bài tập và
các loại bài tập của giảng viên đã giao cho sinh viên và bao gồm luôn việc giảng
viên có hƣớng dẫn bài tập hay không
Ví dụ:
- Bài tập hay,
- Bài tập nhiều,
- Bài tập trên trời mà chẳng bao giờ sửa,
- Có nhiều bài tập về nhà cơ bản lẫn nâng cao,
- Bài tập mỗi tuần đều có và đầy đủ...
- …..
Cung cấp tài liệu - Provide documents: Các ý kiến đề cập đến việc cung
cấp tài liệu, giáo trình, giáo án của giảng viên.
Ví dụ:
- Thầy thông tin đầy đủ các nguồn tham khảo, hỗ trợ thêm giáo trình
không phải slide cho sinh viên, slide dễ hiểu.
- Thầy không cung cấp tài liệu, slide chuẩn bị chƣa tốt,
Chấm điểm - Mark: Các ý kiến đề cấp đến hoạt động chấm điểm của
giảng viên.
Ví dụ:
- Giảng viên chỉ nhìn qua chƣa đầy 30 giây và cho điểm 9 ngay lập tức.
- Thầy cập nhật điểm thi giữa kỳ chậm, nên sinh viên không biết mức độ
phấn đấu nhƣ thế nào.
- Thầy chấm bài đánh giá đúng năng lực.
- Cách thầy đánh giá chƣa hợp lý ,
42
Chƣơng trình học - Training program: Các ý kiến đề cập đến chƣơng
trình học, đề cƣơng, môn học.
Ví dụ:
- Môn học chƣa thực tiễn, chƣa thu hút sinh viên.
- Cấu trúc đề cƣơng chƣa rõ ràng
- Môn học toàn kiến thức mới mẻ, môn học chỉ có học lý thuyết không có
thực hành.
- Chƣơng trình học tuyệt vời.
Thiết bị dạy học - Teaching equipment: Các ý kiến đề cập đến trang
thiết bị dạy học nhƣ phòng học, máy chiếu, quạt, đèn….
Ví dụ:
- Máy quạt không chạy, bàn ghế còn bụi
- Em học ở phòng mà bên cạnh là công trình đang thi công khá là ồn ào,
- Máy chiếu mờ, mic không rõ, phòng học nóng, máy quạt hỏng.
- ……….
Nói chung - General: Các ý kiến đề cập đến vấn đề chung hoặc không
thuộc các khía cạnh trên.
Ví dụ:
- Đề thi dài.
- Thời khóa biểu xếp chƣa hợp lý.
- Em rất quý mến thầy.
- Thầy rất đẹp trai, em thích thầy.
- Tốt
……………….
Đề xuất - Proposed: Các ý kiến đề cập đến đề xuất, mong muốn của sinh
viên gửi đến giảng viên và nhà trƣờng.Ví dụ:
- Không đƣợc làm những chuyện riêng trong lúc dạy thực hành.
- Mong thầy xem lại cách đánh giá.
43
- Hi vọng thầy có thể sắp xếp thời gian .
- Đầu tƣ thêm nhiều công cụ dạy học.
- Thầy cho chép bài ít thôi, tập trung sửa bài đƣợc không ạ.
- Tăng cƣờng chất lƣợng phòng học.
- Thầy có kinh nghiệm thì nên chỉ rõ lỗi sai của sinh viên chứ không nên
hỏi vặn vẹo, gây khó chịu.
- ………………
2.3.2. Quy tắc gán nhãn bài toán trạng thái cảm xúc
Tích cực – Positive : Các khía cạnh đƣợc đề cập đến có trạng thái tích
cực, mang tính khen nhƣ dạy tốt, dạy hay hoặc trang thiết bị tốt, chất lƣợng…
Đối với các câu bình luận trong cùng một khía cạnh có đề cập đến trạng thái tích
cực và trung tính thì cũng đƣợc gán nhãn này.
Ví dụ:
- Giảng viên dạy nhiệt tình
- Cơ sở vật chất của nhà trƣờng mới, hiện đại
Trung tính - Neutral: Các khía cạnh đƣợc đề cập có trạng thái trung tính,
bình thƣờng nhƣ truyền đạt bình thƣờng, bài tập cho cũng vừa phải, dạy bình
thƣờng, các câu nói chung chung không khen cũng không chê.
Ví dụ:
- Mình thấy giảng viên dạy bình thƣờng, bài tập không khó lắm
- Mình thấy cũng ổn với khối lƣợng nhƣ thế này.
Tiêu cực – Negative: Các khía cạnh đƣợc đề cập dƣới trạng thái tiêu cực,
mang tính chê đối với khía cạnh nhƣ là giáo viên khó tính, giáo viên hay đi trễ, ít
slides hoặc không cho nhiều bài tập.
Ví dụ:
- Giảng viên dạy khó hiểu lắm
- Slide trình chiếu không rõ ràng, cần cải thiện hơn nữa.
44
2.4. Huấn luyện ngƣời gán nhãn
Để quá trình huấn luyện ngƣời gán nhãn đƣợc thuận lợi và tạo ra bộ dữ
liệu có chất lƣợng nhóm nghiên cứu tiến hành quá trình huấn luyện theo hai giai
đoạn, mỗi giai đoạn đều đánh đƣợc giá trên cả 2 bài toán đó là bài toán phát hiện
khía cạnh và bài toán phát hiện cảm xúc trên mỗi khía cạnh. Giai đoạn 1 là giai
đoạn gán chung tập dữ liệu con để tính độ đồng thuận của các thành viên gán,
giai đoạn 2 là giai đoạn tiến hành gán độc lập khi độ đồng thuận của các thành
viên đạt 80% trở lên. Nhóm gán nhãn trong đề tài này bao gồm 2 giảng viên và 1
chuyên viên của Phân hiệu Trƣờng Đại học Nội vụ Hà Nội tại TP.HCM. Cụ thể
2 giai đoạn của quá trình gán nhãn nhƣ sau.
- Giai đoạn 1: Các thành viên đƣợc cung cấp 1 bộ dữ liệu giống nhau
gồm 300 ý kiến phản hồi của sinh viên và tài liệu hƣớng dẫn gán nhãn. Sau đó
mỗi thành viên thực hiện việc gán nhãn một cách độc lập bằng cách tham khảo
tài liệu hƣớng dẫn gán nhãn rồi tự suy luận để chọn nhãn khía cạnh và nhãn cảm
xúc phù hợp cho mỗi ý kiến phản hồi của sinh viên. Sau khi có kết quả gán nhãn
của các thành viên nhóm nghiên cứu tiến hành tính độ đồng thuận giữa các
thành viên gán nhãn và đƣa ra kết quả chi tiết so sánh quá trình gán nhãn giữa
các thành viên. Tiếp theo, nhóm gán nhãn sẽ tiến hành họp nhóm để thảo luận và
đƣa ra ý kiến đối với các tình huống chƣa hợp lý và với những bình luận có sự
khác biệt về nhãn của các thành viên, sau khi có kết luận chung thì nguyên tắc
gán nhãn sẽ cập nhật, bổ sung hoặc chỉnh sửa tài liệu hƣớng dẫn gán nhãn. Giai
đoạn một sẽ đƣợc lặp đi lặp lại nhiều lần khi độ đồng thuận giữa các thành viên
lớn hơn một ngƣỡng nhất định là 80% đối với cả hai bài toán thì sẽ đƣợc tiến
hành giai đoạn 2.
- Giai đoạn 2: Ở giai đoạn này mỗi thành viên đƣợc giao từ 1.000 ý kiến
phản hồi của sinh viên để tiến hành gán nhãn độc lập trong vòng 3 tháng. Trong
quá trình gán độc lập nếu có những ý kiến nhập nhằng, ý kiến gây ra sự mâu
thuẫn trong quá trình lựa chọn, các thanh viên chia sẻ ý kiến đó lên nhóm để
45
nhóm tiến hành thảo luận và ghi chú lại, bổ sung và cập nhật vào bộ quy tắc gán
nhãn để đạt kết quả cao trong quá trình gán nhãn.
Trong quá trình gán nhãn, nhóm nghiên cứu nhận thấy có một số vấn đề
nhƣ sau:
+ Đối với những ý kiến phản hồi mang ý nghĩa trực tiếp thì chỉ cần dựa
vào tài liệu hƣớng dẫn gán nhãn để chọn gán nhãn khía cạnh và nhãn cảm xúc.
Đối với những ý kiến nhƣ vậy thì thƣờng có sự đồng thuận rất cao giữa những
ngƣời gán nhãn. Tuy nhiên, trong bộ dữ liệu thƣờng xuất hiện những ý kiến
mang ý nghĩa gián tiếp nói điều này nhƣng ngụ ý điều khác, hoặc là so sánh giữa
giảng viên này và giảng viên khác hoặc là những ý kiến mô tả vấn đề xung
quanh vấn đề cần ý kiến
Ví dụ:
- Tôi đã thấy giảng viên chỉ nhìn qua chƣa đầy 30 giây và cho điểm 9
ngay lập tức
- Thầy dạy hay hơn thầy dạy lần 1 một tí.
- Dù phƣơng pháp học tập này khá hiệu quả nhƣng vẫn có chút nào đó
nghi ngờ từ phần thuyết trình của các bạn, liệu các kiến thức đó có chuẩn xác và
cập nhật chƣa. Đến khi cuối kỳ, chỉ cần sinh viên mắc một sai sót nhỏ thì sẽ rớt
môn.
- Giảng viên và sinh viên sử dụng hai ngôn ngữ lập trình khác nhau trong
quá trình học và cả hai phía đều không biết đủ về ngôn ngữ khác nên gây rất
nhiều khó khăn trong quá trình học.
- Thầy dạy hay muốn xỉu
Để đánh giá độ đồng thuận giữa các thành viên trong nhóm gán nhãn,
nhóm nghiên cứu sử dụng độ đo đồng thuận Cohen’s kappa để đánh giá. Công
thức đƣợc tính nhƣ sau:
(2.1) Am =
46
Trong đó Am là độ đồng thuận, Po là độ đo đồng thuận quan sát sát đƣợc
(tỷ lệ các câu mà cả hai thành viên bất kỳ đều đánh đúng một cặp nhãn) và Pe là
độ đồng thuận kỳ vọng.
Sau đây là kết quả độ đồng thuận trên hai bài toán trong bộ dữ liệu mà
nhóm nghiên cứu gán nhãn. Đối với bài toán phát hiện thể loại khía cạnh đã đạt
đƣợc tỷ lệ độ đồng thuận Am là 88,95% và phát hiện cảm xúc trên khía cạnh đạt
đƣợc tỷ lệ độ đồng thuận Am 80,52%. Các giá trị độ đồng thuận này thỏa điều
kiện ban đầu mà nhóm đã đặt ra yêu cầu.
2.5. Thống kê dữ liệu và đánh giá dữ liệu.
Sau thời gian làm việc nghiêm túc, nhiệt tình của các thành viên kết quả
cuối cùng, nhóm nghiên cứu đã xây dựng đƣợc 5010 câu ý kiến phản hồi của
sinh viên đƣợc gán nhãn theo 11 khía cạnh và 3 trạng thái cảm xúc khác nhau.
Bộ dữ liệu của nhóm nghiên cứu đƣợc chia thành ba tập khác nhau là tập huấn
luyện, tập phát triển và tập kiểm tra theo tỷ lệ chia 7/1/2.
Bảng 2.1. Danh sách thống kê số lƣợng các khía cạnh trong bộ dữ liệu
Ký hiệu Khía cạnh Số lƣợng
#aspect1 Kỹ năng giảng dạy 1.690
#aspect2 Kinh nghiệm 120
#aspect3 Hành vi 1.964
#aspect4 Bài tập 566
#aspect5 Chấm điểm 51
#aspect6 Cung cấp tài liệu 275
#aspect7 Kiến thức 156
#aspect8 Chƣơng trình học 213
#aspect9 Thiết bị dạy học 61
#aspect10 Đề xuất 79
#aspect11 Nói chung 116
47
Nhìn vào Bảng 2.1, chúng ta dễ dàng nhận thấy đƣợc sự mất cân đối giữa
các khía cạnh với nhau, cụ thể đối với các khía cạnh liên quan đến nhƣ “kỹ năng
giảng dạy”, “hành vi” hay “bài tập” của giảng viên đƣợc sinh viên nhận xét
nhiều. Còn đối với các khía cạnh nhƣ là “chấm điểm”, “thiết bị dạy học”, “đề
xuất” ít đƣợc sinh viên đề cập đến. Nguyên nhân dẫn đến sự mất cân bằng đó là
do hầu hết các ý kiến phản hồi mà nhóm nghiên cứu nhận đƣợc là lấy từ các
khảo sát sinh viên đánh giá về chất lƣợng giáo dục, nên hầu hết các ý kiến phản
hồi của sinh viên sẽ nhận xét đến giảng viên là điều tất nhiên. Đối với bài toán
này, việc mất cân bằng giữa các khía cạnh là một điều không thể tránh khỏi vì
dữ liệu nhóm nghiên cứu đƣợc thu thập từ những ý kiến thực thế. Vì vậy, sự
chênh lệch giữa các khía cạnh này cũng là một thách thức trong bộ dữ liệu của
nhóm nghiên cứu xây dựng.
48
Chƣơng 3: KẾT QUẢ THỬ NGHIỆM TRÊN CÁC MÔ HÌNH MÁY HỌC
VÀ PHẦN MỀM PHÂN TÍCH TỰ ĐỘNG Ý KIẾN PHẢN HỒI CỦA SINH
VIÊN VỀ CHẤT LƢỢNG ĐÀO TẠO THEO KHÍA CẠNH
3.1. Mô hình máy học
Hình 3.1. Mô hình đề xuất trong bài toán phân loại văn bản.
Hình 3.1 trình bày chi tiết quá trình huấn luyện mô hình và đánh giá.
Trong đó, các thành phần có nội dung nhƣ sau:
- Tiền xử lý: Tại bƣớc này, nhiều kỹ thuật tiền xử lý văn bản sẽ đƣợc áp
dụng để chuẩn hóa văn bản đầu vào trƣớc khi rút trích các đặc trƣng của văn
bản. Các bƣớc tiền xử lý có thể kể đến nhƣ loại bỏ từ dừng (stop words), loại bỏ
ký tự đặc biệt, loại bỏ dấu câu và tách từ...v.v.
- Rút trích đặc trƣng: Là bƣớc lựa chọn các đặc trƣng mang nhiều thông
tin của mỗi loại nhãn khác nhau để phân biệt giữa các nhãn trong dữ liệu huấn
luyện. Việc rút trích đặc trƣng có vai trò quan trọng ảnh hƣởng đến chất lƣợng
của bộ phân lớp.
- Biểu diễn đặc trƣng: Sau khi rút trích đặc trƣng từ văn bản, chúng ta sẽ
biểu diễn các đặc trƣng sử dụng mô hình TF-IDF. Các đặc trƣng này sẽ đƣợc
chuyển thành các vecto số và đƣa vào mô hình học.
- Thuật toán máy học: Dựa vào các đặc trƣng đƣợc rút trích sau khi
vector hóa sẽ đƣa vào các mô hình huấn luyện nhƣ SVM, Naive Bayes để học
các đặc trƣng cho từng nhãn khác nhau và đƣa ra một phân lớp đã đƣợc học trên
tập huấn luyện.
- Mô hình phân lớp: Là mô hình máy học sau khi huấn luyện trên tập dữ
liệu huấn luyện đƣợc lƣu lại để làm mô hình phân loại.
49
3.2. Mô hình học sâu
Kiến trúc mô hình tổng quát đƣợc thử nghiệm trong đề tài này đƣợc nhóm
nghiên cứu trình bày ở Hình 3.2. Đây là một mô hình kết hợp giữa hai mô hình
mạng hồi quy hai chiều là Bidirectional Long short-term memory và mô hình
mạng tích chập Convolutional Neural Network – viết tắt là BiLSTM-CNN.
Hình 3.2. Kiến trúc mô hình kết hợp BiLSTM-CNN cho bài toán tích ý kiến theo khía cạnh trên miền dữ liệu giáo dục
Mô hình đƣợc mô tả ở Hình 3.2 bao gồm các thành phần chính nhƣ sau:
Lớp đầu vào (Input), lớp nhúng từ (Embedding), lớp mạng hồi quy LSTM hai
chiều (BiLSTM), Lớp tích chập (Convolution), lớp gộp (Pooling), lớp phân loại
(Fully connected) và lớp đầu ra (Output). Trong đó, chi tiết các thành phần
chính đƣợc trình bày nhƣ sau:
+ Lớp đầu vào: Các phản hồi sau khi qua bƣớc tiền xử lý sẽ đƣợc biểu
diễn thành các véc tơ số với chiều dài cố định với chiều của vectơ cố định là
bình luận dài nhất. Các bình luận không đủ độ dài sẽ đƣợc tự động thêm giá trị
+ Lớp nhúng từ: Mỗi từ vựng sẽ đƣợc chuyển thành một vectơ đại diện
thông tin biểu diễn của chúng. Các công trình nghiên cứu trƣớc đây đã chứng
minh việc sử dụng các bộ nhúng từ (pre-trained word embedding) đem lại hiệu
quả tốt hơn so với việc khởi tạo các vector này một cách ngẫu nhiên. Chính vì thế,
trong đề tài này, nhóm nghiên cứu sử dụng bộ nhúng từ đã đƣợc huấn luyện sẵn dành1 cho tiếng Việt đƣợc huấn luyện trên miền dữ liệu tin tức để rút trích các
1 https://github.com/sonvx/word2vecVN
vectơ từ vựng.
50
+ Lớp BiLSTM: Kế tiếp, nhóm nghiên cứu sử dụng một mô hình mạng
hồi quy LSTM hai chiều để khai thác thông tin mối liên hệ của các từ vựng theo
ngữ cảnh trƣớc và sau trong câu bình luận.
+ Lớp tích chập: Dựa trên các véc tơ biểu diễn từ lớp BiLSTM, nhóm
nghiên cứu sử dụng nhiều bộ lọc (filter) với các kích thƣớc khác nhau để rút
trích các đặc trƣng cục bộ của bình luận. Cụ thể, kích thƣớc bộ lọc đƣợc sử dụng
trong lớp này có kích thƣớc là 2,3 và 4. Các giá trị này cho phép mô hình rút
trích ra các đặc trƣng cục bộ 2-gram, 3-gram và 4-gram.
+ Lớp gộp: Ở tầng kiến trúc này, nhóm nghiên cứu sử dụng kỹ thuật
Global Max Pooling cho mỗi lớp tích chập để rút trích ra các đặc trƣng quan
trọng của bình luận để làm véc tơ biểu diễn cho toàn bộ đầu vào.
+ Lớp phân loại: Sau khi rút trích ra các đặc trƣng quan trọng biểu diễn
đầu vào, nhóm nghiên cứu đƣa các đặc trƣng này qua lớp phân loại với hàm kích
hoạt RELU để xác định xem nhãn khía cạnh và trạng thái cảm xúc tƣơng ứng
đƣợc đề cập bình luận trong đầu vào.
+ Lớp đầu ra: Mỗi khía cạnh và trạng thái cảm xúc tƣơng ứng sẽ đƣợc
biểu diễn thành một one-hot véc tơ có độ dài là 4 phần tử đại diện cho các thông
tin: None, positive, neutral, negative. Nhóm nghiên cứu sử dụng một bộ phân
lớp với hàm kích hoạt softmax tƣơng ứng mỗi khía cạnh để tính toán giá trị phân
bố xác suất của từng nhãn phân loại.
∑
(3.4) ∑ ̂
Bộ dữ liệu ý kiến phản hồi sinh viên của nhóm nghiên cứu là một bộ dữ
liệu không chứa nhiều lỗi ngữ pháp, từ vựng. Tuy nhiên, để tăng độ chính xác
cho mô hình, nhóm nghiên cứu vẫn tiến hành các bƣớc xử lý dữ liệu trƣớc khi
huấn luyện. Các bƣớc tiền xử lý đƣợc trình bày nhƣ sau:
51
+ Bƣớc 1: Xóa các thông tin dƣ thừa trong bình luận nhƣ nhiều khoảng
trắng, dấu chấm câu hoặc các icon trong bình luận và áp dụng các biểu thức
chính quy để thay thế các dữ liệu số thành ký từ “num”.
+ Bƣớc 2: Sau đó, nhóm nghiên cứu sử dụng thƣ viện Pyvi2 để tách đầu
vào thành các từ vựng bởi vì một từ vựng trong tiếng Việt đƣợc cấu tạo từ một
hoặc nhiều âm tiết.
+ Bƣớc 3: Bƣớc cuối cùng là chuyển tất cả các từ vựng trong chuỗi đầu
vào thành chữ thƣờng để giảm kích thƣớc từ vựng trong bộ dữ liệu và nâng cao
hiệu quả.
3.3. Mô hình ngôn ngữ BERT
Trong đề tài này, nhóm nghiên cứu sử dụng một mô hình kiến trúc dựa
trên mô hình ngôn ngữ đƣợc đào tạo trƣớc (pretrained language model) BERT.
Nhóm nghiên cứu sử dụng kiến trúc BERT đƣợc công bố bởi nghiên cứu của
Viện VinAI [6] công bố vào năm 2020. Mô hình PhoBERT đƣợc tối ƣu hoá sử
dụng quá trình huấn luyện dựa trên quy trình RoBERTa và đƣợc huấn luyện trên
20GB dữ liệu văn bản tiếng Việt. Kết quả thí nghiệm đƣợc công bố trong bài
báo của tác giả [6] đã chứng minh rằng việc tinh chỉnh trên mô hình BERT đem
lại kết quả tốt hơn so với các phƣơng pháp học sâu khác. Lý do là vì BERT cho
phép chúng ta biểu diễn thông tin vector của từ vựng theo ngữ cảnh tốt hơn so
với các phƣơng pháp truyền thống trƣớc đây, cụ thể nhƣ là phƣơng pháp nhúng
từ word2vec hay Glove. Do đó, trong đề tài này, nhóm nghiên cứu tiến hành thử
nghiệm đề xuất kiến trúc BERT kết hợp để áp dụng trong bài toán phân tích ý
2 https://github.com/trungtv/pyvi
kiến phản hồi của sinh viên. Mô hình đƣợc trình bày nhƣ ở Hình 3.3.
52
Hình 3. 3. Kiến trúc tinh chỉnh mô hình BERT
Chi tiết các thành phần chính của mô hình PhoBERT đƣợc trình bày nhƣ sau:
+ Lớp đầu vào: Mỗi câu bình luận đầu vào của ngƣời dùng đã đƣợc tiền
xử lý với n từ vựng có dạng nhƣ sau: = , , …, với là vị trí thứ i
trong chuỗi đầu vào sẽ đƣợc tách thành các từ vựng và đƣợc biểu diễn thành các
giá trị số dựa trên tập từ điển đã huấn luyện của mô hình phoBERT[6]. Thêm
vào đó, vị trí của từng mẫu từ cũng đƣợc lấy để làm đầu vào cho mô hình
BERT. Nhóm nghiên cứu lựa chọn ý kiến phản hồi dài nhất trong tập huấn luyện
là giá trị đồ dài đầu vào, đối với các câu có độ dài ngắn hơn sẽ tự động đƣợc
thêm giá trị
+ Lớp mã hóa: Bởi vì lý do tài nguyên huấn luyện mô hình nên nhóm
nghiên cứu quyết định lựa chọn sử dụng kiến trúc BERT cơ sở (BERT based)
với 12 khối Transformer và 12 lớp chú ý (self - attention) để lấy đặc trƣng chuỗi
đầu vào. Đầu ra của mô hình sẽ là một lớp ẩn H = { , , …, } với độ dài
bằng độ dài câu đầu vào, giá trị này thể hiện vector biểu diễn của từng từ vựng
trong câu đầu vào. Thông thƣờng, chúng ta sẽ rút trích vector biểu diễn của ký
tự [CLS] ở trong câu để làm vector đặc trƣng biểu diễn cho toàn bộ chuỗi bình
luận đầu vào.
53
+ Đầu ra: Dựa trên vector đại diện của câu bình luận đầu vào [CLS], đề
tài sử dụng một bộ phân lớp mạng trí tuệ nhân tạo với hàm kích hoạt softmax để
tính toán giá trị phân bố xác suất của các nhãn cảm xúc trong câu bình luận.
3.4. Các mô hình so sánh
Trong đề tài này, nhóm nghiên cứu cũng nghiên cứu và cài đặt các
phƣơng pháp máy học truyền thống nhƣ Naive Bayes hay Neural Network kết
hợp với các đặc trƣng thủ công nhƣ theo các tiếp cận của mô hình SVM ở trên.
Bên cạnh đó, nhóm nghiên cứu cũng nghiên cứu các mô hình học sâu nhƣ mạng
hồi quy Long short-term Memory, mạng tích chập Convolution Neural Network
trên bộ dữ liệu gán nhãn của nhóm nghiên cứu. Chi tiết thông số các mô hình so
sánh đƣợc nhóm nghiên cứu trình bày nhƣ sau:
- Naive Bayes (NB): Đây cũng là một phƣơng pháp phân loại tốt cho dữ
liệu văn bản, tuy nhiên bởi vì véc tơ biểu diễn cho các đặc trƣng có xu hƣớng rời
rạc, do đó nhóm nghiên cứu sử dụng mô hình Naive Bayes đa thức để cài đặt thí
nghiệm.
- Neural Network (NN): Mạng nhân tạo với một lớp ẩn duy nhất với 128
node đƣợc sử dụng hàm kích hoạt ReLu, hàm tối ƣu hóa Adam, giá trị α = 0,001
và tối đa 300 lần lặp.
- CNN: Mạng tích chập CNN [19] là một trong những mô hình học sâu có
hiệu quả đối với các bài toán phân loại văn bản. Chính vì thế, nhóm nghiên cứu
sử dụng mạng CNN nhƣ là một mô hình so sánh chuẩn để đánh giá hiệu quả.
- LSTM: Tƣơng tự nhƣ mô hình CNN thì mô hình mạng hồi quy LSTM
cũng là mô hình học sâu chuẩn, do đó nhóm nghiên cứu cũng cài đặt mô hình
mạng hồi quy LSTM [18] với các thông số chuẩn.
Đối với các mô hình máy học truyền thống, nhóm nghiên cứu sẽ tiến hành
rút trích các đặc trƣng thủ công từ vựng và áp dụng kỹ thuật TF-IDF để biểu
diễn các đặc trƣng văn bản thành các vectơ số để đƣa vào các mô hình huấn
luyện các bộ phân lớp.
54
3.5. Chi tiết cài đặt mô hình
Đối với các mô hình máy học truyền thống nhƣ SVM, Naïve Bayes hay
mạng NN (Neural Network), nhóm nghiên cứu sử dụng các thông số mặc định
đƣợc đề xuất bởi thƣ viện sklearn. Ngoài ra, nhóm nghiên cứu áp dụng kỹ thuật
Grid Search để lựa chọn ra các tham số mô hình trên tập phát triển của bộ dữ
liệu trên các mô hình này để lựa chọn mô hình có tham số tốt nhất để thử
nghiệm trên tập kiểm tra.
Đối với mô hình kết hợp BiLSTM-CNN, nhóm nghiên cứu sử dụng mô
hình mạng hồi quy 2 chiều LSTM với giá trị mỗi số chiều của chiều ẩn là 128
chiều. Số lƣợng bộ lọc trong mỗi lớp tích chập của nhóm nghiên cứu có 128 bộ
lọc với kích thƣớc kernel tƣơng ứng 2,3,4 từ vựng với hàm kích hoạt ReLU. Giá
trị tốc độ học của hàm tối ƣu Adam đƣợc chọn với giá trị 0,001. Giá trị batch
size để huấn luyện mô hình đƣợc gán là 32. Đối với mô hình học sâu CNN thì
nhóm nghiên cứu sử dụng 3 bộ lọc tích chập khác nhau với kích thƣớc tƣơng tự
nhƣ mô hình kết hợp là 3 lớp tích chập với kernel là 2,3,4.
Còn đối mô hình LSTM thì số mỗi số chiều của chiều ẩn có giá trị là 128. Cả hai mô hình CNN và LSTM đều sử dụng một bộ nhúng từ word2vec3 đã
huấn luyện trên tập dữ liệu các bài báo tin tức với số chiều của mỗi véc-tơ là 300
chiều.
Còn đối với mô hình BERT, nhóm nghiên cứu sử dụng kiến trúc
PhoBERT based đƣợc đề xuất bởi Viện trí tuệ nhân tạo VinAI [17]. Kiến trúc
based bao gồm 12 lớp transformers, mỗi chiều vecto biểu diễn từ có 768 chiều
dữ liệu. Mô hình đƣợc tinh chỉnh dựa trên hàm tối ƣu Adam với tốc độ học là
5e-5. Nhóm nghiên cứu sử dụng mô hình đƣợc tải trực tiếp từ Hugging Face. Số
3 https://github.com/sonvx/word2vecVN
lƣợng epochs nhóm nghiên cứu sử dụng là 10.
55
3.6. Kết quả thử nghiệm
3.6.1. Độ đo đánh giá
Để đánh giá hiệu quả của các phƣơng pháp, nhóm nghiên cứu tiến hành
các mô hình thử nghiệm đề xuất và sử dụng ba độ đo là độ chính xác, độ phủ và
chỉ số F1 giữa tập dự đoán và tập dữ liệu đƣợc gán nhãn. Các độ đo đƣợc tính
bằng các công thức sau đây:
Độ đo độ chính xác precision (P) đƣợc tính theo công thức sau:
| | | |
(3.5)
Độ đo độ phủ Recall (R) đƣợc tính theo công thức sau:
| | | |
Độ đo F1-score (F1) đƣợc tính theo công thức sau:
Trong đó,
- S: là phân lớp đƣợc hệ thống dự đoán ra.
- G: là phân lớp đích (phân lớp đƣợc ngƣời dùng gán nhãn)
Để tính toán độ đo trung bình của C phân lớp (i = 1, 2, 3,…C), nhóm
nghiên cứu áp dụng kỹ thuật Micro-averaging để tính toán:
Độ đo Micro-averaging Precision (MaP) đƣợc tính theo công thức:
∑ | | ∑ | |
(3.8)
∑ | | ∑ | |
Độ do Micro-averaging Recall (MaR) đƣợc tính theo công thức:
Độ đo Micro-averaging F1-score (MaF1) đƣợc tính theo công thức:
56
3.6.2. Kết quả thử nghiệm
Ở trong phần này, nhóm nghiên cứu sẽ trình bày kết quả thử nghiệm và so
sánh kết quả thử nghiệm giữa các mô hình máy học truyền thống và mô hình học
sâu khác nhau trên bộ dữ liệu đã xây dựng. Bảng 3.1 và Bảng 3.2 trình bày kết
quả thực nghiệm các mô hình trên tập kiểm tra tƣơng ứng với hai bài toán là: Phát
hiện khía cạnh và Phát hiện khía cạnh cùng với trạng thái cảm xúc tƣơng ứng theo
các độ đo nhƣ: độ chính xác, độ phủ và chỉ số F1.
Nhìn một cách tổng quan giữa hai bài toán, chúng ta dễ dàng nhận thấy đối
với ba phƣơng pháp máy học truyền thống nhƣ SVM, NB và NN thì mô hình
SVM hiệu quả hơn so với hai phƣơng pháp còn lại. Kết quả này cho thấy rằng
SVM vẫn là một mô hình hiệu quả nhất trong các phƣơng pháp máy học cổ điển.
Còn đối với hai mô hình học sâu là CNN và LSTM thì chúng ta thấy có sự hiệu
quả cao hơn liên quan đến chỉ số F1 là +0,61% và +1,27% của mô hình CNN.
Tuy nhiên sự chênh lệch này không đáng kể giữa hai mô hình. Dựa vào kết quả
chúng ta vẫn thấy đƣợc sự vƣợt trội của các mô hình học sâu so với các mô hình
máy học truyền thống. Cụ thể mô hình CNN cao hơn mô hình SVM là +0,9% cho
bài toán phát hiện khía cạnh, và +3,48% cho bài toán phát hiện khía cạnh và trạng
thái cảm xúc.
Chúng ta cũng dễ dàng thấy đƣợc sự hiệu quả của phƣơng pháp kết hợp
BiLSTM-CNN liên quan đến chỉ số F1, cụ thể đối với bài toán phát hiện khía
cạnh, đạt độ chính xác là 78,78%, độ phủ là 79,08%, còn độ đo F1 là 78,93%.
Còn đối với bài toán phát hiện khía cạnh và trạng thái cảm xúc tƣơng ứng, thì mô
hình này đạt kết quả độ chính xác là 73,64%, độ phủ là 73,93% và độ đo F1 là
73,78%. Mô hình BiLSTM-CNN cao hơn mô hình CNN lần lƣợt là +2,82% và +
1,26% tƣơng ứng cho hai bài toán. Kết quả mô hình kết hợp CNN và BiLSTM
cao hơn hai mô hình học sâu CNN và LSTM bởi vì nhóm nghiên cứu sử dụng mô
hình BiLSTM để học biểu diễn theo ngữ cảnh hai chiều của câu đầu vào, sau đó
57
dùng kỹ thuật CNN để rút trích các đặc trƣng theo từng bộ lọc trên biểu diễn của
BiLSTM. Điều này giúp mô hình có nhiều thông tin và tăng độ hiệu quả hơn khi
sử dụng hai mô hình một cách riêng lẻ.
Còn so sánh mô hình ngữ BERT với các phƣơng pháp còn lại thì chúng ta
thấy rằng tinh chỉnh mô hình đã huấn luyện phoBERT cho kết quả tốt hơn các
phƣơng pháp học truyền thống và phƣơng pháp học sâu. Cụ thể so sánh BERT
với phƣơng pháp học sâu cho kết quả tốt nhất là BiLSTM-CNN, chúng ta thấy
rằng phƣơng pháp BERT đều cho kết quả tốt hơn nhiều trên các độ đo cho cả hai
bài toán. Cụ thể, BERT đạt kết quả độ chính xác là 82.68, độ phủ là 82.37 và độ
đo F1 là 82.53 cho bài toán phát hiện khía cạnh. Còn đối với bài toán phát hiện
khía cạnh và trạng thái cảm xúc tƣơng ứng thì mô hình BERT đạt kết quả 79.54
về độ chính xác, độ phủ là 79.24 và độ đo F1 là 79.39. Kết quả này so với mô
hình học sâu BiLSTM-CNN thì mô hình BERT cho thấy sự hiệu quả vƣợt trội,
nhất là đối với kết quả của bài toán phân tích khía cạnh và trạng thái cảm xúc
tƣơng ứng.
Ở đây, chúng ta thấy rằng kết quả của bài toán phát hiện khía cạnh và trạng
thái cảm xúc tƣơng ứng trên tập kiểm tra lúc nào cũng sẽ thấp hơn bài toán phát
hiện khía cạnh trên tập kiểm tra với mục tiêu của bài toán thứ hai là xác định các
khía cạnh và trạng thái cảm xúc tƣơng ứng, do đó khi tính toán độ đo, chúng ta sẽ
tính đúng một mẫu khi mô hình vừa xác định chính xác cả hai nhãn khía cạnh và
trạng thái cảm xúc
Bảng 3.1. Kết quả thực nghiệm các phƣơng pháp cho bài toán phát hiện khía cạnh trên tập kiểm tra
Phƣơng pháp Độ chính xác (%) Độ phủ (%) Chỉ số F1 (%)
NB 57,75 61,75 59,69
NN 68,70 75,37 71,88
SVM 68,41 83,51 75,21
LSTM 73,25 77,90 75,50
CNN 72,60 79,98 76,11
58
Phƣơng pháp Độ chính xác (%) Độ phủ (%) Chỉ số F1 (%)
BiLSTM-CNN 78,78 79,08 78,93
BERT 82,68 82,37 82,53
Nhìn vào Bảng 3.1, chúng ta thấy mô hình BERT có kết quả cao hơn mô
hình BiLSTM-CNN với độ chính xác cao hơn +3.9%, độ phủ cao hơn 3.29% và
chỉ số F1 cao hơn 3.6% cho bài toán phát hiện khía cạnh. Thậm chí rằng đối với
bài toán phát hiện khía cạnh và trạng thái cảm xúc thì mô hình BERT còn thể hiện
sự hiệu quả vƣợt bậc so với mô hình học sâu BiLSTM-CNN khi có độ chính xác
cao hơn + 5.9%, độ phủ cao hơn + 5.31% và độ đo F1 cao hơn + 5.61%.
Bảng 3. 2. Kết quả thí nghiệm các phƣơng pháp cho bài toán phát hiện khía cạnh và trạng thái cảm xúc tƣơng ứng trên tập kiểm tra
Phƣơng pháp Độ chính xác (%) Độ phủ (%) Chỉ số F1 (%)
51,76 55,34 53,49 NB
61,18 67,12 64,01 NN
62,80 76,66 69,04 SVM
68,52 74,21 71,25 LSTM
69,17 76,21 72,52 CNN
73,64 73,93 73,78 BiLSTM-CNN
1 F o đ ộ Đ
90 80 70 60 50 40 30 20 10 0
#aspect1 #aspect2 #aspect3 #aspect4 #aspect5 #aspect6 #aspect7 #aspect8 #aspect9 #aspect10#aspect11 Danh sách các khía cạnh
BERT 79,54 79,24 79,39
Hình 3. 4. Kết quả chi tiết từng khía cạnh và trạng thái cảm xúc của mô hình kết hợp BiLSTM-CNN trên tập kiểm tra
Hình 3.4 mô tả kết quả chi tiết độ đo F1 của các khía cạnh trong tập dữ liệu
kiểm tra của mô hình BiLSTM-CNN bài toán phát hiện khía cạnh và cảm xúc
59
tƣơng ứng. Nhìn vào Hình 3.1, chúng ta thấy đƣợc sự hiệu quả của mô hình đối
với các khí cạnh nhƣ “Hành vi”, "Kỹ năng giảng dạy”, “Cung cấp tài liệu” với độ
đo F1 lần lƣợt là 84,10%, 78,99% và 73,68%. Trong khi đó, các khía cạnh nhƣ
“Chương trình học”, “Nói chung”, “Kiến thức” với độ đo F1 lần lƣợt là 42,86%,
47,71% và 54,76%. Kết quả này có thể giải thích bởi vì số lƣợng các khía cạnh
này thƣờng là các khía cạnh có số lƣợng ý kiến ít trong dữ liệu. Do đó, để nâng
cao hiệu quả của các khía cạnh này, nhóm nghiên cứu sẽ cố gắng bổ sung các dữ
liệu bằng cách gán nhãn thêm hoặc áp dụng các phƣơng pháp tăng cƣờng dữ liệu.
Do đó, các nghiên cứu trong tƣơng lai khi sử dụng bộ dữ liệu của nhóm nghiên
cứu cần tập trung chú ý các nâng cao hiệu quả các khía cạnh này để tăng hiệu quả
tổng quan của toàn hệ thống.
Còn đối với mô hình BERT thì Hình 3.5 mô tả kết quả chi tiết độ đo F1
của từng khía cạnh trong bộ dữ liệu kiểm tra. Nhìn vào Hình này, chúng ta thấy
rằng, mô hình BERT cho kết quả tốt trên các khía cạnh tƣơng ứng nhƣ mô hình
BiLSTM-CNN. Tuy nhiên, kết quả trên từng khía cạnh lại cao hơn mô hình
BiLSTM-CNN, điều này chứng tỏ rằng mô hình BERT cho kết quả tốt hơn mô
hình học sâu trên hầu hết các khía cạnh. Tƣơng tự nhƣ kết quả trên, để nâng cao
hiệu quả các khía cạnh chúng ta cần tăng cƣờng dữ liệu các khía cạnh ít dữ liệu để
100 90 80 70 60 50 40 30 20 10 0 Hình 3.5. Kết quả chi tiết từng khía cạnh và trạng thái cảm xúc của mô hình BERT trên tập kiểm tra.
nâng cao hệ thống.
60
3.7. Phần mềm phân tích tự động ý kiến phản hồi của sinh viên về
chất lƣợng đào tạo theo khía cạnh
3.7.1. Ngôn ngữ lập trình
Để thực hiện đề tài “Xây dựng phần mềm phân tích tự động ý kiến phản
hồi của sinh viên về chất lượng đào tạo ở Phân hiệu Trường Đại học Nội vụ Hà
Nội tại Thành phố Hồ Chí Minh” nhóm nghiên cứu đã viết phần mềm minh hoạ
cho nghiên cứu kiểu giao diện Web, ngôn ngữ giao diện Tiếng Việt, và đặt tên
phần mềm là Vasf Soft. Nhóm nghiên cứu đã sử dụng các công cụ, thƣ viện và
ngôn ngữ lập trình nhƣ sau để:
Ngôn ngữ lập trình Python: Python có cú pháp rất đơn giản, rõ ràng. Nó
dễ đọc và viết hơn rất nhiều khi so sánh với những ngôn ngữ lập trình khác nhƣ
C++, Java, C#. Python làm cho việc lập trình trở nên thú vị, cho phép bạn tập
trung vào những giải pháp chứ không phải cú pháp.
Ngôn ngữ lập trình C#: C# (hay C sharp) là một ngôn ngữ lập trình đơn
giản, đƣợc phát triển bởi đội ngũ kỹ sƣ của Microsoft vào năm 2000. C# là ngôn
ngữ lập trình hiện đại, hƣớng đối tƣợng và đƣợc xây dựng trên nền tảng của hai
ngôn ngữ mạnh nhất là C++ và Java. Do đó C# đƣợc miêu tả là ngôn ngữ có sự
cân bằng giữa C++, Visual Basic, Delphi và Java.Với sự hỗ trợ mạnh mẽ của
.NET Framework giúp cho việc tạo một ứng dụng Windows Forms hay WPF
(Windows Presentation Foundation) dễ dàng.
Thƣ viện máy học: Trong đề tài này, nhóm nghiên cứu sử dụng hai thƣ
viện máy học bao gồm là sklearn và tensorflow keras. Đây là các thƣ viện về
máy học phổ biến nhất của Python vì nó viết sẵn các thuật toán lằng nhằng phức
tạp và các công nghệ phân tích dữ liệu. Nó cung cấp nhiều thuật toán học tập
cho phép hồi quy, phân cụm và phân loại.
Nền tảng công nghệ .Net Framework (ASP.NET, WCF), HTML5:
.Net là một nền tảng phát triển mã nguồn mở, đa nền tảng, miễn phí để xây dựng
nhiều loại ứng dụng khác nhau. Với .NET, chúng có thể sử dụng nhiều ngôn
61
ngữ, trình chỉnh sửa và thƣ viện để xây dựng web, thiết bị di động, máy tính để
bàn, trò chơi và IoT.
Cơ sở dữ liệu SQL server: SQL Server là một hệ quản trị cơ sở dữ liệu
quan hệ (Relational Database Management System (RDBMS) ) sử dụng câu
lệnh SQL (Transact-SQL) để trao đổi dữ liệu giữa máy Client và máy cài SQL
Server
Quy trình thiết kế ứng dụng nhƣ sau:
+ Phần backend đƣợc xây dựng bằng ngôn ngữ lập trình Python thông qua
thƣ viện hỗ trợ là Flask.
+ Phần server đƣợc xây dựng bằng C# hỗ trợ cho việc truy xuất các mô
hình đã đƣợc lƣu lại để dự đoán và trả về kết quả hiển thị lên ứng dụng. Hình 3.5
mô tả mô hình cơ sở dữ liệu của phần mềm, Hình 3.6 mô tả sơ đồ luồng dữ liệu
Hình 3.6. Mô hình quan hệ dữ liệu
62
Hình 3.7 . Sơ đồ luồng dữ liệu
3.7.2. Mô tả ứng dụng
Để sử dụng phần mềm, đầu tiên Phân hiệu TP.HCM phải gửi phiếu lấy ý
kiến phản hồi đến sinh viên đối với từng học phần hoặc đối với giảng viên, tiếp
theo sinh viên gửi ý kiến phản hồi cho Phân hiệu TP.HCM, kế đến chuyên viên
của phân hiệu phải tổng hợp ý kiến phản hồi sau đó đƣa ý kiến phản hồi đó vào
phần mềm Vasf Soft để phân tích, phần mềm sẽ trả kết quả phân tích cho Phân
hiệu TP.HCM. Hình 3.7 mô tả sơ đồ quy trình thực hiện.
Hình 3.8. Sơ đồ quy trình thực hiện
63
Phần mềm Vasf Soft đƣợc xây dựng với mục đích để phân tích tự động ý
kiến phản hồi của sinh viên tại Phân hiệu TP.HCM nên nhóm nghiên cứu chỉ
làm các tính năng cơ bản nhất là phân tích. Hình 5.4 mô tả mô hình phân cấp
chức năng của phần mềm Vast Soft.
Hình 3.9. Mô hình phân cấp chức năng của phần mềm Vasf Soft
3.7.3. Chi tiết từng chức năng
Để sử dụng phần mềm ngƣời dùng truy cập vào đƣờng link www.
vasfsoft.com đăng ký tài khoản sau đó sử dụng
Hình 3.10. Giao diện phần mềm Vasf Soft
64
3.7.3.1. Chức năng Đăng ký tài khoản
Sau khi vào phần mềm Vasf Soft, nhấn vào nút Đăng ký, sau đó điền các
thông tin Email, mật khẩu vào mục Mật khẩu, Nhập lại mật khẩu, cuối cùng
nhấn vào Đăng ký để đăng ký tài khoản. Mật khẩu phải bao gồm ký tự hoa, ký
tự đặc biệt, số và chữ.
Hình 3.11. Giao diện đăng ký tài khoản
3.7.3.2. Chức năng Đăng nhập tài khoản
Hình 3.12. Chức năng đăng nhập tài khoản
65
Để đăng nhập vào tài khoản ngƣời dùng nhập địa chỉ email và mật khẩu
đã đăng ký rồi nhấn vào nút Đăng nhập
3.7.3.3. Chức năng Thoát tài khoản
Để thoát khỏi tài khoản nhấn Logout, màn hình sẽ trở về chức năng đăng nhập
Hình 3.13. Chức năng thoát
3.7.3.4. Chức năng Phân tích ý kiến theo giảng viên
Chức năng Phân tích ý kiến theo giảng viên là một trong những chức năng
chính của phần mềm Vasf Soft
Hình 3.14. Chức năng phân tích ý kiến theo giảng viên
Để phân tích ta thực hiện các bƣớc nhƣ sau
66
Bƣớc 1. Chuẩn bị tập tin excel tổng hợp ý kiến theo giảng viên.
Để chuẩn bị file excel mà phần mềm có thể đọc đƣợc ta thực hiện thao tác
nhƣ sau.
Nhấn vào Giảng viên, nhấn vào Tải mẫu file, sau khi có file mẫu ta thực
hiện sao chép toàn bộ ý kiến vào và lƣu lại
Bƣớc 2. Tải tập tin dữ liệu lên để phân tích
Nhấn vào Tải dữ liệu đánh giá, xuất hiện hộp thoại sau
Hình 3.15.Tải tập tin dữ liệu để phân tích
Gõ tên đợt khảo sát đánh giá
Nhấn vào nút Choose File để tải file đánh giá lên, Nhấn vào nút Tải và
phân tích. Sau khi nhấn vào nút phân tích ta đợi phần mềm phân tích ra các khái
cạnh. Thời gian nhanh hay chậm tuỳ thuộc vào khối lƣợng dữ liệu và tốc độ
đƣờng truyền internet.
Bƣớc 3: Chọn đợt phân tích và chọn tên giảng viên ta sẽ có 3 kết quả nhƣ
sau
67
1. Biểu đồ thể hiện phần trăm các khía cạnh mà sinh viên đã phản hồi ý
kiến đối với giảng viên
Hình 3.16. Biểu đồ phần trăm khía cạnh đối với giảng viên
2. Biểu đồ phần trăm cảm xúc đối với mỗi khía cạnh
Hình 3.17. Bản đồ phần trăm cảm xúc theo khía cạnh đối với giảng viên
3. Bảng phân tích đối với mỗi ý kiến
68
Hình 3.18. Bảng phân tích cụ thể mỗi ý kiến của sinh viên đối với giảng viên
Bƣớc 4: Sau khi phân tích xong, nhấn vào nút Xuất biểu đồ để tải xuống
tập tin pdf bảng phân tích của giảng viên
3.7.3.5. Chức năng Phân tích ý kiến theo học phần
Tƣơng tự chức năng Phân tích ý kiến theo giảng viên chức năng Phân tích
ý kiến theo học phần cũng là một trong những tính năng chính của phần mềm
Vasf Soft.
Hình 3.19. Chức năng phân tích khía cạnh theo học phần
69
Để phân tích ta thực hiện các bƣớc nhƣ sau
Bƣớc 1. Chuẩn bị tập tin excel tổng hợp ý kiến theo học phần
Để chuẩn bị file excel mà phần mềm có thể đọc đƣợc ta thực hiện thao tác
nhƣ sau.
Nhấn vào Học phần, nhấn vào Tải mẫu file, sau khi có file mẫu ta thực
hiện sao chép toàn bộ ý kiến vào và lƣu lại
Bƣớc 2. Tải tập tin dữ liệu lên để phân tích
Nhấn vào Tải dữ liệu đánh giá, xuất hiện hộp thoại sau
Hình 3.20. Tải tập tin dữ liệu ý kiến phản hồi của sinh viên đối với học phần
Tiếp theo Gõ tên đợt khảo sát đánh giá, Nhấn vào nút Choose File để tải
file đánh giá lên, Nhấn vào nút Tải và phân tích. Sau khi nhấn vào nút phân tích
ta đợi phần mềm phân tích ra các khía cạnh. Thời gian nhanh hay chậm tuỳ
thuộc vào khối lƣợng dữ liệu và tốc độ đƣờng truyền internet.
Bƣớc 3: Chọn đợt phân tích và chọn Tên học phần ta sẽ có 3 kết quả nhƣ
sau
1. Biểu đồ thể hiện phần trăm các khía cạnh mà sinh viên đã phản hồi ý
kiến đối với học phần đã chọn
70
Hình 3.21. Biểu đồ phần trăm cảm xúc trên mỗi khía cạnh đối với học phần
2. Biểu đồ cảm xúc theo mỗi khía cạnh
Hình 3.22. Biểu đồ phần trăm cảm xúc theo mỗi khía cạnh đối với học phần
3. Bảng phân tích đối với mỗi ý kiến
71
Hình 3.23. Bảng phân tích chi tiết ý kiến phản hồi của sinh viên đối với học phần
Bƣớc 4: Sau khi phân tích xong, nhấn vào nút Xuất biểu đồ để tải xuống
tập tin pdf bảng phân tích của học phần.
72
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN
1. Kết luận
Trong đề tài này, nhóm nghiên cứu đã trình bày một nghiên cứu về bài
toán Phân tích cảm xúc theo khía cạnh trên ý kiến phản hồi của sinh viên với các
mục tiêu đã đạt đƣợc nhƣ sau:
(1) Thu thập, xây dựng và gán nhãn thủ công một bộ dữ liệu với kích
thƣớc 5010 câu ý kiến bao gồm 11 khía cạnh và mỗi khía cạnh sẽ đƣợc gán bởi
3 trạng thái cảm xúc khác nhau;
(2) Nhóm nghiên cứu cũng đã cài đặt các phƣơng pháp máy học, học sâu
trên bộ dữ liệu xây dựng để làm nền tảng cho sự phát triển bài toán này ở các
công trình tiếp theo. Kết quả thực nghiệm đã minh chứng mô BERT cho kết quả
hiệu quả hơn so với các mô hình khác với chỉ số F1 là 82,53% cho bài toán phát
hiện khía cạnh và 79,39% cho bài toán phát hiện khía cạnh và trạng thái cảm xúc
tƣơng ứng.
(3) Xây dựng một ứng dụng web kết hợp giữa lập trình web và kết nối AI
để xây dựng ứng dụng hỗ trợ phân tích ý kiến phản hồi của sinh viên.
2. Hƣớng phát triển
Dựa trên những nghiên cứu trong đề tài này, nhóm nghiên cứu đề xuất
nên nâng cao số lƣợng dữ liệu gán nhãn bởi vì đây là một bài toán thách thức
với số lƣợng nhãn lớn những dữ liệu hiện tại tƣơng đối ít. Do đó, các hƣớng
nghiên cứu cần tập trung xây dựng dữ liệu lớn hơn. Bên cạnh đó, nhóm nghiên
cứu cũng đề xuất thử nghiệm các mô hình hiệu quả hơn nhƣ mô hình đồ thị để
nâng cao hiệu quả dự đoán.
Để đảm bảo đủ minh chứng cho công tác kiểm định chất lƣợng và quản lý
giáo dục của Phân hiệu và của Trƣờng thì cần phân tích dữ liệu tổng thể với tất
cả các câu hỏi đóng và mở cho nên định hƣớng phát triển của phần mềm xây
dƣng thêm Phân hệ lấy ý kiến khảo sát sinh viên, để làm nguồn dữ liệu đầu vào
cho phân tích.
73
3. Kiến nghị
3.1. Triển khai phần mềm vào thực tế
Để triển khai vào thực tế phân hiệu cần thực hiện việc sau:
- Mua thêm phân hệ khảo sát ý kiến của UniSoft để lấy ý kiến khảo sát ý
kiến của sinh viên;
- Thuê máy chủ ảo (virtual private server - VPS) với cấu hình nhƣ bên
dƣới để nhóm nghiên cứu cài đặt phần mềm VasfSoft.
+ Bộ xử lý Intel® Xeon® E5-2680 v2
+ Bộ nhớ trong 4 GB
+ Ổ cứng SSD: 100 GB
+ Winserver 2016
3.2. Phát triển phần mềm trong tƣơng lai
Để nâng cấp phần mềm có độ chính xác cao hơn và có nhiều tính năng
hơn đáp ứng nhu cầu trong tƣơng lai của Phân hiệu thì Phân hiệu cần đầu tƣ
thêm kinh phí phù hợp và tạo điều kiện về thời gian để nhóm nghiên cứu tiếp tục
nghiên cứu và phát triển phần mềm.
74
TÀI LIỆU THAM KHẢO
1 Christopher J. C. Burges (1998), "A Tutorial on Support Vector Machines for Pattern Recognition", Journal Data Mining and Knowledge Discovery, vol. 2, no. 2, pp. 121-167.
2 Devlin, Jacob, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova (2018), "Bert: Pre-training of deep bidirectional transformers for language understanding." arXiv preprint arXiv:1810.04805.
3 Dat Quoc Nguyen and Anh Tuan Nguyen (2020), "PhoBERT: Pre-trained language models for Vietnamese.", In Findings of the Association for Computational Linguistics: EMNLP 2020, pages 1037–1042, Online. Association for Computational Linguistics.
4 Hai Son Le, Thanh Van Le, and Tran Vu Pham (2015), "Aspect Analysis for Opinion Mining of Vietnamese Text", In Proceedings of the 2015 International Conference on Advanced Computing and Applications (ACOMP) (ACOMP '15): IEEE Computer Society, Washington, DC, USA.
5 Kim Schouten and Flavius Frasincar (2016), "Survey on Aspect-Level Sentiment Analysis", IEEE Transactions on Knowledge and Data Engineering, vol. 28, no. 3, pp. 813-830.
6 Kim, Yoon. (2014), "Convolutional Neural Networks for Sentence Classification", Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP).
7 Kiet Van Nguyen, Vu Duc Nguyen, Phu. X. V. Nguyen, Tham. T. H. Truong and Ngan Luu Thuy Nguyen (2018), "UIT-VSFC: Vietnamese for Sentiment Analysis", 2018 10th Students’ Feedback Corpus International Conference on Knowledge and Systems Engineering (KSE), Ho Chi Minh City, pp. 19-24.
8 Kukreja, H., Bharath, N., Siddesh, C. S., & Kuldeep, S. (2016), "An introduction to artificial neural network", Int J Adv Res Innov Ideas Educ, 1, 27-30.
9 Liddy, E. D. (2001). "Natural language processing".
10 Marzieh Saeidi, Guillaume Bouchard, Maria Liakata, Sebastian Riedel (2016), “SentiHood: Targeted Aspect Based Sentiment Analysis Dataset for Urban Neighbourhoods”, Proceedings of COLING 2016, the 26th International Conference on Computational Linguistics: Technical Papers, pages 1546– 1556, Osaka, Japan, December 11-17 2016.
75
11 Maria Pontik, Dimitrios Galanis, John Pavlopoulos, Haris Papageorgiou, Ion Androutsopoulos, Suresh Manandhar (2014), “SemEval-2014 Task 4: Aspect Based Sentiment Analysis”, Proceedings of the 8th International Workshop on Semantic Evaluation (SemEval 2014), pages 27–35, Dublin, Ireland, August 23-24, 2014.
12 Maria Pontiki, Dimitris Galanis, Haris Papageorgiou, Ion Androutsopoulos, Suresh Manandhar, Mohammad AL-Smadi, Mahmoud Al-Ayyoub, Yanyan Zhao, Bing Qin, Orphée De Clercq, Véronique Hoste, Marianna Apidianaki, Xavier Tannier, Natalia Loukachevitch, Evgeniy (2016), "SemEval-2016 Task 5: Aspect Based Sentiment Analysis", in Proceedings of the 10th International Workshop on Semantic Evaluation (SemEval- 2016), San Diego, California, 2016.
13 Marianna Apidianaki, Xavier Tannier, Cécile Richart (2016), "Datasets for AspectBased Sentiment Analysis in French", in Proceedings of the Tenth International Conference on Language Resources and Evaluation (LREC 2016), Portorož, Slovenia, 2016.
14 Mejova, Y. (2009), "Sentiment analysis: An overview", University of Iowa, Computer Science Department.
15 Mahesh, B. (2020), "Machine learning algorithms-a review", International Journal of Science and Research (IJSR),[Internet], 9, 381-386.
for Opinion Mining",
16 Nguyen Thi Thanh Thuy, Ngo Xuan Bach, Tu Minh Phuong (2018), "Cross-Language Aspect Extraction in 10th International Conference on Knowledge and Systems Engineering (KSE), Ho Chi Minh City, Vietnam, 2018.
17 Nguyen Thi Minh Huyen, Nguyen Viet Hung, Ngo The Quyen, Vu Xuan Luong, Tran Mai Vu, Ngo Xuan Bach, Le Anh Cuong (2018), "VLSP SHARED TASK: SENTIMENT ANALYSIS", Journal of Computer Science and Cybernetics, vol. 34, no. 4, p. 295–310.
18 Quang Hoang Vo, Huy Tien Nguyen, Bac Le, Minh Le Nguyen (2017), "Multi-channel LSTM-CNN model for Vietnamese sentiment analysis" 2017 9th International Conference on Knowledge and Systems Engineering (KSE), Hue, pp. 24-29. doi: 10.1109/KSE.2017.8119429.
19 Son Trinh, Luu Nguyen, Minh Vo, and Phuc. Do. (2016), “Lexicon-Based Sentiment Analysis of Facebook Comments in Vietnamese Language”, Cham: Springer International Publishing, pages 263–276.
20 Vu Tien Thanh, Pham Huyen Trang, Luu Cong To, Ha Quang Tthuy (2011)., "A Feature-Based Opinion Mining Model on Product Reviews in Vietnamese", Springer, Berlin, Heidelberg.
76
21 Vaswani, Ashish, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Łukasz Kaiser, and Illia Polosukhin (2017), "Attention is all you need." Advances in neural information processing systems 30.
22 Tran, Tri Cong-Toan, Thien Phu Nguyen, and Thanh-Van Le, "HSUM-HC: Integrating Bert-based hidden aggregation to hierarchical classifier for Vietnamese aspect-based sentiment analysis."(2021), 2021 8th NAFOSTED Conference on Information and Computer Science (NICS). IEEE.
23 Van Thin, Dang, et al, "A Joint Multi-task Architecture for Document-level Aspect-based Sentiment Analysis in Vietnamese." (2022), International Journal of Machine Learning and Computing 12.4 (2022).
24 Van Thin, Dang, et al, "Two new large corpora for vietnamese aspect-based sentiment analysis at sentence level." (2021) Transactions on Asian and Low-Resource Language Information Processing 20.4 (2021): 1-22.
25 Giáo dục và Đào tạo. Công văn số 7324/ BGD ĐT-NGCBQLGD ngày 08/10/2013, về hƣớng dẫn tổ chức lấy ý kiến hản hồi từ ngƣời học về hoạt động giảng dạy của giảng viên. , (2013).
26 Tụng, Đ. T., Hƣờng, N. T. B., & My, N. T. H, “Công tác lấy ý kiến phản hồi của người học ở các trường đại học và cao đẳng hiện nay”, Journal of Ethnic Minorities Research, 9(4). (2020).
77