title: Machine learning algorithm for data classification.
body: <p>I'm looking for some guidance about which techniques/algorithms I should research to solve the following problem.  I've currently got an algorithm that clusters similar-sounding mp3s using acoustic fingerprinting.  In each cluster, I have all the different metadata (song/artist/album) for each file.  For that cluster, I'd like to pick the "best" song/artist/album metadata that matches an existing row in my database, or if there is no best match, decide to insert a new row.</p>
  
  <p>For a cluster, there is generally some correct metadata, but individual files have many types of problems:</p>
  
  <ul>
  <li>Artist/songs are completely misnamed, or just slightly mispelled</li>
  <li>the artist/song/album is missing, but the rest of the information is there</li>
  <li>the song is actually a live recording, but only some of the files in the cluster are labeled as such.  </li>
  <li>there may be very little metadata, in some cases just the file name, which might be artist - song.mp3, or artist - album - song.mp3, or another variation</li>
  </ul>
  
  <p>A simple voting algorithm works fairly well, but I'd like to have something I can train on a large set of data that might pick up more nuances than what I've got right now.  Any links to papers or similar projects would be greatly appreciated.</p>
  
  <p>Thanks!</p>