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

正しい書き込み質問タイプ
タイプ質問の種類
セット該当なし
ダウンロード 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"サブディレクトリに置きます。インストールを完了するためにhttp://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番目の引数タイプがありません

英語の文

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

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

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

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