Dynamic Time Warping (DTW) for Single Word and Sentence Recognizers Reference: Huang et al. Chapter 8.2.1; Waibel/Lee, Chapter 4

Similar documents
Learning Methods in Multilingual Speech Recognition

Design Of An Automatic Speaker Recognition System Using MFCC, Vector Quantization And LBG Algorithm

AUTOMATIC DETECTION OF PROLONGED FRICATIVE PHONEMES WITH THE HIDDEN MARKOV MODELS APPROACH 1. INTRODUCTION

Speech Segmentation Using Probabilistic Phonetic Feature Hierarchy and Support Vector Machines

Python Machine Learning

Automatic Pronunciation Checker

Speech Recognition at ICSI: Broadcast News and beyond

Lecture 1: Machine Learning Basics

(Sub)Gradient Descent

Class-Discriminative Weighted Distortion Measure for VQ-Based Speaker Identification

Module 12. Machine Learning. Version 2 CSE IIT, Kharagpur

Analysis of Emotion Recognition System through Speech Signal Using KNN & GMM Classifier

Speaker recognition using universal background model on YOHO database

Modeling function word errors in DNN-HMM based LVCSR systems

A Comparison of DHMM and DTW for Isolated Digits Recognition System of Arabic Language

OCR for Arabic using SIFT Descriptors With Online Failure Prediction

Generative models and adversarial training

Machine Learning and Data Mining. Ensembles of Learners. Prof. Alexander Ihler

Modeling function word errors in DNN-HMM based LVCSR systems

An Online Handwriting Recognition System For Turkish

Speech Recognition using Acoustic Landmarks and Binary Phonetic Feature Classifiers

Human Emotion Recognition From Speech

WHEN THERE IS A mismatch between the acoustic

Speech Recognition by Indexing and Sequencing

Mandarin Lexical Tone Recognition: The Gating Paradigm

Semi-Supervised GMM and DNN Acoustic Model Training with Multi-system Combination and Confidence Re-calibration

CS Machine Learning

Unsupervised Acoustic Model Training for Simultaneous Lecture Translation in Incremental and Batch Mode

IEEE TRANSACTIONS ON AUDIO, SPEECH, AND LANGUAGE PROCESSING, VOL. 17, NO. 3, MARCH

Automatic Speaker Recognition: Modelling, Feature Extraction and Effects of Clinical Environment

Probabilistic Latent Semantic Analysis

Calibration of Confidence Measures in Speech Recognition

Likelihood-Maximizing Beamforming for Robust Hands-Free Speech Recognition

A Neural Network GUI Tested on Text-To-Phoneme Mapping

Probability and Statistics Curriculum Pacing Guide

BAUM-WELCH TRAINING FOR SEGMENT-BASED SPEECH RECOGNITION. Han Shu, I. Lee Hetherington, and James Glass

Artificial Neural Networks written examination

Analysis of Speech Recognition Models for Real Time Captioning and Post Lecture Transcription

CSL465/603 - Machine Learning

A study of speaker adaptation for DNN-based speech synthesis

STA 225: Introductory Statistics (CT)

Software Maintenance

Speech Emotion Recognition Using Support Vector Machine

BUILDING CONTEXT-DEPENDENT DNN ACOUSTIC MODELS USING KULLBACK-LEIBLER DIVERGENCE-BASED STATE TYING

Unvoiced Landmark Detection for Segment-based Mandarin Continuous Speech Recognition

have to be modeled) or isolated words. Output of the system is a grapheme-tophoneme conversion system which takes as its input the spelling of words,

Phonetic- and Speaker-Discriminant Features for Speaker Recognition. Research Project

QuickStroke: An Incremental On-line Chinese Handwriting Recognition System

The Good Judgment Project: A large scale test of different methods of combining expert predictions

Eli Yamamoto, Satoshi Nakamura, Kiyohiro Shikano. Graduate School of Information Science, Nara Institute of Science & Technology

Large vocabulary off-line handwriting recognition: A survey

Voice conversion through vector quantization

Non intrusive multi-biometrics on a mobile device: a comparison of fusion techniques

LEGO MINDSTORMS Education EV3 Coding Activities

Corpus Linguistics (L615)

Learning Structural Correspondences Across Different Linguistic Domains with Synchronous Neural Language Models

Numeracy Medium term plan: Summer Term Level 2C/2B Year 2 Level 2A/3C

Rule Learning With Negation: Issues Regarding Effectiveness

A New Perspective on Combining GMM and DNN Frameworks for Speaker Adaptation

Generating Test Cases From Use Cases

Course Outline. Course Grading. Where to go for help. Academic Integrity. EE-589 Introduction to Neural Networks NN 1 EE

On the Formation of Phoneme Categories in DNN Acoustic Models

Learning Methods for Fuzzy Systems

Visit us at:

1 st Quarter (September, October, November) August/September Strand Topic Standard Notes Reading for Literature

International Journal of Computational Intelligence and Informatics, Vol. 1 : No. 4, January - March 2012

Lecture 1: Basic Concepts of Machine Learning

SARDNET: A Self-Organizing Feature Map for Sequences

A GENERIC SPLIT PROCESS MODEL FOR ASSET MANAGEMENT DECISION-MAKING

Word Segmentation of Off-line Handwritten Documents

ECE-492 SENIOR ADVANCED DESIGN PROJECT

A Comparison of Annealing Techniques for Academic Course Scheduling

A NOVEL SCHEME FOR SPEAKER RECOGNITION USING A PHONETICALLY-AWARE DEEP NEURAL NETWORK. Yun Lei Nicolas Scheffer Luciana Ferrer Mitchell McLaren

A Case Study: News Classification Based on Term Frequency

Active Learning. Yingyu Liang Computer Sciences 760 Fall

ADVANCES IN DEEP NEURAL NETWORK APPROACHES TO SPEAKER RECOGNITION

CLASSIFICATION OF PROGRAM Critical Elements Analysis 1. High Priority Items Phonemic Awareness Instruction

On-the-Fly Customization of Automated Essay Scoring

Reinforcement Learning by Comparing Immediate Reward

Assignment 1: Predicting Amazon Review Ratings

Investigation on Mandarin Broadcast News Speech Recognition

Robust Speech Recognition using DNN-HMM Acoustic Model Combining Noise-aware training with Spectral Subtraction

DOMAIN MISMATCH COMPENSATION FOR SPEAKER RECOGNITION USING A LIBRARY OF WHITENERS. Elliot Singer and Douglas Reynolds

Evaluating Interactive Visualization of Multidimensional Data Projection with Feature Transformation

Reducing Features to Improve Bug Prediction

Designing a Rubric to Assess the Modelling Phase of Student Design Projects in Upper Year Engineering Courses

Build on students informal understanding of sharing and proportionality to develop initial fraction concepts.

Language Acquisition Fall 2010/Winter Lexical Categories. Afra Alishahi, Heiner Drenhaus

Australian Journal of Basic and Applied Sciences

Edexcel GCSE. Statistics 1389 Paper 1H. June Mark Scheme. Statistics Edexcel GCSE

Radius STEM Readiness TM

Seminar - Organic Computing

Lecture 9: Speech Recognition

Softprop: Softmax Neural Network Backpropagation Learning

The 9 th International Scientific Conference elearning and software for Education Bucharest, April 25-26, / X

An Introduction to Simulation Optimization

Speaker Identification by Comparison of Smart Methods. Abstract

Evolutive Neural Net Fuzzy Filtering: Basic Description

Vimala.C Project Fellow, Department of Computer Science Avinashilingam Institute for Home Science and Higher Education and Women Coimbatore, India

Edinburgh Research Explorer

Transcription:

DTW for Single Word and Sentence Recognizers - 1 Dynamic Time Warping (DTW) for Single Word and Sentence Recognizers Reference: Huang et al. Chapter 8.2.1; Waibel/Lee, Chapter 4 May 3, 2012

DTW for Single Word and Sentence Recognizers - 2 Overview (I) Simplified Decoding Representation Simplified Classifier Training Pattern Recognition Supervised Unsupervised Training Supervised Classification Classifier Design in Practice Gaussian Densities Mixtures of Gaussian Densities Finding Codebooks of Reference Vectors - The k-means Algorithm Problems of Classifier Design Curse of Dimensionality Trainability Simplified Decoding and Training

DTW for Single Word and Sentence Recognizers - 3 Overview (II) Dynamic Programming and Single Word Recognition Comparing Complete Utterances Endpoint Detection Speech Detection Approaches to Alignment of Vector Sequences Alignment of Speech Vectors May Be Non-Bijective Solution: Time Warping What is the best alignment relation R? Dynamic Programming Key Idea of Dynamic Programming The Dynamic Programming Matrix The Minimal Editing Distance Problem Levinshtein Utterance Comparison by Dynamic Time Warping (DTW) What we could do already Compare Complete Utterances DTW Summary

DTW for Single Word and Sentence Recognizers - 4 Overview (III) Dynamic Programming and Single Word Recognition Isolated Word Recognition with Template Matching From Isolated to Continuous Speech Plan: Cut Continuous Speech Into Single Words Compare Complete Utterances / Words Compare Smaller Units What we can t do yet OR Problems with Pattern Matching Make a Wish Speech Production as Stochastic Process What s different? Keep in Mind for HMM Session

DTW for Single Word and Sentence Recognizers - 5 Overview Simplified Decoding Representation Simplified Classifier Training Pattern Recognition Supervised Unsupervised Training Supervised Classification Classifier Design in Practice Gaussian Densities Mixtures of Gaussian Densities Finding Codebooks of Reference Vectors - The k-means Algorithm Problems of Classifier Design Curse of Dimensionality Trainability Simplified Decoding and Training

DTW for Single Word and Sentence Recognizers - 6 Simplified Decoding Recognition Units: Phonemes Phoneme Classifier or any kind of Reference Vectors Speech Speech features Hypotheses (phonemes) Feature extraction Decision... /h/ /e/ /l/ /o/ /w/ /o/ /r/ /l/ /d/ /o/

DTW for Single Word and Sentence Recognizers - 7 Representation Representation could be a database of stored example samples Or a (statistical) model train a classifier This is a plot of measured formants for different vowels from different speakers: The so called vowel-triangle expresses which vowels have which formants in average: F1: major resonance of the pharyngal cavity F2: major resonance of the oral cavity

DTW for Single Word and Sentence Recognizers - 8 Simplified Classifier Training Aligned Speech Feature extraction Speech features Train Classifier Improved Classifiers /h/ /e/ /l/ /o/ /h/ /e/ /l/ /o/ /e/ Train Classifier Use aligned speech vectors (e.g. all frames of phoneme /e/) to train the reference vectors of /e/ (= Codebook)

DTW for Single Word and Sentence Recognizers - 9 Pattern Recognition Review Static Patterns, i.e. no dependency on time or sequential order Approaches: Knowledge-based approaches: 1. Compile knowledge 2. Build decision trees Connectionist approaches: 1. Automatic knowledge acquisition, "black-box" behavior 2. Simulation of biological processes Statistical approaches: 1. Build a statistical model of the "real world" 2. Compute probabilities according to the models

DTW for Single Word and Sentence Recognizers - 10 Pattern Recognition Important Notions: Supervised - Unsupervised Classifiers Parametric - Non-Parametric Classifiers Linear - Non-linear Classifiers Classical Statistical Methods: Bayes Classifier K-Means Connectionist Methods: Perceptron Multilayer Perceptrons

DTW for Single Word and Sentence Recognizers - 11 Supervised Unsupervised Training Supervised training: Class to be recognized is known for each sample in training data. Requires a priori knowledge of useful features and knowledge Labeling of each training token ( cost). Unsupervised training: Class is not known and structure is to be discovered automatically. Feature-space-reduction E.g.: Clustering, auto-associative nets

DTW for Single Word and Sentence Recognizers - 12 Supervised Classification F2 * * * * + + + + + + + + + + + + + + + + + + + + + + + + + + + + + /a/ + /u/ * /i/ Classification: Classes Known: Phonemes /i/, /a/, /u/ Features: F1 and F2 (Hz) Classifiers F1

DTW for Single Word and Sentence Recognizers - 13 Classifier Design in Practice Need: a priori probability P ( i ) (not too bad) class conditional probability density function (PDF) p (x / i ) Problems: limited training data limited computation class-labeling potentially costly and prone to error classes may not be known good features not known Parametric Solution: Assume that p (x / i ) has a particular parametric form Most common representative: multivariate normal density

DTW for Single Word and Sentence Recognizers - 14 Gaussian Densities (1) The most often used model for (preprocessed) speech signals are Gaussian densities. Often the "size" of the parameter spaces is measured in "number of densities A Gaussian density of a random variable x looks like this: Its parameters are: the mean µ the variance σ 2 2 1 1 N( x, ) exp ( x ) 2 2 2 2 2

DTW for Single Word and Sentence Recognizers - 15 Gaussian Densities (2) A multivariate Gaussian density with D dims. looks like this: N( x, ) Its parameters are: 2 (2 ) 1 / 2 exp the mean vector µ (a vector with D coefficients) the covariance matrix (a symmetric DxD matrix), if x independent, is diagonal 1/ 2 the determinant of the covariance matrix D 1 2 ( x ) T 1 ( x ) 2-dimensional / bivariate Gaussian distribution:

DTW for Single Word and Sentence Recognizers - 16 Mixtures of Gaussian Densities Often the shape of the set of vectors that belong to one class does not look like what can be modeled by a single Gaussian. A (weighted) sum of Gaussians can approximate many more densities: Left: Approximation with a single Gaussian (distribution) Right: Approximation with 2 Gaussians. Usually, each Gaussian has a weight w m (m = 1,..., M; M number of Gaussians). In general, a class can be modeled as a mixture of Gaussians: p M M 2 T 1 Mix( x) wm N( x m, m) wm exp ( x ) ( x ) D/ 2 1/ 2 m 1 m 1 (2 ) 2 1 1

DTW for Single Word and Sentence Recognizers - 17 Mixtures of Gaussian Densities Other pros and cons: Flexibility We can adapt our models to existing training data, e.g. by selecting the number of distributions dependent on the amount of training data. This allows a flexible adjustment of the set of parameters: The more parameters (μ i, Σ i ) we want to train in a system, the more training data we need but the better the classification! There are algorithms to find the optimum between amount of training data and modeling accuracy. Parameter Tying We can also save parameters if there are not enough training data available. We can use identical Gaussians for different classes but assign different mixture weights to the individual distributions. E.g. begin, middle and end of phonemes are often modeled with identical Gaussians but different mixture weights.

DTW for Single Word and Sentence Recognizers - 18 Finding Codebooks of Reference Vectors The k-means Algorithm (1) Goal: Partition n samples (observations) into k classes (clusters) in which each sample belongs to the class with the nearest mean Given a set of samples (x 1, x 2,, x n ), where each sample is a D-dimensional real vector, k-means clustering aims to partition the n samples into k classes (k n) S = {S 1, S 2,, S k } so as to minimize the within-cluster sum of squares (WCSS): J K N K k 1 n 1 x ( k ) n ( k ) 2 where μ i is the mean of points in S i. Problem: μ (k) itself is dependent on the class assignment Optimal assignment is computationally difficult (NP-hard) Use iterative algorithm!

DTW for Single Word and Sentence Recognizers - 19 Finding Codebooks of Reference Vectors The k-means Algorithm (2) The algorithm uses an iterative refinement technique: Step 1 Step 2 Step 3 Initialize: Given a value of k and sample vectors v 1,... v T, intialize any k means (e.g. µ i = v i ) Nearest-Neighbor classification: Assign every vector v i to its class' centroid µ f(i) Codebook update: Replace every mean µ i by the mean of all sample vectors that have been assigned to it Step 4 Iteration: If not satisfied, yet, then go to Step 2 Possible stop-criteria: A fixed number of iterations The average (maximum) distance v i - µ f(i) is below a fixed value The derivative of the distance is below a fixed value (nothing happens any more)

DTW for Single Word and Sentence Recognizers - 20 Finding Codebooks of Reference Vectors The k-means Algorithm (3) Initial scatter diagram without any additional information After k-means clustering (with k=3): (The class' centroids are shown as squares.)

DTW for Single Word and Sentence Recognizers - 21 Finding Codebooks of Reference Vectors The k-means Algorithm (4) Typical issues: Theoretically k-means can only converge to a local optimum Initialization is often critical Repeat k-means for several codebook sets OR: Linde-Buzo-Gray (LBG) Algorithm: I.e. start with a 1-vector codebook and use splitting algorithm to obtain 2-vector,, M-vector codebook

DTW for Single Word and Sentence Recognizers - 22 Problems of Classifier Design Features: What and how many features should be selected? Any features? The more the better? If additional features not useful (same mean and covariance), classifier will automatically ignore them?

DTW for Single Word and Sentence Recognizers - 23 Curse of Dimensionality Adding more features Adding independent features may help BUT: Adding indiscriminant features may lead to worse performance! Reason: Training Data vs. Number of Parameters Limited training data Solution: Select features carefully Reduce dimensionality Principle Component Analysis (PCA)

DTW for Single Word and Sentence Recognizers - 24 Trainability The number of distributions must be well chosen and depending on the amount of training data. Example: Two-phoneme classification example (Huang et al.) Phonemes modeled by Gaussian mixtures Parameters are trained with a varied set of training samples

DTW for Single Word and Sentence Recognizers - 25 Simplified Decoding and Training Speech Feature extraction Speech features Decision (apply trained classifiers) Hypotheses (phonemes)... /h/ /e/ /l/ /o/ /w/ /o/ /r/ /l/ /d/ /h/ Aligned Speech Feature extraction Speech features Train Classifier Improved Classifiers Train codebook - kmeans /h/ /e/ /l/ /o/ /h/ /e/ /l/ /o/ /e/

DTW for Single Word and Sentence Recognizers - 26 Overview Dynamic Programming and Single Word Recognition Comparing Complete Utterances Endpoint Detection Speech Detection Approaches to Alignment of Vector Sequences Alignment of Speech Vectors May Be Non-Bijective Solution: Time Warping What is the best alignment relation R? Dynamic Programming Key Idea of Dynamic Programming The Dynamic Programming Matrix The Minimal Editing Distance Problem Levinshtein Utterance Comparison by Dynamic Time Warping (DTW) What we could do already Compare Complete Utterances DTW Summary

DTW for Single Word and Sentence Recognizers - 27 Comparing Complete Utterances What we had so far: Record a sound signal Compute frequency representation Quantize/classify vectors We now have: A sequence of pattern vectors What we want: The similiarity between two such sequences Obviously: The order of vectors is important! vs.

DTW for Single Word and Sentence Recognizers - 28 Comparing Complete Utterances Comparing speech vector sequences has to overcome 3 problems: 1) Speaking rate characterizes speakers (speaker dependent!) if the speaker is speaking faster, we get fewer vectors 2) Changing speaking rate by purpose: e.g. talking to a foreign person 3) Changing speaking rate non-purposely: speaking disfluencies vs. So we have to find a way to decide which vectors to compare to another Impose some constraints (compare every vector to all others is too costly)

DTW for Single Word and Sentence Recognizers - 29 Endpoint Detection When comparing two recorded utterances we face 2 problems: 1) When does the speech begin? We might not have any mechanism to signal the recognizer when it should listen. 2) Varying length of utterance Utterances might be of different length (speaking rate, ) One or both utterances can be preceeded or followed by a period of (possibly non-voluntarily recorded) silence vs.

DTW for Single Word and Sentence Recognizers - 30 Speech Detection Solution to Problem 1) - When does speech begin? A: Push-to-talk scenario: Only listen when user pushes button B: Always on scenario: Always listen, only consider speech regions Select Speech Regions: Use signal-to-noise ratio (SNR): works well if SNR > 30dB, otherwise problematic Compute signal power: p[i..j] = k=i..j s[k]2, then apply a threshold t to detect speech t

DTW for Single Word and Sentence Recognizers - 31 Approaches to Alignment of Vector Sequences (1) First idea to overcome the varying length of Utterances (Problem 2)): 1. Normalize sequence length 2. Make a linear alignment between the two sequences Linear alignment can handle the problem of different speaking rates But.. What about varying speaking rates?

DTW for Single Word and Sentence Recognizers - 32 Approaches to Alignment of Vector Sequences (2) Linear alignment can handle the problem of different speaking rates But: It can not handle the problem of varying speaking rates during the same utterance.

DTW for Single Word and Sentence Recognizers - 33 Alignment of Speech Vectors May Be Non-Bijective Given: Wanted: Two sequences x 1,x 2,...,x n and y 1,y 2,...,y m Alignment relation R (not function), where (i,j) is in R iff x i is aligned with y j. y 1 2 3 4 5 6 7 8 9... x 1 2 3 4 5 6 7 8 9... It is possible that more than one x is aligned to the same y (e.g. x 3, x 4 ) more than one y is aligned to the same x (e.g. y 8, y 9 ) more than an x or a y has no alignment partner at all (e.g. y 6 )

DTW for Single Word and Sentence Recognizers - 34 Solution: Time Warping Given: Two sequences x 1,x 2,...,x n and y 1,y 2,...,y m y Wanted: Alignment relation R, where (i,j) is in R iff x i is aligned with y j i.e. we are looking for a common time-axis: y y 8,y 9 align to same x y 6 has no partner x 3,x 4 align to the same y x x

DTW for Single Word and Sentence Recognizers - 35 What is the best alignment relation R? Distance Measure between two utterances: For a given path R(i,j), the distance between x and y is the sum of all local distances d(x i,y j ) In our example: d(x 1,y 1 ) + d(x 2,y 2 ) + d(x 3,y 3 ) + d(x 4,y 3 ) + d(x 5,y 4 ) + d(x 6,y 5 ) + d(x 7,y 7 ) +... Question: How can we find a path that gives the minimal overall distance?

DTW for Single Word and Sentence Recognizers - 36 Dynamic Programming How can we find the minimal editing distance? Greedy algorithm? Always perform the step that is currently the cheapest. If there are more than one cheapest step take any one of them. Obvious: Can't guarantee to lead to the optimal solution. Solution: Dynamic Programming (DP) DP is frequently used in operations research, where consecutive decisions depend on each other and whose sequence must lead to optimal results.

DTW for Single Word and Sentence Recognizers - 37 Key Idea of Dynamic Programming The key idea of DP is: If we would like to take our system into a state s i, and we know the costs c 1,...,c k for the optimal ways to get from the start to all states q 1,...,q k from which we can go to s i, then the optimal way to s i goes over the state q l where l = argmin j c j

DTW for Single Word and Sentence Recognizers - 38 The Dynamic Programming Matrix (1) To find the minimal editing distance from x 1,x 2,...,x n to y 1,y 2,...,y m, we can define an algorithm inductively: Let C(i, j) denote the minimal editing distance from x 1,x 2,...,x i to y 1,y 2,...,y j. Then we get: C(0,0) = 0 (no characters no editing) C(i, j) is either (whichever is smallest): C(i-1, j-1) plus the cost for replacing x i with y j or C(i-1, j) plus the cost for deleting x i or C(i, j-1) plus the cost for inserting y j

DTW for Single Word and Sentence Recognizers - 39 The Dynamic Programming Matrix (2) Usually for the minimal editing distance: The cost for deleting or inserting a character is 1 The cost for replacing x i with y j is 0 (if x i = y j ) or 1 (else) Might be useful to define other costs for special purposes Eventually: Remember for each state (i-1, j-1) which one was the best predecessor (backpointer) Find the sequence of editing steps by backtracing the predecessor pointers from the final state

DTW for Single Word and Sentence Recognizers - 40 The Minimal Editing Distance Problem Given: Two character sequences (words) x 1,x 2,...,x n and y 1,y 2,...,y m Wanted: The minimal number (and sequence) of editing steps that are needed to convert x to y The editing cursor starts at x 0, an editing step can be one of: Delete the character x i under the cursor Insert a character x i at the cursor position Replace character x i at the cursor position with y j Moving the cursor to the next character (no editing), we can't go back Example: Convert x = BRAKES" to y = BAKERY" (one possible solution): B = B, move curser to next character Delete character x 2 = R A = A, move curser to next character, K = K, move, E = E, move Replace character x 5 = S with character y 5 = R Insert character y 6 = Y (sequence not necessarily unique) Often referred to as Levinshtein distance, keep in mind, we will revisit this when we talk about how to measure the Performance (Word Accuracy) of a recognizer

DTW for Single Word and Sentence Recognizers - 41 Levinshtein Y R E K A B B R A K E S B=B, move to next

DTW for Single Word and Sentence Recognizers - 42 Levinshtein Y R E K A B B R A K E S Delete character x 2 =R

DTW for Single Word and Sentence Recognizers - 43 Levinshtein Y R E K A B B R A K E S A=A, move to next

DTW for Single Word and Sentence Recognizers - 44 Levinshtein Y R E K A B B R A K E S K=K, move to next

DTW for Single Word and Sentence Recognizers - 45 Levinshtein Y R E K A B B R A K E S E=E, move to next

DTW for Single Word and Sentence Recognizers - 46 Levinshtein Y R E K A B B R A K E S replace character x 6 = S with character y 5 = R

DTW for Single Word and Sentence Recognizers - 47 Levinshtein Y R E K A B B R A K E S insert character y 6 = Y

DTW for Single Word and Sentence Recognizers - 48 Levinshtein Sequence is not necessarily unique! Y R E K A B B R A K E S insert character y 5 = R replace character x 6 = S with y 6 = Y

DTW for Single Word and Sentence Recognizers - 49 Utterance Comparison by Dynamic Time Warping How can we apply the DP algorithm for the minimal editing distance to the utterance comparison problem? Differences and Questions: What do editing steps correspond to? We "never" really get two identical vectors. We are dealing with continuous and not discrete signals here. Answers: We can delete/insert/substitute vectors. Define cost for del/ins, define cost for sub = distance between vectors No two vectors are the same? So what. Continuous signals we get continuous distances (no big deal) The DTW-Algorithm: Works like the minimal editing distance algorithm Minor modification: Allow different kinds of steps (different predecessors of a state) Use vector-vector distance measure as cost function

DTW for Single Word and Sentence Recognizers - 50 What we could do already We can build a first simple isolated-word recognizer using DTW We can build a preprocessor such that recorded speech can be processed by the recognizer We can recognize speech using DTW and print the score for each of its reference patterns: Example: Build recognizer that can recognize two words w 1 and w 2 Collect training examples (in real life: a lot of data) Skip the optimization phase (don't need development set) Collect evaluation data (a few examples per word) Run tests on evaluation data and report results

DTW for Single Word and Sentence Recognizers - 51 Ref Word 1 Ref Word 2 Hypothesis Compare Complete Utterances

DTW for Single Word and Sentence Recognizers - 52 DTW Summary Optimization of DTW: Usually, only interested in final score Algorithm requires only values in current and previous frame Keep it simple: Do not allocate new storage but overwrite stuff that is no longer needed For most transition patterns, one frame is enough Drawbacks of DTW: Does not generalize Speaker dependent Need example(s) for each word from each speaker Gets computationally expensive for large vocabularies

DTW for Single Word and Sentence Recognizers - 53 Overview Dynamic Programming and Single Word Recognition Isolated Word Recognition with Template Matching From Isolated to Continuous Speech Plan: Cut Continuous Speech Into Single Words Compare Complete Utterances / Words Compare Smaller Units What we can t do yet OR Problems with Pattern Matching Make a Wish Speech Production as Stochastic Process What s different? Keep in Mind for HMM Session

DTW for Single Word and Sentence Recognizers - 54 Isolated Word Recognition with Template Matching For each word in the vocabulary, store at least one reference pattern When multiple reference patterns are available, either use all of them or compute an average During recognition Record a spoken word Perform pattern matching with all stored patterns (or at least with those that can be used in the current context) Compute a DTW score for every vocabulary word (when using multiple references, compute one score out of many, e.g. average or max) Recognize the word with the best DTW score This approach works only for very small vocabularies and/or for speakerdependent recognition

DTW for Single Word and Sentence Recognizers - 55 From Isolated to Continuous Speech Sloppier Higher speaking rate Combinatorial explosion of things that can be said Spontaneous effects: restarts, fragments, noise Co-articulation: Did you dija.. Segmentation: how to find word boundaries Solution: reduce to known problems

DTW for Single Word and Sentence Recognizers - 56 Plan 1: Cut Continuous Speech Into Single Words Write magic algorithm that segments speech into 1-word chunks Run DTW/Viterbi on each chunk BUT: Where are the boundaries??? No reliable segmentation algorithm for detecting word boundaries other than doing recognition itself, due to: Co-articulation between words Hesitations within words Hard decisions lead to accumulating errors Integrated approach works better

DTW for Single Word and Sentence Recognizers - 57 Reference Sentence Compare Complete Utterances / Words? Hypothesis = recognized sentence

DTW for Single Word and Sentence Recognizers - 58 Reference Sentence Compare Smaller Units Hypothesis = recognized sentence

DTW for Single Word and Sentence Recognizers - 59 What we can t do yet OR Problems with Pattern Matching Need endpoint detection Need collection of reference patterns (inconvenient for user) Works only well for speaker-dependent recognition (difficult to cover variations) High computational effort (esp. for large vocabularies), proportional to vocabulary size Large vocabulary also means: need huge amount of training data since we need training samples for each word Difficult to train suitable references (or sets of references) Poor performance when the environment changes Unsuitable where speaker is unknown and no training is feasible Unsuitable for continuous speech, coarticulation (combinatorial explosion of possible patterns) Impossible to recognize untrained words Difficult to train/recognize subword units

DTW for Single Word and Sentence Recognizers - 60 Make a Wish We would like to work with speech units shorter than words each subword unit occurs often, training is easier, need less data We want to recognize speech from any speaker, without prior training store "speaker-independent" references We want to recognize continuous speech not only isolated words handle coarticulation effects, handle sequences of words We would like to be able to recognize words that have not been trained train subword units and compose any word out of these (vocabulary independence) We would prefer a sound mathematical foundation Solution (particularly sucessful for ASR): Hidden Markov Models

DTW for Single Word and Sentence Recognizers - 61 Speech Production as Stochastic Process The same word / phoneme / sound sounds different every time it is uttered We can regard words / phonemes as states of a speech production process In a given state we can observe different acoustic sounds Not all sounds are possible / likely in every state We say: In a given state the speech process "emits" sounds according to some probability distribution/density The production process can make transitions from one state into another Not all transitions are possible, transitions have different probabilities When we specify the probabilities for sound-emissions (emission probabilities) and for the state transitions, we call this a model.

DTW for Single Word and Sentence Recognizers - 62 Reference in terms of state sequence of statistical models, models consists of prototypical references vectors What s different? Hypothesis = recognized sentence

DTW for Single Word and Sentence Recognizers - 63 Keep in Mind for HMM Session Hypothesis = recognized sentence

DTW for Single Word and Sentence Recognizers - 64 Thanks for your interest!