Ich versuche, Textblöcke zu analysieren, und brauche eine Möglichkeit, den Unterschied zwischen Apostrophen in verschiedenen Kontexten zu erkennen. Besitz und Abkürzung in einer Gruppe, Zitate in der anderen.
z.B.
"Ich bin der Besitzer der Autos" -> ["Ich bin", "der", "Autos'","Besitzer"]
aber
"Er sagte 'Hallo' " -> ["Er","sagte"," 'Hallo' "]
Das Erkennen von Leerzeichen auf beiden Seiten wird nicht helfen, da Dinge wie " 'ello " und " Autos' " als ein Ende eines Zitats interpretiert würden, genauso wie passende Paare von Apostrophen. Ich habe das Gefühl, dass es keinen anderen Weg gibt, dies zu tun, als eine extrem komplizierte NLP-Lösung zu verwenden und ich werde wohl einfach alle Apostrophe ignorieren müssen, die nicht in der Mitte eines Wortes auftreten, was bedauerlich wäre.
BEARBEITEN:
Seitdem ich das geschrieben habe, habe ich erkannt, dass dies unmöglich ist. Jeder auf Regex basierende Parser müsste Folgendes analysieren:
'ello meine Kameraden' Hunde
auf 2 verschiedene Arten und könnte dies nur mit dem Verständnis des restlichen Satzes tun. Ich werde wohl die unelegante Lösung wählen, den unwahrscheinlichsten Fall zu ignorieren und hoffen, dass er selten genug ist, um nur selten Anomalien zu verursachen.