Which words rhyme?
It’s pretty easy for a person to figure out when two words rhyme. We simply do it by instinct. There is, of course, an underlying rule that dictates when two words rhyme and when they don’t. We just aren’t conscious of this rule. What is easy for a person is, however, much more complicated for a computer: it must learn to rhyme from the ground up.
Prerequisite for a good rhyming tool
Actually, the rule deciding which words rhyme is not particularly complex: Two words rhyme when the stressed vowel and all following sounds are identical. It is nevertheless a challenge to get a machine to fulfill this seemingly simple task.
After all: how should the computer know how the words are pronounced? Where the emphasis lies? And what a sound actually is, let alone a vowel? In order to develop our rhyming tool, we taught the machine behind NameRobot to rhyme step by step.
For a rhyming tool, the following requirements are necessary:
A large database of words, in which resulting words can be compared to the initial word
- A theory of the pronunciation of words
Smart rules to find rhyme endings
The usual rhyming tools don’t work so subtly. They...
...compare the spelling of words.
...determine rhymes using simple rules.
...have many exception provisions to smooth out irregularities in spelling.
Some problems that exception provisions must intercept are:
‘Where’ and ‘care’ rhyme, although they end in ‘-ere’ and ‘-are’
‘Through’ and ‘cough’ don’t rhyme, although they both end in ‘-ough’
‘Fear’ and ‘pear’ don’t rhyme, although they both end in ‘-ear’
Why are exception provisions necessary?
1. One letter, multiple sounds
One grapheme, or letter, can represent various sounds depending on the context in which it stands. In English especially, the assigned sound is almost arbitrary.
A tip: This fact only fails to occur to us because we already know the words and have “learned them by heart.” On the other hand, we often don’t know how to pronounce unfamiliar words from another language. How do you pronounce the second vowel in the German word 'Akku' (= 'Baloo')? With which sound does the word ‘Kabarett’ end (= 'cigaret')?
2. One sound, several different letters
The same is true the other way around:
One sound can be represented by various letters (or combinations of letters). Especially when you hear an English word, you are still far from knowing how it is written.
An example from English:
- height
- shine
- die
- choir
- buy
- hyphen
- style
All these words contain the same sound—‘ay’—that can be represented orthographically in various ways: ei, i, ie, oi, uy, y. Sheesh!
Here lies the problem with conventional rhyming tools: All the necessary exception provisions are very error-prone. Every exception must ultimately be separately converted into a rule.
Our solution: A rhyming tool based on sound
We wanted to develop a rhyming tool that was based on the sounds actually used, rather than on the orthography. After all, rhymes aren’t interested in spelling—they’re only interested in pronunciation!
We define the pronunciation of the rhyme ending for every word in our comprehensive database. Now we must compare two rhyme endings to determine whether or not they are identical. The spelling of the words doesn’t interest us; we only pay attention to the pronunciation.
Additional feature: rhyme across languages
Because with our rhyming tool we don’t care about orthography anyway, we can even go a step further than other rhyme machines have so far: We rhyme across languages!
We had already found the rhyme endings for our words. Now we only had to be sure that English and German rhyme endings “understood one another.” The problem was that the sounds available in each language didn’t correspond one-to-one. We notate English pronunciation internally with 39 sounds, but German pronunciation, on the other hand, with 55.
Challenges in constructing an intelligent rhyming tool
The challenge was to compile a set of rules that would determine the pronunciation of countless words and subsequently compute the rhyme ending of each word. This trivial-seeming task brought us innumerable sleepless nights and drove coffee consumption in our offices to unforeseen heights.
But the work paid off: In a productive collaboration of language experts, computer linguists, and software developers, we taught our name finding machine the rules for the pronunciation of German and English words, as well as for the determination of rhyme endings.
In order to teach our algorithm to rhyme English words with German ones and the other way around, further intensive training and tests were necessary. In the end, 55 German sounds had to be mapped onto 39 English ones. Now we can rhyme, for example, ‘Smartphone’ with ‘Onlineredaktion’.
A quick tool!
Because we work off a foundation of pre-prepared rhyme endings, which we already have stored in our database, the rhyming goes quite fast:
When a user searches for a rhyme, hardly anything must be freshly computed, since all the relevant information lies prepared in our database. As every software developer knows, identity queries are carried out very quickly. And that is how the results are filtered out of our database of over 300,000 words in such a short time.
Of course, as a user, you don’t witness any of this. You just enter a word, such as ‘design,’ and receive results like ‘Wein,’ (German for "wine"), ‘shine,’ ‘Bahrain,’ ‘outline,’ and ‘sanguine.’ And the best thing is: this refined, phonetic rhyming tool is a part of the Wordshop—and therefore available free of charge in the demo-version. So register now and try it out.