Patrick Huber

Ph.D. candidate specializing in AI, ML & NLP | Machine Learning Enthusiast
arrow_downward

About Me

computer school language

I am a Ph.D. student in Computer Science at the NLP Lab of the University of British Columbia (UBC) who likes to solve challenging tasks using data-driven approaches. My research focuses on designing and implementing innovative computational models that enable automated systems to better understand natural language. In addition to my primary research on data-driven discourse parsing, I am interested in new and creative applications of modern machine learning methods and algorithms.

card_travel code local_drink

In my free time I strive to explore new destinations around the world, learn about new culures and history. I like working on fun little side projects, mostly related to game development and graphic design and participate in Hackathons. I love to explore the many small coffee shops and unique craft breweries around the Pacific Northwest. In the winter, I like to go snowboarding on local mountains around Vancouver or in Whistler.

blur_on

Education

University of British Columbia

Ph.D. Computer Science

Sep 2018 - present

drag_handle
Research Interests

Discourse Parsing, Question Answering, Summarization, Machine Translation, Natural Language Processing, Natural Language Generation, Computational Linguistics, Machine Learning, Artificial Intelligence

drag_handle
Funding

Research Assistantship (Industry Grant)

drag_handle
Supervisor

Prof. Dr. Giuseppe Carenini

drag_handle
Karlsruhe Institute of Technology, Germany

M. Sc. Computer Science

Oct 2014 - Dec 2017

drag_handle
Main Courses

Cognitive Systems, Software Engineering

drag_handle
Master Thesis

A Hierarchical Approach to Neural Context-Aware Modeling

drag_handle
Cooperative State University Karlsruhe, Germany

B. Eng. Computer Engineering

Oct 2011 - Sep 2014

drag_handle
Main Courses

Software Engineering, Electronical Engineering

drag_handle
Bachelor Thesis

Multidimensional Indoor Object Tracking with active RFID

drag_handle
blur_on

Experience

University of British Columbia, Vancouver, Canada

NLP Research Assistant

Sep 2018 - present

drag_handle
Research Topic

Methods and applications of discourse parsing, focused on deep learning techniques and distant supervision

more_horiz

Supervisor: Giuseppe Carenini

drag_handle
SAP Headquarters Walldorf, Germany

Software Developer

Jan 2017 - Jun 2017

drag_handle
Responsibilities

Developed four web applications on SAP Cloud Platform frequently used by over 1000 customers worldwide

more_horiz

Managed repository transition into a new landscape with strict time constraints (hot swap) to enhance system stability

more_horiz

Implemented customer-driven development projects, reducing manual efforts by 75% and preventing media breaks

drag_handle
SAP Labs Vancouver, Canada

Software Developer

May 2016 - Dec 2016

drag_handle
Responsibilities

Full-stack web development with SAPUI5 and SAP Cloud Platform

more_horiz

Led a team of four international interns and implemented cross-topic communication to ensure coding conventions and quality

more_horiz

Designed and implemented three process-driven applications to enhance customer projects, reduced managing efforts by 60%

more_horiz

Set up an autonomous development infrastructure which improved code review processes and enhanced overall code quality in the productive system

drag_handle
EnBW Headquarters Karlsruhe, Germany

Software Developer

Oct 2011 - Apr 2016

drag_handle
Responsibilities

Designed and implemented company internal native mobile applications on BlackBerry and Android

more_horiz

Developed a proof-of-concept real-time emergency control center using the push enabled Java web framework Vaadin

drag_handle
blur_on

Publications

Predicting Discourse Structure using Distant Supervision from Sentimentmore_vert

Patrick Huber and Giuseppe Carenini

Department of Computer Science, University of British Columbia (UBC)

Predicting Discourse Structure using Distant Supervision from Sentimentclose

Patrick Huber and Giuseppe Carenini

Department of Computer Science, University of British Columbia (UBC)

Discourse parsing could not yet take full advantage of the neural NLP revolution, mostly due to the lack of annotated datasets. We propose a novel approach that uses distant supervision on an auxiliary task (sentiment classification), to generate abundant data for RST-style discourse structure prediction. Our approach combines a neural variant of multiple-instance learning, using document-level supervision, with an optimal CKY-style tree generation algorithm. In a series of experiments, we train a discourse parser (for only structure prediction) on our automatically generated dataset and compare it with parsers trained on human-annotated corpora (news domain RST-DT and Instructional domain). Results indicate that while our parser does not yet match the performance of a parser trained and tested on the same dataset (intra-domain), it does perform remarkably well on the much more difficult and arguably more useful task of inter-domain discourse structure prediction, where the parser is trained on one domain and tested/applied on another one.

Automated Evaluation of Out-of-Context Errorsmore_vert

Patrick Huber, Jan Niehues, Alex Waibel

Institute for Anthropomatics and Robotics, Karlsruhe Institute of Technology (KIT)

Automated Evaluation of Out-of-Context Errorsclose

Patrick Huber, Jan Niehues, Alex Waibel

Institute for Anthropomatics and Robotics, Karlsruhe Institute of Technology (KIT)

We present a new approach to evaluate computational models for the task of text understanding by the means of out-of-context error detection. Through the novel design of our automated modification process, existing large-scale data sources can be adopted for a vast number of text understanding tasks. The data is thereby altered on a semantic level, allowing models to be tested against a challenging set of modified text passages that require to comprise a broader narrative discourse. Our newly introduced task targets actual real-world problems of transcription and translation systems by inserting authentic out-of-context errors. The automated modification process is applied to the 2016 TEDTalk corpus. Entirely automating the process allows the adoption of complete datasets at low cost, facilitating supervised learning procedures and deeper networks to be trained and tested. To evaluate the quality of the modification algorithm a language model and a supervised binary classification model are trained and tested on the altered dataset. A human baseline evaluation is examined to compare the results with human intuition. The performance on the evaluation task indicates the difficulty to detect semantic errors for machine-learning algorithms and human intuition, showing that the errors cannot be identified when limited to a single sentence.

A Hierarchical Approach to Neural Context-Aware Modelingmore_vert

Patrick Huber, Jan Niehues, Alex Waibel

Institute for Anthropomatics and Robotics, Karlsruhe Institute of Technology (KIT)

A Hierarchical Approach to Neural Context-Aware Modelingclose

Patrick Huber, Jan Niehues, Alex Waibel

Institute for Anthropomatics and Robotics, Karlsruhe Institute of Technology (KIT)

We present a new recurrent neural network topology to enhance state-of-the-art machine learning systems by incorporating a broader context. Our approach overcomes recent limitations with extended narratives through a multi-layered computational approach to generate an abstract context representation. Therefore, the developed system captures the narrative on word-level, sentence-level, and context-level. Through the hierarchical set-up, our proposed model summarizes the most salient information on each level and creates an abstract representation of the extended context. We subsequently use this representation to enhance neural language processing systems on the task of semantic error detection. To show the potential of the newly introduced topology, we compare the approach against a context-agnostic set-up including a standard neural language model and a supervised binary classification network. The performance measures on the error detection task show the advantage of the hierarchical context-aware topologies, improving the baseline by 12.75% relative for unsupervised models and 20.37% relative for supervised models.

blur_on

Skills

Java

3+ years of professional Java experience in a business context using Java Servlets, the Vaadin Java framework, JMS and Hibernate.

Python

2+ year of professional experience with Python for Data Science and Machine Learning applications. Basic knowledge of the Flask Python backend.

JavaSript

2+ year of professional JavaScript experience as a full-stack web developer using the JavaScript frameworks like SAPUI5, XSJS, AngularJS and NodeJS.

Android

2+ years of partly professional Android experience as a native Android developer implementing business applications and through personal and university projects.

Tensorflow

1+ year of professional experience with Google's Tensorflow framework for Machine Learning and Numeric Computation, implementing artificial neural networks.

PyTorch

2+ year of professional experience with the PyTorch neural network API building low-level convolutional and recurrent neural network topologies.

SAPUI5

1+ year of professional SAPUI5 experience as a full stack Software Developer at SAP Canada & Germany.

SAP Hana

1+ year of professional experience with the SAP HANA database and server systems as a full stack Software Developer.

AngularJS

Under a year of AngularJS experience on personal web development projects.

NodeJS

Under a year of experience with NodeJS creating REST webservices for personal projects.

MySQL

2+ years of professional experience with MySQL for multiple business applications. Also used in combination with Hibernate.

MongoDB

Under a year of experience with MongoDB creating multiple databases for personal and university projects.

Vaadin

Used the D3 library for a graduate-level course project dynamically visualizing tree structure and attribute alignment

Git

1+ year of professional experience with the Git version control system used for the majority of projects.

blur_on

Projects

school

University Projects

drag_handle

ScoreBoard

University project for a Software-Design course.
We developed a Client-Server application to enable people to set up a soccer prediction game and compare their knowledge of the German Bundesliga. The project was part of a second year university course at the DHBW and has been developed as a native Android application with a Java backend and a MySQL database.


more_horiz

Lego Mindstorms Challenge

As part of the Cognitive Systems course at the KIT, we build and implemented an autonomous Lego Mindstorms robot to solve a number of challenging tasks, like a previously unknown maze, multiple bridges and other difficulties.


more_horiz

Nao Robot

As part of a six-month seminar on humanoid robots, we designed a real-time interface for Aldebaran's Nao robot, which natively only supports commands at compile time. Our added functionalities enabled the robot to be controlled at runtime.


more_horiz

Question Answering System using Knowledge Graphs

As part of a graduate-level course on Information- and Social Networks, I created a natural language based Question Answering system, which can answer factoid questions based on a natural input question. The system is implemented using PyTorch and a sequence-to-sequence recurrent neural network.


more_horiz

Gesture Detection

For a three-month seminar during the second year Master's degree at the KIT, I analysed and enhanced current gesture detection algorithms using hollistic body models.

free_breakfast

Personal Projects

drag_handle

Hotel Madness - Cross-platform game made with Unity

While experimenting with Unity I created this one-touch controlled action game. The objective is to bring the hotel guests to their desired floors before they lose their cool and commplain about you!

Try the game!


more_horiz

Mafia - Web Application

As a personal project, I implemented a web-based version of the social card game "Mafia", also known as "Werewolfe". The implemented prototype takes advantage of the benefits provided by the technological framework and combines these with the classical elements of the card game


more_horiz

Loki - nwHacks 2018

Within the 24 hours of the 2018 nwHacks hackathon, I and my team created a proof-of-concept, showing the possiblities of the new features introduced with iOS 11 and how they, in combination with Apple's privilege-concept, can be maliciously used to intrude the privacy of iPhone users. As a proof-of-concept, we used the facial information provided by Apple's framework and trained our own artificial neural network with the data. With only a minimal amount of training data, we were able to accurately predict the user's emotions, which we limited to {Happy,Sad,Angry and Surprised}. To expose the impact of our findings, we created a Facebook-like newsfeed, which uses the phone-camera in the background - without any indication to the user - and show new feed-content depending on the users emotions.


more_horiz

Connect Four - Evolutionary Neural Network

To solidify my understanding of artificial neural networks, I created an object-oriented feed-forward neural network from scratch and trained the model on the task of solving the game "connect four". Through the nature of the task, a reinforcement-learning approach utilizing an evolutionary algorithm has been used to train the model. The final results indicated clear evidence that the network reached nearly-human performance on the task.

blur_on

Achievements

stars

BCGS Award

UBC

Awarded to exceptional students in a thesis-based graduate program

received in September 2019

drag_handle

stars

Conference Reviewer

AAAI 2020, New York, USA

In the area of "Summarization"

Fall 2019

drag_handle

stars

Conference Reviewer

EMNLP 2019, Hong Kong

In the area of "Summarization and Generation"

Summer 2019

drag_handle

stars

Students Award

KIT

Top 10% of Graduating Class 2018

received in March 2018

drag_handle

stars

FastTrack Award

SAP SE

Talent program for the top 10% interns at SAP

received in May 2017

drag_handle

stars

Net2 Scholarship

Netze BW GmbH

12 month company scholarship awarded with €250 per month and company events

received in April 2015

drag_handle

stars

Students Award

DHBW

Best graduate student of the class of 2014

received in September 2014

drag_handle

blur_on

Languages

German

Mother Tongue

English

Professional Level, IELTS Class C1

French

Basic Level

blur_on

Volunteer Work

code

Girls Smart 4 Tech

One day workshop for highschool girls to get interested in techinical jobs. I held a keynote presentation on "International Opportunities i nTech Companies" and was co-josting a 60 minutes workshop on the coding language "Alice"

drag_handle

directions_bike

The Bicycle Valet

I volunteered at the bicycle valet, providing secure bicycle parking in and around Metro Vancouver to support environmentally friendly ways to get to major events in Vancouver

drag_handle

flight_land

Grad Buddy

I volunteered as a grad buddy for incoming international graduate students at UBC

drag_handle

blur_on

Hobbies

Snowboarding

Surfing

Soccer

Football

Volleyball

Boardgames

Reading

blur_on