テキストファイルからすべての英語の行を削除する方法は?

テキストファイルからすべての英語の行を削除する方法は?

次のテキストファイルがあります。

714
01:11:22,267 --> 01:11:27,731
Auch wenn noch viele Generationen auf einen Wechsel hoffen,
Even if it takes many generations hoping for a change,

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,
...

英語ではなく行だけを保持するように解析したいと思います。

可能ですか?

ベストアンサー1

難しい方法と簡単な方法があります。難しい方法は、自然言語解析を使用して、与えられた行が英語である可能性を提供し、その行を削除することです。

より簡単な方法は英語のリストを取得することですストップワードそのリストから要素を含む行を削除します。行を誤って分類する可能性を減らすには、拒否されなかった行でドイツ語の停止単語を見つけて、その単語がドイツ語であることを確認することもできます。

以下は、リンクされた除外リストでフィルタリングするための非常に高速で汚れたスクリプトです。

#!/usr/bin/python
english_stop = set()
with open('english-stop-words.txt') as estop:
    for line in estop:
        bar = line.find('|')
        if bar > -1:
            line = line[0:bar]
        line = line.strip()
        if line:
            english_stop.add(line)

with open('mixed-german.txt') as mixg:
    for line in mixg:
        for word in line.lower().split():
            if word in english_stop:
                break
        else:
            print line[:-1]

そして出力:

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.

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, 

,.少し完全なバージョンでは、単語内の英語のアポストロフィなどのさまざまな句読点を省略する必要があります。'たとえば、英語ではまったく発生しないコードポイントを見つけて、より良い精度を得ることができますが、«ßüこれは読者の練習問題のままです。

おすすめ記事