AssessmentFunction

AssessmentFunction[key]

答が正しいかどうかを key に従って評価するツールを表す.

AssessmentFunction[key,method]

指定された答の比較方法を使う.

AssessmentFunction[key,f]

関数 f を使って答と鍵を比較する.

AssessmentFunction[key,comp]

Association comp で定義されたカスタム評価を使って評価を行う.

AssessmentFunction[obj]

CloudObject obj を使って評価を行う評価関数を表す.

AssessmentFunction[{obj,id}]

CloudObject obj 内の指定の質問を評価する.

AssessmentFunction[] [answer]

answer の正しさを表すAssessmentResultObjectを与える.

詳細とオプション

  • AssessmentFunctionは,しばしばQuestionObject内で質問に対する答の評価方法を定義するために使われる.
  • key には以下の形式を使うことができる.
  • ansパターン ans と一致する答
    {ans1,ans2,}答は ansiのいずれかである
    {{a1,a2,}}答はリスト{a1,a2,}
  • 次は,考えられる各答 ansiの可能な形式である.
  • pattすべての正しい応答を照合するパターン
    pattscoreパターンと対応する得点
    pattansspec完全な答の指定を含むAssociation
  • pattscore を使うことは patt<|"Score"score|>と同じである.
  • score はブール値か数値のどちらかでなければならない.Trueおよび正の数値(得点)は正解を,False,ゼロ,負の得点は不正解を表す.
  • pattiは,厳密な答の値か answer の値を比較するパターンでよい.
  • ソースが与えられていない場合,AssessmentFunction[{patt1,patt2,}]pattiはどれも正しいものとして扱われる.単一の pattiTrueまたは正の点数に設定されている場合は,他のすべての pattiが正しくない答として扱われる.
  • 完全な答の指定 ansspec には次のキーが使える.
  • "Score" (必須)一致する答に与えられる得点
    "AnswerCorrect"ans が正しいと考えるかどうか
    "Category"質問のソートについての答に対応するカテゴリ
    "Explanation"ユーザに与えられるテキスト
  • AssessmentFunction[key,"method"]がサポートする答の比較法には次の"method"の値があり,対応する距離関数を使って答と解をToleranceと比較する.Noneは厳密な一致を必要とすることを表す. メソッドのリストは評価の比較法で見ることもできる.
  • "Number"Norm[#1-#2]&スカラー数値
    "String"EditDistance文字列
    "Expression"None任意の式
    "HeldExpression"None評価せずにホールドされている式
    "ArithmeticResult"None算数の練習問題の答
    "PolynomialResult"None多項式の練習問題の答
    "CalculusResult"None微積分の練習問題の答
    "AlgebraicValue"None方程式を解く練習問題の答
    "CodeEquivalence"Noneコード
    "Date"DateDifference日付
    "GeoPosition"GeoDistance地理位置
    "Vector"Norm[#1-#2]&ベクトル
    "Color"ColorDistance色の値
    "Quantity"Norm[#1-#2]&大きさと単位がある数量
  • AssessmentFunction[key,comp]compAssociationである.次は,許容されるキーである.
  • "ComparisonMethod"名前付きの比較法 "method"
    "Comparator"提出された答を key の各パターンと比較するカスタム関数
    "Selector"与えられた答と一致するパターンを選択する関数
    "ListAssessment"答のリストの評価メソッドを指定する
    "ScoreCombiner"要素単位の"Score"の値を組み合せる関数
    "AnswerCorrectCombiner"要素単位の"AnswerCorrect"の値を組み合せる関数
  • 関数 f についてのAssessmentFunction[key,f]AssessmentFunction[key,<|"Comparator"f|>]に等しい.
  • "Comparator""Selector"のどちらか一方を使うべきである."Comparator"compf を使うとキーに含まれる各 ans についての compf[answer, patt]が順に計算されてTrueを与える最初の ans が選ばれる.よく使われる比較器には,MatchQGreaterStringMatchQSameQがある.
  • ユーザの答だけを入力として取るカスタムの比較器 fkey を指定せずに使うことができる.その場合は key としてAutomaticが使える.f[answer]Trueを与える場合は正解と評価される.キーがAutomaticではない場合,f[answer, patti]は提出された answer と解答集の各 pattiを使って計算される.いずれかがTrueを返すと,評価はその pattiに基づいて行われる.
  • "Selector"selectf を使うと selectf[{patt1,patt2,},answer]が計算されて選択された ans に対応する patt が返される.よく使われる選択器には,SelectFirstComposition[First,Nearest]Composition[First,TakeLargestBy]がある.
  • リストされた答を評価するAssessmentFunction[key,<|,"ListAssessment"method,|>][{elem1,elem2,}]の際,method は以下の値をサポートする.
  • "SeparatelyScoreElements"答の各要素を key について別々に評価し,結果を組み合せる
    "AllElementsOrdered"answer の要素が key の要素にマッチするかどうか順にチェックする
    "AllElementsOrderless"answer の要素が key の要素にマッチするかどうか,任意の順序でチェックする
    "WholeList"(デフォルト)完全なリスト{elem1,elem2,}に比較を適用し,通常の式として評価する
  • "SeparatelyScoredElements"のとき,key 内の patt は答の個々の要素に対応していなければならない.こうすると,各要素の点数を以下に説明されているように割り当てることができる.これ以外のすべての"ListAssessment"メソッドについては,key 内の各 patt にリストが含まれていなければならない.
  • "ListAssessment""SeparatelyScoreElements"を使ってリストされた答を一度に一つずつ評価する.各要素の"Score""AnswerCorrect"の結果は"ScoreCombiner"関数と"AnswerCorrectCombiner"関数を使ってそれぞれ組み合される."ScoreCombiner"関数と"AnswerCorrectCombiner"関数は"SeparatelyScoredElements"が使われた時しか適用されない.
  • AssessmentFunctionには次のオプションを使うことができる.
  • DistanceFunction Automatic使用する距離測度
    Tolerance Automatic答の照合に際して許容される距離
    MaxItems Infinity要素ごとの評価における要素数の制限
  • AssessmentFunction[key]AssessmentFunction[key,Automatic]に等しく,key から答の比較タイプを推測する.
  • 各答の比較タイプは定義済みの比較器関数または選択器関数に対応する.たいていの場合,比較タイプに組込みの距離の概念が存在しない場合は,MatchQ"Comparator"が使われる.
  • 比較タイプに距離という概念が存在するなら,AssessmentFunctionFirst@*Nearest"Selector"を使い,ToleranceオプションおよびDistanceFunctionオプションが使える.
  • 別々に採点される要素については,"AnswerCorrectCombiner"は各要素の正解/不正解を表すブール値のリストを取って答の全体的な正解/不正解を表す単一のブール値を返さなければならない.デフォルトは比較法に依存する.最も一般的なデフォルト値はAllTrue[#,TrueQ]&である.
  • 別々に採点される要素については,"ScoreCombiner"は各要素の得点を表す数値のリストを取って答の合計得点を返さなければならない.デフォルトは比較法に依存する.最も一般的なデフォルト値はTotalである.
  • 個別に点数が付く要素の場合,与えられた要素数がMaxItemsの値よりも大きいときは,AssessmentFunctionFailureを返す.
  • InformationAssessmentFunctionに作用し,次の prop の値を取る.
  • "DefaultQuestionInterface"キーから推測されるユーザインターフェース(例:"MultipleChoice""ShortAnswer"
    "AnswerComparisonMethod"値の期待されるタイプ(例:"Number""GeoPosition"
    "Key"答の評価に使われるキー
  • Information[AssessmentFunction[],"Properties"]は,使用可能な prop 値の完全リストを与える.
  • AssessmentFunction[CloudObject[]]は指定されたCloudObject内でリーモート評価を行う.こうすることで,答を提供するユーザによる評価の変更が阻止できる.

例題

すべて開くすべて閉じる

  (4)

「Dog」という答をチェックする評価関数を作成する:

100を超える任意の答に10ポイント与える評価関数を定義する:

数学の多項式の質問に対する答をチェックする:

因数分解した形は正しくないとマークされた:

項を並べ替えた同等の多項式が正しい:

偶数に2点与える評価関数を作成する:

この評価関数を答に適用する:

スコープ  (28)

解答集  (8)

単一の値を解答として与えると,その値が唯一の正解として扱われる:

答をチェックする:

1点が与えられる:

単一の正解を与えて点数を指定する:

正の点数は正解であるとみなされる:

単一の正解と関連する評価をAssociationとして与える:

これを正解と不正解に適用する:

これらすべてのAssessmentFunction入力は等しい:

多くの正解を含む解答集を作成する:

どの値も正解になる:

使用可能な各答に点数を割り当てる:

負の点数は不正解とみなされる:

解答の各項目に"Category"を指定して,分類問題のAssessmentFunctionを作成する:

提出された答は itemcategory の形でなければならない:

正解の説明を含める:

正解を与えて説明を見る

説明はQuestionObjectでも利用できる:

名前付きの比較法  (4)

比較法を名前で指定する:

答は数として比較される:Answers will be compared as numbers:

同じ解答集について別の比較法を選ぶ:

式としては,答は等しくない:

比較法は名前だけでも指定できる:

Associationを使うこともできる:

AssessmentFunctionは,比較法が指定されていない場合は適切なものを自動的に決定しようとする:

Informationを使って選択されたメソッドを取り出す:

解答集の値は比較法と矛盾がないものでなければならない."Vector"比較法の解答集にベクトル値を使う:

提出された答も矛盾がないものでなければならない:

評価はベクトルのカスタム距離測度二基づいて行われる.ユークリッド距離が許容範囲を超える場合は,不正解になる:

カスタムの比較法  (5)

解答集をAutomaticに設定して,名前付きのメソッドの代りにカスタムの比較器を与える:

提出された答に適用した際に比較器関数がTrueを与えるなら,答は正解である:

Associationで比較器を与えることもできる:

解答集とともにカスタムの比較器を提供する:

比較器は提出された答と解答集に適用され,両者が一致するかどうかを判定する:

解答集のどの値が提出された答と一致するかを判定するカスタムの選択器付きのAssessmentFunctionを作る:

4または1よりも3に近い答が正解とされる:

片方が比較器をもう片方が選択器を持つ,類似問題のための2つの評価関数を作成する:

選択器は解答集のすべての値を見て最も近いものを選ぶ.解答集の値3に対応する点数が10点である点に注意のこと:

比較器は提出された答と解答集の値を順に比較し,最初に一致したものを使う.解答集の値4の点数が1点である点に注意のこと:

都市の近くの地位位置を評価する比較器関数を指定する:

場所を評価して完全な評価を見る:

値をホールドする  (3)

HoldPattern を使って解答集の値を定義する"HeldExpression"比較法を指定する:

Holdがホールドした式をチェックする.式は未評価である:

"AlgebraicValue"のような数学比較法はもホールドされた値を受容する:

基本的な算術のような適切な数学変換は,評価中でもHoldの中で行うことができる:A

完全に解決された値をホールドする必要はない:

"AlgebraicValue"比較法はSolveValuesのような関数の評価を許可しない:

HoldPatternを使って"CodeEquivalence"比較法を指定して解答集を定義する:

評価のためにHoldで包み込まれたコードをチェックする.任意の変数名の等価性等の変換はHold内でも適用される:

評価リスト  (7)

"ListAssessment""SeparatelyScoreElements"を指定して各正解に点数を与える:

点数は正解の数を表す:

別々に点数を付けられた要素を使って部分点を与える:

評価関数を値のリストに適用して各要素を評価する:

評価には各要素の情報が含まれる:

各要素の評価を結合するためにカスタムの結合関数を定義する:

評価関数を値のリストに適用して各要素を評価する:

評価には各要素の情報が含まれている:

"ListAssessment""AllElementsOrdered"の設定でAssessmentFunctionを作成する:

提出された答は同じ要素を同じ順序で含んでいなければならない:

異なる順序は不正解とされる:

許容範囲を加える:

比較法は各要素に別々に適用される:

"AllElementsOrdered"評価に含まれるものと等化の比較を直接計算する:

これを,提出されたリストと解答集全体を比較するデフォルトの"WholeList"設定と比較する."Number"ではなく"Vector"比較法が選択されている点に注意のこと:

内部的な"WholeList"評価と等価の評価を直接計算する:

文字列のリストについて"AllElementsOrdered"評価関数を作成する."String"比較法が推測されている点に注意のこと:

同じ解答集に対して"WholeList"評価関数を作成する.このリストに対しては"Expression"比較法が推測されている点に注意のこと:

各要素の"String"比較ではToleranceがサポートされており,例の大文字小文字の違いが許容されている:

"Expression"比較はToleranceをサポートしていないため,この答は不正解になる:

"ListAssessment""AllElementsOrderless"の設定でAssessmentFunctionを作成する:

提出された答は要素を含むリストでなければならないが,要素順は問わない:

比較法,この場合は"CalculusResult"であるが,は各要素に適用される.算術的違いは許容される:

異なる3つの"ListAssessment"設定を同じ解答集に使用する."SeparatelyScoreElements"の場合は解答集の値がリストではない点に注意のこと:

3つの方法はどれも要素を別々に比較する."CalculusResult"法は数学的に等価である値を正解とする:

"SeparatelyScoreElements"だけが,部分的な答に部分点を与える:

"AllElementsOrdered"だけが,要素順が解答集と等しいことを要求する:

クラウド配備  (1)

フロリダの地理位置についてのAssessmentFunctionを作成する:

リソース関数QuestionDeployを使って評価関数をクラウドに配備する:

配備されたAssessmentFunctionには解答集は含まれていない:

答を評価する.評価は,配備されたCloudObjectで安全に行われる:

一般化と拡張  (2)

唯一の正解を含む解答集は,単一の正の点数を指定することで簡単に作ることができる:

他の値は不正解になる:

不正解が一つしかない解答集は,単一の負の点数を指定することで簡単に作ることができる:E

他の値は正解になる:

オプション  (6)

DistanceFunction  (1)

太陽までの距離についての質問に対する評価関数を定義する:

許容度が線形に適用される:

DistanceFunctionを指定して許容度を対数的に適用する:

MaxItems  (4)

"ListAssessment""SeparatelyScoreElements"を使って答の各要素の評価を計算する.このため,比較器によっては遅くなることがある:

MaxItemsで評価する要素数を制限する:

各要素に別々に点を付ける評価関数を作成する.解答集には要素の可能な各値の点数が含まれていることに注意のこと:

リストされた答を評価する:

完全な結果を見る."ElementInformation"には各要素の評価が含まれており,全体的な答についての"Score""AnswerCorrect"の値が計算されている点に注意のこと:

答の各要素を対応する解答集の要素と比較することでリストされた答を評価する評価関数を作成する:

答を評価する.許容誤差が各要素に適用されている点に注意のこと:

要素の順序を変えると不正確な結果になる:

答の各要素を解答集の要素と比較することでリストになった答を評価する評価関数を作成する:

別の要素順で答を評価する.答の各要素が解答集の個別の要素と一致する限り答は正しい:

Tolerance  (1)

Piの値に名前を付けるように求める評価関数を作成する:

近似の答は不正解であるとされる:

Toleranceオプションを使って近似の答も許容するようにする:

答は正解になった:

アプリケーション  (3)

ユーザのコードが解答集と等しいかどうかをチェックする評価関数を作成する:

コード変換規則はコードが等しいかどうかを判定しようとする:

等しくない答は不正解である:

微分問題の採点器を定義する:

数学的変換規則はコードが等しいかどうかを判定しようとする:

等しい表現は正解である:

未評価の問題を答として与えようとしても不正解になる:

多項式の練習問題のためのQuestionObjectを作成する:

特性と関係  (5)

値のリストを単一の項目としてチェックする評価を作成する:

リストの要素は不正解である:

完全なリストしか一致しない:

解答集はパターンをサポートする:

評価結果を見る:

Informationを使ってAssessmentFunctionについての情報を抽出する:

特定の値を取り出す:

"ListAssessment""AllElementsOrdered"を使用するとき,解答集の値はリストである.解答集のリストの各要素が提出された答の対応する要素と比較される:

MatchQ[1,_Integer]
True
MatchQ["hello",_String]
True
MatchQ[3,_Integer]
True

"ListAssessment""AllElementsOrderless"を使うときは,より多くの比較が行われる:

MatchQ[1,_Integer]
True
MatchQ[1,_String]
False
MatchQ[1,_Integer]
True
MatchQ["hello",_Integer]
False
MatchQ["hello",_String]
True
MatchQ["hello",_Integer]
False
MatchQ[3,_Integer]
True
MatchQ[3,_String]
False
MatchQ[3,_Integer]
True

"ListAssessment""SeparatelyScoreElements"を使うとき,解答集は値の平坦なリストであり,提出された答と解答集の各値が比較される:

MatchQ[1,_?OddQ]
True
MatchQ["hello",_?OddQ]
False
MatchQ["hello",_String]
True
MatchQ[6,_?OddQ]
False
MatchQ[6,_String]
False
MatchQ[6,_?EvenQ]
True

解答集の値がオーバーラップしている"AllElementsOrderless"評価関数を作成する:

答の各要素が解答集の個別要素と一致しなければ,答は正しくない:

解答集の個別要素が答の要素と一致するときは,答は正しい:

Wolfram Research (2020), AssessmentFunction, Wolfram言語関数, https://reference.wolfram.com/language/ref/AssessmentFunction.html (2024年に更新).

テキスト

Wolfram Research (2020), AssessmentFunction, Wolfram言語関数, https://reference.wolfram.com/language/ref/AssessmentFunction.html (2024年に更新).

CMS

Wolfram Language. 2020. "AssessmentFunction." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/AssessmentFunction.html.

APA

Wolfram Language. (2020). AssessmentFunction. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/AssessmentFunction.html

BibTeX

@misc{reference.wolfram_2024_assessmentfunction, author="Wolfram Research", title="{AssessmentFunction}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/AssessmentFunction.html}", note=[Accessed: 04-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_assessmentfunction, organization={Wolfram Research}, title={AssessmentFunction}, year={2024}, url={https://reference.wolfram.com/language/ref/AssessmentFunction.html}, note=[Accessed: 04-November-2024 ]}