Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
mind:identifying-rhymes [2016/04/26 17:03]
norkish [Identifying Rhymes]
mind:identifying-rhymes [2016/06/02 15:54] (current)
norkish
Line 7: Line 7:
  
 Really it's insufficient to consult some rhyming dictionary to see if two words match. It's going to require looking at the '''​phonemes'''​. Really it's insufficient to consult some rhyming dictionary to see if two words match. It's going to require looking at the '''​phonemes'''​.
 +
 +==Development log==
 +
 +I'm having a heck of a time figuring out how to identify rhyming words. Here's what I've tried:
 +* Aligning 2-3 syllables at the end of each line using MSA - this didn't work at all. In fact, everything I've tried that considered anything but the last syllable seemed to tank.
 +* Aligning phonemes for syllables - this worked a little better, but I had to divide by the max number of phonemes in the syllables I was aligning and only when considering the last syllable in each line
 +* Use stop words to filter out words that show up at the end of lines, but aren't really part of the lyrics (e.g., "​aw",​ "​oh",​ etc.)
 +* Next I'll try implementing Pat Pattison'​s rules and see how that works
  
 ==Literature Search== ==Literature Search==
Line 90: Line 98:
  
 '''​Additive''':​ go from shorter to match something longer(e.g.,​ cry->​smile) - more stable '''​Additive''':​ go from shorter to match something longer(e.g.,​ cry->​smile) - more stable
-'''​Sutractive''':​ go from longer to match something shorter (e.g., smile->​cry) - less stable+'''​Subtractive''':​ go from longer to match something shorter (e.g., smile->​cry) - less stable
  
 ====Assonance Rhyme==== ====Assonance Rhyme====
Line 119: Line 127:
  
 friend and wind are close than friend and wound (i.e., there are some vowel sounds that are closer than others) friend and wind are close than friend and wound (i.e., there are some vowel sounds that are closer than others)
 +
 +===Hirjee and Brown, 2009===
 +The study uses local alignment protein homology detection algorithms and a BLOSUM-like scoring matrix to align rap lyrics (as sequences of syllables) to find rhymes. The matrix scores are computed based on frequencies of matching syllables and random syllables. The results are much better than the "​minimal mismatch of articulatory features and Knodrak alignment metrics",​ but no detail is provided about these approaches (see Kondrak, "A New Algorithm for the Alignment of Phonetic Sequences",​ 2000).
 +
 +The dataset they created may be helpful for validation purposes, though it is all rap.
 +
 +Other references of note were:
 +
 +* Kawahara'​s "Half rhymes in Japanese rap lyrics and knowledge of similarity",​ 2007.
 +* Holtman'​s PhD developing a taxonomy of articulated sounds ("A Generative Theory of Rhyme: An Optimality Approach",​ 1996)
 +* Three papers about extracting song topic, theme, or mood:
 +** "​Keyword Generation for Lyrics"​ (Wei, 2007)
 +** "Oh... Towards Automatic Topic Detection in Song Lyrics"​ (Kleedorfer,​ 2008)
 +** "​Hyperlinking Lyrics: A Method for Creating Hyperlinks Between Phrases in Song Lyrics"​ (Fujihara, 2008)
 +
 +====My Thoughts====
 +The general approach is very close to what I was considering. Need to look more closely at what makes the BLOSUM matrix (w/ negative values) different from NW. There are a few options:
 +* Use this approach and cite it
 +* Build on this approach and compare against it:
 +** Try ignoring consonants all-together and just use vowels
 +** Recalculate the scoring matrices for rhymes found in pop songs
 +
 +The problem here, of course, is finding a dataset against which to validate. But easy enough to create one by hand.
 +
 +===Seuss===
 +Rhyming [[https://​github.com/​capnrefsmmat/​seuss|robot project]] in python. Uses a dictionary.
 +
 +===Rhyme Genie===
 +Commercial [[software package|http://​www.rhymegenie.com/​index.html]] that does dynamic rhyming from 30 different types of rhymes. Costs moula.
 +
 +===rhyme-detect===
 +A [[https://​github.com/​kevin-brown/​rhyme-detect|python package]] that computes how closely two lines rhyme. Looks good except that it only counts exact matches of phonemes (no alignment). But it does consider emphasis. Utilizes NLTK
mind/identifying-rhymes.1461711830.txt.gz ยท Last modified: 2016/04/26 17:03 by norkish
Back to top
CC Attribution-Share Alike 4.0 International
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0