「記述問題の分析」の版間の差分

提供:MoodleDocs
移動先:案内検索
(ページの作成:「{{レッスン}} レッスンでは、記述式問題には学生の解答を分析する2つの方法があります。このような分析方法は小テストの記…」)
 
27行目: 27行目:
: 仮に "What are the colors of the French flag?" (フランス国旗の色は何色ですか?) という問題があったとします。
: 仮に "What are the colors of the French flag?" (フランス国旗の色は何色ですか?) という問題があったとします。


:'''''回答1''''' の欄に、このような正規表現を入力します。"it’s blue, white(,| and) red/i" 。これは4人の学生の答えのどれにもマッチします。
:'''''解答1''''' の欄に、このような正規表現を入力します。"it’s blue, white(,| and) red/i" 。これは4人の学生の答えのどれにもマッチします。
*it’s blue, white, red
*it’s blue, white, red
*it’s blue, white and red
*it’s blue, white and red
39行目: 39行目:
:'''''問題''''': "What is blue, or red, or yellow?" (青とは何か、赤とは何か、黄とは何か?)  
:'''''問題''''': "What is blue, or red, or yellow?" (青とは何か、赤とは何か、黄とは何か?)  


:'''''答え''''': "(|it's )a colou?r". 以下が一致します:
:'''''解答''''': "(|it's )a colou?r". 以下が一致します:
*a colour
*a colour
*a color
*a color
51行目: 51行目:
:'''''問題''''': "Name an animal whose name is made of 3 letters and the middle letter is the vowel a" (名前が3文字でできていて、真ん中の文字が母音のaである動物の名前を教えてください。)  
:'''''問題''''': "Name an animal whose name is made of 3 letters and the middle letter is the vowel a" (名前が3文字でできていて、真ん中の文字が母音のaである動物の名前を教えてください。)  


:'''''Answer''''': "[bcr]at". 以下が一致します:
:'''''解答''''': "[bcr]at". 以下が一致します:
*bat
*bat
*cat
*cat

2022年1月27日 (木) 06:51時点における版

レッスンでは、記述式問題には学生の解答を分析する2つの方法があります。このような分析方法は小テストの記述問題にはありません。 記述問題では学生は1つの単語またはいくつかの単語で答えることが期待されています。記述問題タイプのページで、この問題形式に関するより詳しい情報を提供しています。

記述問題では2種類の異なる 学生解答 分析システムが利用できます。デフォルトでは シンプルシステム が使用され、正規表現システム はインストールされている場合 (オプションのプラグインです)、問題ページの編集画面で "正規表現を使用する" オプションボックスをチェックした場合に使用されます。

シンプルな分析

(デフォルトの) シンプルな分析システムでは、比較はテキストの大文字と小文字を無視し、アスタリスク (*) 文字は "ワイルドカード" 文字として解答で使用することができます。評価プロセスは、編集画面に表示される順番に解答を処理していきます。一致する答えが見つかった場合、処理は停止され、その答えが学生の答えとなります。

アスタリスクは、任意の数の文字 (全く文字がない場合も含む) を表します。例えば、期待される答え "Long*" は、"longer"、"longest" および "long" にマッチします。ただし、"Long*" は "longing"、"longer than yours" 等にもマッチすることに注意してください。

"ワイルドカード" タイプの学生解答の分析が必要な場合は、以下に説明する 正規表現 分析システムを使用することを強く推奨します。

マッチング処理は、編集画面に表示されている 期待される解答 を順番に処理していきます。一致するものが見つかると、処理は停止し、対応する結果 (および 解答 メッセージがある場合は、そのメッセージ) が返されます。例えば、期待される解答 が "Longest", "Long*" および "*" (この順番) の場合、"longer" という学生の答えは2番目の 期待される解答 にマッチし、この場合、3番目の 期待される解答 はマッチしていますが、無視されます。

もし 期待される解答 の1つが単に "*" (1つの * ) であれば、この 期待される解答 は何にでもマッチすることになります。これは最後の "キャッチオール" 期待される解答 として使用されます。デフォルトのシステムの "不正解" メッセージ (またはあなた自身の言語パックの同等メッセージ) の代わりに、あなた自身の "不正解" フィードバックメッセージを学生に提供したい場合、この "キャッチオール" アスタリスクを使用することができます。

実際にアスタリスク (*) が 期待される解答 に必要な場合は、正規表現 解析システムを使って、アスタリスクを \*、バックスラッシュ・アスタリスクと入力する必要があります。

正規表現による分析

このシステムにより、学生の解答を分析するための、より強力で複雑なシステムにアクセスすることができます。正規表現の完全な紹介は、これらのサイト http://www.zend.com/zend/tut/tutorial-delin2.php regular-expressions または http://joseph.rezeau.pagesperso-orange.fr/eao/developpement/expandRegexpToString.htm を参照してください。

正解正規表現パターンとのマッチング

このシステムが提供する膨大な可能性を完全に例示することはできませんが、以下はほんの一部の可能性です。

例1

仮に "What are the colors of the French flag?" (フランス国旗の色は何色ですか?) という問題があったとします。
解答1 の欄に、このような正規表現を入力します。"it’s blue, white(,| and) red/i" 。これは4人の学生の答えのどれにもマッチします。
  • it’s blue, white, red
  • it’s blue, white and red
  • It’s blue, white, red
  • It’s blue, white and red

注意- デフォルトでは、正規表現のマッチは大文字と小文字を区別します。大文字と小文字を区別しないマッチを行うには、/i パラメータを表現の最後に追加する必要があります。

例2

問題: "What is blue, or red, or yellow?" (青とは何か、赤とは何か、黄とは何か?)
解答: "(|it's )a colou?r". 以下が一致します:
  • a colour
  • a color
  • it's a colour
  • it's a color

注意- この正規表現の先頭の "(|it's )" は、何もないか "it's " (つまり "it's"の 後にスペースがある) のどちらかにマッチします。? (クエスチョンマーク) は、先行する文字が0回または1回であることを意味し、ここでは米国綴りだけでなく英国英語にもマッチするように使用されています。

例3

問題: "Name an animal whose name is made of 3 letters and the middle letter is the vowel a" (名前が3文字でできていて、真ん中の文字が母音のaである動物の名前を教えてください。)
解答: "[bcr]at". 以下が一致します:
  • bat
  • cat
  • rat

必要な単語や文字列の欠落を検出する

正規表現だけでは不在の文字列を検出できないので、解答フィールドにちょっとしたコードを追加して対処する必要があります。ダブルハイフンで始まるすべての 期待される解答 は次の文字列が存在するかしないか調べるために、学生の解答 を分析します。存在する場合、分析は次の問題に進みます。存在しない場合、分析は停止し、関連する解答メッセージが表示されます。

例4

問題: "What are the colors of the French flag?" (フランス国旗の色は何色ですか?)
答え2: --.*blue.*/i
学生の解答 "it's red and white"
返答2: The color of the sky is missing!
ジャンプ2: このページ

ここで、. (ドット文字)は “任意の文字“ を表し、* (アスタリスク) は “先行する特殊文字が何度でも繰り返される“ ことを意味します。上記の 答え2 正規表現は: "blue" という文字列の前が何か、後が何かで、学生の答えに 無い かどうかをチェックすることを意味します。シンプルな分析系と正規表現系では、アスタリスクの使い方が異なりますのでご注意ください。

例5

問題: "Name an animal whose name is made of 3 letters and the middle letter is the vowel a". (名前が3文字でできていて、真ん中の文字が母音 a である動物の名前をあげてください。)
答え: "--[b|c|r]". 返答: "答えは、これらの文字のいずれかで始まっている必要があります: b, c or r"

不要な (誤った) 単語や文字列の検出

学生の答えの中に、(それらが間違っているため) 存在しないはずの1つまたはいくつかの単語があることを検出し、特定の返答でそれらを除外することができます。これを行うにはプラス記号 (++) を使って、解答 フィールドの 期待される解答 を開始します。

例6

答え: ++(yellow|black|orange|green|black|pink)/i
学生の解答: "it's blue, orange and white"
返答: One or more colors are wrong!
ジャンプ: このページ

注意 - もし、これらの (間違った) 色名が学生の答えに検出された場合、ネガティブフィードバックメッセージ (Response) が表示され、間違った文字列は赤色になります (または現在のテーマのCSSスタイルシートに .incorrect クラスの色がある場合はそれが使用されます)。

例7

問題: "Name an animal whose name is made of 3 letters and the middle letter is the vowel a". (名前が3文字でできていて、真ん中の文字が母音のaである動物の名前を教えてください。)
答え: "++hat".
返答: "You might wear one made of an animal's skin, but a hat can't be considered as an animal." (動物の皮でできたものをかぶることはあっても、帽子は動物と見なすことはできません。)

特殊文字のエスケープ

正規表現の特殊文字に含まれる文字を使用する必要がある場合、その文字を "エスケープ" する必要があります (つまり、文字の前にバックスラッシュを付ける)。例: "My computer cost 1000$" という答えを受け入れたい場合、正規表現を "My computer cost 1000\$" と記述しなければなりません。

エスケープが必要な特殊文字は、.^$*()[]+?| です。

期待される解答 の順番

プログラムは学生の答えと教師の 予想される解答 答え フィールドの順序で一致させようとするので、それらの 予想される解答順序 が最も重要です。正規表現と 期待される解答 の順序を注意深く組み合わせることで、最適な分析システムが実現されるでしょう。もちろん、正規表現システムを使った問題は、レッスンでリリースされる前に、教師によって徹底的にテストされなければなりません。

ヒントとコツ

教師は、問題の答えがわからない学生のために、何らかの対策を講じる必要があります。これはすべての問題、特に記述問題や数値問題に当てはまります。 最も一般的な方法は、レッスンの "最大受験回数" の設定を学生のフラストレーションポイントより少なくすることで、これらの学生がループにはまることを防ぐことです。

もう一つの方法は、分析の最後の行として、どんな答えでも受け入れるワイルドカードを使うことです。教師はこの解答に対して、返答でヒントを与えることができます。

教師がレッスンをプレビューする場合、最大試行回数が適用されないことに注意してください。そのため、編集権限のない教師または共同教師が無限ループに陥る可能性があります。 また、最大試行回数が過ぎると、学生が別のページに移動してしまうこともあります。

関連項目