-
HINTERGRUND
-
Auf Grund der Zunahme von Speicherplatz und Speicherstellen kann ein Benutzer erhebliche Informationsmengen speichern. Es kann den Benutzern jedoch schwerfallen, sich genau daran zu erinnern, wo eine bestimmte Datei gespeichert ist. Zudem kann ein Benutzer Zugriff auf zusätzliche Informationen haben, beispielsweise über Netzwerk- oder Internet-Anschlüsse. Um beim Wiederfinden von bestimmten Dateien oder Informationen behilflich zu sein, verfügen viele Anwendungen über Suchfunktionen, die es einem Benutzer ermöglichen, eine Suchanfrage einzugeben, um beim Wiederfinden von bestimmten Dateien oder Informationen behilflich zu sein. Um jedoch die gewünschten Informationen wiederzufinden, muss ein Benutzer eine Suchanfrage mit einem gewissen Maß an Genauigkeit eingeben.
-
KURZDARSTELLUNG
-
Kurz gesagt stellt ein Aspekt ein Verfahren bereit, das folgende Schritte umfasst: unter Verwendung eines Prozessors, Erfassen von Kontextmerkmalen über einen Benutzer; unter Verwendung eines Prozessors, Speichern der Kontextmerkmale über einen Benutzer; Empfangen einer Suchanfrage an einem Gerät; Ausführen einer Suche basierend auf der Suchanfrage, wobei die Suche basierend auf mindestens einem Kontextmerkmal, das für die Suchanfrage maßgeblich ist, geändert wird; und Anzeigen von Suchergebnissen auf einem Anzeigegerät, die von der Suche zurückgegeben werden.
-
Ein anderer Aspekt stellt ein Informationshandhabungsgerät bereit, das Folgendes umfasst: ein Anzeigegerät; einen Prozessor, der operativ mit dem Anzeigegerät gekoppelt ist; ein Speichergerät, welches Anweisungen speichert, die durch den Prozessor ausführbar sind, zum: Erfassen von Kontextmerkmalen über einen Benutzer; Speichern der Kontextmerkmale über einen Benutzer; Empfangen einer Suchanfrage; Ausführen einer Suche basierend auf der Suchanfrage, wobei die Suche basierend auf mindestens einem Kontextmerkmal, das für die Suchanfrage maßgeblich ist, geändert wird; und Anzeigen von Suchergebnissen auf dem Anzeigegerät, die von der Suche zurückgegeben werden.
-
Ein weiterer Aspekt stellt ein Produkt bereit, das Folgendes umfasst: ein Speichergerät, welches Code speichert, der durch einen Prozessor ausführbar ist, wobei der Code Folgendes umfasst: Code, der Kontextmerkmale über einen Benutzer erfasst; Code, der die Kontextmerkmale über einen Benutzer speichert; Code, der eine Suchanfrage empfängt; Code, der eine Suche basierend auf der Suchanfrage ausführt, wobei die Suche basierend auf mindestens einem Kontextmerkmal, das für die Suchanfrage maßgeblich ist, geändert wird; und Code, der Suchergebnisse auf einem Anzeigegerät anzeigt, die von der Suche zurückgegeben werden.
-
Das Vorstehende ist eine Zusammenfassung und kann somit Vereinfachungen, Verallgemeinerungen und fehlende Einzelheiten umfassen; folglich wird der Fachmann verstehen, dass die Kurzdarstellung rein erläuternd ist und keineswegs dazu gedacht ist, einschränkend zu sein.
-
Zum besseren Verständnis der Ausführungsformen zusammen mit anderen und weiteren Merkmalen und Vorteilen derselben wird auf die nachstehende Beschreibung in Verbindung mit den beiliegenden Zeichnungen gesehen Bezug genommen. Der Umfang der Erfindung wird in den beiliegenden Ansprüchen ausgewiesen.
-
KURZE BESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNGEN
-
Es zeigen:
-
1 ein Beispiel der Schaltungen eines Informationshandhabungsgerätes.
-
2 ein anderes Beispiel der Schaltungen eines Informationshandhabungsgerätes.
-
3 ein beispielhaftes Verfahren zum Ändern von Suchergebnissen basierend auf Kontextmerkmalen.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Es versteht sich ohne Weiteres, dass die Bestandteile der Ausführungsformen, wie sie hierin allgemein beschrieben und in den Figuren abgebildet sind, zusätzlich zu den beschriebenen Ausführungsbeispielen in vielen verschiedenen Konfigurationen angeordnet und ausgelegt sein können. Somit ist die nachstehende ausführlichere Beschreibung der Ausführungsbeispiele, wie in den Figuren dargestellt, nicht dazu gedacht, den Umfang der beanspruchten Ausführungsformen einzuschränken, sondern ist nur für Ausführungsbeispiele repräsentativ.
-
Eine Bezugnahme in der gesamten vorliegenden Beschreibung auf „eine Ausführungsform” (oder ähnliche Ausdrücke) bedeutet, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder ein bestimmtes Kennzeichen, das bzw. die in Verbindung mit der Ausführungsform beschrieben wird, in mindestens einer Ausführungsform enthalten ist. Somit bezieht sich das Vorkommen der Redewendungen „bei einer Ausführungsform” und dergleichen an verschiedenen Stellen in der gesamten vorliegenden Beschreibung nicht unbedingt immer auf die gleiche Ausführungsform.
-
Ferner können die beschriebenen Merkmale, Strukturen oder Kennzeichen in einer beliebigen geeigneten Art in einer oder mehreren Ausführungsformen kombiniert werden. In der nachstehenden Beschreibung werden zahlreiche spezifische Einzelheiten bereitgestellt, um ein gründliches Verständnis der Ausführungsformen bereitzustellen. Der Fachmann auf diesem Gebiet wird jedoch erkennen, dass die diversen Ausführungsformen ohne eine oder mehrere der spezifischen Einzelheiten oder mit anderen Verfahren, Bauteilen, Materialien und so weiter in die Praxis umgesetzt werden können. In anderen Fällen werden hinlänglich bekannte Strukturen, Materialien oder Vorgänge der Übersichtlichkeit halber nicht gezeigt oder ausführlich beschrieben.
-
Mit den Unmengen von Informationen, die ein Benutzer speichert und auf die er zugreift, kann es einem Benutzer schwerfallen, eine bestimmte Datei oder Informationen über ein gewünschtes Thema wiederzufinden. Um ihn dabei zu unterstützen, enthalten die meisten Anwendungen eine Suchschnittstelle, damit ein Benutzer eine Suchanfrage bereitstellt. Um jedoch eine nützliche Suche auszuführen, muss ein Benutzer deutliche, unmissverständliche Suchbegriffe formulieren, um Suchergebnisse zu erhalten, die dafür maßgeblich sind, was der Benutzer tatsächlich sucht. Manchmal fällt es einem Benutzer jedoch schwer, solch deutliche Suchbegriffe zu formulieren. Beispielsweise kann es sein, dass ein Benutzer eine bestimmte Datei wiederfinden möchte, es ihm jedoch schwerfällt, nützliche Suchbegriffe zu formulieren, um eine richtige oder deutliche Suchanfrage bereitzustellen. Als anderes Beispiel kann es sein, dass ein Benutzer bestimmte Informationen über das Internet finden möchte, jedoch vielleicht nicht genug darüber weiß, was er sucht, um eine Suchanfrage mit einem Genauigkeitsniveau bereitzustellen, wie es von der Suchschnittstelle benötigt wird.
-
Einige Suchschnittstellen reagieren auf Stichwortanfragen, die erfordern, dass ein Benutzer die Suchanfrage mit einigen wenigen ausgewählten Stichwörtern definiert. Das Identifizieren der Stichwörter, die für eine derartige Suche benötigt werden, kann einem Benutzer schwerfallen. Somit kann es sein, dass der Benutzer einige Stichwörter bereitstellt und Ergebnisse erhält, die nichts damit zu tun haben, was der Benutzer eigentlich sucht. In einer Bemühung, dieses Problem zu beheben, reagieren einige Suchschnittstellen auf frei formulierte natürliche Sprache. Dies kann einen Benutzer dadurch unterstützen, dass der Benutzer eine Suchanfrage basierend darauf, was er von der Sache hält, bereitstellen kann. Auch dann kann es einem Benutzer jedoch schwerfallen, eine Suchanfrage mit unmissverständlichen Begriffen bereitzustellen, welche die Suchfunktion verwenden kann, um passende Suchergebnisse bereitzustellen. Es wäre nützlich, wenn die Suchschnittstellen Kontextdaten verwenden könnten, um beim Ausführen einer betreffenden Suche und auch beim Definieren von mehrdeutigen Begriffen behilflich zu sein.
-
Diese technischen Aspekte sind für den Benutzer dadurch problematisch, dass das Wiederfinden einer bestimmten Datei oder von bestimmten Informationen ohne ein gewisses Informationsniveau bezüglich der Datei oder der Informationen schwierig sein kann. Herkömmliche Verfahren erfordern, dass der Benutzer spezifische Suchbegriffe bereitstellt, um eine Datei zu finden. Um höchst effektiv zu funktionieren, erfordern die Suchschnittstellen auch, dass ein Benutzer unmissverständliche Begriffe bereitstellt, was einem Benutzer sehr schwerfallen kann. Somit besteht ein technisches Problem darin, dass die derzeitigen Techniken zum Suchen von Dateien und Informationen die Kontextmerkmale bezüglich des Benutzers nicht ausnutzen, um ihm dabei behilflich zu sein, eine Suche auszuführen, um eine Datei oder Informationen zu finden.
-
Entsprechend stellt eine Ausführungsform ein Verfahren zum Zurückgeben von Suchergebnissen bereit, die durch Kontextmerkmale über den Benutzer eingeschränkt werden. Eine Ausführungsform kann zuerst Kontextmerkmale über einen Benutzer oder die Tätigkeiten eines Benutzers erzielen. Diese Kontextmerkmale können aus einem Datenverband erzielt werden, der zuvor aufgenommene Kontextmerkmale enthält, oder können zu einem Zeitpunkt erzielt werden, der näher an dem Zeitpunkt liegt, an dem ein Benutzer eine Suche ausführt. Eine Ausführungsform kann dann eine Suchanfrage empfangen und eine Suche ausführen. Die Suche kann unter Verwendung der Kontextmerkmale oder einer Teilmenge der Kontextmerkmale geändert werden. Durch die Berücksichtigung von Kontextfaktoren kann die Qualität der Suchergebnisse verbessert werden. Eine Ausführungsform kann die Kontextmerkmale gewichten, um zu identifizieren, welche Merkmale für die Suchanfrage vielleicht besonders maßgeblich sind.
-
Bei einer Ausführungsform können die Kontextmerkmale verwendet werden, um einen mehrdeutigen Suchbegriff, der in der Suchanfrage enthalten ist, klarzustellen. Falls ein Benutzer beispielsweise sagt „finde die Datei, die ich für die Versammlung brauche”, ist der Begriff „Versammlung” mehrdeutig. In diesem Fall kann eine Ausführungsform die Informationen des Terminkalenders des Benutzers verwenden, um zu bestimmen, auf welche Versammlung sich der Benutzer vielleicht bezieht. Wenn die Suche geändert wird, kann eine Ausführungsform die Suchergebnisse anzeigen. Bei einer Ausführungsform können diese Suchergebnisse in einer Reihenfolge der höchsten Relevanz für die Suchanfrage und die Kontextmerkmale angezeigt werden.
-
Die abgebildeten Ausführungsbeispiele werden am besten mit Bezug auf die Figuren verständlich. Die nachstehende Beschreibung ist dazu gedacht, rein beispielhaft zu sein und bildet nur gewisse Ausführungsbeispiele ab.
-
Obwohl diverse andere Schaltkreise, Schaltungen oder Bauteile in Informationshandhabungsgeräten verwendet werden können, umfasst mit Bezug auf die Schaltungen 100 eines Smartphones und/oder Tablets ein in 1 abgebildetes Beispiel ein System-on-Chip Design, welches beispielsweise bei Tablets oder in anderen mobilen Computerplattformen vorzufinden ist. Die Software und der oder die Prozessoren sind in einem einzigen Chip 110 kombiniert. Die Prozessoren umfassen interne arithmetische Einheiten, Register, Zwischenspeicher, Busse, E/A-Anschlüsse usw., wie es in der Technik wohlbekannt ist. Interne Busse und dergleichen sind von verschiedenen Herstellern abhängig, doch im Wesentlichen können alle Peripheriegeräte (120) an einem einzigen Chip 110 angebracht werden. Die Schaltungen 100 kombinieren den Prozessor, die Speichersteuerung und den E/A-Steuerknoten alle zusammen in einen einzigen Chip 110. Derartige Systeme 100 verwenden typischerweise auch kein SATA oder PCI oder LPC. Übliche Schnittstellen umfassen beispielsweise SDIO und I2C.
-
Es gibt Stromverwaltungschips 130, z.B. eine Batterieverwaltungseinheit, BMU, die den Strom verwalten, wie er beispielsweise über eine aufladbare Batterie 140 zugeführt wird, die durch Anschließen an eine Stromquelle (nicht gezeigt) aufgeladen werden kann. Bei mindestens einer Bauform wird ein einziger Chip, wie etwa 110, verwendet, um eine BIOS-artige Funktionalität und einen DRAM-Speicher bereitzustellen.
-
Das System 100 umfasst typischerweise einen oder mehrere von einem WWAN-Transceiver 150 und einem WLAN-Transceiver 160 zum Anschließen an diverse Netzwerke, wie etwa Telekommunikationsnetzwerke und drahtlose Internet-Geräte, z.B. Zugangspunkten. Zusätzlich sind für gewöhnlich Geräte 120 enthalten, z.B. ein Audioeingabegerät, wie etwa ein Mikrofon. Das System 100 umfasst häufig einen Berührungsbildschirm 170 zur Dateneingabe und Anzeige/Wiedergabe. Das System 100 umfasst typischerweise diverse Speichergeräte, beispielsweise einen Flash-Speicher 180 und einen SDRAM 190.
-
2 bildet ein Blockdiagramm eines anderen Beispiels der Schaltkreise, Schaltungen oder Bauteile eines Informationshandhabungsgerätes ab. Das in 2 abgebildete Beispiel kann Computersystemen, wie etwa der THINKPAD-Reihe von PCs, die von Lenovo (US) Inc. aus Morrisville, NC, verkauft wird, oder anderen Geräten entsprechen. Wie es aus der vorliegenden Beschreibung hervorgeht, können die Ausführungsformen andere Merkmale oder nur einige der Merkmale des in 2 abgebildeten Beispiels umfassen.
-
Das Beispiel aus 2 umfasst einen so genannten Chipsatz 210 (eine Gruppe integrierter Schaltungen bzw. Chips, die zusammenarbeiten, Chipsätze) mit einer Architektur, die je nach Hersteller (beispielsweise INTEL, AMD, ARM usw.) unterschiedlich sein kann. INTEL ist ein eingetragenes Warenzeichen von Intel Corporation in den Vereinigten Staaten und anderen Ländern. AMD ist ein eingetragenes Warenzeichen von Advanced Micro Devices, Inc. in den Vereinigten Staaten und anderen Ländern. ARM ist ein nicht eingetragenes Warenzeichen von ARM Holdings plc in den Vereinigten Staaten und anderen Ländern. Die Architektur des Chipsatzes 210 umfasst eine Kern- und Speichersteuerungsgruppe 220 und einen E/A-Steuerknoten 250, der Informationen (beispielsweise Daten, Signale, Befehle usw.) über eine Direct Management Interface (DMI) 242 oder einen Link-Controller 244 austauscht. In 2 ist die DMI 242 eine Chip-zu-Chip-Schnittstelle (gelegentlich auch als Verknüpfung zwischen einer „Northbridge” und einer „Southbridge” bezeichnet). Die Kern- und Speichersteuerungsgruppe 220 umfasst einen oder mehrere Prozessoren 222 (beispielsweise Einzel- oder Mehrkern) und einen Speicher-Steuerknoten 226, die Informationen über einen Front Side Bus (FSB) 224 austauschen; es sei zu beachten, dass die Bauteile der Gruppe 220 in einen Chip integriert sein können, der die herkömmliche „Northbridge-”Architektur ersetzt. Ein oder mehrere Prozessoren 222 umfassen interne arithmetische Einheiten, Register, Zwischenspeicher, Busse, E/A-Anschlüsse usw., wie es in der Technik wohlbekannt ist.
-
In 2 bildet der Speicher-Steuerknoten 226 eine Schnittstelle mit dem Speicher 240 (um beispielsweise eine Unterstützung für eine Art von RAM bereitzustellen, die man als „Systemspeicher” oder „Speicher” bezeichnen kann). Der Speicher-Steuerknoten 226 umfasst ferner eine Niederspannungs-Differenzialsignalisierung-(LVDS)Schnittstelle 232 für ein Anzeigegerät 292 (z.B. einen CRT, einen Flachbildschirm, einen Berührungsbildschirm usw.). Ein Block 238 umfasst eine gewisse Technik, die über die LVDS-Schnittstelle 232 unterstützt werden kann (z.B. serielles digitales Video, HDMI/DVI, DisplayPort). Der Speicher-Steuerknoten 226 umfasst auch eine PCI-Express-Schnittstelle (PCI-E) 234, die diskrete Grafik 236 unterstützen kann.
-
In 2 umfasst der E/A-Steuerknoten 250 eine SATA-Schnittstelle 251 (beispielsweise für HDDs, SDDs, 280 usw.), eine PCI-E-Schnittstelle 252 (beispielsweise für drahtlose Verbindungen 282), eine USB-Schnittstelle 253 (beispielsweise für Geräte 284, wie etwa einen Digitalisierer, eine Tastatur, Mäuse, Kameras, Telefone, Mikrofone, Speichermittel, andere angeschlossene Geräte usw.), eine Netzwerkschnittstelle 254 (beispielsweise LAN), eine GPIO-Schnittstelle 255, eine LPC-Schnittstelle 270 (für ASICs 271, einen TPM 272, einen Super-E/A 273, einen Firmware-Hub 274, eine BIOS-Unterstützung 275 sowie diverse Arten von Speichern 276, wie etwa ROM 277, Flash 278 und NVRAM 279), eine Stromverwaltungsschnittstelle 261, eine Taktgeberschnittstelle 262, eine Audioschnittstelle 263 (beispielsweise für die Lautsprecher 294), eine TCO-Schnittstelle 264, eine Systemverwaltungsbus-Schnittstelle 265 und SPI-Flash 266, die ein BIOS 268 und Boot-Code 290 umfassen können. Der E/A-Steuerknoten 250 kann Gigabit-Ethernet-Unterstützung umfassen.
-
Beim Einschalten kann das System konfiguriert sein, um den Boot-Code 290 für das BIOS 268 auszuführen, der in dem SPI-Flash 266 gespeichert ist, und verarbeitet anschließend Daten unter der Kontrolle von einem oder mehreren Betriebssystemen und Anwendungs-Software (beispielsweise im Systemspeicher 240 gespeichert). Ein Betriebssystem kann an einer beliebigen von diversen Stellen gespeichert sein und kann beispielsweise gemäß den Anweisungen des BIOS 268 zugänglich sein. Wie hier beschrieben, kann ein Gerät eine geringere oder größere Anzahl von Merkmalen umfassen als in dem System aus 2 gezeigt.
-
Schaltungen von Informationshandhabungsgeräten, wie beispielsweise in 1 oder 2 angesprochen, können bei Geräten, wie etwa Tablets, Smartphones, persönlichen Computergeräten allgemein und/oder elektronischen Geräten, welche die Benutzer verwenden können, um Dateien oder Informationen zu speichern oder zu finden, verwendet werden. Beispielsweise können die in 1 angesprochenen Schaltungen in einer Tablet- oder Smartphone-Ausführungsform umgesetzt werden, wohingegen die in 2 angesprochenen Schaltungen in einer PC-Ausführungsform umgesetzt werden können. Zudem können die Schaltungen, wie in 1 und 2 angesprochen, von einem oder mehreren Cloud-Dienstgeräten verwendet werden.
-
Nun mit Bezug auf 3 kann eine Ausführungsform bei 301 Kontextmerkmale über einen Benutzer erfassen. Bei 302 kann eine Ausführungsform die Kontextmerkmale an einer Speicherstelle, beispielsweise einer lokalen, entfernten, Cloud-, Wechsel- oder anderen Speicherstelle, speichern. Die Kontextmerkmale können beliebige Informationen über einen Benutzer oder die Tätigkeiten eines Benutzers sein. Beispielsweise können die Kontextmerkmale Informationen über eine Anwendung, kürzlich erfolgte Dateitätigkeit, E-Mail-Tätigkeit, den Standort eines Benutzers, Terminkalenderinformationen eines Benutzers, Verlaufsinformationen über den Benutzer oder die Tätigkeiten des Benutzers und dergleichen umfassen. Die Kontextmerkmale können maschinenerlernte Eigenschaften des Benutzers umfassen. Beispielsweise kann eine Ausführungsform Informationen über die Aktionen eines Benutzers verfolgen und erfassen und diese Informationen verwenden, um mehr über den Benutzer und seine Vorlieben zu erfahren. Bei einer Ausführungsform können die erlernten Kontextmerkmale zu einem Benutzerprofil entwickelt werden. Mit anderen Worten kann eine Ausführungsform eine Datenbank oder ein Profil mit den Vorlieben und Eigenschaften des Benutzers entwickeln.
-
Das Erfassen kann das Erfassen von Merkmalen in Echtzeit, beispielsweise zum Zeitpunkt der Suche, umfassen. Beispielsweise kann eine Ausführungsform zu dem Zeitpunkt, an dem ein Benutzer versucht, eine Suche auszuführen, bestimmen, dass der Benutzer eine bestimmte Anwendung geöffnet hat. Alternativ oder zusätzlich können die Kontextmerkmale zu einem früheren Zeitpunkt aufgenommen und in einem Datenverband gespeichert werden. Beispielsweise während ein Benutzer Aktionen an einem Informationshandhabungsgerät ausführt, kann es sein, dass das Gerät die Aktionen, die ein Benutzer ausführt, verfolgt und diese Informationen in einem Datenverband speichert. Eine Ausführungsform kann dann auf den Datenverband zugreifen, um die Kontextmerkmale abzurufen. Alternativ kann der Datenverband die Kontextmerkmale für eine Ausführungsform oder an einen Standort, der für eine Ausführungsform zugänglich ist, hochladen. Die Kontextmerkmale können eine Kombination von zuvor erzielten Kontextmerkmalen und Kontextmerkmalen, die zu einem Zeitpunkt empfangen werden, der näher an dem Zeitpunkt liegt, an dem der Benutzer eine Suche anfragt, sein. Die Kontextmerkmale können auch von diversen Quellen statt aus einem einzigen Datenverband aufgenommen werden.
-
Bei 303 kann eine Ausführungsform eine Suchanfrage empfangen. Die Suchanfrage kann von einem Benutzer über verschiedene Eingabeverfahren, beispielsweise Sprache, Text, Auswahl und dergleichen, unter Verwendung eines Benutzereingabegerätes (z.B. Tastatur, Berührungsbildschirm, Mikrofon usw.) bereitgestellt werden. Die Suchanfrage kann eine typische Suchanfrage sein, die ein Benutzer ausführen kann, beispielsweise „Baseball-World-Series-Sieger”. Alternativ kann die Suchanfrage mehrdeutige Begriffe umfassen, beispielsweise „E-Mails von Bob”. In diesem Fall kann „Bob” ein mehrdeutiger Begriff sein, weil das System mehrere Leute mit dem Namen „Bob” umfassen kann. Alternativ kann „Bob” ein Spitzname sein. Mehrdeutige Begriffe können exophorische, endophorische und anaphorische Begriffe umfassen, beispielsweise „dieser”, „jener”, „diese” und „jene”.
-
Basierend auf der Suchanfrage, die bei 303 empfangen wird, kann eine Ausführungsform bei 304 bestimmen, ob es eventuelle Kontextmerkmale gibt, die man verwenden kann, um die Suche zu ändern. Beispielsweise kann eine Ausführungsform bestimmen, ob eventuelle Kontextmerkmale für die Suchanfrage maßgeblich sind. Diese Kontextmerkmale können unabhängige Eigenschaften eines Benutzers sein oder können das Benutzerprofil umfassen, wie zuvor ausgeführt. Eine Ausführungsform kann auch bestimmen, ob eventuelle Kontextmerkmale für eine Ausführungsform zugänglich sind. Falls die Kontextmerkmale beispielsweise in einem Cloud-Speichergerät gespeichert sind, doch eine Ausführungsform keinen Zugriff auf das Cloud-Speichergerät hat, kann eine Ausführungsform bestimmen, dass es keine Kontextmerkmale gibt, die bei der Änderung der Suche zu verwenden sind.
-
Falls keine Kontextmerkmale zum Ändern der Suche verwendet werden können, kann eine Ausführungsform eine typische Suche ausführen und diese Ergebnisse bei 306 anzeigen. Falls jedoch Kontextmerkmale zum Ändern der Suche verwendet werden können, kann eine Ausführungsform eine Suche ausführen und die Ergebnisse der Kontextsuche bei 305 anzeigen. Beim Ausführen dieser Suche kann eine Ausführungsform getrennte Datenblöcke beim Ausführen der Suche verwenden statt die Daten, die aus den Kontextmerkmalen erzielt werden, einfach an die Suchanfrage anzuhängen oder damit zu vermischen. Die getrennten Datenblöcke können die Suchanfrage, die Kontextmerkmale, die für die Suchanfrage maßgeblich sind, Metadaten für das Dokument, vorübergehende Daten (z.B. was zu dem Zeitpunkt geöffnet war, als die Suchanfrage empfangen wurde, wann etwas geöffnet wurde, usw.) und dergleichen umfassen. Dieses Verfahren trägt dazu bei, die Suche einzuschränken statt die Suchergebnisse aufzubauschen, wie es vorkommen kann, wenn die Suchanfrage und die Kontextmerkmale angehängt oder vermischt werden.
-
Bei einer Ausführungsform kann das Ausführen der Suche das Empfangen von Suchergebnissen basierend auf der Suchanfrage und dann das Einschränken der Suchergebnisse basierend auf dem mindestens einen Kontextmerkmal umfassen. Mit anderen Worten können die Suchergebnisse basierend auf der Suchanfrage zuerst an eine Ausführungsform zurückgegeben werden. Dann kann eine Ausführungsform bestimmen, die Suchergebnisse basierend auf dem mindestens einen Kontextmerkmal einzuschränken. Mit anderen Worten kann eine Ausführungsform eine Suche in mehreren Durchgängen ausführen. Beispielsweise kann eine Ausführungsform eine Suche basierend auf der Suchanfrage ausführen. Nach dem Empfang der Ergebnisse der Suchanfrage kann eine Ausführungsform die Suchergebnisse unter Verwendung der bei 301 erzielten Kontextmerkmale einschränken. Das Einschränken der Suchergebnisse kann das Bestimmen einer Wahrscheinlichkeit oder eines Vertrauens, dass das Suchergebnis das ist, was der Benutzer wünscht, umfassen. Diese Bestimmung der Wahrscheinlichkeit oder des Vertrauens kann durch Gewichten der Kontextmerkmale erreicht werden. Beispielsweise kann eine Ausführungsform basierend auf der Suchanfrage bestimmen, welche Kontextmerkmale für die Suchanfrage besonders maßgeblich sein können. Diese Kontextmerkmale können dann bei der Bestimmung, welche Suchergebnisse für die Suchanfrage, die der Benutzer ausgeführt hat, besonders treffend sind, ein größeres Gewicht erhalten.
-
Alternativ kann eine Ausführungsform die Kontextmerkmale verwenden, um die Suchanfrage zu ändern und Ergebnisse zurückzugeben, die spezieller darauf abgestimmt sind, was der Benutzer vielleicht sucht. Statt beispielsweise die Ergebnisse basierend auf der Suchanfrage zurückzugeben und dann die Ergebnisse einzuschränken, kann eine Ausführungsform die Suchanfrage basierend auf den Kontextmerkmalen einschränken und Suchergebnisse basierend auf der eingeschränkten Suchanfrage zurückgeben. Alternativ kann eine Ausführungsform eine Suchanfrage empfangen und die Suche ausführen, und während die Suche ausgeführt wird, die Ergebnisse basierend auf den Kontextmerkmalen einschränken. Beispielsweise während eine Ausführungsform die Suche ausführt, können die Suchergebnisse basierend auf den Kontextmerkmalen von den Ergebnissen entfernt werden. Falls ein Benutzer beispielsweise mit einem Dateimanager arbeitet und ein Benutzer eine Suche ausführt, können die Suchergebnisse lokale Dateien und die Cloud-Speicherung des Benutzers anstelle von Webseiten und E-Mail begünstigen. Beim Ändern der Suchanfrage hängt eine Ausführungsform nicht einfach Suchzeichenfolgen an die Suchanfrage an. Vielmehr verwendet eine Ausführungsform getrennte Datenblöcke, wie zuvor besprochen. Falls sich mit anderen Worten eine Person in „Neustadt” befindet und nach „Restaurants” sucht, sucht eine Ausführungsform nicht nur nach „Restaurants in Neustadt”.
-
Zusätzlich oder alternativ können die Kontextmerkmale von einer Ausführungsform verwendet werden, um einen oder mehrere mehrdeutige Begriffe in der Suchanfrage aufzulösen. Falls beispielsweise die Suchanfrage einen exophorischen Begriff umfasst, kann eine Ausführungsform Kontextmerkmale verwenden, um den exophorischen Begriff zu definieren. Falls ein Benutzer zum Beispiel sagt „finde die Datei für die Versammlung”, ist der Begriff „Versammlung” mehrdeutig. Unter Verwendung der Kontextmerkmale kann eine Ausführungsform bestimmen, dass der Terminkalender des Benutzers eine anstehende Versammlung angibt, und dass der Standort des Benutzers angibt, dass sich der Benutzer in einem bestimmten Raum befindet, der mit der Versammlung verknüpft ist. Die Suche kann dann geändert werden, um nach Dateien über die anstehende Versammlung, die Teilnehmer der Versammlung und andere derartige Informationen zu suchen.
-
Die Kontextmerkmale, die verwendet werden können, um die Suchergebnisse zu ändern, können alle Kontextmerkmale umfassen, die bei 301 erzielt wurden, oder können nur eine Teilmenge der Kontextmerkmale umfassen. Beispielsweise kann eine Ausführungsform Zugriff auf den Verlauf des Benutzers während der letzten 30 Tage haben, doch die Suchanfrage betrifft nur die letzten sieben Tage, so dass eine Ausführungsform alle Kontextmerkmale vor mehr als sieben Tagen ignorieren kann. Die Kontextmerkmale, die von einer Ausführungsform gewählt werden, um die Suche zu ändern, können für die Suchanfrage maßgeblich sein. Falls beispielsweise die Suchanfrage „finde die Datei für das Wochenende” lautet, kann eine Ausführungsform Kontextmerkmale über den Terminkalender des Benutzers anstelle der Kontextmerkmale über Verlaufsdaten wählen, um die Suche zu ändern.
-
Eine Ausführungsform kann die Kontextmerkmale gewichten, um zu bestimmen, welche Kontextmerkmale verwendet werden können, um die Suche zu ändern. Die Gewichtung kann auf einem vorbestimmten Faktor basieren. Dieser vorbestimmte Faktor kann eine vordefinierte Gewichtung umfassen; beispielsweise werden Anwendungsdaten immer mehr gewichtet als Verlaufsdaten. Alternativ können sich die vorbestimmten Faktoren basierend auf maschinellem Lernen ändern. Mit anderen Worten können sich, während die Maschine mehr über den Benutzer, Suchvorgänge, die ein Benutzer ausführt, und andere Informationen erfährt, die Gewichtungen der bestimmten Kontextmerkmale ändern. Mit anderen Worten können verschiedene Suchvorgänge verschiedene Kontextmerkmale stärker gewichten. Falls beispielsweise eine Suchanfrage innerhalb einer Anwendung ausgeführt wird, können die Suchergebnisse geändert werden, um nur Dateien zu umfassen, die sich auf die Anwendung beziehen. Falls ein Benutzer beispielsweise eine Bildanwendung öffnet und dann eine Suche ausführt, die den Begriff „Baseball” enthält, kann es sein, dass die Suche nur Ergebnisse erbringt, die Bilder von Bällen statt Artikel oder Dateien, die nur Text über Baseball enthalten, umfassen.
-
Nachdem die Kontextmerkmale gewichtet wurden, kann eine Ausführungsform die Suche unter Verwendung der Gewichtung der Kontextmerkmale ändern. Während eine Ausführungsform beispielsweise eine Suche ausführt, können die Suchergebnisse über weniger gewichtete Kontextmerkmale aus den Suchergebnissen entfernt werden. Falls beispielsweise ein Benutzer gerade eine Webseite über Fußball sucht und eine Dateisuche ausführt, kann es sein, dass die Suchergebnisse Ergebnisse zurückgeben, die nur Fußball betreffen. Zusätzlich oder Alternativ kann eine Ausführungsform die Gewichtung der Kontextmerkmale verwenden, um die wahrscheinlichste Suche zu bestimmen, die der Benutzer auszuführen versucht. Falls der Benutzer beispielsweise eine Suche mit mehrdeutigen Begriffen ausführt, kann eine Ausführungsform Kontextmerkmale verwenden, um zu bestimmen, was der Benutzer höchstwahrscheinlich sucht.
-
Falls die Suche nicht unter Verwendung von Kontextmerkmalen geändert werden kann, kann eine Ausführungsform eine typische Suche ausführen und diese Ergebnisse bei 306 anzeigen. Falls die Suche jedoch unter Verwendung von Kontextmerkmalen geändert werden kann, kann eine Ausführungsform bei 305 Suchergebnisse auf einem Anzeigegerät anzeigen, die von der geänderten Suche zurückgegeben werden. Bei einer Ausführungsform können diese Ergebnisse nach Relevanz geordnet angezeigt werden. Diese Relevanzordnung kann auf der Suchanfrage und dem mindestens einen Kontextmerkmal, das verwendet wird, um die geänderte Suche auszuführen, basieren. Beispielsweise kann eine Ausführungsform basierend auf den Kontextmerkmalen, die verwendet werden, bestimmen, dass bestimmte Suchergebnisse für die Suchanfrage besonders maßgeblich sind, und kann diese Suchergebnisse an einer besser hervorstehenden Stelle auf dem Anzeigegerät anzeigen.
-
Die hier beschriebenen diversen Ausführungsformen stellen somit eine technische Verbesserung gegenüber den derzeitigen Suchschnittstellen dar. Unter Verwendung der hierin beschriebenen Techniken kann eine Suchschnittstelle Kontextmerkmale über einen Benutzer verwenden, um eine Suche zu ändern. Bei einer Ausführungsform können die Kontextmerkmale zum Auflösen von mehrdeutigen Begriffen beitragen, die in der Suchanfrage enthalten sind, die von dem Benutzer bereitgestellt wird. Somit kann ein Benutzer unter Verwendung der hier beschriebenen Verfahren und Systeme Suchergebnisse erzielen, die maßgeblich dafür sind, was der Benutzer tatsächlich sucht, selbst wenn der Benutzer keine klar definierte unmissverständliche Suchanfrage bereitstellt oder formuliert.
-
Wie es der Fachmann verstehen wird, können diverse Aspekte als System, Verfahren oder Geräteprogrammprodukt ausgebildet sein. Entsprechend können Aspekte die Form einer Ausführungsform ganz aus Hardware oder einer Ausführungsform mit Software, die hierin allgemein als „Schaltung”, „Modul” oder „System” bezeichnet wird, annehmen. Ferner können Aspekte die Form eines Geräteprogrammprodukts annehmen, das als ein oder mehrere gerätelesbare Medien ausgebildet ist, in denen gerätelesbarer Programmcode ausgebildet ist.
-
Es sei zu beachten, dass die hier beschriebenen diversen Funktionen unter Verwendung von Anweisungen umgesetzt werden können, die auf einem gerätelesbaren Speichermedium, wie etwa einem Nicht-Signalspeichergerät, gespeichert sind und von einem Prozessor ausgeführt werden. Ein Speichergerät kann beispielsweise ein elektronisches, magnetisches, optisches, elektromagnetisches, infrarotes oder Halbleiter-System, -Vorrichtung oder -Gerät oder eine geeignete Kombination derselben sein. Genauere Beispiele des Speichergerätes würden Folgendes umfassen: eine tragbare Computerdiskette, eine Festplatte, einen Arbeitsspeicher (RAM), einen Festspeicher (ROM), einen löschbaren programmierbaren Arbeitsspeicher (EPROM oder Flash-Speicher), eine Lichtleitfaser, eine tragbaren Compact Disk Festwertspeicher (CD-ROM), ein optisches Speichergerät, ein magnetisches Speichergerät oder eine beliebige geeignete Kombination derselben. In Zusammenhang mit der vorliegenden Druckschrift ist ein Speichergerät kein Signal, und der Begriff „nicht vorübergehend” umfasst alle Medien außer Signalmedien.
-
Programmcode, der auf einem Speichermedium ausgebildet ist, kann unter Verwendung eines beliebigen geeigneten Mediums, einschließlich ohne Einschränkung drahtlos, drahtgebunden, Glasfaserkabel, HF usw. oder eine beliebige geeignete Kombination derselben, übertragen werden.
-
Programmcode zum Ausführen von Operationen kann in einer Kombination von einer oder mehreren Programmiersprachen verfasst sein. Der Programmcode kann vollständig auf einem einzigen Gerät, teilweise auf einem einzigen Gerät, als selbstständiges Software-Paket, teilweise auf einem einzigen Gerät und teilweise auf einem anderen Gerät oder vollständig auf dem anderen Gerät ausgeführt werden. In manchen Fällen können die Geräte über eine beliebige Art von Verbindung oder Netzwerk verbunden werden, wozu ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN) gehören, oder kann die Verbindung über andere Geräte (beispielsweise über das Internet unter Verwendung eines Internet-Providers), über drahtlose Verbindungen, z.B. Nahfeldkommunikation, oder über eine verkabelte Verbindung, wie etwa über eine USB-Verbindung, hergestellt werden.
-
Es werden hier Ausführungsbeispiele mit Bezug auf die Figuren beschrieben, die beispielhafte Verfahren, Geräte und Programmprodukte gemäß diversen Ausführungsbeispielen abbilden. Es versteht sich, dass die Aktionen und die Funktionalität mindestens teilweise durch Programmanweisungen umgesetzt werden können. Diese Programmanweisungen können einem Prozessor eines Gerätes eines speziellen Informationshandhabungsgerätes oder einem anderen programmierbaren Datenverarbeitungsgerät bereitgestellt werden, um eine Maschine zu ergeben, so dass die Anweisungen, die über einen Prozessor des Gerätes ausgeführt werden, die vorgegebenen Funktionen/Aktionen umsetzen.
-
Es sei zu beachten, dass obwohl spezifische Blöcke in den Figuren verwendet werden und eine bestimmte Reihenfolge von Blöcken abgebildet wurde, diese keine einschränkenden Beispiele sind. In bestimmten Zusammenhängen können zwei oder mehrere Blöcke kombiniert werden, ein Block kann in zwei oder mehrere Blöcke unterteilt werden, oder bestimmte Blöcke können je nach Bedarf umgeordnet oder umgestellt werden, da die ausdrücklich abgebildeten Beispiele nur zur Beschreibung verwendet werden und nicht als einschränkend auszulegen sind.
-
Wie sie hier verwendet wird, kann die Singularform „ein” als die Pluralform „ein oder mehrere” umfassend ausgelegt werden, soweit nicht eindeutig anderweitig angegeben.
-
Die vorliegende Offenbarung wurde zum Zweck der Erläuterung und Beschreibung vorgelegt, ist aber nicht dazu gedacht, erschöpfend oder einschränkend zu sein. Zahlreiche Modifikationen und Variationen werden für den Fachmann ersichtlich sein. Die Ausführungsbeispiele wurden gewählt und beschrieben, um die Grundlagen und die praktische Anwendung zu erklären, und um es anderen Fachleuten zu ermöglichen, die Offenbarung für diverse Ausführungsformen mit diversen Modifikationen zu verstehen, wie sie für die bestimmte beabsichtigte Verwendung geeignet sind.
-
Obwohl somit hier erläuternde Ausführungsbeispiele mit Bezug auf die beiliegenden Figuren beschrieben wurden, versteht es sich, dass diese Beschreibung nicht einschränkend ist und dass diverse andere Änderungen und Modifikationen hier vom Fachmann vorgenommen werden können, ohne den Umfang oder Geist der Offenbarung zu verlassen.