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