TOM TAT KHÓA LUẬN
Chương 4. XÂY DỰNG MO HÌNH PHAN LOẠI CÂU HOI
Như đã trình bày ở mục 2.5, phương pháp kết hợp mô hình (Ensemble Learning) là giải pháp vượt trội hơn về độ chính xác so với các mô hình thuật toán đơn. Chính vì vậy, chúng tôi quyết định sử dụng phương pháp này áp dụng sự kết hợp giữa thuật toán Passive Aggressive (PA) va Stochastic Gradient Descent (SGD) dé thuc nghiệm và đánh giá. Dé xây dựng mô hình kết hop Ensemble chúng tôi chon sử dụng phương pháp Voting Average (2.5.2.2). Bên cạnh đó, chúng tôi phát triển thêm tính năng huấn luyện lại mô hình để nâng cao tính chính xác của mô hình theo
thời gian. Dưới đây là quy trình thực hiện xây dựng mô hình phân loại câu hỏi theo thang đo Bloom.
4.1. Mô tả bộ dữ liệu
Một mô hình phân loại sẽ không có nhiều ý nghĩa nếu không có dữ liệu đầu vào để huấn luyện, vì thế chúng tôi đã thực hiện việc thu thập và sử dụng tổng cộng bốn tập dir liệu gồm 937 câu hỏi được phân loại sẵn theo các mức độ nhận thức. Trong
đó:
- Tập đữ liệu đầu tiên bao gồm 141 câu hỏi được thu thập từ bài báo nghiên
cứu liên quan [22].
- Tap dữ liệu thứ hai bao gồm 600 câu hỏi được tổng hợp bởi nghiên cứu của
Yahya [23]
- Hai tập dữ liệu cuối cùng có tong cộng 196 câu hỏi được thu thập từ các vi
dụ, bài báo, tin tức nghiên cứu về thang đo Bloom và được kiểm chứng nhãn
phân loại thông qua tool của nghiên cứu [24], hiện đang được chạy tại đường
dẫn: http://bloom-taxonomy.herokuapp.com Bảng 4.1 và 4.2 lần lượt mô tả sự phân bố của các câu hỏi ở mỗi cấp độ trong cả bón bộ dữ liệu và câu hỏi mẫu được trích ra từ hai tập dữ liệu dau tiên.
Mức độ Tập dữ liệu 1 | Tập dữ liệu 2 | Tập dữ liệu 3 | Tập dữ liệu 4
68
Nhớ 36 100 18 8
Hiéu 24 100 17 11
Van dung 9 100 15 16
Phan tich 13 100 20 21
Đánh giá 19 100 18 21
Sang tao 40 100 14 17
Tổng 141 600 102 94
Bảng 4.1: Sự phân bé theo các mức độ của bộ dé liệu sử dụng cho thuật toán
Mức độ Tập dữ liệu 1 Tập dữ liệu 2
Nhớ Memorize and recall the Label the parts of the
6
periodic table microscope shown on the right
" Describe how interest rates Hiéu Retell the story in your words
affect the economy
Write a C++ statement to Sketch a prediction of the field
Ap dung declare a variable of type music lines for the arrangement of
Type name MyTune electrodes
; By comparing the map of the Categorize the story into parts
tectonic plates to the earthquake Phân tích and think of a good title for
map, what inferences can you each of the parts.
make?
Design a new monetary system | Conclude and support which Danh gia or an experiment for economic system leads to a
establishing higher standard of living
Sang tao Judge the validity of Design a healthy menu that you
69
arguments for and against
astrology
think most people would enjoy using the healthy eating guide
Bang 4.2: Mẫu câu hỏi từ hai tập dir liệu đầu tiên
4.2. Mô hình hoạt động
4.2.1. Sơ đồ xử lý
¥
Tiên xử lý
đữ liệu
Câu hỏi
Chuyên văn bản về dạng chữ
thường
Loại bỏ các ký tự đặc biệt
al Tach các từ trong câu thành từ
riêng lẻ
\ ( Stemming va Lemmatization ]
Trích chon đặc trưng
TF-IDF
"a ơ
2=
(sms Bayes | [ SVM ) ( KNN ) [ SGD ) [Passive Ageresive) [ PerceptronỶ
Voting Ensemble
Hình 4.1: So đồ xử lý của thuật toán
70
4.2.2. Mô tả tiền xử lý dữ liệu
Tiền xử lý dữ liệu là một bước rất quan trọng trong việc giải quyết bất kỳ bài toán nào và đặc biệt đối với bài toán phân loại văn bản khi dữ liệu đầu vào là dang thô va phi cấu trúc. Cac đữ liệu văn bản nhiễu này gây nhiều khó khăn cho việc đánh giá mức độ quan trọng và tần suất xuất hiện của từng từ khiến cho việc xây dựng mô hình học máy sẽ không đạt được kết quả chính xác nhất.
Sau đây là các bước tiền xử ly dữ liệu (mục 4.2.1) dé chuẩn bị cho huấn luyện va
kiêm tra mô hình phân loại câu hỏi:
- Bước 1: chuyên tất cả các từ trong câu thành chữ thường và sau đó loại bỏ
các ký tự đặc biệt (số, dau câu, khoảng trắng thừa và các ký tự lạ) không mang nhiều ý nghĩa. Đồng thời loại bỏ những từ đơn lẻ trong câu hỏi.
- Bước 2: sử dụng thư viện Tokenization tách các từ trong câu thành từ riêng
lẻ để phục vụ cho việc chuyên đổi thành các Vector.
- Bước 3: loại bỏ stopwords vì trong một số ngôn ngữ, đặc biệt là tiếng Anh,
các từ a, an, the, sẽ xuất hiện với tần suất lớn nhưng không có nhiều ý nghĩa trong câu. Vì thế việc loại bỏ các từ này là việc rất cần thiết
- Bước 4: kết hợp sử dụng kỹ thuật Stemming và Lemmatization (mục 2.3.2)
để xử lý đưa từ thành dạng gốc của từ đó. (Walked > Walk)
Vị dụ:
- Văn bản đầu vào: “Demonstrate how unit testing could word in an industry
setting”.
- Kết quả sau giai đoạn tiền xử lý: “demonstr how unit test could word
industry set”.
4.2.3. Mô tả trích chọn đặc trưng TF-IDF
Dé trích xuất đặc trưng (Feature Extraction), chúng tôi đã sử dụng kỹ thuật TF- IDF dé xây dựng vector đặc trưng. Tập dữ liệu sau giai đoạn tiền xử lý có 937 câu hỏi và được biểu diễn thành ma trận có kích thước 937xN, dòng thứ i của ma trận là
vector trọng sô đặc trưng của câu hỏi thứ i.
71
Ví dụ: trích xuất 2 câu hỏi từ tập dataset sau tiền xử ly dữ liệu như sau:
dị = “draw label diagram typic stream” (văn bản gốc: Draw and label a
diagram of a typical stream.)
dz= “label part grasshopp” (văn bản gốc: Label the parts of a grasshopper.) Thực hiện vector hóa văn bản bằng TF-IDF dé xác định trọng số, cho kết qua như
sau:
d; = {0.471078, 0.471078, 0.000000, 0.335176, 0.000000, 0.471078,
0.471078}
đ; = {0.000000, 0.000000, 0.631667, 0.449436, 0.631667, 0.000000,
0.000000}
4.3. Trién khai mô hình phân loại câu hỏi
4.3.1. Tổng hợp các mô hình phân loại sử dụng
Sau giai đoạn tiền xử lý dữ liệu, chúng tôi chia tập dữ liệu với 70% sử dụng để huấn luyện và 30% còn lại dùng để kiểm tra, đánh giá độ chính xác của từng mô hình. Vận dụng kỹ thuật tìm kiếm theo lưới (Grid Search) dé tìm ra các tham số tối
ưu (Tunning Hyper Parameter) cho thuật toán học máy, bằng cách chỉ định một vài biến thé của tham số mô hình và dé cho máy tính huấn luyện các mô hình ứng với
các bộ tham sô đã cài đặt dé tìm ra tham sô tôi ưu nhât.
Bảng sau đây tổng hợp kết quả 6 thuật toán đã được thực hiện:
Mô hình Precision Recall F1-Score Accuracy Naive Bayes 0.69 0.67 0.67 0.67
SVM 0.74 0.74 0.74 0.74
K-Neighbors 0.58 0.56 0.57 0.57
SGD 0.75 0.75 0.75 0.75
72
Passive Aggressive 0.73 0.72 0.72 0.73
Perceptron 0.64 0.64 0.63 0.64
Bảng 4.3: Tổng hợp kết quả huấn luyện với 6 mô hình
Mô hình Tham số
Naive Bayes alpha=1, fit_prior=False
SVM C=1, gamma=1, kernel=’ linear’, probability=True
K-Neighbors k=5
alpha=0.001, eta0=0.001, learning_rate=optimal,
SGD loss=modified_huber, penalty=12
Passive Aggressive C=5
Perceptron alpha=0.0001
Bang 4.4: Kết quả khi thực hiện tối ưu hóa tham số cho mô hình 4.3.2. Kết hợp các mô hình (ensemble)
Đề chon lựa được chính xác cụ thé một mô hình dé xây dựng cho bai toán phân loại câu hỏi theo thang đo Bloom rất khó khăn do một số mô hình có độ chính xác
và tin cậy không được cao từ 57% đến 75%, vì lý do đó nhóm chúng tôi đã chọn
phương pháp Ensemble Learning dé kết hợp lại các mô hình nhằm giải quyết van dé
vừa nêu và đông thời tăng độ chính xác cho mô hình cuôi cùng.
Qua 6 mô hình đã huấn luyện chúng tôi quyết định loại trừ 2 mô hình có độ chính xác thấp nhất là KNN (57%) và Perceptron(64%). Tiếp tục đánh giá, chúng tôi nhận thấy SGD và SVM là mô hình có độ chính xác cao nhất lần lượt là 74%, 75%. Tuy nhiên dé thực hiện so sánh và chọn ra phương pháp kết hợp tạo ra mô hình tối ưu nhất, nhóm chúng tôi huấn luyện mô hình kết hợp giữa thuật toán PA và SGD. Qua
số liệu thống kê ở bảng 4.3 chúng tôi nhận thấy SGD là một nhánh phát triển của
thuật toán SVM không những có độ chính xác cao hơn những mô hình khác mà còn
73
tăng tốc quá trình thực thi trên máy tính, kết hợp với Passive Aggressive - thuật toán cho phép học và cập nhật mô hình trực tuyến sẽ tạo nên mô hình chính xác và tin cậy nhất cho tính chất của bài toán này.
4.3.3. Danh giá mô hình
Precision Recall F1-Score Accuracy
PA 0.73 0.72 0.72 0.73
SGD 0.75 0.75 0.75 0.75
Ensemble
0.81 0.81 0.81 0.80 (PA+SGD)
Bang 4.5: So sánh kết quả mô hình PA, SGD va Ensemble
Bang 4.5 thé hién két qua huan luyén két hợp mô hình PA va SGD tao nên được kết
quả rât khả quan độ chính xác accuracy lên đên 80%, với các chỉ sô đánh giá như
F1 score, Percision va Recall tăng cao (từ 6-9%) cho thấy mô hình học máy được xây dựng rất đáng tin cậy.
Accuracy [%] ề6
Hình 4.2: Tổng hợp độ chính xác của 7 mô hình phân loại
SVM
Model
PA Perceptron SGD Ensemble
74
F1 5core(%] 3% 6 8ỉ 8ọ 3 8
hoo Ho
=
NB SvM PA Perceptron SGD Ensemble
Model
Hình 4.3: Tổng hợp Fl-Score của 7 mô hình phân loại
Theo biểu đồ, kết quả của các chỉ số accuracy và F1 score cho thấy độ chính xác cho các thuật toán trong mô hình kết hợp (Ensemble) tốt hơn hắn so với chỉ sử dụng
đơn thuật toán (Naive Bayes, SVM, PA, SGD, Perceptron, KNN).
Từ đó qua các bảng và biéu đồ kết quả trên chúng tôi nhận thấy việc kết hop mô hình rất quan trọng cho bài toán phân loại câu hỏi. Đối với bài toán phân loại câu hỏi ở đây để thuận lợi trong việc học và cập nhật mô hình mới nhanh chóng và tối
ưu, chúng tôi lựa chọn mô hình kết hợp PA và SƠD.
4.4, Huấn luyện lại mô hình
Dé khắc phục điểm yếu trong việc dit liệu đầu vào dé xây dựng mô hình ban đầu khá ít và đồng thời tận dụng chính nguồn câu hỏi được thêm vào hệ thống trong quá trình quản lý, soạn thảo. chúng tôi hỗ trợ 2 phương pháp dé huấn luyện lại mô hình gồm: phương pháp huấn luyện trên từng lô điểm dữ liệu mới (Online Learning) và phương pháp huấn luyện lại toàn bộ dữ liệu để cập nhật mô hình phân loại.
4.4.1. Online Learning
Việc huấn luyện lại toàn bộ tập dữ liệu cũ và các điểm dữ liệu mới sẽ tốn thời
gian nêu như sô dữ liệu lớn.
75
Dựa vào ý tưởng của thuật toán PA, chúng tôi triển khai tính năng cho phép quản trị viên có thé huấn luyện lại mô hình phân loại trên một loạt mẫu mới (batch) theo cách thức trực tuyến. Việc làm này sẽ giúp cho mô hình phân loại cập nhật nhanh chóng điểm dữ liệu mới sau khi quản trị viên thêm vào, từ đó đảm bảo hơn về độ
chính xác khi giáo viên sử dụng tính năng phân loại câu hỏi tự động.
Cách thức hoạt động của Online Learning: khi một câu hỏi mới được phân loại,
người dùng có thé xét duyệt câu hỏi đó dé chon làm dit liệu mẫu đưa vào batch. Nếu
số lượng câu hỏi trong batch đạt ngưỡng định trước, hệ thống sẽ tự động kích hoạt huấn luyện lại mô hình. Bằng cách này, quản trị viên có thể quản lý được chất
lượng đầu vào cho mô hình phân loại, qua đó tăng được độ chính xác của mô hình.
Tự train lại mô hình khi batch đạt ngưỡng định trước.
©
Người dùng
“ˆ liệu đầu vào ⁄
Mô hình đã ˆ , f .
}———————|_ Cau hoi k———| Giao diện
huấn luyệ en S
Request từ người dùng ~ a
Py Batch
Phan hoi từ người dùng
Dữ liêu đầu ra
Hiển thị Thêm vào Batch
Phản hồi
Đúng:
- Nhãn Remember là đúng Sai:
- Nhãn Understand là sai
- Nhãn Create là sai và nhãn đúng của câu là Apply
Mức độ nhận thức của
thang đo Bloom
Hình 4.4: Mô tả cách xử lý điểm dữ liệu mới
76
4.4.2. Model Retraining
Ở tính năng nay, chúng tôi thiết kế giao diện cho phép quản trị viên xác thực các câu hỏi đã phân loại Bloom được thêm vào hệ thong và huấn luyện lại toàn bộ mô hình đữ liệu dựa trên tập dữ liệu ban đầu kết hợp với câu hỏi vừa được thêm. Tạo ra
mô hình phân loại mới được cập nhật với dữ liệu huấn luyện mới nhất.
4.5. Kết quả đạt được
4.5.1. Tinh năng phân loại cầu hỏi
Tại giao diện soạn câu hỏi, người dùng có thể chọn “Auto-classify” dé goi API thực hiện tu động phân loại câu hỏi, kết quả trả về là tập hợp tỉ lệ ứng với từng mức
độ Bloom của câu hỏi.
Question *
Ay Axv Alv OY B ù U Gv icv ity Bre vc , = — mm Em là Sâ
A population has recently become much more urbanized and has moved from a mainly agricultural to industrial society. With this change, what would you predict will happen to the fertility rate?
ee
Cognitive Level * Evaluate x Auto-classify
Machine predicts: i Evaluate with 67% certainty
Show more information...
@ Remember: 5% MM Understand: 0% @ Apply: 9
BB Analyze: 3% MB Evaluate: 67% fl) Create: 15%
Hình 4.5: Tính năng tự động phân loại trong soạn thao câu hỏi
4.5.2. Tính năng huấn luyện lại mô hình
Đối với phương pháp huấn luyện trên từng lô dir liệu: Quản trị viên vào trang quản lý mô hình huấn luyện dé thêm các điểm dữ liệu mới. Giao diện cho phép cập nhật lại sức chứa của 16 (batch) khi nhập sức chứa của Batch và bam “Update Capacity”. Bên cạnh đó có nút chức năng dé chọn nhãn đúng hoặc sai sau khi câu hỏi mới được phân loại. Khi số lượng câu hỏi được xét duyệt vào batch đủ số lượng,
hệ thống sẽ thực hiện huấn luyện lại mô hình cho dữ liệu vừa cập nhật.
77
Batch Capacity: 5 Update Capacity
Batch Size: 0
Distribution questions Bloom's taxonomy
@ Remember
@ Understand
@ Apply
@ Analyze
@ Evaluate
Create
Question 1: If you increase the width of a rectangle by 2 units, what happens to the area and perimeter?
Machine predicts: lẹ Remember with 69% certainty Correct? G @
Show more information.
Remember: 69% Ml Understand: 11% Mi Apply: 11
HW Analyze: 9% Ml Evaluate: 0% MM Create: 0%
Hình 4.6: Giao diện huan luyện mô hình theo phương pháp Online Learning
Đối với phương pháp huấn luyện trên toàn bộ dữ liệu (bao gồm tập dữ liệu ban đầu và các câu hỏi mới trong hệ thống): quản trị viên vào trang huấn luyện mô hình chọn tab “From Question Bank”. Giao diện cho phép chọn từng câu hỏi để thêm vào quá trình huấn luyện lại mô hình.
Mini-Batch From Question Bank
Train
Question Text Cognitive Level Is Trained
Select v Selec ¥
Which is the north-easternmost state in the USA? Remember No
Which is the largest state in the USA? Remember No What is the name of the main International Airport at New York? Understand No
How many lakes comprise the Great Lakes? Understand No
Which of the Great Lakes is the only one to lie Apply No
In which state does the Snake River originate? Remember No
Hình 4.7: Giao diện chọn câu hỏi từ ngân hàng câu hỏi dé huấn luyện mô hình
78
Ngoài ra hệ thống còn cung cấp giao diện cho phép quản trị viên theo déi các thông tin về ngày huấn luyện cuối cùng, độ chính xác hiện tại, tổng số dữ liệu được sử dụng dé huấn luyện hay độ chính xác theo thời gian của mô hình, giúp quản trị viên quản lý tốt hơn về sự phân bố dữ liệu trong tập huấn luyện, độ chính xác, từ đó có
thê chọn các dit liệu, sô lượng sao cho phù hợp với việc huân luyện sau này.
Last Trained At: 2021-07-15 Production Accuracy: 0.81 Total Observations: 942
Observation Distribution
Create: 18.2% Remember 17.7%
Evaluate: 16.6% Understand: 16.1%
Analyze: 16.3% Apply: 14.9%
Accuracy
0.820
0.815
0810 — ——
0.805
0.800 Jul 05 Jul 06 Jul 07 Jul 08 Jul 09 Jul 10 Jul Jul 12 Jul 13 Jul 14 Jul 15
Hình 4.8: Giao diện tông quan theo dõi các yếu tổ của mô hình
79