[PYTHON] Übersetzen Sie die Untertitel im WebVTT-Format von Coursera mit der GCP Cloud Translation API

Dieser Artikel ist der 24. Tag von Shinagawa Adventskalender 2019.

Vor kurzem nehme ich mit Unterstützung des Unternehmens an einem Coursera-Kurs teil. Die meisten Kurse sind auf Englisch, aber einige Freiwillige haben japanische Untertitel. Einige Kurse haben jedoch möglicherweise keine Untertitel, selbst wenn der Kurs "mit japanischen Untertiteln" lautet. Zum Beispiel hat Deep Learning Specialization in der 2., 3. und 5. Woche fast keine japanischen Untertitel. Also habe ich japanische Untertitel mit der GCP Cloud Translate API erstellt.

Einführung

Ich habe das Set in [gist] eingefügt (https://gist.github.com/kitakita/c2d1de34798fc8ec2b0be699465f7312). Dies ist ein Kommentarartikel. Ich habe nichts getan, um es den Leuten zu zeigen. Bitte verzeihen Sie mir den Dateinamen.

Was ist Coursera?

Coursera ist ein Online-Kursdienst. Das Lernen umfasst nicht nur Videos, sondern auch Programmierübungen und Hausaufgaben mit Jupyter Notebook. Sie können mit anderen Studenten und TAs im Forum diskutieren. Ich werde die Überprüfung jedes Kurses anderen Artikeln überlassen, aber ich fand, dass es eine viel effizientere Lernmethode war, als es alleine zu tun.

Was ist WebVTT?

WebVTT ist ein Textformat für Untertitelvideos im HTML-Element

WEBVTT

1
00:00:00.000 --> 00:00:01.755
Hello, I'm Carolyn.

2
00:00:01.755 --> 00:00:03.795
I'd like to welcome
you to our course

3
00:00:03.795 --> 00:00:06.505
on Machine Learning for
Business Professionals.

Wie Sie sehen können, ist dies ein Paar der Wiedergabezeit für die Anzeige der Untertitel und des Untertitelinhalts. Das detaillierte Format ist in MDN WebVTT-Dokument beschrieben. Sie können auch dekorative Tags verwenden, aber im Fall von Coursera scheint es das oben beschriebene einfache Textformat zu haben.

Heutzutage unterstützen viele Mediaplayer wie VLC Media Player auch WebVTT-Untertitel. Beispielsweise liest VLC automatisch eine .vtt-Datei mit demselben Dateinamen wie ein Video, wenn sie sich im selben Ordner befindet. Gleiches gilt für die Android-Version der App.

Was ist die Cloud-Übersetzungs-API?

Im Gegensatz zum Google-Übersetzungswebdienst wird eine Gebühr erhoben [^ 2]. Die Einführungsseite hat zwei Typen: AutoML Transration und Translation API, wobei letztere die letztere ist.

Die Abrechnung erfolgt in Einheiten von einem Zeichen. Als Richtlinie gilt, dass "20.000 Zeichen für ein 30-minütiges Video 0,8 US-Dollar kosten". Eine andere Analogie ist, dass wenn Sie alle Videos ohne japanische Untertitel für 1 bis 5 Wochen Deep Learning Specialization übersetzen, dies ungefähr 1.500 Yen sind. [^ 3].

Prozessablauf

Ich werde das WebVTT-Übersetzungsskript von hier aus erklären. Der allgemeine Verarbeitungsablauf ist wie folgt.

  1. Ein Untertitel kann in der Mitte eines Satzes abgeschnitten werden. Lesen Sie daher die Untertitel nacheinander. Wenn Sie einen Punkt / ein Ausrufezeichen finden, setzen Sie dort einen Satz zusammen.
  2. Übersetzen Sie den zusammengesetzten Satz.
  3. Um den übersetzten Satz wie den ursprünglichen Untertitel zu trennen, merken Sie sich vor der Übersetzung die Anzahl der Zeichen für jeden Untertitel und teilen Sie den übersetzten Satz durch das Verhältnis.
  4. Setzen Sie das WebVTT-Format wieder zusammen.

Beispiel

Zum Beispiel, wenn Sie die folgenden Untertitel haben [^ 1].

2
00:00:01.755 --> 00:00:03.795
I'd like to welcome
you to our course

3
00:00:03.795 --> 00:00:06.505
on Machine Learning for
Business Professionals.

Setzen Sie sie zunächst bis zum Punkt in einem Satz zusammen. Denken Sie daran, dass die Anzahl der Zeichen für ID "2" "37" und die Anzahl der Zeichen für ID "3" "47" beträgt. Dann übersetzen Sie den Satz.

Vor der Übersetzung: I'd like to welcome you to our course on Machine Learning for Business Professionals.
Nach der Übersetzung:Willkommen zum maschinellen Lernkurs für Geschäftsleute.

Teilen Sie nun die Übersetzung in die beiden ursprünglichen Untertitel auf. Das Zeichenverhältnis des ursprünglichen Untertitels beträgt "37: 47", daher werden wir es anhand dieses Verhältnisses trennen. Es ist jedoch schwer zu lesen, wenn es in der Mitte eines Wortes oder vor einem Hilfswort wie "nein" oder "o" geschnitten wird. Schneiden Sie es daher dort nicht aus. Das Ergebnis ist wie folgt.

00:00:01.755 --> 00:00:03.795
Über maschinelles Lernen für Geschäftsleute

00:00:03.795 --> 00:00:06.505
Willkommen zum Kurs.

Wenn Sie normal übersetzen, ist dies die Länge, die mit einem Untertitel angezeigt wird, sodass es sich etwas seltsam anfühlt. Ich denke, es gibt viel Raum für Verbesserungen.

Ein weiterer Satz, der dem obigen folgt, ist:

4
00:00:06.505 --> 00:00:08.160
I lead a team of machine learning

5
00:00:08.160 --> 00:00:10.080
engineers who have successfully

6
00:00:10.080 --> 00:00:12.450
implemented many
machine learning projects

7
00:00:12.450 --> 00:00:14.475
across various industries.
00:00:06.505 --> 00:00:08.160
Ich bin in verschiedenen Branchen

00:00:08.160 --> 00:00:10.080
Viele maschinelle Lernprojekte

00:00:10.080 --> 00:00:12.450
Ein Team von Ingenieuren für maschinelles Lernen, die erfolgreich implementiert haben

00:00:12.450 --> 00:00:14.475
Ich führe.

Abgesehen von den maschinell übersetzten Sätzen denke ich, dass die Untertitel durch gute Salzpflaumen getrennt sind.

Andere Bibliotheken usw.

Bekannte Probleme

Zusammenfassung

Auch wenn ich nicht gut Englisch höre, denke ich, dass mit der Unterstützung von Untertiteln sogar maschinelle Übersetzung beim Verständnis sehr hilfreich sein kann. Coursera hat viele tolle Kurse. Ich denke, es ist viel effizienter, systematisches Wissen zu erlangen, als Artikel und Bücher zu lesen. Warum also nicht versuchen?

[^ 1]: Zitiert aus der Einführung in der ersten Woche von Maschinelles Lernen für Business Professional. Dieser Kurs ist kostenlos, wenn Sie kein Zertifikat benötigen. [^ 2]: Es gibt auch Versuchen Sie, die Google Übersetzungs-API kostenlos zu verwenden. Ich habe es nicht versucht. [^ 3]: Da ich ein Skript erstellt habe, habe ich den Betrag angegeben, der für Versuch und Irrtum verwendet wurde.

Recommended Posts

Übersetzen Sie die Untertitel im WebVTT-Format von Coursera mit der GCP Cloud Translation API
Textextraktion mit GCP Cloud Vision API (Python3.6)
Verwendung der Google Cloud Translation API
Erstellen Sie ein Übersetzungswerkzeug mit dem Translate Toolkit
Rufen Sie die API mit python3 auf.
Spielen Sie mit dem kostenlosen GCP-Frame ~ Cloud Run, Datastore & LINE Messaging API ~
[Python] Klicken Sie auf die Google Übersetzungs-API
Klicken Sie mit Python auf die Etherpad-Lite-API