Avatar

Joseph Chee Chang

Technical HCI Research・Semantic Scholar・Allen Institute for AI

I am a research scientist at AI2. Previously, I obtained a PhD degree from the Language Technologies Institute at CMU specializing in Human-Computer Interaction, Sensemaking, Crowdsourcing, and Applied Machine Learning. I was advised by Aniket Kittur, and my research was supported by Google, Bosch, Yahoo, the ONR, and the NSF.

My research focus on developing information systems to support users and crowdworkers to explore and make sense of large amounts of information and make better decisions. For example, using crowds to synthesize search results into coherent articles or empowering consumers to navigate and explore thousands of reviews and online sources and gain deep insights and make confident decisions.

Ph.D Thesis

Supporting Global Context under Evolving User Intents during Data Exploration

Joseph Chee Chang
Carnegie Mellon University

- Special Pages

A Hangman Game Solver Based on Language Models

I’ve recently wrote a program for solving sentence-based hangman game automatically. Here’s a post explaining my approach using the British National Corpus, srilm language model and hidden Markov model.

The Hangman Game

Last week, my friend Zero Cho was asked to write a program that solves the game of hangman automatically. The rules are simple: the questions are short sentences or phrases with their characters concealed, i.e. replaced with an underscore, while spaces and punctuations are revealed. The solving process is an interactive process in which the solver program will guess a letter, and the question system will reveal its locations. If you guessed 3 letters that are not in the sentence, you fail the question.

For example, the initial hint for the answer it's a sunny day is __'_ _ _____ ___, if a solver program guesses y, the system will respond with __'_ _ ____y __y.



- AI, Game, HMM, Language Model, NLP

Git: Remove (Un-add) Files From Last Commit

A lot of times we use git commit --amend to add the files that we have forgotten to the last commit (usually HEAD), or simply to fix typos in its commit message. However, you can’t remove, or un-add, committed files from the latest commit with git commit --amend. Here’s how:



- git

Linux Kernel: Hooking System Calls on 2.6+

This post explains how to add, or override, system calls by loading custom kernel modules using system call hooking techniques. This is sometimes called system call hijacking, and is used by viruses and rootkits.



- kernel, linux

Linux Kernel: Debugging With QEMU and Kgdb

This post is my study note from the past few days. It includes 1) Configuring and installing Debian on the QEMU virtual machine. 2) Compiling a Linux kernel that supports KGDB and initrd. 3) Using gdb and KGDB for real-time kernel debugging.



- kernel, linux

Introducing 0xbench

4898520412_4f9ba92569_b

Today (Aug 14) we are announcing the release of 0xBench, an open source Android benchmarking app developed by 0xlab.

0xBench comes with several built-in benchmarks including Linpack, Scimark2, LibMicro, …, etc. 0xBench can also be extended. Developers can add their own benchmarks (either in native C or Java) to suit their needs.



- 0xbench, 0xlab, android, app, mobile