इस तरह के दृष्टिकोण के लिए महत्वपूर्ण टुकड़ा अंग्रेजी शब्दों के एक अच्छे डेटाबेस तक पहुंच है। मेरे सिस्टम पर यह फ़ाइल है, /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
, जो कि एसई 8- की सीमित प्रकृति के कारण उपरोक्त आउटपुट में दिखाई नहीं देता है)।
$ grep auf ~/50000words
auf
aufait
aufgabe
aufklarung
auftakt
baufrey
Beaufert
beaufet
beaufin
Beauford
Beaufort
beaufort
bechauffeur