Photo by Tobias on Unsplash

Importance of Text Retrieval

A lot of problems in NLP require text retrieval as a crucial part of the step. For instance, tasks like fact verification require the model to first retrieve information from the web before judging whether a statement is correct.

Clearly a task like fact verification depends heavily on how well the model can retrieve the relevant documents. No matter how good you are at trivia games, you can’t beat somebody equipped with Google. It’s one thing to train a model that can read supporting documents and judge whether a statement is substantiated. …


From cdr/code-server

A lot of us love using VSCode on our workstations but sometimes our personal laptops aren’t the computers we want to use.

Often times high-powered GPU machines are given to us as an address to a remote server and all the hassle with ssh, vim, and being stuck in a terminal shell can become annoying.

This is a tutorial on how to get a web version of VSCode running on whatever remote server that you have access to.

At the Extra: Reverse-Proxy with Nginx section at the end, I also talk about getting around IP white-list restrictions with reverse-proxy with…


Photo by Alen Rojnic on Unsplash

This article is a part in the following series. Stay tuned!

Part I: Cross-Encoding with BERT

Part II: Bi-Encoding with S-BERT

Part III: Let BERT teach S-BERT: a Knowledge Distillation Approach

Many tasks in Natural Language Processing require us to look at pairs of sentences.

For instance, if you’re trying to build an AI-powered Deep Learning search engine, you would need a way to compute whether two websites are relevant to each other or not.


Photo by Patrick Dzieza on Unsplash

I’ve been taking a break from writing blog posts here for several months, but I saw the viewership of this blog that grew so much in the months I’ve been inactive, and felt inspired again.

I get into pretty tangentially related topics in this post that I think are what makes these topics endlessly interesting, but if you just want to learn about autoencoders, just jump to the “Autoencoders: Real Introduction” section (though I do think there are better articles out there that purely explains autoencoders).

Mathematical Optimizations

I think the most interesting aspect to machine/deep learning is not the models that…


Photo by Dan Gold on Unsplash

I’ve taken a bit of a hiatus because I’ve been busy with school and other things and I’ve been spending time learning more ML/DL stuff. Here’s another article! We’ll explore what overfitting is, why it is bad, and the solutions that exist to reduce it.

What Is “Overfitting”?

We must first review what a typical machine learning task looks like. I explained in a previous article that, in a typical machine learning task, the researcher divides the dataset. There are two methods people like to go about doing this.

Train & Test

This method is simple: divide the data to a separate training set and a…


Photo by Luca Bravo on Unsplash

In this article I will explain an application of the concepts so far that goes beyond just categorizing text documents.

This is the part 4 of the series outlined below:

Part 1: Intuition & How Do We Work With Documents?

Part 2: Text Processing (N-Gram Model & TF-IDF Model)

Part 3: Detection Algorithm (Support Vector Machines & Gradient Descent)

Part 4: Variations of This Approach (Malware Detection Using Document Classification)

By the end of Part 3, we went over the intuition and the implementation details of using machine learning algorithms to classify documents.

I actually first encountered document classification when…


Photo by Preston Pownell on Unsplash

In this article I will explain some core concepts in taking a step further to utilize the data we composed in the last articles and implement a detection algorithm in conducting machine learning on documents to classify them into categories. This is the part 3 of a series outlined below:

Part 1: Intuition & How Do We Work With Documents?

Part 2: Text Processing (N-Gram Model & TF-IDF Model)

Part 3: Detection Algorithm (Support Vector Machines & Gradient Descent)

Part 4: Variations of This Approach (Malware Detection Using Document Classification)

By the end of part 2, we got to representing…


Photo by Luca Bravo on Unsplash

In this article I will explain some core concepts in text processing in conducting machine learning on documents to classify them into categories. This is the part 2 of a series outlined below:

Part 1: Intuition & How Do We Work With Documents?

Part 2: Text Processing (N-Gram Model & TF-IDF Model)

Part 3: Detection Algorithm (Support Vector Machines & Gradient Descent)

Part 4: Variations of This Approach (Malware Detection Using Document Classification)

In part 1, we went over representing documents as numerical vectors. But there are many problems with this simplistic approach. …

Chan Woo Kim

Deep Learning Researcher at Williams College

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store