A method of automatic speech recognition, the method comprising the steps of: receiving a speech signal (10, 30), dividing the speech signal into time windows, for each time window; determining acoustic parameters (31 to 36) of the speech signal within that window, and identifying phonological features from the acoustic parameters, such that a sequence of phonological features are generated for the speech signal, separating the sequence of phonological features into a sequence of zones by determining an instability score for each time point in the sequence of phonological features; the instability score being determined by comparing the features extracted at a time-point with those at time-points preceding the time point, back to a configurable number of milliseconds; comparing the instability scores with an instability threshold and a minimum stable zone length to identifying stable and unstable zones, wherein the unstable zones are in between stable zones; and comparing the sequence of zones with a lexical entry comprising a sequence of phonological segments in a stored lexicon to identify one or more words in the speech signal (14, 15, 16); wherein for a lexical entry comprising a description of a word in terms of phonological segments; matching the stable zones to the phonological segments of the lexical entry, and for each stable zone, determining a penalty for each phonological feature depending on the phonological features present in the matched phonological segment of the lexical entry; and for each phonological feature in an unstable zone, determining an unstable zone penalty, depending on the phonological features present in the matched phonological segments of the lexical entry aligned to the stable zone on each side of the unstable zone, where the lowest unstable zone penalty is selected to contribute to the matching score; and calculating a matching score from the determined penalties. receiving a speech signal (10, 30), dividing the speech signal into time windows, for each time window; determining acoustic parameters (31 to 36) of the speech signal within that window, and identifying phonological features from the acoustic parameters, such that a sequence of phonological features are generated for the speech signal, separating the sequence of phonological features into a sequence of zones by determining an instability score for each time point in the sequence of phonological features; the instability score being determined by comparing the features extracted at a time-point with those at time-points preceding the time point, back to a configurable number of milliseconds; comparing the instability scores with an instability threshold and a minimum stable zone length to identifying stable and unstable zones, wherein the unstable zones are in between stable zones; and comparing the sequence of zones with a lexical entry comprising a sequence of phonological segments in a stored lexicon to identify one or more words in the speech signal (14, 15, 16); wherein for a lexical entry comprising a description of a word in terms of phonological segments; matching the stable zones to the phonological segments of the lexical entry, and for each stable zone, determining a penalty for each phonological feature depending on the phonological features present in the matched phonological segment of the lexical entry; and for each phonological feature in an unstable zone, determining an unstable zone penalty, depending on the phonological features present in the matched phonological segments of the lexical entry aligned to the stable zone on each side of the unstable zone, where the lowest unstable zone penalty is selected to contribute to the matching score; and calculating a matching score from the determined penalties.