XÂY DỰNG MO HÌNH PHAN LOẠI CÂU HOI

Một phần của tài liệu Khóa luận tốt nghiệp Hệ thống thông tin: Xây dựng hệ thống câu hỏi và thi trắc nghiệm trực tuyến theo thang đo nhận thức Bloom (Trang 84 - 96)

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

Một phần của tài liệu Khóa luận tốt nghiệp Hệ thống thông tin: Xây dựng hệ thống câu hỏi và thi trắc nghiệm trực tuyến theo thang đo nhận thức Bloom (Trang 84 - 96)

Tải bản đầy đủ (PDF)

(130 trang)