Ключевой частью этого подхода является доступ к хорошей базе данных английских слов. В моей системе есть этот файл, в /usr/share/dict/words
котором много слов, но вместо этого можно использовать другие источники.
Подходить
Мой общий подход заключается в следующем grep
:
$ grep -vwf /usr/share/dict/words sample.txt
Где находится ваш пример вывода sample.txt
.
В моем ограниченном тестировании размер words
словаря, казалось, застрял grep
. В моей версии более 400 тысяч строк. Поэтому я начал делать что-то вроде этого, чтобы немного разбить это:
$ head -10000 /usr/share/dict/words > ~/10000words
Пробные прогоны (10 Кб)
Запустите ваш файл, используя первые 10 тысяч слов из «словаря».
$ 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,
ПРИМЕЧАНИЕ. Этот подход выполняется на моем ноутбуке i5 за 1,5 секунды.
Кажется, это жизнеспособный подход. Когда я увеличил его до 100 тыс. Строк, это заняло много времени, но я прервал его до его завершения, чтобы вы могли разбить words
словарь на несколько файлов.
ПРИМЕЧАНИЕ. Когда я сохранил 50 тыс. Строк, это заняло 32 секунды.
Дайвинг глубже (50 тыс. Строк)
Когда я начал расширять словарь до 50 тыс., Я столкнулся с проблемой, которой я боялся, пересечения между языками.
$ 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,
Анализируя проблему
Одна хорошая вещь с этим подходом состоит в том, что вы можете удалить -v
и посмотреть, где перекрытие:
$ 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,
Слово, auf
по-видимому, на обоих языках ... ну, по крайней мере, оно в моем words
файле, так что это может быть метод проб и ошибок для уточнения списка слов по мере необходимости.
ПРИМЕЧАНИЕ: я знал, что это слово, auf
потому что grep
закрасил его красным, что не отображается в приведенном выше выводе из-за ограниченного характера SE 8-).
$ grep auf ~/50000words
auf
aufait
aufgabe
aufklarung
auftakt
baufrey
Beaufert
beaufet
beaufin
Beauford
Beaufort
beaufort
bechauffeur