Chuẩn đặc tả câu hỏi trắc nghiệm QTI (Question and Test Interoperability) là chuẩn được tổ chức IMS Global Learning Consortium nghiên cứu về hệ thống sát hạch trắc nghiệm trực tuyến đề xuất. Chuẩn QTI mô tả một mô hình dữ liệu để biểu diễn câu
hỏi trắc nghiệm (assessmentItem), bài trắc nghiệm (assessmentTest) và báo cáo kết
quả tương ứng của chúng. Từ đó, đặc tả cho phép trao đổi câu hỏi, bài trắc nghiệm và
kết quả giữa các hệ thống có tính năng kiểm tra đánh giá (công cụ xử lý, ngân hàng
cách trừu tượng, sử dụng UML để tạo điều kiện liên kết với một loạt các công cụ mô hình hóa dữ liệu và các ngôn ngữ lập trình. Tuy nhiên, việc trao đổi dữ liệu giữa các hệ thống khác nhau được thực hiện thông qua định dạng XML. Chuẩn QTI chỉ ra cách làm thế nào để đánh dấu (mark up) câu hỏi trong định dạng XML, sắp xếp chúng vào các bài test và đánh giá, thêm siêu dữ liệu và đóng gói mọi thứ trong một file ZIP.
QTI XML không giống như hầu hết các tài liệu XML thông thường khác vì nó không chỉ mô tả các phần tĩnh của câu hỏi, bài đánh giá, bài test (text, layout, order...) mà còn các hành vi động (dynamic behavior), nó chỉ ra bài trắc nghiệm và các câu hỏi trắc nghiệm được hiển thị, xử lý và đánh giá như thế nào. VD: cách làm khi người dùng đưara 1 câu trả lời sai, khi cung cấp những phản hồi, làm thế nào để tính điểm...
2.2.1 Lịch sử phát triển
IMS QTI phiên bản 0.5 được công bố vào tháng 3 năm 1999, phiên 1.0 được công bố vào tháng 02/2000 và được hoàn chỉnh vào tháng 05/2000. Đặc tả này được mở rộng và cập nhật 2 lần vào tháng 3/2001 và tháng 1/2002. Đến tháng 3/2003, công bố phiên bản 1.2.1. Ngày 31/08/2012 hoàn thiện phiên bản mới nhất 2.1 và dần được sử dụng rộng rãi [10].
2.2.2 Tại sao cần QTI?
Cho phép tương tác câu hỏi giữa các hệ thống máy tính
Cho phép trao đổi câu hỏi và bài trắc nghiệm giữa những người dùng khác nhau.
Cho phép người xuất bản cung cấp câu hỏi, bài test trong một định dạng mà mọi người đều có thể sử dụng.
Các câu hỏi có thể được xây dựng và tái sử dụng trong thời hạn dài (long term). QTI định nghĩa bài trắc nghiệm là một assessment (test) và câu hỏi là một item
(assessmentItem)
2.2.3 Đặc tả use cases
QTI đươ ̣c thiết kế để có thể trao đổi câu hỏi giữa các hệ thống khác nhau . Cụ thể là [10]:
Cung cấp mô ̣t đi ̣nh da ̣ng để lưu trữ và ta ̣o câu hỏi /bài trắc nghiệm mà không phụ thuộc vào công cụ sử dụng để tạo ra chúng.
Hỗ trơ ̣ viê ̣c phát triển ngân hàng câu hỏi trong phạm vi lớn các hệ thống học tập và đánh giá.
Hỗ trơ ̣ viê ̣c triển khai các câu hỏi , ngân hàng câu hỏi , bài trắc nghiệm từ các nguồn đa da ̣ng trong mô ̣t hê ̣ thống ho ̣c tâ ̣p/đánh giá.
Cung cấp các hê ̣ thống v ới khả năng báo cáo kết quả bài trắc nghiệm theo một cách phù hợp.
Vai trò của các đối tượng sử dụng hệ thống được thể hiện qua Hình 2.37 [10]:
Hình 2.37: Vai trò của câu hỏi và bài trắc nghiê ̣m
Trong đó:
authoringTool: công cụ tạo/chỉnh sửa bài trắc nghiệm. itemBank: kho câu hỏi.
testConstructionTool: Hệ thống ta ̣o bài trắc nghiê ̣m từ các câu hỏi đơn lẻ. assessmentDeliverySystem: hệ thống quản lý và phân phối bài trắc nghiệm
đến người trả lời trắc nghiệm . Hê ̣ thống chứa mô ̣t cơ chế phân phối (delivery engine) để phân phối câu hỏi đến người trả lời và tính điểm theo phản hồi của người tham gia mô ̣t cách tự đô ̣ng (nếu có) hoă ̣c phân phối chúng đến scorer. learningSystem: hệ thống học tập
assessment: Bài trắc nghiệm. assessmentItem: Câu hỏi
author: tác giả của bài trắc nghiệm, có thể là một hoặc nhiều người. itemBankManager: người quản lý các kho câu hỏi.
testConstructor: tạo bài trắc nghiệm (test form) từ các câu hỏi đơn lẻ được lấy từ ngân hàng câu hỏi.
proctor: giám thị/người coi thi.
scorer: một người hoă ̣c mô ̣t hê ̣ thống bên ngoài chi ̣u trách nhiê ̣m đánh giá phản hồi của thí sinh trong quá trình phân phối các bài trắc nghiệm (giám khảo).
tutor: ngườ i liên quan đến viê ̣c quản lý , điều hướng, hỗ trơ ̣ quá trình ho ̣c tâ ̣p cho người ho ̣c nhưng không phải là tác giả của bài trắc nghiê ̣m đó.
candidate: thí sinh
Assessment
"Một bài trắc nghiệm (assessment) theo chuẩn QTI là một tệp XML xác định rõ các thành phần của bài trắc nghiệm, tập hợp các câu hỏi chứa trong bài trắc nghiệm đó và nhiều thuộc tính khác nữa" [1,tr.1].
Hình 2.39 sẽ mô tả cấu trúc phân cấp một bài test theo chuẩn QTI [11]:
Hình 2.38: Cấu trúc một bài test theo chuẩn QTI.
Hình trên cho thấy một bài trắc nghiệm theo chuẩn QTI gồm:
- Section: Là một phần con của bài trắc nghiệm, có thể chứa sub-section hoặc
một/nhiều câu hỏi
- Câu hỏi (assessmentItem): là thành phần nhỏ nhất trong bài trắc nghiệm
Item
Câu hỏi (item) là phần thấp nhất trong cấu trúc assessment, được mô tả theo định dạng XML. Câu hỏi theo chuẩn QTI là bao gồm nội dung câu hỏi, câu trả lời của người tham gia bài thi và phản hồi (feedback) từ hệ thống.
Item Session Lifecycle [11]
Mô ̣t Item session là sự tích lũy của tất cả các lượt trả lời của ứng viên ta ̣i mô ̣t thể hiê ̣n cu ̣ thể của mô ̣t câu hỏi . Trong mô ̣t số loa ̣i bài trắc nghiê ̣m , mô ̣t câu hỏi có thể xuất hiê ̣n nhiều lần. Mỗi lần xuất hiê ̣n (hoă ̣c thể hiê ̣n của câu hỏi ) tương ứng với mô ̣t item session của chính nó.
Hình 2.39 minh họa các tra ̣ng thái nhâ ̣n từ người dùng của mô ̣t item session [11]. Không phải mo ̣i câu hỏi đều sử dụng tất cả các trạng thái , ví dụ một số câu hỏi không sử du ̣ng phản hồi (feedback)... Tương tự, ứng viên có thể không được cho phép xem la ̣i (review) câu trả lời của ho ̣ trong mô ̣t bài thi . Trên thực tê, các hệ thống có thể chỉ hỗ trợ một số lượng nhất định các trạng thái đã được chỉ ra trước hoặc hỗ trợ một số tra ̣ng thái không được chỉ ra ở đây.
Hình 2.39: Vòng đời Item Session.
Phiên làm viê ̣c bắt đầu khi câu hỏi sẵn sàng để phân phối tới ứng viên . Trạng thái của item session được duy trì và cập nhật để đáp ứng các hành vi của ứng viên cho đến khi phiên làm việc kết thúc . Bất cứ thời điểm nào , một trạng thái của phiên làm viê ̣c cũng có thể được biến thành itemResult . Mô ̣t hê ̣ thống phân phối cũng cho phép mô ̣t itemResult được sử du ̣ng làm cơ sở cho mô ̣t phiên làm viê ̣c mới để cho phép câu trả lời của ứng viên được nhì n thấy trong bối cảnh của câu h ỏi đó (có thể so sánh với đáp án đúng ) hoă ̣c thâ ̣m chí cho phép ứng viên tiếp tu ̣c mô ̣t phiên làm viê ̣c bi ̣ gián đoa ̣n vào mô ̣t thời điểm sau đó.
Trạng thái bắt đầu của một item session thể hiệ n tra ̣ng thái sau khi nó được xác đi ̣nh là sẽ được phân phối tới ứng viên và trước khi nó được phân phối đến điểm đích.
Trong mô ̣t bài trắc nghiê ̣m không thích nghi , các câu hỏi được lựa chọn trước và tương tác của ứng viên với tất cả các câu hỏi sẽ được báo cáo vào cuối phiên trả lời bài trắc nghiệm (test session), bất kể là ứng viên có trả lời tất cả c ác câu hỏi hay không. Thực tế, các item session được tạo trạng thái khởi tạo cho tất cả các câu hỏi khi bắt đầu bài trắc nghiê ̣m và được duy trì song song . Trong mô ̣t bài trắc nghiê ̣m thích
nghi, các câu hỏi được thể hiện sẽ được lựa chọn trong suốt phiên làm việc dựa trên các câu trả lời và kết quả liên quan liên quan đến các câu hỏi được hiển thi ̣ tiếp theo . Các câu hỏi được lựa chọn từ một phạm vi câu hỏi lớn và các công cụ phân phối chỉ báo cáo tương tác của ứng viên với các câu hỏi đã thực sự được chọn lựa.
Mô ̣t tương tá c của ứng viên có thể là 0 hoă ̣c nhiều lần trả lời . Trong suốt quá trình trả lời, ứng viên tương tác với câu hỏi thông qua một hoặc nhiều phiên làm việc của ứng viên . Cuối phiên làm viê ̣c của ứng viên , câu hỏi có thể được thiết lâ ̣p tra ̣ng thái nghỉ (suspended) sẵn sàng cho phiên làm viê ̣c của ứng viên tiếp theo . Trong suốt mô ̣t phiên làm viê ̣c của ứng viên , mô ̣t item session có tra ̣ng thái tương tác . Khi khi viê ̣c trả lời kết thúc, viê ̣c xử lý phản hồi được tiến hành, sau đó bắt đầu trả lời mô ̣t câu hỏi khác.
Với các câu hỏi không tương thích , viê ̣c xử lý phản hồi thường diễn ra với số lươ ̣ng ha ̣n chế, thường chỉ có 1. Với các câu hỏi tương thích, không giới ha ̣n viê ̣c xử lý phản hồi do việc xử lý phản hồi tương thích với các giá trị nó gán cho các biến kết quả dựa trên các câu hỏi . Trong cả hai trường hợp , mỗi lời go ̣i xử lý phản hồi xảy ra sau khi trả lời xong mỗi câu . Sự xuất hiê ̣n của phần thân câu hỏi , và bất cứ thông tin phản hồi nào được hiển thi ̣, được xác đi ̣nh bởi giá tri ̣ của các biến kết quả.
Khi không có lượt trả lời nào cho phép item session chuyển sang tra ̣ng thái đóng (closed). Khi chuyển sang tra ̣ng thái đóng , tất cẩ các biến trả lời được cố đi ̣nh . Mô ̣t số hê ̣ thống vẫn cho phép câu hỏi được trình bày sau khi đã chuyển sang tra ̣ng thái đóng. Đây là loa ̣i thể hiê ̣n thuô ̣c tra ̣ng thái rà soát (review state), cũng có thể thấy đươ ̣c phản hồi tóm tắt ở thời điểm này nếu viê ̣c xử lý phản hồi đã diễn ra và thiết lâ ̣p mô ̣t biến kết quả phù hợp.
Cuối cùng, với các hê ̣ thống hỗ trợ hiển thi ̣ các giải pháp , item session có thể chuyển đến trạng thái giải pháp (solution state). Trọng trạng thái này , câu trả lời của ứng viên được tạm thời thay thế bởi câu trả lời đúng (khai báo trong phần responseDeclarations hoă ̣c NULL nếu không được khai báo).
2.2.4 Phân loại câu hỏi theo chuẩn QTI
Chuẩn QTI phân loại câu hỏi theo bản chất của câu hỏi, nghĩa là phân loại theo kịch bản tương tác và xử lý câu hỏi. QTI đưa ra khái niệm interaction, đó chính là tương tác hay bản chất của một câu hỏi. interaction là một lớp tổng quát ở bên trên, dưới nó là các interaction con, tương ứng với từng loại câu hỏi cụ thể. Bảng 2.3 đưa ra các da ̣ng câu hỏi theo chuẩn IMS QTI v2.1 [12].
Bảng 2.3: Các dạng câu hỏi theo chuẩn IMS QTI v2.1
STT Dạng câu hỏi Ý nghĩa Mô tả
1 choiceInteraction Câu hỏi lựa chọn Có nhiều phương án trả lời, thí sinh cần chọn 1 hoặc nhiều phương án trả lời đúng
2 orderInteraction Câu hỏi sắp xếp trật tự
Có nhiều phương án trả lời với thứ tự ưu tiên khác nhau, thí sinh cần sắp xếp các câu trả lời theo trật tự đúng
3 associateInteraction Câu hỏi tương tác kết hợp
Câu hỏi kết nối nhiều lựa chọn, thí sinh cần nối một lựa chọn với một lựa chọn khác có liên quan (simpleAssociableChoice)
4 matchInteraction Câu hỏi ghép cặp Câu hỏi được biểu diễn theo một mảng, có thể coi mỗi hàng như câu hỏi một lựa chọn, thí sinh cần chọn giá trị trong các cột tương ứng với giá trị được đưa ra trong cột đầu tiên để tạo thành một cặp đáp án đúng
5 gapMatchInteraction Câu hỏi ghép cặp điền vào chỗ trống
Thường có 1 hay nhiều chỗ trống trong đoạn văn ngữ cảnh dùng làm câu hỏi. Thí sinh có nhiệm vụ điền vào các chỗ trống này bằng một trong các phương án trả lời được cho sẵn ở bên dưới. Trong câu hỏi sẽ có nhiều chỗ trống gọi là gapChoice, mỗi gapChoice có thể là text (gapText) hay hình ảnh (gapImg) 6 inlineChoiceInteraction Câu hỏi lựa chọn nội
tuyến
Chọn một giá trị đúng trong danh sách thả xuống để điền vào chỗ trống được đặt trong một dòng nào đó của đoạn văn ngữ cảnh của câu hỏi
7 textEntryInteraction Câu hỏi nhập văn bản
8 extendedTextInteraction Câu hỏi nhập văn bản mở rộng
Thí sinh trả lời câu hỏi bằng cách viết một đoạn văn bản (câu hỏi tự luận)
9 hottextInteraction Câu hỏi chọn từ Có nhiều phương án trả lời là các từ/cụm từ ở các vị trí bất kỳ của đoạn văn ngữ cảnh, thí sinh cần chọn ra phương án trả lời đúng
10 hotspotInteraction Câu hỏi lựa chọn điểm
Tương tự loại câu hỏi 9-hottextInteraction, tuy nhiên đoạn văn ngữ cảnh được thay bằng hình ảnh đồ họa
11 selectPointInteraction Câu hỏi lựa chọn điểm không cho trước
Thí sinh phải lựa chọn câu trả lời là một vị trí trên hình ảnh đồ họa mà không có phương án trả lời gợi ý trước
12 graphicOrderInteraction Câu hỏi sắp xếp trật tự đồ họa
Có nhiều phương án trả lời là các vị trí được đánh dấu trên hình ảnh đồ họa, thí sinh cần gắn số thứ tự đúng cho các vị trí này
13 graphicAssociateInteraction Câu hỏi liên kết đồ họa
Tương tự loại câu hỏi 3- associateInteraction nhưng các phương án trả lời được thay bằng các vị trí trên hình ảnh đồ họa
14 graphicGapMatchInteractio n
Câu hỏi ghép cặp điền vào ô trống đồ họa
Tương tự loại câu hỏi 5- gapMatchInteraction nhưng các phương án trả lời được thay bằng các vị trí trên hình ảnh đồ họa
15 positionObjectInteraction Câu hỏi định vị đối tượng
Tương tự loại câu hỏi 11- selectPointInteraction nhưng thí sinh sẽ đặt một hình ảnh vào đúng vị trí của nó trên một hình ảnh khác
16 sliderInteraction Câu hỏi sử dụng con trượt
Thí sinh dùng con trượt để lựa chọn một số trong một tập số liên tục cho trước (có biên trên và biên dưới)
17 drawingInteraction Câu hỏi chỉnh sửa đồ họa
Thí sinh dùng các công cụ vẽ cho trước để chỉnh sửa một hình ảnh đã cho
18 uploadInteraction Câu hỏi yêu cầu tải tệp lên
Thí sinh tải một tệp lên để trả lời cho câu hỏi
19 customInteraction Câu hỏi tự định nghĩa
Loại câu hỏi trắc nghiệm mở rộng chưa có trong đặc tả, do người dùng tự định nghĩa tùy theo nhu cầu trong từng tình huống cụ thể.
2.3 So sánh định dạng XML sử dụng trong LimeSurvey và chuẩn QTI
Mô ̣t câu hỏi lựa chọn trong LimeSurvey được biểu diễn như sau:
Hình 2.40: Câu hỏi một lựa chọn trong LimeSurvey.
Mô ̣t câu hỏi t rong LimeSurvey tuân theo cấu trúc XML như sau (chi tiết xem trong Phụ lục 2):
<?xml version="1.0" encoding="UTF-8"?> <document>
<LimeSurveyDocType>Question</LimeSurveyDocType>
<DBVersion> <!-- Phiên bản CSDL hê ̣ thống sử du ̣ng> </DBVersion> <languages>
<language> <!-- Ngôn ngữ biểu diễn câu hỏi> </language> </languages>
<questions> <fields>
<!-- Đi ̣nh nghĩa các thuô ̣c tính của câu hỏi (sử du ̣ng thẻ fieldname)> </fields>
<rows> <row>
<!-- Gán giá trị cho các thuộc tính của câu hỏi> </row>
</rows> </questions> <answers>
<fields>
<!-- Định nghĩa các thuô ̣c tính của câu trả lời> </fields>
<rows>
<!-- Gán giá trị cho các các thuộc tính của câu trả lời> </rows>
</answers> </document>
Ví dụ về câu hỏi dạng lựa chọn choiceInteraction theo chuẩn QTI:
Hình 2.41: Câu hỏi dạng lựa chọn choiceInteraction
Cấu trúc dạng XML của câu hỏi trên được biểu diễn như sau (Chi tiết xem trong Phụ lục 3): <?xml version="1.0" encoding="UTF-8"?> <assessmentItem xmlns="http://www.imsglobal.org/xsd/imsqti_v2p1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsqti_v2p1 http://www.imsglobal.org/xsd/qti/qtiv2p1/imsqti_v2p1.xsd"
identifier="choice" title="Unattended Luggage" adaptive="false" timeDependent="false"> <responseDeclaration identifier="RESPONSE" cardinality="single" baseType="identifier">
<!-- Đi ̣nh nghĩa đáp án đúng của câu hỏi> </responseDeclaration>
<outcomeDeclaration identifier="SCORE" cardinality="single" baseType="float"> <!-- Đi ̣nh nghĩa điểm số khi ƣ́ng viên lƣ̣a cho ̣n câu trả lời đúng >