Amazon recently stopped providing facial recognition software to law enforcement after 2 years of research and activism.
This MIT Tech Review article and others like it have been making the rounds recently. Basically, it outlines the journey that an idea takes from research  into having real-world effects. In retrospect, it seems obvious — facial recognition is unproven, and of course it should not be used in law enforcement. Be careful, though, because this is most likely a case of hindsight bias .
I recently read this paper: Language (Technology) is Power: A Critical Survey of “Bias” in NLP
Its basic conclusion is that the Natural Language Processing field has not settled on a rigorous definition of bias yet. By analyzing 146 NLP papers that attempt to measure or address bias, the authors discover that the field has settled on a handful of related definitions. Each one is valid and worthy of addressing by itself, but it would be impossible to attack these problems all at once.
This survey categorizes bias in NLP literature into the following groups:
Today, I watched a video about a guy who has totally redesigned his tiny San Francisco loft.
Ignore the goofy title.
In it, he talks about the feeling of wanting to get everything perfectly the way he wants it.
I like the fine details of like, […] that light is exactly the right level of warmth.
It seems so minor, but a tiny aesthetic choice like that can make a huge difference.
I run across things like this from time to time. It could be a perfectly-designed product…
Recently, I reconsidered my Sublime Text setup for programming in Python. I wanted to know the latest best practices, shortcuts, and plugins. Here are the results of my research.
The most important plugin you should install right away is Anaconda. Spend some time reading the docs. This plugin converts Sublime Text 3 (ST3) into an effective Python IDE.
These articles list many useful plugins you should consider.
Note: if you install the Anaconda plugin, you don’t need to install SublimeJEDI. They are both based on the same engine, and will cause plugin collision issues.
The way I approached this list…
If you are new to Natural Language Processing, and you’re looking to start learning, welcome! There’s no better time to start learning about this diverse field.
Because it’s so diverse, you’ll encounter multiple ways to learn it. Here are a few different starting points. You’ll do well with any of them, so choose one that most aligns with your interests.
The first broad category is what I’ll call Traditional NLP. This is any NLP methods that were in fashion before this decade.
Coursera used to have 2 good ones for traditional NLP: one taught by Prof. Michael Collins, another by…
The author of the article Does AI Truly Learn And Why We Need to Stop Overhyping Deep Learning argues that deep learning (DL) is overhyped because DL systems don’t actually think.
For instance, he says this about the way researchers describe their systems:
In contrast, data scientists all too often treat their algorithmic creations as if they were alive, proclaiming that their algorithm “learned” a new task, rather than merely induced a set of statistical patterns from a hand-picked set of training data under the direct supervision of a human programmer who chose which algorithms, parameters and workflows to use…
In my career, I’ve worked in several research settings. In undergrad and during my Masters, I worked in research Natural Language Processing labs. I was a research assistant, so my tasks revolved around data gathering & cleaning, analysis, and annotation. I also did some software engineering and sysadmin work to run experiments.
While I never led a research team in academia, I have been given this opportunity in my current position as Lead NLP Engineer at Agolo, a small startup in NYC. From this perspective, I’ve noticed several differences between doing research in academia and in the industry.
One of the Amazon values is being “Customer-Obsessed.”
Leaders start with the customer and work backwards.
The basic idea is to start with imagining what you want the customer experience to be, and then work backward to come up with changes to the software to make it happen.
(Now, I’m about to jump into a seemingly unrelated topic, but bear with me. It’ll connect.)
A fundamental principle of neural networks is backpropagation.
Our goal with backpropagation is to update each of the weights in the network so that they cause the actual output to be closer the target output, thereby…
When hiring for an engineering position, most people would turn to the Internet to get up to date on the latest best practices. Most of the guidelines and advice on the Internet comes from large companies, so their advice is aimed at similarly large organizations.
For example, the hiring process at a big-name software company might be a full day of five or six whiteboard coding interviews with a lunch break in the middle. Afterwards, the hiring committee would meet to vote on whether the candidate passed the hiring bar.
In the case of a startup with fewer than 15…
I saw a blog post recently about the factors that set apart a 10x programmer from the rest. I agreed with most of it, but like the comments say, the author should’ve included something about creating maintainable systems.
I feel that the author could have gotten the same point across by talking about what makes a good software engineer, rather than a 10x programmer. The 10x programmer idea is somewhat harmful in a few ways: