chatbot

Chun-Yi Tu

I'm a software engineer passionate about creating impactful applications. I specialize in leveraging the potential of Machine Learning and enjoy the broader spectrum of software development. My experience includes developing large-scale distributed systems, building batch-processing workflows and real-time streaming pipelines for content personalization across various Yahoo! products.

Experience

Mar. 2021 - Now

Software Development Engineer

Yahoo! - Mountain View, CA

- Developed content-based user profiles from users' activities and interests for personalization with ML models
- Created real-time streaming pipelines to generate hundreds of millions of profiles from user clicks and dwell time, driving a 2.5% increase in homepage and content page revenue and longer user retention
- Designed a config-driven feature generation system to transform content and user data into ML features, accelerating the integration and development of features for model training and online ranking
- Implemented a scalable and generic user reaction microservice with gRPC, Apache Pulsar, Apache Storm, and NoSQL to process and serve configurable interactions across Yahoo!'s product ecosystem
- Coordinated a cross-functional privacy initiative with legal, product, and engineering teams to develop a system for the identification and exclusion of sensitive topics, prioritizing user privacy and ensuring legal compliance

Jun. 2020 - Sep. 2020

Software Engineering Intern

Verizon Media - Sunnyvale, CA

- Designed a model serving automation pipeline to enable continuous delivery of machine learning models
- Reduced model deployment time in Tensorflow Serving on Kubernetes to improve bucket testing efficiency
- Created a RESTful Jetty server to validate models and monitor server health and performance

Sep. 2017 - Feb. 2019

Research and Teaching Assistant

Computational Learning Lab, National Taiwan University - Taipei, Taiwan

- Developed a Cost-Sensitive Learning optimization technique to address the Multiclass Imbalance Problem
- Improved average multi-class recall by using Reinforcement Learning (PPO). Work published in TAAI
- Honored with the College Student Research Award, given to only one project annually across the Department of Computer Science
- Provided individualized help to students in the Machine Learning course, addressing their unique challenges and questions

Jul. 2018 - Aug. 2018

Software Engineering Intern

Dragon Cloud Artificial Intelligence - Taipei, Taiwan

- Developed a speaker recognition pipeline and API for verifying speakers in the text-independent scenario
- Created a dashboard to visualize model performance and monitor usage for troubleshooting and improvement
- Integrated traditional speech processing methods with deep learning to increase verification rate by 15%

Skills

Programming: Python, Java, Scala, C/C++, Go, SQL, JavaScript, HTML/CSS

Tech Stack: Apache Storm, Beam, Kafka, Pulsar, Hadoop, REST, gRPC, GraphQL, TensorFlow, Node.js, React, Express, Django, Ajax

Data Management: Apache Hive, Redis, Big Query, Amazon S3, Google Cloud Storage, MySQL, MongoDB

Cloud & DevOps: Distributed Systems, CI/CD, AWS, GCP, Terraform, Docker, Kubernetes, Git, Linux

Education

Sep. 2019 - Dec. 2020

University of California, San Diego

M.S. in Computer Science and Engineering

GPA: 4.0/4.0
Courses: Natural Language Processing, Recommender Systems, Virtualization, Compiler Design, Computer Vision, Convex Optimization

Sep. 2017 - Feb. 2019

National Taiwan University

B.S. in Computer Science and Information Engineering

GPA: 4.14/4.30; Rank: 10/123
Courses: Algorithm Design and Analysis, Digital Image Processing, Video Communication, Machine Learning, Computer Architecture, Computer Network, Operating System

Projects

Neural Artist [website]
A creative platform where users can transform their photographs into artworks through advanced image stylization and share their creations with the community.

- Implemented a web application powered by Node.js and Express on the backend, featuring a responsive front-end interface designed with React, Ajax, jQuery, and Bootstrap
- Leveraged fast style transfer in Python and Tensorflow to transform uploaded user pictures into artistic images, and reduced transformation time by 50% while serving multiple models
- Designed an MVC framework with RESTful API using Express and MongoDB, and deployed the server with Nginx on AWS EC2, ELB, Lambda, and Route 53
- Built a real-time chat feature using Socket.IO and secured user authentication with Passport.js

chatbot
Persona Chatbot
An interactive chatbot with a customizable personality

- Developed a chatbot with a tailored personality profile, powered by a Transformer model for personalized conversations
- Applied Transfer Learning to fine-tune the model pre-trained on a large text corpus to a small dialogue dataset
- Created a web application using Django for users to interact with the chatbot and customize its personality

chatbot
Rating and Read Prediction
A Kaggle competition on Goodreads book reviews

- Ranked 8th out of 423 competitors with 1.099 Mean Squared Error on rating prediction, and 73.32% accuracy on read prediction
- Integrated implicit feedback into the objective function by maximizing the probability of relative preference prediction
- Used Latent Factor Models and Alternating Least Square for faster rating prediction

chatbot
Video Compression with Residual Encoding
Enhancing video compression with an Autoencoder

- Built a streaming video codec that integrates a Convolutional Neural Network Autoencoder and Huffman Coding with the conventional H.264 codec
- Used a residual autoencoder to minimize the difference between the original and compressed video, achieving improved compression efficiency

chatbot
Deep Poker Net
Training a poker player with Reinforcement Learning

- Designed and trained an RNN model to play No-limit Texas Hold'em using policy gradient with memory and reward normalization
- Awarded the first prize among 24 competing projects in an AI design competition