←back to thread

176 points nxa | 5 comments | | HN request time: 0.819s | source

I've been playing with embeddings and wanted to try out what results the embedding layer will produce based on just word-by-word input and addition / subtraction, beyond what many videos / papers mention (like the obvious king-man+woman=queen). So I built something that doesn't just give the first answer, but ranks the matches based on distance / cosine symmetry. I polished it a bit so that others can try it out, too.

For now, I only have nouns (and some proper nouns) in the dataset, and pick the most common interpretation among the homographs. Also, it's case sensitive.

Show context
montebicyclelo ◴[] No.43989512[source]
> king-man+woman=queen

Is the famous example everyone uses when talking about word vectors, but is it actually just very cherry picked?

I.e. are there a great number of other "meaningful" examples like this, or actually the majority of the time you end up with some kind of vaguely tangentially related word when adding and subtracting word vectors.

(Which seems to be what this tool is helping to illustrate, having briefly played with it, and looked at the other comments here.)

(Btw, not saying wordvecs / embeddings aren't extremely useful, just talking about this simplistic arithmetic)

replies(7): >>43989576 #>>43989687 #>>43989933 #>>43989963 #>>43990416 #>>43990646 #>>43995277 #
gregschlom ◴[] No.43989687[source]
Also, as I just learned the other day, the result was never equal, just close to "queen" in the vector space.
replies(2): >>43990990 #>>43992066 #
charcircuit ◴[] No.43990990[source]
And queen isn't even the closest.
replies(1): >>43991033 #
1. mcswell ◴[] No.43991033[source]
What is the closest?
replies(2): >>43991436 #>>43991529 #
2. ◴[] No.43991436[source]
3. charcircuit ◴[] No.43991529[source]
Usually king is.
replies(2): >>43992891 #>>43992920 #
4. KeplerBoy ◴[] No.43992891[source]
That would be hilariously disappointing.
5. Narew ◴[] No.43992920[source]
yes and it's only work because we prevent the output to be in the input.