Portfolio

2014
Leveraging Wikipedia semantics for Contextual Exploration, Microsoft Research
Contextual exploration is an entity recommendation problem given a query and context, in order to satisfy user's information need directly within an application. We leverage semantic signals from Wikipedia link structures as well as relate to the context with several graph mining techniques. A crowd-sourced experimental study indicates that the proposed method successfully mines contextually-relevant pages.

2013
Local Collaborative Ranking, Google Research [Best Student Paper at WWW 2014]
LLORMA found that local low-rank matrix assumption is more realistic in recommendation systems. We combine this local low-rank approximation based on the Frobenius norm with a general empirical risk minimization for ranking losses. Thanks to its local nature, it is easy to parallelize, making it a viable approach for large scale real-world rank-based recommendation systems.
Local Low-Rank Matrix Approximation (LLORMA)
A prevalent assumption in constructing matrix approximations was that the partially observed matrix is of low-rank. Instead, we assume that the matrix is locally of low-rank, leading to a representation of the observed matrix as a weighted sum of low-rank matrices. We verify our model both with theoretical analysis and with experimental study.

2012
Learning Multiple-Question Decision Trees for Cold-Start Recommendation
For cold-start recommendation, it is important to rapidly profile new users and generate a good initial set of recommendations through an interview process. In this project, we propose an algorithm learning to conduct the interview process guided by a decision tree with multiple questions at each split. Both quantitative experiment and user study indicate that the proposed algorithm outperforms state-of-the-art approaches in terms of both the prediction accuracy and user cognitive efforts.
Automatic Feature Induction for Stagewise Collaborative Filtering
For the task of predicting missing ratings in collaborative filtering, we observe that different models have relative advantages in different regions of the input space. This motivates our approach of using stagewise linear combinations of collaborative filtering algorithms, with non-constant combination coefficients based on kernel smoothing. The resulting stagewise model is computationally scalable and outperforms a wide selection of state-of-the-art collaborative filtering algorithms.
A Comparative Study of Collaborative Filtering Algorithms
Both classic and recent state-of-the-art collaborative filtering techniques are compared in a variety of experimental contexts. Specifically, we report conclusions controlling for number of items, number of users, sparsity level, performance criteria, and computational complexity. Our conclusions identify what algorithms work well and in what conditions, with various measures.

2011
PREA: Personalized Recommendation Algorithms Toolkit
With increase demand of personalized services in e-commerce, recommendation systems are playing a critical role in commercial websites. In academia, many researchers have tried to achieve better performance and accuracy with various algorithms. PREA is an open source Java software implementing recent state-of-the-art recommendation algorithms as well as popular evaluation metrics.
Personalized Academic Research Paper Recommendation System
A huge number of academic papers are coming out from a lot of conferences and journals these days, requiring researchers searching or browsing through proceedings of top conferences and journals to find their related work. To ease this difficulty, we propose a Personalized Academic Research Paper Recommendation System, which recommends related articles to each researcher in a personalized way.

2010
Reinforcement Learning using Side Information
When an agent is learning how to act in its environment, human teacher can guide it to achieve better performance or to learn faster. In the perspective of the agent, human input can be seen as a side information. This research aims to find the best way to make use of the side information in Reinforcement learning. Currently, I am working on Pacman game domain.
Fair and Efficient Comparison Method for Keyboard Layouts
An efficient, accurate, and general-purpose method for evaluating the speed of new keyboard layout is suggested. It overcomes the problems of relative familiarity and finger memory in a new way, by appropriately mapping both new and old layouts.

2009
Optimizing a Personalized Multigram Cellphone Keypad
Making use of a genetic algorithm, an efficient mobile-phone keypad suiting for each individual is proposed. Frequently-used multigrams from text messages are introduced to keypads, improving typing speed and efficiency, especially for short message service (SMS) on the phone.
Unified Communicator, LG Electronics
This project is for building an application which downloads and merges address books from several webmails and friend lists from Social Network Services (SNS), based on Windows Mobile. I designed the merging algorithm with a customized L-Distance algorithm in order to check similarity of strings.

2008
Tantra: Game Server Log Analysis and Management System, NHN Corp.
This system gathers scattered server logs into one log server, and analyze them with scripts. Useful information on server status such as CPU, memory, or disk status are extracted and reported in every second.
Pandora: Abusing User Monitoring System, NHN Corp.
Based on log management system Tantra, this module detects users who try to raise levels or to get money illegally, by analyzing game server logs. I suggested and led this project, and it was selected as an excellent project of the year.
Multi-Baduk Game, NHN Corp.
Baduk game (known also as Go game) serviced in Hangame.com. Multi-Baduk project focuses on global services in China, Japan and United States, as well as Korea. It also contains multimedia features such as on-line lectures, real-time relay broadcasting, and advertisement.
HanJanggi (Korean Chess) Game, NHN Corp.
This is Korean traditional Chess-like game, also serviced in Hangame.com. For this service, I am in charge of general maintenance, periodic updates, and server platform control.

2007
Online Broadcasting System, NHN Corp.
For a game relay service, we built an online broadcasting system, making use of a Linux-based open source Icecast. A proxy server for load balancing purpose and frame editing functions were implemented on original version of Icecast.
Video Editor for Network Camera, TechnoVision Inc.
I developed a video editor for recorded files from network camera using H.264 Codec. This program includes following functions: cutting several frames from many clips, merging them to one file, saving still-cuts, and filtering images.

2006
Real-Time Motion Tracking using Omni-Directional PTZ Camera, TechnoVision Inc.
Motion tracking project, which observes and detects moving objects using a sensor, then tracks and records them using an omni-directional PTZ network camera on the ceiling. As a software engineer, I devised an efficient algorithm to distinguish each moving object, even when they are overlapped and separated again.
Unified Monitoring System for Sewer Pipe, TechnoVision Inc.
I participated in a project for gathering data on all sewer pipes in the country and for analyzing them. My role was developing a module analyzing data on precipitation and net flow of sewer pipes as well as visualizing the result. Optimization was the key issue because this application was on real-time basis.

2004
8x8 Dot Table Tennis
This was the final project of Logic Design Lab course in 2004. On a PCB designed for Table Tennis game, we programmed logics for the game in two chips. For introducing the second chip, we needed to implement a way to communicate between two chips. I also implemented a power supply (5V) by myself.