Gleichheitvergleiche - thm-mni-ii/SWT-P_SS20_Dixit GitHub Wiki

Welche Antworten sind gleich? In dieser kurzen Zusammenfassung geht es darum Möglichkeiten zu finden, das Prüfen auf der Abgabe einer richtigen Antwort zu optimieren und somit z.b Rechtschreibfehler zu erkennen.

Leerzeichen Und Groß- und Kleinschreibung

Alle Groß- und Kleinschreibung wird bei uns als gleich betrachtet und auch Leerzeichen am Anfang und Ende oder doppelte in der Mitte entfernt.

Zahlen in Ziffern oder Worten

In unserem Spiel sollen Zahlen in Worten oder Ziffern die kleiner als 1000 sind, als gleich angesehen werden.

Um die Gleichheit von Zahlen in Ziffern und Wort zu erkennen, kann man die Ziffern zunächst einfach in Wert umwandeln und das "Stellenwertwort" hinzufügen bzw bei zweistelligen Zahlen Einer und Zehner vertauschen:

234 -> zwei-hundert-vier-und-dreißig

Allgemeine Regeln:

  • für Zahlen kleiner als 10: Zahlenwert als Wort
  • für Zahlen kleiner als 100: (Einer als Wort) + "und" + (Zehner als Wort) + "zig"
  • für Zahlen kleiner als 1000: (Hunderter als Wort) + "hundert" + Wort für Zahlen kleiner als 100

Dabei weist die deutsche Sprache jedoch einige Besonderheiten auf, die von unserem Spiel auch erkannt werden:

  • 0 (die null ist an jeder anderen Stelle stumm)
  • 1 ("eins" vs "ein" wir in "einundzwanzig", "einhundert", ... )
  • 11 ("elf" vs "einzehn"), 12 ("zwölf" vs "zweizehn")
  • 13-19 (da kein "und" dazwischen ist, "dreizehn" vs "dreiundzehn", außerdem "zehn" statt "ein-zig")
  • Glatte Zehner (20,30,..) (da hier Einer und "und" weggelassen wird)
  • 16/60 ("sech-zehn/zig" vs "sechs-zehn/zig", 17/70 ("sieb-zehn/zig" vs "sieben-zehn/zig")
  • 20 ("zwanzig" vs "zweizig")
  • 30 ("dreißig" vs "dreizig" (alle anderen Zehner haben "zig"))

Rechtschreibung testen

Um Rechtschreibung zu testen, kann man die "Levenshtein"-Distanz berechnen, um die Ähnlichkeit zwischen Worten festzustellen.

Hierbei wird die "Bearbeitungsdistanz" als Zahlenwert berechnet:

Beispielsweise beim Wort: Baumstumpf und baumstumf kann die Bearbeitungsdistanz mit mit 2 angegeben werden:

  • man fügt das p hinzu
  • man schreibt das b groß

So kann eine Abweichung mit einer sehr kleine Levenshtein-Distanz als gleich angesehen werden.

Natürlich bleibt das Risiko hierbei bestehen, dass die Worte doch inhaltlich anders gemeint waren, deshalb muss hier ein Praxistest erfolgen.

Um dieses Risiko möglichst gering zuhalten, haben wir die Distanz unter der Antworten als gleich betrachtet werden, von der Länge der Antwort abhängig gemacht, dabei haben wir uns für eine Gleichheit auf 20% fesgelegt.