Ich habe Schwierigkeiten, einen Algorithmus zu finden/zu erstellen, der die Aussprechbarkeit von zufälligen 5-Buchstaben-Kombinationen bestimmen kann.
Das bisher Ähnlichste, das ich gefunden habe, stammt aus diesem 3 Jahre alten StackOverflow-Thread:
Messen der Aussprechbarkeit eines Wortes?
= 0 && !in_array($word[$pos - 1], $vowels)) {
$score += 1;
$pos += 1;
continue;
}
} else { // Kein Vokal, überprüfe ob der nächste ein Vokal ist, oder ob es das Ende des Wortes ist
if (($pos + 1) < $len && in_array($word[$pos + 1], $vowels)) {
$score += 2;
$pos += 2;
continue;
} elseif (($pos + 1) == $len) {
$score += 1;
break;
}
}
$pos += 1;
}
return $score / $len;
}
?>
... aber er ist bei weitem nicht perfekt und liefert einige ziemlich seltsame falsche Positiven:
Bei Verwendung dieser Funktion werden all die folgenden als aussprechbar bewertet (über 7/10)
- ZTEDA
- LLFDA
- MMGDA
- THHDA
- RTHDA
- XYHDA
- VQIDA
Kann jemand, der klüger ist als ich, diesen Algorithmus vielleicht anpassen, so dass:
- 'MM', 'LL' und 'TH' nur gültig sind, wenn sie von einem Vokal gefolgt oder gefolgt werden?
- 3 oder mehr Konsonanten in Folge sind ein No-Go (außer wenn der erste oder letzte ein 'R' oder 'L' ist)
- Weitere Verbesserungen, die Ihnen einfallen...
(Ich habe bereits eine beträchtliche Menge an Recherche/Googeln gemacht, und dieser scheint die wichtigste Aussprechbarkeitsfunktion zu sein, auf die sich alle seit den letzten 3 Jahren beziehen/verwenden, also bin ich sicher, dass eine aktualisierte, verfeinerte Version von der breiteren Community, nicht nur von mir, geschätzt würde!).