-
GEBIET
-
Die vorliegende Beschreibung betrifft Suchmaschinen.
-
Unter Schutz gestellt werden und Gegenstand des Gebrauchsmusters sind dabei, entsprechend den Vorschriften des Gebrauchsmustergesetzes, lediglich Vorrichtungen wie in den beigefügten Schutzansprüchen definiert, jedoch keine Verfahren. Soweit nachfolgend in der Beschreibung gegebenenfalls auf Verfahren Bezug genommen wird, dienen diese Bezugnahmen lediglich der beispielhaften Erläuterung der in den beigefügten Schutzansprüchen unter Schutz gestellten Vorrichtung oder Vorrichtungen.
-
HINTERGRUND
-
Allgemein enthält eine Suchanfrage einen oder mehrere Ausdrücke, die auf eine Anforderung der Ausführung einer Suche hin zu einer Suchmaschine überreicht werden. Beispielsweise kann ein Anwender Anfrageausdrücke einer Suchanfrage durch Tippen auf einer Tastatur oder, in dem Fall einer Sprachanfrage, durch Sprechen der Anfrageausdrücke in ein Mikrophon einer Computervorrichtung eingeben. Sprachanfragen können unter Verwendung einer Spracherkennungstechnologie verarbeitet werden.
-
ZUSAMMENFASSUNG
-
Bei einigen Implementierungen kann ein Bild entsprechend einem Teilbereich einer Anzeige einer Computervorrichtung analysiert werden, um einem Anfrageverarbeitungssystem beim Antworten einer Anfrage in natürlicher Sprache zu helfen. Beispielsweise kann ein Anwender eine Frage über eine Fotografie stellen, die der Anwender auf der Computervorrichtung anschaut, wie beispielsweise "Was ist das?". Die Computervorrichtung kann die Äußerung des Anwenders erfassen und ein jeweiliges Bild der Computervorrichtung erfassen, das der Anwender anschaut. Die Computervorrichtung verarbeitet die Äußerung, um eine Transkription der durch den Anwender der Computervorrichtung gesprochenen Äußerung zu erzeugen. Die Computervorrichtung sendet bzw. überträgt die Transkription und das Bild zu einem Server.
-
Der Server empfängt die Transkription und das Bild von der Computervorrichtung. Der Server kann visuellen und textuellen Inhalt im Bild identifizieren. Der Server erzeugt Labels bzw. Etiketten für das Bild, die einem Inhalt des Bilds entsprechen, wie beispielsweise Standorte, Entitäten, Namen, Arten von Tieren, etc. Der Server kann ein bestimmtes Unterbild im Bild identifizieren. Das bestimmte Unterbild kann eine Fotografie oder eine Zeichnung sein. Bei einigen Aspekten identifiziert der Server einen Teilbereich des bestimmten Unterbilds, für den es wahrscheinlich ist, dass er von primärem Interesse für den Anwender ist, wie beispielsweise eine historische Sehenswürdigkeit im Bild. Der Server kann eine Bilderkennung auf dem bestimmten Unterbild durchführen, um Labels für das bestimmte Unterbild zu erzeugen. Der Server kann auch Labels für textuellen Inhalt im Bild erzeugen, wie beispielsweise Kommentare, die dem bestimmten Unterbild entsprechen, durch ein Durchführen einer Texterkennung an einem Teilbereich des Bilds, der ein anderer als das bestimmte Unterbild ist. Der Server kann eine Suchanfrage basierend auf der empfangenen Transkription und den erzeugten Labels erzeugen. Weiterhin kann der Server konfiguriert sein, um die Suchanfrage zur Ausgabe zu einer Suchmaschine zur Verfügung zu liefern.
-
Ein innovativer Aspekt des in dieser Beschreibung beschriebenen Gegenstands wird in Verfahren verkörpert, die die Aktionen eines Empfangens eines Bilds enthalten, das auf, oder entsprechend zu, wenigstens einem Teilbereich einer Anzeige einer Computervorrichtung präsentiert wird, und eines Empfangens einer Transkription von, oder dem, was ihr entspricht, einer durch einen Anwender der Computervorrichtung gesprochenen Äußerung, typischerweise zu der Zeit, zu welcher das Bild präsentiert wird, eines Identifizierens eines bestimmten Unterbilds, das im Bild enthalten ist, und, basierend auf einem Durchführen einer Bilderkennung am bestimmten Unterbild, eines Bestimmens von einem oder mehreren ersten Labels, die einen Kontext des bestimmten Unterbilds anzeigen. Das Verfahren enthält auch, basierend auf einem Durchführen einer Texterkennung an einem Teilbereich des Bilds, der ein anderer als das bestimmte Unterbild ist, ein Bestimmen von einem oder mehreren zweiten Labels, die den Kontext des bestimmten Unterbilds anzeigen, basierend auf der Transkription, den ersten Labels und den zweiten Labels, ein Erzeugen einer Suchanfrage und ein Liefern, zur Ausgabe, der Suchanfrage.
-
Solche Verfahrensschritte oder andere Kombinationen von Schritten, wie sie hierin beschrieben sind, können automatisch und ohne weitere Anwenderintervention ausgeführt werden, wie beispielsweise in Reaktion auf eine automatische Bestimmung durch die Computervorrichtung, dass das Verfahren zu einer bestimmten Zeit ausgeführt werden sollte, oder nach einem bestimmten Tastendruck, einem gesprochenen Befehl oder einer anderen Anzeige von einem Anwender der Computervorrichtung, dass ein solches Verfahren ausgeführt werden soll. Die hier beschriebenen Verfahren können daher eine effizientere Anwenderschnittstelle zur Anwendervorrichtung durch Reduzieren der Eingabe zur Verfügung stellen, die von einem Anwender erforderlich ist, um eine erwünschte oder wünschenswerte Suchanfragenerzeugung zu erreichen.
-
Andere Implementierungen davon und andere Aspekte enthalten entsprechende Systeme, Vorrichtungen und Computerprogramme, die konfiguriert sind, um die Aktionen der Verfahren durchzuführen, codiert auf Computerspeichervorrichtungen.
-
Implementierungen können jeweils optional eines oder mehrere der folgenden Merkmale enthalten. Beispielsweise können die Verfahren eine Gewichtung des ersten Labels enthalten, die unterschiedlich von derjenigen der zweiten Labels ist. Die Verfahren können auch ein Erzeugen der Suchanfrage durch Ersetzen von einem oder mehreren der ersten Labels oder der zweiten Labels für Ausdrücke der Transkription enthalten. Bei einigen Aspekten enthalten die Verfahren ein Erzeugen für jedes der ersten Labels und der zweiten Labels eines Label-Vertrauenswerts, der eine Wahrscheinlichkeit anzeigt, dass das Label einem Teilbereich des bestimmten Unterbilds entspricht, der von primärem Interesse für den Anwender ist, und ein Auswählen von einem oder mehreren der ersten Labels und der zweiten Labels basierend auf den jeweiligen Label-Vertrauenswerten, wobei die Suchanfrage basierend auf dem einen oder den mehreren ausgewählten ersten Labels und zweiten Labels erzeugt wird. Weiterhin können die Verfahren ein Zugreifen auf historische Anfragedaten enthalten, die vorherige Suchanfragen enthalten, die durch andere Anwender geliefert sind, ein Erzeugen, basierend auf der Transkription, den ersten Labels und den zweiten Labels, von einer oder mehreren Kandidaten-Suchanfragen, ein Vergleichen der historischen Anfragedaten mit der einen oder den mehreren Kandidaten-Suchanfragen, und, basierend auf einem Vergleichen der historischen Anfragedaten mit der einen oder den mehreren Kandidaten-Suchanfragen, ein Auswählen der Suchanfrage unter der einen oder den mehreren Kandidaten-Suchanfragen.
-
Die Verfahren können ein Erzeugen, basierend auf der Transkription, den ersten Labels und den zweiten Labels, von einer oder mehreren Kandidaten-Suchanfragen enthalten, ein Bestimmen, für jede der einen oder der mehreren Kandidaten-Suchanfragen, eines Anfrage-Vertrauenswerts, der eine Wahrscheinlichkeit anzeigt, dass die Kandidaten-Suchanfrage ein genaues Überschreiben der Transkription ist, und ein Auswählen, basierend auf den Anfrage-Vertrauenswerten, einer bestimmten Kandidaten-Suchanfrage als die Suchanfrage. Zusätzlich können die Verfahren ein Identifizieren von einem oder mehreren Bildern enthalten, die in dem Bild enthalten sind, ein Erzeugen für jedes des einen oder der mehreren Bilder, die in dem Bild enthalten sind, eines Bild-Vertrauenswerts, der eine Wahrscheinlichkeit anzeigt, dass ein Bild ein Bild von primärem Interesse für den Anwender ist, und, basierend auf den Bild-Vertrauenswerten für das eine oder die mehreren Bilder, ein Auswählen des bestimmten Unterbilds. Die Verfahren können ein Empfangen von Daten enthalten, die eine Auswahl eines Steuerereignisses bei der Computervorrichtung anzeigen, wobei das Steuerereignis das bestimmte Unterbild identifiziert. Bei einigen Aspekten ist die Computervorrichtung konfiguriert, um das Bild zu erfassen und um Audiodaten zu erfassen, die der Äußerung entsprechen, in Reaktion auf ein Erfassen von einem vordefinierten Stichwort ("Hotword").
-
Weiterhin können die Verfahren ein Empfangen eines zusätzlichen Bilds der Computervorrichtung und einer zusätzlichen Transkription einer zusätzlichen durch einen Anwender der Computervorrichtung gesprochenen Äußerung enthalten, ein Identifizieren eines zusätzlichen bestimmten Unterbilds, das im zusätzlichen Bild enthalten ist, basierend auf einem Durchführen einer Bilderkennung auf dem zusätzlich bestimmten Unterbild, ein Bestimmen von einem oder mehreren zusätzlichen ersten Labels, die einen Kontext des zusätzlichen bestimmten Unterbilds anzeigen, basierend auf einem Durchführen einer Texterkennung auf einen Teilbereich des zusätzlichen Bilds, der ein anderer als das zusätzliche bestimmte Unterbild ist, ein Bestimmen von einem oder mehreren zusätzlichen zweiten Labels, die den Kontext des zusätzlichen bestimmten Unterbilds anzeigen, basierend auf der zusätzlichen Transkription, den zusätzlichen ersten Labels und den zusätzlichen zweiten Labels, ein Erzeugen eines Befehls und ein Durchführen des Befehls. In diesem Fall kann ein Durchführen des Befehls ein Durchführen von einem oder mehreren eines Speicherns des zusätzlichen Bilds in einem Speicher, eines Speicherns des bestimmten Unterbilds im Speicher, eines Hochladens des zusätzlichen Bilds zu einem Server, eines Hochladens des bestimmten Unterbilds zum Server, eines Importierens des zusätzlichen Bilds zu einer Anwendung auf der Computervorrichtung und eines Importierens des bestimmten Unterbilds zur Anwendung der Computervorrichtung enthalten. Bei bestimmten Aspekten können die Verfahren ein Identifizieren von Metadaten enthalten, die mit dem bestimmten Unterbild assoziiert sind, wobei ein Bestimmen von dem einen oder den mehreren ersten Labels, die den Kontext des bestimmten Unterbilds anzeigen, weiterhin auf den Metadaten basiert, die mit dem bestimmten Unterbild assoziiert sind.
-
Vorteilhafte Implementierungen können eines oder mehrere der folgenden Merkmale enthalten. Die Verfahren können einen Kontext eines Bilds entsprechend einem Teilbereich einer Anzeige einer Computervorrichtung bestimmen, um bei der Verarbeitung von Anfragen in natürlicher Sprache zu helfen. Der Kontext des Bilds kann durch eine Bild- und/oder Text-Erkennung bestimmt werden. Spezifisch kann der Kontext des Bilds verwendet werden, um eine Transkription einer Äußerung eines Anwenders zu überschreiben bzw. neu zu schreiben. Die Verfahren können Labels erzeugen, die sich auf den Kontext des Bilds beziehen, und die Labels für Teilbereiche der Transkription ersetzen. Beispielsweise kann ein Anwender bei einem Anschauen einer Fotografie auf einer Computervorrichtung sein und fragen "Wo wurde dies aufgenommen?". Die Verfahren können bestimmen, dass sich der Anwender auf das Foto auf dem Bildschirm der Computervorrichtung bezieht. Die Verfahren können Information über das Foto extrahieren, um einen Kontext des Fotos zu bestimmen, sowie einen Kontext von anderen Teilbereichen des Bilds, die das Foto nicht enthalten. In diesem Fall kann die Kontextinformation dazu verwendet werden, einen Standort zu bestimmen, bei welchem das Foto aufgenommen wurde. Als solches können die Verfahren Bilder entsprechend Anzeigen von Computervorrichtungen verwenden, um bei der Erzeugung von Suchanfragen zu helfen.
-
Bei einigen Aspekten können die Verfahren ein bestimmtes Unterbild in dem Bild identifizieren, das ein primärer Fokus des Anwenders ist. Die Verfahren können Labels erzeugen, die dem bestimmten Unterbild entsprechen, und Gewichtungslabels, die dem bestimmten Unterbild entsprechen, unterschiedlich von demjenigen von anderen Labels, so dass der Kontext des Bilds effektiver bestimmt werden kann. Die Verfahren können Labels basierend auf einer Berühmtheit des bestimmten Unterbilds im Bild gewichten, einer Häufigkeit, mit welcher die bestimmten Unterbild-Labels in historischen Suchanfragen erscheinen, einer Häufigkeit, mit welcher die bestimmten Unterbild-Labels in letzten Suchanfragen erscheinen, etc. Daher können die Verfahren primäre Punkte eines Anwenderinteresses im Bild identifizieren, um einen Kontext des Bilds als gesamtes zu bestimmen.
-
Die Details von einer oder mehreren Ausführungsformen der Erfindung sind in den beigefügten Zeichnungen und der nachstehenden Beschreibung dargelegt. Andere Merkmale und Vorteile der Erfindung werden aus der Beschreibung, den Zeichnungen und den Ansprüchen offensichtlich werden.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist eine graphische Darstellung einer beispielhaften Umgebung für ein kontextuelles Eindeutigmachen einer Anfrage.
-
2 ist eine graphische Darstellung eines beispielhaften Systems zum kontextuellen Eindeutigmachen einer Anfrage.
-
3 ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum kontextuellen Eindeutigmachen einer Anfrage darstellt.
-
4 ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Auswählen eines bestimmten Unterbilds unter Verwendung von Vertrauenswerten darstellt.
-
5 ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Erzeugen einer Suchanfrage unter Verwendung von ausgewählten Labels darstellt.
-
6 ist eine graphische Darstellung einer beispielhaften Computervorrichtung und einer beispielhaften mobilen Computervorrichtung.
-
Gleiche Bezugszeichen und Bezeichnungen in den verschiedenen Zeichnungen zeigen gleiche Elemente an.
-
DETAILLIERTE BESCHREIBUNG
-
1 ist eine graphische Darstellung einer beispielhaften Umgebung 100 zum kontextuellen Eindeutigmachen einer Anfrage. Die Umgebung 100 enthält einen Anwender 102 und eine Computervorrichtung 104. In der Umgebung 100 liefert der Anwender 102 eine Äußerung 103, wie beispielsweise eine Anfrage, zur Computervorrichtung 104. Der Anwender 102 kann eine Frage über ein oder mehrere Objekte stellen, die auf einer graphischen Anzeige der Computervorrichtung 104 angezeigt sind. Beispielsweise kann die Äußerung 103 eine Anfrage enthalten, wie beispielsweise "Was ist das?". In diesem Fall kann der Anwender 102 auf Objekte Bezug nehmen, wie beispielsweise ein Bild, Text, Video oder irgendeine Kombination davon, die auf der graphischen Anzeige der Computervorrichtung 104 angezeigt werden. Die Computervorrichtung 104 kann eine oder mehrere Computervorrichtungen enthalten, wie beispielsweise einen Laptop, einen Desktop, ein Smartphone, ein Tablet oder irgendeine andere Computervorrichtung, die bekannt ist.
-
Die Äußerung 103 des Anwenders 102 kann kontextuell mehrdeutig sein. In diesem Fall kann die Äußerung 103 nicht durch einen Namen direkt Bezug nehmen auf den Inhalt, der bei der Computervorrichtung 102 angezeigt wird. Jedoch kann ein Kontext der angezeigten Objekte bestimmt werden und kann der Kontext in Kombination mit einer Transkription entsprechend der Äußerung 103 verwendet werden, um die Anfrage eindeutig zu machen.
-
Die Computervorrichtung 104 kann konfiguriert sein, um ein Bild 106 zu erfassen, das auf einer Anzeige der Computervorrichtung 104 präsentiert wird, wenn die Äußerung 103 des Anwenders 102 empfangen wird. Beispielsweise kann die Computervorrichtung 104 einen Teilbereich der Anzeige erfassen, die eine Fotografie 108 und Kommentierungen 116, die der Fotografie entsprechen, enthält, aber nicht ein Logo-Symbol 120 enthält, wie beispielsweise einen Anwendungstitel, den die Computervorrichtung 104 laufen lässt. Bei einigen Beispielen entspricht das Bild 106 einem Bildschirmfoto der Computervorrichtung 104. Alternativ oder zusätzlich kann die Computervorrichtung 104 persistent bzw. dauerhaft den angezeigten Inhalt erfassen und bestimmte Unterbilder auf eine Erfassung der Äußerung 103 hin senden bzw. übertragen. Weiterhin kann das Bild 106 auf eine Erfassung eines vordefinierten Hotword in der Äußerung 103 hin erfasst werden. Die Computervorrichtung 104 kann die Äußerung 103 transkribieren. Bei einigen Implementierungen kann die Computervorrichtung 104 Audiodaten entsprechend der Äußerung 103 zu einer Spracherkennungsmaschine senden und eine Transkription der Äußerung 103 von der Spracherkennungsmaschine empfangen.
-
Die Transkription entsprechend der Äußerung 103 und dem Bild 106 kann zu einem Server über ein Netzwerk zur Verarbeitung (z.B. Eindeutigmachen der Äußerung) übertragen bzw. gesendet werden. Der Server kann konfiguriert sein, um einen Kontext des Bilds 106 durch Analysieren des Bilds 106 zu bestimmen. Der Server kann den Kontext des Bilds 106 durch Identifizieren und Analysieren von Bildern von Fotografien in dem Bild bestimmen. Beispielsweise kann eine Fotografie 108 analysiert werden, um zu identifizieren, dass die Fotografie 108 eine oder mehrere Entitäten in der Fotografie 108 enthält. Unter Bezugnahme auf die beispielhafte Umgebung 100 der 1 kann die Fotografie 108 durch den Server identifiziert werden und dann analysiert werden, um zu bestimmen, dass die Fotografie 108 Entitäten enthält, wie beispielsweise den Eiffelturm 110 und einen Hund 112 vor dem Eiffelturm 110.
-
Bei einigen Beispielen führt der Server eine Bilderkennung an dem bestimmten Unterbild 108 durch. Die Bilderkennung wird durchgeführt, um ein oder mehrere erste Labels zu bestimmen, die einen Kontext des bestimmten Unterbilds anzeigen. Beispielsweise kann der Server eine Bilderkennung auf der Fotografie 108 durchführen und erste Labels bestimmen, die der Fotografie 108 entsprechen, wie beispielsweise Eiffelturm, Frankreich, Paris und Hund. Die Bilderkennung kann eine Bestimmung von Entitäten in einem Fokus in der Fotografie 108, von Entitäten im Vordergrund und im Hintergrund der Fotografie 108, von relativen Größen von Entitäten in der Fotografie 108 und ähnliches enthalten. Bei einigen Beispielen kann der Server Metadaten identifizieren, die mit dem bestimmten Unterbild assoziiert sind, oder der Fotografie 108 in 1. Der Server kann die Metadaten verwenden, um die ersten Labels zu bestimmen, die dem bestimmten Unterbild entsprechen.
-
Zusätzlich kann der Server eine Texterkennung auf dem Bild 106 durchführen. Der Server kann eine Texterkennung auf einem Teilbereich des Bilds 106 durchführen, der ein anderer als die Fotografie 108 ist. Der Teilbereich des Bilds 106 kann einen Titel 114 der Fotografie 108 und/oder Kommentierungen 116, die sich auf die Fotografie 108 beziehen, enthalten. Beispielsweise enthält das Bild 106 der 1 einen Titel 114, der einen Standort anzeigt, bei welchem die Fotografie 108 aufgenommen wurde, wie beispielsweise Paris, Frankreich. Das Bild 106 enthält auch Kommentierungen bzw. Kommentare 116, die sich auf die Fotografie 108 beziehen, wie beispielsweise "Dave ~ So cool, Frankreich ist mein Favorit." "Sarah ~ Ich wusste nicht, dass du einen Golden hattest, ich habe auch einen!" und "Abby ~ Ich war gerade in Paris, wann warst du dort?".
-
Der Titel 114 und die Kommentare 116 des Bilds 106 können durch den Server über Texterkennung verarbeitet werden. Durch ein Durchführen einer Texterkennung kann der Server ein oder mehrere zweite Labels bestimmen, die den Kontext des bestimmten Unterbilds weiter anzeigen. Beispielsweise kann der Server eine Texterkennung an dem Titel 114 durchführen, um zu verifizieren, dass der Standort des bestimmten Unterbilds Paris, Frankreich, ist. Weiterhin kann der Server eine Texterkennung an den Kommentaren 116 durchführen, um zu verifizieren, dass der Standort des bestimmten Unterbilds Paris, Frankreich, ist (z.B. durch ein Durchführen einer Texterkennung an der Phrase "Ich war gerade in Paris."). Zusätzlich kann der Server eine Texterkennung an den Kommentaren 116 durchführen, um zu bestimmen, dass der Hund 112 in der Fotografie 108 ein Golden Retriever ist (z.B. durch Durchführen einer Texterkennung an der Phrase "Ich wusste nicht, dass du einen Golden ... hattest"). Als solches kann der Server ein oder mehrere zweite Labels erzeugen, wie beispielsweise Paris, Frankreich und Golden Retriever.
-
Der Server kann konfiguriert sein, um eine Suchanfrage basierend auf der empfangenen Transkription, den ersten Labels und den zweiten Labels zu erzeugen. Der Server kann die Suchanfrage automatisch ohne weitere Anwenderintervention erzeugen. Beispielsweise in Reaktion auf ein automatisches Bestimmen durch die Computervorrichtung 104, dass das Verfahren zu einer bestimmten Zeit ausgeführt werden sollte, nach einem bestimmten Tastendruck, der der Äußerung vorangeht, nach einem gesprochenen Befehl/Hotword, der/das in der Äußerung enthalten ist, oder irgendeiner anderen Anzeige von dem Anwender 102 der Computervorrichtung 104, dass ein solches Verfahren ausgeführt werden soll, vor der Transkription und bevor das Bild durch den Server empfangen wird.
-
Die Suchanfrage kann durch Überschreiben der Transkription erzeugt werden. Bei einigen Aspekten kann die Transkription durch Ersetzen von einem oder mehreren der ersten und/oder zweiten Labels in die Transkription überschrieben werden. Beispielsweise kann die Transkription "Was ist das?" enthalten. In diesem Fall kann die Phrase "Der Eiffelturm" für den Ausdruck "Das" in der Transkription ersetzt werden. Daher kann die Suchanfrage überschrieben werden, um das Folgende zu enthalten: "Was ist der Eiffelturm?".
-
Bei einigen Aspekten ist der Server konfiguriert, um einen Label-Vertrauenswert für jedes der ersten und zweiten Labels zu erzeugen. In diesem Fall können die Label-Vertrauenswerte eine relative Wahrscheinlichkeit anzeigen, dass jedes Label einem Teilbereich des bestimmten Unterbilds entspricht, der von primärem Interesse für den Anwender 102 ist. Beispielsweise kann ein erstes Label "Eiffelturm" mit einem Vertrauenswert von 0.8 enthalten und kann ein zweites Label "Golden Retriever" mit einem Vertrauenswert von 0.5 enthalten. In diesem Fall können die Vertrauenswerte anzeigen, dass das erste Label einer Entität entspricht, für die es wahrscheinlicher ist, dass sie von primärem Interesse für den Anwender 102 ist, und zwar basierend auf dem größeren jeweiligen Label-Vertrauenswert.
-
Labels können ausgewählt werden, um die Suchanfrage zu erzeugen, basierend auf den Vertrauenswerten. Beispielsweise kann eine bestimmte Anzahl von Labels mit dem höchsten Vertrauenswert ausgewählt werden, um eine Suchanfrage in Kombination mit der Transkription zu erzeugen. Bei einem weiteren Beispiel können alle Labels, die eine bestimmte Label-Vertrauenswertschwelle erfüllen, in Kombination mit der Transkription verwendet werden, um die Suchanfrage zu erzeugen. Bei einem weiteren Beispiel kann der Server Label-Vertrauenswerte basierend auf einer Häufigkeit erzeugen, mit welcher die Labels in jüngsten bzw. letzten Suchanfragen erscheinen, einer Häufigkeit, mit welcher die Labels in allen historischen Suchanfragen erscheinen, und so weiter.
-
Der Server kann konfiguriert sein, um auf historische Suchanfragedaten zuzugreifen. Die historischen Anfragedaten können eine Anzahl von vorherigen Suchanfragen enthalten, die durch den Anwender 102 und/oder andere Anwender geliefert sind. Der Server kann eine oder mehrere Kandidaten-Suchanfragen basierend auf der Transkription, den ersten Labels und den zweiten Labels erzeugen und die historischen Anfragedaten mit den Kandidaten-Suchanfragen vergleichen. Basierend auf einem Vergleichen der historischen Anfragedaten mit der einen oder den mehreren Kandidaten-Suchanfragen kann der Server eine bestimmte Kandidaten-Suchanfrage als die Suchanfrage auswählen. Beispielsweise kann der Server die bestimmte Kandidaten-Suchanfrage basierend auf einem Vergleich zwischen einer Häufigkeit der Kandidaten-Suchanfragen, die in jüngsten Suchanfragen erscheinen, wie beispielsweise Anfragen, die durch den Anwender eingegeben sind, und/oder einer Häufigkeit der Kandidaten-Suchanfragen, die in historischen Suchanfragen erscheinen, wie beispielsweise Anfragen, die durch alle Anwender in eine Suchmaschine eingegeben sind, auswählen.
-
Der Server kann konfiguriert sein, um die erzeugte Suchanfrage zur Ausgabe zu liefern. Beispielsweise kann der Server konfiguriert sein, um die erzeugte Suchanfrage zu einer Suchmaschine zu liefern. Bei einem weiteren Beispiel kann der Server die Suchanfrage erzeugen und die Suchanfrage zur Computervorrichtung 102 senden. In diesem Fall kann die Suchanfrage zu dem Anwender 102 akustisch oder visuell durch die Computervorrichtung 104 geliefert werden, um zu verifizieren, dass der Server die Anfrage genau bzw. akkurat überschrieben hat.
-
Der Server kann weiterhin konfiguriert sein, um die erzeugte Suchanfrage zur Ausgabe und/oder ein Suchergebnis zur Computervorrichtung 104 zu liefern. In diesem Fall kann die Computervorrichtung 104 konfiguriert sein, um die Suchanfrage zu empfangen und um ein Suchergebnis, das der Suchanfrage entspricht, zur Ausgabe 122 zu liefern, wie beispielsweise "Du schaust auf eine Fotografie des Eiffelturms".
-
2 ist eine graphische Darstellung eines beispielhaften Systems 200 zum kontextuellen Eindeutigmachen einer Anfrage. Das System 200 enthält den Anwender 102, die Computervorrichtung 104, einen Server 206, eine Bilderkennungsmaschine 208 und eine Texterkennungsmaschine 210. Die Computervorrichtung 104 ist in Kommunikation mit dem Server 206 über ein oder mehrere Netzwerke. Die Computervorrichtung 104 kann ein Mikrophon oder andere Erfassungsmechanismen zum Erfassen von Äußerungen des Anwenders 102 enthalten.
-
Bei einem Beispiel kann der Anwender 102 eine Äußerung zur Computervorrichtung 104 liefern. Die Äußerung kann durch die Computervorrichtung 102 erfasst und transkribiert werden. Als solches kann die Computervorrichtung 104 eine Transkription 204 erzeugen, die der Äußerung des Anwenders 102 entspricht. Die Computervorrichtung 104 kann auch konfiguriert sein, um ein Bild 202 einer graphischen Anzeige der Computervorrichtung 104 zu erfassen. Die Computervorrichtung 104 kann das Bild 202 auf ein Erfassen der Äußerung des Anwenders 102 hin oder auf ein Transkribieren der Äußerung hin erfassen. Zusätzlich oder alternativ kann die Computervorrichtung 104 konfiguriert sein, um die angezeigten Inhalte der Computervorrichtung 104 dauerhaft zu erfassen. In diesem Fall kann ein bestimmtes Unterbild mit der Transkription 204 zum Server 206 auf eine Erfassung der Äußerung hin gesendet werden.
-
Bei einem weiteren Beispiel kann die Computervorrichtung 104 konfiguriert sein, um die Äußerung des Anwenders 102 zum Server 206 zu senden. Beispielsweise kann die Computervorrichtung 104 konfiguriert sein, um ein vordefiniertes Hotword in der Äußerung zu erfassen, und auf eine Erfassung des Hotwords hin die Äußerung zum Server 206 senden. In diesem Fall ist der Server 206 konfiguriert, um eine Transkription entsprechend der Äußerung zu erzeugen.
-
In einem Fall (A) empfängt der Server 206 die Transkription 204 und das Bild 202 von der Computervorrichtung 104. Die Computervorrichtung 104 kann die Transkription 204 und das Bild 202 automatisch zum Server 206 senden. Die Computervorrichtung 104 kann auch die Transkription 204 und das Bild 202 auf eine Anwendereingabe hin senden. Beispielsweise kann der Anwender die Äußerung sowie eine Berührungseingabe bei der graphischen Anzeige der Computervorrichtung 104 liefern, was anzeigt, dass der Anwender zu einer Transkription entsprechend der Äußerung und dem Bild auffordert, um zum Server 206 gesendet zu werden.
-
In einem Fall (B) identifiziert der Server 206 ein bestimmtes Unterbild 207 des Bilds 202 und sendet das bestimmte Unterbild 207 zu einer Bilderkennungsmaschine 208. Bei einigen Aspekten ist der Server 206 in Kommunikation mit der Bilderkennungsmaschine 208 über das Netzwerk. Bei anderen Aspekten sind der Server 206 und die Bilderkennungsmaschine 208 in ein einziges System integriert.
-
Bei einigen Beispielen kann das Bild 202 mehrere Bilder enthalten. Der Server 206 kann die mehreren Bildern analysieren, um das bestimmte Unterbild 207 zu bestimmen, für das es wahrscheinlich ist, dass es von Interesse für den Anwender 102 ist. Zusätzlich kann der Server 206 eine Anwendereingabe empfangen, die anzeigt, dass das bestimmte Unterbild 207 der Bilder in dem Bild 202 von primärem Interesse für den Anwender 102 ist. Der Server 206 kann einen Bild-Vertrauenswert für jedes der mehreren Bilder im Bild 202 erzeugen. Der Bild-Vertrauenswert kann eine relative Wahrscheinlichkeit anzeigen, dass ein Bild ein Bild von primärem Interesse für den Anwender 102 ist. Der Server 206 kann das bestimmte Unterbild 207 oder das Bild von primärem Interesse für den Anwender 102 basierend auf den erzeugten Vertrauenswerten bestimmen. Beispielsweise kann der Server 206 identifizieren, dass die Anzeige der Computervorrichtung 104 einen ersten Teilbereich und einen zweiten Teilbereich enthält. Der erste Teilbereich kann eine Fotografie enthalten und der zweite Teilbereich kann ein Logo-Bild enthalten, das einem Titel der Anwendung entspricht, die die Computervorrichtung verwendet. Der Server kann konfiguriert sein, um einen Vertrauenswert von 0.9 für den ersten Teilbereich zu erzeugen und einen Vertrauenswert von 0.3 für den zweiten Teilbereich. In diesem Fall bestimmt der Server 206, dass der erste Teilbereich wahrscheinlich von primärem Interesse für den Anwender 102 ist, basierend auf den erzeugten Vertrauenswerten.
-
Der Server kann konfiguriert sein, um das bestimmte Unterbild 207 basierend auf einem Empfangen von Daten zu bestimmen, die eine Auswahl eines Steuerereignisses anzeigen. Das Steuerereignis kann dem entsprechen, dass der Anwender 102 eine Eingabe bei der Computervorrichtung 104 liefert. Spezifisch kann das Steuerereignis dem entsprechen, dass der Anwender 102 mit der Anzeige der Computervorrichtung 104 interagiert. Beispielsweise kann der Anwender 102 mit einem Teilbereich der Anzeige interagieren, der dem bestimmten Unterbild 207 entspricht. Der Server 206 kann Daten empfangen, die anzeigen, dass der Anwender 102 mit einem Teilbereich der Anzeige interagierte, der dem bestimmten Unterbild 207 entspricht, und kann daher bestimmen, dass der Teilbereich der Anzeige dem bestimmten Unterbild 207 entspricht.
-
Bei einem Ereignis (C) führt die Bilderkennungsmaschine 208 eine Bilderkennung an dem bestimmten Unterbild 207 durch. Die Bilderkennungsmaschine 208 führt eine Bilderkennung durch, um Labels 209 für das bestimmte Unterbild 207 zu erzeugen, die einen Kontext des bestimmten Unterbilds anzeigen. Die Labels 209 können Entitäten im bestimmten Unterbild 207 entsprechen, wie beispielsweise Bäumen oder einem Hund. Die Labels 209 können auch Entitäten entsprechen, die spezifische Standorte oder Sehenswürdigkeiten enthalten, wie beispielsweise den Eiffelturm. Die Labels 209 können individuell oder in Kombination verwendet werden, um einen Kontext des bestimmten Unterbilds 207 zu bestimmen.
-
Die Bilderkennungsmaschine 208 kann konfiguriert sein, um einen Teilbereich des bestimmten Unterbilds 207 zu bestimmen, der von einem primären Fokus des Anwenders 102 ist. Beispielsweise kann die Bilderkennungsmaschine 208 das bestimmte Unterbild 207 analysieren, um zu bestimmen, dass das bestimmte Unterbild 207 Entitäten enthält, wie beispielsweise den Eiffelturm und einen Hund. Die Bilderkennungsmaschine 208 kann die Entitäten im bestimmten Unterbild 207 analysieren und bestimmen, dass der Eiffelturm bezüglich einer Größe größer als der Hund ist. Basierend auf der Bestimmung, dass der Eiffelturm proportional größer bezüglich der Größe gegenüber dem Hund ist, kann die Bilderkennungsmaschine 208 bestimmen, dass der Eiffelturm 110 wahrscheinlich von primärem Interesse für den Anwender 102 ist. Zusätzlich oder alternativ kann die Bilderkennungsmaschine 208 konfiguriert sein, um andere Aspekte des bestimmten Unterbilds 207 zu analysieren, wie beispielsweise Vordergrund gegenüber Hintergrund, Entitäten in einem Fokus des bestimmten Unterbilds 207 und ähnliches. Beispielsweise kann die Bilderkennungsmaschine 208 bestimmen, dass der Eiffelturm im Fokus im bestimmten Unterbild 207 ist und dass der Hund außerhalb des Fokus ist. Als solches kann die Bilderkennungsmaschine 208 bestimmen, dass der Eiffelturm wahrscheinlich von primärem Interesse für den Anwender 102 ist.
-
Bei einem Ereignis (D) identifiziert der Server 206 einen oder mehrere Teilbereiche 211 des Bilds 202, die das bestimmte Unterbild nicht enthalten. Der eine oder die mehreren Teilbereiche 211 werden zur Texterkennungsmaschine 210 gesendet. Bei einigen Aspekten ist der Server 206 in Kommunikation mit der Texterkennungsmaschine 210 über das Netzwerk. Bei anderen Aspekten sind der Server 206 und die Texterkennungsmaschine 210 in ein einziges System integriert. Weiterhin können der Server 206, die Bilderkennungsmaschine 208 und die Texterkennungsmaschine 210 in ein einziges System integriert sein. Bei einigen Beispielen können der eine oder die mehreren Teilbereiche 211 eine Titel enthalten, der in dem Bild 202 enthalten ist, Kommentierungen bzw. Kommentare, die im Bild 202 enthalten sind, oder irgendeinen Inhalt im Bild 202, der nicht das bestimmte Unterbild 207 enthält.
-
Bei einem Ergebnis (E) führt die Texterkennungsmaschine 210 eine Texterkennung an dem einen oder den mehreren Teilbereichen 211 des Bilds 202 durch, der oder die das bestimmte Unterbild 207 nicht enthält oder enthalten. Die Texterkennungsmaschine 210 führt eine Texterkennung durch, um Labels 212 für den einen oder die mehreren Teilbereiche 211 zu erzeugen, die einen Kontext des bestimmten Unterbilds 207 anzeigen. Beispielsweise können die Teilbereiche 211 Kommentierungen enthalten, wie beispielsweise "Dave ~ So cool, Frankreich ist mein Favorit." "Sarah ~ Ich wusste nicht, dass du einen Golden hattest, ich habe auch einen!" und "Abby ~ Ich war gerade in Paris, wann warst du dort?". Die Labels 212 können direkt Text in dem einen oder den mehreren Teilbereichen 211 entsprechen. In diesem Fall können die Labels 212 Ausdrücke enthalten, wie beispielsweise "Frankreich" oder "Paris". Die Labels 212 können aus dem Text in dem einen oder den mehreren Teilbereichen 211 abgeleitet werden. In diesem Fall können die Labels 212 abgeleitet werden, um die Phrase "Golden Retriever" zu enthalten. Die Labels 212 können individuell oder in Kombination verwendet werden, um einen Kontext des bestimmten Unterbilds 207 zu bestimmen.
-
Durch Durchführen einer Texterkennung kann die Texterkennungsmaschine 210 ein oder mehrere Labels 212 bestimmen, die weiterhin den Kontext des bestimmten Unterbilds 207 anzeigen. Beispielsweise kann die Texterkennungsmaschine 210 eine Texterkennung an den Kommentierungen 116 durchführen, um zu verifizieren, dass der Standort des bestimmten Unterbilds Paris, Frankreich, ist (z.B. durch Durchführen einer Texterkennung an der Phrase "Ich war gerade in Paris."). Zusätzlich kann die Texterkennungsmaschine 210 eine Texterkennung an den Kommentierungen durchführen, um zu bestimmen, dass der Hund in dem bestimmten Unterbild 207 ein Golden Retriever ist (z.B. durch Durchführen einer Texterkennung an der Phrase "Ich wusste nicht, dass du einen Golden ... hattest"). Als solches kann die Texterkennungsmaschine 210 ein oder mehrere Labels 212 erzeugen, wie beispielsweise Paris, Frankreich und Golden Retriever.
-
Bei einem Ereignis (F) erzeugt der Server 206 eine Suchanfrage 213 unter Verwendung der Transkription 204, der Labels 209 von der Bilderkennungsmaschine 208 und der Labels 212 von der Texterkennungsmaschine 210. Der Server 206 kann die Suchanfrage 213 automatisch ohne eine weitere Anwenderintervention erzeugen. Beispielsweise in Reaktion auf ein automatisches Bestimmen durch die Computervorrichtung 104, dass das Verfahren zu einer bestimmten Zeit ausgeführt werden sollte, nach einem bestimmten Tastendruck, der der Äußerung vorangeht, nach einem gesprochenen Befehl/Hotword, das in der Äußerung enthalten ist, oder irgendeiner anderen Anzeige vom Anwender 102 der Computervorrichtung 104, dass ein solches Verfahren vor der Transkription 204 und bevor das Bild 202 durch den Server 206 empfangen wird, auszuführen ist.
-
Der Server 206 kann die Transkription 204 als die Suchanfrage 213 überschreiben. Der Server 206 kann eine Untergruppe der Labels der Bilderkennungsmaschine 209 und der Texterkennungsmaschine 212 in die Transkription 204 einsetzen, um die Suchanfrage 213 zu erzeugen. Beispielsweise kann der Server 206 das Label "Eiffelturm" in die Transkription 204 einsetzen, so dass die erzeugte Suchanfrage 213 "Was ist der Eiffelturm?" enthält.
-
Weiterhin liefert der Server 206 bei einem Ereignis (F) die erzeugte Suchanfrage 213 zur Ausgabe. Beispielsweise kann der Server 206 die Suchanfrage 213 zu einer Suchmaschine liefern. Der Server 206 kann Suchergebnisse von der Suchmaschine empfangen und die Suchergebnisse zur Computervorrichtung 104 liefern, und zwar über das Netzwerk. Bei einigen Aspekten kann die Computervorrichtung 104 die Suchergebnisse empfangen und die Suchergebnisse als akustische oder visuelle Ausgabe liefern. Beispielsweise kann der Server 206 die Suchanfrage 213 "Was ist der Eiffelturm?" erzeugen und die erzeugte Suchanfrage 213 zur Computervorrichtung 104 liefern. In diesem Fall kann die Computervorrichtung 104 konfiguriert sein, um die erzeugte Suchanfrage 213 zum Anwender 102 zur Verifizierung akustisch auszugeben, bevor die Suchanfrage 213 zu einer Suchmaschine eingegeben wird.
-
Bei einigen Beispielen erzeugt der Server 206 die Suchanfrage 213 gemäß erzeugten Gewichtungen der Labels 209 und 212. In diesem Fall kann der Server 206 eine erste Gewichtung für die Bildlabels 209 erzeugen, die sich von einer zweiten Gewichtung für die Textlabels 212 unterscheidet. Beispielsweise kann der Server 206 bestimmen, dass die Bildlabels 209 relevanter für die Transkription 204 als die Textlabels 212 sind. Als solches kann der Server 206 eine größere Betonung auf die Bildlabels 209 durch mehr Gewichten der Bildlabels 209 als der Textlabels 212 platzieren.
-
Der Server 206 kann konfiguriert sein, um ein zusätzliches Bild der Computervorrichtung 104 und eine zusätzliche Transkription einer durch einen Anwender der Computervorrichtung 104 gesprochenen zusätzlichen Äußerung zu empfangen. Der Server 206 kann ein zusätzliches bestimmtes Unterbild identifizieren, das im zusätzlichen Bild enthalten ist, und das zusätzliche bestimmte Unterbild zur Bilderkennungsmaschine 208 senden, um eine Bilderkennung am zusätzlichen bestimmten Unterbild durchzuführen. Die Bilderkennungsmaschine 208 kann konfiguriert sein, um ein oder mehrere zusätzliche erste Labels für das zusätzliche bestimmte Unterbild zu erzeugen, die einen Kontext des zusätzlichen bestimmten Unterbilds anzeigen. Gleichermaßen kann der Server konfiguriert sein, um einen Teilbereich des zusätzlichen Bilds, der das zusätzliche bestimmte Unterbild nicht enthält, zur Texterkennungsmaschine 210 zu senden, um ein oder mehrere zusätzliche zweite Labels zu erzeugen, und zwar basierend auf einem Durchführen einer Texterkennung am Teilbereich des zusätzlichen Bilds, der ein anderer als das zusätzliche bestimmte Unterbild ist.
-
Der Server 206 kann die zusätzliche Transkription, die zusätzlichen ersten Labels und die zusätzlichen zweiten Labels verwenden, um einen Befehl oder eine Aktion zu erzeugen. Der Befehl kann durch den Server 206 automatisch durchgeführt werden, zur Computervorrichtung 104 geliefert werden und ähnliches. Bei einigen Beispielen kann der Befehl eine oder mehrere Aktionen enthalten, wie beispielsweise ein Speichern des zusätzlichen Bilds in einem Speicher, ein Speichern des zusätzlichen bestimmten Unterbilds im Speicher, ein Hochladen des zusätzlichen Bilds zum Server 206, ein Hochladen des zusätzlichen bestimmten Unterbilds zum Server 206, ein Importieren des zusätzlichen Bilds zu einer Anwendung der Computervorrichtung 104 und ein Importieren des bestimmten Unterbilds zur Anwendung der Computervorrichtung 104. Beispielsweise kann der Anwender 102 gerade einen visuellen und textuellen Inhalt in einer Nachrichtenanwendung auf der Anzeige der Computervorrichtung 104 anschauen. Unter Verwendung der empfangenen Transkription und der erzeugten Labels kann der Server 206 konfiguriert sein, um einen Teilbereich eines Bilds in der Anwendung für Anmerkungen bzw. Anwendung für Nachrichten zu erfassen und den Teilbereich des Bilds zur Cloud zur Speicherung hochladen.
-
Bei bestimmten Aspekten liefert der Server 206 die Suchanfrage 213 zur Computervorrichtung 104. In diesem Fall kann die Computervorrichtung 104 die Suchanfrage 213 zur Verifizierung durch den Anwender 102 liefern, bevor sie die Suchanfrage 213 als Eingabe zu einer Suchmaschine liefert. Als solches kann die Suchanfrage 213 durch den Anwender 102 angenommen, modifiziert oder abgelehnt werden. Beispielsweise kann der Anwender in Reaktion auf ein Empfangen der Suchanfrage 213 bei der Computervorrichtung 104 eine Anwendereingabe liefern, die anzeigt, dass die Suchanfrage 213 zu einer Suchmaschine zu liefern ist. Bei einem weiteren Beispiel kann der Anwender 102 eine Anwendereingabe liefern, die anzeigt, dass die Suchanfrage 213 zu modifizieren ist, bevor sie zur Suchmaschine geliefert wird. Als solches kann der Anwender die Suchanfrage 213 direkt modifizieren oder nach einer weiteren Suchanfrage vom Server 206 fragen. Bei einem weiteren Beispiel kann der Anwender 102 eine Anwendereingabe liefern, die anzeigt, dass die Suchanfrage 213 abgelehnt wird. Als solches kann der Anwender 102 nach einer weiteren Suchanfrage vom Server 206 Fragen oder eine weitere Äußerung liefern, um bei der Erzeugung einer weiteren Suchanfrage verwendet zu werden.
-
3 ist ein Ablaufdiagramm, das einen beispielhaften Prozess 300 zum kontextuellen Eindeutigmachen einer Anfrage darstellt. Der Prozess 300 kann durch einen oder mehrere Server oder andere Computervorrichtungen durchgeführt werden. Beispielsweise können Operationen des Prozesses 300 durch den Server 206 der 2 durchgeführt werden. Operationen des Prozesses 300 können auch als Anweisungen implementiert sein, die auf einem nichtflüchtigen computerlesbaren Medium gespeichert sind, und dann, wenn die Anweisungen durch einen oder mehrere Server (oder andere Computervorrichtungen) ausgeführt werden, veranlassen die Anweisungen, dass der eine oder die mehreren Server Operationen des Prozesses 300 durchführen.
-
Bei einem Schritt 310 empfängt der Server ein Bild und eine Transkription einer Äußerung. Das Bild kann einer graphischen Anzeige einer Computervorrichtung in Kommunikation mit dem Server entsprechen. Beispielsweise kann die Computervorrichtung das Bild auf ein Empfangen der Äußerung hin erfassen. Bei einigen Aspekten kann das Bild einer graphischen Anzeige der Computervorrichtung entsprechen, wenn die Computervorrichtung in einem Kameramodus ist. Als solches kann das Bild einer Fotografie entsprechen, die die Computervorrichtung erfasst oder die durch eine Kamera in Kommunikation mit der Computervorrichtung angeschaut wird. Weiterhin kann das Bild einem Video entsprechen, das durch die Kamera der Computervorrichtung erfasst ist, oder einem Video, das bei einer Anzeige der Computervorrichtung angezeigt ist. Zusätzlich oder alternativ kann die Computervorrichtung Hintergrundrauschen senden, das erfasst wird, während die Äußerung empfangen wird. In diesem Fall kann der Server das Hintergrundrauschen verwenden, um zusätzliche Labels zu erzeugen und/oder um die erzeugten Labels zu bewerten.
-
Die Transkription kann einer Äußerung entsprechen, die durch die Computervorrichtung empfangen ist. Bei einigen Aspekten wird die Transkription durch die Computervorrichtung basierend auf der empfangenen Äußerung erzeugt. Bei anderen Aspekten entspricht die Transkription einer Anwendereingabe, die durch die Computervorrichtung empfangen ist. Beispielsweise kann ein Anwender eine Frage über eine Tastatur oder eine Anwenderschnittstelle der Computervorrichtung eingeben. Die Computervorrichtung kann die Transkription basierend auf der Eingabe erzeugen und die Transkription zum Server liefern.
-
Bei einem Schritt 320 identifiziert der Server ein bestimmtes Unterbild, das im Bild enthalten ist. Der Server ist konfiguriert, um ein bestimmtes Unterbild aus einem oder mehreren Bildern im Bild zu identifizieren. Das bestimmte Unterbild kann ein Bild sein, für das es wahrscheinlich ist, dass es im primären Fokus oder Interesse eines Anwenders ist. Beispielsweise kann das Bild eine Fotografie sowie auch mehrere andere graphische Symbole enthalten. Der Server kann konfiguriert sein, um das Bild zu analysieren, um zu bestimmen, dass die Fotografie von primärem Interesse für den Anwender ist, während die anderen graphischen Symbole in der Anzeige nicht von primärem Interesse für den Anwender sind.
-
Bei einem Schritt 330 bestimmt der Server ein oder mehrere erste Labels basierend auf einer Bilderkennung des bestimmten Unterbilds. Der Server kann eine Bilderkennung an dem bestimmten Unterbild im Bild durchführen, um eine oder mehrere Entitäten im bestimmten Unterbild zu identifizieren und jeweilige Labels für die eine oder die mehreren Entitäten zu erzeugen. Jede der einen oder der mehreren Entitäten kann einem oder mehreren jeweiligen ersten Labels entsprechen. Die ersten Labels können teilweise unter Verwendung von Metadaten bestimmt werden, die mit dem bestimmten Unterbild assoziiert sind. Die ersten Labels können einen Kontext des bestimmten Unterbilds anzeigen. Bei bestimmten Aspekten ist der Server konfiguriert, um eine Bilderkennung über dem gesamten Bild durchzuführen. In diesem Fall können die ersten Labels für alle Entitäten erzeugt werden, die durch eine Bilderkennung im Bild identifiziert sind.
-
Bei einem Schritt 340 bestimmt der Server ein oder mehrere zweite Labels basierend auf einer Texterkennung an einem Teilbereich des Bilds, der ein anderer als das bestimmte Unterbild ist. Der Server kann eine Texterkennung am Teilbereich des Bilds, der ein anderer als das bestimmte Unterbild ist, durchführen, um einen textuellen Inhalt des Bilds zu identifizieren, um ihn bei der Erzeugung von Labels zu verwenden, die einen Kontext des Inhalts anzeigen. Der textuelle Inhalt kann unter Verwendung von einem oder mehreren zweiten Labels gekennzeichnet werden, die einen Kontext des bestimmten Inhalts anzeigen.
-
Die zweiten Labels können teilweise unter Verwendung von Metadaten bestimmt werden, die mit dem Teilbereich assoziiert sind. Beispielsweise kann der Server konfiguriert sein, um auf einen Code in Bezug auf ein Anzeigen eines Inhalts auf der Anzeige der Computervorrichtung zuzugreifen und ihn zu erfassen. In diesem Fall kann der Server auf einen Markierungscode zugreifen und den Markierungscode erfassen, um auf Metadaten zu analysieren, die bei der Erzeugeng der zweiten Labels verwendet werden können. Bei einigen Aspekten ist der Server konfiguriert, um eine Texterkennung über dem gesamten Bild durchzuführen. In diesem Fall können die zweiten Labels für den gesamten textuellen Inhalt erzeugt werden, der durch eine Texterkennung im Bild identifiziert ist.
-
Bei einem Schritt 350 erzeugt der Server eine Suchanfrage basierend auf der Transkription, den ersten Labels und den zweiten Labels. Spezifisch ist der Server konfiguriert, um die Suchanfrage basierend auf der Transkription und den Labels zu erzeugen. Bei einigen Beispielen ist der Server konfiguriert, um mehrere Kandidaten-Suchanfragen basierend auf der Transkription und den Labels zu erzeugen. Die Kandidaten-Suchanfragen können basierend auf historischen Anfragedaten in eine Reihenfolge gebracht werden. Als solches kann eine Kandidaten-Suchanfrage mit einem obersten Rang als die Suchanfrage ausgewählt werden.
-
Bei einem Schritt 360 liefert der Server die Suchanfrage zur Ausgabe. Die ausgewählte Suchanfrage kann direkt zu einer Suchmaschine geliefert werden. In diesem Fall kann der Server auch konfiguriert sein, um ein oder mehrere Suchergebnisse von der Suchmaschine zu empfangen und um die Suchergebnisse zur Ausgabe zu liefern. Beispielsweise kann der Server die Suchanfrage zur Suchmaschine liefern, ein bestimmtes Suchergebnis auswählen und das Suchergebnis zur Computervorrichtung zur akustischen oder visuellen Ausgabe liefern.
-
Bei anderen Aspekten kann die Suchanfrage zur Computervorrichtung geliefert werden. Die Computervorrichtung kann die Suchanfrage zur akustischen oder visuellen Ausgabe liefern. In diesem Fall kann die Suchanfrage durch einen Anwender verifiziert werden, bevor sie als Eingabe zu einer Suchmaschine geliefert wird.
-
4 ist ein Ablaufdiagramm, das einen beispielhaften Prozess 400 zum Auswählen eines bestimmten Unterbilds unter Verwendung von Vertrauenswerten darstellt. Der Prozess 400 kann durch einen oder mehrere Server oder andere Computervorrichtungen durchgeführt werden. Beispielsweise können Operationen des Prozesses 400 durch den Server 206 der 2 durchgeführt werden. Operationen des Prozesses 400 können auch als Anweisungen implementiert sein, die auf einem nichtflüchtigen computerlesbaren Medium gespeichert sind, und dann, wenn die Anweisungen durch einen oder mehrere Server (oder andere Computervorrichtungen) ausgeführt werden, veranlassen die Anweisungen, dass der eine oder die mehreren Server Operationen des Prozesses 400 durchführen.
-
Bei einem Schritt 410 identifiziert der Server Bilder die in einem Bild enthalten sind. Bei bestimmten Aspekten empfängt der Server ein Bild von einer Computervorrichtung und identifiziert eine Vielzahl von Bildern im Bild. Der Server kann konfiguriert sein, um eine Bilderkennung an dem Bild durchzuführen, um die Vielzahl von Bildern zu identifizieren. Die Bilder können Fotografien, Symbole, Zeichnungen, Bilder und ähnliches enthalten. Die Bilder können bezüglich einer Größe, einer Form und eines Typs variieren. Bei einigen Aspekten entsprechen die Bilder einem Standbild eines Videos. Beispielsweise kann das Bild von einer Web-Seite sein, die mehrere Bilder enthält, und ein Video, das im Hintergrund spielt. Das Bild kann einem einzelnen erfassten Einzelbild des Videos entsprechen, das auf der Web-Seite spielt.
-
Bei einem Schritt 420 erzeugt der Server einen Vertrauenswert für jedes der identifizierten Bilder. Die Vertrauenswerte können jeweils eine Wahrscheinlichkeit anzeigen, dass ein Bild ein Bild von primärem Interesse für einen Anwender ist, der das Bild anschaut. Die Vertrauenswerte können basierend auf verschiedenen Merkmalen des Bilds bestimmt werden. Beispielsweise kann der Server größere Vertrauenswerte für große Bilder gegenüber kleinen Bildern im Bild erzeugen. Bei einem weiteren Beispiel kann der Server größere Vertrauenswerte für Bilder mit einer großen Anzahl von identifizierbaren Entitäten im Bild erzeugen, wie beispielsweise Sehenswürdigkeiten, Menschen oder Tieren, und umgekehrt.
-
Bei einem Schritt 430 wählt der Server ein bestimmtes Unterbild basierend auf den Vertrauenswerten aus. Der Server kann konfiguriert sein, um das bestimmte Unterbild basierend auf dem höchsten Vertrauenswert auszuwählen. Als solches können die Vertrauenswerte der Bilder verglichen werden, um zu bestimmen, welches Bild mit dem größten Vertrauenswert assoziiert ist. Bei einigen Beispielen wählt der Server mehrere Bilder aus. In diesem Fall kann der Server konfiguriert sein, um Bilder auszuwählen, wenn jedes der ausgewählten Bilder eine vorbestimmte Bild-Vertrauenswertschwelle erfüllt. Dies kann der Fall sein, wenn mehrere Bilder im Bild ähnliche Entitäten oder Objekte enthalten. Beispielsweise können zwei Bilder in einem Bild den Eiffelturm enthalten und kann ein drittes Bild den Eiffelturm nicht enthalten. Als solches können die zwei jeweiligen Bilder, die den Eiffelturm enthalten, als die bestimmten Unterbilder aufgrund des ähnlichen Inhalts in jedem der zwei Bilder ausgewählt werden.
-
5 ist ein Ablaufdiagramm, das einen beispielhaften Prozess 500 zum Erzeugen einer Suchanfrage unter Verwendung ausgewählter Labels darstellt. Der Prozess 500 kann durch einen oder mehrere Server oder andere Computervorrichtungen durchgeführt werden. Beispielsweise können Operationen des Prozesses 500 durch den Server 206 der 2 durchgeführt werden. Operationen des Prozesses 500 können auch als Anweisungen implementiert sein, die auf einem nichtflüchtigen computerlesbaren Medium gespeichert sind, und dann, wenn die Anweisungen durch eine oder mehrere Server (oder andere Computervorrichtungen) ausgeführt werden, veranlassen die Anweisungen, dass der eine oder die mehreren Server Operationen des Prozesses 500 durchführen.
-
Bei einem Schritt 510 erzeugt der Server einen Vertrauenswert für jedes der ersten Labels und der zweiten Labels. Die ersten Labels können einem bestimmten Unterbild entsprechen, das in einem Bild identifiziert ist, und die zweiten Labels können einem Teilbereich des Bilds entsprechen, der ein anderer als das bestimmte Unterbild ist. Beispielsweise kann das bestimmte Unterbild eine Fotografie des Eiffelturms in dem Bild sein und kann der Teilbereich des Bilds, der ein anderer als das bestimmte Unterbild ist, Kommentierungen über die Fotografie enthalten. Die Vertrauenswerte für die ersten und die zweiten Labels zeigen jeweils eine Wahrscheinlichkeit an, dass das jeweilige Label einem Teilbereich des bestimmten Unterbilds entspricht, der von primärem Interesse für den Anwender ist.
-
Bei einem Schritt 520 wählt der Server ein oder mehrere der ersten Labels und der zweiten Labels basierend auf den Vertrauenswerten aus. Beispielsweise kann der Server ein einziges Label mit dem größten Vertrauenswert auswählen. Bei einem weiteren Beispiel ist der Server konfiguriert, um Labels mit Vertrauenswerten auszuwählen, die eine vorbestimmte Vertrauenswertschwelle erfüllen. Bei einem weiteren Beispiel ist der Server konfiguriert, um eine vorbestimmte Anzahl von Labels mit den größten Vertrauenswerten auszuwählen.
-
Bei einem Schritt 530 erzeugt der Server eine Suchanfrage unter Verwendung einer empfangenen Transkription, der ausgewählten ersten Labels und der ausgewählten zweiten Labels. Der Server kann konfiguriert sein, um die erzeugte Suchanfrage zur Ausgabe zu liefern. Beispielsweise kann der Server konfiguriert sein, um die erzeugte Suchanfrage zu einer Suchmaschine zu liefern. Bei einem weiteren Beispiel kann der Server die Suchanfrage erzeugen und die Suchanfrage zu einer Computervorrichtung senden. In diesem Fall kann die Suchanfrage zu einem Anwender akustisch oder visuell durch die Computervorrichtung geliefert werden.
-
6 ist eine graphische Darstellung einer beispielhaften Computervorrichtung 600 und einer beispielhaften mobilen Computervorrichtung 650, die mit den hierin beschriebenen Techniken verwendet werden können. Die Computervorrichtung 600 soll verschiedene Formen von digitalen Computern darstellen, wie beispielsweise Laptops, Desktops, Workstations, persönliche digitale Assistenten, Server, Bladeserver, Großrechner und andere geeignete Computer. Die mobile Computervorrichtung 650 soll verschiedene Formen von mobilen Vorrichtungen darstellen, wie beispielsweise persönliche digitale Assistenten, zellulare Telefone, Smartphones und andere ähnliche Computervorrichtungen. Die hier gezeigten Komponenten, ihre Verbindungen und Beziehungen und ihre Funktionen haben die Bedeutung, dass sie nur exemplarisch sind, und haben nicht die Bedeutung, dass sie Implementierungen der Erfindungen beschränken, die in diesem Dokument beschrieben und/oder beansprucht sind.
-
Die Computervorrichtung 600 enthält einen Prozessor 602, einen Speicher 604, eine Speichervorrichtung 606, eine Hochgeschwindigkeitsschnittstelle 608, die mit dem Speicher 604 verbindet, und Hochgeschwindigkeits-Erweiterungsports 610, und eine Niedergeschwindigkeitsschnittstelle 612, die mit einem Niedergeschwindigkeitsbus 614 und der Speichervorrichtung 606 verbindet. Jede der Komponenten 602, 604, 606, 608, 610 und 612 ist unter Verwendung verschiedener Busse miteinander verbunden und kann auf einer gemeinsamen Hauptplatine oder auf andere Weisen, wie es geeignet ist, angebracht sein. Der Prozessor 602 kann Anweisungen zur Ausführung innerhalb der Computervorrichtung 600 verarbeiten, einschließlich Anweisungen, die im Speicher 604 oder auf der Speichervorrichtung 606 gespeichert sind, um graphische Information für eine GUI auf einer externen Eingabe/Ausgabe-Vorrichtung anzuzeigen, wie beispielsweise einer Anzeige 616, die mit der Hochgeschwindigkeitsschnittstelle 608 gekoppelt ist. Bei anderen Implementierungen können mehrere Prozessoren und/oder mehrere Busse verwendet werden, wie es geeignet ist, zusammen mit mehreren Speichern und Typen eines Speichers. Ebenso können mehrere Computervorrichtungen 600 verbunden sein, wobei jede Vorrichtung Teilbereiche der nötigen Operationen zur Verfügung stellt (z.B. als eine Serverbank, eine Gruppe von Bladeservern oder ein Mehrprozessorsystem).
-
Der Speicher 604 speichert Information innerhalb der Computervorrichtung 600. Bei einer Implementierung ist der Speicher 604 eine flüchtige Speichereinheit oder -einheiten. Bei einer weiteren Implementierung ist der Speicher 604 eine nichtflüchtige Speichereinheit oder -einheiten. Der Speicher 604 kann auch eine andere Form von computerlesbarem Medium sein, wie beispielsweise eine magnetische oder optische Platte.
-
Die Speichervorrichtung 606 kann einen Massenspeicher für die Computervorrichtung 600 zur Verfügung stellen. Bei einer Implementierung kann die Speichervorrichtung 606 ein computerlesbares Medium sein oder enthalten, wie beispielsweise eine Diskettenvorrichtung, eine Festplattenvorrichtung, eine optische Plattenvorrichtung oder eine Bandvorrichtung, ein Flash-Speicher oder eine andere ähnliche Festkörperspeichervorrichtung oder eine Gruppe von Vorrichtungen, einschließlich Vorrichtungen in einem Speicherbereichsnetzwerk oder anderen Konfigurationen. Ein Computerprogrammprodukt kann greifbar in einem Informationsträger verkörpert sein. Das Computerprogrammprodukt kann auch Anweisungen enthalten, die dann, wenn sie ausgeführt werden, ein oder mehrere Verfahren durchführen, wie beispielsweise diejenigen, die oben beschrieben sind. Der Informationsträger ist ein computer- oder maschinenlesbares Medium, wie beispielsweise der Speicher 604, die Speichervorrichtung 606 oder ein Speicher am Prozessor 602.
-
Die Hochgeschwindigkeitssteuerung 608 managt bandbreitenintensive Operationen für die Computervorrichtung 600, während die Niedergeschwindigkeitssteuerung 612 Operationen managt, die weniger bandbreitenintensiv sind. Eine solche Zuteilung von Funktionen ist nur beispielhaft. Bei einer Implementierung ist die Hochgeschwindigkeitssteuerung 608 mit dem Speicher 604, der Anzeige 616 (z.B. über einen Grafikprozessor oder Akzelerator) gekoppelt, und mit Hochgeschwindigkeits-Erweiterungsports 610, die verschiedene Erweiterungskarten (nicht gezeigt) aufnehmen können. Bei der Implementierung ist die Niedergeschwindigkeitssteuerung 612 mit der Speichervorrichtung 606 und dem Niedergeschwindigkeits-Erweiterungsport 614 gekoppelt. Das Niedergeschwindigkeits-Erweiterungsport, das verschiedene Kommunikationsports (z.B. USB, Bluetooth, Ethernet, drahtloses Ethernet) enthalten kann, kann mit einer oder mehreren Eingabe/Ausgabe-Vorrichtungen gekoppelt sein, wie beispielsweise einer Tastatur, einer Zeigevorrichtung, einem Scanner oder einer Netzwerkvorrichtung, wie beispielsweise einer Leitungsvermittlungsstelle oder einem Router, z.B. über einen Netzwerkadapter.
-
Die Computervorrichtung 600 kann in einer Anzahl von unterschiedlichen Formen implementiert sein, wie es in der Figur gezeigt ist. Beispielsweise kann sie als ein Standardserver 620 implementiert sein, oder mehrere Male in einer Gruppe von solchen Servern. Sie kann auch als Teil eines Rackserversystems 624 implementiert sein. Zusätzlich kann sie in einem Personalcomputer implementiert sein, wie beispielsweise einem Laptop-Computer 622. Alternativ können Komponenten von der Computervorrichtung 600 mit anderen Komponenten in einer mobilen Vorrichtung (nicht gezeigt) kombiniert sein, wie beispielsweise der mobilen Computervorrichtung 650. Jede von solchen Vorrichtungen kann eine oder mehrere von Computervorrichtungen 600, 650 enthalten, und ein gesamtes System kann aus mehreren Computervorrichtungen 600, 650 gebildet sein, die miteinander kommunizieren.
-
Die mobile Computervorrichtung 650 enthält einen Prozessor 652, einen Speicher 664, eine Eingabe/Ausgabe-Vorrichtung, wie beispielsweise eine Anzeige 654, eine Kommunikationsschnittstelle 666 und einen Transceiver 668, und zwar unter anderen Komponenten. Die mobile Computervorrichtung 650 kann auch mit einer Speichervorrichtung versehen sein, wie beispielsweise einem Mikrolaufwerk oder einer anderen Vorrichtung, um einen zusätzlichen Speicher zur Verfügung zu stellen. Jede der Komponenten 650, 652, 664, 654, 666 und 668 ist unter Verwendung verschiedener Busse miteinander verbunden, und mehrere der Komponenten können auf einer gemeinsamen Hauptplatine oder auf andere Weisen, wie es geeignet ist, angebracht sein.
-
Der Prozessor 652 kann Anweisungen innerhalb der mobilen Computervorrichtung 650 ausführen, einschließlich Anweisungen, die im Speicher 664 gespeichert sind. Der Prozessor kann als eine Chipgruppe von Chips implementiert sein, die separate und mehrere analoge und digitale Prozessoren enthalten. Der Prozessor kann beispielsweise für eine Koordination der anderen Komponenten der mobilen Computervorrichtung 650 sorgen, wie beispielsweise eine Steuerung von Anwenderschnittstellen, Anwendungen, die durch die Vorrichtung 650 in Betrieb genommen werden, und eine drahtlose Kommunikation durch die Vorrichtung 650.
-
Der Prozessor 652 kann mit einem Anwender durch eine Steuerungsschnittstelle 658 und eine Anzeigeschnittstelle 656, die mit einer Anzeige 654 gekoppelt sind, kommunizieren. Die Anzeige 654 kann beispielsweise eine TFT-LCD-(Dünnfilmtransistor-Flüssigkristallanzeigen-) oder eine OLED-(Organische Lichtemittierende Dioden-)Anzeige oder eine andere geeignete Anzeigetechnologie sein. Die Anzeigeschnittstelle 656 kann eine geeignete Schaltung zum Antreiben der Anzeige 654 umfassen, um graphische und andere Information zu einem Anwender zu präsentieren. Die Steuerungsschnittstelle 658 kann Befehle von einem Anwender empfangen und sie zur Überreichung zum Prozessor 652 umwandeln. Zusätzlich kann eine externe Schnittstelle 662 in Kommunikation mit dem Prozessor 652 vorgesehen sein, um eine Nahfeldkommunikation der mobilen Computervorrichtung 650 mit anderen Vorrichtungen zu ermöglichen. Die externe Schnittstelle 662 kann beispielsweise für eine verdrahtete Kommunikation bei einigen Implementierungen sorgen, oder für eine drahtlose Kommunikation bei anderen Implementierungen, und mehrere Schnittstellen können auch verwendet werden.
-
Der Speicher 664 speichert Information innerhalb der mobilen Computervorrichtung 650. Der Speicher 664 kann als eines oder mehrere eines computerlesbaren Mediums oder von Medien implementiert sein, einer flüchtigen Speichereinheit oder von Einheiten, oder einer nichtflüchtigen Speichereinheit oder von Einheiten. Ein Erweiterungsspeicher 654 kann auch vorgesehen sein und mit der Vorrichtung 650 über die Erweiterungsschnittstelle 652 verbunden sein, die beispielsweise eine SIMM-(Einzelreihiger Speicherbaustein-)Kartenschnittstelle. Ein solcher Erweiterungsspeicher 654 kann einen zusätzlichen Speicherplatz für die Vorrichtung 650 zur Verfügung stellen oder kann auch Anwendungen oder andere Information für die Vorrichtung 650 speichern. Spezifisch kann der Erweiterungsspeicher 654 Anweisungen enthalten, um die oben beschriebenen Prozesse auszuführen oder zu ergänzen und kann auch sichere Information enthalten. Somit kann der Erweiterungsspeicher 654 beispielsweise als ein Sicherheitsmodul für die Vorrichtung 650 zur Verfügung stehen und kann mit Anweisungen programmiert sein, die eine sichere Verwendung der Vorrichtung 650 erlauben. Zusätzlich können sichere Anwendungen über die SIMM-Karten zur Verfügung gestellt werden, zusammen mit zusätzlicher Information, wie beispielsweise einem Platzieren von Identifizierungsinformation auf der SIMM-Karte auf eine nicht hackbare Weise.
-
Der Speicher kann beispielsweise einen Flash-Speicher und/oder einen NVRAM-Speicher enthalten, wie es nachstehend diskutiert ist. Bei einer Implementierung ist ein Computerprogrammprodukt greifbar in einem Informationsträger verkörpert. Das Computerprogrammprodukt enthält Anweisungen, die dann, wenn sie ausgeführt werden, ein oder mehrere Verfahren durchführen, wie beispielsweise diejenigen, die oben beschrieben sind. Der Informationsträger ist ein computer- oder maschinenlesbares Medium, wie beispielsweise der Speicher 664, der Erweiterungsspeicher 654, der Speicher am Prozessor 652 oder ein ausgebreitetes Signal, das beispielsweise über einen Transceiver 668 oder eine externe Schnittstelle 662 empfangen werden kann.
-
Die Vorrichtung 650 kann drahtlos über eine Kommunikationsschnittstelle 666 kommunizieren, die eine digitale Signalverarbeitungsschaltung enthalten kann, wo es nötig ist. Die Kommunikationsschnittstelle 666 kann für Kommunikationen unter verschiedenen Moden unter Protokollen sorgen, wie beispielsweise GSM-Sprachaufrufen, SMS-, EMS- oder MMS-Nachrichtenübermittlung, CDMA, TDMA, PDC, WCDMA, CDMA2000 oder GPRS, und zwar unter anderem. Eine solche Kommunikation kann beispielsweise über einen Funkfrequenztransceiver 668 erfolgen. Zusätzlich kann eine Nahfeldkommunikation auftreten, wie beispielsweise unter Verwendung von Bluetooth, Wi-Fi oder einen anderen solchen Transceiver (nicht gezeigt). Zusätzlich kann ein GPS-(Globales Positioniersystem-)Empfängermodul 650 zusätzliche navigations- und standortbezogene Daten zu der Vorrichtung 650 liefern, die als geeignet durch Anwendungen verwendet werden können, die auf der Vorrichtung 650 laufen.
-
Die Vorrichtung 650 kann auch akustisch unter Verwendung von Audiocodec 660 kommunizieren, der gesprochene Information von einem Anwender empfangen und sie in nutzbare digitale Information umwandeln kann. Audiocodec 660 kann gleichermaßen akustischen Klang für einen Anwender erzeugen, wie beispielsweise durch einen Lautsprecher, z.B. in einem Handgerät der Vorrichtung 650. Ein solcher Klang kann einen Klang von Sprachtelefonanrufen enthalten, kann aufgezeichneten Klang (z.B. Sprachnachrichten, Musikdateien, etc.) enthalten und kann auch Klang enthalten, der durch Anwendungen erzeugt ist, die auf der Vorrichtung 650 in Betrieb sind.
-
Die Computervorrichtung 650 kann in einer Anzahl von unterschiedlichen Formen implementiert sein, wie es in der Figur gezeigt ist. Beispielsweise kann sie als zellulares Telefon 680 implementiert sein. Sie kann auch als Teil eines Smartphones 682, eines persönlichen Assistenten oder einer anderen ähnlichen mobilen Vorrichtung implementiert sein.
-
Eine Anzahl von Implementierungen ist beschrieben worden. Nichtsdestoweniger wird es verstanden werden, dass verschiedene Modifikationen durchgeführt werden können, ohne vom Sinngehalt und Schutzumfang der Offenbarung abzuweichen. Beispielsweise können verschiedene Formen der oben gezeigten Abläufe verwendet werden, wobei Schritte neu angeordnet, hinzugefügt oder entfernt sind.
-
Ausführungsformen der Erfindung und alle der funktionellen Operationen, die in dieser Beschreibung beschrieben sind, können in einer digitalen elektronischen Schaltung implementiert sein, oder in Computer-Software, -Firmware oder -Hardware, einschließlich der Strukturen, die in dieser Beschreibung offenbart sind, und ihrer strukturellen Äquivalente, oder in Kombination von einem oder mehreren von ihnen. Ausführungsformen der Erfindung können als ein oder mehrere Computerprogrammprodukte implementiert sein, wie z.B. ein oder mehrere Module vom Computerprogrammanweisungen, die auf einem computerlesbaren Medium zur Ausführung durch eine Datenverarbeitungsvorrichtung oder zum Steuern der Operation von dieser codiert sind. Das computerlesbare Medium kann eine maschinenlesbare Speichervorrichtung, ein maschinenlesbares Speichersubstrat, eine Speichervorrichtung, eine Zusammensetzung einer Sache, die ein maschinenlesbares ausgebreitetes Signal bewirkt, oder eine Kombination von einem oder mehreren von ihnen sein. Der Ausdruck "Datenverarbeitungsvorrichtung" umfasst alle Vorrichtungen, Geräte und Maschinen zum Verarbeiten von Daten, einschließlich, anhand eines Beispiels, eines programmierbaren Prozessors, eines Computers oder mehrerer Prozessoren oder Computer. Die Vorrichtung kann zusätzlich zu Hardware einen Code enthalten, der eine Ausführungsumgebung für das infrage stehende Computerprogramm erzeugt, z.B. einen Code, der eine Prozessor-Firmware, einen Protokollstapel, ein Datenbankmanagementsystem, ein Betriebssystem oder eine Kombination von einem oder mehreren von ihnen bildet. Ein ausgebreitetes Signal ist ein künstlich erzeugtes Signal, wie z.B. ein maschinenerzeugtes elektrisches, optisches oder elektromagnetisches Signal, das erzeugt ist, um Information zur Übertragung zu einer geeigneten Empfängervorrichtung zu codieren.
-
Ein Computerprogramm (das auch als Programm, Software, Softwareanwendung, Skript oder Code bekannt ist) kann in irgendeiner Form einer Programmiersprache geschrieben sein, einschließlich kompilierter oder interpretierter Sprachen, und es kann in irgendeiner Form genutzt werden, einschließlich als alleinstehendes Programm oder als ein Modul, eine Komponente, ein Unterprogramm oder einer anderen Einheit, die zur Verwendung in einer Computerumgebung geeignet ist. Ein Computerprogramm entspricht nicht notwendigerweise einer Datei in einem Dateiensystem. Ein Programm kann in einem Teilbereich einer Datei gespeichert sein, der andere Programme oder Daten hält (z.B. ein oder mehrere Skripte, die in einem Aufzeichnungssprachendokument gespeichert sind), in einer einzigen Datei, die für das infrage stehende Programm bestimmt ist, oder in mehreren koordinierten Dateien (z.B. Dateien, die ein oder mehrere Module, Unterprogramme oder Teilbereiche eines Codes speichern). Ein Computerprogramm kann genutzt werden, um auf einem Computer oder auf mehreren Computern, die an einer Stelle oder über mehrere Stellen verteilt und durch ein Kommunikationsnetzwerk miteinander verbunden sind, ausgeführt zu werden.
-
Die Prozesse und logischen Abläufe, die in dieser Beschreibung beschrieben sind, können durch einen oder mehrere programmierbare Prozessoren durchgeführt werden, die ein oder mehrere Computerprogramme ausführen, um Funktionen durch Arbeiten an Eingangsdaten und Erzeugen einer Ausgabe durchzuführen. Die Prozesse und logischen Abläufe können auch durchgeführt werden durch, und eine Vorrichtung kann auch implementiert sein als, eine spezielle logische Schaltung, wie z.B. ein FPGA (feldprogrammierbares Gate-Array) oder eine ASIC (anwendungsspezifische Intergierte Schaltung).
-
Prozessoren, die für die Ausführung eines Computerprogramms geeignet sind, enthalten, anhand eines Beispiels, sowohl allgemeine als auch spezielle Mikroprozessoren, und irgendeinen oder mehrere Prozessoren von irgendeiner Art eines digitalen Computers. Allgemein wird ein Prozessor Anweisungen und Daten von einem Nurlesespeicher oder einem Direktzugriffsspeicher oder beiden empfangen. Die wesentlichen Elemente eines Computers sind ein Prozessor zum Durchführen von Anweisungen und eine oder mehrere Speichervorrichtungen zum Speichern von Anweisungen und Daten. Allgemein wird ein Computer auch eine oder mehrere Massenspeichervorrichtungen zum Speichern von Daten enthalten oder operativ damit gekoppelt sein, um Daten von diesen zu empfangen oder Daten zu diesen zu transferieren, oder beides, wie z.B. magnetische, magnetooptische Platten oder optische Platten. Jedoch muss ein Computer solche Vorrichtungen nicht haben. Darüber hinaus kann ein Computer in einer anderen Vorrichtung eingebettet sein, z.B. ein Tablet-Computer, ein Mobiltelefon, ein persönlicher digitaler Assistent (PDA), ein mobiles Audioabspielgerät, ein Empfänger eines globalen Positioniersystems (GPS), um nur einige zu nennen. Computerlesbare Medien, die zum Speichern von Computerprogrammanweisungen und Daten geeignet sind, enthalten alle Formen eines nicht flüchtigen Speichers, von Medien und Speichervorrichtungen, einschließlich, anhand eines Beispiels, von Halbleiterspeichervorrichtungen, z.B. EPROM, EEPROM, und Flash-Speichervorrichtungen; magnetische Platten, z.B. interne Festplatten oder entfernbare Platten; magnetooptische Platten; und CD-ROM und DVD-ROM-Scheiben. Der Prozessor und der Speicher können durch eine spezielle Logikschaltung ergänzt oder darin enthalten sein.
-
Um für eine Interaktion mit einem Anwender zu sorgen, können Ausführungsformen der Erfindung auf einem Computer implementiert sein, der eine Anzeigevorrichtung hat, wie z.B. einen CRT-(Kathodenstrahlröhren-) oder einen LCD-(Flüssigkristallanzeigen-)Monitor, zum Anzeigen von Information zum Anwender, und eine Tastatur und eine Zeigevorrichtung, wie z.B. eine Maus oder einen Trackball, wodurch der Anwender eine Eingabe zum Computer liefern kann. Andere Arten von Vorrichtungen können ebenso gut verwendet werden, um für eine Interaktion mit einem Anwender zu sorgen; beispielsweise kann eine zum Anwender gelieferte Rückkopplung irgendeine Form von sensorischer Rückkopplung sein, z.B. eine visuelle Rückkopplung, eine akustische Rückkopplung oder eine taktile Rückkopplung; und eine Eingabe vom Anwender kann in irgendeiner Form empfangen werden, einschließlich einer akustischen, einer sprachlichen oder einer taktilen Eingabe.
-
Ausführungsformen der Erfindung können in einem Computersystem implementiert sein, das eine Backend-Komponente enthält, wie z.B. als einen Datenserver, oder das eine Middleware-Komponente enthält, wie z.B. einen Anwendungsserver, oder das eine Frontend-Komponente enthält, wie z.B. einen Client-Computer, der eine graphische Anwenderschnittstelle oder einen Web-Browser hat, wodurch ein Anwender mit einer Implementierung der Erfindung interagieren kann, oder irgendeine Kombination von einer oder mehreren von solchen Backend-, Middleware- oder Frontend-Komponenten. Die Komponenten des Systems können durch irgendeine Form oder ein Medium einer digitalen Datenkommunikation miteinander verbunden sein, z.B. einem Kommunikationsnetzwerk. Beispiele von Kommunikationsnetzwerken enthalten ein lokales Netz ("LAN") und ein Weitverkehrsnetz ("WAN"), z.B. das Internet.
-
Das Computersystem kann Clients und Server enthalten. Ein Client und ein Server sind allgemein entfernt voneinander und interagieren typischerweise durch ein Kommunikationsnetzwerk. Die Beziehung von Client und Server entsteht mittels Computerprogrammen, die auf den jeweiligen Computern laufen und die eine Client-Server-Beziehung zueinander haben.
-
Während diese Beschreibung viele Besonderheiten enthält, sollten diese nicht als Beschränkungen für den Schutzumfang der Erfindung oder von dem, was beansprucht sein kann, angesehen werden, sondern vielmehr als Beschreibungen von Merkmalen, die spezifisch für bestimmte Ausführungsformen der Erfindung sind. Bestimmte Merkmale, die in dieser Beschreibung in dem Zusammenhang von separaten Ausführungsformen beschrieben sind, können auch in Kombination in einer einzigen Ausführungsform implementiert sein. Gegensätzlich dazu können verschiedene Merkmale, die im Zusammenhang mit einer einzigen Ausführungsform beschrieben sind, auch in mehreren Ausführungsformen separat oder in irgendeiner geeigneten Unterkombination implementiert sein. Darüber hinaus können, obwohl Merkmale oben derart beschrieben sein können, dass sie in bestimmten Kombinationen agieren, und sogar anfänglich als solches beansprucht sind, ein oder mehrere Merkmale aus einer beanspruchten Kombination in einigen Fällen von der Kombination ausgeschlossen werden, und die beanspruchte Kombination kann auf eine Unterkombination oder eine Variation einer Unterkombination gerichtet sein.
-
Gleichermaßen sollte, während Operationen in den Zeichnungen in einer bestimmten Reihenfolge gezeigt sind, dies nicht derart verstanden werden, dass es erforderlich ist, dass solche Operationen in der gezeigten bestimmten Reihenfolge oder in einer sequentiellen Reihenfolge durchgeführt werden oder dass alle dargestellten Operationen durchgeführt werden, um erwünschte Ergebnisse zu erreichen. Unter gewissen Umständen können Multitasking und Parallelverarbeitung vorteilhaft sein. Darüber hinaus sollte die Trennung von verschiedenen Systemkomponenten bei den oben beschriebenen Ausführungsformen nicht derart verstanden werden, dass eine solche Trennung bei allen Ausführungsformen erforderlich ist, und es sollte verstanden werden, dass die beschriebenen Programmkomponenten und Systeme allgemein miteinander in einem einzigen Softwareprodukt integriert oder in mehrere Softwareprodukte gepackt sein können.
-
In jedem Fall, in welchem eine HTML-Datei angegeben ist, können andere Dateientypen oder Formate ersetzt sein. Beispielsweise kann eine HTML-Datei durch XML, JSON, Klartext oder andere Typen von Dateien ersetzt sein. Darüber hinaus können dort, wo eine Tabelle oder eine Hash-Tabelle angegeben ist, andere Datenstrukturen (wie beispielsweise Kalkulationstabellen, relationale Datenbanken oder strukturierte Dateien) verwendet werden.
-
Bestimmte Ausführungsformen der Erfindung sind beschrieben worden. Andere Ausführungsformen sind innerhalb des Schutzumfangs der folgenden Ansprüche. Beispielsweise können die Schritte, die in den Ansprüchen vorgetragen sind, in einer anderen Reihenfolge durchgeführt werden und noch erwünschte Ergebnisse erreichen.