Nova Patents
EP0903728A2

Block algorithm for pattern recognition

Abstract

Comparing a series of observations representing unknown speech, to stored models representing known speech, the series of observations being divided into at least two blocks each comprising two or more of the observations, is carried out in an order which makes better use of memory. First, the observations in one of the blocks are compared (31), to a subset comprising one or more of the models, to determine a likelihood of a match to each of the one or more models. This step is repeated (33) for models other than those in the subset; and the whole process is repeated (34) for each block.

EP0903728A2, drawing sheet 1
Sheet 1 of 37

Term

Term ended

Projected expiry passed 17 September 2018, 8 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

21 claims: 10 independent, 11 dependent

  1. 1
    A method of comparing a series of observations representing unknown speech, to stored models representing known speech, the series of observations being divided into at least two blocks each comprising two or more of the observations, the method comprising the steps of:a) comparing two or more of the observations in one of the blocks of observations, to a subset comprising one or more of the models, to determine a likelihood of a match to each of the one or more models;b) repeating step a) for models other than those in the subset;and c) repeating steps a) and b) for a different one of the blocks.
  2. 3
    The method of any of claims 1-2 wherein the comparison at step a) uses a Viterbi algorithm.
  3. 4
    The method of any of claims 1-3 wherein the models are represented as finite state machines with probability distribution functions attached.
  4. 5
    The method of any of claims 1-4 wherein the models comprise groups of representations of phonemes.
  5. 6
    The method of any of claims 1-5 wherein the models comprise representations of elements of speech, and step a) comprises the step of:comparing the block of observations to a predetermined sequence of the models in the subset.
  6. 7
    The method of any of claims 1-6 wherein step a) comprises the steps of:comparing the block of observations to a predetermined sequence of the models in the subset;determining for each of the models in the sequence, a score which represents the likelihood of a match with the observations compared so far;storing the score in a score buffer for use in determining scores of subsequent models in the sequence;and determining when the score is no longer needed, then re-using the score buffer to store a subsequent score.
  7. 8
    The method of any of claims 1-7 wherein, step a) comprises the step of:comparing the block of observations to a lexical graph comprising a predetermined sequence of the models in the subset, wherein the sequence comprises different types of models, and the comparison is dependent on the type;and the method comprises the step of: determining the types of the models before the block is compared.
  8. 9
    The method of any of claims 1-8, the models comprising finite state machines, having multiple state sequences, wherein step a) comprises the steps of:determining state scores for the matches between each respective observation and state sequences of the respective model, making an approximation of the state scores, for the observation, for storing to use in matching subsequent observations, the approximation comprising fewer state scores than were determined for the respective observation.
  9. 10
    A method of recognising patterns in a series of observations, by comparing the observations to stored models, using a processing means having a main memory for storing the models and a cache memory, the cache memory being too small to contain all the models and observations, the series of observations being divided into blocks of at least two observations, the method comprising the steps of:a) using the processor to compare a subset of the models to the observations in one of the blocks of observations, to recognise the patterns, the subset of the models being small enough to fit in the cache memory;b) repeating step a) for a different subset of the models and;c) repeating steps a) and b) for a different one of the blocks.
  10. 11
    A method of recognising patterns in a series of observations by comparing the observations to stored models, the series of observations being divided into at least two blocks each comprising two or more of the observations, the models comprising finite state machines, having multiple state sequences, the method comprising the steps of:a) comparing two or more of the observations in one of the blocks of observations, to a subset comprising one or more of the models, to determine a likelihood of a match to each of the one or more models, by determining which of the state sequences of the respective model is the closest match, and how close is the match;b) repeating step a) for models other than those in the subset;and c) repeating steps a) and b) for a different one of the blocks.
  11. 13
    The method of any of claims 11-12 wherein the comparison at step a) uses the Viterbi algorithm.
  12. 14
    The method of any of claims 11-13 wherein the models are represented as finite state machines with probability distribution functions attached.
  13. 15
    A method of comparing a series of observations representing unknown speech, to stored models representing known speech, by comparing the observations to stored models, the series of observations being grouped into one or more blocks each comprising two or more of the observations, the models comprising finite state machines, having multiple state sequences, the method comprising, for each of the one or more blocks, the steps of:a) comparing two or more of the observations in the respective block, to a subset comprising one or more of the models, to determine a likelihood of a match to each of the one or more models, by determining which of the state sequences of the respective model is the closest match, and how close is the match;and b) repeating step a) for models other than those in the subset.
  14. 16
    Software stored on a computer readable medium for comparing a series of observations representing unknown speech, to stored models representing known speech, the series of observations being divided into at least two blocks each comprising two or more of the observations, the software being arranged for carrying out the steps of:a) comparing two or more of the observations in one of the blocks of observations, to a subset comprising one or more of the models, to determine a likelihood of a match to each of the one or more models;b) repeating step a) for models other than those in the subset;and c) repeating steps a) and b) for a different one of the blocks.
  15. 17
    Software stored on a computer readable medium for recognising patterns in a series of observations by comparing the observations to stored models, the series of observations being divided into at least two blocks each comprising two or more of the observations, the models comprising finite state machines, having multiple state sequences, the software being arranged to carry out the steps of:a) comparing two or more of the observations in one of the blocks of observations, to a subset comprising one or more of the models, to determine a likelihood of a match to each of the one or more models, by determining which of the state sequences of the respective model is the closest match, and how close is the match;b) repeating step a) for models other than those in the subset;and c) repeating steps a) and b) for a different one of the blocks.
  16. 18
    Software stored on a computer readable medium for comparing a series of observations representing unknown speech, to stored models representing known speech, by comparing the observations to stored models, the series of observations being grouped into one or more blocks each comprising two or more of the observations, the models comprising finite state machines, having multiple state sequences, the software being arranged to carry out for each of the one or more blocks, the steps of:a) comparing two or more of the observations in the respective block, to a subset comprising one or more of the models, to determine a likelihood of a match to each of the one or more models, by determining which of the state sequences of the respective model is the closest match, and how close is the match;and b) repeating step a) for models other than those in the subset.
  17. 19
    A speech recognition processor for comparing a series of observations representing unknown speech, to stored models representing known speech, the series of observations being divided into at least two blocks each comprising two or more of the observations, the processor being arranged to carry out the steps of:a) comparing two or more of the observations in one of the blocks of observations, to a subset comprising one or more of the models, to determine a likelihood of a match to each of the one or more models;b) repeating step a) for models other than those in the subset;and c) repeating steps a) and b) for a different one of the blocks.
  18. 20
    A speech recognition processor for recognising patterns in a series of observations by comparing the observations to stored models, the series of observations being divided into at least two blocks each comprising two or more of the observations, the models comprising finite state machines, having multiple state sequences, the processor being arranged to carry out the steps of:a) comparing two or more of the observations in one of the blocks of observations, to a subset comprising one or more of the models, to determine a likelihood of a match to each of the one or more models, by determining which of the state sequences of the respective model is the closest match, and how close is the match;b) repeating step a) for models other than those in the subset;and c) repeating steps a) and b) for a different one of the blocks.
  19. 21
    A speech recognition processor for comparing a series of observations representing unknown speech, to stored models representing known speech, by comparing the observations to stored models, the series of observations being grouped into one or more blocks each comprising two or more of the observations, the models comprising finite state machines, having multiple state sequences, the processor being arranged to carry out, for each of the one or more blocks, the steps of:a) comparing two or more of the observations in the respective block, to a subset comprising one or more of the models, to determine a likelihood of a match to each of the one or more models, by determining which of the state sequences of the respective model is the closest match, and how close is the match;and b) repeating step a) for models other than those in the subset.
Independent claims19