TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Word generator using recurrent neural networks

71 pointsby cardiganover 9 years ago

14 comments

cardiganover 9 years ago
Ooh front page; I guess this calls for a bit of an explanation!<p>First off - used this code for training the models: <a href="http:&#x2F;&#x2F;karpathy.github.io&#x2F;2015&#x2F;05&#x2F;21&#x2F;rnn-effectiveness&#x2F;" rel="nofollow">http:&#x2F;&#x2F;karpathy.github.io&#x2F;2015&#x2F;05&#x2F;21&#x2F;rnn-effectiveness&#x2F;</a><p>Very very easy to setup and train; highly recommend playing around with your own training data (just a text file!)<p>This project&#x27;s code: github.com&#x2F;shariq&#x2F;burgundy<p>Styled and deployed the website about a year ago at a hackathon; it then used a nice wordlist with hand picked words. (repo&#x2F;wordserver&#x2F;old_burgundy_words.txt)<p>Few days ago: got the server to start training a bunch of models (~200), with randomized parameters, using the original wordlist as the training data. (repo&#x2F;rnn&#x2F;rnn.py:forever)<p>Yesterday: woke up at 3 AM after my sleep schedule rolled around, started exploring the output of models trained to different numbers of epochs and run at different temperatures. Subjectively looked at the outputs, decided some model&#x2F;epoch&#x2F;temperature tuples were horrible, got rid of those. Wrote a few different scoring functions (just using intuition for what kinds of bad outputs seemed to be commonly occurring) to score the model&#x2F;epoch&#x2F;temperature tuples. Got the top ~10 scoring tuples from each scoring function, plus added some additional interesting ones along the way, and then used a pronunciation scoring function (repo&#x2F;rnn&#x2F;pronounce.py) to select the top 5 of all of these. Funny enough, the top 5 tuples all used different models and a varying range of temperatures (i.e, not the same model from different epochs, and picking the right temperature significantly improved how well the model performed) (repo&#x2F;rnn&#x2F;explore.py)<p>Since the models would still occasionally output words which were completely unpronounceable, I put some code on top of the models which would generate a bunch of words then discard the bottom 1&#x2F;3rd of unpronouncable words. A significant portion of generated words from these models also started with a &quot;c&quot; or &quot;b&quot; for some reason: gave those a high chance of being discarded. Short words were also uninteresting, and extremely long words would occasionally show up: added probabilistic filters for length. Finally, initialization time of LuaJIT is very high, so I had the server keep a pool of words which gets reseeded as it runs out. (repo&#x2F;rnn&#x2F;rnnserver.py)<p>If you want to train your own word generator and you need some pointers, would love to help: @shariq
评论 #10648342 未加载
gliese1337over 9 years ago
No &quot;about&quot; info? No &quot;how it works&quot;, &quot;how it was trained&quot;, etc.?<p>It <i>seems</i> to only generate words that match English phonotactics &amp; spelling conventions- things that <i>could be</i> English words. Can it be retargeted to other languages, or to arbitrary word-shape constraints?<p>I am particularly interested because I&#x27;ve recently undertaken a survey of word-generation software for conlangers (people who create artificial languages, like Quenya or Klingon or Na&#x27;vi), and while they do come in widely varying degrees of sophistication, with varying degrees of built-in linguistic knowledge, there are none yet publically available that are based on neural networks.
评论 #10646761 未加载
评论 #10647854 未加载
DanBCover 9 years ago
I got cacurine, which is less pleasant.<p>Is it really using recurrent neural networks, or is it using markov chains?
评论 #10647878 未加载
评论 #10646942 未加载
jgalt212over 9 years ago
I got carantil which is not great, but with a small tweak and it&#x27;s Carancil which is a perfectly good name for a new drug. Companies like Brand Institute charge good money for these services.
pizzaover 9 years ago
These are all pretty cool. What determines how it could &quot;improve&quot; generated words? Perhaps a larger, &quot;pleasant&quot;-words-only corpus?
评论 #10647879 未加载
namuolover 9 years ago
Is there source available for <a href="http:&#x2F;&#x2F;burgundy.io:8080&#x2F;" rel="nofollow">http:&#x2F;&#x2F;burgundy.io:8080&#x2F;</a> ?
评论 #10646768 未加载
argonautover 9 years ago
The results are indistinguishable from Markov chains. There&#x27;s really no need to use RNNs for everything...
评论 #10647008 未加载
评论 #10647713 未加载
throwaway24997over 9 years ago
I got &#x27;mingerrot&#x27; which isn&#x27;t beautiful at all - it sounds like some kind of unpleasant infection.
ogigover 9 years ago
Train it with some Tolkien appendixes and it could be a good RPG name generator.<p>Also, realworld usernames may be fun. You could make a twitter username generator or something.
gregw134over 9 years ago
Any ideas on how to generate startup names with a neural network?
评论 #10648854 未加载
jastantonover 9 years ago
Amamanus, any word with anus in it isn&#x27;t exactly pretty :)
评论 #10646479 未加载
smcnallyover 9 years ago
vermocharen -- certainly works in some contexts. A coffee roaster, e.g.<p>no small feat to get even marginally-euphoneous words from an open, available code base.<p>Next up came tintilu picolera fangon
seqizzover 9 years ago
Thanks for my new hostname generator.
评论 #10648437 未加载
abrknover 9 years ago
turdurine