def testRegroupOneSpeakerTwoUtterances_obeyingOriginalBoundary(self): utterances = ["would you like to", "sit down"] words = [("would", 1, 0.1, 0.2), ("you", 1, 0.2, 0.3), ("like", 1, 0.3, 0.4), ("to", 1, 0.5, 0.6), ("sit", 1, 1.6, 1.7), ("down", 1, 1.7, 1.8)] regrouped = audio_asr.regroup_utterances(utterances, words) self.assertEqual(regrouped, [("would you like to", 1, 0.1, 0.6), ("sit down", 1, 1.6, 1.8)])
def testRegroupThreeSpeakersOneUtterances(self): utterances = ["would you like to sit down no me neither"] words = [("would", 1, 0.1, 0.2), ("you", 1, 0.2, 0.3), ("like", 1, 0.3, 0.4), ("to", 1, 0.5, 0.6), ("sit", 1, 0.6, 0.7), ("down", 1, 0.7, 0.8), ("no", 2, 0.8, 0.9), ("me", 3, 0.9, 1.0), ("neither", 3, 1.0, 1.1)] regrouped = audio_asr.regroup_utterances(utterances, words) self.assertEqual(regrouped, [("would you like to sit down", 1, 0.1, 0.8), ("no", 2, 0.8, 0.9), ("me neither", 3, 0.9, 1.1)])
def testRegroupTwoSpeakersTwoUtterances(self): utterances = ["would you like to sit down no", "been sitting all day"] words = [("would", 1, 0.1, 0.2), ("you", 1, 0.2, 0.3), ("like", 1, 0.3, 0.4), ("to", 1, 0.5, 0.6), ("sit", 1, 0.6, 0.7), ("down", 1, 0.7, 0.8), ("no", 2, 0.8, 0.9), ("been", 2, 0.9, 1.0), ("sitting", 2, 1.0, 1.1), ("all", 2, 1.1, 1.2), ("day", 2, 1.2, 1.3)] regrouped = audio_asr.regroup_utterances(utterances, words) self.assertEqual(regrouped, [("would you like to sit down", 1, 0.1, 0.8), ("no been sitting all day", 2, 0.8, 1.3)])
def testMismatchInWordsRaisesValueError(self): utterances = ["would you like to sit down no", "been sitting all day "] words = [("would", 1, 0.1, 0.2), ("thou", 1, 0.2, 0.3)] with self.assertRaises(ValueError): audio_asr.regroup_utterances(utterances, words)
def testUnmatchedWordsRaisesValuError(self): utterances = ["would you like to", "sit down"] words = [("would", 1, 0.1, 0.2), ("you", 1, 0.2, 0.3)] with self.assertRaisesRegex(ValueError, r"Some words .* missing"): audio_asr.regroup_utterances(utterances, words)