Herzlichen Glückwunsch an den Gewinner der Code Competition “Chatbot” aus dem Juni 2017: Nhu Huy!
IT-Talents: Hallo Huy, herzlichen Glückwunsch zu Deinem ersten Platz bei der Code Competition „Chatbot und Machine Learning“! Erzähl den anderen IT-Talenten doch kurz etwas über Dich.
Huy: Ein 26-Jähriger Informatik-Absolvent aus München. An sich unterscheide ich mich von den anderen Teilnehmern möglicherweise nur darin, mehr freie Zeit zu besitzen, das ich schließlich ganz in das Projekt stecken durfte.
Ansonsten bin ich noch Migrant zweiter Generation, was man vielleicht an dem (kurzen) Namen erkennen kann 🙂
IT-Talents: Was hat Dich motiviert, an der Competition teilzunehmen und wie bist Du auf den Wettbewerb aufmerksam geworden?
Huy: Ein Freund hat mich dazu gebracht, eine Lösung zu fertigen. Großes Danke an dieser Stelle, Tim! Thematisch hatte ich Kontakt mit künstlichen Dialogsystemen/-agenten in meiner letzten Abschlussarbeit.
IT-Talents: Wie bist Du an die Lösung der Aufgabenstellung herangegangen? Hattest Du schon Erfahrung mit Machine Learning im weiteren Sinne?
Huy: Gerade bei einem Cutting-Edge-Thema wie ML muss man sich der Grenzen bewusst sein, wie z. B. welche Daten(-mengen) zur Verfügung stehen, welches Modell akzeptable Ergebnisse liefert etc., und ob ML-Algorithmen einem harten, regelbasierten System zu bevorzugen sind. Ich wollte dennoch von vornherein die Beschränkungen voreingestellter Dialogflüsse bestmöglich aufheben – natürlich im Rahmen meiner Fähigkeiten und der Abgabefrist.
Letztentlich fiel meine Entscheidung auf extern trainierte POS-Tagger bzw. Sentiment-Analysen* zur Extraktion von künstlichen Aussagen bzw. zur Bewertung von natürlichen Aussagen, die der User eingibt. Daher stehe ich auf Schultern von Giganten 🙂
*Die Stanford NLP Group leistet hierbei großartige Arbeit, das sie in Form einer Java-Bibliothek implementieren. (14. August 2017, https://github.com/stanfordnlp/CoreNLP)
IT-Talents: Du hast Dich für eine Lösung der Aufgabenstellung in Java entschieden, wieso?
Huy: Einerseits, weil ich mich durch Studium und Freizeit im Java-Umfeld wohlfühle und so beim Prototyping/Bootstrapping auf gewohnte Stukturen greifen kann, andererseits weil ich gerne Kaffee trinke und mit Schlangen und Skriptsprachen noch nicht genug zu tun hatte.
IT-Talents: Welche Probleme sind bei der Entwicklung der Software aufgekommen? Wie lange hat die Entwicklung gedauert?
Huy: Durch die offene und tolerante Aufgabenstellung waren anfangs viele Entwurfsschleifen mit Trial-and-Error angesagt. Hinzu kommt, dass die Logik künstlicher Dialogsysteme oft noch Gegenstand aktueller Papers und Meetings da draußen sind. Daher war mein größtes Problem zunächst, den eigenen Anspruch zu definieren, um den Zeitrahmen nicht zu sprengen und die Konzepte überschaubar zu halten. So kam ich schließlich auf 2-3 Wochen Entwicklung minus Kaffepausen.
IT-Talents: Und was hast Du durch die Entwicklung gelernt?
Huy: …dass zu viel Entwicklungsfreiheit auch eine Hürde sein kann.
IT-Talents: Zu guter Letzt: Was würdest Du Dir thematisch gerne einmal als Code Competition wünschen?
Huy: Die Verarbeitung natürlicher Sprache hat noch einige schöne Probleme, die man als IT-Talent angehen könnte – so wäre die Autokorrektur oder die Übersetzung (z. B. ins Dothraki) noch ganz interessant 🙂
IT-Talents: Vielen Dank für Deine Teilnahme, das Interview und viel Spaß mit Deinem Gewinn 😉
Huy: Gerne!