このタイプのアプローチの重要な部分は、英語の単語の優れたデータベースにアクセスできることです。私のシステムにはこのファイル/usr/share/dict/words
がたくさんありますが、他のソースを代わりに使用できます。
アプローチ
私の一般的なアプローチは次のように使用するgrep
ことです:
$ grep -vwf /usr/share/dict/words sample.txt
出力例はにありsample.txt
ます。
私の限られたテストでは、words
辞書のサイズが行き詰まっgrep
ているように見えました。私のバージョンには400k以上の行があります。だから私はそれを少し分解するためにこのようなことを始めました:
$ head -10000 /usr/share/dict/words > ~/10000words
サンプル実行(10,000)
「辞書」の最初の1万語を使用してファイルを実行します。
$ 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
辞書をいくつかのファイルに分割できます。
注: 5万行に戻したところ、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,
問題の分析
このアプローチの良い点の1つは、を削除して-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
ファイルにあるので、これは必要に応じて単語リストを調整するための試行錯誤のアプローチになるかもしれません。
注: SE 8)の制限された性質のため、上記の出力には表示されないauf
ためgrep
、赤色に着色されているため、この単語であることがわかりました。
$ grep auf ~/50000words
auf
aufait
aufgabe
aufklarung
auftakt
baufrey
Beaufert
beaufet
beaufin
Beauford
Beaufort
beaufort
bechauffeur