title: What algorithms could be used for the matching/pairing of word lists?
body: <p>I'm working on some C# code to automate mapping of audio to text using the Google Speech-to-Text API for a language-study tool. I have a list of words parsed from the human-written source (transcript), also with sentence break information. I have a list of words with time stamps from the call to the Google API, which doesn't have sentence break information. I wish to find the words that match in order, such that I can determine time stamps for the sentence starting and ending points.</p>
  <p>Because this is for multiple languages (some 60+), and because the text uses many archaic words which the Google API doesn't yet understand (I'm hoping their new enhanced mode will come soon for non-English languages), as well as there being certain things rendered differently in speech, this needs to be kind of a fuzzy matching mechanism.</p>
  <p>I actually don't need to match all the words. As long as each sentence has a fair number of matching words, I can probably use those words as anchors and then look for the longest silence gap in the audio and consider it a sentence break.  But I'm having trouble coming up with even this basic word matching algorithm.  I think that knowing the sentence breaks in the source text should help. One problem is that there may be words in later text following a sentence that match which can throw everything off. so I need the best in-order matches.</p>
  <p>Could someone point me to some code or algorithm details?</p>