L'élément clé de ce type d'approche est d'avoir accès à une bonne base de données de mots anglais. Il y a ce fichier sur mon système, /usr/share/dict/wordsqui contient beaucoup de mots, mais d'autres sources pourraient être utilisées à la place.
Approche
Mon approche générale serait d'utiliser grepcomme ceci:
$ grep -vwf /usr/share/dict/words sample.txt
Où se trouve votre exemple de sortie sample.txt.
Dans mes tests limités, la taille du wordsdictionnaire semblait greps'enliser. Ma version contient 400k + lignes. J'ai donc commencé à faire quelque chose comme ça pour le casser un peu:
$ head -10000 /usr/share/dict/words > ~/10000words
Exemples de courses (10k)
Exécutez votre fichier en utilisant les premiers 10k mots du "dictionnaire".
$ 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,
REMARQUE: cette approche a fonctionné en environ 1,5 seconde sur mon ordinateur portable i5.
Cela semble être une approche viable. Quand je l'ai fait passer à 100 000 lignes, cela a commencé à prendre du temps, je l'ai avorté avant qu'il ne soit terminé, afin que vous puissiez diviser le wordsdictionnaire en plusieurs fichiers.
REMARQUE: lorsque je l'ai reculé sur 50 000 lignes, cela a pris 32 secondes.
Plonger plus profondément (50k lignes)
Quand j'ai commencé à étendre le dictionnaire jusqu'à 50k, je suis tombé sur le problème dont j'avais peur, le chevauchement entre les langues.
$ 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,
Analyser le problème
Une bonne chose avec cette approche est que vous pouvez supprimer le -vet voir où se trouve le chevauchement:
$ 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,
Le mot aufest apparemment dans les deux langues ... enfin au moins, il est dans mon wordsdossier, donc cela pourrait être un peu une approche par essais et erreurs pour affiner la liste de mots selon les besoins.
REMARQUE: je savais que c'était le mot aufparce qu'il était grepcoloré en rouge, cela n'apparaît pas dans la sortie ci-dessus en raison de la nature limitée de SE 8-).
$ grep auf ~/50000words
auf
aufait
aufgabe
aufklarung
auftakt
baufrey
Beaufert
beaufet
beaufin
Beauford
Beaufort
beaufort
bechauffeur