Bot that uses deep neural networks to generate plausible definitions of words
lexiconjure.tumblr.com
lexiconjure.tumblr.com
Best possible outcome.
http://lexiconjure.tumblr.com/post/139734312765/ycombinator#...
So glad this tedious procedure finally got automated! Well... almost, we still need the bots to vote for the most plausible one.
I particularly loved finding the following word and definition:
Teurmnasg (lit. thumb binding). a bandage on the toes and thumbs of a dead person, to prevent his ghost from hurting foes.
Another idea is to generate word vectors from a dictionary. Instead of trying to infer it's meaning from context, a dictionary gives you it's meaning directly. And even alternate meanings. Or a hybrid approach might be best. I recently read a paper where they used wordnet relationships to improve regular word2vec vectors a lot.
The code is available here: https://github.com/rossgoodwin/lexiconjure/
What delightfully deranged nonsense!
ojno: n. (pl. ojnos) 1 a small piece of metal with a long glazed stem and a pointed snout, used for making soft fabrics.
It's like funhouse mirror Borges.
I don't know why this is. Perhaps training on dictionaries is a really good way to teach NN's about English. Who would have guessed?
>Venprigon
>
>a city in SW Russia, on the River Danube; pop. 123,600
>(est. 2002).
No reason I wouldn't accept it. In particular the Danube flows through Russia (edit: apparently not, but Russia borders it and is mentioned in the Danube article). Why not. The name seems Russian enough to my ears (don't speak it) and the population given is small enough that I wouldn't have heard of it (if it had said 10 million that would be a give-away). Pass with flying colors to someone not great at Geography. Probably NOT a pass to someone who knows Geography well, as the Danube does not flow through Russia. 10/10 for me.
But it drops off immediately:
>onomierren
>
>n. [mass noun] a disease caused by a strong feeling of blurred and deceptive movements of the teeth.
>
>mid 19th century: from INO- ‘one’ + Greek meros ‘marriage’.
The whole definition is completely non-sensical, this is a 0/10. It doesn't make sense for a disease to be "caused by a feeling" (feelings aren't ever listed as causes of disease, but rather as symptoms) and the feeling of blurred "vision" might maybe make sense if someone isn't reading carefully, but blurred, and deceptive, movement of teeth doesn't even pass the least attentive reading. The fact that it's listed as a mass noun is okay (lots of diseases are), but the etymology isn't even trying: INO- doesn't mean one in any medical language (everyone knows it's mono, or maybe uni-), ino- isn't even in the word onomierren, meros isn't Greek for marriage , and even if it were, what the hell wuould "one marriage" have to do with a disease caused by the movement of teeth. This is a 0/10.
The next one:
>clapter
>
>n. a person who delivers a clapted book, especially a computer file or television programme or a program.
since I don't know what a clapted book is, it sound plausible until the repetition "or television program or a program", neither of which sounds like something one would deliver. If it just said "a person who delivers a clapted book" I might find it plausible. 5/10.
>fengler
>
>n. a person who fengles or shares a fengue.
10/10. I don't know what a fengle is but this seems perfectly plausible to me.
>ambistrate
>
>n. [BIOLOGY] a plant or animal that is extremely hard or wide, as in a small or more liquid or gland.
>
>early 18th century: from Latin ambistratus, from ambi- ‘money’ + stare ‘to stand’.
Again this is completely non-sensical. Ambistrate sure sounds like a word, specifically a verb, but it is then listed as a noun. Well okay. A plant OR animal? Weird. That is extremely hard OR wide? Okay. And then it just drops off to complete random garbage "as in a small or more liquid or gland." You can't even parse that grammatically. It's just random words.
The etymology sucks, ambi- doesn't mean money (ambiguous? ambivalent? ambidextrous? etc), stare sounds okay to me.
This is like a 1/10.
>forepiscate
>
>n. [BIOLOGY] a plant or animal that foresees or is produced by a foreperson.
>
>forepiscitic adj. forepiscity n.
seems completely improbable, firstly for a plant to be able to foresee, this word (foresee) would have to have some meaning I don't know - and secondly, the definition says that a foreperson can produce such a plant. This is garbage, 1/10.
>salakala
>
>n. [mass noun] a Japanese colour like that of salad colour.
>
>Italian, literally ‘salted pepper’, from Latin salus ‘salt’.
again all over the place. we don't talk of "salad colors", and if it's a japanese color (which salakala sounds like it could be) why is it given an Italian etymology. Completely implausible, 1/10.
>quanspor
>
>n. a small round board on a plane figure with a slightly unstable joint.
>
>late 18th century: from Latin, ‘born’.
I guess the definition could sort-of make sense, but born in Latin is something around natus (nativity scene) or something with nasc- like "nascent", or reNaissance (rebirth), or that sort of thing. This quanspor crap doesn't share a single syllable.
Like 5/10 due to the technical jointmaking definition being nearly plausible to me.
In sum, I would say this program does an extremely poor job of deep learning. Since Greek and Latin stems are in many ways predictable (after all, lots of new words have been coined with them) it should do a much better job of etymology and word construction. Then, too, it doesn't derive meanings that are plausible from existing words and definitions. Instead it kind of seems to just dump words together.
As a deep learning project I would say this shows very poor results. It's not even shallow learning. I would be easy to trick by mentioning things like "a flying insect of the genus __something i don't know__ native to __some place___". I would also be extremely easy to trick via medical and other technical invented terms - as long as the invention isn't something completely implausible like a disease caused by a feeling of blurred and deceptive movement of teeth. Why can't it say it's caused by .... something that ever comes after the term "caused by"?
interesting project, but very poor showing IMHO.
This bot was really just a creative experiment, and I'm pretty new to machine learning, so I'd love to hear any specific suggestions you might have to improve it.
Note that I'm not a ML expert, just curious. I do have one specific advice: don't make up Greek and Latin stems - that seems like something you really can use deep learning for.
By the way the quality of the words themselves is pretty good - however you're generating these words/spellings, it seems pretty good.
It's far better than markov chains. Especially as markov chains have no memory. They just do a random walk through word space rather than form anything coherent.
I think the markov chain that generates this hacker news simulator:
Does CONSIDERABLY better in many cases.
Our discussion: https://news.ycombinator.com/item?id=10248773
Also I think this corporate bullshit generator uses markov chains: http://cbsg.sourceforge.net/cgi-bin/live and I also find many of its output examples to be superlative.
On the hacker news simulator, much of it is on-point: "Tell HN: Bump for Android in the UK on Monday" or "Ask HN: Any help to find short term, remote programming gig?"
Both of which are extremely intelligible, if surprising.
"The Illusion Machine That Changed Their Lives " makes perfect sense to me and I would 100% click.
As you can see from my link to our discussion, some people accepted the site as the genuine deal. (Obviously most titles it generates include clear give-aways: most, but not all.)
Given my review of its output I just think that the dictionary generating app we're discussing can use improvement.
Look at the "comments" of the ycombniator site. Where it tries to produce actual sentences. All the comments are totally incoherent and random.
Fortunately, breaking a word into parts is exactly the kind of thing a convolutional network should be great at...
This is 'just' a fun project, and there's a veritable cottage industry of fun projects like this to illustrate and play with new ML techniques. They're not meant to be technical contributions, they're playful doodles.
Plus, this one is actually really well done! It's got a great oldschool dictionary typeface, a tumblr reblogging the tweets, nice details like that.
the other fun things, the typeface, the tubmlr reblogging the details, etc, that you mention would remain even if the etymology generation and some of the techniques on the generation side were improved.