这种方法的关键是可以访问良好的英语单词数据库。我的系统上有此文件,/usr/share/dict/words
其中包含很多单词,但可以使用其他来源代替。
方法
我的一般方法是这样使用grep
:
$ grep -vwf /usr/share/dict/words sample.txt
您的示例输出在的位置sample.txt
。
在我有限的测试中,words
字典的大小似乎很小grep
。我的版本中有40万多行。所以我开始做这样的事情来分解它:
$ head -10000 /usr/share/dict/words > ~/10000words
样品运行(10k)
通过使用“字典”中的第一个10k单词来运行文件。
$ 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秒。
这似乎是一种可行的方法。当我将其增加到10万行时,它开始花了很长时间,但是在完成之前我中止了它,因此您可以将words
字典分成几个文件。
注意:当我将其备份到50k行时,花费了32秒。
潜水更深(5万行)
当我开始将字典扩展到50k时,我遇到了我担心的问题,即两种语言之间的重叠。
$ 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