正しい書き込み問題タイプ

正しい書き込み問題タイプ
タイプ問題の種類
セット該当なし
ダウンロード https://moodle.org/plugins/qtype_correctwriting
問題点 https://bitbucket.org/oasychev/moodle-plugins/issues?status=new&status=open
討論 https://moodle.org/mod/forum/view.php?id=737
メンテナ オレグ・シチェフ


正しい書き方の問題


著者:

1.アイデア、文字列分析方法、一般的なアーキテクチャ、ヒントの実装 - Oleg Sychev 2.問題タイプコード、シーケンスアナライザ、画像生成 - Dmitry Mamontov

ありがとうございます。

  • Maria Birukova - アイコンについてのヘルプ

説明

新しい言語の構文、つまり人間かプログラミング言語のどちらかを教えるとき、あなたは自分自身が正しい単語(記号など)を正しい順序で書くことを教えているのに気づくことがよくあります。この問題はそれであなたを助けるでしょう。

それは言葉(よく、アクチュアリートークンまたは語彙素)レベルで学生の反応を分析して、あなたに最も近い可能な一致を見つけて答えて、学生に間違いについてのメッセージを示します。現在サポートされている間違いは次のとおりです。 - 欠けている言葉 - 無関係な単語。

文法的に考えるよう学生に教えるためには、実際の誤った単語ではなく、可能な場合はそれらの文法的な役割を明らかにしてはなりません(すなわち、無関係な単語を除く)。そのようなメッセージについて考えている学生を考えてみましょう。 - "cat"の置き忘れや件名の置き忘れ - "int"の欠落、または変数の型の欠落あなたはそれぞれの単語(lexeme)に答えて文法的な説明を入力してください。


インストール

CorrectWriting問題タイプを機能させるには、いくつかの追加コンポーネントが必要です。問題が機能するためには、それらすべてをインストールする必要があります。あなたは(GoogleCodeから)1つのアーカイブにまとめて、あるいは別々にそれらをダウンロードすることができます。

1つのアーカイブをダウンロードし、それを解凍すると、「question」および「blocks」フォルダが見つかります。それらをMoodleインストールのメインディレクトリ(config.phpを含むディレクトリ)にコピーしてください - 正しい場所にすべてがインストールされます。

すべての部分を別々にダウンロードした場合(例えば、Moodleプラグインディレクトリはそれらを一緒にダウンロードすることを許可していないため)、3つのアーカイブを入手する必要があります。 Moodleインストールのquestion / typeフォルダに "correctwriting"と "poasquestion"フォルダを置いてください。 "formal_langs"はブロックフォルダーに置かれるべきです。

ファイルを所定の場所に配置したら、管理者としてログインし、通知ページに移動します。


バグ、提案、そしてお返し

GoogleCodeトラッカー(Component-WritingCompetentlyラベルを設定)でバグを報告してください - これは望ましい方法です - またはMoodle Tracker。 Google Codeトラッカーはそこにあります: http : //code.google.com/p/oasychev-moodle-plugins/issues/listあなたはまた将来問題タイプを開発する方法の提案を投稿するかもしれません、しかしそれらを一緒にしてくださいあなたが誰であるか、あなたが問題タイプをどのように使用しているか、そしてあなたが教育的に提案する強化をどのように使用するつもりであるかについての情報。

あなたがプロジェクトが好きなら、それも手助けを検討してください。それはお金や難しいプログラミングを意味する必要はありません。

あなたはこの問題タイプを使用することについての論文または論文を発表することができましたそして私にこのプロジェクトの評価を改善するために引用することができる参照を送ってください。あなたがこの問題についての科学論文を発表することができ、それが共著者として私と一緒に使用すると、これはもっと役に立つだろう、あなたがそうすることを選んだ場合はすぐに私に知らせてください。

この問題を使用することについて書くとき、あなたは以下のソースを引用したいと思うかもしれません: - Oleg Sychev、Dmitry Mamontov。オープンテキストの解答を持つ問題への解答におけるトークンシーケンスの誤りの特定Arxiv電子プリントURL: http : //arxiv.org/abs/1301.2466

手動または単体テストのいずれかでテストすることもできます。カテゴリに含まれるプラグインのデフォルトのインストール手順問題の種類必要なバージョンがすべて揃っていることを確認してください。モジュールをダウンロードして解凍します。フォルダ( "myquestiontype"など)を "question / type"サブディレクトリに置きます。インストールを完了するためにhttps://yoursite.com/adminにアクセスしてください。

古い文書

ゴール

この問題タイプは、学生がプログラミング言語を学習しているとき、または自然言語学習の単純な場合に、学生が正しい文字列(ステートメント、センテンス)を書かなければならないときに自動的にスキップします。いくつかの単語または間違った順序で単語を配置する。これは、どの単語(またはある種の記号)が移動されたか、または答えに欠けているかについての実際の情報を提供しないが、その意味であるためにも役立ちます。これは、直接の教師の監督なしにいくつかの訓練を可能にします。

入力がどのように分割されるか

教師は1つまたは複数の正しい答えを入力する必要があります(特定の答えを説明する可能性のあるフィードバックとともに)。これらの答えは、言葉、数字、句読点、演算子など、意味のある最も小さな部分( トークンまたは語彙素 )に分解するためにトークン化されます (このプロセスは後でスキャンと呼ばれます )。

問題は後でこれらのトークンの配置のエラーを分析して表示します。しかし、私たちが学生に言っているとき、彼の答えの中のその機能名 (または件名 )が見当違い(または欠けている)である場合、その機能名または件名の正確な単語に関する情報を学生に開示したくありません。学生が自分の置き忘れた単語を見た場合、それを動かそうと試みることができます。学生がこの単語の文法的な役割(例: "関数名"や "主語"の位置を間違えている)を見た場合、それは彼を文法的なカテゴリーで考えるように刺激します。そのため、教師は正しい答えで各トークンの文法的な説明を入力するように求めました。これは2段階のプロセスとして行われます。

解答フォームでは、解答を入力してそれに対する具体的なフィードバックを入力できます。

CorrectWritingAnswerStep1.PNG

「変更を保存」をクリックしてください。各トークンの説明を入力できるように、解答フォームが変わります。トークンの説明を飛ばしてEnterを押すだけでテキストフィールドに空の行を入れることができます。そうすると学生は代わりにトークンの文字表現を使います。

CorrectWritingAnswerStep2.PNG

もう一度「変更を保存」ボタンをクリックしてください。

問題タイプの設定

新しいCorrectWriting問題タイプを作成すると、次の設定を含むフォームが表示されます。

CorrectWritingEditForm.PNG

最も重要な設定項目の1つは、 解答言語です。それはあなたが答えが語彙素(トークン)に分解されるであろう方法を定義します。他の設定はそれほど重要ではなく、最初にそれらについて心配する必要はないかもしれません。それらのほとんどは、問題の採点を微調整するために使用され、高度なものです。

以下のパラメータを見ることができます。

 ;語彙エラー閾値:学生の解答からの解答を教師の解答と比較するときに使用される閾値は、Levenstein距離を持つエラーと照合するために使用されます。 2つのトークンを比較するときのエラーの量が、このしきい値と教師トークンの長さの積より小さい場合、トークンはエラーと同じです。スペルミスの検索は実装されていないため、このパラメータは使用されず、フォームには表示されません。
;字句エラーに対するペナルティ:1つのスペルミスが見つかった場合は、gradeから引かれるペナルティ。スペルミスの検索は実装されていないため、このパラメータは使用されず、フォームには表示されません。
欠けているトークンに対する罰金
ペナルティ、それは学生の解答で欠けている各トークンの評定から差し引かれます。
追加トークンに対する罰金
ペナルティ、それは学生の解答の各奇数トークンの評定から差し引かれます。
置き忘れたトークンに対するペナルティ
学生の解答の見当違いのトークンごとに評定から差し引かれるペナルティ。これは教師の解答から得られる、誤った順序で行われます。
間違いを見つけて表示するための答えの最低評点
時々、教師は学生に特に悪い答えについていくつかのヒントを指摘するかもしれません、そして、彼らのコメントは学生と教師の答えが同じであるとき、見られなければなりません。教師は、この解答の境界より低い評定で解答を定義し、カスタムエラーメッセージで悪い解答を指摘することができます。
学生の解答における誤りの最大割合
学生が多くの間違いで返答を書くとき、私たちは他の教師の答えと一致することを支持して彼の答えを拒絶することができます、間違いの数がこのパラメータと答えの中の部品の数の積よりも大きいとき。
答えの言語
ある答えと学生の反応を分析するときに使われる言語。現在サポートされている言語は英語とCプログラミング言語です。
ヒント設定
多段階動作のための特定のヒントを有効にして、それらの使用のためにペナルティを設定することを可能にします。ヒントについて詳しくは、次のセクションを参照してください。

ほのめかし

CorrectWriting問題タイプはヒンティングビヘイビアを使用しており、現在はアダプティブビヘイビアになっていますが、評定のペナルティに対して特別なヒントを与えることができます(0に設定できます)。 1以下のヒントに対してペナルティを設定して、それらを有効にすることができます。

ヒントとは
説明ではなくトークンテキストを学生に伝えます。すなわち主題は "猫"です。置き忘れられたトークンと欠けているトークンの間違いに使用されます。トークンミスがない場合は、 欠けている単語の正確なテキストが開示されているため、 ペナルティには欠けているヒントペナルティ要素が掛けられます。
テキストヒントはどこにありますか
解答に基づいて、可能な場合は説明を使用して、トークンを配置する場所にメッセージを表示します。すなわち主題は定冠詞と動詞の間に置かれるべきです。置き忘れられたトークンと欠けているトークンの間違いに使用されます。
絵のヒントはどこですか
解答に基づいて、可能な場合は説明を使用して、トークンを配置する場所のイメージを表示します。下の例では、赤い枠で強調表示されています。

CorrectWritingImageHint.PNG

学生の解答の採点例

部分的に上で説明されている問題については、次の例を検討してください。

CorrectWritingStudentAnswer.PNG

あなたは学生の間違いの例を見ます。あなたはあなた自身の目的のためにいくつかの間違いの絵を隠したりいくつかの間違いの文を隠したり、小テストの様々なオプションを切り替えることができます。

CorrectWriting問題タイプのインストール

この問題タイプをインストールするには、 正式言語ブロックと問題タイプが必要です。また、 poasの問題タイプが必要です。

それらすべてをあなたのMoodleインストールフォルダにコピーし、必要ならば上書きしてウェブインターフェースでサイト管理に行き、インストールを続行すれば完了です。


例

以下の例を検討してください。

C言語の関数ヘッダ

学生はfunctionのための簡単なfunction headerを書く必要があります、それは自然に記述されています:void function(int abc、char def)、そして以下の部分の記述:

無効
戻り値の型
関数
機能名
(
大括弧(または関数引数の左大括弧)
int
第一引数タイプ
abc
第一引数名
、
引数リストの区切り記号
チャー
第2引数タイプ
def
第二引数名
)
大括弧(または関数引数の場合は右大括弧)

学生が次のような答えを提出した場合、 function(abc、def)void 、question typeは次のような出力をします。

戻り値の型が間違っています
最初の引数タイプがありません
2番目の引数タイプがありません

英語の文 :

学生は外国語を学びながら、簡単な文章を書く必要があります。猫はマウスを食べました。

の
定冠詞
ネコ
件名
食べた
動詞
の
定冠詞
マウス
補体
。
文の終点

学生が次のような答えを提出したとします。猫がマウスを食べると、問題タイプは次のような出力になります。

「食べる」は反応してはいけません
動詞がありません
文の終点がありません。