Existe um caminho difícil e muito mais fácil. A maneira difícil é usar a análise de linguagem natural para dar uma probabilidade de que uma determinada linha esteja em inglês e descartar essas linhas.
A maneira mais fácil é pegar uma lista de palavras de parada em inglês e excluir linhas que contenham elementos de essa lista. Se você quisesse diminuir a chance de categorizar erroneamente uma linha, também poderia procurar a presença de palavras de interrupção em alemão que você não possa rejeitar para verificar se elas são provavelmente em alemão.
Aqui está um script muito rápido e sujo para usar a lista de palavras irrelevantes vinculadas para fazer a filtragem:
#!/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]
e a saída:
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,
Uma versão um pouco mais completa deve ignorar várias pontuações como ,.
, mas não o apóstrofo em inglês '
quando dentro de uma palavra. Uma precisão ainda maior poderia ser obtida procurando pontos de código que nunca ocorrem em inglês (por exemplo, «ßü
), mas isso é deixado como um exercício para o leitor.