Christoph Zurnieden: deutsches Stemming

Beitrag lesen

Hi,

if preceded by ig, delete if in R2 and not preceded by e
Das erste ist noch eindeutig, doch was bedeutet das Zweite?

Ich würde das als logische Reihenfolge ansehen:

"[^e]ig(end|ung)" oder "ig^e"?

"If preceded bei ig" ist im zweiten Fall nicht gegeben.

Argh, ja, jetzt wo Du's sagst seh' ich's auch ;-)
Danke!

Mitunter ist wird man ja betriebsblind vom Starren auf die Zeilen, so ist es mir wohl auch hier ergangen.

Vielleicht könntest Du Deinen Algorithmus optimieren, indem Du die Betrachtung von R2 einfach (bzw. bei Bedarf) als String-Ende-Analyse ansiehst.

Hier wird nix optimiert, erst muß es funktionieren! ;-)
Aber so ähnlich habe ich es auch schon in einem Teil der vorherigen Schritte getan.
Wenn auch nicht unbedingt mit voller Absicht ;-)

Übrigens lautet das Muster für "'foo' steht nicht da" "(?!foo)".

Das habe ich mich nicht getraut, da ich nicht genau weiß, wie abwärtskompatibel das ist. Sollte wenn möglich auch auf den "Vierern" funktionieren

Eine gewisse Fehlertoleranz kann man ja zugestehen (muß man ja auch, da Umlaute auch als ae,oe usw geschrieben werden könnten), aber ich vermute, das es einfach zuviel an Fehlern wird, wenn ich den dritten Schritt versaue.

Gut möglich. Falls es die Usecases zulassen, solltest Du ggf. definieren, dass Umlaute auch als solche geschrieben sind.

Der Fehler ist schon mit eingearbeitet, da ich auf der Backendseite die (bereits fertige) C-Version benutzen wollte und die basiert auf dem gleichem Algorithmus. Und bis Schritt 3 ging das ja auch alles wie geschmiert, obwohl ich nur ein äußerst besch...eidener (Javascript-)Programmierer bin.

Aber auf jeden Fall erstmal meine herzlichsten Dank, jetzt komme ich wieder weiter.

so short

Crhistoph Zurnieden