Intro to rhymer

Noah Landesberg

2017-12-18

Welcome to rhymer, an R package for getting rhyming and other related words through the Datamuse API. I highly recommend reading through the Datamuse API website before getting started.

Main functions

rhymer has 4 main functions that allow you to get data on related words through the Datamuse API.

They are:

There is also a more flexible function get_other_related() that allows you to use the API to get data on other related words using a series of ‘codes’ described on the Datamuse API website.

Each function is default limited to return a maximum of 10 results, but can return more. Functions also default to return a dataframe with a row for each word, and an associated score. Different functions will return slightly different additional columns if returning a dataframe.

library(rhymer)

get_rhyme()

This function was the initial inspiration behind this package. It makes the work of finding rhyming words easy. In the background, it is referencing the CMU Pronouncing Dictionary. At it’s simplest, you can pass in a word and get_rhyme() will return a dataframe of rhyming words. For example:

get_rhyme("test")
##        word score numSyllables
## 1  manifest  2816            3
## 2      best  2526            1
## 3   request  2180            2
## 4      rest  2171            1
## 5   suggest  1867            2
## 6     quest  1730            1
## 7    attest  1663            2
## 8     crest  1618            1
## 9      lest  1543            1
## 10  contest  1511            2

The function has some additional arguments that you can use to specify the rhyme.

You can specify the number of syllables returned using num_syl:

get_rhyme("test", num_syl = 2)
##       word score numSyllables
## 3  request  2180            2
## 5  suggest  1867            2
## 7   attest  1663            2
## 10 contest  1511            2
## 13  behest  1375            2
## 16  arrest  1314            2
## 18 abreast  1231            2
## 19 protest  1158            2
## 20  invest  1154            2
## 22  divest  1147            2

You can specify the type of data returned using return_type:

# "df" returns a single dataframe (which is the default behavior).
get_rhyme("test", return_type = "df")
##        word score numSyllables
## 1  manifest  2816            3
## 2      best  2526            1
## 3   request  2180            2
## 4      rest  2171            1
## 5   suggest  1867            2
## 6     quest  1730            1
## 7    attest  1663            2
## 8     crest  1618            1
## 9      lest  1543            1
## 10  contest  1511            2
# "word" returns the type rhyme in the form of a single word vector.
get_rhyme("test", return_type = "word")
## [1] "manifest"
# "random_word" or "rand" returns a single, random word.
get_rhyme("test", return_type = "random_word")
## [1] "request"
# "vector" returns a vector of words.
get_rhyme("test", return_type = "vector")
##  [1] "manifest" "best"     "request"  "rest"     "suggest"  "quest"   
##  [7] "attest"   "crest"    "lest"     "contest"

You can also specify the number of words returned (defaults to 10 so as to not kill the API) using limit:

get_rhyme("test", limit = 5)
##       word score numSyllables
## 1 manifest  2816            3
## 2     best  2526            1
## 3  request  2180            2
## 4     rest  2171            1
## 5  suggest  1867            2

get_means_like()

In the background, this function works by referencing WordNet and other online dictionaries. It has the same arguments as get_rhyme() for limiting the number of results (limit) and for what data structure to return (return_type). It also returns additional information about the part of speech returned.

get_means_like("test")
##            word score     tags
## 1          exam 43232   syn, n
## 2   examination 39586   syn, n
## 3          quiz 38031   syn, n
## 4  experimental 37252 syn, adj
## 5         prove 36990   syn, v
## 6         assay 36775   syn, n
## 7         check 36523   syn, n
## 8         trial 35949   syn, n
## 9         pilot 34163   syn, n
## 10      examine 34091   syn, v

get_sounds_like()

In the background, this function works by referencing referencing the CMU Pronouncing Dictionary. It has the same arguments as get_rhyme() for limiting the number of results (limit), for what data structure to return (return_type), and for the number of syllables to limit to (num_syl).

get_sounds_like("test", num_syl = 2)
##      word score numSyllables
## 19 attest    90            2
## 20  testy    90            2
## 21 tester    90            2
## 22  tessa    90            2
## 24 testes    90            2
## 28  testa    90            2
## 31 tessie    90            2
## 32 testee    90            2
## 33  testi    90            2
## 34   tesa    90            2

get_spelled_like()

This function has the same arguments as get_rhyme() for limiting the number of results (limit) and for what data structure to return (return_type).

get_spelled_like("test")
##   word score
## 1 test  6663