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

yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warningyii\base\ErrorException

PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: /usr/lib64/php/modules/mongodb.so (/usr/lib64/php/modules/mongodb.so: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/mongodb.so.so (/usr/lib64/php/modules/mongodb.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '316356',
    'url' => 'how-do-i-fuzzy-match-word-to-a-full-word-and-only-full-word-in-a-sentence',
];

$_COOKIE = [
    'advanced-frontend' => 'db4811e9ae89126daaaf6c1f2c1e01ac',
    '_csrf-frontend' => '8211a48489163d14d48c6b271165bb594db86d6f599af3e86ea2a66f22640417a:2:{i:0;s:14:"_csrf-frontend";i:1;s:32:"90tYElyKFN9B1eED-9SpMhlv3c5ChHo_";}',
];

$_SESSION = [
    '__flash' => [],
];