-
HINTERGRUND
-
Ausführungsformen der Offenbarung betreffen allgemein Computersoftware und insbesondere die automatisierte Selbstbedienungs-Benutzerunterstützung auf der Grundlage einer Ontologie bereichsspezifischer Informationen.
-
Anwendungen zur automatisierten Selbstbedienungs-Benutzerunterstützung werden üblicherweise von Wirtschaftsunternehmen bereitgestellt, um Kunden bei Anfragen und Problemen im Zusammenhang mit ihren Produkten oder Dienstleistungen zu unterstützen. Derartige Anwendungen können in Dienstprogrammen von Callcentern integriert sein, um den Bedarf an Mitarbeitern hierfür zu minimieren. Anwendungen zur Selbstbedienungs-Benutzerunterstützung können formale Kategorien nutzen, um den Bereich zu beschreiben, in dem erwartete Anfragen und Probleme auftreten können, zum Beispiel einen Bereich über Computerprodukte oder Finanzdienstleistungen. Die Anwendungen zur Selbstbedienungs-Benutzerunterstützung setzen oftmals voraus, dass die Anfrage- und Problemkategorien wohlbekannt und durch die Benutzer leicht zu verstehen sind. Die Anwendungen können ferner voraussetzen, dass die formalen Kategorien allgemeingültige Definitionen aufweisen. Diese Definitionen hängen jedoch oftmals von den unterlagerten Back-End-Supportsystemen ab. Darüber hinaus ziehen es die meisten Benutzer vor, unter Verwendung von Text in einem freien Format ihre Probleme mit ihren eigenen Begriffen zu beschreiben oder ihre Bedürfnisse mit ihren eigenen Worten zu erläutern. Die Begriffe der Benutzer stimmen möglicherweise nicht mit den formalen Problemkategorien oder -beschreibungen überein, die durch das Benutzersupport-System verwaltet werden.
-
Beispielsweise erläutert ein Benutzer ein Problem unter Umständen in Form der Äußerung: „Mein Laptop streikt, wenn ich das Programm XYZ ausführe, nachdem ich mit dem Programm MNO eine Datensicherung gestartet habe.” Hingegen sind die technischen Supportsysteme des Back-Ends im Unternehmen des Benutzers normalerweise unter Verwendung einer sehr spezifischen Terminologie, z. B. Laptop/Desktop, Betriebssystem, CPU-Typ, Anwendung, Programm, Treiber, Speicher, Sicherung/Wiederherstellung usw. eingestuft. Die Anwendungen zur Selbstbedienungs-Benutzerunterstützung sind daher weniger effektiv, wenn ihre Benutzeroberflächen auf einer systembezogenen Terminologie beruhen, die nicht mit der Terminologie der Benutzer übereinstimmt.
-
Selbst wenn die Benutzer die spezifische systembezogene Terminologie kennen, können sie des Weiteren unter Umständen ihre Fragen nicht in einem Maße formulieren, bei dem zufriedenstellende Ergebnisse zu erwarten sind, es sei denn, ihnen ist bewusst, was zu einer vollständigen Beschreibung eines Problems gehört. Dies ist in der Tatsache begründet, dass die Benutzer den speziellen Bereich nicht kennen, den das Supportsystem nutzt, und nicht mit den Begriffen, Attributen und Beziehungen in diesem Bereich vertraut sind.
-
Deshalb besteht ein Bedarf an verbesserten Systemen und Prozessen, um Benutzern bei der Formulierung von Selbstbedienungsanfragen zu helfen und diese Selbstbedienungs-Benutzeranfragen effektiv zu verarbeiten.
-
KURZDARSTELLUNG DER OFFENBARUNG
-
Beispielhafte Ausführungsformen der Offenbarung betreffen Anwendungen zur Selbstbedienungs-Benutzerunterstützung, die auf der Analyse von Ontologien über bereichsbezogene Informationen beruhen. Ein Aspekt der Offenbarung betrifft ein System zum Bereitstellen von Informationen im Zusammenhang mit einer Benutzerabfrage. Die Benutzerabfrage kann ein Problem, auf das der Benutzer bei einem Produkt oder einer Dienstleistung gestoßen ist, eine Frage zu einem Produkt oder zu einer Dienstleistung oder andere Bedürfnisse von Kunden/Benutzern betreffen. Das System kann einen Prozessor für natürliche Sprache aufweisen, um relevante Begriffe in der Benutzerabfrage zu ermitteln, und einen Ontologieanalysator, um die relevanten Begriffe mit Konzepten in einer Ontologie abzugleichen, die einen Zusammenhang mit der Benutzerabfrage aufweisen. Das System kann ferner einen Abfrageprozessor aufweisen, um die Benutzerabfrage unter Verwendung des Abgleichs zwischen relevanten Begriffen und Ontologiekonzepten zu verfeinern, und eine Suchmaschine, um in einer Datenbank Informationen zu ermitteln, die für die verfeinerte Benutzerabfrage relevant sind.
-
Ein weiterer Aspekt der Offenbarung betrifft ein mittels Computer realisiertes Verfahren zum Bereitstellen von Informationen im Zusammenhang mit einer Benutzerabfrage. Das Verfahren kann das Aufgliedern der Benutzerabfrage aufweisen, um relevante Begriffe in der Benutzerabfrage zu ermitteln, das Abgleichen relevanter Begriffe mit Konzepten in einer Ontologie, die einen Zusammenhang mit der Benutzerabfrage aufweisen, das Verfeinern der Abfrage auf der Grundlage des Abgleichs zwischen relevanten Begriffen und Ontologiekonzepten und das Durchsuchen einer Datenbank nach Informationen, die für die verfeinerte Benutzerabfrage relevant sind.
-
Ein noch weiterer Aspekt der Offenbarung betrifft ein Computerprogrammprodukt zum Bereitstellen von Informationen im Zusammenhang mit einer Benutzerabfrage. Das Computerprogrammprodukt weist ein computerlesbares Speichermedium mit darauf verkörpertem computerlesbaren Programmcode auf und ist so gestaltet, dass die Benutzerabfrage aufgegliedert wird, um relevante Begriffe in der Benutzerabfrage zu ermitteln, und die relevanten Begriffe mit Konzepten in einer Ontologie abgeglichen werden, die einen Zusammenhang mit der Benutzerabfrage aufweisen. Der Programmcode kann ferner so gestaltet sein, dass die Benutzerabfrage auf der Grundlage des Abgleichs zwischen relevanten Begriffen und Ontologiekonzepten verfeinert wird, und eine Datenbank nach Informationen durchsucht wird, die für die verfeinerte Benutzerabfrage relevant sind.
-
Die Einzelheiten der beispielhaften Ausführungsformen der Erfindung sowohl hinsichtlich ihrer Struktur als auch ihrer Funktionsweise sind nachfolgend im Abschnitt „Ausführliche Beschreibung” unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen gleiche Bezugsnummern gleiche Teile bezeichnen. Der Abschnitt „Kurzdarstellung” dient dazu, die Hauptmerkmale des beanspruchten Gegenstands zu kennzeichnen, soll jedoch den Schutzbereich des beanspruchten Gegenstands nicht einschränken.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 veranschaulicht ein Blockschaltbild einer beispielhaften Konfiguration für die Benutzerunterstützung, bei der Aspekte der Offenbarung bereitgestellt sein können.
-
2 veranschaulicht ein Blockschaltbild eines charakteristischen Computersystems, das in einem computergestützten Benutzerunterstützungssystem verwendet werden kann, zum Beispiel in der Unterstützungskonfiguration in 1, um Aspekte der Offenbarung bereitzustellen.
-
3 veranschaulicht ein Blockschaltbild eines Selbstbedienungs-Unterstützungssystems gemäß einer Ausführungsform der Offenbarung, um eine Benutzerabfrage auf der Grundlage einer Ontologie bereichsspezifischer Informationen zu empfangen und zu analysieren und Informationen zurückzugeben, die für die Benutzerabfrage relevant sind.
-
4 veranschaulicht ausführlicher ein weiteres Selbstbedienungs-Unterstützungssystem gemäß einer Ausführungsform der Offenbarung, um eine Benutzerabfrage auf der Grundlage einer Ontologie bereichsspezifischer Informationen zu empfangen und zu analysieren und Informationen zurückzugeben, die für die Benutzerabfrage relevant sind.
-
5 veranschaulicht ein Menü einer beispielhaften Benutzeroberfläche zum Eingeben einer Benutzerabfrage, die durch eine Ausführungsform eines Selbstbedienungs-Unterstützungssystems der Offenbarung verarbeitet werden kann.
-
Die 6 bis 8 veranschaulichen weitere beispielhafte Menüs von Benutzeroberflächen, die ein Selbstbedienungs-Unterstützungssystem einem Benutzer anzeigen kann, um weitere Einzelheiten über eine Benutzerabfrage zu erhalten, um die Abfrage dadurch effektiv zu verarbeiten und relevante Ergebnisse zu ermitteln.
-
9 ist ein Ablaufplan eines Prozesses gemäß einer Ausführungsform der Offenbarung, um eine Benutzerabfrage zu empfangen und auf der Grundlage einer Ontologie bereichsspezifischer Informationen zu analysieren und Informationen zurückzugeben, die für die Benutzerabfrage relevant sind.
-
10 ist ein Ablaufplan eines Prozesses gemäß einer Ausführungsform der Offenbarung, dem ein Prozessor für natürliche Sprache folgen kann, um eine Benutzerabfrage zu analysieren und relevante Begriffe und Parameter zu extrahieren und diese einem Ontologieanalysator bereitzustellen.
-
11 ist ein Ablaufplan eines Prozesses gemäß einer Ausführungsform der Offenbarung, dem ein Ontologieanalysator folgen kann, um relevante Begriffe aus einer Benutzerabfrage mit einer Ontologie bereichsspezifischer Informationen abzugleichen und eine Suchabfrage für eine Suchmaschine zu erzeugen.
-
12 ist ein Ablaufplan eines Abfrageverfeinerungsprozesses gemäß einer Ausführungsform der Offenbarung, um die Vollständigkeit und Detailgenauigkeit einer Benutzerabfrage zu ermitteln, die Benutzerabfrage mit Benutzertragen und -antworten weiter zu verfeinern und Folgeaktionen festzulegen.
-
AUSFÜHRLICHE BESCHREIBUNG DER OFFENBARUNG
-
Beispielhafte Ausführungsformen der Offenbarung betreffen Anwendungen zur Selbstbedienungs-Benutzerunterstützung, die auf bereichsbezogenen Informationen beruhen. Beispielsweise können die Ausführungsformen der Offenbarung unter anderem auf Kunden-Unterstützungssysteme in der Informationstechnologie (IT), bei Finanzdienstleistungen, im Gesundheitswesen, zu Informationszwecke bei staatlichen Stellen, bei juristischen Dienstleistungen, im Bildungswesen und im Produktmarketing angewendet werden. Die Ausführungsformen können als eigenständige Produktinformationen oder als Dienstleistungs-Unterstützungssysteme bereitgestellt oder in Unterstützungsanwendungen von Callcentern integriert werden. Die Ausführungsformen ermöglichen es einem Kunden oder Benutzer, ein Problem oder einen Bedarf in Freitextform einzugeben. Zum Beispiel kann ein Kunde in einer Finanzdienstleistungsumgebung eine Anfrage in der Form „Wie richtet man Überweisungen von einem Bankkonto auf ein Maklerkonto ein?” eingeben.
-
Die Ausführungsformen können eine Benutzerabfrage empfangen, relevante Begriffe und Einzelheiten in der Benutzerabfrage ermitteln und bei Notwendigkeit auf der Grundlage eines aus der Ontologie abgeleiteten wissensbasierten Verständnisses und Erkenntnisvermögens kontextspezifische Benutzerfragen erzeugen. Die Abfrage kann mit Antworten auf zusätzliche Fragen verfeinert werden, die dem Benutzer gestellt wurden. Dies ist ein iterativer Prozess, bei dem die Abfrage auf der Grundlage der Fragen und Antworten erneut verarbeitet werden kann. Die Ausführungsformen können relevante Begriffe und Einzelheiten verwenden, die aus der Benutzerabfrage extrahiert wurden, um eine Ontologie bereichsspezifischer Informationen zu analysieren und eine Suchabfrage zu erzeugen. Die Ausführungsformen können die Suchabfrage verwenden, um in verfügbaren Informationsspeichern Informationen im Zusammenhang mit der Benutzerabfrage zu ermitteln oder relevante Folgeaktionen wie zum Beispiel anwendbare Tools oder Hilfsprozesse vorzuschlagen. Zu den durch die Ausführungsformen der Erfindung ermittelten Informationen können Dokumententitel, Teile von Dokumenten, Benutzerhandbücher, Webseiten, Tools, Prozesse und Links zu Dokumenten gehören, die für die Benutzerabfrage relevant sind.
-
Unter Bezugnahme auf 1 ist dort ein Blockschaltbild einer beispielhaften Computerkonfiguration veranschaulicht, bei der Aspekte der Offenbarung bereitgestellt sein können. Die Computerkonfiguration 10 kann mehrere Client-Computer 11 bis 12 zum Zugreifen auf einen Server 13 aufweisen, um über das Netzwerk 14 eine Benutzerunterstützung zu erhalten. Auf dem Server 13 kann eine Anwendung zur Selbstbedienungs-Benutzerunterstützung gehostet sein, die Kunden bei Produktinformationen oder bei der Lösung von Problemen mit Dienstleistungen hilft und Antworten auf Kundenanfragen bereitstellt.
-
2 veranschaulicht ein Blockschaltbild eines charakteristischen Computersystems, das bei einer Benutzerunterstützungskonfiguration verwendet werden kann, zum Beispiel bei der Konfiguration 10 in 1, um Aspekte der Erfindung bereitzustellen. Das Datenverarbeitungssystem 200 kann eine Prozessoreinheit 211, eine Arbeitsspeichereinheit 212, einen Permanentspeicher 213, eine Datenaustauscheinheit 214, eine Eingabe-/Ausgabeeinheit 215, eine Anzeigeeinheit 216 und einen Systembus 217 aufweisen. Computerprogramme sind normalerweise im Permanentspeicher 213 gespeichert, bis sie zur Ausführung benötigt werden, wobei die Programme zu diesem Zeitpunkt in die Arbeitsspeichereinheit 212 gebracht werden, so dass die Prozessoreinheit 211 direkt auf sie zugreifen kann. Der Prozessor 211 wählt einen Teil des Arbeitsspeichers 212 zum Lesen und/oder Schreiben aus, indem er zusammen mit einer Anforderung zum Lesen und/oder Schreiben eine Adresse verwendet, die der Prozessor 211 für den Arbeitsspeicher 212 vorgibt. Üblicherweise bewirken das Lesen und die Interpretation einer codierten Anweisung, dass der Prozessor 211 eine nachfolgende Anweisung abruft, entweder an einer nachfolgenden Adresse oder an einer anderen Adresse.
-
3 veranschaulicht ein Blockschaltbild eines Selbstbedienungs-Unterstützungssystems 300 gemäß einer beispielhaften Ausführungsform der Offenbarung, um die Benutzerabfrage auf der Grundlage einer Ontologie bereichsspezifischer Informationen zu empfangen und zu analysieren und Informationen zurückzugeben, die für die Benutzerabfrage relevant sind. Beispielsweise kann es sich bei dem Bereich um Finanzdienstleistungen oder um die Kundenunterstützung für IT-Produkte handeln. Das System 300 kann eine Softwareanwendung sein, die auf einem Server 13 betrieben wird, und es kann ein Benutzeroberflächensystem 302 und ein Abfragelogiksystem 303 aufweisen. Das Benutzeroberflächensystem 302 ermöglicht einem Benutzer 301 zum Beispiel ein Problem, einen Benutzerbedarf oder eine Anfrage über ein unterstütztes Produkt oder eine unterstützte Dienstleistung einzugeben. Das Problem, der Bedarf oder die Anfrage des Benutzers können die Form einer Benutzerabfrageanweisung 304 aufweisen.
-
Sobald die Benutzerabfrageanweisung 304 durch das Abfragelogiksystem 303 analysiert und verarbeitet wurde, kann das Abfragelogiksystem 303 Dokumente oder andere Informationen 311 an den Benutzer 301 zurückgeben, bei denen das Abfragelogiksystem 303 ermittelt, dass sie für die Benutzerabfrage relevant sind. Die ermittelten Informationen 311 können über das Benutzeroberflächensystem 302 zurückgegeben werden. Beispielhafte Benutzeroberflächenmenüs, die das Benutzeroberflächensystem 302 dem Benutzer 301 anzeigen kann, werden nachfolgend unter Bezugnahme auf die 5 bis 8 beschrieben.
-
Das Benutzeroberflächensystem 302 kann dem Benutzer ergänzende Fragen über die Benutzerabfrage 304 anzeigen, die durch das Abfragelogiksystem 303 erzeugt wurden. Während der Verarbeitung der Benutzerabfrage kann das Benutzeroberflächensystem 302 außerdem Benutzerantworten an das Abfragelogiksystem 303 weiterleiten. Eine Funktion des Abfragelogiksystems 303 kann darin bestehen, eine Brücke zwischen der Benutzer-Freiformbeschreibung der Benutzerabfrage 304 und den auf der Verwendung von Ontologien beruhenden feststehenden Back-End-Kategorien zu schlagen, die analysiert werden, um die Benutzerabfrageanweisung abzuklären. Zum Überbrückungsprozess können unter Verwendung einer bereichsspezifischen Ontologie die Begriffsklärung, Ergänzung und Erweiterung der Benutzerabfrage 304 gehören, um die Detailgenauigkeit und Vollständigkeit der Benutzerabfrage zu verbessern. Das Abfragelogiksystem 303 kann die resultierende Benutzerabfrage durch einen Vergleich mit Wissensdatenbanken, Tools, Prozessen oder Ressourcen bewerten, die möglicherweise die Selbstbedienungsanforderung des Benutzers unterstützen. Die resultierende Abfrage kann auf der Grundlage von Fragen an den Benutzer und Benutzerantworten durch einen Abfrageprozessor weiter verfeinert werden.
-
Eine Ontologie ist eine Datenstruktur zur formalen Darstellung von Konzepten und zugehörigen Beziehungen in einem Bereich der technischen Unterstützung, z. B. im Bankenwesen, in der Gesundheitsfürsorge, bei Computerprodukten usw. Sie kann nicht nur zur Definition des Fachgebietes und zur Bereitstellung eines gemeinsam genutzten Vokabulars verwendet werden, sondern auch zur Bereitstellung von Eigenschaften von Daten in dem Fachgebiet. Bei den Ausführungsformen der Erfindung kann die Ontologie zu Beginn durch Bereichs- und Ontologiespezialisten erarbeitet werden. Das Abfragelogiksystem 303 kann die Ontologie im Laufe der Zeit mithilfe von Text-Mining und Ontologieanpassung durch zusätzliche Benutzereingaben verfeinern, wie nachfolgend unter Bezugnahme auf den Ontologieeditor 409 und das Ontologie-Erstellungsprogramm 410 in 4 und den Ontologie-Analyseprozess in 11 beschrieben.
-
Eine Ontologie kann ein Ontologiemodell und einen Wissensspeicher aufweisen. Das Ontologiemodell kann in Form einer OWL-Datei (OWL = Web Ontology Language) vorliegen, die die Hauptkonzepte des Fachgebietes enthält, die relativ statisch sind. Der Wissensspeicher kann als RDF (Resource Description Format) vorliegen und mit der OWL-Datei übereinstimmen. Als Beispiel einer Bereichsverwendung kann das Ontologiemodell vier Hauptelemente einer „perfekten” oder „vollständigen” Abfrage erfassen, zu denen Informationen darüber gehören können: (1) worin der Bedarf oder das Problem des Benutzers besteht (z. B. Situation, Symptome); (2) wo der Bedarf oder das Problem des Benutzers auftritt (z. B. betroffene Komponenten); (3) in welcher Umgebung sie auftreten (z. B. betroffenes Produkt); und (4) was geändert wurde (z. B. Benutzeraktivität, die zu dem Problem geführt hat).
-
Das Abfragelogiksystem 303 kann die semantische Bedeutung in der Benutzerabfrage durch Rückschluss herleiten und sie durch Vergleich mit einer Bereichsdarstellung analysieren. Das Abfragelogiksystem 303 kann dem Benutzer eine Reihe von Fragen stellen, bis eine Suchabfrage erzeugt werden kann, die eine angemessene Anzahl von Ergebnissen zurückgeben würde. Das Abfragelogiksystem 303 kann ferner durch seine Fragen dem Benutzer die Struktur der Ontologie darlegen und die Benutzerabfrage auf der Grundlage von Benutzerantworten auf die Fragen verfeinern. Die Verfeinerung ist nicht automatisiert, sondern bezieht vielmehr den Benutzer ein. Sie ermöglicht das Zusammenspiel auf der Grundlage einer gemischten Initiative, bei dem der Benutzer zur Formulierung der verfeinerten Abfrage beiträgt, indem er Fragen beantwortet und zusätzliche Informationen bereitstellt. Die Suchabfrage kann zur Durchführung einer Metasuche verwendet werden, bei der sie über mehrere Suchmaschinen an eine oder mehrere heterogene Back-End-Datenbanken, Wissensspeicher und verfügbare Tools gesendet wird. Das Abfragelogiksystem 303 kann relevante Ergebnisse in einer vereinheitlichten, aber durch die Eingabe der Abfrage kategorisierten und gefilterten Liste von Informationen zurückgeben.
-
Bei einer beispielhaften Ausführungsform der Erfindung kann das Abfragelogiksystem 303 einen Prozessor 305 für natürliche Sprache, einen Ontologieanalysator 306, einen Abfrageprozessor 307 und eine Suchmaschine 308 aufweisen. Der Prozessor 305 für natürliche Sprache kann eine durch den Benutzer eingegebene Abfrage analysieren, um wichtige Einzelheiten aus der Benutzerabfrage zu extrahieren. Zu Abfrageeinzelheiten können zum Beispiel die Art des Benutzerproblems, was der Benutzer gerade getan hat, als das Problem auftrat, die Umgebung, in der das Problem auftrat, betroffene Produktkomponenten und Bedingungen gehören, die sich im Ergebnis des Problems geändert haben. Die Ausgabe des Prozessors 305 für natürliche Sprache kann in Form relevanter Teilzeichenfolgen (z. B. Schlüsselbegriffe) und Anmerkungen zu den relevanten Teilzeichenfolgen vorgenommen werden. Der Prozessor 305 für natürliche Sprache wird nachfolgend unter Bezugnahme auf die 4 und 10 beschrieben.
-
Ein Ontologieanalysator 306 kann vom Prozessor 305 für natürliche Sprache relevante Teilzeichenfolgen und Anmerkungen empfangen, um eine Ontologie bereichsspezifischer Informationen im Zusammenhang mit der Benutzerabfrage zu analysieren und Konzepte und Beziehungen in der Ontologie zu ermitteln, die mit dem Problem oder dem Bedarf des Benutzers übereinstimmen. Der Ontologieanalysator 306 wird nachfolgend unter Bezugnahme auf die 3 bis 4 und 11 beschrieben. Das Abfragelogiksystem 303 kann ferner einen Abfrageprozessor 307 zum Verfeinern der Benutzerabfrage hinsichtlich Vollständigkeit und Detailgenauigkeit aufweisen. Als Teil des Verfeinerungsprozesses der Benutzerabfrage kann der Abfrageprozessor 307 zusätzliche Fragen über das Problem oder den Bedarf des Benutzers erzeugen, die das Benutzeroberflächensystem 302 dem Benutzer stellen und die Benutzerantworten auf diese Fragen verarbeiten kann. Einzelheiten der Erzeugung von Benutzerfragen und der Verarbeitung von Benutzerantworten werden nachfolgend unter Bezugnahme auf die 4 und 12 beschrieben.
-
Der Abfrageprozessor 307 kann ferner Folgeaktionen der Dienstleistungen für den Benutzer festlegen wie zum Beispiel dem Benutzer vorzuschlagen, einen Problemdatensatz oder eine Informationsanforderung zu eröffnen, und dem Benutzer diese Dienstleistungsaktionen anzeigen. Als Ausgabe des Abfrageverfeinerungsprozesses kann der Abfrageprozessor 307 speziellere Begriffe, Wortgruppen und weitere Informationen (sofern diese fehlen) erzeugen, die das Problem bzw. den Bedarf des Benutzers exakter beschreiben. Der Abfrageprozessor 307 kann diese Begriffe, Wortgruppen und weiteren Informationen anschließend der Suchmaschine 308 bereitstellen. Der Abfrageprozessor 307 wird nachfolgend unter Bezugnahme auf die 4 und 12 weiter beschrieben.
-
Die Suchmaschine 308 kann Informationen, die für die Benutzerabfrage 304 relevant sind, aus Datenbanken 309 von Produkt- und Dienstleistungsdaten, aus dem Internet und Intranet 310 und aus anderen verfügbaren Speichern von Informationen ermitteln. Das Abfragelogiksystem 303 kann die ermittelten Informationen über das Benutzeroberflächensystem 302 an den Benutzer zurückgeben. Die Suchmaschine 308 kann ein Datensuch- oder Datenanalytikprogramm wie zum Beispiel die Suchmaschine GoogleTM oder den IBM DB2 Intelligent MinerTM aufweisen.
-
4 veranschaulicht ausführlicher eine beispielhafte Ausführungsform eines Abfragelogiksystems 400 zum Empfangen und Analysieren einer Abfrage auf der Grundlage einer Ontologie bereichsspezifischer Informationen und zum Zurückgeben von relevanten Informationen an den Benutzer. Das Abfragelogiksystem 400 kann in Form von Schichten realisiert sein, bei denen jede Schicht für eine Gruppe zugehöriger Verarbeitungsaufgaben zuständig ist. Zum Beispiel kann eine Verarbeitungsschicht 402 für natürliche Sprache für das Aufgliedern einer Benutzerabfrage in natürlicher Sprache, z. B. in Englisch, zuständig sein. Zur Sprachverarbeitungsschicht 402 kann ein Prozessor 403 für natürliche Sprache gehören, um die Benutzerabfrage in Token oder Schlüsselwörter wie zum Beispiel „fehlgeschlagen”, „Programm”, „Start”, „Blockierung” usw. aufzubrechen. Ein Beispiel für den Prozessor 403 für natürliche Sprache kann der Prozessor für natürliche Sprache IBM LanguageWareTM sein. Der Prozessor 403 für natürliche Sprache kann ferner die Schlüsselwörter in eine formale Darstellung aufgliedern, die leichter von einer Computeranwendung genutzt werden kann.
-
Bei einer Ausführungsform der Erfindung kann der Prozessor 403 für natürliche Sprache eine lexikalische Analyse der Beschreibung eines Problems oder Bedarfs durch den Benutzer durchführen. Zu Beginn kann er unter Verwendung eines Wörterbuchs mit Regeln zum Aufbrechen die Beschreibung in Absätze, Sätze und Token aufgliedern. Er kann in einem oder mehreren Wörterbüchern nach einem Token suchen, um mehr Informationen über ein Wort zu finden, zum Beispiel über seine Wortart (Part of Speech, POS). Zu den Wörterbüchern können sowohl linguistische Standardwörterbücher gehören, die alle Wörter in der gewählten Sprache enthalten, als auch benutzerdefinierte Wörterbücher, die Wörter aus einem bestimmten Wissensgebiet enthalten.
-
Außerdem kann der Prozessor 403 für natürliche Sprache andere Analysearten durchführen, um die Art, das Format und die Bedeutung des gerade verarbeiteten Textes zu ermitteln. Beispielsweise kann der Prozessor 403 für natürliche Sprache eine Spracherkennung auf einen Text-Hauptteil anwenden, um die Sprache zu ermitteln, in der er geschrieben wurde. Die lexikalische Analyse kann zur Erkennung von Wörtern und ihren Attributen sowie zur Ermittlung der Wortart jedes Wortes verwendet werden. Die semantische Analyse kann eingesetzt werden, um unter Verwendung eines Prozesses, bei dem syntaktische Strukturen zueinander in Beziehung gesetzt werden, über das Verständnis der grammatischen Strukturmuster einer Sprache die Kontextbedeutung von Wörtern und Wortgruppen zu ermitteln. Die semantische Analyse ist nach dem Aufgliedern eine Phase der Verarbeitung von natürlicher Sprache, zu der die Extraktion kontextunabhängiger Aspekte der Bedeutung eines Satzes einschließlich der semantischen Rollen von in dem Satz aufgeführten Einheiten sowie Quantifizierungsinformationen wie zum Beispiel Kardinalität, Iteration und Abhängigkeit gehören.
-
Als Teil der Verarbeitung natürlicher Sprache kann der Prozessor 403 für natürliche Sprache ferner Funktionen zur Rechtschreibprüfung, Klärung der Wortart, Normalisierung (d. h. der Ermittlung des Lemmas oder der kanonischen Form eines Wortes, die auch als „morphologische Analyse” bezeichnet werden) und zur Auflösung von Anaphern aufweisen. Normalisierung ist der Prozess, bei dem eine einzelne Zeichenfolgedarstellung für ein Wort oder einen Begriff ermittelt wird, das bzw. der im Text gefunden wurde. Bei der Normalisierung flektierter Formen (Lauf, laufend, Läufe usw.) wird dies üblicherweise als Lemma, Zitatform oder kanonische Form bezeichnet. Die Wortart ist die linguistische Kategorie eines Wortes, zum Beispiel Substantiv (der Lauf), Verb (laufen), Adjektiv (laufender Honig) usw. Die Klärung der Wortart ist der Prozess, bei dem einem Wort die korrekte Wortart zugewiesen wird, und die Klärung des Wortsinns (semantische Klärung) ist der Prozess, bei dem ermittelt wird, welcher Sinn eines Wortes in einem beliebigen bestimmten Satz verwendet wird, wenn das Wort eine Anzahl unterschiedlicher Bedeutungen hat.
-
Der Prozessor 403 für natürliche Sprache kann auf ein Wörterbuch 404 zurückgreifen, um die Bedeutung ungewohnter Begriffe zu erhalten, die der Benutzer eingibt. Er kann in einem Thesaurus 405 Synonyme, Antonyme usw. und in einem Lexikon 406 Ausdrücke nachschlagen. Ein Lexikon ist das Vokabelverzeichnis einer Sprache, das Wörter sowie übliche Ausdrücke enthält. Es handelt sich hierbei um den Bestand einer Sprache an Lexemen. Das Lexikon enthält nicht nur Einträge für Wörter und Wortgruppen, sondern auch lexikalische Beziehungen, syntaktische Argumentstrukturen und grammatische Beziehungen. Während der Verarbeitung der Benutzerabfrage durch den Prozessor 403 für natürliche Sprache kann die Verarbeitungsschicht 402 für natürliche Sprache wichtige Teilzeichenfolgen aus der Benutzerabfrage extrahieren und sie der Ontologieschicht 407 bereitstellen. Die Ontologieschicht 407 kann diese Teilzeichenfolgen mit einer Ontologie bereichsspezifischer Informationen abgleichen, die mit dem Bedarf oder Problem des Benutzers im Zusammenhang stehen.
-
Beispielsweise kann der Benutzer eine Abfrage als „Instollationsproblem bei UNIX” eingeben. Die Verarbeitungsschicht 402 für natürliche Sprache kann die folgenden Aufgaben durchführen:
- – Ermitteln der Sprache des Textes als Englisch
- – Erkennen der falsche Schreibweise von „Installation” (Instollation)
- – Ermitteln der kanonischen Form von „Installation” (installieren)
- – Erkennen eines bereichsspezifischen Begriffes für die technische Unterstützung (UNIX)
- – semantische Erkennung einer Störung (Installationsproblem)
-
Sobald der Prozess bezüglich der natürlichen Sprache beendet ist, kann die Ontologieschicht 407 des Abfragelogiksystems 400 mit dem Analysieren der Benutzerabfrage gegen eine zugehörige bereichsspezifische Ontologie beginnen. Das Abfragelogiksystem 400 kann auf der Grundlage von Konzepten und Beziehungen, die die Ontologieschicht 407 aus der Ontologie ermittelt, die Benutzerabfrage mit dem Ziel verfeinern, die Relevanz von Suchergebnissen zu erhöhen.
-
Die Ontologieschicht 407 kann eine Ontologiekonzept-Abgleicheinheit 408 aufweisen, um Begriffe und Beziehungen in der Ontologie zu untersuchen und sie mit den Teilzeichenfolgen abzugleichen, die aus der Benutzerabfrage extrahiert wurden. Die Ontologie kann als Baumstruktur bildlich dargestellt werden, wobei jeder Knoten in dem Baum zu einem Begriff gehört und eine Verbindung zwischen zwei Knoten eine Beziehung zwischen den Begriffen darstellt, die zu den verbundenen Knoten gehören. Auf der Grundlage der Analyse der Ontologie kann die Ontologiekonzept-Abgleicheinheit 408 eine Menge von Begriffen aus der Ontologie und deren Beziehungen bereitstellen, die mit den aus der Benutzerabfrage extrahierten relevanten Teilzeichenfolgen übereinstimmen. Die abgeglichenen Begriffe und Beziehungen können an die Abfrageverarbeitungsschicht 416 zur weiteren Verarbeitung durch das Abfragelogiksystem 400 weitergeleitet werden.
-
Die Ontologiekonzept-Abgleicheinheit 408 kann ein aus der Benutzerabfrage extrahiertes Token mit jedem Konzept in einer Ontologie (z. B. mit einem Knoten in einer Ontologiestruktur) und mit Attributen und Beziehungen abgleichen, die zu dem Konzept gehören. Zu Attributen können Teilkomponenten, Akronyme und Synonyme des Konzepts gehören. Bei einer Übereinstimmung zwischen dem Token und einem Konzept in der Ontologie kann die Verarbeitungsschicht 402 für natürliche Sprache das Token in einer Anmerkung mit dem übereinstimmenden Konzept und dessen zugehörigen Säulen versehen. Zu den zugehörigen Säulen können Situationen, Aktivitäten, Produkte, IT-Komponenten usw. gehören, die Anforderungen an eine „perfekte” Abfrage widerspiegeln.
-
Wenn die Ontologiekonzept-Abgleicheinheit 408 eine Teilübereinstimmung zwischen einem Token und einem Ontologiekonzept ermittelt, kann die Verarbeitungsschicht 402 für natürliche Sprache das übereinstimmende Token mit einer Anmerkung versehen, und bei Notwendigkeit kann das Abfragelogiksystem 400 die Teilübereinstimmung mit der Ontologie durch den Benutzer bestätigen lassen. Falls die Ontologiekonzept-Abgleicheinheit 408 mehrere Ontologiekonzepte ermittelt, die mit einem Token übereinstimmen, kann das Abfragelogiksystem 400 mithilfe von Fragen an den Benutzer den Benutzer um Klärung und Auswahl der besten Ontologieübereinstimmung bitten. Der Benutzer kann auf der Grundlage des Konzepts, der Säule und der Beschreibung des Tokens und der übereinstimmenden Ontologiekonzepte die korrekten Wörter auswählen.
-
Die Ontologieschicht 407 kann ferner einen Ontologieeditor 409 und ein Ontologie-Erstellungsprogramm 410 aufweisen. Der Ontologieeditor 409 ermöglicht einem Ontologiespezialisten, eine Ontologie für einen bestimmten Bereich zu erzeugen und zu bearbeiten. Ein beispielhafter Ontologieeditor ist der Open-Source-Editor Protege. Ein Ontologiespezialist kann mit dem Editor Protege eine Ontologie in den Skriptsprachen RDF und OWL erzeugen und bearbeiten. Das Ontologie-Erstellungsprogramm 410 ermöglicht die Aktualisierung einer Ontologie mit zusätzlichen Begriffen und Beziehungen, die das Abfragelogiksystem 400 unter Umständen während der Verarbeitung von Benutzerabfragen ermittelt. Auf der Grundlage des tatsächlichen Bedarfs und der tatsächlichen Probleme und Informationen, die als Reaktion auf Benutzerabfragen ermittelt werden, erweitert das Ontologie-Erstellungsprogramm 410 somit die Ontologie und verfeinert im Laufe der Zeit ihren Inhalt hinsichtlich Vollständigkeit und Genauigkeit.
-
Sobald der Prozess des Ontologieabgleichs abgeschlossen ist, kann das Abfragelogiksystem 400 abgeglichene Ontologiekonzepte an die Abfrageverarbeitungsschicht 416 weiterleiten, um zu bewerten, ob die Benutzerabfrage vollständig und ausreichend detailgenau für die Verarbeitung ist oder eine Verfeinerung mithilfe zusätzlicher Benutzereingaben benötigt. Die Abfrageverarbeitungsschicht 416 kann eine Begriffsprüfeinheit 411 aufweisen, um die Detailgenauigkeit der aus der Benutzerabfrage extrahierten Schlüsselbegriffe zu ermitteln. Bei jedem Teil der Benutzerabfrage kann die Begriffsprüfeinheit 411 ermitteln, ob die zurückgegebene Ontologieübereinstimmung für eine Suche ausreichend detailgenau ist. Wenn die Ontologieübereinstimmung nicht ausreichend detailgenau ist, kann die Abfrageverarbeitungsschicht 416 dem Benutzer zusätzliche Fragen stellen, um die Detailgenauigkeit der Ontologieübereinstimmung zu verbessern.
-
Die Abfrageverarbeitungsschicht 416 kann eine Vollständigkeitsprüfeinheit 412 aufweisen, um zu bewerten, ob die Benutzerabfrage zur Verarbeitung ausreichend vollständig ist. Die Vollständigkeitsprüfeinheit 412 kann ermitteln, ob jeder Teil einer „perfekten” Abfrage erfüllt ist. Bei einer beispielhaften Ausführungsform kann „Vollständigkeit” bedeuten, dass dem Abfragelogiksystem 400 ausreichende Informationen vorliegen, sodass es einem Experten in dem Bereich möglich ist, dem Benutzer zu antworten. Beispielsweise benötigt das Abfragelogiksystem 400 unter Umständen Informationen darüber: a) was der Benutzer tun wollte, b) welches Problem bei dem Nutzer auftrat und c) welches Produkt oder welche Dienstleistung der Benutzer verwendet hat. Alle drei Aspekte der Problembeschreibung wären zur Erfüllung der Vollständigkeit notwendig. Bei beliebigen fehlenden Elementen kann die Abfrageverarbeitungsschicht 416 dem Benutzer zusätzliche Fragen mit dem Ziel stellen, jeden Teil einer perfekten Abfrage zu erfüllen.
-
Die Abfrageverarbeitungsschicht 416 kann einen Prozessor 413 für Benutzerfragen und -antworten aufweisen, um Benutzerfragen zu erzeugen und zusätzliche Einzelheiten über das Problem oder den Bedarf des Benutzers zu erhalten. Die aus den Benutzerfragen und -antworten erhaltenen Informationen werden wie oben beschrieben zur Verfeinerung der Benutzerabfrage verwendet. Bei einer beispielhaften Ausführungsform können die Fragen Bereiche betreffen, die dem System ein besseres „Verständnis” des Problems ermöglichen, zum Beispiel „Worin besteht das Problem?”, „Wo trat das Problem auf?”, „In welcher Umgebung?” und „Was hat sich geändert?”. Der Prozessor 413 für Fragen und Antworten stellt unter Umständen nicht immer alle Fragen. Er kann je nach dem Ausmaß der Detailgenauigkeit und Ausführlichkeit der Benutzerabfrage ermitteln, welche Fragen zu stellen sind, um dem Abfragelogiksystem 400 in praktisch durchführbarer Weise die Rückgabe relevanter Ergebnisse zu ermöglichen. Zu den Ergebnissen können geeignete Dokumente aus einer Suche im Zusammenhang mit dem Bedarf oder Problem des Benutzers in verschiedenen Fachgebieten oder relevante Folgeaktionen wie zum Beispiel anwendbare Tools und Dienstleistungen gehören.
-
Bei einer beispielhaften Ausführungsform kann der Prozessor 413 für Benutzerfragen und -antworten Informationen in der bereichsspezifischen Ontologie mit dem speziellen Problem oder Bedarf des Benutzers kombinieren, um eine Bedingung zu erläutern, die das Problem des Benutzers verursacht haben könnte, und das Benutzervertrauen und die Benutzerbeziehung zu verbessern. Zum Beispiel könnte der Prozessor 413 für Fragen und Antworten als Reaktion darauf, dass ein Problem eines Kunden eine Finanztransaktion betrifft, den Kunden über eine kürzliche Systemaktualisierung informieren, anbieten, dem Kunden per Telefon zu helfen, und dem Kunden einen Anreiz bieten, der für ihn wertvoll sein kann.
-
Der Prozessor 413 für Fragen und Antworten kann ferner die Fragen so zuschneiden, dass bestimmte Wörter angezeigt werden, die der Situation des Benutzers entsprechen. Die Fragen können durch andere Wörter ersetzte Wörter aufweisen, sodass das System in dem für den Benutzer relevanten Kontext interagieren kann. Zum Beispiel kann der Benutzer in der Benutzerabfrage angeben, dass „der Notebook-Computer nicht gebootet hat”. Beim Erzeugen von Fragen an den Benutzer kann der Prozessor 413 für Fragen und Antworten das Wort „Laptop” in seinem Speicher mit Fragen durch das Wort „Notebook” ersetzen. Über Verfeinerungsfragen für den Benutzer kann der Prozessor 413 für Fragen und Antworten dem Benutzer die Ontologiestruktur darlegen, wodurch dem Benutzer ermöglicht wird, mehr über den betreffenden Bereich zu lernen, das das Abfragelogiksystem 400 verwendet. Auf der Grundlage der Antworten des Benutzers kann der Prozessor 413 für Fragen und Antworten zusätzliche Benutzerfragen erzeugen, um die Benutzerabfrage weiter zu verfeinern.
-
Die Interaktion zwischen Benutzerfragen und -antworten ist daher ein iterativer Prozess zum Verfeinern der Benutzerabfrage mit Benutzereingaben. Der Prozessor 413 für Fragen und Antworten kann wesentliche Elemente der Benutzerabfrage erfassen, aber auf der Grundlage der bereichsspezifischen Ontologie weitere Fragen stellen und Antwortvorschläge unterbreiten, bis die Benutzerabfrage nahezu eine „perfekte” Abfrage ist. Das Abfragelogiksystem 400 bietet dem Benutzer eine Lernerfahrung, um bessere Fragen zu formulieren, während der Benutzer potenziell zusätzliches, noch nicht erfasstes, im Laufe der Zeit zur formalen Darstellung des Fachgebietes (Ontologie) hinzuzufügendes bereichsspezifisches Wissen bereitstellt. Insbesondere verfeinert und optimiert der Prozessor 413 für Fragen und Antworten den Freiform-Texteintrag des Benutzers, um den Bedarf oder das Problem des Benutzers mit ausreichender Detailgenauigkeit und Vollständigkeit zu beschreiben. Er nutzt Konzepte und Beziehungen aus der Ontologie, um die Fragen und die Reihenfolge zu ermitteln, in der die Fragen dem Benutzer angezeigt werden.
-
Die Abfrageverarbeitungsschicht 416 kann ferner eine Prüfeinheit 414 für vorhergehende Abfragen aufweisen, um zu ermitteln, ob die Benutzerabfrage einer Abfrage ähnelt, die bereits zuvor durch das Abfragelogiksystem 400 verarbeitet wurde. Zuvor behandelte Abfragen und ihre Lösungen können in einem Wissensspeicher aufbewahrt werden, auf den das Abfragelogiksystem 400 zugreifen kann. Zum Beispiel kann die Benutzerabfrage einen Fall betreffen, bei dem ein Computer nicht mehr bootet, dieser Fehler durch die Installation eines bestimmten Programms verursacht wurde und dieses Problem zuvor durch das Abfragelogiksystem 400 verarbeitet und in einer Datenbank gespeichert wurde. Die Prüfeinheit 414 für vorhergehende Abfragen kann im Speicher nach Informationen suchen, die mit diesem speziellen Problem im Zusammenhang stehen, und dem Benutzer mit dem ermittelten Ablauf zur Beseitigung des Problems antworten, ohne die Benutzerabfrage erneut zu verarbeiten.
-
Die Abfrageverarbeitungsschicht 416 kann andere Dienstleistungen 415 wie zum Beispiel Funktionen zur Festlegung von Folgeaktionen für den Benutzer aufweisen oder den Benutzer bitten, einen Problembericht, einen Beschaffungsantrag oder einen Online-Prozess bzw. eine Online-Aktivität zu erstellen. Andere Dienstleistungen 415 können feststellen, dass die Benutzerabfrage eher für eine Dienstleistung als für eine Suche geeignet ist. Zu Benutzerdienstleistungen können das Analysieren von Systemprotokollen, das Katalogisieren von Symptomen oder das Prüfen der Kompatibilität von Produkten, Modellen, Freigabeversionen usw. entweder für Vertriebs- oder Unterstützungsfunktionen gehören.
-
Sobald die Abfrageverarbeitungsschicht 416 die Vollständigkeit und Detailgenauigkeit der Benutzerabfrage geprüft und bei Bedarf die Benutzerabfrage verfeinert hat, kann sie relevante Schlüsselbegriffe und Beziehungen über den Bedarf oder das Problem des Benutzers an eine Suchschicht 419 senden. Die Suchschicht 419 kann eine Suchmaschine oder ein Datenanalytikprogramm 417 mit Zugriff auf relevante Informationsquellen 418 wie zum Beispiel Datenbanken von Produktdokumenten aufweisen. Die Suchmaschine oder das Datenanalytikprogramm 417 kann auch auf das Internet oder ein Unternehmens-Intranet zugreifen, um sowohl in öffentlichen als auch privaten Bereichen nach Informationen zu suchen, die für die Abfrage relevant sind. Die Suchschicht 419 kann ein Ergebnisrangfolge-Dienstprogramm nutzen, um die Informationsquellen einzustufen, die mit den Schlüsselbegriffen der Benutzerabfrage am besten übereinstimmen, und um eine Menge der am besten übereinstimmenden Ergebnisse zurückzugeben. Die Suchschicht 419 kann anschließend die am besten übereinstimmenden Ergebnisse über die Benutzeroberfläche 302 an den Benutzer zurückgeben.
-
5 veranschaulicht einen beispielhaften Benutzerbildschirm eines Selbstbedienungs-Unterstützungssystems gemäß einer Ausführungsform der Erfindung, z. B. des Systems 300, der einem Benutzer die Eingabe einer Benutzerabfrage oder Benutzerfrage über Produkte oder Dienstleistungen ermöglicht. Der Benutzerbildschirm 501 kann eine Benutzeroberflächenkomponente 502 aufweisen, in der der Benutzer eine Frage eingeben oder einen Dienstleistungsbedarf oder ein Problem beschreiben kann. Nach dem Auswählen der Übermittlungsschaltfläche 503 kann das Selbstbedienungs-Unterstützungssystem 300 einen wie in 6 gezeigten Folgebildschirm anzeigen, der den Benutzer zur Eingabe zusätzlicher Informationen über die Benutzerabfrage auffordern kann. Wenn der Benutzer in der Benutzeroberflächenkomponente 502 „Plattenlaufwerk ändern” eingegeben hatte, kann das Unterstützungssystem 300 zum Beispiel den Benutzer bitten, auszuwählen, ob es sich bei dem Plattenlaufwerk um ein logisches Laufwerk oder ein physisches Laufwerk handelt, wie durch die Benutzerauswahlen 604 in 6 veranschaulicht. Darüber hinaus kann die Benutzeroberfläche 302 eine Benutzeroberflächenkomponente anzeigen, in der der Benutzer keine der Systemauswahlen treffen muss, sondern seine eigenen Begriffe eingeben kann. Diese Begriffe können anschließend vom Ontologie-Erstellungsprogramm 410 verwendet werden, um die Ontologie zu erweitern.
-
Das Unterstützungssystem 300 kann den Benutzer weiterhin zur Eingabe zusätzlicher Einzelheiten über den Bedarf oder das Problem des Benutzers auffordern, indem es andere Benutzerbildschirme anzeigt, bis es feststellen könnte, dass die Beschreibung der Benutzerabfrage für eine Datensuche ausreichend vollständig und detailgenau ist. Zum Beispiel könnte das Unterstützungssystem 300 bei dem Szenario zur Änderung des Plattenlaufwerks den Benutzer bitten, die Art der Änderung des Plattenlaufwerks anzugeben, wie durch die Benutzerfrage 705 in 7 veranschaulicht. Sobald ein Abfragelogiksystem 400 eine entsprechend vollständige Beschreibung des Bedarfs oder Problems des Benutzers hat, würden seine Komponenten die Benutzerabfrage verarbeiten, wie unter Bezugnahme auf 4 beschrieben. Die Ergebnisse aus einer Suche nach Informationen, die für die Benutzerabfrage relevant sind, kann dem Benutzer als Dokumentenliste 806 in 8 angezeigt werden.
-
9 ist ein Ablaufplan eines Prozesses gemäß einer Ausführungsform der Offenbarung, um eine Benutzerabfrage zu empfangen und auf der Grundlage einer bereichsspezifischen Ontologie zu analysieren und Informationen zurückzugeben, die für die Benutzerabfrage relevant sind. Der Prozess kann bei Schritt 901 starten, bei dem der Benutzer eine Abfrage oder Frage in Freitextform eingibt, zum Beispiel die Wortgruppe „Plattenlaufwerk ändern”. Bei Schritt 902 kann ein Prozessor für natürliche Sprache wie zum Beispiel die Verarbeitungsschicht 402 für natürliche Sprache des Abfragelogiksystems 400 Schlüsselbegriffe über den Bedarf oder das Problem des Benutzers aus der Abfrage extrahieren, z. B. „ändern” und „Plattenlaufwerk”.
-
Ein Ontologieanalysator wie zum Beispiel die Ontologieschicht 407 im Abfragelogiksystem 400 kann eine entsprechende Bereichsontologie analysieren und bei Schritt 903 die extrahierten Schlüsselbegriffe mit Konzepten und Beziehungen in der Ontologie abgleichen. Wenn das Abfragelogiksystem 400 feststellt, dass die Benutzerabfrage für eine Suche nicht vollständig oder nicht detailgenau genug ist, kann die Abfrageverarbeitungsschicht 416 gemäß Schritt 904 zusätzliche Fragen über den Bedarf oder das Problem des Benutzers erzeugen. Die Abfrageverarbeitungsschicht 416 kann ferner die Benutzerabfrage bei Schritt 905 auf der Grundlage der Antworten des Benutzers auf diese Fragen verfeinern, um ihre Vollständigkeit und Detailgenauigkeit für eine Suche zu erhöhen. Die Abfrageverarbeitungsschicht 416 kann die verfeinerte Benutzerabfrage erneut verarbeiten, wie durch die Schleife von Schritt 905 zum Schritt 902 gezeigt.
-
Bei Schritt 906 kann die Abfrageverarbeitungsschicht 416 im Abfragelogiksystem 400 auf der Grundlage der verfeinerten Benutzerabfrage eine Suchabfrage erzeugen, die Suchbegriffe, Konzepte und Anmerkungen aufweist. Das Abfragelogiksystem 400 kann unter Verwendung der Suchabfrage bei Schritt 907 die Suchabfrage einer Suchschicht 419 zum Ermitteln von Informationen bereitstellen, die für das Problem oder den Bedarf des Benutzers relevant sind. Die Suchschicht 419 kann eine Suchmaschine oder ein Datenanalytikprogramm 417 verwenden, um Speicher 418 von Produkt- und Dienstleistungsinformationen zu durchsuchen. Außer dem Darstellen der Suchergebnisse für den Benutzer bei Schritt 908 kann das Abfragelogiksystem 400 gemäß Schritt 909 Benutzerrückmeldungen hinsichtlich der Relevanz der resultierenden Informationen erbitten.
-
10 ist ein Ablaufplan eines beispielhaften Prozesses, dem eine Verarbeitungsschicht 402 für natürliche Sprache folgen kann, um eine Benutzerabfrage zu analysieren und relevante Begriffe und Einzelheiten über den Bedarf oder das Problem des Benutzers zu extrahieren und diese einer Ontologieschicht 407 bereitzustellen. Die Verarbeitungsschicht 402 für natürliche Sprache kann bei Schritt 101 starten, indem die Sprache der Benutzerabfrage ermittelt wird, z. B. Englisch. Sie kann bei Schritt 102 die Benutzerabfrage aufgliedern, um Verben und Substantive aus der Abfrage zu extrahieren. Die Verben betreffen im Allgemeinen die Aktionen, an deren Durchführung der Benutzer interessiert ist, und die Substantive entsprechen im Allgemeinen den beteiligten Objekten (wie zum Beispiel ein bestimmtes Produkt, eine bestimmte Situation oder eine bestimmte Technologiekomponente). Die Verarbeitungsschicht 402 für natürliche Sprache kann Verbindungswörter in der Anweisung wie zum Beispiel „über”, „in” und „durch” ignorieren (Schritt 103). Sie kann gemäß Schritt 104 an der Benutzerabfrage andere Aufgaben wie zum Beispiel Textaufteilung, Zerlegung des Textes in Token, Klärung, Rechtschreibprüfung und Normalisierung des Textes durchführen. Diese Aufgaben wurden zuvor unter Bezugnahme auf 4 beschrieben.
-
Die Verarbeitungsschicht 402 für natürliche Sprache kann bei Schritt 105 Elemente (z. B. Schlüsselbegriffe) und Beziehungen in der Benutzerabfrage ermitteln (zum Beispiel „fehlgeschlagen”, „nach” und „Installation”). Wenn Begriffe in der Benutzerabfrage vorliegen, die die Verarbeitungsschicht 402 für natürliche Sprache nicht erkennt, kann sie bei Schritt 106 auf ein Wörterbuch, einen Thesaurus oder ein Lexikon zurückgreifen, um deren Bedeutung und die Absicht des Benutzers leichter zu ermitteln. Sobald die Verarbeitungsschicht 402 für natürliche Sprache relevante Begriffe aus der Benutzerabfrage extrahiert hat, kann sie diese Begriffe gemäß Schritt 107 an einen Ontologieanalysator (wie zum Beispiel die Ontologieschicht 407) weiterleiten, um eine bereichsspezifische Ontologie zu analysieren, die mit der Benutzerabfrage im Zusammenhang steht, und die Begriffe mit Konzepten in der Ontologie abzugleichen.
-
11 ist ein Ablaufplan eines beispielhaften Prozesses, dem eine Ontologieschicht 407 folgen kann, um relevante Begriffe aus einer Benutzerabfrage mit Konzepten und Beziehungen in einer bereichsspezifischen Ontologie abzugleichen. Der Prozess kann bei Schritt 111 starten, bei dem eine Ontologiekonzept-Abgleicheinheit 408 ein aus der Benutzerabfrage extrahiertes Token mit jedem Konzept in einer Ontologie (z. B. mit einem Knoten in einer Ontologiestruktur) und mit Attributen und Beziehungen abgleichen, die zu dem Konzept gehören. Zu Attributen können Teilkomponenten, Akronyme und Synonyme des Konzepts gehören. Bei einer Übereinstimmung zwischen dem Token und einem Konzept in der Ontologie kann die Verarbeitungsschicht 402 für natürliche Sprache bei Schritt 112 das Token in einer Anmerkung mit dem übereinstimmenden Konzept und dessen zugehörigen Säulen versehen. Zu den zugehörigen Säulen können Situationen, Aktivitäten, Produkte, IT-Komponenten usw. gehören, die Anforderungen an eine „perfekte” Abfrage widerspiegeln.
-
Wenn die Ontologiekonzept-Abgleicheinheit 408 eine Teilübereinstimmung zwischen einem Token und einem Ontologiekonzept ermittelt, kann die Verarbeitungsschicht 402 für natürliche Sprache gemäß Schritt 113 das übereinstimmende Token mit einer Anmerkung versehen, und bei Notwendigkeit kann das Abfragelogiksystem 400 die Teilübereinstimmung mit der Ontologie durch den Benutzer bestätigen lassen. Falls die Ontologiekonzept-Abgleicheinheit 408 mehrere Ontologiekonzepte ermittelt, die mit einem Token übereinstimmen, kann das Abfragelogiksystem 400 bei Schritt 114 mithilfe von Fragen an den Benutzer den Benutzer um Klärung und Auswahl der besten Ontologieübereinstimmung bitten. Der Benutzer kann gemäß Schritt 114 auf der Grundlage des Konzepts, der Säule und der Beschreibung des Tokens und der übereinstimmenden Ontologiekonzepte die korrekten Wörter auswählen.
-
Das Abfragelogiksystem 400 kann den in 11 veranschaulichten Prozess bei jedem aus der Benutzerabfrage extrahierten Token durchführen und die Benutzerabfrage iterativ auf der Grundlage von Konzepten und Beziehungen aus der Ontologie mit dem Ziel verfeinern, die Relevanz von Suchergebnissen zu erhöhen. Auf der Grundlage der Analyse der Ontologie kann die Ontologiekonzept-Abgleicheinheit 408 eine Menge von Begriffen aus der Ontologie und deren Beziehungen ausgeben, die mit den aus der Benutzerabfrage extrahierten relevanten Teilzeichenfolgen übereinstimmen. Die Ontologieschicht 407 kann bei Schritt 116 die abgeglichenen Begriffe und Beziehungen der Abfrageverarbeitungsschicht 416 zur weiteren Verarbeitung durch das Abfragelogiksystem 400 bereitstellen.
-
Wie oben unter Bezugnahme auf 4 beschrieben, kann die Ontologieschicht 407 gemäß Schritt 117 ein Ontologie-Erstellungsprogramm 410 aufweisen, um eine Bereichsontologie mit Begriffen und Beziehungen zu aktualisieren, die das Abfragelogiksystem 400 während des Verarbeitens von Benutzerabfragen ermittelt. Auf der Grundlage des tatsächlichen Bedarfs und der tatsächlichen Probleme und Informationen, die als Reaktion auf Benutzerabfragen ermittelt werden, erweitert das Ontologie-Erstellungsprogramm 410 somit die Ontologie und verfeinert im Laufe der Zeit ihren Inhalt hinsichtlich Vollständigkeit und Genauigkeit. Sobald der Prozess des Ontologieabgleichs abgeschlossen ist, kann das Abfragelogiksystem 400 abgeglichene Ontologiekonzepte an eine Abfrageverarbeitungsschicht 416 weiterleiten, um die Abfrage bei Bedarf mit zusätzlichen Benutzereingaben zu verfeinern.
-
12 ist ein Ablaufplan eines Abfrageverfeinerungsprozesses, dem eine Abfrageverarbeitungsschicht folgen kann, um die Vollständigkeit und Detailgenauigkeit einer Benutzerabfrage zu ermitteln. Der Prozess kann die Abfrage mit zusätzlichen Benutzerfragen und -antworten verfeinern und nachfolgende Benutzeraktionen festlegen. Eine Abfrageverarbeitungsschicht 416 im Abfragelogiksystem 400 kann bei Schritt 121 starten, um zu ermitteln, ob Ontologieübereinstimmungen für eine Benutzerabfrage, die von einer Ontologie-Abgleicheinheit 408 zurückgegeben wurden, für eine Suche nach entsprechenden Informationen ausreichend detailgenau sind. Wenn die Übereinstimmungen nicht ausreichend detailgenau sind, kann der Prozessor 413 für Fragen und Antworten zusätzliche Fragen erzeugen und diese dem Benutzer stellen, um den Bedarf oder das Problem des Benutzers zu klären, wie zuvor unter Bezugnahme auf 4 beschrieben.
-
Die Abfrageverarbeitungsschicht 416 kann gemäß Schritt 122 ferner ermitteln, ob die Benutzerabfrage ausreichend vollständig für die Verarbeitung ist. Zum Beispiel kann die Vollständigkeitsprüfeinheit 412 des Abfragelogiksystems 400 ermitteln, ob jeder Teil einer „perfekten” Abfrage in der Benutzerabfrage vorhanden ist. Bei beliebigen fehlenden Schlüsseldeskriptoren kann das Abfrageverarbeitungssystem 400 bei Schritt 123 dem Benutzer zusätzliche Fragen mit dem Ziel stellen, jeden Teil einer „perfekten” Abfrage zu erfüllen. Die Abfrageverarbeitungsschicht 416 kann bei Schritt 124 die Detailgenauigkeit und Vollständigkeit der Schlüsseldeskriptoren mit den zusätzlichen Informationen verfeinern, die der Benutzer als Reaktion auf die Fragen liefert.
-
Bei Schritt 125 kann die Abfrageverarbeitungsschicht 416 auf der Grundlage von Informationen, die aus der Benutzerabfrage extrahiert wurden, schlussfolgern, dass die Benutzerabfrage eher für eine Dienstleistung als für eine Suche nach Informationen geeignet ist, z. B. für einen Austausch eines Produkts aufgrund eines Defekts. In diesem Fall kann das Abfragelogiksystem 400 anstelle der Fortsetzung der Suche nach Informationen den Benutzer an ein System zur Bearbeitung von Dienstleistungen verweisen. Des Weiteren kann die Abfrageverarbeitungsschicht 416 bei Schritt 126 Folgeaktionen festlegen und diese dem Benutzer anzeigen, wenn sie feststellt, dass Benutzeraktionen notwendig sind oder relevante Informationen benötigt werden, um den Bedarf oder das Problem des Benutzers exakt zu ermitteln.
-
Wenn die Abfrageverarbeitungsschicht 416 feststellt, dass die Deskriptoren der Benutzerabfrage ausreichend vollständig und detailgenau sind, kann sie bei Schritt 127 die Deskriptoren an die Suchschicht 419 im Abfragelogiksystem 400 weiterleiten. Die Suchschicht 419 kann eine Suchmaschine oder ein Datenanalytikprogramm 417 verwenden, um Informationsquellen 418 wie zum Beispiel Datenbanken, Intranets oder das Internet zu durchsuchen. Die Suchmaschine oder das Datenanalytikprogramm 417 können aus den Quellen 418 Informationen im Zusammenhang mit der Benutzerabfrage ermitteln und die ermittelten Informationen über die Benutzeroberfläche 302 an den Benutzer zurückgeben.
-
Der oben beschriebene Gegenstand wird lediglich zum Zweck der Veranschaulichung bereitgestellt und ist nicht als einschränkend zu verstehen. Verschiedene Abänderungen und Ersetzungen der beschriebenen Komponenten und Operationen können vom Fachmann vorgenommen werden, ohne vom Grundgedanken und Schutzbereich der in den folgenden Ansprüchen definierten Offenbarung abzuweichen, wobei der Schutzbereich im breitesten Sinne zu interpretieren ist, sodass er diese Abänderungen und gleichwertigen Strukturen umfasst. Wie dem Fachmann klar ist, können die hierin beschriebenen Systeme, Verfahren und Abläufe in einem programmierbaren Computer, in einer auf Computern ausführbaren Software oder in einer digitalen Schaltung verkörpert sein. Die Software kann auf computerlesbaren Medien gespeichert sein. Zu computerlesbaren Medien können beispielsweise ein Diskettenlaufwerk, RAM, ROM, eine Festplatte, auswechselbare Medien, Flash-Speicher, ein „Speicherstick”, optische Medien, magnetooptische Medien, CD-ROM usw. gehören.
-
Dementsprechend können Aspekte der Offenbarung die Form einer vollständig in Hardware realisierten Ausführungsform, einer vollständig in Software realisierten Ausführungsform (einschließlich Firmware, residenter Software, Mikrocode usw.) oder einer Ausführungsform annehmen, in der Software- und Hardwareaspekte miteinander kombiniert sind, die im vorliegenden Dokument allgemein als „Schaltung”, „Modul” oder „System” bezeichnet werden. Ferner können Aspekte der Offenbarung die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren computerlesbaren Medien verkörpert ist, auf denen computerlesbarer Programmcode verkörpert ist.
-
Es können beliebige Kombinationen eines oder mehrerer computerlesbarer Medien verwendet werden. Das computerlesbare Medium kann ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium sein. Zu computerlesbaren Speichermedien können beispielsweise, ohne darauf beschränkt zu sein, ein elektronisches, magnetisches, optisches oder elektromagnetisches System bzw. ein Infrarot- oder Halbleitersystem bzw. eine derartige Vorrichtung oder Einheit oder eine beliebige geeignete Kombination des Vorstehenden gehören. Zu den genaueren Beispielen (unvollständige Liste) computerlesbarer Speichermedien zählen unter anderem folgende: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Nur-Lese-Speicher in Form einer Compact Disc (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder eine beliebige geeignete Kombination des Vorstehenden. Im Kontext des vorliegenden Dokuments kann ein computerlesbares Speichermedium jedes beliebige vergegenständlichte Medium sein, das ein Programm enthalten oder speichern kann, das von oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Befehlsausführung genutzt werden kann.
-
Ein computerlesbares Signalmedium kann unter anderem ein im Basisband oder als Teil einer Trägerwelle übertragenes Datensignal mit darin verkörpertem computerlesbarem Programmcode aufweisen. Ein derartiges übertragenes Signal kann eine beliebige Vielfalt von Formen annehmen, einschließlich, ohne darauf beschränkt zu sein, einer elektromagnetischen oder optischen Form oder einer beliebigen geeigneten Kombination davon. Ein computerlesbares Signalmedium kann ein beliebiges computerlesbares Medium sein, bei dem es sich nicht um ein computerlesbares Speichermedium handelt und das ein Programm übertragen, senden oder transportieren kann, das von oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Befehlsausführung genutzt werden kann.
-
Auf einem computerlesbaren Medium verkörperter Programmcode kann unter Verwendung jedes beliebigen geeigneten Mediums, einschließlich, ohne darauf beschränkt zu sein, drahtloser, drahtgebundener Medien, Lichtwellenleitern, HF usw., oder unter Verwendung einer beliebigen geeigneten Kombination des Vorstehenden übertragen werden.
-
Computerprogrammcode zum Ausführen von Operationen bei Aspekten der Offenbarung kann in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen, darunter in einer objektorientierten Programmiersprache wie Java, Smalltalk, C++ oder dergleichen und in herkömmlichen prozeduralen Programmiersprachen wie „C” oder ähnlichen Programmiersprachen geschrieben sein. Der Programmcode kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. Beim letztgenannten Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers über eine beliebige Art von Netzwerk verbunden sein, unter anderem über ein lokales Netzwerk (LAN) oder über ein Weitverkehrsnetzwerk (WAN), oder die Verbindung kann zu einem externen Computer hergestellt werden (beispielsweise über das Internet unter Nutzung eines Internet-Dienstanbieters (Internet Service Provider)).
-
Aspekte der Offenbarung sind oben unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Offenbarung beschrieben. Es versteht sich, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder und Kombinationen von Blöcken in den Ablaufplänen und/oder Blockschaltbildern durch Computerprogrammanweisungen realisiert werden kann bzw. können. Diese Computerprogrammanweisungen können einem Prozessor eines Mehrzweckcomputers, eines Spezialcomputers oder anderen programmierbaren Datenverarbeitungsvorrichtungen bereitgestellt werden, um eine Maschine zu erzeugen, sodass die Anweisungen, die über den Prozessor des Computers oder anderer programmierbarer Datenverarbeitungsvorrichtungen ausgeführt werden, Mittel zum Realisieren der in einem Block bzw. in den Blöcken des Ablaufplans und/oder des Blockschaltbildes angegebenen Funktionen/Aktionen schaffen.
-
Diese Computerprogrammanweisungen können ebenfalls in einem computerlesbaren Medium gespeichert sein, das einen Computer, andere programmierbare Datenverarbeitungsvorrichtungen oder andere Einheiten anweisen kann, in einer bestimmten Weise zu funktionieren, sodass die im computerlesbaren Medium gespeicherten Anweisungen ein Erzeugnis schaffen, das die Anweisungen aufweist, die die in einem Block bzw. in den Blöcken des Ablaufplans und/oder des Blockschaltbildes angegebene Funktion/Aktion realisieren.
-
Die Computerprogrammanweisungen können auch in einen Computer, in andere programmierbare Datenverarbeitungsvorrichtungen oder in andere Einheiten geladen werden, um zu bewirken, dass auf dem Computer, auf anderen programmierbaren Vorrichtungen oder anderen Einheiten eine Reihe von Arbeitsschritten ausgeführt wird, um einen mittels Computer realisierten Prozess zu schaffen, sodass die Anweisungen, die auf dem Computer oder auf anderen programmierbaren Vorrichtungen ausgeführt werden, Prozesse zur Realisierung der in einem Block bzw. in den Blöcken des Ablaufplans und/oder des Blockschaltbildes angegebenen Funktionen/Aktionen bereitstellen.
-
Die Ablaufpläne und die Blockschaltbilder in den oben beschriebenen Figuren veranschaulichen die Architektur, Funktionalität und Wirkungsweise möglicher Realisierungsformen von Systemen, Verfahren und Computerprogrammprodukten gemäß den verschiedenen Ausführungsformen der Offenbarung. Dementsprechend kann jeder einzelne Block im Ablaufplan bzw. in den Blockschaltbildern ein Modul, ein Segment oder einen Teil des Codes darstellen, der eine oder mehrere ausführbare Anweisungen zur Realisierung der angegebenen Logikfunktion bzw. Logikfunktionen aufweist. Außerdem sollte beachtet werden, dass bei einigen alternativen Realisierungsformen die im Block angegebenen Funktionen in einer anderen als der in den Figuren angegebenen Reihenfolge ausgeführt werden können. Beispielsweise können zwei hintereinander aufgeführte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können je nach der damit verbundenen Funktionalität manchmal in umgekehrter Reihenfolge ausgeführt werden. Darüber hinaus ist anzumerken, dass jeder Block der dargestellten Blockschaltbilder und/oder des dargestellten Ablaufplans sowie Kombinationen von Blöcken in den dargestellten Blockschaltbildern und/oder im dargestellten Ablaufplan mithilfe von bestimmten Zwecken dienenden, hardwaregestützten Systemen zur Ausführung der angegebenen Funktionen bzw. Aktionen oder mithilfe von Kombinationen aus bestimmten Zwecken dienender Hardware und Computeranweisungen realisiert werden kann bzw. können.