Voice-based writing help with the RhymeZone app for Alexa

If you own an Amazon Echo or another Alexa device such as a Fire TV, try out the new Alexa skill for RhymeZone!

This skill lets you find words from the comfort of your couch by shouting out a command.  You can say things like "Find words related to dog" or "Give me a 6-letter word for penguin" or "Find rhymes for cheese" or "Find adjectives for strawberry" and get back a rapid-fire list of matches.

This is useful when you're in the midst of writing and you don't want to interrupt your typing or handwriting flow to look for alternate words in your favorite Web-based or tree-based reference tool.  Out of the box Alexa already lets you ask for word definitions, but the RhymeZone skill gives you several more options: You can ask for "rhymes", "related words", "synonyms", and "adjectives".

These options are mostly self-explanatory, except for "adjectives". "Adjectives" uses the new "descriptive words" feature on RhymeZone to give you words that commonly modify a given noun.  The "strawberry" example above will give you choices like "wild", "luscious", "juicy", "fragrant", and dozens more.

You can qualify any query with a starting letter.  For example, saying "Find words related to dog that start with 'P'" will give you such words as "pug", "poodle", "paw", "pet", "pound", and "Pavlov". You also can add a restriction on the length of the word, as in the 6-letter penguin example above, which returns "gentoo", "adelie", and a few others.  These two features might be useful for getting help with crossword puzzle clues — use them at your own risk, since you're only cheating yourself!

For all of the supported query types, the answers that come back are ordered by how popular they are.  Since some queries produce a lot of answers, Alexa will recite them 10 at a time and give you the option of flipping through the results by saying "continue" after each set of 10.

To install the RhymeZone skill on your Alexa device, enable it from this this page.  (If that doesn't work, see more detailed instructions from Amazon here.)   Enjoy!


Thanks to Norbert Burger for suggesting the skill, and for guidance on publishing Alexa skills.

RhymeZone Turns 20 (with updates aplenty)

rz6_large 1png

This week RhymeZone, the rhyming dictionary and thesaurus website, turns 20 years old!  To celebrate, there are several new features to announce.

Some history: I created the “Semantic Rhyming Dictionary” while a student back in 1996, renaming it as the more euphonious "RhymeZone" in 2000. Since then the site has answered billions of search queries from tens of millions of creative people around the English-speaking world: songwriters, copywriters, poets, pranksters, puzzle solvers, and more. It's been the subject of jokes, songs, and copious praise (and some parody, too).  While no reference tool can match the power of the human imagination, my hope is that RhymeZone can assist and augment. Think of it as a colorful companion on your writing excursions.

20 years on, RhymeZone is still a work in progress. While I've made occasional tweaks to the site over the years, I’ve only recently started to invest in more substantial improvements. In this post I'd like to highlight the 7 recent developments I'm most excited about.


1. Lyrics and poems

Alongside your rhymes, RhymeZone now shows you excerpts of poetry and song lyrics that illustrate how your word has been used in rhymes by well-known poets and musicians.

Depending on your writing goal, this new feature can be useful for harvesting more ideas for your work, for steering clear of well-worn rhymes, or for meditating on all the imaginative ways that a topic has been treated in existing music and poetry.

By design, the examples span myriad genres — musical theater, hip hop, pop music, nursery rhymes, classical poetry, and Shakespeare, to name a few.  More than a million songs and poems have been scanned from the Web, and the verses are selected and sorted for each query to prioritize diversity and notability.

Here's how it works on your side of the screen. When you do a normal RhymeZone search for a word such as "beach," a verse will appear in a green box like the one below:

Screenshot 2016-01-25 084803png

You can flip through up to 200 examples by clicking the “↻” icon, or see them all on one page by clicking on the "200 examples" link.  (You can also get to this page using the "Show poetry and lyrics" dropdown option that appears on the desktop website, or by clicking on the "Lyrics and poems" link that appears the top of any search results page.)

On the lyrics page for “beach” you'll see this Longfellow verse together with a wide range of strange bedfellows:  verses from Lewis Carroll, Bob Dylan, U2, the Ramones, Iron Maiden, Gorillaz, and dozens more.  Click a title to visit the most authoritative page about the work (according to Google's "I'm Feeling Lucky" feature), often a music video, Wikipedia article, or the artist’s own page.

You'll notice that the majority of these "beach" verses (142 out of 200, or 71%, to be precise) pair it with the word "reach."  This means if you're aiming to be less predictable in your songwriting you might look beyond "reach."  Fortunately many other choices are within, er, reach, and you can see them by clicking on the grey dropdown box that says "Filter by rhyme...":

Screenshot 2016-01-25 084926png

Here you can narrow down the list to the ones that use some of the less-typical rhymes like “peach” and “teach.”  For example there's Syleena Johnson's pithy (but not pitty) couplet from More: "Like sand to a beach / The sweet to a peach."

Of course, you can see hundreds of other rhyming words for “beach” on the regular RhymeZone search results page where you started, though not all will have as many good example verses.  Like “pleach," a verb that means to intertwine, or “medicinal leech.”  There’s surely a song in that!

The lyrics feature is also good at revealing imaginative multi-word rhymes (sometimes called broken rhymes) as well as near rhymes that match the target word imperfectly.   For example, the word "nocturne" (a sad piano piece) has no perfect single-word rhymes, but Stephen Sondheim paired it cleverly in A Little Night Music:

Screenshot 2016-01-25 085034png

And then there's my favorite rhyme in musical theater, from Stephen Schwartz's Pippin, which comes up when you search for "massacre":

Screenshot 2016-01-27 213415png

The system finds rhymes even when they’re hiding in front of a common final word, as in this couplet that comes up for “shake”:

Screenshot 2016-01-27 214153png

Not to mention internal rhyme, where two or more rhymes are confined within the same line.  For example, in the results for “missing”:

Screenshot 2016-01-27 213814png



2. Near rhymes and broken rhymes

Rhyme is a candy sampler of many rich flavors. True or perfect single-word rhyme was the only flavor offered by RhymeZone for a long time, but in recent years I've gradually added more kinds of near rhymes (also called oblique or false or slant or imperfect rhymes) to the search results.  These near misses, useful in some contexts but not others, are given their own section titled “Words and phrases that almost rhyme."  They’re also available from the tab labeled “Near rhymes”:

Screenshot 2016-01-25 222600png


Let’s look at a few examples of near rhymes in the wild:

  • “Highness” doesn’t rhyme with “finest” in the strictest sense — the final consonant sounds don’t match — but in many contexts it’s a delightful pair, such as in a Danny Elfman song from Corpse Bride:  “Rubbing elbows with the finest / Having crumpets with her highness."  

  • Similarly, “forest” and “chorus” aren’t perfect rhymes for the same reason, but they pair well together because the two concepts co-exist well in nature, as in Cactus Tree by Joni Mitchell:  “He has missed her in the forest / While he showed her all the flowers / and the branches sang the chorus...."

  • Would it seem suspicious to rhyme "dishes" with “delicious”?  The words sound alike but have slightly different endings (the “s” is delicious is voiceless, while the final “s” in dishes is voiced), so they’re technically imperfect rhymes.  But it’s close enough that even pure-rhyme Sondheim used it in A Funny Thing Happened on the Way to the Forum:  “Wouldn’t she be delicious / Tidying up the dishes”.   (It should be noted that he was sheepish enough about this choice to point out the imperfection in a footnote in Finishing the Hat.)  

  • By contrast, “calling” and “morning” seem very weak as potential rhymes when they’re pronounced in isolation — the stressed syllables are totally different.  But listen to Kendrick Lamar’s intro to HiiiPower (“The sky is falling, the wind is calling / Stand for something, or die in the morning”) before passing judgment:  it works.  

In all these cases you can see how much the context matters. What makes near rhymes hard from RhymeZone’s perspective is that there are often thousands of possibilities that might work, but most of them are junky. If RhymeZone printed out all of the words that sound as far-off as “morning” when someone searches for “calling," it would take the user hours to read through the results.  So it’s not enough merely to apply purely phonetic rules. To decide which near rhymes are sensible together, RhymeZone now uses several other data sources as well:  song lyrics, word sequence frequencies (from Google Books Ngrams), and the search activity on RhymeZone itself going back more than a decade.

The same thinking applies to multi-word (broken) rhymes, even when there’s a perfect match.  For example, let’s return to Sondheim’s nocturne / clock turn rhyme from earlier in this post.  RhymeZone spits out “clock turn” and “lock turn” and “rock turn” and a couple others when you search for “nocturne,” but it avoids suggesting meaningless phrases like “spock tern” or “glock stern” or “smock spurn” since it has data about which word combinations are plausible.

For some words RhymeZone still does suggest a fair degree of nonsense, and it fails to find good matches for others.  For instance, when you search for “personable,” it fails to find Sondheim’s masterful “coercin’ a bull."  The highest priority for RhymeZone is to increase the breadth and accuracy of these near rhymes and broken rhymes, since they’re crucial to so many songwriters. 


3. Filter by meaning

Many words have hundreds or even thousands of reasonable rhymes, even when you only count the "perfect" ones.  In such cases it can be helpful to narrow down your choices by meaning, because you usually have some idea of the kind of word you're looking for.

When many words rhyme, RhymeZone will now show you a little grey box at the top right of the results section that looks like this:

Screenshot 2016-01-25 085355png

If you click it and type a topic, RhymeZone will do its best to filter the rhymes and highlight the words it thinks are related to the topic.

Suppose you're Samuel Taylor Coleridge writing the famous unfinished narrative poem Christabel but you're stuck on the final words of two lines:

She stole along, she nothing spoke,

The sighs she heaved were soft and low,

And naught was green upon the [ ? ]

But moss and rarest [ ? ]


Here Coleridge needs a rhyme for "spoke" that means some kind of tree, and he needs a rhyme for "low" that means something related to plants.  If you don't already know the poem, can you guess what he chose?

Search for rhymes of "spoke" and then enter "tree" into the box, and RhymeZone will highlight the winner, "oak," and many varieties thereof.

Screenshot 2016-01-25 085306png

Similarly, a rhyme for "low" that means something related to plants?  You'll get such words as "grow," "aloe," and Coleridge’s choice, "mistletoe."


4. Descriptive words

Another recent addition to RhymeZone is the tab called "Descriptive words," which lists adjectives that are well-suited for a given noun, and nouns that are well-suited for a given adjective.  This is particularly useful for adding imagery to your writing.  

For example, suppose you’re trying to describe mistletoe dramatically, as Coleridge was in Christabel.  What are some adjectives that occur to you?  “Green” and “leafy” occur to me.   These adjectives are relevant to mistletoe but might be too plain for your needs.  Using this new RhymeZone feature you can tap the collective wisdom of humankind to get some more refined ideas:

Screenshot 2016-01-25 173630png

You'll find Coleridge’s “rarest” is there in the list, as well as some other positively charged adjectives like “mystic” and “hallowed” and “holy."  If you were writing a horror story you might prefer “baleful” or “accursed” or “withered."   (“Baleful," by the way, is probably on the list because of Shakespeare’s characterization of mistletoe in Titus Andronicus.)

You can go in the other direction, too — that is, you can find the nouns that are popularly described by a certain adjective. For example, what things are described as leafy?   Here's what:

Screenshot 2016-01-25 173716png

This feature gets its smarts from the Google Books Ngrams data, a publicly available  analysis of millions of English-language books written over the past few hundred years.


5. Smart Suggest

As you're entering a word into the RhymeZone search box you'll see a familiar "autocomplete" dropdown that shows you our best guesses as to what you're starting to type.  This will save you from having to type out the entire word, which is particularly timesaving when you're on a mobile device or unsure of the spelling of the word.

Autocomplete and autocorrect are nothing new, but I'd like call attention to some features of RhymeZone's autocomplete that make it particularly useful for writing.  For one thing, it's very resilient to typos.  For another, it has a couple of fun shortcuts. If you type a word or phrase followed by a question mark ("?"), the autocomplete box will show you terms contextually related to that word or phrase.  This can be a good way to explore alternative directions in your poetry or prose.  For example, suppose you're writing a poem about sitting in front of a crackling fire on on a winter evening, and you want to bring some chimney imagery into the picture.  Type "chimney?" and you'll get words like "soot," "flue," and "sweep" in the box.

Screenshot 2016-01-25 085533png

You can also use the asterisk ("*") symbol in the search box to act as a placeholder for any number of letters.   If you type "*nace," for example, you'll see a list of words that end in "nace" like "menace" and "furnace." Or if you're looking for words that start with "a" and end in "ation," type "a*ation" to get choices like "aspiration," "alliteration," and "accommodation."  (This is particularly useful for generating candidates for, well, alliteration — repetition of the starting sounds in a sequence of words.)

By the way, it's a passion of mine to get autocomplete working well on search engines of all kinds, especially on dictionary-oriented sites. If you own or know of a site where this might be helpful, point them to this service.  Also, I can't possibly discuss the topic of autocomplete without referencing this excellent webcomic (note: not safe for most workplaces).  


6. API

“Developers! / Developers! / Developers! / Developers!” goes a famous quatrain by an ancient master of identity rhyme, Steve Ballmer.  Over the years we've gotten hundreds of requests from developers wanting to use rhymes and synonyms and such in their websites or mobile apps. It's not hard to create your own basic rhyming dictionary and it's a good programming exercise to do so, but many of the features in RhymeZone (such as the near rhymes and the "meaning" filtering described above) depend upon a large amount of server-side data that you may not want to reproduce on your end.

If you're a developer you may may be interested in the JSON API we recently added.  This API gives programmatic access to most of the functionality of both RhymeZone and its button-down sister site, OneLook, and lets you mash up the data in interesting ways.  You can use it in your apps without restriction for up to 100,000 queries per day.

If you’re interested, check out the complete docs here.


7. Poetry prize

Finally, Datamuse is happy to announce that the 2016 RhymeZone Poetry Prize is now underway.  This year's contest encourages people of all skill levels to write poems on the theme of Community.

The RhymeZone Poetry Prize is somewhat unusual for a writing contest in that there are no strings attached: There are no entry fees or restrictions of any kind other than legal eligibility requirements.  Submissions are posted publicly to the RhymeZone Forum community, where fellow authors can read and critique your work.  And you don't have to rhyme!

Last year’s contest was a great success with more than 3000 authors contributing poems.  We look forward to lots more thought-provoking verse this year.  

The deadline to is April 12, the middle of National Poetry Month in the U.S. and Canada (when we plan to have some more RhymeZone updates to report.)  See this page for the complete rules and guidelines.


Thank you!

Special thanks go to Harvey Beeferman, Castedo Ellerman, Fritz Holznagel, John Knowles, Linus Wong, Vitus Wong, and many others who have contributed to making and moderating RhymeZone, the RhymeZone mobile apps, RhymeZone Forum, and the Poetry Prize over the years.   And thank you, gentle readers and rhymers, for your two decades of support and feedback!  

That’s it for now!   See you in April.

Doug Beeferman


Announcing the Datamuse API

The first version of the Datamuse API is now generally available and free for everyone to use!   See http://www.datamuse.com/api/ for more info, including complete docs and examples.

If you're a developer interested in adding some kind of word search feature to your app, you might find the API useful.  It's already been used in two assistive writing tools, a few search boxes (for intelligent autocomplete), and word games.  It also powers key parts of RhymeZone and OneLook.   

Over the past 20 years we've received hundreds of requests for some kind of programmatic access to the data behind our sites from developers eager to make their own writing-oriented apps.  This API finally gives you access to this data, and much more.  We're excited to see what else people create with this service, and we look forward to adding more apps of our own in the near future. 

Results of the RhymeZone 2014-2015 Poetry Prize

In March we announced the 10 winners of the first RhymeZone poetry prize, as well as 8 honorable mentions.   Please visit http://www.rhymezone.com/contest/ for all the details.   Also, check out this article in the Salem Statesman Journal describing one of the winners.

The Poetry Prize was a great success and we look forward to making it a regular event.  Stay tuned later this year for more information on the next contest.

Announcing the 2014-2015 RhymeZone Poetry Prize

RhymeZone will make unconditional grants totaling $5,000 to 10 authors of thought-provoking poetry in the United States or Canada!

The submission deadline is Sunday, February 1, 2015 and winners will be announced on Sunday, March 1, 2015. 

Why a poetry prize? It's our way of saying thank you to the poetry community which has been so supportive of RhymeZone over the years — and also a way to encourage the writing of more great verse. And we also just think it will be fun.

Please see http://www.rhymezone.con/contest for more information about how to enter, including contest rules and guidelines. 

Finding Topeka: OneLook adds part-of-speech filtering

OneLook is proud to announce the arrival of a much-requested feature: filtering by nouns, adjectives, verbs and other parts of speech.

OneLook is a power tool for finding and learning about English words. For the past 18 years we've served scholars, writers, medical transcriptionists, crossword puzzle enthusiasts, language learners, and marketing professionals around the world.  We started as a “meta-dictionary”, a place to find all the different definitions of a word on dictionaries and glossaries across the Web with just one lookup -- hence the name.   

There were relatively few online dictionaries back in 1996, but these days OneLook indexes more than a thousand of them, including nearly 20 million definitions of more than 9 million unique words and phrases in the English language.   

Wildcard features

Sometimes you don’t know the word you want; or you’re looking for a variation of a word or phrase or letter sequence that you do know; or you know part of the word you’re looking for, but can’t remember the whole. Over the years we've added “wildcard” and “reverse dictionary” features to OneLook to address these needs, including a query syntax that lets you find words quickly from OneLook’s large vocabulary.  

The example searches on the homepage show you how to use the basic wildcard features.   Unique on the Web for their flexibility and speed, these features have become the most frequently used function of OneLook, especially as other sites (like Google) now handle regular “forward” dictionary lookups more comprehensively.

Searching for a few good words

With so many sources indexed by OneLook, a lot of wildcard searches produce too many results to be useful. For example, can you think of some words that begin with the letters “abst”?    I bet “abstain” and “abstract” come to mind, and maybe a couple others. OneLook finds a whopping 494 such words and phrases across all of the dictionaries it indexes. You can see them by doing a search for “abst*”. You’ll find “Abstergo Industries”, a fictional megacorporation in a videogame, as well as “abstravagant”, a neologism meaning “weirdly great” that appears only on UrbanDictionary, and “abstergent”, an old-timey word for cleaning.

No offense to Abstergo Industries, but if you’re on the hunt for just a simple word -- for a product name, crossword puzzle, or wedding toast, say -- then most of these 494 results are not useful.

That's why a long time ago we added filtering by “commonness” to help in these situations.    A yellow box like this one shows up after you do a wildcard search:

                      

If you click on the far right option (“Common words”), the list will be winnowed down to the subset of words that are considered “common”, which means they are found in a lot of different dictionaries on OneLook. There are only 30 such results for “abst*”. (Did you miss “abstruse”?)

New feature:  Filtering by part of speech

Still, 30 is a lot.  What if you know you’re looking for an adjective?  A new feature on OneLook lets you filter words by part of speech.  “Part of speech” refers to the broad syntactic category of a word.   You may know parts of speech by their street names: noun, adjective, verb, and so forth. The new filtering option appears right below the “filter by commonness” option.  It looks like this:

                      

If you click on “adjectives” your results will be further restricted to the subset of words that are known to be adjectives.  In the case of “abst*”, that leaves you with 8 choices, a manageable number to read through.

Suppose you’re looking for a place name that has 6 letters, starts with “t”, and ends in “a”?   This might be the case if, like me, you’re stumped on today’s New York Times crossword puzzle (24 across on the puzzle for January 5, 2014).   Filtering for such words gives you a handful of choices, among them the correct answer (spoiler alert!): “Topeka”.

Tips for effective part-of-speech filtering

  • Instead of clicking in the yellow box, you can access this feature by simply typing “:adjective”, “:noun”, “:verb”, or “:adverb” after your query, e.g. in a search for “abst*:adjective”.

  • For nouns, this feature makes a distinction between common nouns (such as giraffe) and proper names (such as Abraham Lincoln or Topeka), because you’re usually only looking for one or the other.   As a general rule, if you think the word you’re looking for would start with a capital letter if it were printed out in the middle of a sentence, choose “proper names”, otherwise choose “common nouns”.

  • Adverbs are an odd part of speech since they encompass several different kinds of qualifying words, so you may get some surprises.   If you’re a native English speaker, then in grade school you may have learned that adverbs always end in “ly”.  By now you know that’s not true -- that is, assuming you’re not in grade school any longer.     For example, if you scan the adverbs that begin with “a” in this list  you’ll find such terms as  “aboveboard” and “ad hoc,” which are, like “quickly,” valid ways to do things.  And there are 114 common nouns that do end in “ly”!

  • You may know that OneLook offers a reverse dictionary service that allows you to search for words by meaning. In addition to filtering “raw” wildcard searches, you can also filter reverse dictionary search results by part of speech. For example, a typical reverse dictionary search is “a*:love”, which asks for words that start with “a” and have a meaning related to “love”.   If you filter this result for verbs, “adore” will show up first in the results;  if you filter for adjectives, “amorous” will show up first;  and if you filter for nouns, “affection” will show up first.

  • Sometimes a word form can belong to multiple parts of speech; for example, “vacuum” is listed as both a noun and a verb. Can you think of a word that can be a noun, verb, adjective, or adverb? (Well, can you?)

Room for improvement

Purists will note that not every part of speech is available as a filtering option. Pronouns, prepositions, conjunctions, and interjections -- so-called “closed class” words -- aren’t so interesting because there are relatively few of them, and so they are not included in the filtering interface.

You’ll occasionally find errors in the new part-of-speech filtering feature.  In particular, proper names are not always recognized as such and are sometimes lumped in with common nouns.   Also, the reverse dictionary has some trouble with filtering polysemous words -- that is, words which have multiple senses, like "refuse."  You’ll notice on this page that we’ve asked for verbs related to "garbage" that begin with “ref*”, but, while the noun form of "refuse" is appropriate for this query, the verb form is not.   These glitches will be addressed over time.

Since we introduced wildcard matching a decade ago, OneLook users have requested part-of-speech filtering more than any other new feature.   We hope this change begins to address this need.  Please send us feedback if you have any comments about this feature or any other feature requests.