"String" (比較法)
"String" (比較法)
任意の距離測度を使って2つの文字列を比較する.
詳細
- デフォルトで,"String"比較法は,2つの文字列が同一であれば同等であるとみなす.
- 距離測度と対応する許容範囲はDistanceFunctionとToleranceの両オプションを使って設定できる.デフォルトの距離関数はEditDistanceである.
- DistanceFunctionはToleranceが非零のときにしか使われない.他の互換の距離測度には,HammingDistanceとDamerauLevenshteinDistanceがある.
- 加えて,IgnoreCaseのような距離測度のオプションもAssessmentFunctionの第2引数としてサポートされている.
- 解答集の複数の値が解答の許容範囲内にあるときは,最も近い値が選ばれる:
例題
すべて開く すべて閉じる例 (3)
文字列の問題についてのAssessmentFunctionを作成する:
stringaf = AssessmentFunction["Dog", "String"]stringaf["Dog"]stringaf["Dig"]dnatest = AssessmentFunction["AGGTCCCAAAA", Tolerance -> 2]EditDistanceが2以内の任意の配列が正しいとみなされる:
dnatest["AGGTTCCAAAT"]カスタムのスコアがで複数の解答集を設定し,文字列法を推測する:
stringaf = AssessmentFunction[{"Dog" -> 2, "Cat" -> -2}]result = stringaf["Dog"]result[{"Score", "AnswerCorrect"}]スコープ (2)
asmf = AssessmentFunction[{"Iguana" -> <|"Category" -> "Reptile", "Score" -> 1|>, "Moose" -> <|"Category" -> "Mammal", "Score" -> 1|>}]asmf["Moose" -> "Mammal"]assessment = AssessmentFunction[{"tall" -> 1, "big" -> 2, "giant" -> 3, "small" -> -1}, <|"ListAssessment" -> "SeparatelyScoreElements"|>][{"big", "small"}]assessment[All]オプション (2)
stringAF = AssessmentFunction[{"Dog" -> 2, "Cat" -> -2}, Tolerance -> 1]stringAF["Doug"]stringAF["Drug"]EditDistance["Doug", "Dog"]EditDistance["Drug", "Dog"]AssessmentFunction["Doug", Tolerance -> 2, DistanceFunction -> EditDistance]["Dugo"]AssessmentFunction["Doug", Tolerance -> 2, DistanceFunction -> HammingDistance]["Dugo"]EditDistance["Doug", "Dugo"]HammingDistance["Doug", "Dugo"]アプリケーション (1)
BioSequenceComplementがDNA配列をサポートするようにする効用関数を定義する:
flipdna[str_] := BioSequenceComplement[BioSequence["DNA", str]]["SequenceString"]それぞれ 1つの間違いを許容してDNA補完を決定するQuestionObjectを作成する:
QuestionObject[
QuestionInterface["TextCompletion", <|
"Prompt" -> "Give the complementary genetic sequences:",
"Template" -> "ACTGG ``
GACTT ``"
|>
],
AssessmentFunction[{flipdna /@ {"ACTGG", "GACTT"}}, <|"ComparisonMethod" -> "String", "ListAssessment" -> "AllElementsOrdered"|>, Tolerance -> 1]
]特性と関係 (1)
考えられる問題 (2)
測度の中には,同じ長さの文字列の比較にしか使えないものもある:
AssessmentFunction["Dog", DistanceFunction -> HammingDistance]["Doug"]"String"比較法は,パターンではなく距離に基づいている.文字列パターンのマッチングはサポートされていない:
AssessmentFunction["A*", "String"]["Apple"]代りに,カスタム比較器としてStringMatchQを指定するとよい:
AssessmentFunction["A*", StringMatchQ]["Apple"]関連項目
AssessmentFunction ▪ QuestionObject ▪ DistanceFunction
質問インターフェースタイプ: ShortAnswer TextCompletion DragCompletion
比較法: Expression Date
関連するガイド
-
▪
- 質問と評価