이 유형의 접근 방식의 핵심은 영어 단어 데이터베이스에 액세스하는 것입니다. 내 시스템 에이 파일이 있는데 /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
샘플 런 (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 초 안에 실행되었습니다.
실행 가능한 접근법 인 것 같습니다. 내가 그것을 100k 줄까지 부딪 쳤을 때 시간이 오래 걸리기 시작했는데 끝나기 전에 중단했기 때문에 words
사전을 여러 파일로 나눌 수 있습니다.
참고 : 50k 라인으로 백업하면 32 초가 걸렸습니다.
딥 다이빙 (50k 라인)
사전을 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