HN user

wxs

794 karma

Co-founder and CTO at Whirlscape, makers of Dango, the neural-net powered emoji & GIF assistant (http://getdango.com) and the Minuum keyboard (http://minuum.com)

xavier@whirlscape.com @wxswxs

[ my public key: https://keybase.io/wxswxs; my proof: https://keybase.io/wxswxs/sigs/fhibuu3BrSc7k3fLOwDrKBHC1A5GGzzsoPACnipuWJ4 ]

Posts21
Comments84
View on HN
venturebeat.com 8y ago

Facebook is opening an AI office in Montreal

wxs
1pts0
litlab.stanford.edu 9y ago

Distributions of words across narrative time in 27,266 novels

wxs
1pts0
getdango.com 9y ago

Hacking Unicode for Unbreakable Kaomoji ᕙ(⇀‸↼⁠‶)ᕗ

wxs
7pts0
getdango.com 10y ago

Emoji and Deep Learning

wxs
168pts50
en.wikipedia.org 10y ago

Whistled Language

wxs
3pts1
gist.github.com 11y ago

Legal characters in Swift 1.2 Operators

wxs
2pts1
binvis.io 11y ago

Binvis.io: visual analysis of binary files

wxs
9pts1
neuralnetworksanddeeplearning.com 11y ago

Why are deep neural networks hard to train?

wxs
83pts12
www.cise.ufl.edu 11y ago

The University of Florida Sparse Matrix Collection

wxs
59pts10
qz.com 11y ago

A Bitcoin mine went up in flames, affecting the entire network

wxs
67pts20
techcrunch.com 12y ago

Minuum Demos Non-Annoying Text Entry On An Android Wear Watch

wxs
3pts1
minuum.com 12y ago

Model Your Users: Algorithms Behind the Minuum Keyboard

wxs
207pts92
wxs.ca 13y ago

Iso (Click & Drag)

wxs
1pts0
www.theatlanticcities.com 14y ago

Why Is a Patent Troll in Luxembourg Suing U.S. Public Transit Agencies?

wxs
2pts0
www.dpreview.com 14y ago

In depth review of the Lytro Light Field Camera

wxs
32pts15
www.radicalcartography.net 14y ago

Map of race, poverty and education in the Bay Area

wxs
3pts0
deeplearning.stanford.edu 14y ago

Stanford Unsupervised Feature Learning Tutorial

wxs
2pts0
nyc.wikimedia.org 14y ago

Wikimedia NYC accepting Bitcoin donations

wxs
1pts1
news.ycombinator.com 14y ago

Chrome's "Most Visited" as procrastination trigger

wxs
1pts0
google-latlong.blogspot.com 14y ago

Google Maps now WebGL accelerated

wxs
3pts2
www.cs.toronto.edu 15y ago

Probabilistic electoral methods [pdf]

wxs
2pts0

of consciousness, we have agents that perceive the environment and act, in order to maximize rewards

I don't believe "agents acting to maximize rewards" is a good description of any human I know, or if it is the reward function is certainly unknown.

I agree with the first half of this comment, but I don't follow you here: "Until there is an element of randomness fueled by context, they aren't creating anything new. That's where genius lies."

I suspect reframing of problems, seeing things in new light, paradigm shifts, new ontologies, whatever you want to call it are not quite so simple as context-dependent randomness! I don't think we understand this process very well right now.

Finally; I think there is an artfulness in copying existing patterns, because the way in which you "abduce"[1] an observation-explaining theory out of the infinite space of possibilities is a creative and aesthetic process.

[1] https://en.wikipedia.org/wiki/Abductive_reasoning

Unicode Technical Report #51, which is where Emoji are laid out, talks a bit about the current thinking of the committees on this:

The longer-term goal for implementations should be to support embedded graphics, in addition to the emoji characters. Embedded graphics allow arbitrary emoji symbols, and are not dependent on additional Unicode encoding. Some examples of this are found in Skype and LINE—see the emoji press page for more examples.

However, to be as effective and simple to use as emoji characters, a full solution requires significant infrastructure changes to allow simple, reliable input and transport of images (stickers) in texting, chat, mobile phones, email programs, virtual and mobile keyboards, and so on. (Even so, such images will never interchange in environments that only support plain text, such as email addresses.) Until that time, many implementations will need to use Unicode emoji instead

[1] http://unicode.org/reports/tr51/#Longer_Term

The possibilities for how language will work in the future are really exciting and interesting! We made the Minuum keyboard, too, which also explores how machine learning assistance can open up new ways of communicating.

One reason we're interested in visual communication with Dango, though, is that regular text input is pretty good already. Chorded keyboards exist and are way faster, but people mostly can't be bothered to use them. QWERTY is just good enough. But the field is wide open for rich communication with images, nothing out there is particularly good yet.

Well those are sort of equivalent. But yeah, we use cross-entropy between the projected output and the target emoji distribution as our objective to minimize.

And yes, we do the t-SNE on that pre-projection space. That's why we can visualize the targets (emoji) in it. We can also t-SNE the word embeddings themselves — the input to the RNN — which is also kind of interesting. It automatically learns all kinds of structures there. Chris Olah has a good post on word embeddings if you're interested: http://colah.github.io/posts/2014-07-NLP-RNNs-Representation...

Not officially, although people have started reverse-engineering the website ;).

We can get an actually supported one up officially if there's interest. Email me at xavier@whirlscape.com!

Well you can search in Dango, too ;)

But yeah our main focus is suggestions. You can use Dango concurrently with the normal emoji keyboard, of course! It can just sit there showing you emoji you might not know about "ambiently"

Yeah we'd need to do some more work. But this is similar to stickers and GIFs: there are many fewer examples for any given sticker or GIF, which is why we do transfer-learning approaches as discussed in the article.

So there's a good chance we could get it to work! We've not focused on that possibility… yet.

Yeah so this is a legitimate concern. Of course sometimes it's fun to say "let's eat pizza :pizza_emoji:", but that's not hugely valuable.

However, Dango's training data includes people using Emoji to augment rather than repeat their sentence. So if there are two different interpretations and an emoji could disambiguate, the ideal is that Dango has seen people use that phrase both ways and, and that it suggests both possibilities and you can pick the one that you meant. In many cases this works now, in many cases we still have work to do.

It also suggests based on messages sent to you, so if there are a couple different replies it can show you them all (although this feature still needs work).

So yeah: we can focus on vectors at different levels of the net and these are in some sense different semantic spaces. In the article I talk about a level immediately before it projects onto the emoji vectors. If you look at the output after the projection (and do a softmax) you get a probability distribution across all emoji. This would be a different space in which each axis is an emoji, rather than the emoji being points distributed around the space.

Yeah this is a real challenge with AI systems, they reflect both our worst and our best back at us, we're still struggling with the best way to deal with this.

Although in this particular case it's actually just a bug: Dango gets confused by any skin tone modifier character, since they're not supported on Android (our target platform). Try putting in a "white" arm and you'll see the same results. They're actually just our "Dango is confused by this input" results.

We should fix the bug, of course!

We start supporting them as soon as they're available! Obviously we have a lot less training data early on but we can lean on some heuristics early on until it builds up.

Unfortunately in the app we can't give you emoji that your phone doesn't support so we don't always show all the results.

Thanks! I was tempted to go way more technical but we decided it would be fun to let more people get some intuitive grasp of these kinds of algorithms.

All over the web! For instance, over 20% of all tweets have emoji in them. Emoji are very popular in instagram comments, etc.

We use t-SNE for the projection! We do mention it somewhere in there. Could maybe be more clear

The sequences of emoji we ended up glossing over here (difficult balance making these concepts as accessible as possible). In the app we can beam search to predict combos, just as you would in sequence to sequence learning. That's not demo'd on the live website though.

Refined Twitter 10 years ago

I use Twitter on Firefox mobile and didn't know until this article that it's for some reason forcing an old ugly version. What UA string are you using? I tried the Android (Phone) one, and the Chrome one that the Phony extension provides but it still shows the ugly FF version of mobile twitter.

Unit Economics 11 years ago

Wouldn't the statement also be consistent with an increased percentage of car time with a passenger? That is, if all other costs were equal, and occupied time per driver-hour doubled despite per-ride profit halving?

I remember Adam from our batch! Cool kid: precocious, though he did come this close to spilling things on my computer a couple times :)

We use SQLite extensively in Minuum and I couldn't be happier. It's in all our critical real-time code paths that bring up candidates while you're typing. Because we're on SQLite our predictions keep getting faster for free!

Faster predictions mean we can handle more types of errors (more missed characters, more complex typos) in the same time budget. Thanks SQLite, you guys are awesome.