At the moment, the rhyme function compares whether the final two syllables from the CMU dictionary are equal. This works for the majority of words, but many cause problems. For instance:
fire -> [[u'F', u'AY1', u'ER0'], [u'F', u'AY1', u'R']]
admire -> [[u'AE0', u'D', u'M', u'AY1', u'R']]
desire -> [[u'D', u'IH0', u'Z', u'AY1', u'ER0']]
Fire matches both admire and desire, but admire doesn't rhyme with desire...
Furthermore, for two syllable words, checking only the last syllable would probably improve things.
At the moment, the rhyme function compares whether the final two syllables from the CMU dictionary are equal. This works for the majority of words, but many cause problems. For instance:
fire ->
[[u'F', u'AY1', u'ER0'], [u'F', u'AY1', u'R']]admire ->
[[u'AE0', u'D', u'M', u'AY1', u'R']]desire ->
[[u'D', u'IH0', u'Z', u'AY1', u'ER0']]Fire matches both admire and desire, but admire doesn't rhyme with desire...
Furthermore, for two syllable words, checking only the last syllable would probably improve things.