 Wir reden über Ubuntu 14.4 Long-Term Support. Wir reden über das Untertitel, die Videos werden hier aufgezeichnet zum Beispiel. Wir stellen Arbeit eines Studentenprojekts vor, der Hamburger Universität Informatikabteilung. Wir haben unsere Studenten überzeugen wollen, diesen Talk zu halten. Aber wir hatten ein bisschen Angst, zu viele Leute zu spät oder irgendwas. Es gibt nur einen Studenten hier, Florian, Applaus. Florian studiert Informatik auf Bachelor und zusammen mit fünf anderen Studentinnen und Studenten arbeiten sie an der Herstellung von Untertiteln oder halbautomatischer Produktion von Untertiteln für Kongress-Videos. Das ist also die Datenbasis, die wir für diese Task ausgewählt haben, weil sie einfach so verfügbar ist. Vielen Dank dafür, was wir aber auch tun werden, was das soll also ähnlich gut auch für andere Videos funktionieren. Hoffentlich, wir haben es noch nicht ausprobiert. Was wir also probierten war, wir haben die Videos des letzten Jahres angeschaut, die meistens transkribiert wurden oder viele von denen zumindest. Und wir haben also die Transkripte und zum Untertiteln braucht man mehr als nur Transkripte. Es gibt nämlich mehr als nur den Text. Man will auch Zeitinformationen haben für diesen Text. Man möchte also in der Lage sein, im Lieblingsvideo Player eine Art Untertitel-File, die SRT, hochzuladen. Das enthält Zeitinformationen. Und das anklicken in diesem Video Player der Wahl und dann die Untertitel sehen. Oder vielleicht auf einem Bray-Display, wenn man nicht sehen kann oder nicht hören kann. Also, ich bin ein bisschen hängen, ich bin ein bisschen hängen jetzt, ich hänge jetzt ein bisschen. Wir haben also die Transkripte. Und warum wollen wir Transkripte, warum nicht einfach Spracherkennungssoftware benutzen? Es stellt sich heraus, dass Spracherkennungssoftware nicht sehr gut ist. Ah! Nun bin ich sehr glücklich, dass ich an Arne übergeben könnte für den schweren Teil des Talks. Ja, wir sind fast da. Das ist gut genug. Macht das nicht noch mehr kaputt. Alles rum, bitte. Also, wie auch immer. Ich denke, das funktioniert das Umschalten nicht. Das ist komisch, oder? Okay, also dieser Computer hat übrigens seine Demo. Wir werden mal schauen, ob das funktioniert. Oh, nicht sehr wahrscheinlich. Bitte, wir hatten zumindest irgendwelche Folien. Ah, yes! Okay, also, hör rüber zu Arne. Hallo. Also, dies ist unsere Gruppe. Ich glaube, ich habe Timo schon gesehen. Und dies ist Wolfgang, das bin ich. Jonathan, Paul, Florian, Tim und Faiz konnte nicht im Bild sein. Ich glaube, er musste umziehen an diesem Tag. Also, wir hatten, ich konnte nicht zuhören. Was hast du schon gesagt? Okay, was wir tun wollen, ist Untertitel generieren aus Transkriptionen. Wir müssen sie also ausrichten, in Stücke zerteilen und exportieren, in was auch immer für ein Format wir haben wollen. Und wir, unser zweites Ziel, die Sprachdaten zu erfassen, weil als Universität haben wir normalerweise nicht große Datenmengen zur Verfügung. Das ist der Hauptunterschied zwischen, na ja, also riesigen Global Players wie Google, die einfach alles aufzeichnen, was du sagst, aufzeigen können. Oder wenn man Apple lässt und Siri verwendet oder so etwas. Sie können das tatsächlich tun, um ihre Performance zu verbessern. Wir haben aber keinen Zugriff darauf, unglücklicherweise. Also, freie Daten sind nötig, um tatsächlich freie Software Spracherkennung zu haben. Freie Spracherkennungssoftware. Ja, du hast das bereits angesprochen, ein wenig. Wenn man versucht, Spracherkennung zu machen, muss man wirklich ziemlich viel tun. Man muss Bescheid wissen über die Welt als Ganzes. Man muss wissen, was der Kontext des Talks ist, das Gespräch, das man gerade hat. Das kann man im Gehirn alles tun, weil das Gehirn so mächtig ist und optimiert darauf. Aber der Computer kann das wirklich nicht tun im Moment. Sie passieren ihre Berechnungen auf Wahrscheinlichkeiten. Wir haben also einen großen, also auf Wortfolgen Wahrscheinlichkeiten. Wir haben einen großen Korpus von Daten, der sagt, dies wurde gesagt, vielleicht eine Million Mal und ist deshalb sehr viel wahrscheinlicher als etwas anderes, was nur einmal beobachtet wurde. Und das Problem hier ist, ihr alle benutzt seltsame Wörter in komischen Kontexten und die Spracherkennung gibt einfach auf und sagt, keine Ahnung. Um zu zeigen, dass das wirklich ein schweres Problem ist, vielleicht warte beim Talk, wo Jacob Appelbaum sagte, oh, ich muss mich gerade daran erinnern. GNUTPG hat Sicherheitsfehler. GNUTPG hat Safety Faults oder Safety Faults. Was also live durch einen Menschen transkibiert wurde, war GNUTPG hat Safety Faults. GNUTPG hat Sicherheitsfehler. Was wirklich gesagt wurde, war GNUTPG hat Safety Faults. GNUTPG hat sichere Standard-Einstellungen. Und das macht natürlich einen Unterschied. Das zeigt, dass sogar für Menschen unter Zeitdruck, wenn sie Dinge eintippen, dann verpassen sie Dinge. Zum Beispiel, was er vorher gesagt, es ist gut, GNUTPG zu benutzen. Und deshalb sehen wir, dass Spracherkennungstechnik nicht gut darin ist zu verstehen, was Menschen sagen. Darüber wird Timo nun im Detail reden. Und ich kann mich hinsetzen. Es gibt keine Preview. Deswegen hast du hier gestanden. Wie Arne gesagt hat, die Sprachtechnologie ist nicht gut darin zu verstehen, was Menschen sagen wollen. Das ist also ein Problem. Deshalb versuchten wir, oder was wir herausbekommen, dass Menschen zumindest relativ gut darin sind, Sprache zu transkribieren. Mit Ausnahme dieses Beispiels, das Arne gerade gezeigt hat, um nun aber von diesen Transkripten zu Untertiteln zu gehen, gibt es immer noch einiges, was fehlt. Dies ist ein Queenshot, den ich vorher abgenommen habe von dem Transkriptionsinterface, das wirklich gut bei der Arbeit ist. Aber die Komplexität dieses Interfaces ist irgendwie klar. Es ist nicht wirklich einfach herauszukriegen, was man jetzt tun soll. Wir haben es herausfinden, wie man das tut. Es ist wirklich schwer, ein gutes Interface dafür zu bauen, für die Aufgabe, die Timings, dem Text zuzuordnen, herausfinden, was wann gesagt wurde. Es ist also sehr schwer, ein gutes Interface zu bauen. Das ist deshalb schwer, weil es so eine unnatürliche Aufgabe für Menschen ist. Wir tun das niemals in unserem normalen Leben. Wir kriegen nie heraus, wann etwas gesagt wurde. Wir wissen einfach, was gesagt wurde. Es ist also selbst, wenn wir die User-Experience zu verbessern versuchen für dieses Interface, würde das dies darunter liegende Problemen nicht lösen. Menschen sind sich denn nicht gut für gemacht. Sie sind vielleicht gut zum Verstehen, zum Notizen anfertigen, aber nicht sehr gut zum Untertiteln. Also unsere Idee hier war, durch einen Computer, die nicht natürliche Aufgabe lösen zu lassen und die Menschen, die natürliche Aufgabe lösen zu lassen. Ja. Das ist also die Grundidee. Deshalb, was also passiert ist, es gibt eine Art Pipeline, die sehr ähnlich zur Aufgabe von Spracherkennung ist. Wir haben den transkribierten Text, gehen davon aus und müssen das jetzt normalisieren. Während Menschen transkribieren, dann natürlich tippen sie Dinge wie 431BC oder sie schreiben sogar Anti-Domini, wenn man Pech hat. Aber sie sagen bestimmt nicht 431B.C. Das ist zumindest unwahrscheinlich. Dann haben wir die von der normalisierten Form, müssen wir dann gehen zu der Sequenz der Folge von Sprachlauten gehen. Etwas wie das für 400. Natürlich, die wahrscheinlichste Aussprache könnte das sein, was wir haben wollen. Und dann müssen wir natürlich herausfinden, wenn wir diese Folge von Sprachlauten haben, wie hängt dies zusammen oder wird es nun zusammengelegt mit der Sprachform. Das passiert nicht automatisch. Es ist ein gelerntes Modell von vielen Daten gelernt. Ich habe vorher schon gesagt, Daten, die also große Lücken hat, wenn man bei einer Universität arbeitet, wir brauchen also diese Daten für gute Modelle, wie Sprache wirklich gesprochen wird, wie Sprachlaute wirklich sich anhören. Und wenn wir das haben, dann haben wir eine ganz ordentliche Zeitinformation. Können Sie bekommen für jedes Wort? Jedenfalls ist das unser Ziel, hoffentlich. Aber wenn wir einfach diesen Standard folgen, diesen Standardzugang eines nach dem anderen zu tun und dann eine große Suche darüber zu durchzuführen, das ist leider nicht sehr robust. Denn der Suchraum, den wir jetzt einfach verwenden müssen, all die verschiedenen Zeitvariationen, die passieren könnten, das ist einfach ein zu großer Suchraum. Was man also deswegen tut in Sprachrechnung, ist, dass man keine vollständige Suche durchführt, sondern eine Beam-Search. Und was wir bemerken, ist, dass die richtige Lösung immer von dem Beam, dem Strahl herunterfällt. Mit Glück kann das also auf sehr kurzen Abschnitten von ein, zwei Äußerungen passieren, funktionieren. Es kann auch funktionieren, wenn man sehr deutliche, klar gesprochenen Text hat, was wir also versuchen in einem anderen Experiment ist, gesprochene Wikipedia-Daten anzuschauen, wer wir den Artikel haben und den Text und Menschen haben wirklich sich bemüht, genau diese Wörter im Artikel zu sprechen. Aber wie wir vorher gesehen haben, dass Menschen bei einem Konkret sind gleich, dass sie müssen sehr, sehr schnell gemacht werden, das funktioniert also auch nicht so gut. Den Ansatz, den wir jetzt nicht verwendet haben, ist nicht unsere eigene. Ist daran zu bleiben, dass Menschen mehr oder weniger das sagen, was sie transkribieren? Und dass da auch transkribierte Wörter sind, die nicht gesprochen worden sind. Wir machen dieses Wortsequenz-Model, das Arnefeuer erwähnt hat. Wir nehmen die ganze Transkription, die wir bekommen haben, und das ist das, was wir machen. Wir machen das Wortsquenz-Model, das Arnefeuer erwähnt hat. Wir nehmen die ganze Transkription, die wir bekommen haben, und analysieren dann und versuchen dann sogenannte Merkmal zu finden. Und für diesen speziellen Spracherkennung. Und dann iterieren wir darüber in einem sogenannten Teile- und Erober-Ansatz. So, dass nur noch ein paar Teile am Ende überbleiben, die wir nicht anpassen können. Das Problem daran ist, dass es nicht besonders schnell ist. Das ist nur ein Achtel, der in der realen Zeit läuft. Und das ist in meiner Meinung nach ziemlich langsam. So, this step will give us alignment. Dies gibt uns eine Anordnung. So, wir wissen für jedes Wort den Zeitpunkt, bei dem es in dem Talk gegeben worden ist. Und wir wollen Untertitel zeigen und nicht ein Wort-zu-Wort-Anordnung. So, wie kommen wir jetzt von diesen Wortanreihung zu Untertiteln? Wenn du auch noch Untertitel guckst, das ist komplexer als ihr euch vielleicht denken würdet. So, man kann da nicht einfach einen Satz auf den bechimten Türen und Sätze sind in der Regel ziemlich lang, insbesondere bei diesen Vorträgen. Und Leute sagen Verbindensätze mit und und und so, dass man da wirklich lange Sätze hat. Und die Leistung der Personen, die nachher die Untertitel liest, ist auch limitiert. Also muss man berücksichtigen, was gelesen werden kann. Also muss man Sätze in kleinere Teile unterteilen. Und diese müssen auch eine Bedeutung haben. Und einfache Heuristik funktioniert dafür nicht. Dies ist nicht das Time für das Video. Falls ihr die Keynote von dem letzten Jahr wiedersehen wollt, müsst ihr euch die im Internet angucken. Das hier ist von der Keynote im letzten Jahr. Und das ist, was eine einfache Heuristik tatsächlich gemacht hat. Ihr seht hier den Untertitel. Und es erschien zu mir in einem Telefon und dieser Satz so macht nicht wirklich Sinn. Und wenn du auf den ganzen Satz guckst, dann ist es, ich kam darauf in einem Telefonanruf. Und man bekommt hier die Verbindung, dass Telefon- und Anruf verbunden sind. Und dass man diese beiden Wörter zusammenpacken muss in ein Abschnitt. So müssen wir eine komplette Analyse von einem Satz machen, die so aussieht. Das zeigt die Abhängigkeit von jedem Wort zu einem anderen Wort, zu den anderen Wörtern. Und dafür verwenden wir ein dieses nettes Programm, was dieses macht. Aber das macht es immer nicht richtig. Das heißt, wir müssen auch berüchtigen, weil dies nicht die ganze Zeit richtig macht. Und dass Sätze besonders lang sein können, dass da syntaktische Fehler sein können. Also suchen wir für das beste Aufspalten, also die besten Aufspaltungspunkte, indem wir zwei Kostenfunktionen definieren. Es ist so, dass wir an jedem Punkt sagen, das kostet dich 200 Punkte. Oder du spaltest hier, das kostet dich 100 Punkte. Und die Kosten sind die entstehende Abschnittslänge. So wenn man nur in Abschnitten mit nur zwei Wörtern hat, das ist sehr, sehr schlecht. Und wenn man eine Abschnittslänge von 200 Wörtern hat, das ist auch sehr schlecht. Also möchte man irgendwo in der Mitte sein. Unsere Ergebnisse. Wir zeigen... Nein, nein, nein, nein, nein. Okay. Weil das Debug-Interface sagt, solchen Knopf drücken. Wir sehen uns jetzt einfach den Debug-Output für unser System. Und es zeigt den Abhängigkeitsbaum, glaube ich. Der Baum ist nicht sehr gut sichtbar. Es ist ein leicht graure, gräulichen Teile dort. Das ist der Abhängigkeitsbaum. Er ist für mich total klein. Wir können hier die verschiedenen Abschnitte sehen. Und rechts. Hier seht ihr all die Meta-Informationen, die wir hinzugefügt haben. Also wenn wann... Hier ist zum Beispiel das O. Wann beginnt dieses Wort? Es ist Wort Nummer 29, der syntaktische Vorgänger oder übergeordnete Knoten ist Nummer 30 und so weiter und so weiter. Also wir können das alles wiederverwenden und springen zwischen Punkten und sehen, warum das... wirklich das tut, was es tun soll. Und es ist wichtig, denn wir haben keinen klaren Goldstandard, mit dem wir sagen können, dies hier ist richtig und so. Wir können das als Menschen anschauen und sagen, das sieht gut aus, und wenn es nicht gut aussieht, können wir uns fragen, warum das so sein könnte. Ja. Und normalerweise würde man jetzt hier klaren, Ton hören und solche Dinge. Heute aber nicht. Der Ton ist da, er ist nur nicht sehr laut. Okay. Wenn wir jetzt zurückschalten wollen, könntest du, wenn du zurückschalten könntest, das wäre großartig. Ja. Okay. Ich glaube, willst du weiter? Okay, wir verarbeiten jetzt, ich weiß nicht, verschiedene Videos damit und meistens funktioniert das und wir müssen dies weiter bearbeiten. Und ich denke, wir gehen jetzt hierhin. Ist das... Ich denke, es wäre mein Teil, ja. Okay. Also, um diese Ergebnisse zusammenzufassen. Einige Statistik zur letzten, zur Keynote letzten Jahres, wir haben noch mehr verarbeitet, aber nur dies ist eine, ist dies fünf Minuten vor den Fragen? Okay, danke. Ja. Dies ist also eine Statistik über die Keynote, das letzten Jahres, wir kriegen Zuordnungen von etwa 90%, der transkribierten Wörter, also nicht alle. Wir haben aber auch Ideen, wie wir das verbessern können. Wir haben ein großes Problem mit Applaus, der ist sehr störend und gelächter, ja. Wir haben also das Problem mit Applaus, das die ersten Wörter nach Applaus. Ja, vielen Dank. Die ersten wenigen Wörter nach Applaus sind normalerweise nicht korrekt transkribiert. Wir wissen das aus unseren Daten. Wir haben kein gutes Modell in unserem akustischen Modell, denn bisher haben wir keinen Applaus bekommen. Jetzt? Danke. Nein, nein. Ja, vielen Dank. Also, bisher hatten wir keine Applaus-Daten. Wir konnten das also nicht in unserem akustischen Modell haben. Jetzt haben wir Daten mit Applaus. Wir haben nicht viele herausbekommen, wo der Applaus ist. Wir müssen etwas manuelle Arbeit daran tun. Aber das hilft uns. Das wird uns helfen, die Applaus zu bauen, die Applaus enthalten und dann weiter die Transkription zu verbessern und sie untertiteln. Unsere aktuelle Idee ist also sozusagen zu schätzen, wie lange die Wörter sind, die wir nicht kennen. Wieder, für Statistik ist es meistens sehr genau, manchmal ist es einfach nur sehr komisch. Wir haben keine genauen Zahlen darüber. Ich sage den Studenten immer, dass wir Evolution brauchen, wenn wir wissenschaftliche Arbeit machen wollen. Ich kann den ganzen Tag darüber reden. Aber das Semester ist noch nicht vorbei und wir haben mehr Ideen. Wir müssen uns das aufteilen in Abstände noch verbessern. Wir wollen ein zweizeiliger Untertitel haben. Aber das ändert die ganzen Spielregel, denn wir haben jetzt zwei verschiedene Arten von Abschnittsenden, die integriert werden müssen. Außerdem haben wir praktische Probleme. Amara haben wir teilweise noch nicht eingearbeitet. Wir wollten außerdem auch schon Talks dieses Kongresses verarbeiten. Das haben wir noch nicht. Aber wir arbeiten daran. Einige Leute müssen eigentlich auch Danksagungen bekommen. Achso, Credit Points dafür bekommen. Wir werden das tun. Das andere, was wir machen wollten, jetzt ist der Ton weg. Okay. Wir wollen außerdem diese Daten, die wir haben, benutzen. Sprachwechsel ist übrigens auch schwierig in Transaktionen. Das Kabel hinter meinem Rücken. Das ist komisch. Das ist besser jetzt. Okay. Das ist besser. Wir möchten außerdem die Daten benutzen, weil sie sind unter einer freien Lizenz. Die Open Source Spracherkennungsmodelle, die da draußen sind, um dies zu verbessern, brauchen wir sehr viele Daten. Das sind meistens Maschinen gelernte Modelle mit Schätzungen über große Datenmengen. Das ist ein Riesenproblem bisher. Es ist bereits jetzt deutlich verbessert. Wir möchten noch etwa 30 Stunden von Sprachdaten bekommen durch die Talks in dieses Modell einarbeiten. Das werden deutsche Daten sein in Voxfodge. Oder deutsche, die Englisch sprechen, was auch ein Vorteil für die Modelle, für deutsche Sprecher ein Vorteil sein wird. Das ist eines der Ziele, die wir haben, wo wir denken, dass dies eigentlich ein perfektes Beispiel ist, wo zwei Seiten tatsächlich gewinnen. Die dritte Seite natürlich auch, weil die Studenten etwas lernen und die Studentinnen, also der Kongress, kriegt Transaktionen und wir bekommen Daten. Also Zusammenfassung. Das Zuordnen ist einfach für Computer, das Zeit zu ordnen und schwer für Humans und die Transkription ist genau umgekehrt und wir kombinieren das für die besten Resultate. Untertiteln ist aber mehr als einfach nur Zeit zu ordnen, denn das Aufteilen ist schwierig. Ja, vielen Dank. Ah, nein, noch nichts. Danke. Wir haben noch sehr viele Ideen für zukünftige Arbeit, die auch zum Teil mindestens zusammenhängen mit den Kongressideen über das Untertiteln. Ich mag wirklich die Idee, sehr kurze Verzeitverzögerungen zu haben, von wenigen Stunden vielleicht zu einigen Sekunden. Das wäre fantastisch. Und dafür könnten wir die Informationen über Tippgeschwindigkeit verwenden. Denn diese Transkripte werden eigentlich in Isabelle angefertigt. Wir hatten also nun Zeitinformation für jeden Tastendruck und dieses schmeißen wir, diese Informationen werfen wir weg und sagen, okay, es könnte wann auch immer transkript worden sein, aber normalerweise transkribieren Menschen in der zeitlichen Folge während der Talks. Vielen Dank übrigens an die Leute, die die Transkription machen. Schade, dass die gerade nicht aufstehen. Das sind wirklich sehr hart arbeitende Leute. Und wir werfen also die Hälfte der Informationen weg, aber wir versuchen das zu verbessern und um die Tippgeschwindigkeitsinformation zu benutzen für die Verarbeitung. Natürlich haben wir nicht nur Talks, wenn wir mehr als nur Talks hätten, sondern andere Videos von anderen Dingen könnten wir mehr analysieren. Das wäre auch sehr schön. Es wäre also sehr schön, eine Art Content Such zur Informationsfindung zu kriegen, wenn man jetzt also nach Videos sucht mit Datenschutz als Thema zum Beispiel. Okay, vielen Dank. Vielen Dank. Wir haben leider Zeit komplett verbraucht. Eine Frage nur, ob der Signalengel eine wirklich dringende Frage hat aus dem Internet, denn all die anderen Leute, es wäre großartig, wenn ihr jetzt einfach direkt zu den Referenten gehen könnt. Es sind nur zwei Männer, es wäre großartig. Eine Frage aus dem Internet. Habt ihr das mit einem normalen Film getestet, wo die Untertitel verfügbar waren? Nein, das haben wir nicht getan. Das haben wir vor, aber wie gesagt, nicht alles, unsere Evolutionskripte, sind noch nicht wirklich fertig. Deswegen wäre das Testen auf diesen Daten schwierig. Ich bezweifle, dass wir sehr gut wären, vergleich zu kommerziellen Anbietern, aber wir arbeiten in dieser Richtung wenigstens. Okay, das war sehr schnell. Wir können eine weitere Frage machen. Hallo. Du hast zunehmend bei erwähnt, dass die Untertitel lesbar sein müssen, dass sie für eine lange noch gezeigt werden müssen, um gelesen werden zu können. In Untertitelsoft, was da passiert ist, dass du die selbst anordnest und es berechnet eine angezahlte, eine bestimmte Nummer von Zeichen, plant ihr auch das zu machen, um zu berechnen, was lesbar ist und was nicht? Müsst ihr auch daran anpassen, was in die Übersetzung passiert, sodass ihr auf bestimmte Bereiche fokussiert? Ja, Übersetzung ist interessant. Okay, ja, also die erste Frage. Ob wir vorhaben mehr als nur Karel Key zu machen? Ja, wir versuchen so genau wie möglich, die Zeitform zu uns zu bekommen. Und dann müssen wir aber auch über die Benutzbarkeitsthemen denken, dass wir also lange genug anzeigen. Wir haben darüber gerade nicht gesprochen, aber ja, wir haben vor, das zu tun. Es ist wie eine zusätzliche Bedingung, Einschränkung. Die zweite Frage, die Untertitel zu verändern, das macht Absolut Sinn für Übersetzungen. Ja, und das ist tatsächlich wesentlich, aber wir versuchen dem treu zu bleiben, was die Sprecherinnen sagen oder was zumindest transkribiert worden ist. Und das könnte anders sein, das könnte unterschiedlich sein. Also bisher denke ich, dass dies über den Umfang unseres kleinen Einsemesterprojektes hinausgeht, denn wir müssten genau dieses Verständnis dafür haben, was in diesem Satz vorgegangen ist und die Verständnis haben wir nicht. Vielen, vielen Dank, Arne und Tim. Wir stehen noch zur Verfügung für Fragen. Ja, und vielen Dank auch fürs Zuhören. Hier ist euer Applaus. Und vielen Dank auch fürs Zuhören.