Term-Aware Machine Translation

Lemmatization and factors being used to prepare training data for a term-aware MT model.

Businesses requesting translations like to see consistency in the tone and terminology used. However, when many different translators work to translate documents for the business, it is difficult to ensure that translations remain consistent over time. While the use of NMT can improve translation speed for businesses, fixing inconsistent terminology represents a significant portion of the post-editing effort for translators. A robust NMT system should be able to incorporate term translations from human-curated term banks as guidance, to ensure more consistent translations from the start.

Read More

Decorated Plugins

The python decorator used to make the system aware of a plugin.

When I think about how challenging it can be to read other developers’ code or even just one’s own code months later, I also think about how important it is to develop software with extensibility in mind from the start. So that’s why when working in python3, I’ve found myself using a pattern of providing a single location in the code where new plugins can be easily added, and a handy decorator that a developer can use for registering a plugin.

Read More

Time Delay Neural Network

The kernel (dark blue area) moving over the input (light blue) to produce the output (green) in a TDNN.

The time-delay neural betwork (TDNN) is widely used in speech recognition software for the acoustic model, which converts the acoustic signal into a phonetic representation. The papers describing the TDNN can be a bit dense, but since I spent some time during my master’s thesis working with them, I’d like to take a moment to try to demystify them a little.

Read More

Site Launched

Fireworks on July 4th in my hometown.

Although I’ve created some small static sites before, I consider myself a beginner in web technologies. I think it’s safe to say I had no idea what I was getting myself into when I started putting this website together. I thought it’d be easy with github.io, since they kind of have everything set up for you already, but I actually spent a good chunk of time chasing down tutorials. So here’s a quick and dirty summary of how I finally got things more or less up and running.

Read More