DE3852678T2 - Mustererkennung. - Google Patents

Mustererkennung.

Info

Publication number
DE3852678T2
DE3852678T2 DE3852678T DE3852678T DE3852678T2 DE 3852678 T2 DE3852678 T2 DE 3852678T2 DE 3852678 T DE3852678 T DE 3852678T DE 3852678 T DE3852678 T DE 3852678T DE 3852678 T2 DE3852678 T2 DE 3852678T2
Authority
DE
Germany
Prior art keywords
bits
pattern
frequency
bit
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE3852678T
Other languages
English (en)
Other versions
DE3852678D1 (de
Inventor
John Mortimer Rollett
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by British Telecommunications PLC filed Critical British Telecommunications PLC
Application granted granted Critical
Publication of DE3852678D1 publication Critical patent/DE3852678D1/de
Publication of DE3852678T2 publication Critical patent/DE3852678T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Acoustics & Sound (AREA)
  • Evolutionary Computation (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Character Discrimination (AREA)
  • Telephonic Communication Services (AREA)
  • Image Analysis (AREA)
  • Holo Graphy (AREA)
  • Machine Translation (AREA)
  • Image Processing (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf Mustererkennung und insbesondere, jedoch nicht ausschließlich, auf Spracherkennung.
  • Das zuerst von Bledsoe & Browning vorgeschlagene n-Tupel- Verfahren ("Pattern recognition and reading by machine", Proceedings of the Eastern Joint Computer Conference, Boston, S. 225-232, 1959) wurde für die Erkennung zweidimensionaler Muster vorgeschlagen. Fig. 1 zeigt ein N · M- Muster, bei dem jedes Element entweder durch eine "0" oder eine "1" als einzelnes Bit dargestellt ist. Sätze von n Bits werden in festgelegter Weise (beispielsweise zufällig) aus dem Feld ausgewählt, so daß sie jeweils einen "n-Tupel" bilden. Normalerweise wird jedes Bit einmal verwendet, so daß sich NM/n n-Tupel ergeben. Ein Schablonenspeicher (Fig. 2, bei der n = 4 angenommen wird) hat NM/n Zeilen (eine für jedes n-Tupel) und 2n Spalten. In einer Lernabfolge wird jedes n-Tupel als eine binäre Ziffer zwischen 0 und 2n-1 angesehen, und es wird eine 1 in der diesem n- Tupel zugeordneten Zeile in die entsprechende Spalte geschrieben. In einer Anzahl von Lerndurchläufen, bei denen natürlich immer dieselbe Auswahl für die n-Tupel vorgenommen wird, werden weitere 1er in den Schablonenspeicher geschrieben - die entsprechend dem Ähnlichkeitsgrad zwischen den Mustern mit den bereits eingeschriebenen 1ern übereinstimmen oder auch nicht. Nachdem nur 1er und 0en eingeschrieben werden, können einzelne bzw. mehrfaches Auftreten nicht unterschieden werden, da beide durch eine einzelne 1 bezeichnet werden.
  • Für eine bestimmte Anzahl von zu erkennenden Mustern werden auf diese Weise Schablonen gebildet. Wenn ein unbekanntes Muster zu identifizieren ist, werden in der gleichen Weise n-Tupel gebildet, und jedes wird verwendet, um die entsprechende Stelle in einem der Schablonenspeicher auszulesen. Die Anzahl der sich dabei ergebenden 1er stellt ein Maß für die Ähnlichkeit zwischen dem bekannten und dem unbekannten Muster dar. Für jede Schablone wird ein Maß ermittelt, und das unbekannte Muster wird als das angesehen, das der Schablone entspricht, die das beste Maß ergibt.
  • Tattersall und Johnston ("Speech Recognisers based on N- tuple Sampling", Herbstkonferenz 1984, Proceedings of the Institute of Acoustics, Band 6, Teil 4, S. 405-412) schlugen eine Spracherkennung vor, die dieses Prinzip verwendet. Dann entspricht im Muster in Fig. 1 die Spalte zeitlich aufeinanderfolgenden Abtastwerten eines gesprochenen Worts, und die Bits innerhalb jeder Spalte stellen eine binäre Codierung (z. B. einen bar code) dieses Abtastwerts (oder wahlweise extrahierter Merkmale) dar. Dieses Muster wird dann größtenteils auf die gleiche Weise wie oben beschrieben analysiert.
  • Im US-Patent 4 087 630 wird eine Vorrichtung zur Spracherkennung beschrieben, bei der ein Sprachsignal abgetastet, digitalisiert und auf eine Folge (oder ein Sonogramm) binärer Ziffern reduziert wird, von denen jede das Vorliegen bzw. Nichtvorliegen signifikanter Amplituden in einem von mehreren Frequenzbändern, die im relevanten Zeitintervall für die Abtastung verwendet werden, anzeigt. Sonogramme für verschiedene Zeitfenster werden dann verkettet, zufallsbestimmt verarbeitet und dann unter Verwendung einer n-Tupel- Technik decodiert, um ein Muster entsprechend dem dann gegenwärtigen Sprachsignal zu erzeugen. Dieses Muster wird erlernt, indem es einem existierenden Vokabeleintrag überlagert wird, und wird nachfolgend erkannt, wenn es einem Vokabeleintrag ausreichend ähnlich und von allen anderen verschieden ist.
  • Gemäß der US 4 087 630 wird im Lernmodus weder für die jeweiligen n-Tupel die Häufigkeit aufgezeichnet, mit der Bitkombinationen innerhalb der n-Tupel in mehreren Mustern auftreten, noch werden für jedes n-Tupel Daten aufgezeichnet, die angeben, welche Bitkombinationen innerhalb dieses n-Tupels in den Lernmustern auftreten. Genauso wenig werden gespeicherte Häufigkeiten während der Erkennung verwendet. Außerdem findet dann natürlich auch keine Anpassung einer gespeicherten Häufigkeit statt.
  • In der US 3 521 235 wird eine Mustererkennungstechnik beschrieben, bei der im Lernmodus Häufigkeiten verwendet werden, die sich auf das Auftreten ausgewählter Binärworte beziehen, die innerhalb digitaler Codes auftreten, die von Mustern der zu erkennenden Art abgeleitet sind, um fest zulegen, welche binären Wörter die Codes und damit die Muster am besten identifizieren und unterscheiden. Die auf diese Weise ausgewählten "unterscheidenden" Wörter werden nachfolgend im Erkennungsvorgang bevorzugt vor anderen Wörtern, die zur Unterscheidung zwischen den Mustern weniger geeignet sind, verwendet. Die im Lernvorgang ermittelten Häufigkeiten des Auftretens sind zugeordnete Gewichtungsfaktoren zur Erleichterung der Unterscheidung zwischen unterschiedlichen Klassen von Mustern. Im Erkennungsvorgang werden eher die zugeordneten Gewichtungsfaktoren und nicht so sehr die Häufigkeiten des Auftretens verwendet.
  • In "Speech recognition using autocorrelation analysis" von R.F. Purton, IEEE Trans. on Audio and Electroacoustics, Band AU-16, Nr. 2, 1968, S. 235-239, wird eine Spracherkennungstechnik beschrieben, bei der für jedes Wort des gewählten Vokabulars ein Master-Muster bzw. eine Schablone erzeugt wird, indem die binären Muster für verschiedene bekannte Aussprachen des Worts kombiniert werden. Der Kombinationsvorgang ist eine einfache zellenweise Addition, so daß die Zahl in den Zellen des Master-Musters gleich der Zahl der einzelnen Muster in der Referenz- bzw. Lerngruppe, die in der entsprechenden Zelle eine 1 enthielten, ist; die Zahl ist somit proportional zur Wahrscheinlichkeit, daß auf dieser Position eine 1 auftritt. Eine weitere wahlweise Einrichtung ermöglicht die Veränderung eines Master-Musters bzw. dessen Aktualisierung, indem ein richtig erkanntes Muster hinzuaddiert wird.
  • Die vorliegende Erfindung ist in den beiliegenden Ansprüchen definiert.
  • Beispielhaft werden nun einige erfindungsgemäße Ausführungsformen bezugnehmend auf die beiliegenden Zeichnungen beschrieben, es zeigen:
  • Fig. 3 ein Blockdiagramm einer erfindungsgemäßen Ausführungsform einer Spracherkennungsvorrichtung;
  • Fig. 4 die Wirkungsweise des Schablonenspeichers aus Fig. 3;
  • Fig. 5 eine modifizierte Art der Mikromerkmalauswahl; und
  • Fig. 6 eine modifizierte Version des Schablonenspeichers aus Fig. 4.
  • Die beschriebene Ausführungsform betrifft zwar Spracherkennung; die Erfindung kann jedoch auch zur Erkennung anderer Arten von Mustern verwendet werden.
  • Die in Fig. 3 gezeigte Vorrichtung hat einen Audioeingang 10 zum Empfang von Sprachsignalen, die durch einen Analog- Digital-Wandler 11 umgewandelt werden. Obwohl (wie durch Tattersall und Johnston vorgeschlagen) eine rein zeitbestimmte Abtastung direkt verwendet werden kann, werden die Signale in dieser Ausführungsform einer Eingangsverarbeitungseinheit 12 zugeführt, die dazu dient, sie (wie genauer nachfolgend beschrieben) in binäre Darstellungen verschiedener Kennwerte von Sprache umzuwandeln, beispielsweise Energieprofil, Spektralwerte, Nulldurchgangsrate. Angenommen wird, daß die Ausgabe 80 Bits lang ist und während der Sprache alle 10 ms bereitgestellt wird.
  • Die Eingangsverarbeitungseinheit 12 liefert kontinuierlich Daten an einen Eingangsfeldspeicher 13, der Inhalt des Speichers wird jedoch nicht bearbeitet, bevor durch einen Detektor 14 der Beginn eines Worts erfaßt wird, der das Eingangssignal überwacht und schaltet, wenn beispielsweise ein bestimmter Nulldurchgangszählstand oder ein Energiegrenzwert - oder eine Kombination beider - auftreten. Es werden auch einige Perioden von Daten - beispielsweise 30 ms - erfaßt, um sicherzustellen, daß niederpegelige Schalle, die auftreten, bevor das Schaltereignis auftritt, enthalten sind; es kann eine Verzögerung 15 vorgesehen sein, wenn die der Eingangsverarbeitungseinheit 12 innewohnende Verzögerung nicht ausreichend ist.
  • Der Eingangsfeldspeicher 13 nimmt 1 Sekunde lang Daten auf (also 100 Perioden à 10 ms) und hat demnach eine Kapazität von 80 · 100 = 8000 Bits. Der Detektor 14 ist dazu ausgelegt, die Weiterverarbeitung von Ruheperioden für den Fall, daß das eingegebene Wort kürzer als 1 Sekunde Dauer ist, zu verhindern. Falls gewünscht, kann die Wortdauer bei der Gewichtung des abschließenden Erkennungsvorgangs in Betracht gezogen werden.
  • Die 8000 Bits stellt man sich als in Mikromerkmale unterteilt vor, von denen jedes aus einem geordneten Satz von 8 Bits ("8-Tupel") besteht. Diese können prinzipiell zufällig aus dem Eingangsfeldspeicher gewählt werden, wenngleich die Auswahl durch bestimmte Randbedingungen eingeschränkt sein kann, wie weiter unten beschrieben. Im Fall der Fig. 3 liegen 1000 Mikromerkmale vor. Die Adressen der Bits im Eingangsfeld, die das jeweilige Mikromerkmal bilden, werden in einem Zuordnungsregister 16 gespeichert, das ein Speicher ist, der 1000 · 8 Stellen aufweist, die mittels einer Indexnummer (1 . . . 1000) und einer Bitnummer (1 . . . 8) zugängig sind, die durch eine Eingangssteuerungseinheit 17 erzeugt werden.
  • Prinzipiell ist es nicht notwendig, daß alle Mikromerkmale aus der gleichen Anzahl von Bits bestehen; in der folgenden Beschreibung wird dies jedoch angenommen.
  • Die Vorrichtung arbeitet (a) im Lernmodus und (b) im Erkennungsmodus. Im Lernmodus werden gesprochene Worte, die in einer Lernfolge eingegeben wurden, zur Formung von Schablonen in einer Anzahl von Schablonenspeichern 18 verwendet. Im Gegensatz jedoch zu den weiter oben besprochenen bekannten Vorschlägen, in denen einfach die Tatsache des Auftretens eines bestimmten Mikromerkmals mit einem bestimmten Wert aufgezeichnet wird, wird nun vorgeschlagen, die Häufigkeit des Auftretens während der Lernsequenz zu speichern. Obwohl prinzipiell eine ähnliche Speicherorganisation verwendet werden kann, jedoch mit mehreren Bits pro Stelle zur Aufnahme einer Häufigkeit anstelle lediglich eines einzelnen Bits, stellt dies doch eine bemerkenswerte Speicherkapazität (nämlich 1000 · 256 · z. B. 3 Bits für die Häufigkeit = 768 Kbits) pro Speicher dar und die bevorzugte Anordnung, dies auch verschiedene Modifikationen erleichtert, wird nachfolgend beschrieben. Im übrigen ist diese Speicheranordnung auch dann von Vorteil, wenn keine Häufigkeiten gespeichert werden.
  • In Fig. 4 ist ein Schablonenspeicher 18 dargestellt (die anderen sind identisch) . Er weist verschiedene (z. B. 5) Eintragungen für jedes Mikromerkmal (also 5000 Eintragungen insgesamt) auf; jede Eintragung besteht aus einem 8-Bit- Byte für den Wert eines Mikromerkmals sowie einem Byte für dessen Häufigkeit (also 10.000 Bytes)
  • Die Indexnummer bestimmt die Adresse, unter der die Mikromerkmale gespeichert werden, so daß unter der Voraussetzung, daß die Anzahl der Stellen, die für die Werte eines jeden Mikromerkmals reserviert sind, fest ist, der Ort und der Index funktionsmäßig miteinander in Beziehung stehen, so daß jeder aus dem anderen berechnet werden kann.
  • Während des Lernvorgangs wird ein gewähltes Wort mehrere Male (z. B. 5) wiederholt. Aufeinanderfolgende Mikromerkmale werden erzeugt, indem die Indexnummern (und Bitnummern) den Zuordnungsregistern 17 zugeführt werden, um die richtige Stelle im Eingangsfeldspeicher 13 zu adressieren, es ergeben sich 1000 8-Bit-Mikromerkmals-Werte. Jedes gewonnene Mikromerkmal wird als Eintragung im Schablonenspeicher mit einer Häufigkeit von eins gespeichert, wenn es nicht schon vorher aufgetreten ist, in diesem Fall wird die für diesen Wert gespeicherte Häufigkeit um eins erhöht. Wenn, wie für Mikromerkmal-Indexnummer 738 gezeigt, der Wert 201 schon viermal aufgetreten ist und 137 einmal, gibt es für dieses Mikromerkmal zwei Eintragungen, die anderen drei sind Null.
  • Im Erkennungsmodus werden Mikromerkmalswerte aus dem Eingangsfeldspeicher in genau der gleichen Weise gewonnen. In Fig. 3 nimmt eine Sucheinheit 19 jeden Wert und sucht im Schablonenspeicher die Gruppe von Eintragungen, die diesem Mikromerkmal entsprechen, um eine Übereinstimmung fest zustellen; wird eine Übereinstimmung erkannt, wird die entsprechende Häufigkeit ausgelesen und einem Akkumulator 20 zugeführt, der die Summe aus den so ausgelesenen Häufigkeiten bildet. Das Ergebnis wird dann durch den maximal möglichen Gesamtwert für diese Schablone, also die Summe der maximalen Häufigkeiten für jedes der 1000 Mikromerkmale, dividiert (Dividierer 21). Diese Gesamtsumme kann, falls notwendig, berechnet werden, sie kann auch (wie gezeigt) an einem zusätzlichen Ort im Schablonenspeicher gespeichert sein.
  • Ein Schablonenspeicher 18, ein Akkumulator 20 und ein Dividierer 21 sind für jedes zu erkennende Wort vorgesehen. Ein Vergleicher 22 empfängt die von den Dividierern 21 ausgegebenen Maße und erzeugt am Ausgang 23 ein Signal, das anzeigt, welche Schablone das höchste Maß liefert - also welches Wort erkannt wurde. Der Erkennungsvorgang kann weiter dem Kriterium unterworfen sein, daß das höchste Maß einen Schwellenwert überschreitet, bevor irgendeine Ausgabe erfolgt.
  • Für die zeitliche Ausrichtung benutzt die beschriebene Vorrichtung den Detektor 14. Es kann jedoch passieren, daß (beispielsweise) Veränderungen in der Lautstärke zu ungleichmäßigen Ausrichtungen der Lern-Aussprachen führen. Dies bedeutet, daß die Vorrichtung, die verschiedene Aussprachen mit verschiedenen Ausrichtungen lernt, auch ein gewisses Maß an Toleranz gegenüber Fehlausrichtungen "lernt". In einer modifizierten Version der Vorrichtung kann aber jedes Wort nach dem ersten Wort einem Erkennungsvorgang anhand der bereits gefundenen Schablone unterworfen werden, und zwar sowohl in der durch den Detektor 14 festgestellten zeitlichen Ausrichtung als auch mit Verschiebungen von (beispielsweise) ±10 ms und ±20 ms. Die Ausrichtung, die das höchste Maß liefert, wird ausgewählt und die Schablone auf deren Grundlage aktualisiert. Diese Einstellung reduziert die oben erwähnte Toleranz des Erkennungsvorgangs gegenüber zeitlichen Ausrichtungsfehlern, woraus folgt, daß die gleiche versuchsweise Verschiebung der unbekannten Aussprache vor der Erkennung durchgeführt werden muß. Ob diese Modifikation wünschenswert ist, hängt von der Zeitverschiebung ab, die für die Erkennung hinnehmbar ist, wenn der Schablonenspeicher verschiedene Worte lernen soll; der Ausrichtungsvorgang muß dann natürlich unabhängig für die verschiedenen Worte durchgeführt werden. Ein weiteres bevorzugtes Merkmal ist es, eine Anpassung vorzusehen, bei der die Schablone auch im Erkennungsmodus fortwährend weiter "lernt". Ein einfaches Verfahren, um dies durchzuführen, ist es, die Häufigkeit zu erhöhen, die mit einem solchen Mikromerkmalswert verknüpft ist, der zu einer erfolgreichen Erkennung beiträgt. Die "Häufigkeiten" würden dadurch die Häufigkeiten der bekannterfolgreichen Erkennungen und nicht die Häufigkeiten des Auftretens während des Lernvorgangs.
  • Die Erhöhung der Häufigkeit um eins kann immer dann automatisch durchgeführt werden, wenn der Erkenner arbeitet, wobei dann angenommen wird, daß das ausgegebene Wort immer richtig ist, vorzugsweise erfolgt sie aber entsprechend einem externen Eingang, so daß dem Gerät mitgeteilt werden kann, wenn es richtig arbeitet, oder (alternativ), daß es falsch arbeitet. Wird das Gerät im Dialog verwendet, kann der Dialog so ausgebildet sein, daß an verschiedenen Stellen Bestätigungen angefordert werden. Wird dies so durchgeführt, daß auch erfolgreiche Erkennungen angezeigt werden, würden die Häufigkeiten des Mikromerkmalswerts, die zu dem Maß beitrugen, um eins erhöht.
  • Eine weiter verfeinerte Technik ist es, zur Schablone alle Mikromerkmale aus dem erfolgreich erkannten Wort zu addieren. Eine derartige Einrichtung erfordert erhöhte Speicherkapazität für die Schablone sowie eine Strategie, um zu verhindern, daß die gespeicherten Häufigkeiten zu groß werden. Hierzu kann es der Schablone beispielsweise erlaubt werden, Mikromerkmalswerte zu "vergessen", die nicht länger auftreten. Dies führt dazu, daß die Vorrichtung dann, wenn sie beispielsweise für die Sprechererkennung bzw. -bestätigung verwendet wird, in der Lage ist, Änderungen in der Stimme des Sprechers über einen bestimmten Zeitraum hinweg nachzuvollziehen.
  • Fig. 5 zeigt einen Abschnitt eines modifizierten Schablonenspeichers; lediglich der einem Mikromerkmal (z. B. Indexnummer 312) zugeordnete Speicher ist dargestellt, es sind jedoch jedem Mikromerkmal 16 Eintragungen von je zwei (8-Bit)-Bytes zugeordnet. Während der Lernphase ergeben (beispielsweise) fünf Aussprachen bis zu fünf Werte für Mikromerkmal 312 mit einer Gesamthäufigkeit von 5. Typische Werte sind in Fig. 5a dargestellt, geordnet nach abnehmenden Werten der Häufigkeit für die ersten drei Eintragungen. Die übrigen Eintragungen haben eine Häufigkeit von 0; die Inhalte der zugehörigen Wertfelder sind natürlich bedeutungslos.
  • Jedesmal, wenn im Erkennungsmodus die Schablone zu einer erfolgreichen Erkennung führt, hat
  • (a) das Mikromerkmal entweder einen noch nicht eingetragenen Werte dieser Wert wird in das nächste freie Eintragungsfeld mit einer Häufigkeit von eins eingetragen (wenn - wie weiter unten für Zeitverzerrungen beschrieben - mehr als ein Wert erhalten wird, kann wahlfrei ausgesucht werden, welcher einzutragen ist),
  • (b) oder das Mikromerkmal hat einen bereits eingetragenen Wert; die bestehende Häufigkeit wird um eins erhöht und (falls notwendig) die Reihenfolge der Eintragungen angepaßt, um die abnehmende Ordnung der Häufigkeiten beizubehalten. Auf diese Weise besteht die für ein Mikromerkmal reservierte Speicherung nach einer bestimmten Zeit aus mehreren Mikromerkmalswerten an der Spitze der Liste mit Häufigkeiten größer als eins, die übrigen haben Häufigkeiten von eins (Fig. 5b).
  • Es wird jedoch vorgeschlagen, daß lediglich die ersten acht Eintragungen im Erkennungsprozeß verwendet werden; die Werte an den Stellen 9 bis 16 werden im Wartezustand gehalten und werden nur wirksam, wenn sie aufgrund des Umordnungsvorgangs in die oberen 8 Stellen gelangen. Um eine zu häufige Veränderung der Werte in den oberen 8 Stellen zu verhindern, kann zwischen Stelle 8 und Stelle 9 eine gedachte Barriere eingezogen werden; ein Wert in Stelle 9 kann diese Barriere lediglich dann überspringen, wenn seine Häufigkeit mehr als das Doppelte der Häufigkeit des Werts in Stelle 8 ist.
  • Zwei verschiedene Überfließbedingungen können auftreten. Zum einen können die oberen Eintragungen zu groß werden; in diesem Fall werden alle Häufigkeiten halbiert und abgerundet, so daß Häufigkeiten von eins zu Null werden, so daß leere Eintragungen für die Besetzung durch neue Werte zurückbleiben. Um zu verhindern, daß die niedrigeren Stellen durch unwirksame Werte aufgefüllt werden, kann dies mit wesentlich geringerer Häufigkeit (z. B. 31) als durch die Speichergröße vorgegeben, vorgenommen werden. Die Wahrscheinlichkeit der zweiten Möglichkeit - daß alle Eintragungen belegt sind - wird dadurch stark verringert, tritt dies jedoch doch auf, wird vorgeschlagen, daß eine existierende Eintragung in Eintragung 16 zugunsten einer neuen überschrieben wird.
  • Es sei darauf hingewiesen, daß nach Halbierung der "Häufigkeiten" der existierenden Mikromerkmalswerte und der Erzeugung von Leerstellen alle neuen Merkmalswerte in bezug auf die vorherigen größere Häufigkeiten zugewiesen bekommen, als es ihrer wahren Häufigkeit nach sein sollte. Dies gibt ihnen eine größere Chance des Überlebens sowie des Anstiegs zur Spitze der Liste, eine Eigenheit, die wünschenswert sein kann. Auf diese Weise paßt sich die Gestaltung der Schablone ständig entsprechend dem Erfolg der Vorrichtung bei der Erkennung an. Bei Anwendungen zur Sprecherkennung ist es natürlich wichtig, die Schablone nur dann anzupassen, wenn eine 100%ige Sicherheit besteht, daß der richtige Sprecher identifiziert worden ist. Die Zuverlässigkeit, daß dies so war, erhöht sich aber auch fortwährend, je mehr die Vorrichtung benutzt wird.
  • Es wurde bereits erwähnt, daß die Auswahl der Mikromerkmale nicht vollständig zufällig sein muß. Entsprechend einer weiteren Abwandlung wird vorgeschlagen, daß der geordnete Satz von Bits, die ein Mikromerkmal bilden, zufällig, jedoch mit der Einschränkung ausgewählt werden, daß die Bits, die einen bestimmten Satz ergeben, alle innerhalb eines Zeitfensters einer bestimmten Breite liegen. Verwendet man beispielsweise die weiter oben genannten Zahlen, wonach der Eingangsfeldspeicher 100 Spalten hat, von denen jede 10 ms darstellt, können die 8 ein Mikromerkinal bildenden Bits innerhalb eines 50 ms-Fensters liegen. Beispielsweise liegt das in Fig. 6 gezeigte Mikromerkmal 1 innerhalb von 10 ms- Perioden 1 bis 5, während Mikromerkmal 2 innerhalb 10 ms- Perioden 2 bis 6 und 3 innerhalb Perioden 3 bis 7 liegt. Die 50 ms-Fenster können wahlfrei liegen, es kann aber auch jedes Mikromerkinal innerhalb jeweils unterschiedlicher 50 ms-Fenster liegen (mit Anpassungen am Ende des Speicherns). Eine weitere Beschränkung bezieht sich auf die Redeutung der Bits in jeder Spalte des Eingangsdatenspeichers. Wie weiter unten beschrieben können die 80 Bits aus verschiedenen Gruppen bestehen, von denen jede einen bestimmten Parameter der eingegebenen Sprache darstellt. Beispielsweise können zwei oder drei Bits ein Maß für die Stimmhaftigkeit oder Stimmlosigkeit entweder in binärer Darstellung oder in Balkendarstellung sein: Balkendarstellung binär unbestimmt (Signalpegel zu niedrig) stimmlos mittlere Stimmhaftigkeit stimmhaft
  • Bei der Balkendarstellung ist die Signifikanz jedes Bits unabhängig von den anderen (d. h., daß mittleres Bit = 1 bedeutet, daß zumindest ein wenig Stimmhaftigkeit vorliegt) und stellt damit keine Einschränkung für die Mikromerkmalsauswahl dar. Bei der binären Darstellung ist dies nicht so und die zwei Bits werden als nichttrennbar behandelt; somit bilden die zwei Bits immer Teil desselben Mikromerkmals. Dies erfordert einige Regeln zur Verhinderung eines Mikromerkinals mit mehr als 8 Bits (eine derartige Regelung zerstört die reine Zufallsbedingtheit der Auswahl der Bits, stellt aber nicht die Technik als solche in Frage).
  • Es sei darauf hingewiesen, daß das Zeitfenster-Merkmal die Beendigung des Erkennungsvorgangs erleichtert, wenn ein Wort endet, bevor die Ein-Sekunden-Dauer abgelaufen ist. Wenn zufällige oder andere Anordnungen verwendet werden, werden vorzugsweise alle Mikromerkinale, die ausschließlich aus Bits aus Ruheperioden bestehen, im Erkennungsvorgang ignoriert.
  • Ein weiterer Vorschlag ist die Einführung von Zeitanpassungen, um Veränderungen in der Geschwindigkeit, mit der ein gegebenes Wort gesprochen wird, handhaben zu können. Wenn ein Wort im Vergleich zu den Worten, anhand derer die Schablone geübt wurde, langsam gesprochen wird, treten Mikromerkinale in der Mitte oder am Ende des Worts später auf, obwohl Mikromerkinale am Anfang des Wort s zeitlich übereinstimmend auftreten.
  • Dies kann unter Umständen dadurch aufgefangen werden, daß die nachfolgend beschriebene Zeitanpassungstechnik angewendet wird. Sie setzt eine genaue zeitliche Ausrichtung am Anfang des Wortes voraus. Da der Zeitausrichtungsvorgang wie weiter oben beschrieben dazu neigt, die durchschnittliche Ausrichtung über das gesamte Wort zu optimieren, wird der Vorgang, falls überhaupt verwendet, vorzugsweise dahingehend modifiziert, daß der Vergleich auf die ersten (beispielsweise) 200 ms des Worts beschränkt wird. Wie bei zeitlicher Ausrichtung wird die beim Schablonenerlernen angewendete Zeitanpassungstechnik die Toleranz der Schablone gegenüber Veränderungen in der Aussprachegeschwindigkeit verringern, wenn die Technik nicht auch im Erkennungsmodus verwendet wird.
  • Nimmt man zunächst an, daß die grundlegenden Mikromerkmalswerte auf der Grundlage zugewiesen wurden, daß jedes maximal 50 ms umfaßt, werden zusätzliche Mikromerkmale wie folgt erzeugt: Die ersten 200 Mikromerkinale erzeugen lediglich einen Wert. Die nächsten 200 erzeugen zwei Werte, wobei die Bits aus zwei Fenstern kommen, die zeitlich um 20 ms gegeneinander verschoben sind, die jedoch innerhalb dieser Fenster identische Zuordnungen haben. (Wenn der Zuordnungsoperator als achtzinkige, stark gebogene Gabel veranschaulicht wird, die in das Datenfeld gesteckt wird, um die ein Mikromerkmal bildenden Bits aufzunehmen, wird der zeitangepaßte Mikromerkmalswert erzeugt, indem die gleiche Gabel auf das Datenfeld 20 ms später gesteckt wird).
  • Die nächsten 200 erzeugen drei Werte aus drei Fenstern, von denen jedes zeitlich um 20 ms verschoben ist, und so weiter bis zu den letzten 200, die in fünf Formen vorliegen. Die Gesamtzahl der Mikromerkmale ist somit 200 · (1 + 2 + 3 + 4 + 5), also 3000, bei diesem Schema. Die zeitliche Spreizung der letzten 200 wird 100 ms sein, was einer Zeitanpassung von ±5% entspricht. Das tatsächliche Ausmaß der angewandten Zeitanpassung muß dann auf der Grundlage von Experimenten gewählt werden; die angegebenen Zahlen sind lediglich beispielhaft zu verstehen.
  • Während des Lernens wird Mikromerkmal 201 (beispielsweise) zwei Werte für jede Aussprache haben; nimmt man fünf Lern- Aussprachen an, ergeben sich zehn Werte. Ergibt sich keine Wiederholung eines Wertes während der verschiedenen Aussprachen, wird ein wert beliebig aus jeder Aussprache ausgewählt, diesem wird die Häufigkeit 1 gegeben. Jedem Wert wird eine Häufigkeit gegeben (also die Anzahl der verschiedenen Aussprachen, die diesen Wert erzeugten) und die fünf Werte mit den höchsten Häufigkeiten werden in der Schablone gespeichert. Genauso gilt für die späteren Mikromerkmale mit mehreren Werten: Jedem Wert wird eine Häufigkeit gleich der Anzahl der verschiedenen Aussprachen, die den gleichen Wert erzeugen, gegeben, und die fünf Werte mit den höchsten Häufigkeiten werden in der Schablone für das gewählte Wort gespeichert.
  • Im Erkennungsmodus wird die im Eingangsfeldspeicher gespeicherte Information verarbeitet, so daß sich 3000 Mikromerkmalswerte ergeben. Deren Merkmale werden zur Bildung eines Datenfelds verwendet, das hier als "Tabelle" bezeichnet wird, sie hat die Größe von 1000 auf 256 und bildet einen Teil der Suchsteuerung 19 aus Fig. 3. Der Index (von 1 bis 1000) jedes Mikromerkmals adressiert eine Zeile dieser Tabelle, und eine 1 wird in die dem Wert (von 1 bis 256) des Mikromerkmals entsprechende Spalte geschrieben. Die ersten 200 Zeilen werden somit eine 1 haben, die Zeilen 201 bis 400 eine oder zwei 1en usw. bis hinauf zu fünf 1en in den letzten 200 Zeilen.
  • Die Tabelle wird nun durch die gespeicherten Mikromerkmalswerte, die die Schablone für jedes Wort bilden, adressiert. Insbesondere adressiert jeder Mikromerkmalswert aus einer Schablonenadresse die Zeile in der Tabelle, die den gleichen Index hat, sowie die Spalte mit ihrem Wert, und wenn eine 1 vorliegt, wird die Häufigkeit des Mikromerkmalswerts als dessen Gewichtung behandelt, ausgelesen und aufaddiert, um zu einem Gesamtmaß zu gelangen. Wie weiter oben beschrieben wird dies normalisiert, indem durch das Maximalmaß, das das unbekannte Wort erreichen kann, dividiert wird, um die relative Wahrscheinlichkeit zu ermitteln, daß das unbekannte Wort das Schablonenwort ist.
  • Für Mikromerkmal 201 und folgende gibt es zwei oder mehr Eintragungen (1en) in jeder Zeile der Tabelle. Vorzugsweise sind die Mikromerkmalswerte im Schablonenspeicher mit der höchsten Häufigkeit an der Spitze angeordnet, so daß die erste auszulesende Häufigkeit das wahrscheinlichste Maß für dieses Mikromerkmal ist. Sobald eine Übereinstimmung festgestellt wurde, wird das nächste Mikromerkmal adressiert. Genauso muß bei der Bestimmung des maximalen Maßes für eine beliebige Schablone lediglich die Häufigkeit an der Spitze der dem jeweiligen Index entsprechenden Liste ausgelesen und aufaddiert werden.
  • Dies wird für alle gespeicherten Schablonen wiederholt, und die Identität der Schablone, die die höchste relative Wahrscheinlichkeit erreicht, wird als das Wort ausgegeben, das als am besten mit dem unbekannten Wort übereinstimmend angesehen wird.
  • Dieser Anpassungsvorgang stellt eine quasilineare Verzerrung der Zeitachse dar und kann aufgrund der eingegrenzten Zeitfenster, innerhalb derer die Bits eines gegebenen Mikromerkmals liegen, durch einfache Verschiebung erreicht werden. Wenn vollständig wahlfreie Zuordnung der Bits verwendet wird, müßten die einzelnen Bits des Mikromerkmals um Beträge verschoben werden, die von ihrer zeitlichen Position innerhalb des Eingangsdatenfelds (entsprechend einer elastischen Gabel) abhängen. Diejenigen Mikromerkmale, die Bits aus den letzten 200 ms enthalten, liegen in 5 Formen vor, wobei die einzelnen Bits geeignet in quasilinearer Weise angepaßt sind. Diejenigen, die Bits enthalten, die nicht später zeitlich liegen als das Intervall 600 bis 800 ms nach dem Start des Eingangsdatenfelds liegen in 4 Formen vor usw., so daß ein Mikromerkmal, dessen Bits in das anfängliche 200 ms Intervall fallen, in nur einer Form vorliegt.
  • Statistisch gesehen wird die Gesamtzahl der Mikromerkmalswerte bei diesem Schema die gleiche sein, also 3000. Die Wirkungsweise dieser Technik ist sehr ähnlich zu der weiter oben beschriebenen Technik.
  • Es wird nun die Eingangsverarbeitung 12 weiter beschrieben. Es gibt eine Anzahl möglicher Parameter, die zur Eintragung in den Eingangsdatenspeicher hergeleitet werden können. In einer bestimmten Vorrichtung müssen sie nicht alle verwendet werden, obwohl aber, da es vorgesehen ist, daß die Parameter nur vergleichsweise grob quantisiert werden, es wünschenswert sein kann, Frequenzschwerpunktsparameter und Zeitschwerpunktsparameter auf der Grundlage, daß die bei der Quantisierung verlorene Information in den beiden Fällen verschieden ist, aufzunehmen. Mögliche Merkmale sind die folgenden:
  • i) Gesamtenergie innerhalb des Sprachfrequenzbands
  • ii) Maß für die Stimmhaftigkeit/Stimmlosigkeit
  • iii) spektrale Energiepegel - also Energiepegel innerhalb einer Anzahl von Frequenzbändern, die den Bereich überdecken.
  • iv) Spektrale Energiegradienten - also die Differenzen zwischen den Pegeln in benachbarten Bändern wie in (iii) beschrieben.
  • v) Spektrale Energie-Zeit-Profile - also die Differenzen zwischen den Energiepegeln in einer Anzahl von Frequenzbändern in aufeinanderfolgenden Abtastzeiträumen
  • vi) Nulldurchgangsrate - die Anzahl von Nulldurchgängen der Sprachwellenform während einer gegebenen Zeitdauer
  • vii) Krümmungsrate - die Anzahl stationärer Punkte (Maximum und Minimum) in der Sprachwellenform während einer gegebenen Zeitdauer
  • viii) zusätzliche stationäre Punkte - der Unterschied zwischen (vii) und (vi).
  • Im folgenden werden Verwirklichungen für jede dieser Parameter angedeutet, zugrundegelegt wird eine Abtastrate von beispielsweise eine Abtastung pro 10 ms:
  • i) Energie
  • Ein Filter, der das gesamte genutzte Sprachfrequenzband erfaßt, etwa 200 Hz bis 5000 Hz (6 dB-Punkte, sanftes Abklingen) wird zur Erzeugung eines Energieprofils des Worts verwendet. Der absolute Ausgangspegel des Filters wird durch vier Bits, also 16 Pegel dargestellt, die dann grob und in nichtlinearen Intervallen quantisiert werden; jeder der 16 Pegel wird einem von (beispielsweise) vier oder fünf neuen Werten zugeordnet. Für eine kontinuierliche Größe wie die Energie wird eine Balkencodierung verwendet, drei Möglichkeiten sind: Ruhe also Energie untger einem Schwellenwert gering mäßig merklich laut
  • Prinzipiell kann eine Normalisierung vorgenommen werden, indem der tatsächliche dynamische Bereich der Eingangsenergiepegel über einige geeignete Zeitperioden aufgezeichnet wird und die Zuordnung zu den Parametercodes entsprechend angepaßt wird. Grundsätzlich ist jedoch eine automatische Verstärkungseinstellung bei Sprachverarbeitung zurückhaltend anzuwenden und sollte nur sehr langsam greifen.
  • ii) Maß für Stimmhaftigkeit bzw. Stimmlosigkeit
  • Das Verhältnis von niederfrequenter Energie zu hochfrequenter Energie wird als Maß für die Stimmhaftigkeit verwendet. Ein Zwei-Bit-Code kann angemessen sein, nämlich:
  • 00 unbestimmt, also Pegel zu niedrig für signifikantes Verhältnis
  • 01 stimmlos - Verhältnis geringer als ein Schwellenwert
  • 10 mittlere Stimmhaftigkeit
  • 11 stimmhaftig
  • Geeignete Frequenzbereiche für die zwei Filter sind: Tiefband, 300 Hz bis 1600 Hz, 3 dB-Punkte; Hochband, 2300 Hz bis 5000 Hz, 3 dB-Punkte, beide mit sanftem Abklingen. Die Energiepegel in den Filtern können durch vier-Bit-lineare Codierung dargestellt werden. Die Zuordnung ihres Verhältnisses zum Parametercode wäre vermutlich nichtlinear und jedenfalls abhängig davon, daß das eine oder das andere über einem geeigneten Schwellenpegel liegt (unterschiedlich für jedes Filterband).
  • iii) Spektrale Energiepegel
  • Spektralanalyse wird durch eine Bank von 16 Filtern ausgeführt, die den Bereich zwischen 200 Hz und 5000 Hz abdecken, wobei die Mittenfrequenzen logarithmisch voneinander beabstandet zwischen 250 Hz und 4500 Hz liegen, mit 4,5 dB Dämpfung an den Überlappungspunkten. Die Ausgänge der Filter werden alle 10 ms abgetastet, linear mit vier Bits codiert und dann für die Zuordnung zu Parametercodes stark quantisiert. Drei oder vier nichtlineare Pegel sind vermutlich ausreichend, sie können durch Balkencodierung dargestellt werden (zwei oder drei Bits), also unter einem Schwellenwert niedrig mittel hoch
  • Auch hier kann wieder, wie unter (i) besprochen, eine Normalisierung vorgenommen werden, es gelten die gleichen Vorsichtsmaßregeln.
  • iv) Spektrale Energiegradienten
  • Die linear codierten Ausgaben aus der Filterbank werden-ein zweites Mal untersucht, um einen anderen Satz von Parametercodes zu erstellen. Diese sind für alle 10 ms die Energiedifferenzen aufsteigend von niedrigen Frequenzen zu hohen Frequenzen. Es gibt 15 von ihnen, sie werden vergleichsweise grob quantisiert wie folgt:
  • 00 unbestimmt - beide Pegel unter einem Schwellenwert
  • 01 "-": Differenz negativ
  • 10 "+": Differenz positiv
  • 11 "=": Differenz geringer als Schwellenwert
  • Wenn das Maß für die Stimmhaftigkeit bzw. Stimmlosigkeit teilweise oder volle Stimmhaftigkeit anzeigt, zeigt eine Folge (aufsteigend von niedrigen zu hohen Frequenzen) [+, -] oder [+, =, -] ein Maximum an, das als ein Formant identifiziert werden kann. Es ist bekannt, daß Formantenverhältnisse wichtige "quasiinvariante" Parameter der Sprache sind. Die Verwendung logarithmisch beabstandeter Filter ermöglicht somit die Darstellung dieser Verhältnisse durch einfaches Neuzuordnen der Codes derart, daß die niedrigsten Formanten auf denselben Pegel gebracht werden.
  • Man stelle sich nun vor, daß die obigen Codes auf vertikale Papierstreifen geschrieben werden, einen für jeweils aufeinanderfolgende 10 ms-Intervalle. Wenn die niedrigste Eintragung, entsprechend der Differenz zwischen den Energiepegeln der zwei niedrigsten Filter, + ist, wird der erste Formant als über dem niedrigsten Filter liegend angesehen. Nun bewegt man sich längs des Streifens nach unten, bis die neue Eintragung am ursprünglichen Pegel entweder ein = oder - ist. Der erste Formant ist dann ausgerichtet auf (bzw. leicht unter) dem ursprünglichen Pegel, der als Kennlinie verstanden wird. Wenn die niedrigste Eintragung ein = ist, nimmt man an, daß der erste Formant zwischen den zwei niedrigsten Filterbändern liegt, und der Streifen verbleibt ungeändert. Ist die niedrigste Eintragung ein -, nimmt man an, daß der erste Formant unter dem niedrigsten Filterband liegt, jedoch hoffentlich nicht zu weit darunter, und der Streifen verbleibt abermals unverändert.
  • Auf diese Weise werden die ersten Formanten alle (grob) auf die Merklinie ausgerichtet. Da die Filter logarithmisch beabstandet sind, zeigt die Position des nächsten Maximums, wiedergegeben durch die Folge [+, -] oder [+, =, -], das Verhältnis des zweiten zum ersten Formanten, und die Position des nächsten Maximums zeigt das Verhältnis des dritten zum ersten.
  • Das Neuausrichten der spektralen Energiedifferenzen wird nur durchgeführt, wenn teilweise oder volle Stimmhaftigkeit erfaßt wurde. Ansonsten verbleiben die Eintragungen unverändert.
  • Die Neuausrichtung soll die Spracherkennung vereinfachen. Zu Zwecken der Sprechererkennung wird keine Neuausrichtung durchgeführt. Bei einem Vorgang, bei dem in einem bestimmten Stadium Sprechererkennung wichtig ist, und Spracherkennung in einem anderen, kann eine einfache Änderung des Algorithmus unter Softwaresteuerung vorgenommen werden.
  • v) Spektrale Energie-Zeit-Profile
  • Genauso wie die Energiegradienten über der Frequenz innerhalb eines 10 ms-Zeitintervalls kategorisiert werden können, können die Energiegradienten in jedem Filterband über der Zeit kategorisiert werden. Es gibt hier 16 Energiedifferenzen, die durch das gleiche Codierungsschema wie weiter oben in (iv) besprochen dargestellt werden können. Wird die teilweise oder volle Stimmhaftigkeit zur Neuausrichtung der spektralen Energiegradienten verwendet, wie im vorherigen Abschnitt beschrieben, können die Profile über der Zeit der gleichen Transformation unterworfen werden, die durch die Information betreffend den spektralen Energiegradienten zu steuern ist.
  • vi) Nulldurchgangsrate
  • Die Anzahl der Nulldurchgänge, die in einem festen Zeitintervall, beispielsweise 2,5 ms, auftreten, wird gezählt und geeignet codiert beispielsweise wie folgt:
  • 0000 kein Nulldurchgang
  • 0001 1 oder 2 Durchgänge
  • 0011 3, 4 oder 5 Durchgänge
  • 0111 6 bis 11 Durchgänge
  • 1111 12 bis 20 Durchgänge
  • Die maximale Anzahl von Nulldurchgängen wäre 8 · (Periode in ms), die Periode könnte vergrößert oder verkleinert werden, falls notwendig. Vor der Codierung kann eine Art der Glättung oder Filterung notwendig werden, beispielsweise Schnittbildung für drei aufeinanderfolgende Werte, oder Anwenden eines fir-Filters mit Koeffizienten beispielsweise 1/4, 1/2, 1/4.
  • vii) Krümmungsrate
  • Die Anzahl der stationären Punkte (Maxima und Minima) in einer festen Periode werden gezählt und codiert. Die Periode ist die gleiche wie bei der Feststellung der Nulldurchgangsrate, und ein ähnliches Codierungsschema kann verwendet werden, eventuell nach Glättung, also Extrema
  • viii) Zusätzliche stationäre Punkte
  • Auf der Suche nach kompakten und möglicherweise aussagekräftigen Parametern aus der Wellenform kann es sinnvoll sein, die zusätzliche Anzahl stationärer Punkte im Vergleich zu den Nulldurchgängen zu betrachten. Der Parameter würde zwischen 0 und 20 variieren. Nach Glättung könnte er wie folgt dargestellt werden:
  • 000 0 bis 2 zusätzliche Extrema
  • 001 3 bis 6 zusätzliche Extrema
  • 011 7 bis 12 zusätzliche Extrema
  • 111 13 bis 20 zusätzliche Extrema
  • Eine mögliche Auswahl aus dem Obigen zur Erstellung der weiter oben vorgeschlagenen 80-Bit-Zuordnung kann wie folgt aussehen:
  • a) Gesamtsprachenergie 4 Bits
  • b) Anzahl der stationären Punkte: 4 · 3 Bits, also 12 Bits
  • c) spektrale Energiepegel: 16 · 2 Bits, also 32 Bits
  • d) spektrale Energiegradienten: 15 · 2 Bits, also 30 Bits
  • e) Stimmhaftigkeitsmaß: 2 Bits
  • Gesamt: 80 Bits
  • Im weiter oben beschriebenen Maßbildungsverfahren liegt eine Paradoxie. Es sei angenommen, daß bei der Bildung der Schablone fünf Aussprachen verwendet werden, und daß vier von diesen identisch sind, während die fünfte mit diesen vieren kein Mikromerkmal gemeinsam hat. Eine Wiederholung der wiederholt aufgetretenen Aussprache wird zu einem Maß von 100% führen, während eine Wiederholung der einfach auftretenden Aussprache zu einem Maß von 25% führt, der maximal zu erreichende Wert, obwohl sie genauso gültig ist wie die wiederholt auftretenden Aussprachen.
  • Ein Weg, diese Erscheinung zu berücksichtigen, ist es, die Anzahl der zum Gesamtmaß hinzuaddierten Nullen zu zählen. Wird diese Zahl vergleichsweise klein, ist es ein Hinweis auf eine große Anzahl von Übereinstimmungen zwischen gespeicherten Werten von Mikromerkmalen und Werten der unbekannten Aussprache, gleichwohl kann sie mit einem niedrigen Maß verknüpft sein. In dieser Situation kann eine bestimmte Gewichtung auf das tatsächliche Maß angewendet werden. Statt dessen kann aber auch anstelle der Verwendung der Häufigkeit des Auftretens als auf zuaddierende Gewichtung eine monotone Funktion der Häufigkeit verwendet werden, beispielsweise über eine Nachschlagetabelle. Eine Annäherung an die Quadratwurzel der Häufigkeit wird als geeignete Funktion vorgeschlagen.
  • Eine andere mögliche Variante ist das Vorsehen einer beschleunigten Verarbeitung. Bei einer solchen Option, wo Mikromerkmale aus begrenzten Zeitfenstern abgeleitet werden
  • - können die aus frühen Bereichen der unbekannten Aussprache abgeleiteten Mikromerkmale zur Bestimmung beispielsweise jener 25% der Schablone, bei der die Maßbildung am wahrscheinlichsten ist, verarbeitet werden. Wenn dieser Vorgang beendet ist, wurden weitere Mikromerkmalswerte erzeugt, diese können für eine endgültige Sortierung der ausgewählten 25% verwendet werden (es kann auch ein dreistufiger Vorgang angewendet werden, dies hängt ab von der Verarbeitungsgeschwindigkeit und von der Anzahl der Schablonen).
  • Alternativ hierzu kann für eine erste Sortierung eine wahlfreie Auswahl von Mikromerkmalen verwendet werden, woran sich eine oder mehrere weitere Sortierungen anschließen. Als Sicherung für eine dieser Optionen kann auch die normale Verarbeitung ausgeführt werden, um für eine getroffene Maßnahme als Ergebnis des beschleunigten Ergebnisses eine Korrektur bereitzuhalten, falls sich dieses als falsch herausstellte.

Claims (23)

1. Mustererkennungsvorrichtung mit:
(a) einer Eingabeeinrichtung, um aus einem Eingangssignal ein Bitmuster zu erzeugen,
(b) einer Einrichtung zum Speichern von Zuordnungsdaten, die Gruppen von aus dem Muster ausgewählten Bits definieren,
(c) einem Schablonenspeicher, und,
(d) einer Steuerungseinrichtung, die
(i) im Lernmodus es veranlaßt, für jede der definierten Gruppen die Häufigkeit, mit der Bitkombinationen innerhalb der jeweiligen Gruppe in mehreren der Muster auftreten, im Schablonenspeicher zu speichern, und
(ii) im Erkennungsmodus es veranlaßt, auf ein unbekanntes, von der Eingabeeinrichtung geliefertes Signal hin für jede definierte Bitgruppe, die aus dem unbekannten Muster ausgewählt wurde, nach Maßgabe der Bits der Gruppe die Häufigkeit, falls vorhanden, die im Schablonenspeicher für diese besondere Bitkombination gespeichert ist, abzurufen, um ein Ähnlichkeitsmaß für das unbekannte Muster als Funktion der abgerufenen Häufigkeiten zu bilden, und eine Ausgabe zu erzeugen, die eine erfolgreiche Erkennung anzeigt oder die in sonstiger Weise davon abhängt, ob das Ähnlichkeitsmaß ein Erkennungskriterium erfüllt; und
(iii) im Erkennungsmodus für jede Gruppe, für die bereits im Schablonenspeicher eine Häufigkeit für eine bestimmte, im unbekannten Muster auftretende Bitkombination gespeichert ist und für die das Erkennungskriterium erfüllt ist, die gespeicherte Häufigkeit zu erhöhen.
2. Vorrichtung nach Anspruch 1, mit mehreren Schablonenspeichern, wobei die Steuerungseinrichtung eine Vergleichseinrichtung aufweist, die eine Ausgabe erzeugt, die denjenigen Schablonenspeicher identifiziert, für den das Ähnlichkeitsmaß das Erkennungskriterium erfüllt.
3. Vorrichtung nach Anspruch 1 oder 2, bei der im Erkennungsmodus die Steuerungseinrichtung für jede Gruppe, für die bisher im Schablonenspeicher noch keine Häufigkeit für die im unbekannten Muster gegebenenfalls auftretende Bitkombination gespeichert ist und für die das Erkennungskriterium erfüllt ist, eine Häufigkeit in diesen Schablonenspeicher bezüglich dieser Gruppe mit dieser Kombination schreibt.
4. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Steuerungseinrichtung die Häufigkeitsanpassung und Häufigkeitseintragung, wenn überhaupt, dann durchführt, wenn ein der Steuerungseinrichtung zugeführtes externes Signal vorliegt oder nicht, das jeweils die erfolgreiche Erkennung bestätigt oder nicht bestätigt.
5. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der der oder die Schablonenspeicher für jede Gruppe einen jeweiligen Abschnitt hat/haben, der mehrere Eintragungen aufweist, von denen jede einen Ort zum Speichern einer bestimmten Bitkombination sowie einen Ort zum Speichern der dieser Kombination zugeordneten Häufigkeit aufweist.
6. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Eingabeeinrichtung Sprachsignale empfängt und ein Bitmuster erzeugt, das für ein Sprachintervall typische Merkmale des Sprachsignals in aufeinanderfolgenden Zeiträumen dieses Intervalls darstellt.
7. Vorrichtung nach Anspruch 6, bei der die Vorrichtung dazu ausgelegt ist, Gruppen außer acht zu lassen, die ausschließlich von Teilen des Musters hergeleitet wurden, die Ruhe darstellten.
8. Vorrichtung nach Anspruch 6 oder 7, bei der die Zuordnungsdaten Bitgruppen darstellen, die zufällig aus dem Muster gewählt wurden.
9. Vorrichtung nach Anspruch 6 oder 7, bei der die Zuordnungsdaten Bitgruppen darstellen, die alle Bits aufweisen, die aus einem begrenzten Zeitfenster des Musters ausgewählt wurden.
10. Vorrichtung nach Anspruch 9, bei der die Mehrzahl der Gruppen aus unterschiedlichen Zeitfenstern gleicher Dauer gewählt wurden.
11. Vorrichtung nach Anspruch 9 oder 10, bei der die Gruppen in eine erste Kategorie und nachfolgende spätere Kategorien unterteilt sind, von denen jede aus Gruppen besteht, die aus späteren Zeitfenstern abgeleitet sind als die Gruppen der vorhergehenden Kategorie, und wobei die Steuerungseinrichtung zumindest im Erkennungsmodus für jede Gruppe außer denjenigen der ersten Kategorie eine oder mehrere weitere Gruppen auswählt, die jeweils aus Bits bestehen, die in bezug auf die Bitzuordnungen der Gruppe, der sie zugeordnet ist, um einen Betrag zeitverschoben sind, der für alle Bits der Gruppe der gleiche ist, wobei die Anzahl der zusätzlichen ausgewählten Gruppen und der Bereich der Zeitverschiebung, die sie erfahren, allmählich für aufeinanderfolgende Kategorien zunimmt.
12. Vorrichtung nach Anspruch 8, bei der die Steuerungseinrichtung zumindest im Erkennungsmodus zusätzlich zu den Bitgruppen weitere Bitgruppen auswählt, die jeweils mit einer der Bitgruppen in Beziehung stehen und die aus Bits bestehen, die in bezug auf die Bitzuordnungen der in Beziehung stehenden Gruppe um einen Betrag zeitverschoben sind, der mit der zeitlichen Position des Bits innerhalb des Musters in Beziehung steht.
13. Vorrichtung nach Anspruch 11 oder 12, bei der die Steuerungseinrichtung den Auswahlvorgang für die zusätzlichen Bitgruppen auch im Lernmodus durchführt, nachdem zumindest ein Muster im Lernmodus verarbeitet wurde.
14. Vorrichtung nach einem der Ansprüche 6 bis 13, bei der die Steuerungseinrichtung zumindest im Erkennungsmodus einen zeitlichen Ausrichtungsvorgang durchführt, der es umfaßt, das Ähnlichkeitsmaß für das Muster mit mehreren zeitlichen Ausrichtungen zu bilden und das Muster mit derjenigen zeitlichen Ausrichtung zu verarbeiten, das das Ähnlichkeitsmaß ergibt, das die größte Ähnlichkeit anzeigt.
15. Vorrichtung nach Anspruch 14, bei der die Steuerungseinrichtung den zeitlichen Ausrichtungsvorgang auch im Lernmodus verarbeitet wurde.
16. Vorrichtung nach Anspruch 14 oder 15, soweit sie von Anspruch 11, 12 oder 13 abhängen, bei der der zeitliche Ausrichtungsvorgang auf einen frühen Bereich des Musters begrenzt ist.
17. Vorrichtung nach einem der Ansprüche 6 bis 16, bei der die Eingabeeinrichtung dazu ausgelegt ist, für jede Zeitperiode mehrere Bits zu erzeugen, von denen einige ein typisches Merkmal der Wellenform des Sprachsignals darstellen, und von denen andere einen Kennwert des Frequenzspektrums des Signals darstellen.
18. Vorrichtung nach einem der Ansprüche 6 bis 17, bei der die Eingabeeinrichtung dazu ausgelegt ist, für jede der Zeitperioden mehrere Bits zu erzeugen, die Bits aufweisen, die zwei oder mehr der folgenden Kennwerte darstellen:
(i) Gesamtenergie innerhalb des Sprachfrequenzbands,
(ii) ein Maß für die Stimmhaftigkeit/Stimmlosigkeit,
(iii) die Energiepegel innerhalb einer Anzahl von jeweiligen Frequenzbändern,
(iv) der Unterschied zwischen den Pegeln in benachbarten, in (iii) genannten Bändern,
(v) die Unterschiede zwischen den Energiepegeln innerhalb einer Anzahl jeweiliger Frequenzbänder in aufeinanderfolgenden Abtastperioden,
(vi) die Anzahl der Nulldurchgänge der Sprachwellenform während einer gegebenen Periode, (vii) die Anzahl der stationären Punkte in der Sprachwellenform während einer gegebenen Periode.
19. Vorrichtung nach Anspruch 18, bei der die Eingabeeinrichtung dazu ausgelegt ist, für jede Zeitperiode Bits zu erzeugen, die Werte entsprechend den Differenzen zwischen Energiepegeln in benachbarten, in (iii) genannten Bändern darstellen, wobei die Bänder logarithmisch beabstandete Mittenfrequenzen haben, und bei der für jede Zeitperiode jeder Wertesatz, betrachtet man sie in aufsteigender Reihenfolge hinsichtlich der Frequenz, vor Eintragung in das Bitmuster falls notwendig derart verschoben wird, daß der in der Reihenfolge am weitesten unten stehende Wert, der einen Energiepegel bei einem höheren Frequenzband darstellt, der gleich oder niedriger als der Energiepegel in einem niedrigeren Frequenzband darstellt, mit einem Datum versehen wird.
20. Vorrichtung nach einem der Ansprüche 6 bis 19, bei der zumindest ein typischer Wert des Sprachsignals in dem Muster durch zwei oder mehr Bits dargestellt wird, deren Bedeutung wechselweise voneinander abhängen, und wobei die Auswahl der eine Gruppe oder eine zusätzliche Gruppe bildenden Bits derart vorgenommen wird, daß diese zwei oder mehreren Bits für die gleiche Gruppe gewählt werden.
21. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der das Ähnlichkeitsmaß die Bildung der Summe der abgerufenen Häufigkeiten umfaßt.
22. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der das Ähnlichkeitsmaß die Bildung der Summe der Quadratwurzeln der abgerufenen Häufigkeiten umfaßt.
23. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der jede Gruppe die gleiche Anzahl (n) von Bits hat.
DE3852678T 1987-07-09 1988-07-07 Mustererkennung. Expired - Fee Related DE3852678T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB878716194A GB8716194D0 (en) 1987-07-09 1987-07-09 Speech recognition

Publications (2)

Publication Number Publication Date
DE3852678D1 DE3852678D1 (de) 1995-02-16
DE3852678T2 true DE3852678T2 (de) 1995-05-11

Family

ID=10620380

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3852678T Expired - Fee Related DE3852678T2 (de) 1987-07-09 1988-07-07 Mustererkennung.

Country Status (9)

Country Link
US (1) US5065431A (de)
EP (1) EP0300648B1 (de)
JP (1) JPH02500864A (de)
AT (1) ATE116758T1 (de)
AU (2) AU605335B2 (de)
DE (1) DE3852678T2 (de)
GB (1) GB8716194D0 (de)
HK (1) HK138896A (de)
WO (1) WO1989000747A1 (de)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272241B1 (en) 1989-03-22 2001-08-07 British Telecommunications Public Limited Company Pattern recognition
GB8906558D0 (en) * 1989-03-22 1989-05-04 British Telecomm Pattern recognition
US5125039A (en) * 1989-06-16 1992-06-23 Hawkins Jeffrey C Object recognition system
JP2808906B2 (ja) * 1991-02-07 1998-10-08 日本電気株式会社 音声認識装置
DE4133590A1 (de) * 1991-07-03 1993-01-14 Bosch Gmbh Robert Verfahren zur klassifikation von signalen
US5428707A (en) * 1992-11-13 1995-06-27 Dragon Systems, Inc. Apparatus and methods for training speech recognition systems and their users and otherwise improving speech recognition performance
US5920837A (en) * 1992-11-13 1999-07-06 Dragon Systems, Inc. Word recognition system which stores two models for some words and allows selective deletion of one such model
US6092043A (en) * 1992-11-13 2000-07-18 Dragon Systems, Inc. Apparatuses and method for training and operating speech recognition systems
EP0602296A1 (de) * 1992-12-17 1994-06-22 International Business Machines Corporation Adaptives Verfahren zur Erzeugung gebietsabhängiger Modelle für intelligente Systeme
US5649023A (en) * 1994-05-24 1997-07-15 Panasonic Technologies, Inc. Method and apparatus for indexing a plurality of handwritten objects
US5710916A (en) * 1994-05-24 1998-01-20 Panasonic Technologies, Inc. Method and apparatus for similarity matching of handwritten data objects
JPH07319924A (ja) * 1994-05-24 1995-12-08 Matsushita Electric Ind Co Ltd 手書き電子文書のインデックス付けおよび探索方法
US5661763A (en) * 1995-07-28 1997-08-26 Adtran, Inc. Apparatus and method for detecting programmable length bit pattern in serial digital data stream
ATE208516T1 (de) 1998-02-05 2001-11-15 Intellix As Klassifizierungssystem und -verfahren mit n-tuple-oder ram-basiertem neuronalem netzwerk
JP4580508B2 (ja) * 2000-05-31 2010-11-17 株式会社東芝 信号処理装置及び通信装置
US7142699B2 (en) * 2001-12-14 2006-11-28 Siemens Corporate Research, Inc. Fingerprint matching using ridge feature maps
US20060235662A1 (en) * 2005-04-15 2006-10-19 Argentar David R Eliminating redundant patterns in a method using position indices of symbols to discover patterns in sequences of symbols
US7697827B2 (en) 2005-10-17 2010-04-13 Konicek Jeffrey C User-friendlier interfaces for a camera
US7676360B2 (en) * 2005-12-01 2010-03-09 Sasken Communication Technologies Ltd. Method for scale-factor estimation in an audio encoder
KR100930047B1 (ko) * 2007-01-12 2009-12-08 삼성전자주식회사 다중 채널 무선통신 시스템에서 동적 채널 할당 장치 및방법
US20090216968A1 (en) * 2008-02-27 2009-08-27 Martin Gregory D Method and apparatus for storing sequential sample data as memories for the purpose of rapid memory recognition using mathematic invariants
EP3598086B1 (de) 2016-12-29 2024-04-17 Samsung Electronics Co., Ltd. Verfahren und vorrichtung zur erkennung von lautsprechern mittels resonator
CN113008418A (zh) * 2021-02-26 2021-06-22 福州大学 一种压阻型柔性触觉传感器

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3521235A (en) * 1965-07-08 1970-07-21 Gen Electric Pattern recognition system
US4087630A (en) * 1977-05-12 1978-05-02 Centigram Corporation Continuous speech recognition apparatus
US4319085A (en) * 1980-04-08 1982-03-09 Threshold Technology Inc. Speech recognition apparatus and method
US4513436A (en) * 1980-09-16 1985-04-23 Oki Electric Industry, Co., Ltd. Speech recognition system
US4490847A (en) * 1981-11-27 1984-12-25 National Research Development Corporation Recognition apparatus
GB8427165D0 (en) * 1984-10-26 1984-12-05 British Telecomm Adaptive recognising device
US4852171A (en) * 1984-11-09 1989-07-25 Alcatel Usa Corp. Apparatus and method for speech recognition
US4760604A (en) * 1985-02-15 1988-07-26 Nestor, Inc. Parallel, multi-unit, adaptive, nonlinear pattern class separator and identifier
US4805225A (en) * 1986-11-06 1989-02-14 The Research Foundation Of The State University Of New York Pattern recognition method and apparatus

Also Published As

Publication number Publication date
JPH02500864A (ja) 1990-03-22
EP0300648A1 (de) 1989-01-25
EP0300648B1 (de) 1995-01-04
US5065431A (en) 1991-11-12
AU605335B2 (en) 1991-01-10
HK138896A (en) 1996-08-02
AU1969488A (en) 1989-02-13
AU6383490A (en) 1991-01-03
GB8716194D0 (en) 1987-08-12
AU637144B2 (en) 1993-05-20
DE3852678D1 (de) 1995-02-16
WO1989000747A1 (en) 1989-01-26
ATE116758T1 (de) 1995-01-15

Similar Documents

Publication Publication Date Title
DE3852678T2 (de) Mustererkennung.
DE2953262C2 (de)
DE69030561T2 (de) Spracherkennungseinrichtung
DE3884880T2 (de) Billige Spracherkennungseinrichtung und Verfahren.
EP0299572B1 (de) Verfahren zur Erkennung von zusammenhängend gesprochenen Wörtern
DE2753707A1 (de) Einrichtung zur erkennung des auftretens eines kommandowortes aus einer eingangssprache
DE2326517A1 (de) Verfahren und schaltungsanordnung zum erkennen von gesprochenen woertern
EP0690436A2 (de) Start-/Endpunkt-Detektion zur Worterkennung
DE2844156A1 (de) Verfahren zum verifizieren eines sprechers
DE2347738A1 (de) Spracherkennungsverfahren und vorrichtung zur durchfuehrung desselben
EP0533260A2 (de) Verfahren und Anordnung zum Erkennen der gesprochenen Wörter in einem Sprachsignal
EP0533261A2 (de) Verfahren und Anordnung zum Erkennen gesprochener Wörter in einem Sprachsignal
EP0285221A2 (de) Verfahren zum Erkennen kontinuierlich gesprochener Wörter
EP1214703B1 (de) Verfahren zum trainieren der grapheme nach phonemen regeln für die sprachsynthese
DE3237613A1 (de) Spracherkennungs-verfahren und -vorrichtung fuer kontinuierliche sprache
DE3878895T2 (de) Verfahren und einrichtung zur spracherkennung.
EP0981129A2 (de) Verfahren und Anordnung zum Durchführen einer Datenbankabfrage
EP0285222B1 (de) Verfahren zum Erkennen zusammenhängend gesprochener Wörter
DE3733391C2 (de)
DE3853702T2 (de) Spracherkennung.
DE2719175A1 (de) Schallanalysiereinrichtung
DE2920041C2 (de) Verfahren zum Verifizieren von Signalen, und Anordnung zum Durchführen des Verfahrens
DE4111781A1 (de) Computersystem zur spracherkennung
EP0803861A2 (de) Verfahren zum Ableiten charakteristischer Werte aus einem Sprachsignal
EP0417854B1 (de) Verfahren zur Erkennung von N unterschiedlichen Wortketten in einem Sprachsignal

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee