Wie passe ich ein Wort mit einem ganzen Wort (und nur mit einem ganzen Wort) in einem Satz an?

9

Die meisten häufig falsch geschriebenen englischen Wörter liegen innerhalb von zwei oder drei typografischen Fehlern (eine Kombination von Ersetzungen s , Einfügungen i oder Buchstabenlöschungen d ) von ihrer korrekten Form. I.e. Fehler in dem Wortpaar absence - absense können zusammengefasst werden als 1 s , 0 i und 0 d .

Mit dem to-replace-re Regex-Python-Modul kann man Fuzzy-Matches finden, um Wörter und ihre Rechtschreibfehler zu finden .

Die folgende Tabelle fasst die Versuche zusammen, die für die Fuzzy-Segmentierung eines Worts von Interesse aus einem Satz gemacht wurden:

  • Regex1 findet die beste word Übereinstimmung in sentence und erlaubt höchstens 2 Fehler
  • Regex2 findet die beste word Übereinstimmung in sentence erlaubt auf die meisten 2 Fehler beim Versuch, nur auf (glaube ich) ganze Wörter zu operieren
  • Regex3 findet die beste word Übereinstimmung in sentence erlaubt um die meisten 2 Fehler beim Betrieb nur auf (glaube ich) ganze Wörter. Ich liege irgendwie falsch.
  • Regex4 findet die beste word Übereinstimmung in sentence erlaubt Die meisten 2 Fehler während (glaube ich) auf der Suche nach dem Ende des Spiels, um eine Wortgrenze zu sein

Wie würde ich einen Regex-Ausdruck schreiben, der, wenn möglich, falsch positive und falsch negative Fuzzy-Matches bei diesen Wort-Satz-Paaren eliminiert?

Eine mögliche Lösung wäre, nur Wörter (Zeichenketten, die von Leerzeichen oder dem Anfang / Ende einer Zeile umgeben sind) im Satz mit dem Wort von Interesse (Hauptwort) zu vergleichen. Wenn zwischen dem Hauptwort und einem Wort im Satz eine unscharfe Übereinstimmung (e & lt; = 2) besteht, dann gebe das vollständige Wort (und nur dieses Wort) aus dem Satz zurück.

Code

Kopieren Sie den folgenden Datenblock in Ihre Zwischenablage:

%Vor%

Verwenden Sie jetzt

%Vor%

Um die Tabelle in Ihre Umgebung zu laden.

    
zelusp 25.04.2016, 23:21
quelle

1 Antwort

2

Machen Sie '(?b)\m(?:WORD){e<=2}\M'

    
zelusp 16.05.2016, 16:51
quelle

Tags und Links