HomeProjectsArticlesAbout

Projects (16)

Filter:
AttaCut: Fast and Reasonably Accurate Tokenizer for Thai

AttaCut: Fast and Reasonably Accurate Tokenizer for Thai2019

Previous tokenizers for Thai are either fast with low accuracy or the opposite. In this work, we propose a new tokenizer based on a CNN model and the dilation technique. Our models show comparable tokenization performances yet at least 6x faster than the state-of-the-art. We plan to release our final models under PyThaiNLP's distribution.
Parliament Listening (beta)

Parliament Listening (beta)2019

A pilot project that aims to collect what being discussed in each parliament meeting. Having this kind of data will allow us to build various tools and applications that individuals can easily engage or interact. Hence, they would be well informed about the country's situtaion and potentially make a better decision in next elections.
Pedigree Mate

Pedigree Mate2019

A tool that allows poutry researchers to find breeding pairs that have no common ancestors. This tool is developed in collaboration with Poultry Research And Development Center Kabinburi, Prachinburi, Thailand.
Tokenization Benchmark Visualization

Tokenization Benchmark Visualization2019

The website contains a collection of tokenisation benchmarks for Thai as well as visualization of the results. Not only looking at the numbers, the visualization allows Thai NLP researchers to see qualitative pespectives of benchmark, visually seeing when each algorithm perform well and when not.
Live Report for Thailand's General Election 2562 (2019)

Live Report for Thailand's General Election 2562 (2019)2019

Thailand's Politics and Business

Thailand's Politics and Business2019

The goal of this visualization is to reveal business activities of each politician. From the visualisation, one can see the relationships between political parties and companies that support them. Moreover, integrating with Thailand's government spending data allows us to see the connections between producement campaigns and those companies.
Thailand's General Election 2562 (2019) Zone and Candidate Browsing Website

Thailand's General Election 2562 (2019) Zone and Candidate Browsing Website2019

This website provides a quick and simple way, using postcode, for Thais to see who are candidates in their area. As zone and candidate data is rarely changed, the website is a static website without the use of backend and database.
Visually Similar Image Search

Visually Similar Image Search2019

Finding similar images can be useful in many cases. For example, one can use it to retrieve mountain photos from a ton of photos in his/her gallery. Our first experiment achieves this search by using a nearest neighbour approach over features produced by pretrained neural networks. Currently, we are testing with techniques such as autoencoders, Siamese networks, and TripetLoss.
Loopify

Loopify2018

If you happen to use Spotify and play a music instrustument like me, you might sometimes want to repeatedly play certain pieces of songs on Spotify for practicing. Loopify is the answer for that!
Designing RNNs for Explainability (M.Sc. Thesis)

Designing RNNs for Explainability (M.Sc. Thesis)2018

We study how the architecture of RNNs influences the level of explainability. We use existing explaination methods, such as LRP, Deep Taylor Decomposition, and Guided Backprop, to explain prediction from RNNs. Our experiments show that RNN architectures can have significantly different levels of explainability although they perform equally well in terms of an objective function.
Monte Carlo Particle Filter for Localization

Monte Carlo Particle Filter for Localization2018

Particle filter algorithm is a nonparametric approach using a set of particles to approximate the posterior distribution of some random processes. In this project, we develop a robot simulator and implement the algorithm to localize the location of a robot in mazes.
LaTeX ⚡ Sketch Plugin

LaTeX ⚡ Sketch Plugin2017

The plugin brings LaTeX's functionalities to Sketch, a popular vector-based design application. It allows us to create nice mathematical formulas directly inside Sketch. For example, I used it to design figures for my master's thesis and its poster.
Black Box Optimization using RNNs

Black Box Optimization using RNNs2017

We extend on the work of Chen et al. (2016), who introduce a new learning-based approach to global Black-Box optimization. They train a LSTM model on functions sampled from Gaussian processes, learning to find an point that those training functions. We verified the claims made by the authors and conducted further experiments using various loss functions. We also applied these learned LSTM models to airfoil optimization and hyperparameter tuning of a SVM classifier. Our experiments show that the learning approach can produces optimizers that perform comparably to state-of-the-art Black-Box optimization algorithms on these benchmarks
Code Generation for Apache Flink's NormalizedKeySorter

Code Generation for Apache Flink's NormalizedKeySorter2016

The current implementation of NormalizedKeySorter is a generic implementation for all data types. Although this implementation has an advantage of code maintenance, it creates unneccesary CPU branches for certain data types, causing needless latency. We solve this problem by online creating a customer sorter for each data type. Our experiments show that this code-generated approach reduces running time significantly.
Mining IRS990 Data with AWS Lambda

Mining IRS990 Data with AWS Lambda2017

This project is a proof-of-concept showing how to use Amazon AWS's Lamba as a massive-scale data pipeline. For the IRS990 dataset, this approach can reduces the processing time down to to 25 minutes, significantly faster than using other approaches, such as Apache Spark, directly.
Who find the Netherlands a new home(hope)?

Who find the Netherlands a new home(hope)?2016

A visualization of asylum requests to the Netherlands. My partner and I incorporated visualization principles into the design that balances between aesthetic and usability. Most of the important components here were implemented from scratch using d3.