Das Schlüsselelement für diese Art von Ansatz ist der Zugriff auf eine gute Datenbank mit englischen Wörtern. Es gibt diese Datei auf meinem System, /usr/share/dict/words
die viele Wörter enthält, aber andere Quellen könnten stattdessen verwendet werden.
Ansatz
Mein allgemeiner Ansatz wäre, grep
wie folgt zu verwenden:
$ grep -vwf /usr/share/dict/words sample.txt
Wo sich Ihre Beispielausgabe befindet sample.txt
.
In meinen begrenzten Tests words
schien die Größe des Wörterbuchs ins Stocken zu geraten grep
. Meine Version enthält mehr als 400.000 Zeilen. Also habe ich so etwas gemacht, um es ein bisschen aufzubrechen:
$ head -10000 /usr/share/dict/words > ~/10000words
Probeläufe (10k)
Führen Sie Ihre Datei mit den ersten 10.000 Wörtern aus dem "Wörterbuch" durch.
$ grep -vwf ~/10000words sample.txt
714
01:11:22,267 --> 01:11:27,731
Auch wenn noch viele Generationen auf einen Wechsel hoffen,
715
01:11:27,732 --> 01:11:31,920
werde ich mein Bestes geben
und hoffe, dass andere das gleiche tun.
I'm giving mine, I'm doing my best
hoping the other will do the same
716
01:11:31,921 --> 01:11:36,278
Wir haben eine harte Arbeit vor uns,
um den Lauf der Dinge zu ändern.
it's going to be hard work
for things to turn around.
717
01:11:36,879 --> 01:11:42,881
Wenn man die Zentren künstlicher Besamung,
die Zuchtlaboratorien und die modernen Kuhställe besichtigt,
When visiting artificial insemination centers,
the selection center, modern stables,
HINWEIS: Dieser Ansatz lief auf meinem i5-Laptop in ca. 1,5 Sekunden.
Es scheint ein praktikabler Ansatz zu sein. Als ich es auf 100.000 Zeilen anstieß, dauerte es allerdings lange. Ich habe es abgebrochen, bevor es fertig war, sodass Sie das words
Wörterbuch in mehrere Dateien aufteilen konnten.
HINWEIS: Als ich es auf 50.000 Zeilen zurückgesetzt habe, dauerte es 32 Sekunden.
Tiefer tauchen (50k Linien)
Als ich anfing, das Wörterbuch auf 50.000 zu erweitern, stieß ich auf das Problem, vor dem ich Angst hatte, Überschneidungen zwischen den Sprachen.
$ grep -vwf ~/50000words sample.txt
714
01:11:22,267 --> 01:11:27,731
715
01:11:27,732 --> 01:11:31,920
werde ich mein Bestes geben
und hoffe, dass andere das gleiche tun.
hoping the other will do the same
716
01:11:31,921 --> 01:11:36,278
Wir haben eine harte Arbeit vor uns,
um den Lauf der Dinge zu ändern.
717
01:11:36,879 --> 01:11:42,881
Wenn man die Zentren künstlicher Besamung,
die Zuchtlaboratorien und die modernen Kuhställe besichtigt,
the selection center, modern stables,
Das Problem analysieren
Eine gute Sache bei diesem Ansatz ist, dass Sie die entfernen -v
und sehen können, wo die Überlappung ist:
$ grep -wf ~/50000words sample.txt
Auch wenn noch viele Generationen auf einen Wechsel hoffen,
Even if it takes many generations hoping for a change,
I'm giving mine, I'm doing my best
it's going to be hard work
for things to turn around.
When visiting artificial insemination centers,
Das Wort auf
ist anscheinend in beiden Sprachen ... zumindest in meiner words
Datei. Dies könnte also ein Versuch und Irrtum sein, um die Wortliste nach Bedarf zu verfeinern.
HINWEIS: Ich wusste, dass es das Wort war, auf
weil grep
es rot gefärbt war und in der obigen Ausgabe aufgrund der eingeschränkten Natur von SE 8-) nicht angezeigt wird.
$ grep auf ~/50000words
auf
aufait
aufgabe
aufklarung
auftakt
baufrey
Beaufert
beaufet
beaufin
Beauford
Beaufort
beaufort
bechauffeur