-
Die Erfindung betrifft ein Verfahren zur Auswahl eines Datensatzes aus einer relationalen Datenbank, insbesondere einer Datenbank die Musikstücke umfasst. Die Erfindung betrifft weiterhin ein System zur Auswahl eines Datensatzes aus einer relationalen Datenbank, insbesondere einer Datenbank die Musikstücke umfasst.
-
In Kraftfahrzeugen wird Sprachsteuerung eingesetzt, um Einheiten des Kraftfahrzeugs zu steuern. Beispielsweise ist es möglich, ein Autotelefon oder ein Navigationssystem des Kraftfahrzeugs durch Übermittlung von gesprochenen Befehlen zu steuern.
-
Die
US 2005/0177346 A1 zeigt ein Verfahren zur Spracherkennung bei dem Erkennungshypothesen auf Grund von früheren Zurückweisungen aus einer Trefferliste ausgeschlossen werden können.
-
Die
EP 1 393 206 B1 offenbart ein Computersystem, eine Datenstruktur, Computerprogramm-Produkt, Datenträger und ein Verfahren zur Durchführung auf einem Computersystem. Das Computersystem weist eine Einrichtung zum Speichern von Daten auf, wobei die Daten in einzelnen Datenfeldern enthalten sind, welche mittels einer Datenstruktur miteinander verknüpfbar sind und die Datenstruktur eine Ringstruktur aufweist. Die hier zugehörige Datenstruktur, ist gekennzeichnet durch einen Datenfaktor zum Speichern und Abfragen von Daten, wobei die Datenstruktur als Ringstruktur ausgebildet ist. Das durch diese Anmeldung offenbarte Verfahren umfasst die Schritte des Abspeicherns von Daten in Datenfeldern und des Abrufens von Daten aus Datenfeldern, wobei die Datenfelder mittels einer Datenstruktur miteinander verknüpft sind und die Datenstruktur als Ringstruktur ausgebildet ist.
-
Die
US 5,5448,749 A beschreibt ein Verfahren zum Betreiben eines Rechnersystems zur Erzeugung eines relationalen Datenbankschemas aus einem semantischen Objektmodell. Hierbei wir eine graphischen Benutzeroberfläche auf einer Rechneranzeige bereitgestellt, die eine Steuerung enthält, die bei Auswahl durch einen Benutzer ein semantisches Objekt in einem semantischen Objektmodell erzeugt, und Steuerungen enthält, die bei Auswahl durch einen Benutzer mit einem semantischen Objekt ein oder mehrere Attribute verknüpfen.
-
Die
DE 101 13 515 A1 betrifft ein Datenbanksystem und ein Verfahren zum Durchführen von Operationen in einem Datenbanksystem, in dem eine Vielzahl von Datensätzen in einem Speicher eines Computers abspeicherbar sind, wobei jeder Datensatz eine beliebige Anzahl von Datenfeldern umfasst. Die
DE 101 13 515 A1 zeichnet sich dadurch aus, dass eine Datenbasis des Datenbanksystems eine mehrspaltige Wertetabelle mit einer beliebigen Anzahl von Zeilen, eine Inhaltstabelle zum Speichern von Datenfeldinhalten, eine Attributtabelle zum Speichern von Datenfeldattributen und eine Objekttabelle zum Speichern von Bezügen zwischen Objekten aufweist, wobei in der Wertetabelle jede Zeile einem Datenfeld eines Datensatzes entspricht; eine Spalte Inhaltsreferenzen beinhaltet, die mehrfach für verschiedene Datenfelder vergeben sein können und jeweils eindeutig auf einen Eintrag der Inhaltstabelle referenzieren; eine weitere Spalte Attributreferenzen beinhaltet, die mehrfach für verschiedene Datenfelder vergeben sein können und jeweils eindeutig auf einen Eintrag der Attributtabelle referenzieren; und noch eine weitere Spalte Objektreferenzen beinhaltet, die mehrfach für verschiedene Datenfelder vergeben sein können, wobei die zu jeweils einer Objektreferenz gehörenden Datenfelder jeweils einen Datensatz bilden und die Objektreferenz jeweils eindeutig für einen Eintrag der Objekttabelle referenzieren.
-
Die
DE 103 31 817 A1 beschreibt ein Verfahren zur automatischen Abfrage von Informationen, die in einer Datenverarbeitungsanlage gespeichert sind. Zur Ermöglichung einer einfachen Datenabfrage bei geringem technischem Aufwand werden dazu Informationen mit einem computergestützten Verfahren automatisch und syntaxlos aus einer als semantisches Netz strukturierten Datenbank abgefragt. Dabei werden in einem Schritt a ein oder mehrere Suchbegriffe angegeben und in Schritt b als Suchbegriffs-Menge festgehalten. Im Schritt c wird eine automatische Suche nach Objektinstanzen, die eine Suchbegriffsteilmenge enthalten, ausgeführt. Enthält eine Objektinstanz alle Begriffe der Suchbegriffs-Menge, wird sie in Schritt d als eine der möglichen Lösungen erkannt. Werden Objektinstanzen gefunden, die nur eine Teilmenge der SBM enthalten, werden in Schritt e, ausgehend von mindestens einer dieser Objektinstanzen, über ihre Beziehungen weitere verbundene Objektinstanzen gesucht. Sobald in einer so entstandenen Kette alle Suchbegriffe enthalten sind, wird die kürzeste Beziehungskette in Schritt f als mögliche Lösung erkannt.
-
Die
DE 10 2005 056 551 A1 beschreibt eine Vorrichtung und ein Verfahren zur Abfrage, Bereitstellung, Verwalten und Übertragen von Zusatzdaten zu einem aus einer Mehrzahl von Videobildern bestehendem Video, bei welchem mittels Zusatzdaten oder Begriffen zugeordneter Link-Daten Benutzern von Videos inhalts- und begriffsbezogenen Link-Daten zu weiteren Web-Informationen erhalten.
-
Es ist wünschenswert, ein Verfahren sowie ein System zum zur Auswahl eines Datensatzes aus einer relationalen Datenbank anzugeben, das einen zuverlässigen und komfortablen Betrieb ermöglicht.
-
Die Erfindung ist gekennzeichnet durch ein Verfahren und ein korrespondierendes System zur Auswahl eines Datensatzes aus einer relationalen Datenbank mit einer Mehrzahl von Datensätzen.
-
Die Datensätze weisen jeweils mindestens zwei Attribute auf. Die Attribute weisen jeweils eine Art und einen Wert auf. Beispielsweise ist die Art des Attributs bei Musikstücken die Art Genre und der zugehörige Wert ist der Wert Pop. Beispielsweise ist die Art des Attributs bei Musikstücken die Art Album und der zugehörige Wert ist der Wert The Art of Silence.
-
Gemäß einer Ausführungsform der Erfindung wird eine erste Teilmenge von Datensätzen aus der relationalen Datenbank in Abhängigkeit von einer Vorgabe für die Art des ersten Attributs und unabhängig von der Vorgabe für den Wert des ersten Attributs ausgewählt. Datensätze werden aus der ersten Teilmenge in Abhängigkeit von einer Vorgabe für das zweite Attribut ausgewählt. Die ausgewählten Datensätze werden in einer zweiten Teilmenge bereitgestellt. Danach werden Datensätze aus der zweiten Teilmenge in Abhängigkeit von der Vorgabe für den Wert für das erste Attribut ausgewählt.
-
Gemäß Ausführungsformen erfolgt die Vorgabe für das erste Attribut mittels einer ersten Spracheingabe mit der Vorgabe für das erste Attribut des Datensatzes. Die erste Vorgabe wird empfangen.
-
Alternativ oder zusätzlich erfolgt gemäß Ausführungsformen die Vorgabe für das zweite Attribut mittels einer zweiten Spracheingabe mit der Vorgabe für das zweite Attribut des Datensatzes. Die zweite Vorgabe wird empfangen.
-
Gemäß weiteren Ausführungsformen erfolgt insbesondere die erste Vorgabe als haptische Eingabe, beispielsweise mittels einer grafischen Benutzeroberfläche.
-
Beispielsweise umfasst die erste Eingabe als Vorgabe für das erste Attribut als Art Genre und als Wert Pop. Andere Werte für die Art Genre sind beispielsweise Rock, Klassik oder Hörbuch. Eine andere Art für das erste Attribut umfasst beispielsweise Jahr oder eine andere Art.
-
Die erste Teilmenge wird in Abhängigkeit von der vorgegebenen Art für das erste Attribut bereitgestellt und umfasst beispielsweise alle Genres. Die Vorgabe für das gewünschte Genre, beispielsweise Pop, wird dabei nicht berücksichtigt. Nachfolgend umfasst die zweite Eingabe, insbesondere in Form einer Spracheingabe, beispielsweise als Vorgabe für das zweite Attribut das Album Sound of Silence. Aus der ersten Teilmenge, die Datensätze mit verschiedenen zugeordneten Werten für das Genre umfasst, werden die Datensätze ausgewählt, denen das Album Sound of Silence zugeordnet ist. Die aus der ersten Teilmenge ausgewählten Datensätze, denen das Album Sound of Silence zugeordnet ist, werden in einer zweiten Teilmenge bereitgestellt. Die zweite Teilmenge umfasst insbesondere Datensätze mit dem vorgegebenen Wert Pop für das Attribut Genre und umfasst auch noch Datensätze mit einem davon verschiedenen Wert für das Attribut Genre, beispielsweise Datensätze mit dem Wert Rock für das Attribut Genre.
-
Nachfolgenden werden aus der zweiten Teilmenge die Datensätze ausgewählt, die dem vorgegebenen Wert für das erste Attribut entsprechen, also beispielsweise die Datensätzen, denen das Genre Pop zugeordnet ist. Die Datensätze, denen ein anderer Wert als der vorgegebenen zugeordnet ist, werden aus der Auswahl gelöscht.
-
Somit ist eine schnelle, zuverlässige und komfortable Sprachsteuerung zur Auswahl eines oder mehrerer Datensätze aus einer Datenbank möglich, auch wenn die Datenbank eine große Anzahl an Datensätzen umfasst, beispielsweise mehr als 17000 Datensätze.
-
Gemäß Ausführungsformen umfasst die relationale Datenbank eine Mehrzahl von Musikstücken, die als Attribute sogenannte Metadaten aufweisen. Die Metadaten umfassen insbesondere Titel, Interpret, Album, Jahr und/oder Genre des jeweiligen Musikstücks. Beispielsweise sind die Metadaten in zwei Gruppen eingeteilt abhängig von der Häufigkeit ihres Auftretens in der Datenbank. Metadaten die häufig in der Datenbank auftreten und somit einer großen Anzahl von Musikstücken der Datenbank als Attribut zugeordnet sind, wie beispielsweise Jahr oder Genre, werden auch als allgemeines Metadatum bezeichnet. Metadaten die in der Datenbank weniger oft Musikstücken zugeordnet sind, wie beispielsweise Titel, Interpret oder Album, werden auch als spezifische Metadaten bezeichnet.
-
Zur Auswahl eines Musikstücks aus der relationalen Datenbank die beispielsweise eine Anzahl von mehr als 15000 Datensätzen umfasst, gibt der Nutzer mittels der ersten Spracheingabe beispielsweise ein Genre vor. Beispielsweise ist die erste Vorgabe das Genre Pop als erstes Attribut des mindestens einen auszuwählenden Datensatzes. Als zweite Vorgabe gibt der Nutzer durch die zweite Spracheingabe beispielsweise ein spezifisches Metadatum vor, beispielsweise ein Album. Beispielsweise gibt der Nutzer das zweite Attribut vor. Insbesondere erfolgt die Vorgabe für das erste Attribut zeitlich vor der Vorgabe für das zweite Attribut. Insbesondere wird die Vorgabe für das allgemeine Metadatum zuerst erfolgen und nachfolgend die Vorgabe für das spezifische Metadatum.
-
In der relationalen Datenbank, in der beispielsweise mehr als 15000 Datensätze gespeichert sind, sind beispielsweise 10000 Datensätze gespeichert, die als Attribut das Genre Pop zugeordnet haben. In der Datenbank sind beispielsweise 11 Datensätze gespeichert, die das Attribut Sound of Silence als Album zugeordnet haben. Bei dem erfindungsgemäßen Verfahren werden zunächst aus der Datenbank die Datensätze ausgewählt und als erste Teilmenge bereitgestellt unabhängig von dem jeweils zugeordneten Wert für das erste Attribut. Daraufhin werden aus der ersten Teilmenge die Datensätze ausgewählt, die mit dem zweiten, spezielleren Attribut Sound of Silence korrespondieren. Bei dieser Auswahl und Bereitstellung wird auf die Vorgabe für den Wert für das erste Attribut keine Rücksicht genommen und die Datensätze unabhängig von der Vorgabe für den Wert für das erste Attribut bereitgestellt. Nachfolgend werden aus der zweiten Teilmenge diejenigen Datensätze ausgewählt, die auch die Vorgabe für den Wert für das erste Attribut erfüllen, also beispielsweise auch das Genre Pop als Attribut zugeordnet haben. Datensätze, denen bei dem ersten Attribut Genre eine andere Musikrichtung als Pop, beispielsweise Rock, zugeordnet ist, werden aus der zweiten Teilmenge entfernt.
-
Dadurch, dass die zweite Teilmenge in Abhängigkeit der spezielleren Vorgabe beziehungsweise des spezielleren Attributs bereitgestellt wird, und erst nachfolgend die Vorgabe für den Wert für das erste Attribut berücksichtigt wird, ist das Auswählen der gewünschten Datensätze schnell und komfortabel möglich. Insbesondere ist eine Auswahl aus einer großen Anzahl von Datensätzen von beispielsweise mehr als 15000 Datensätzen einfach möglich. Somit ist es möglich, kostengünstige Hardware für das System einzusetzen.
-
Das System ist insbesondere Teil eines Kraftfahrzeugs. Durch das Verfahren beziehungsweise das System ist es möglich, dass der Nutzer des Kraftfahrzeugs durch Sprachsteuerung zuverlässig und komfortabel Musikstücke aus einer Datenbank mit mehreren 1000 Musiktitel auswählen kann.
-
Weitere Vorteile, Merkmale und Weiterbildungen ergeben sich aus dem nachfolgenden in Verbindung mit der Figur erläuterten Beispiel.
-
Die einzige Figur zeigt schematisch ein System zum Betreiben einer Sprachsteuerung gemäß einer Ausführungsform.
-
Ein System 100 umfasst eine Datenbank 101. Die Datenbank 101 ist eine relationale Datenbank und umfasst eine Mehrzahl von Datensätzen. Insbesondere umfasst die Datenbank Musiktitel, beispielsweise im MP3-Format. Die Musiktitel sind beispielsweise auf einem festen Speicher eines Kraftfahrzeugs gespeichert. Gemäß weiteren Ausführungsformen sind die Musiktitel auf einem mobilen Endgerät, beispielsweise einem Smartphone oder einem USB-Stick gespeichert, das mit dem Kraftfahrzeug koppelbar ist. Die Musiktitel der Datenbank 101 können über ein Audiosystem des Kraftfahrzeugs wiedergegeben werden.
-
Das System 100 weist eine Benutzerschnittstelle 102 auf, die mit einem Spracherkenner 103 gekoppelt ist. Durch die Benutzerschnittstelle 102 mit dem Spracherkenner 103 ist eine Sprachsteuerung zur Auswahl eines oder mehrerer Musikstücke aus der Datenbank 101 möglich. Insbesondere wird ein Musikstück zur Wiedergabe ausgewählt.
-
Zum Systemstart wird eine vollständige Liste 104 mit allen Datensätzen aus der Datenbank 101 an den Spracherkenner 103 übertragen. Insbesondere wird eine Mehrzahl von Listen 104 übertragen, jeweils eine Liste für eine Art eines Attributs der Datensätze der Datenbank 101. Beispielsweise enthält eine der Listen 104 alle Titel der Musikstücke der Datenbank 101. Eine weitere der Listen 104 enthält alle Alben der Musikstücke der Datenbank 101. Eine weitere Liste enthält alle Interpreten der Musikstücke der Datenbank 101. Eine weitere Liste enthält beispielsweise alle Jahre der Musikstücke der Datenbank 101. Eine weitere Liste der Listen 104 enthält beispielsweise alle Genres der Musikstücke der Datenbank 101. Die Liste der Genres umfasst als Werte beispielsweise die Genre Pop, Rock und Klassik und/oder weitere Werte. Die Listen sind jeweils Teilmengen von Datensätzen aus der Datenbank 101.
-
Zur Auswahl eines Musikstücks aus der Datenbank oder einer Mehrzahl von Musikstücken aus der Datenbank per Stimme gibt der Nutzer beispielsweise ein gewünschtes Genre vor. Der Spracherkenner 103 erkennt, welche Art von Attribut durch den Nutzer vorgegeben wurde, ohne zu diesem Zeitpunkt den Wert des Attributs zu berücksichtigen. Beispielsweise wird durch den Spracherkenner ermittelt, dass der Nutzer eine Vorgabe für das Genre der gewünschten Musikstücke vorgegeben hat. Somit wird aus den Listen 104 die Liste ausgewählt, die die Musikstücke aller Genres der Datenbank 101 enthält.
-
Die zweite Vorgabe per Stimme durch den Nutzer umfasst beispielsweise eine Vorgabe für den Titel des gewünschten Musikstücks. Der Spracherkenner 103 wählt aus der Liste, die die Musikstücke aller Genres enthält, eine vorgegebene Anzahl an Musikstücken aus, die dem vorgegebenen Titel am besten entsprechen. Die ausgewählten Musikstücke werden in einer weiteren Teilliste bereitgestellt. Dies erfolgt unabhängig von dem vorgegebenen Wert für das Genre. Der Spracherkenner 103 überträgt an die Benutzerschnittstelle 102 die ermittelten Musikstücke. Diese werden auch als Ergebnishypothesen bezeichnet.
-
Beispielsweise stellt der Spracherkenner 103 mindestens fünf, insbesondere mehr als zehn Ergebnishypothesen bereit. Der Spracherkenner 103 stellt gemäß Ausführungsformen mehr als 20 Datensätze für die Benutzerschnittstelle 102 bereit, insbesondere mehr als 30 Datensätze und höchstens 50 Datensätze.
-
Die Benutzerschnittstelle 102 wählt aus den Musikstücken, die durch den Spracherkenner 103 bereitgestellt wurden, diejenigen aus, denen das vorgegebene Genre zugeordnet ist. Beispielsweise werden die Musikstücke ausgewählt, die als Genre Pop zugeordnet haben und diese werden dem Nutzer als Ergebnis bereitgestellt. Diejenigen Musikstücke, die ein anderes Genre als das Vorgegebene zugeordnet haben, also beispielsweise ein anderes Genre als Pop, beispielsweise Rock oder Klassik, werden durch die Benutzerschnittstelle 102 aus der vom Spracherkenner 103 bereitgestellten Teilmenge entfernt.
-
Gemäß Ausführungsformen ist eine maximale Anzahl an Datensätzen vorgegeben, die dem Nutzer als Ergebnis bereitgestellt werden soll. Beispielsweise sollen dem Nutzer mindestens 5 und maximal 7 Musikstücke angezeigt werden, die seiner Auswahl am Besten entsprechen und mit den Sprachvorgaben den höchsten Korrelationsgrad in Bezug auf die Datensätze der Datenbank 101 aufweisen. Gemäß weiteren Ausführungsformen ist ein anderer Wert für den Maximalwert an Ergebnisdatensätzen vorgegeben, beispielsweise maximal 10 Musikstücke. Gemäß weiteren Ausführungsformen ist keine untere Grenze vorgegeben, so dass auch eine Anzahl von 0 Datensätzen möglich ist.
-
In der Figur sind Verfahrensschritte durch Pfeile schematisch dargestellt. Schritt 201 symbolisiert die Spracherkennung. Schritt 202 symbolisiert die Hypothesenbildung und Schritt 203 das Bereitstellen der aus der Liste 104 ausgewählten Datensätze als zweite Teilmenge. Schritt 204 symbolisiert den Abgleich der zweiten Teilmenge mit der Vorgabe für den Wert für das erste Attribut. Schritt 205 symbolisiert das Füllen der Listen 104 bei Systemstart. In Schritt 206 werden die nach Schritt 204 ausgewählten Datensätze aus der Datenbank abgerufen und beispielsweise über das Audiosystem des Kraftfahrzeugs wiedergegeben.
-
Dadurch, dass der Spracherkenner 103 stets mit einer der Listen arbeitet, die jeweils alle Werte eines Attributs aufweisen, ohne dass eine Auswahl von Untermengen an den Spracherkenner übertragen wird, ist es möglich, große Teilmengen aus den Datensätzen der Datenbank 101 per Sprache auszuwählen. Zudem erfolgt das Bereitstellen der Ergebnismenge schnell ohne dass unnatürlich lange Latenzzeiten auftreten. Durch das Verfahren ist es möglich aus großen Teilmengen Datensätze auszuwählen, ohne das lange Latenzzeiten entstehen.