DE102015008607A1 - Adaptives Anpassen von Netzwerk-Anforderungen auf Client-Anforderungen in digitalen Netzwerken - Google Patents

Adaptives Anpassen von Netzwerk-Anforderungen auf Client-Anforderungen in digitalen Netzwerken Download PDF

Info

Publication number
DE102015008607A1
DE102015008607A1 DE102015008607.3A DE102015008607A DE102015008607A1 DE 102015008607 A1 DE102015008607 A1 DE 102015008607A1 DE 102015008607 A DE102015008607 A DE 102015008607A DE 102015008607 A1 DE102015008607 A1 DE 102015008607A1
Authority
DE
Germany
Prior art keywords
data object
user
request
service
service data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102015008607.3A
Other languages
English (en)
Other versions
DE102015008607B4 (de
Inventor
Johann C. Freilinger
Constantin Nicolai Vlad
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SAP SE
Original Assignee
SAP SE
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SAP SE filed Critical SAP SE
Priority to DE102015008607.3A priority Critical patent/DE102015008607B4/de
Publication of DE102015008607A1 publication Critical patent/DE102015008607A1/de
Application granted granted Critical
Publication of DE102015008607B4 publication Critical patent/DE102015008607B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations

Abstract

Die vorliegende Anmeldung bezieht sich auf ein Computernetzwerk, ein computerimplementiertes Verfahren, ein Computer System und ein Computerprogrammprodukt zum adaptiven Anpassen von Netzwerk-Antworten auf Client-Anforderungen, die von einer Clientvorrichtung empfangen werden, umfassend: ein Parsermodul, das eingerichtet ist zum – Parsen einer Anforderungsdatenbank nach Daten, die relevant für die Client-Anforderung sind; und – Erzeugen eines Anforderungsdatenobjekts basierend auf den Daten, die relevant für die Client-Anforderung sind; ein Matching-Modul, das eingerichtet ist zum – Anwenden eines Matching-Algorithmus auf das Anforderungsdatenobjekt mit Datenobjekten, die in einer Antwortdatenbank gespeichert sind, um einen Matching-Wert von potentiellen Servicedatenobjekten zu berechnen; und – Erzeugen eines Endergebnisses basierend auf dem berechneten Matching-Wert, wobei das Endergebnis eine Liste von Datenobjekten umfasst, die einen Matching-Wert über einem spezifizierten Matching-Schwellenwert haben; ein Lernmodul, das eingerichtet ist zum: – Anwenden eines Lernverfahrens basierend auf dem Endergebnis; und – Erzeugen eines Lernergebnisses des Lernverfahrens; ein Lernwerk, das eingerichtet ist, den Matching-Algorithmus des Matching-Moduls basierend auf dem Lernergebnis anzupassen, wobei das Anpassen des Matching-Algorithmus ein Anwenden eines Boosting-Algorithmus zum Anpassen von Gewichtungen, die mit Determinanten von relevanten Objektdatenobjekten in der Antwortdatenbank assoziiert sind, umfasst; wobei die Clientvorrichtung, der Provider und das Maschinenlernsystem über ein Netzwerk gekoppelt sind.

Description

  • Technisches Gebiet
  • Die Beschreibung ist allgemein auf digitale Netzwerke gerichtet, welche digital verbundene Computervorrichtungen umfassen, und genauer auf ein Computernetzwerk, ein Computer System, ein computerimplementiertes Verfahren, und ein Computerprogrammprodukt zum adaptiven Anpassen von Netzwerk-Antworten auf Client-Anforderungen, um verbesserte Netzwerk-Antworten bereitzustellen.
  • Hintergrund
  • Die Verwendung digitaler Netzwerke wie Computernetzwerke zum Bereitstellen von Netzwerk-Antworten auf Client-Anforderung nimmt ständig zu. Digitale Netzwerke wie Computernetzwerke, die eine Vielzahl von Clientseitigen Vorrichtungen, wie einen PC, ein Notebook, ein Mobiltelefon, ein Netbook und so weiter, umfassen, welche Client-Anforderungen an einen Server richten und über das Computernetzwerk Antworten von dem Server empfangen, werden immer zahlreicher. Derartige Computernetzwerke basieren üblicher Weise auf einem Client Server Paradigma. Gemäß dem Client Server Paradigma wird eine verteilte Rechnerstruktur bereitgestellt, welche Aufgaben oder Arbeitsbelastungen zwischen Clients, welche Client-Anforderungen geben, und Servern, welche den Clients in Antwort auf eine Client-Anforderung Ressourcen oder Service bereitstellen, aufgeteilt. Insbesondere mag jeder Client den Inhalt oder die Dienstefunktion eines Servers anfordern. Zu diesem Zweck stellt der Client die Client-Anforderung an einen Server. Die Zugangsdaten des Client, zum Beispiel Einlogdaten, können in einer Datenbank gespeichert sein, die mit dem Server assoziiert ist, und der Server kann auf die Datenbank zugreifen und die Zugangsdaten des Client verifizieren. Nach erfolgreicher Verifizierung liefert der Server in Übereinstimmung mit der Client-Anforderung eine Antwort auf die Client-Anforderung zurück unter Verwendung der Ressourcen oder Service, die von dem Server bereitgestellt werden.
  • Herkömmliche Client-Server-basierte Computernetzwerke erzeugen lediglich statische Serverantworten auf die Client-Anforderung basierend auf Daten, die mit der Client-Anforderung erhalten werden, obwohl die Server in der Lage sein mögen, mittels interner/externer Datenbanken und/oder zum Beispiel über das Internet auf zusätzliche Daten zuzugreifen. Diese zusätzlichen Daten mögen hilfreich sein, um Serverantworten auf die Client-Anforderungen zu geben. Jedoch wird das Potential dieser zusätzlichen Daten von herkömmlichen Servern nicht genutzt.
  • Dementsprechend besteht ein Bedürfnis dafür, verbesserte Netzwerk-Antworten auf Client-Anforderungen bereitzustellen, die insbesondere Daten berücksichtigen, die nicht in der Client-Anforderung enthalten sind und auf den ein jeweiliger Server zugreifen kann, wenn er die Netzwerk-Antwort erzeugt.
  • Zusammenfassung
  • Dieses Bedürfnis wird adressiert durch den Gegenstand der unabhängigen Ansprüche. Besondere Beispiele sind in den abhängigen Ansprüchen definiert.
  • Gemäß einem allgemeinen Aspekt wird ein Computernetzwerk bereitgestellt zum adaptiven Anpassen von Netzwerk-Antworten auf Client-Anforderungen, um verbesserte Netzwerk-Antworten zu geben. Das Computernetzwerk umfasst:
    zumindest eine Clientvorrichtung zum Erzeugen und Übertragen von Client-Anforderungen;
    zumindest einen Provider zum Reagieren auf eine Client-Anforderung mittels einem adaptiven Maschinenlernsystem; und
    wobei das adaptive Maschinenlernsystem umfasst:
    ein Parsermodul, das eingerichtet ist, die folgenden Schritte auszuführen:
    • – Empfangen einer Client-Anforderung von einer Clientvorrichtung, wobei die Client-Anforderung zumindest eine Benutzer ID und eine Objekt ID umfasst, die Gegenstand der Client-Anforderung sind;
    • – Parsen einer Anforderungsdatenbank zum Bestimmen weiterer relevanter Daten basierend auf der Benutzer ID und der Objekt ID;
    • – Extrahieren der weiteren relevanten Daten aus der Anforderungsdatenbank, um extrahierte Daten zu erzeugen;
    • – Anreichern der Client-Anforderung mit den extrahierten Daten, um eine angereicherte Client-Anforderung zu erzeugen; und
    • – Erzeugen eines Anforderungsdatenobjekts basierend auf der angereicherten Client-Anforderung; ein Matching-Modul, das eingerichtet ist, die folgenden Schritte auszuführen:
    • – Extrahieren von jeweiligen Determinanten des angeforderten Datenobjekts und von Datenobjekten, die in einer Antwortdatenbank gespeichert sind, wobei jede Determinante ein Attribut eines Datenobjekts ist;
    • – Extrahieren von Gewichtungen, die assoziiert sind mit den extrahierten Determinanten des angeforderten Datenobjekts und von Datenobjekten, die in der Antwortdatenbank gespeichert sind;
    • – Anwenden eines Matching-Algorithmus auf das Anforderungsdatenobjekt mit Datenobjekten, die in der Antwortdatenbank gespeichert sind, um einen Matching-Wert von potentiellen Servicedatenobjekten basierend auf den extrahierten Gewichtungen zu berechnen; und
    • – Erzeugen eines Endergebnisses, wobei das Endergebnis eine Liste von Servicedatenobjekten umfasst, basierend auf dem Matching-Wert, der durch den Matching-Algorithmus berechnet wurde; ein Lernmodul, das eingerichtet ist, die Schritte auszuführen:
    • – Empfangen des Endergebnisses von dem Matching-Modul;
    • – Anwenden eines Lernverfahrens basierend auf dem Endergebnis; und
    • – Erzeugen eines Lernergebnisses des Lernverfahrens, wobei das Lernergebnis ein ausgewähltes Servicedatenobjekt des Endergebnisses umfasst; und
    ein Lernwerk, das eingerichtet ist, den Matching-Algorithmus des Matching-Moduls basierend auf dem Lernergebnis anzupassen, wobei das Anpassen des Matching-Algorithmus umfasst Anwenden eines Boosting-Algorithmus zum Anpassen der Gewichtungen, die mit den Determinanten in der Antwortdatenbank assoziiert sind, wobei der Boosting-Algorithmus die Schritte umfasst:
    • – Erzeugen einer Boosting-Basis unter Berücksichtigung der gegenwärtigen Gewichtungen, die den Determinanten zugeordnet sind;
    • – Berechnen eines Fehlers für jede Gewichtung; Identifizieren einer Determinante mit dem kleinsten berechneten Fehler; und
    • – Aktualisieren der Gewichtung, die assoziiert ist mit der identifizierten Determinante der Antwortdatenbank basierend auf der gegenwärtigen Gewichtung und dem berechneten Fehler;
    wobei die Clientvorrichtung, der Provider und das Maschinenlernsystem über ein Netzwerk gekoppelt sind.
  • Das Computernetzwerk kann eine Anpassung von Netzwerk-Antworten auf Client-Anforderungen ermöglichen, um dem Client, der die Client-Anforderung sendet, bessere Netzwerk-Antworten zu liefern. Das Computernetzwerk kann zumindest eine Clientvorrichtung, zumindest einen Provider und ein adaptives Maschinenlernsystem umfassen. Die Clientvorrichtung, der Provider und das adaptive Maschinenlernsystem können über ein Netzwerk, zum Beispiel das Internet, gekoppelt sein. Jede Clientvorrichtung kann eine Verarbeitungsvorrichtung sein, die einem jeweiligen Benutzer gehört, zum Beispiel ein Notebook, ein Schreibtischcomputer, ein Mobiltelefon, ein Netbook, ein Tablet-PC und so weiter. Jede Clientvorrichtung kann eine Client-Anforderung an das adaptive Maschinenlernsystem senden. Die Client-Anforderung kann von einem Benutzer, der die Clientvorrichtung bedient, manuell übermittelt werden, oder kann von einer Anwendung, die auf der Clientvorrichtung installiert ist, automatisch übermittelt werden in Antwort auf einen spezifizierten (vorbestimmten oder vorbestimmbaren) Trigger. Alternativ kann die Client-Anforderung auf der Clientvorrichtung durch ein Serviceintegrationsmodul getriggert werden. Jede Client-Anforderung umfasst zumindest eine Benutzer ID und eine Objekt ID. Die Objekt ID kann einem Objekt entsprechen, auf das die Client-Anforderung gerichtet ist. Zusätzlich kann die Client-Anforderung einen Ort und einen Servicetyp umfassen. Das adaptive Maschinenlernsystem überträgt die Client-Anforderung dann an ein Parsermodul.
  • Genauer parst das Parsermodul des adaptiven Maschinenlernsystems eine Anforderungsdatenbank, um weitere relevante Daten zu bestimmen basierend auf der Benutzer ID und der Objekt ID, die mit der Client-Anforderung übertragen wurden. Zum Beispiel kann das Parsermodul die Anforderungsdatenbank nach Determinanten parsen, die von besonderer Bedeutung für die Client-Anforderung sind. Jede Determinante kann ein Attribut eines Datenobjekts sein, das in einer Datenbank gespeichert ist. Das Parsermodul greift auf eine Vielzahl von Datenobjekten zu, die in der Anforderungsdatenbank gespeichert sind, basierend auf den Daten, die mit der Client-Anforderung empfangen wurden, zum Beispiel die Benutzer ID und die Objekt ID. Zu diesem Zweck kann das Parsermodul zum Beispiel Datenbank-Joins ausführen. In einem nächsten Schritt extrahiert das Parsermodul die weiteren relevanten Daten, um extrahierte Daten zu erzeugen. Dann reichert das Parsermodul die Client-Anforderung mit den extrahierten Daten an und erzeugt eine angereicherte Client-Anforderung. Schließlich erzeugt das Parsermodul basierend auf der angereicherten Client-Anforderung ein Anforderungsdatenobjekt zur weiteren Verarbeitung durch ein Matching-Modul. Das erzeugte Anforderungsdatenobjekt wird an das Matching-Modul weitergeleitet.
  • Weiterhin extrahiert das Matching-Modul, nach Empfangen des erzeugten Anforderungsdatenobjekts, jeweilige relevante Determinanten aus dem Anforderungsdatenobjekt und aus weiteren Datenobjekten, die in einer Antwortdatenbank gespeichert sind. Die Anforderungsdatenbank und die Antwortdatenbank können zumindest teilweise dieselbe Datenbank sein, zum Beispiel eine interne Datenbank des adaptiven Maschinenlernsystems. Die Anforderungsdatenbank und die Antwortdatenbank können jedoch unterschiedliche Datenbanken sein, so mag die Anforderungsdatenbank zum Beispiel eine interne Datenbank des adaptiven Maschinenlernsystems sein und die Antwortdatenbank mag eine Datenbank extern des adaptiven Maschinenlernsystems sein. Jede Determinante ist teilweise mit einer Gewichtung assoziiert. Mit anderen Worten ist jeder Determinante eine Gewichtung zugeordnet. Jede Gewichtung mag individuell zugewiesen sein, um eine Präferenz Im Hinblick auf jede Determinante zu repräsentieren. In einem nächsten Schritt extrahiert das Matching-Modul die Gewichtungen, die mit den extrahierten Determinanten assoziiert sind. Basierend auf den extrahierten Gewichtungen wendet das Matching-Modul einen Matching-Algorithmus auf das Anforderungsdatenobjekt mit Datenobjekten, die in der Antwortdatenbank gespeichert sind, an. Insbesondere berechnet der Matching-Algorithmus einen Matching-Wert von potentiellen Servicedatenobjekten basierend auf den extrahierten Gewichtungen. Das Matching-Modul erzeugt ein Endergebnis basierend auf dem berechneten Matching-Wert. Das Endergebnis kann eine Liste von Servicedatenobjekten umfassen, die einen Matching-Wert über einem spezifizierten (vorbestimmten oder vorbestimmbaren) Matching-Schwellenwert haben. Schließlich kann das Endergebnis einem Lernmodul bereitgestellt werden. Das Endergebnis ist zumindest Teilweise Teil der Netzwerk-Antwort auf die Client-Anforderung.
  • Insbesondere wendet das Lernmodul, nach Empfangen des Endergebnisses von dem Matching-Modul, ein Lernverfahren unter Verwendung des Endergebnisses an. Insbesondere erfordert das Lernverfahren eine Benachrichtigung von der Clientvorrichtung und einer Providervorrichtung basierend auf dem Endergebnis. Die Providervorrichtung kann eine Rechnervorrichtung eines Providers sein, entsprechend einem Servicedatenobjekt, das in dem Endergebnis enthalten ist. Die Providervorrichtung kann zum Beispiel ein Notebook, ein Schreibtischcomputer, ein Mobiltelefon, ein Netbook, ein Tablet-PC und so weiter sein. Nach Empfangen einer Benachrichtigung der Clientvorrichtung und der Providervorrichtung erzeugt das Lernmodul ein Lernergebnis. Das Lernergebnis kann ein Servicedatenobjekt umfassen, das in dem Endergebnis enthalten ist, welches durch den Benutzer der Clientvorrichtung ausgewählt wurde. Schließlich überträgt das Lernmodul das Lernergebnis an ein Lernwerk.
  • Das Lernwerk kann den Matching-Algorithmus, der in dem Matching-Modul angewandt wird, basierend auf dem Lernergebnis anpassen. Insbesondere wendet das Lernwerk einen Boosting-Algorithmus an. Der Boosting-Algorithmus ist eingerichtet, die Gewichtungen anzupassen oder zu modifizieren, die mit den extrahierten, relevanten Determinanten in der Antwortdatenbank assoziiert sind. Zu diesem Zweck wird insbesondere eine Boosting-Basis erzeugt unter Berücksichtigung der gegenwärtigen Gewichtungen, die mit den relevanten Determinanten assoziiert sind. In einem nächsten Schritt wird ein Fehler für jede Gewichtung in der Boosting-Basis berechnet. Dann wird eine Determinante mit dem kleinsten berechneten Fehler identifiziert und die Gewichtung, die der identifizierten Determinante zugewiesen ist, wird aktualisiert basierend auf der gegenwärtigen Gewichtung und dem berechneten Fehler.
  • Das Computernetzwerk zum adaptiven Anpassen von Netzwerk-Antworten auf Client-Anforderungen hat den technischen Effekt, verbesserte und akkuratere Netzwerk-Antworten auf Client-Anforderungen zu liefern. Dementsprechend wird die Menge an Netzwerkverkehr, der erforderlich ist, um Clientvorrichtungen mit Netzwerk-Antworten zu versehen, signifikant vermindert, da die Netzwerk-Antworten kontinuierlich angepasst werden auf frühere Netzwerkaktivitäten zwischen Clientvorrichtungen, Antwortvorrichtungen und das adaptive Maschinenlernsystem. Folglich wird die Effizienz von Client-Server basierter Kommunikation signifikant verbessert, da die anfordernden Clients schneller mit geeigneten Server-Antworten bedient werden. Weiter wird die Konvergenz der Netzwerk/Server Antworten beschleunigt.
  • Gemäß einem weiteren Aspekt wird das Aktualisieren der Gewichtung für die Determinante ausgeführt basierend auf den folgenden Formeln:
    Figure DE102015008607A1_0002
    worin
  • Wn
    eine Summe aller Gewichtungen der Determinante, wi, ist (genauer mag Wn eine Summe der Gewichtungen aller vorherigen Werkstattauswahlen wi repräsenterien);
    m
    eine Summe gewichteter Fehler ist, die für jede Determinante berechnet wurde;
    αm
    für eine Determinante mit einer kleinsten Summe gewichteter Fehler, ∊m, berechnet wird, das heißt, den schwachen Lerner m; und
    yi
    ein berechneter Fehler der Determinante mit dem kleinsten berechneten Fehler, das heißt, dem schwachen Lerner m, ist.
  • Zum Beispiel kann wij eine Gewichtung von vorherigen Werkstattauswahlen sein, die in der Determinante Werkstattauswahl von Benutzerdatenobjekten gespeichert ist. wn kann eine Summe aller Gewichtungen der Determinante vorherige Werkstatauswahlen sein. Wie in größerem Detail unten dargelegt kann wn (später) spezifisch auf eine Gesamtheit von 1 normalisiert werden. Folglich kann sichergestellt werden, dass, wenn die Determinanten ausgewählt werden, diese Werkstattauswahlen vorwiegend berücksichtigt werden, die zum jeweiligen Zeitpunkt von Interesse sind. Die anderen Werkstattauswahlen würden dementsprechend geringere Gewichtungen haben. Dementsprechend kann mit der obigen Formel und den entsprechenden Gewichtungen ein effizienter Weg, die Anforderung zu verarbeiten erreicht werden, wobei insbesondere eine geringere Verarbeitungszeit (und damit jeweilige Rechnerressourcen) erforderlich ist.
  • Gemäß einem nochmals weiteren Aspekt umfasst das Berechnen des Matching-Werts:
    Anwenden einer Kongruenzanalyse, umfassend die Schritte:
    • – Berechnen eines Kongruenzgrads zwischen dem Anforderungsdatenobjekt und jedem Servicedatenobjekt, das in der Antwortdatenbank gespeichert ist; und
    • – Erzeugen einer Kongruenzliste, welche alle Servicedatenobjekte umfasst, die einen Kongruenzgrad über einem spezifizierten (vorbestimmten oder vorbestimmbaren) Kongruenzschwellenwert haben; Anwenden einer Benutzerähnlichkeitsanalyse umfassend die Schritte:
    • – Berechnen eines Ähnlichkeitswerts zwischen einem Benutzerdatenobjekt, das der Benutzer ID entspricht, und jedem Benutzerdatenobjekt, das in der Antwortdatenbank gespeichert ist; und
    • – Erzeugen einer Ähnlichkeitsliste, welche alle Servicedatenobjekte umfasst, die mit Benutzerdatenobjekten assoziiert sind, die einen Ähnlichkeitswert über einem spezifizierten (vorbestimmten oder vorbestimmbaren) Ähnlichkeitsschwellenwert haben; und
  • Berechnen des Matching-Werts für jedes Servicedatenobjekt durch Aggregieren des Kongruenzgrads und des Ähnlichkeitswerst des jeweiligen Servicedatenobjekts; und Erzeugen des Endergebnisses, welches eine Liste von allen Servicedatenobjekten umfasst, die einen Matching-Wert über einem spezifizierten (vorbestimmten oder vorbestimmbaren) Matching-Schwellenwert haben.
  • Das Berechnen des Matching-Werts umfasst das Anwenden von zwei Operationen/Algorithmen. Die erste Operation ist eine Kongruenzanalyse. Die Kongruenzanalyse umfasst Berechnen eines Kongruenzgrads zwischen dem Anforderungsdatenobjekt basierend auf dem erzeugten Anforderungsdatenobjekt und jedem Servicedatenobjekt, das in der Antwortdatenbank gespeichert ist. Der Kongruenzgrad kann basierend auf den extrahierten Gewichtungen berechnet werden, die mit zumindest einer der extrahierten Determinanten des erzeugten Anforderungsdatenobjekts assoziiert sind, und extrahierten Gewichtungen, die mit entsprechenden Determinanten jedes Servicedatenobjekts assoziiert sind. In einem nächsten Schritt der Kongruenzanalyse wird eine Kongruenzliste erstellt. Die Kongruenzliste kann eine Liste von Servicedatenobjekten sein, die in der Antwortdatenbank gespeichert sind, die einen Kongruenzgrad über einem spezifizierten (vorbestimmten oder vorbestimmbaren) Kongruenzschwellenwert haben.
  • Die zweite Operation kann ein Anwenden einer Benutzerähnlichkeitsanalyse sein. Anwenden der Benutzerähnlichkeitsanalyse umfasst Berechnen eines Ähnlichkeitswerts zwischen einem Benutzerdatenobjekt, das mit der Benutzer ID assoziiert ist, die mit der Client-Anforderung empfangen wurde, und jedem Benutzerdatenobjekt, das in der Anforderung und/oder der Antwort gespeichert ist. Der Ähnlichkeitswert kann basierend auf den extrahierten Gewichtungen berechnet werden, die mit zumindest einer der extrahierten Determinanten des erzeugten Anforderungsdatenobjekts assoziiert sind, und extrahierten Gewichtungen, die mit entsprechenden Determinanten jedes Benutzerdatenobjekts assoziiert sind. Basierend auf dem Ähnlichkeitswert kann eine Ähnlichkeitsliste erzeugt werden, die Servicedatenobjekte umfasst, welche mit Benutzerdatenobjekten assoziiert sind, die einen Ähnlichkeitswert über einem spezifizierten (vorbestimmten oder vorbestimmbaren) Ähnlichkeitsschwellenwert haben.
  • Schließlich kann der Matching-Wert für jedes Servicedatenobjekt berechnet oder bestimmt werden, das in der Kongruenzliste und/oder der Ähnlichkeitsliste gespeichert ist, durch Aggregieren des Kongruenzgrads und des Ähnlichkeitswerts der jeweiligen Servicedatenobjekte. Das Aggregieren des Kongruenzgrads und des Ähnlichkeitswerts kann ein Zuweisen einer Gewichtung zu dem Kongruenzgrad und dem Ähnlichkeitswert und das Berechnen des Matching-Werts basierend auf den zugewiesenen Gewichtungen umfassen. Schließlich kann ein Endergebnis erzeugt werden. Das Endergebnis kann eine Liste dieser Servicedatenobjekte umfassen, die einen Matching-Wert über einem spezifizierten (vorbestimmten oder vorbestimmbaren) Matching-Schwellenwert haben.
  • Das Anwenden der Kongruenzanalyse und der Benutzerähnlichkeitsanalyse zum Berechnen des Matching-Werts hat den technischen Effekt, ein akkurateres Endergebnis zu liefern. Insbesondere passt das Endergebnis – welches die Liste von potentiellen Servicedatenobjekten umfasst – genauer zu der Client-Anforderung, da es basierend auf den Gewichtungen erzeugt wird, die den jeweiligen Parametern zugewiesen sind, das heißt, dem Kongruenzgrad und dem Ähnlichkeitswert. Darüber hinaus wird die Genauigkeit des Endergebnisses weiter verbessert, indem Parameter von sowohl Servicedatenobjekten als auch Benutzerdatenobjekten, die in der Antwortdatenbank gespeichert sind, berücksichtigt werden.
  • Gemäß einem nochmals weiteren Aspekt umfasst das Computernetzwerk weiter
    Implementieren jedes Datenobjekts, das in der Anforderungsdatenbank und der Antwortdatenbank gespeichert ist, als mehrdimensionales Vektorobjekt, durch Implementieren jeder Determinante eines Datenobjekts als eine Dimension eines Vektors; und
    Berechnen des Kongruenzgrads und des Ähnlichkeitswerts mittels einem Vektorvergleich zwischen jedem jeweiligen Paar von Datenobjekten, durch Berechnen des Kongruenzgrads und des Ähnlichkeitswerts basierend auf einem Winkel zwischen jedem Paar von Determinanten des jeweiligen Datenobjekts.
  • Jedes Datenobjekt, das in der Anforderungsdatenbank und in der Antwortdatenbank gespeichert ist, kann als ein mehrdimensionales Vektorobjekt in einem entsprechenden mehrdimensionalen Vektorraum implementiert werden. Jede Dimension jedes mehrdimensionalen Vektorobjekts kann eine Determinante jedes mehrdimensionalen Vektorobjekts repräsentieren. Weiter kann jede Dimension jedes mehrdimensionalen Vektorobjekts den Gewichtungen der jeweiligen Determinanten zugewiesen oder mit diesen assoziiert sein. Dementsprechend kann jede zugewiesene Gewichtung eine Auswirkung der entsprechenden Dimension auf den Kongruenzgrad beziehungsweise den Ähnlichkeitswert spezifizieren. Umso größer eine zugewiesene Gewichtung ist, umso größer ist die Auswirkung des entsprechenden Vektors (der eine Determinante repräsentiert) auf den Kongruenzgrad beziehungsweise den Ähnlichkeitswert. Basierend auf dem mehrdimensionalen Vektorobjekt in dem mehrdimensionalen Vektorraum können der Kongruenzgrad und der Ähnlichkeitswert mittels einem Vektorvergleich berechnet werden. Durch Anwenden des Vektorvergleichs kann die Vektorähnlichkeit zwischen jedem jeweiligen Paar von mehrdimensionalen Vektorobjekten bestimmt werden. Der Vektorvergleich umfasst ein Bestimmen der Vektorähnlichkeit basierend auf einem Winkel zwischen jedem Paar von Vektoren.
  • Das Anwenden der Kongruenzanalyse und der Benutzerähnlichkeitsanalyse mittels dem Vektorvergleich hat den technischen Effekt eines exzellenten Laufzeitverhaltens zum Berechnen des Kongruenzgrads und des Ähnlichkeitswerts, da der Vektorvergleich von linearer Komplexität ist. Dementsprechend ist, auch wenn die Anforderungsdatenbank und/oder die Antwortdatenbank des Computernetzwerks eine große Anzahl, zum Beispiel Millionen, von Datenobjekten umfassen mögen, die als mehrdimensionale Vektorobjekt implementiert sein mögen der Vektorvergleich sehr schnell, da die Zunahme der Anzahl an Datenobjekten, die in der Anforderungsdatenbank und/oder Antwortdatenbank gespeichert sind, in einer linearen Zunahme der Verarbeitungszeit zum Berechnen des Kongruenzgrads und des Ähnlichkeitswerts mittels einem Vektorvergleich resultiert.
  • Gemäß einem nochmals weiteren Aspekt umfasst das Berechnen des Kongruenzgrads:
    Matching von harten Fakten in dem Anforderungsdatenobjekt mit entsprechenden harten Fakten von jedem Servicedatenobjekt, das in der Antwortdatenbank gespeichert ist,
    wobei die harten Fakten Determinanten von jedem Datenobjekt sind, das der Objekt ID entspricht; und/oder
    wobei Berechnen des Ähnlichkeitswerts umfasst Matching von weichen Fakten in dem Anforderungsdatenobjekt mit entsprechenden weichen Fakten von jedem Benutzerdatenobjekt, das in der Antwortdatenbank gespeichert ist, wobei die weichen Fakten Determinanten von jedem Datenobjekt sind, das der Benutzer ID entspricht, und eines oder mehrere umfassen können von:
    • – einem Alter eines Benutzers;
    • – einem Geschlecht eines Benutzers;
    • – zuvor definierten Präferenzen eines Benutzers;
    • – Benutzerempfehlungen.
  • Das Berechnen des Kongruenzgrads durch Matching von harten Fakten des erzeugten Anforderungsdatenobjekts mit entsprechenden harten Fakten in jedem der Servicedatenobjekte, die in der Antwortdatenbank gespeichert sind, hat den technischen Effekt, einen akkurateren Kongruenzgrad für jedes Servicedatenobjekt zu berechnen, das in der Antwortdatenbank gespeichert ist, basierend auf den harten Fakten, das heißt, den Determinanten, die der Objekt ID, die mit der Client-Anforderung empfangen wurde, entsprechen. Weiter hat das Berechnen des Ähnlichkeitswerts durch Matching von weichen Fakten des erzeugten Anforderungsdatenobjekts mit entsprechenden weichen Fakten von jedem Benutzerdatenobjekt, das in der Antwortdatenbank gespeichert ist, den technischen Effekt, dass ein akkuraterer Ähnlichkeitswert von jedem Servicedatenobjekt berechnet wird, das in der Antwortdatenbank gespeichert ist, das der Benutzer ID entspricht, die mit der Client-Anforderung empfangen wurde. Dementsprechend wird, nach Aggregieren der Servicedatenobjekte, die in der Kongruenzliste und in der Ähnlichkeitsliste gespeichert sind, dem anfordernden Benutzer – das heißt, der Benutzer, der die Client-Anforderung sendet – eine akkuratere Netzwerk-Antwort/ein akkurateres Endergebnis, das die Liste von Servicedatenobjekten umfasst, die der Client-Anforderung akkurater entspricht, geliefert.
  • Gemäß einem nochmals weiteren Aspekt umfasst das Anwenden des Lernverfahrens die Schritte:
    • – Extrahieren des ersten Servicedatenobjekts aus dem Endergebnis;
    • – Parsen des extrahierten Servicedatenobjekts, um relevante Daten zu identifizieren, die mit dem extrahierten Servicedatenobjekt assoziiert sind;
    • – Erzeugen einer Akzeptanzabfrage basierend auf den identifizierten relevanten Daten;
    • – Übertragen der Akzeptanzabfrage an die Clientvorrichtung und eine Providervorrichtung, die dem Servicedatenobjekt entspricht;
    • – Empfangen einer Abfragerückmeldung von der Clientvorrichtung und der Providervorrichtung;
    wenn die Abfragerückmeldung der Clientvorrichtung und der Providervorrichtung eine Akzeptanzbenachrichtigung ist:
    • – Markieren des extrahierten ersten Servicedatenobjekts als ausgewähltes Servicedatenobjekt;
    • – Parsen der Antwortdatenbank nach relevanten Vertragsdaten, die mit dem extrahierten Servicedatenobjekt assoziiert sind;
    • – Erzeugen einer Vertragsinformationsbenachrichtigung, welche die relevanten Vertragsdaten umfasst; und
    • – Übertragen der Vertragsinformationsbenachrichtigung an die Clientvorrichtung und die Providervorrichtung;
    wenn die Abfragerückmeldung der Clientvorrichtung oder der Providervorrichtung eine Ablehnungsbenachrichtigung ist:
    • – Erzeugen einer modifizierten Endergebnisliste durch Entfernen des ersten Servicedatenobjekts von dem Endergebnis; und
    • – Anwenden des Lernverfahrens unter Verwendung der modifizierten Endergebnisliste.
  • Das Anwenden des Lernverfahrens umfasst Extrahieren eines ersten Servicedatenobjekts aus dem Endergebnis. Das erste Servicedatenobjekt ist das Servicedatenobjekt, das in dem Endergebnis den höchsten Matching-Wert hat. Das extrahierte Servicedatenobjekt wird dann nach relevanten Daten geparst, die mit dem extrahierten Servicedatenobjekt assoziiert sind. Die relevanten Daten können zum Beispiel eine Service ID, einen Ort oder Kontaktdaten umfassen, die mit dem extrahierten Servicedatenobjekt assoziiert sind. Basierend auf den extrahierten relevanten Daten kann eine Akzeptanzabfrage erzeugt und an die Clientvorrichtung und eine Providervorrichtung, die dem Servicedatenobjekt entspricht, gesendet werden. Nach Übertragen der Akzeptanzabfrage empfängt das Lernmodul, welches das Lernverfahren anwendet, eine Abfragerückmeldung von der Clientvorrichtung und von der Providervorrichtung. Falls beide empfangenen Abfragerückmeldungen Akzeptanzbenachrichtigungen sind, wird das extrahierte erste Servicedatenobjekt als ausgewähltes Servicedatenobjekt markiert. Weiter wird eine Vertragsinformationsbenachrichtigung erzeugt und an die Clientvorrichtung und tan die Providervorrichtung gesendet. Die Vertragsinformation umfasst relevante Vertragsdaten, die von dem Lernmodul durch Parsen der Antwortdatenbank extrahiert werden. Die relevanten Vertragsdaten können zum Beispiel eine Kontaktinformation und/oder Geschäftszeiten umfassen, die dem extrahierten Servicedatenobjekt entsprechen; einen Namen, eine Adresse und/oder Kontaktinformation des Benutzerdatenobjekts, das der Benutzer ID entspricht, die mit der Client-Anforderung empfangen wurde. Falls die Abfragerückmeldung der Clientvorrichtung und/oder der Providervorrichtung eine Ablehnungsbenachrichtigung ist, erzeugt das Lernmodul ein modifiziertes Endergebnis. Insbesondere erzeugt das Lernmodul das modifizierte Endergebnis durch Entfernen des extrahierten ersten Servicedatenobjekts von dem Endergebnis. Dann beginnt das Lernmodul das Anwenden des Lernverfahrens basierend auf der modifizierten Endergebnisliste.
  • Das Lernverfahren hat den technischen Effekt, dass es zusätzliche Daten/Information liefert, die sich auf die Netzwerk-Abfrage beziehen, welche von dem Lernwerk verwendet werden können. Insbesondere ermöglicht das Lernverfahren, Auswahlen bezüglich des Endergebnisses, das heißt, des ausgewählten Servicedatenobjekts, nachzuverfolgen. Dementsprechend erlaubt es das Lernverfahren, nachzuverfolgen, ob der berechnete Matching-Wert einer tatsächlichen Auswahl entspricht, die mit dem Endergebnis in Beziehung steht. Das Lernverfahren markiert das tatsächlich gewählte Servicedatenobjekt als ausgewähltes Servicedatenobjekt. Das Markieren des ausgewählten Servicedatenobjekts kann ein Setzen eines entsprechenden Flags in dem ausgewählten Servicedatenobjekt umfassen. Das Lernmodul erzeugt ein Lernergebnis, welches das ausgewählte Servicedatenobjekt umfasst, und überträgt das Lernergebnis an ein Lernwerk. Auf Basis des Lernergebnisses wird das Lernwerk in die Lage versetzt, die Daten in dem Endergebnis gespeicherten Daten zu verwenden, um den Matching-Algorithmus anzupassen durch Anpassen, basierend auf dem Lernergebnis, der Gewichtungen, die den relevanten Determinanten zugewiesen sind. Folglich wird die Netzwerkgenauigkeit der Netzwerk-Antworten auf Client-Anforderungen weiter verbessert. Da den Clientvorrichtungen, welche die Client-Anforderungen senden, akkuratere Ergebnisse geliefert werden, wird die Effizienz des Computernetzwerks weiter verbessert.
  • Gemäß einem nochmals weiteren Aspekt umfasst das Lernwerk weiter:
    ein Stimmungswerk, das eingerichtet ist, die Schritte auszuführen:
    • – Empfangen einer Rückmeldung über den Service, der dem ausgewählten Servicedatenobjekt entspricht, von einem Benutzer, der mit der Benutzer ID assoziiert ist;
    • – Identifizieren positiver und negativer Schlüsselwörter in der erhaltenen Rückmeldung des Benutzers durch Parsen der erhaltenen Rückmeldung;
    • – Extrahieren einer Determinante des ausgewählten Servicedatenobjekts, das mit Benutzerempfehlungen assoziiert ist, aus der Antwortdatenbank;
    • – Extrahieren einer Gewichtung, die mit der extrahierten Determinante des ausgewählten Servicedatenobjekts aus der Antwortdatenbank assoziiert ist; und Anpassen der extrahierten Gewichtung des ausgewählten Servicedatenobjekts basierend auf den identifizierten Schlüsselwörtern in der Antwortdatenbank.
  • Nachdem ein Benutzer eine Client-Anforderung gesendet und ein Endergebnis erhalten und akzeptiert hat, wird das akzeptierte Servicedatenobjekt als ausgewähltes Servicedatenobjekt markiert. In einem nächsten Schritt kann der Benutzer angeregt werden, eine Rückmeldung über das ausgewählte Servicedatenobjekt zu geben. Der Benutzer mag eine Rückmeldung als eine Rückmeldung Ja/Nein oder als freien Text geben. Wenn der Benutzer eine Freitextrückmeldung gibt, parst das Stimmungswerk den Freitext und identifiziert relevante relevant positive oder negative Schlüsselwörter in der erhaltenen Rückmeldung, zum Beispiel basierend auf einer entsprechenden Bibliothek. In einem nächsten Schritt kann das Stimmungswerk eine Determinante des ausgewählten Servicedatenobjekts aus der Antwortdatenbank extrahieren, die mit relevanten Schlüsselwörtern assoziiert ist, die aus der Freitextrückmeldung extrahiert wurden. Weiter extrahiert das Stimmungswerk eine Gewichtung, die der extrahierten Determinante zugewiesen ist, und passt die Gewichtung basierend auf den identifizierten Schlüsselwörtern an. Die angepassten Gewichtungen können in der Antwortdatenbank gespeichert werden, zum Beispiel unter Verwendung eines Lerncontainers, der mit dem Benutzer assoziiert ist.
  • Das Verwenden des Stimmungswerks, um weiter die Gewichtungen anzupassen, die Determinanten in der Antwortdatenbank zugewiesen sind, hat den technischen Effekt, die Genauigkeit der Netzwerk-Antworten auf Client-Anforderungen weiter zu verbessern, da das adaptive Maschinenlernsystem des Netzwerks kontinuierlich Benutzerempfehlungen beim Berechnen des Matching-Werts und Erzeugen der Netzwerk-Antwort basierend auf dem Matching-Wert berücksichtigt. Weiter kann eine kollaborative Verbesserung von Netzwerk-Antworten auf Client-Anforderungen erreicht werden, wenn die Benutzerempfehlungen berücksichtigt werden.
  • Der in dieser Beschreibung beschriebene Gegenstand kann als ein Verfahren oder als ein System implementiert werden, oder unter Verwendung von Computerprogrammprodukten, die greifbar in Informationsträgern verkörpert sind, wie eine CD-ROM, eine DVD-ROM, ein Halbleiterspeicher, ein Signal- und/oder Datenstrom, und eine Festplatte. Solche Computerprogrammprodukte können eine Datenverarbeitungsvorrichtung dazu veranlassen, eine oder mehrere Operationen, die in dieser Beschreibung beschrieben sind, auszuführen. Darüber hinaus kann der in dieser Beschreibung beschriebene Gegenstand auch als ein System implementiert werden, das einen Prozessor und einen mit dem Prozessor gekoppelten Speicher beinhaltet. Der Speicher kann ein oder mehrere Programme kodieren, die den Prozessor dazu veranlassen, einen oder mehrere der Verfahrensschritte auszuführen, die in dieser Beschreibung beschrieben sind.
  • Details von einer oder von mehreren Implementierungen sind in den beigefügten Zeichnungen und der nachstehenden Beschreibung dargelegt. Weitere Merkmale werden aus der Beschreibung, den Zeichnungen und aus den Ansprüchen ersichtlich sein.
  • Kurze Beschreibung der Zeichnungen
  • 1 zeigt eine beispielhafte schematische Darstellung eines adaptiven Maschinenlernsystems.
  • 2A zeigt eine beispielhafte Client-Anforderung und beispielhafte Datenobjekte, die in der Anforderungsdatenbank und/oder der Antwortdatenbank gespeichert sein können.
  • 2B zeigt ein beispielhaftes Anforderungsdatenobjekt, das aus einer angereicherten Client-Anforderung erzeugt wurde.
  • 3 zeigt eine beispielhafte Rahmenwerkarchitektur eines Netzwerks zum adaptiven Anpassen von Netzwerk-Antworten auf Client-Anforderungen, um verbesserte Netzwerk-Antworten bereitzustellen.
  • 4 zeigt den Matching-Algorithmus, der durch das Matching-Modul ausgeführt wird, in größerem Detail.
  • 5 zeigt ein beispielhaftes Datenobjekt, das als ein mehrdimensionales Vektorobjekt implementiert ist.
  • 6 zeigt eine beispielhafte Anwendung des Boosting-Algorithmus, der von dem Lernwerk ausgeführt wird, um den Matching-Algorithmus des Matching-Moduls basierend auf dem Lernergebnis anzupassen.
  • 7 zeigt eine beispielhafte Ausführung des Stimmungswerks des Lernwerks.
  • 8 zeigt das Lernverfahren, das durch das Lernmodul ausgeführt wird.
  • 9 zeigt eine beispielhafte Architektur des Computernetzwerks zum adaptiven Anpassen von Netzwerk-Antworten auf Client-Anforderungen.
  • 10 zeigt eine weitere beispielhafte Architektur des Computernetzwerks zum adaptiven Anpassen von Netzwerk-Antworten auf Client-Anforderungen.
  • 11 zeigt eine beispielhafte Kommunikation zwischen einer Clientvorrichtung, einem Ereignisverwaltungsdienstprovider und dem adaptiven Maschinenlernsystem.
  • 12A zeigt eine beispielhafte Client-Anforderung, ein beispielhaftes Benutzerdatenobjekt, ein beispielhaftes Autodatenobjekt und ein beispielhaftes Eigentümerdatenobjekt.
  • 12B zeigt ein beispielhaftes potentielles Reparaturdatenobjekt.
  • 12C zeigt fünf beispielhafte Werkstattdatenobjekte.
  • 12D zeigt eine beispielhafte Auswahl von drei Werkstattdatenobjekten.
  • 12E zeigt eine beispielhafte Kongruenzliste.
  • 12F zeigt drei beispielhafte Benutzerdatenobjekte.
  • 12G zeigt zwei beispielhafte Benutzerdatenobjekte und zwei beispielhafte jeweilige Werkstattauswahlen.
  • 12H zeigt eine beispielhafte Kongruenzliste.
  • 12I zeigt eine beispielhafte Endergebnisliste.
  • 12J zeigt beispielhafte Werkstattauswahlen eines Benutzers Peter Pete.
  • 13A zeigt eine beispielhafte Zuordnung von Werkstattauswahlen.
  • 13B zeigt eine beispielhafte Tabelle schwacher Lerner.
  • 13C zeigt eine beispielhafte Benutzerrückmeldung.
  • 13D zeigt eine beispielhafte textbasierte Benutzerrückmeldung.
  • 14 zeigt ein beispielhaftes System zum Implementieren der Erfindung.
  • Detaillierte Beschreibung
  • Im Nachfolgenden wird eine detaillierte Beschreibung von Beispielen mit Bezug auf die Zeichnungen gegeben. Es sei verstanden, dass verschiedene Abwandlungen an den Beispielen vorgenommen werden können. Insbesondere können einzelne Elemente eines Beispiels mit einzelnen Elementen anderer Beispiele kombiniert und verwendet werden, um weitere Beispiele zu bilden.
  • Um verbesserte Netzwerk-Antworten auf Client-Anforderungen zu geben wird ein Computernetzwerk zum adaptiven Anpassen von Netzwerk-Antworten auf Client-Anforderungen bereitgestellt. Indem das Computernetzwerk zum adaptiven Anpassen von Netzwerk-Antworten auf Client-Anforderungen bereitgestellt wird, passt ein adaptives Maschinenlernsystem kontinuierlich Netzwerk-Antworten unter Verwendung eines Lernwerks an und stellt folglich genauere bzw. akkuratere Netzwerk-Antworten auf Client-Anforderungen bereit.
  • 1 bezieht sich auf eine beispielhafte schematische Darstellung eines adaptiven Maschinenlernsystems 100. Genauer empfängt das adaptive Maschinenlernsystem 100 eine Client-Anforderung 110, die hierin auch als ein Ereignis und/oder eine Anforderung bezeichnet sein mag, von einer Clientvorrichtung 310 (hierin auch als Client bezeichnet). Die Clientvorrichtung 310 kann insbesondere eine Verarbeitungsvorrichtung sein, die einem Benutzer gehört, zum Beispiel ein Notebook, ein Schreibtischcomputer, ein Mobiltelefon, ein Netbook, ein Tablet-PC und so weiter. Alternativ kann die Clientvorrichtung ein Server eines Dritten sein, der einen Dienst hostet. Im letzteren Fall ist der Benutzer, dem insbesondere die Clientvorrichtung gehört oder der diese benutzt, tatsächlich der Benutzer, der eine Client-Anforderung 110, 210 an den Server übermittelt. Die Client-Anforderung 110 kann manuell von einem Benutzer, der eine entsprechende Clientvorrichtung bedient, übermittelt werden, oder kann von einer Anwendung, die auf der Clientvorrichtung residiert, basierend auf einem spezifizierten (vorbestimmten oder vorbestimmbaren) Trigger automatisch übermittelt werden. Der spezifizierte (vorbestimmte oder vorbestimmbare) Trigger kann eine (semi-)automatische Prognose eines benötigten Serviceereignisses durch ein Serviceintegrationsmodul 1010 sein, das sich in der Clientvorrichtung 310 befinden kann, oder das extern der Clientvorrichtung 310 sein kann. Das Serviceintegrationsmodul 1010 wird nachfolgend in größerem Detail mit Bezug auf 10 erläutert werden. Ein weiteres Beispiel für den spezifizierten (vorbestimmten oder vorbestimmbaren) Trigger kann ein entferntes Service/Ereignis Prognosemodul sein, das sich auf einem zentralisierten Server befindet. ein nochmals anderes Beispiel für den spezifizierten (vorbestimmten oder vorbestimmbaren) Trigger kann das Empfangen von spezifizierter Sensorinformation von Sensoren sein, die in der Benutzervorrichtung gespeichert sein kann, welche die Client-Anforderung 110 sendet, zum Beispiel Daten von einem Beschleunigungssensor, die anzeigen, dass die Beschleunigung einen spezifizierten Schwellenwert überschritten hat. Ein anderes Beispiel können Daten von Sensoren sein, die in einem Objekt, das der Objekt ID entspricht, gespeichert sein können. Wenn das Objekt zum Beispiel ein Auto ist, können derartige Sensoren Daten senden, die mit Defekttriggern assoziiert sind, welche einen Defekt anzeigen, der in dem Auto erkannt wurde. In einem anderen Beispiel können die Daten Diagnosedaten sein, die von den Sensoren gesammelt werden. Dementsprechend kann die (semi-)automatische Prognose eines erforderlichen Service-ereignisses durch die von den Sensoren empfangenen Daten getriggert werden.
  • Jede Client-Anforderung umfasst zumindest eine Benutzer ID und eine Objekt ID. Jede Client-Anforderung 110 kann weiter einen Servicetyp, einen Ort, und alle weiteren Daten umfassen, die für die Verarbeitung der Client-Anforderung notwendig sind. Die Client-Anforderung 110 wird nachstehend in größerem Detail mit Bezug auf 2A erläutert werden.
  • Das adaptive Maschinenlernsystem 100 überträgt die Client-Anforderung 110 an ein Parsermodul 115. Das Parsermodul 115 parst die Client-Anforderung 110 und extrahiert Daten, die in der Client-Anforderung 110 übertragen werden. Mit anderen Worten extrahiert das Parsermodul 115 die Benutzer ID und die Objekt ID. Das Parsermodul 115 kann weiter den Servicetyp, den Ort, und/oder alle weiteren relevanten Daten extrahieren, falls diese mit der Client-Anforderung 110 übermittelt werden. In einem nächsten Schritt parst das Parsermodul 115 eine Anforderungsdatenbank 155 und/oder eine Antwortdatenbank 165, um weitere relevante Daten zu extrahieren, basierend auf den Daten, die aus der Client-Anforderung 110 extrahiert wurden, das heißt, basierend zumindest auf der Benutzer ID und der Objekt ID und optional basierend auf dem Servicetyp, dem Ort, und/oder allen weiteren relevanten Daten, falls diese mit der Client-Anforderung 110 übermittelt wurden. Zum Beispiel kann das Parsermodul 115 die Anforderungsdatenbank 155 nach Determinanten parsen, die von besonderer Bedeutung mit Bezug auf die Client-Anforderung 110 sind. Jede Determinante ist ein Attribut eines Datenobjekts, das in der Anforderungsdatenbank 155 und/oder der Antwortdatenbank 165 gespeichert ist.
  • Das Parsermodul 155 greift auf eine Vielzahl von Datenobjekten zu, die in der Anforderungsdatenbank 155 gespeichert sind, und extrahiert Determinanten/Daten, die mit der Objekt ID, der Benutzer ID und optional dem Servicetyp und dem Ort assoziiert sind. Zum Beispiel kann ein Benutzerdatenobjekt 220, das mit der Benutzer ID assoziiert ist, identifiziert werden. In einem nächsten Schritt können relevante Determinanten aus dem identifizierten Benutzerdatenobjekt 220 extrahiert werden. Determinanten des Benutzerdatenobjekts 220 können ein Name, eine Adresse, ein Alter, ein Beruf, ein Geschlecht und/oder benutzerdefinierte Präferenzen sein, die in dem Benutzerdatenobjekt 220 gespeichert sind. Ein beispielhaftes Benutzerdatenobjekt 220 wird nachfolgend in größerem Detail mit Bezug auf 2A erläutert werden. Darüber hinaus kann weitere Information aus der Anforderungsdatenbank 155 und/oder der Antwortdatenbank 165 extrahiert werden. Basierend auf dem Servicetyp, der optional mit der Client-Anforderung 110 empfangen wird, kann zum Beispiel auf eine Vielzahl von Servicedatenobjekten 240 aus der Anforderungsdatenbank 155 bzw. der Antwortdatenbank 165 zugegriffen werden, die eine Determinante aufweisen, die dem Servicetyp entspricht. Weitere relevante Daten können durch das Parsermodul 115 aus den jeweiligen Servicedatenobjekten 240 extrahiert werden.
  • In einem nächsten Schritt kann das Parsermodul 115 die Client-Anforderung 110 mit den extrahierten Daten anreichern, um eine angereicherte Client-Anforderung 125 zu erzeugen. Die angereicherte Client-Anforderung 125 kann alle extrahierten Daten umfassen, die Determinanten entsprechen, die relevant sind im Hinblick auf die Daten, die mit der Client-Anforderung 110, 120 übermittelt wurden, das heißt, die relevant sind, um eine Netzwerk-Antwort auf die Client-Anforderung 110, 120 zu erzeugen. Schließlich erzeugt das Parsermodul 115, basierend auf der angereicherten Client-Anforderung 125, ein Anforderungsdatenobjekt 230 zur weiteren Verarbeitung durch ein Matching-Modul 105. Ein beispielhaftes Anforderungsdatenobjekt 230 wird nachfolgend in größerem Detail mit Bezug auf 2B erläutert werden. Das Parsermodul leitet das erzeugte Anforderungsdatenobjekt 230 an das Matching-Modul 105 zur weiteren Verarbeitung weiter.
  • Die Anreicherung der Client-Anforderung 110, 210 hat den technischen Effekt, jeden Benutzer, der eine Clientvorrichtung 310 bedient, in die Lage zu versetzen, eine Client-Anforderung 110, 210 übermitteln zu können, unabhängig von der Netzwerkabdeckung. Insbesondere muss eine geringe Menge von Daten, das heißt, eine Benutzer ID, eine Objekt ID und optional ein Servicetyp, ein Ort und/oder irgendwelche weiteren relevanten Parameter, mit der Client-Anforderung 110, 210 gesendet werden. Dementsprechend wird die Verfügbarkeit der Netzwerk-Antworten, die unter Verwendung des adaptiven Maschinenlernsystems 100 erzeugt werden, signifikant verbessert. Darüber hinaus wird die Interaktion Mensch-Maschine zwischen Benutzern, die eine Clientvorrichtung 310 bedienen, und dem adaptiven Maschinenlernsystem 100 signifikant verbessert.
  • Das Matching-Modul 105 extrahiert jeweilige Determinanten aus dem erzeugten Anforderungsdatenobjekt 230. Jede Determinante ist mit einer Gewichtung assoziiert. Mit anderen Worten wird jeder Determinante eine Gewichtung zugewiesen. In einem nächsten Schritt extrahiert das Matching-Modul 105 die Gewichtungen, die mit den extrahierten Determinanten assoziiert sind. Das Matching-Modul 105 extrahiert weiter die Gewichtungen, die mit jeweiligen Determinanten relevanter Datenobjekte 240 assoziiert sind, die in der Antwortdatenbank 165 gespeichert sind. Basierend auf den extrahierten Gewichtungen wendet das Matching-Modul 105 einen Matching-Algorithmus zwischen dem erzeugten Anforderungsdatenobjekt und jedem jeweiligen Datenobjekt an, das in der Antwortdatenbank 165 gespeichert ist. Insbesondere berechnet der Matching-Algorithmus einen Matching-Wert von potentiellen Servicedatenobjekten 240 basierend auf den extrahierten Gewichtungen. Basierend auf dem Matching-Wert erzeugt das Matching-Modul 105 ein Endergebnis 140. Das Endergebnis 140 umfasst eine Liste von Servicedatenobjekten 240, die einen Matching-Wert über einem spezifizierten (vorbestimmten oder vorbestimmbaren) Matching-Schwellenwert haben. Die Servicedatenobjekte 240 in dem Endergebnis 140 können in einer absteigenden Ordnung des Matching-Werts gespeichert werden.
  • Das Anwenden des Matching-Algorithmus kann ein Ausführen von zwei Operationen/Algorithmen umfassen. Die erste Operation kann einen Kongruenzanalyse 120 sein, und die zweite Operation kann eine Benutzerähnlichkeitsanalyse 130 sein. Der Matching-Algorithmus wird nachfolgend in größerem Detail mit Bezug auf 4 erläutert werden. Das Endergebnis 140 ist die Netzwerk-Antwort auf die Client-Anforderung 110, 210, und wird, wenn das Lernverfahren angewandt wird, von dem Lernmodul 150 an eine Clientvorrichtung 310 bereitgestellt werden, welche die Client-Anforderung 110, 210 sendet. Das Lernverfahren wird nachfolgend in größerem Detail mit Bezug auf 8 erläutert werden. Schließlich leitet das Matching-Modul 105 das Endergebnis 140 an ein Lernmodul 150 weiter.
  • Insbesondere kann das Lernverfahren eine Benachrichtigung von der Clientvorrichtung und von einer Providervorrichtung basierend auf dem Endergebnis 140 erfordern. Die Providervorrichtung kann eine Rechnervorrichtung eines Providers sein, der einem Servicedatenobjekt 240 in dem Endergebnis 140 entspricht. Die Providervorrichtung kann zum Beispiel ein Notebook, ein Schreibtischcomputer, ein Mobiltelefon, ein Netbook, ein Tablet-PC und so weiter sein. Nachdem von der Clientvorrichtung und der Providervorrichtung eine Benachrichtigung empfangen wurde, erzeugt das Lernmodul 150 ein Lernergebnis. Das Lernergebnis kann ein ausgewähltes Servicedatenobjekt 240 des Endergebnisses 140 umfassen, welches durch den Benutzer ausgewählt wurde, der die Clientvorrichtung bedient. Das Lernverfahren wird nachfolgend in größerem Detail mit Bezug auf 8 erläutert werden. Schließlich kann das Lernmodul 150 das Lernergebnis an ein Lernwerk 195 senden.
  • Das Lernwerk 195 kann den Matching-Algorithmus, der in dem Matching-Modul 105 angewandt wird, basierend auf dem Lernergebnis anpassen. Insbesondere wendet das Lernwerk 195 einen Boosting-Algorithmus 160 an. Der Boosting-Algorithmus 160 ist eingerichtet, die Gewichtungen anzupassen, die mit den extrahierten, relevanten Determinanten assoziiert sind. Zu diesem Zweck wird eine Boosting-Basis gebildet unter Berücksichtigung der gegenwärtigen Gewichtungen, die mit den relevanten Determinanten assoziiert sind. In einem nächsten Schritt wird für jede Gewichtung in der Boosting-Basis ein Fehler berechnet. Dann wird eine Determinante mit dem kleinsten berechneten Fehler identifiziert und jede Gewichtung, die jeder identifizierten Determinante zugewiesen ist, wird aktualisiert basierend auf der gegenwärtigen Gewichtung und dem berechneten Fehler. Der Boosting-Algorithmus 160 wird nachfolgend in größerem Detail mit Bezug auf 6 erläutert werden.
  • Das adaptive Anpassen von Netzwerk-Antworten auf Client-Anforderungen hat den technischen Effekt, verbesserte, akkuratere Netzwerk-Antworten auf Client-Anforderungen 110, 210 zu liefern. Dementsprechend kann die Menge an Netzwerkverkehr, die erforderlich ist, um den Clientvorrichtungen Netzwerk-Antworten zu liefern, signifikant vermindert werden, da die Netzwerk-Antworten kontinuierlich an vorherige Netzwerkaktivitäten zwischen Clientvorrichtungen, Antwortvorrichtungen und dem adaptiven Maschinenlernsystem angepasst werden. Weiter ist die Interaktion Mensch-Maschine signifikant verbessert, da die Wahrscheinlichkeit, dass jeder Benutzer, der eine Clientvorrichtung bedient, eine passende Netzwerk-Antwort auf der Clientvorrichtung empfängt, kontinuierlich verbessert werden.
  • 2A zeigt eine beispielhafte Client-Anforderung 110, 210. Wie oben dargelegt, umfasst die Client-Anforderung 110, 210 zumindest eine Benutzer ID und eine Objekt ID, und kann weiter einen Servicetyp, einen Ort und/oder alle beliebigen weiteren Daten umfassen, die notwendig sind, um einen Netzwerk-Antwort auf die Client-Anforderung 110, 210 zu erzeugen. Die Benutzer ID kann der Client-Anforderung 110, 210 durch die Clientvorrichtung automatisch hinzugefügt werden. Alternativ und/oder zusätzlich kann die Benutzer ID von einem Benutzer, dem die Clientvorrichtung, welche die Client-Anforderung 110, 120 sendet, gehört oder der diese bedient, manuell eingegeben werden. Die Objekt ID kann ein Identifikator für das Objekt sein, das einem Objektdatenobjekt 250 entspricht, das in der Anforderungsdatenbank 155 und/oder in der Antwortdatenbank 165 gespeichert ist. Die Objekt ID kann von dem Benutzer, der die jeweilige Clientvorrichtung 310 bedient, manuell eingefügt werden, oder kann zum Beispiel mit einem Bildmodul der Clientvorrichtung 310 gelesen werden, indem zum Beispiel ein Quick Response(QR)-Code verarbeitet wird. Der Benutzer, der die Clientvorrichtung 310 bedient, kann eine Netzwerk-Antwort im Hinblick auf das Objekt, das der Objekt ID entspricht, anfordern. Der Servicetyp kann zum Beispiel ein Typ von Service sein, an dem der Benutzer, der die Benutzeranfrage 110, 210 sendet, interessiert ist. Gemäß einem nichtbeschränkenden Beispiel kann, falls die Objekt ID ein Identifikator eines Autos ist, das in einem Unfall involviert war, der Servicetyp eine Art von Reperaturservice repräsentieren, der benötigt wird, um das Objekt, das der Objekt ID entspricht, das heißt, das Auto, zu reparieren. Der Ort kann ein Ort sein, an dem der Benutzer, der die Anfrage 110, 210 sendet, interessiert ist. Alternativ kann der Ort ein gegenwärtiger Ort des Benutzers sein. Der Benutzer, der die Clientvorrichtung bedient, kann den Ort manuell einfügen. Alternativ kann der Ort der Client-Anforderung 110, 120 automatisch hinzugefügt werden, zum Beispiel durch ein Global Positioning System (GPS) Modul der Clientvorrichtung 310. In diesem Fall kann der Ort durch die Clientvorrichtung, welche die Client-Anforderung 110, 120 sendet, mittels dem GPS Modul automatisch bestimmt werden. Das GPS Modul kann eine aktuelle Position der Clientvorrichtung 310 erfassen. Wie oben dargelegt kann die Anforderung jedes weitere Datum enthalten, das notwendig sein mag, um eine geeignete Netzwerk-Antwort auf die Benutzeranforderung 110, 120 durch das adaptive Maschinenlernsystem 100 zu erzeugen.
  • 2A zeigt weiter ein nicht beschränkendes beispielhaftes Benutzerdatenobjekt 220, ein beispielhaftes Servicedatenobjekt 240, ein beispielhaftes Objektdatenobjekt 250, ein beispielhaftes Eigentümerdatenobjekt 260 und ein beispielhaftes Akzeptanzdatenobjekt 270.
  • In diesem spezifischen Beispiel weist das Benutzerdatenobjekt 220 die Determinanten Benutzer ID, Name, Adresse, Alter, Geschlecht, Kontakte, Präferenzen, Beruf, ObjektID und ServiceID auf. Die Determinante Präferenzen kann ein Präferenzcontainer sein, der eine Vielzahl von benutzerdefinierten Präferenzen umfasst, welche im Nachfolgenden in größerem Detail erläutert werden. Das beispielhafte Servicedatenobjekt 240 weist die Determinanten ServiceID, KontaktInfo, Ort, ServiceTyp, Preisgestaltung, Geschäftszeiten, Bewertung und MarkenTyp auf. Das beispielhafte Objektdatenobjekt 250 weist die Determinanten ObjektID, EigentümerID, ObjektTyp, Marke, HerstellungsDatum, Merkmale, EinkaufsWert und NutzWert auf. Das beispielhafte Eigentümerdatenobjekt 260 weist die Determinanten EigentümerID, Verträge, Konfiguration und ObjektID auf. Das beispielhafte Akzeptanzdatenobjekt 270 weist die Determinanten AkzeptanzID, AnforderungsID, BenutzerID, Zeitstempel und EigentümerID auf. Es sei jedoch bemerkt, dass die beispielhaften Datenobjekte mit den beispielhaften Determinanten nicht auf dieses spezifische Beispiel beschränkt sind, und diese allein zum Zweck der Veranschaulichung dienen.
  • 2B zeigt ein beispielhaftes Anforderungsdatenobjekt 230, das durch das Parsermodul 115 aus der angereicherten Client-Anforderung 125 erzeugt wurde. Insbesondere kann das erzeugte Anforderungsdatenobjekt 230 eine Anforderungs-ID umfassen. Die Anforderungs-ID kann ein eindeutiger Identifikator des erzeugten Anforderungsdatenobjekts 230 sein, welcher automatisch durch das Parsermodul 115 zugewiesen wird. Weiter kann das Anforderungsdatenobjekt Determinanten umfassen, die relevant sind, um eine Netzwerk-Antwort auf die Client-Anforderung 110 bereitzustellen. In diesem spezifischen Beispiel enthält das Anforderungsdatenobjekt 230 zwei Determinanten, die aus dem jeweiligen Objektdatenobjekt 250 extrahiert wurden, das der Objekt ID entspricht, die mit der Client-Anforderung 110, 210 empfangen wurde. Die zwei Determinanten sind der ObjektTyp und das HerstellungsDatum des Objektdatenobjekts 250. Das beispielhafte Anforderungsdatenobjekt 230 enthält weiter die Determinanten ServiceTyp und den Ort, die dem Servicetyp und dem Ort entsprechen, die mit der Client-Anforderung 110, 210 empfangen wurden. Weiter umfasst das Anforderungsdatenobjekt 230 die Determinanten Konfiguration und Verträge, die aus dem Eigentümerdatenobjekt 260 extrahiert wurden, das dem Objektdatenobjekt 250 entspricht. Weiter umfasst das Anforderungsdatenobjekt 230 die Determinanten Adresse, Geschlecht, Kontakte und Beruf, die aus dem Benutzerdatenobjekt 220 extrahiert wurden, das der Benutzer ID entspricht, die mit der Client-Anforderung 110, 210 empfangen wurde.
  • 3 zeigt eine beispielhafte Rahmenwerkarchitektur eines Netzwerks 300 zum adaptiven Anpassen von Netzwerk-Antworten auf Client-Anforderungen 110, 210, um verbesserte Netzwerk-Antworten bereitzustellen. Insbesondere kann das Netzwerk 300 zum adaptiven Anpassen von Netzwerk-Antworten auf Client-Anforderungen 110, 210 zumindest eine Clientvorrichtung 310 zum Erzeugen und Übertragen von Client-Anforderungen 110, 120 an das adaptive Maschinenlernsystem 100 über ein Netzwerk 340 umfassen. Das Netzwerk 340 kann das Internet, ein oder mehrere Intranetze, oder das Internet verbunden mit dem einen oder den mehreren Intranetzen sein. Weiter kann das Netzwerk 300 zum adaptiven Anpassen von Netzwerk-Antworten auf Client-Anforderungen 110, 210 zumindest eine Providervorrichtung 330 zum Reagieren auf eine Client-Anforderung 110, 210 über das adaptive Maschinenlernsystem umfassen. Insbesondere kann die Providervorrichtung eine Providervorrichtung 330 sein, die einem ausgewählten Servicedatenobjekt 240 entspricht. Das ausgewählte Servicedatenobjekt wird nachfolgend in größerem Detail mit Bezug auf 8 erläutert. Die Providervorrichtung 330 kann von dem Lernmodul 150 eine Akzeptanzabfrage empfangen, wenn das Lernverfahren in Antwort auf die Client-Anforderung 110, 210 angewandt wird. Die Providervorrichtung 330 kann eine Abfragerückmeldung erzeugen und die Abfragerückmeldung an das Lernmodul 150 senden. Das Lernverfahren, das von dem Lernmodul 150 angewandt wird, wird nachfolgend in größerem Detail mit Bezug auf 8 beschrieben. Weiter umfasst das Netzwerk 300 zum adaptiven Anpassen von Netzwerk-Antworten auf Client-Anforderungen 110, 210 das adaptive Maschinenlernsystem 100, wie in größerem Detail mit Bezug auf 1 und 4 bis 12 erläutert.
  • 4 zeigt den Matching-Algorithmus, der durch das Matching-Modul 150 ausgeführt wird, in größerem Detail. Insbesondere besteht der Matching-Algorithmus aus zwei unterschiedlichen Operationen/Algorithmen. Die erste Operation ist eine Kongruenzanalyse 120. Die Kongruenzanalyse 120 kann auf harten Fakten basieren. Jedes harte Faktum ist eine Determinante, die sich auf das Objektdatenobjekt 250 bezieht, das der Objekt ID entspricht, die mit der Client-Anforderung 110, 210 übermittelt wurde, und ist in dem erzeugten Anforderungsdatenobjekt 230 gespeichert. Mit Bezug auf die Datenobjekte des oben mit Bezug auf die 2A und 2B erläuterten spezifischen Beispiels können die harten Fakten zum Beispiel der ObjektTyp, das HerstellungsDatum, die Konfiguration und Verträge entsprechend der EigentümerID, dem ServiceTyp und dem Ort sein.
  • Basierend auf den harten Fakten wird ein Kongruenzgrad zwischen dem erzeugten Anforderungsdatenobjekt 230 und jedem Servicedatenobjekt 240 berechnet, das in der Antwortdatenbank 165 gespeichert ist. In einem nächsten Schritt wird eine Kongruenzliste erstellt. Insbesondere umfasst die Kongruenzliste jedes Servicedatenobjekt 240, das einen Kongruenzgrad über einem spezifizierten (vorbestimmten oder vorbestimmbaren) Kongruenzschwellenwert hat.
  • Berechnung der Kongruenzanalyse 120
  • Das Berechnen des Kongruenzgrads kann ausgeführt werden unter Verwendung der folgenden Formeln:
    Die Kongruenzanalyse 120, s, kann jeden Kongruenzgrad Si; Si = α(sm(Wi, A, C, I)) berechnen für das erzeugte Anforderungsdatenobjekt 230 und jedes Servicedatenobjekt 240, das in der Antwortdatenbank gespeichert ist, i = 1, ..., J basierend auf jedem harten Faktum m, das eine relevante Determinante ist. sm ist eine Funktion, wohingegen m eine einer Menge von unterschiedlichen Variationen der harten Fakten repräsentiert. Jede der Determinanten Wi, A, C, I kann separate Container repräsentieren, wobei jeder Container selbst eine Aggregation weiterer Determinanten ist, wie nachfolgend in größerem Detail beschrieben werden wird. Mit anderen Worten kann jeder Container eine Menge von Determinanten umfassen, das heißt, Container, welche insbesondere thematisch kombiniert sein können. Mit Bezug auf die beispielhaften Datenobjekte, wie mit Bezug auf 2A und 2B erläutert, kann Wi ein ServiceTyp eines Servicedatenobjekts 240, i sein, A kann ein Servicetyp wie mit der Client-Anforderung 110, 210 empfangen sein, C kann ein Container von Objektdatenobjekten 250 sein, umfassend ein Objektdatenobjekt 250, das der Objekt ID entspricht, wie mit der Client-Anforderung 110, 210 empfangen. Mit anderen Worten steht der Container C mit der eindeutigen Identifikator ID (zum Beispiel 1, 2, 3, und so weiter) in Beziehung oder entspricht dieser, welche wiederum der fraglichen Anforderung in Beziehung steht oder entspricht (sich zum Beispiel auf ein Fahrzeug bezieht), so dass der Container C als Information über die Anfrage enthalten betrachtet werden kann (zum Beispiel in dem Beispiel, dass sich die Anforderung auf ein Fahrzeug bezieht, kann der Container Information über das Alter, die Laufleistung, den Autotyp des Fahrzeugs enthalten). I kann Interaktionen zwischen den harten Fakten, das heißt, den relevanten Determinanten, in einer Gruppe harter Fakten repräsentieren. Jede Gruppe harter Fakten ist eine Gruppe von einem harten Faktum in jedem der relevanten Datenobjekte und wird in größerem Detail nachstehend erläutert werden. Mit anderen Worten ist I ein Container, der Definitionen der Determinanten umfasst. Folglich ist I der Container, wo die Interaktionen zwischen den unterschiedlichen Determinanten kombiniert werden. Die Funktion sm kann eine von einer Gruppe von Kongruenzanalyse 120 Funktionen repräsentieren, welche zum Beispiel eine lineare additive Kongruenzanalysefunktion sein kann. Alternativ kann sm eine multiplikative Funktion oder jede andere Funktion sein, die als notwendig und/oder geeignet betrachtet wird. Die Funktion sm ist eine mathematische Funktion, die einen numerischen Wert zuordnet zu jeder Determinante ServiceTyp, Wi, entsprechend einem Servicedatenobjekt 240 i, in Anbetracht des Servicetyps wie mit der Client-Anforderung 110, 210, A empfangen, und dem ObjektTyp eines Objektdatenobjekts 250, das der Objekt ID entspricht wie mit der Client-Anforderung 110, 210, C empfangen. Die Basis der Funktion sm kann eine Nutzenfunktion sein. Die Nutzenfunktion kann Gewichtungen einführen, die Determinanten zugewiesen sind, um einen Wert zu berechnen basierend auf den eingeführten Gewichtungen. Zum Beispiel kann einer Determinante b eine Gewichtung von (0,6) zugwiesen werden, wobei einer Determinante w eine Gewichtung von (0,4) zugewiesen werden kann. Dementsprechend kann die Nutzenfunktion ausgedrückt werden als 0,6·b + 0,4·w. Mit anderen Worten berücksichtigt die Kongruenzanalyse Präferenzen im Hinblick auf die harten Fakten durch Einführen von Gewichtungen und Aggregationsmitteln von Unterbestandteilen der Funktion sm.
  • Das Berücksichtigen von Präferenzen im Hinblick auf die harten Fakten hat den technischen Effekt, eine Maschinenlernbasis für das Lernwerk 195 zu erzeugen, welches die Gewichtungen und die Aggregationen, die den Determinanten zugeordnet sind, basierend auf einem Lernergebnis des Lernmoduls 150 verändern und/oder anpassen kann. Insbesondere können die Präferenzen als Eingabe für das Lernmodul 150 verwendet werden, um ein Lernergebnis zu erzeugen, welches wiederum als Ergebnis für das Lernwerk 195 verwendet wird, um die Gewichtungen, die jeder der Determinanten zugewiesen sind, anzupassen. Das Lernverfahren, das von dem Lernmodul 150 angewandt wird, wird nachfolgend in größerem Detail mit Bezug auf 8 erläutert werden. Die Anpassung der Gewichtungen der relevanten Determinanten durch das Lernwerk 195 wird nachfolgend in größerem Detail mit Bezug auf 7 erläutert werden.
  • Der Container ServiceTyp, Wi, kann selbst eine Aggregation unterschiedlicher Determinanten sein, der durch die folgende Formel ausgedrückt werden kann: Wi = w(Di, Bi, T c / i, T α / i, Pi, R i / i, R e / i).
  • Angesichts der Tatsache, dass das Berechnen des Kongruenzgrads beschränkt sein kann, zum Beispiel durch Bestimmen spezifischer Maximalwerte für eine spezifische Determinante, mag es notwendig sein, die Gewichtung des ServiceTyps, Wi, zu aggregieren. Im Hinblick auf die oben mit Bezug auf 2A und 2B beschriebene Implementation des beispielhaften Datenobjekts mag Di ein spezifizierter (vorbestimmte oder vorbestimmbare) maximaler räumlicher Abstand zwischen dem Ort, der mit der Client-Anforderung 110, 210 empfangen wurde, und der Determinante Ort eines Servicedatenobjekts 240 sein, das in der Antwortdatenbank 165 gespeichert ist. Bi kann die Determinante Verträge eines Eigentümers sein. Der Eigentümer kann einem Eigentümerdatenobjekt 260 entsprechen, das die Determinante ObjektID hat, das der Objekt ID entspricht, die mit der Client-Anforderung 110, 210 empfangen wurde. Die Determinante Verträge kann zum Beispiel einen Grundvertrag zwischen dem Eigentümer und einem oder mehreren der Servicedatenobjekte 240 repräsentieren. T c / i kann eine Restriktion der Determinante MarkenTyp des Servicedatenobjekts 240, i repräsentieren. Zum Beispiel sollte die Determinante MarkenTyp des Servicedatenobjekts 240, I der Determinante Marke des Objektdatenobjekts 250 entsprechen, das der Objekt ID entspricht, die mit der Benutzeranforderung 110, 210 empfangen wurde. T α / i kann eine Restriktion der Determinante ServiceTyp des Servicedatenobjekts 240, i, repräsentieren. Zum Beispiel sollte die Determinante ServiceTyp des Servicedatenobjekts 240, i, dem Servicetyp entsprechen, der mit der Benutzeranforderung 110, 210 empfangen wurde. Pi kann eine Restriktion der Determinante Preisgestaltung des Servicedatenobjekts 240, i, repräsentieren. Zum Beispiel sollte die Determinante Preisgestaltung des Servicedatenobjekts 240, i, der Determinante Präferenzen eines Benutzerdatenobjekts 220 entsprechen, das der Benutzer ID entspricht, die mit der Client-Anforderung 110, 210 empfangen wurde. Wie oben dargelegt, kann jedes Benutzerdatenobjekt 220 benutzerdefinierte Präferenzen in der Determinante Präferenzen des Benutzerdatenobjekts 220 enthalten. Die Determinante Präferenzen kann ein Container sein, der eine Vielzahl von benutzerdefinierten Präferenzen umfasst. Die Determinante Präferenzen kann eine Preisgestaltungspräferenz umfassen. R i / i kann eine Restriktion der Determinante Bewertung des Servicedatenobjekts 240, i, repräsentieren. Zum Beispiel soll die Determinante Bewertung des Servicedatenobjekts 240, i, der Determinante Präferenzen des Benutzerdatenobjekts 220 entsprechen (das der Benutzer ID entspricht, die mit der Client-Anforderung 110, 210 empfangen wurde). Eine Bewertungspräferenz kann eine benutzerdefinierte Präferenz sein, die in der Determinante Containerpräferenzen des jeweiligen Benutzerdatenobjekts 220 enthalten ist. R e / i kann eine Restriktion der benutzerdefinierten Bewertungspräferenz repräsentieren, wie in der Determinante Containerpräferenzen spezifiziert. Alternativ kann die Restriktion R e / i Benutzerpräferenzen entsprechen, die von einer externen Datenquelle, zum Beispiel dem Internet, abgerufen wurden.
  • Der Container ObjektTyp C kann selbst eine Aggregation unterschiedlicher Determinanten sein, der durch die folgende Formel repräsentiert werden kann: C = c(Z, E, K, T)
  • Z kann eine Restriktion der Determinante Merkmale der Objektdatenobjekte 250 sein (entsprechend der Objekt ID, die mit der Client-Anforderung empfangen wurde). Zum Beispiel mag die Determinante Merkmale eine Anzahl von Schäden des Objekts repräsentieren, das dem Objektdatenobjekt 250 entspricht (entsprechend der Objekt ID, die mit der Client-Anforderung empfangen wurde). Zum Beispiel darf Z eine spezifizierte (vorbestimmte oder vorbestimmbare) Anzahl an Schäden nicht überschreiten. E kann eine Determinante EinkaufsWert des Objektdatenobjekts 250 repräsentieren. K kann eine Restriktion der Determinante NutzWert des Objektdatenobjekts 250 repräsentieren. K kann berechnet werden unter Verwendung der folgenden Formel: K = E·r + E·m, wobei r einen spezifizierten (vorbestimmten oder vorbestimmbaren) Laufzeitabzug repräsentieren kann, repräsentiert als ein Prozentsatz, und m kann einen spezifizierten (vorbestimmten oder vorbestimmbaren) Benutzungsabzug repräsentieren, repräsentiert als ein Prozentsatz. Die Laufzeit und die Benutzung des Objekts, das dem Objektdatenobjekt 250 entspricht, können in der Determinante Merkmale gespeichert werden. Zum Beispiel darf K nicht unter einen spezifizierten (vorbestimmten oder vorbestimmbaren) minimalen Schwellenwert fallen. T kann eine Determinante Marke des Objektdatenobjekts 250 repräsentieren.
  • Um die Interaktionen zwischen den Containern Wi, A und C zu berechnen, wird ein generischer Interaktionscontainer I eingeführt. Abhängig von den relevanten Determinanten wie oben dargelegt, kann der Interaktionscontainer I geeignete Algorithmen anwenden, die interaktiv ausgetauscht werden können. Zum Beispiel kann der Interaktionscontainer I wahr/falsch für eine Determinante ”Autotyp” eines Objektdatenobjekts enthalten, das einer Anforderung entspricht, die sich auf ein Fahrzeug oder Auto bezieht (und der Objekt ID entspricht, die mit der Client-Anforderung empfangen wurde) mit Bezug auf eine Determinante ”angebotene Reparatur Autotyp” aller Servicedatenobjekte, die in der Anforderungsdatenbank und/oder der Antwortdatenbank gespeichert sind. Dementsprechend ist ein Vergleich von Autotypen (zum Beispiel VW, BMW und angebotene Reparaturtypen) vorteilhafter Weise möglich. Jedoch können unterschiedliche Interaktionsalgorithmen verwendet werden, abhängig von der jeweiligen Determinante. Der Interaktionscontainer I hat den technischen Effekt, dass er flexible an jede Datenobjektbasis angepasst werden kann, die sich von den beispielhaften Datenobjekten unterscheidet, die vorstehend mit Bezug auf 2A und 2B erläutert wurden, und flexibel an jede beliebige Art von Interaktionen zwischen relevanten Determinanten angepasst werden kann.
  • Wie oben dargelegt, kann eine beispielhafte Interaktion die Interaktion zwischen der Determinante Marke des Objektdatenobjekts 250 und der Determinante MarkenTyp des Servicedatenobjekts 240 sein. Dementsprechend kann, falls eine Nichtübereinstimmung zwischen der Determinante Marke des Objektdatenobjekts 250 und der Determinante MarkenTyp des Servicedatenobjekts 240 vorliegen mag, der Interaktionscontainer I einen Kongruenzwert des Servicedatenobjekts 240 vermindern, oder kann sogar den Kongruenzwert des Servicedatenobjekts auf 0 setzen, basierend auf einer entsprechenden, spezifischen Implementierung des Interaktionscontainers I.
  • Benutzerähnlichkeitsanalyse 130
  • Die zweite Operation des Matching-Algorithmus ist die Benutzerähnlichkeitsanalyse 130. Die Benutzerähnlichkeitsanalyse 130 basiert auf weichen Fakten. Jedes weiche Faktum ist eine Determinante, welche Benutzereigenschaften und Benutzerpräferenzen repräsentiert. In dem Beispiel der Datenobjekte wie oben mit Bezug auf 2A und 2B erläutert können weiche Fakten eines oder mehrere der folgenden Determinanten sein: Adresse, Geschlecht, Kontakte, Alter, Beruf und Präferenzen, die jedem Benutzerdatenobjekt 220 entsprechen.
  • Ein Ähnlichkeitswert wird zwischen dem Benutzerdatenobjekt 220, das der Benutzer ID, die mit der Serviceanforderung empfangen wurde, entspricht, und jedem Benutzerdatenobjekt 220, das in der Antwortdatenbank 165 gespeichert ist, berechnet. In einem nächsten Schritt wird eine Ähnlichkeitsliste erzeugt, die alle Servicedatenobjekte 230 umfasst, die mit Benutzerdatenobjekten 220 assoziiert sind, die einen Ähnlichkeitswert über einem spezifizierten (vorbestimmten oder vorbestimmbaren) Ähnlichkeitsschwellenwert haben. Mit anderen Worten werden für jedes Benutzerdatenobjekt 220, das einen Ähnlichkeitswert zwischen dem Ähnlichkeitsschwellenwert hat, ein oder mehrere Servicedatenobjekte 240 extrahiert, die dem Benutzerdatenobjekt 220 entsprechen, und in der Ähnlichkeitsliste gespeichert. Alle Servicedatenobjekte 240 sind die Servicedatenobjekte 240, die von dem Lernmodul 150 als 'ausgewählte' Servicedatenobjekte markiert wurden während des Anwendens des Lernverfahrens. Das Lernverfahren wird nachstehend in größerem Detail mit Bezug auf 8 erläutert.
  • Berechnung der Benutzerähnlichkeitsanalyse 130
  • Das Berechnen des Ähnlichkeitswerts kann ausgeführt werden unter Verwendung der folgenden Gleichung:
    Figure DE102015008607A1_0003
  • Im Nachfolgenden wird ein spezifisches Beispiel des Berechnens des Ähnlichkeitswerts basierend auf den beispielhaften Datenobjekten, wie mit Bezug auf 2A und 2B erläutert, angegeben. i kann eine Determinante sein, die einem Benutzerdatenobjekt 220 entspricht, das in der Antwortdatenbank 165 gespeichert ist. n kann eine gesamte Anzahl von relevanten Determinanten des Benutzerdatenobjekts 220 repräsentieren. I kann den Container I repräsentieren, wie mit den Formeln der Kongruenzanalyse 120 oben eingeführt. U1,i kann die Determinante i eines ersten Benutzerdatenobjekts 220 repräsentieren, U2,i kann die Determinante i eines zweiten Benutzerdatenobjekts 220 repräsentieren. #n kann eine gesamte Anzahl von relevanten Determinanten sein. Die Variable m repräsentiert die Parallelität des URA 130. Mit anderen Worten kann eine beliebige Menge von URA 130 Charakteristiken parallel berechnet werden. Mit zunehmendem Wert von m kann ein geringer Ähnlichkeitswert zwischen jedem Paar von Benutzerdatenobjekten 220 stärker pönalisiert werden ein hoher Ähnlichkeitswert zwischen jedem Paar von Benutzerdatenobjekten 220. Mit anderen Worten kann durch Verwendung des Parameters m in der Gleichung die Benutzerähnlichkeitsanalyse 130, hiernach: URA 130, flexibel an Benutzerähnlichkeitsprobleme angepasst werden. Mit anderen Worten mag jedes Benutzerähnlichkeitsproblem individuelle Anforderungen an den URA 130 haben. Basierend auf den individuellen Anforderungen wird der Parameter m entsprechend angepasst.
  • Im Nachfolgenden wird eine beispielhafte Berechnung eines Ähnlichkeitswerts zwischen zwei Benutzerdatenobjekten 220 zu Zwecken der Veranschaulichung gegeben. In diesem Beispiel m = 1. Der Ähnlichkeitswert wird für das Benutzerdatenobjekt, 220, 1 (U1,i) und das Benutzerdatenobjekt 220, 2 (U2,i) für die Determinante i berechnet. Weiter wird der Container I wie mit den Formeln der Kongruenzanalyse 120 oben eingeführt verwendet werden. Dementsprechend ist I verantwortlich für das Berechnen des Ähnlichkeitswerts zwischen U1,i und U2,i. In diesem Beispiel mag i die Determinante Alter von U1,i bzw. U2,i, repräsentieren. Dementsprechend kann I(U1,i, U2,1) wie folgt berechnet werden:
    Figure DE102015008607A1_0004
  • Es ist daher in vorteilhafter Weise möglich, einen normalisierten Altersunterschied von U1,i und U2,i zu erhalten. Es sei verstanden, dass das Konzept des Berechnens der Determinante auf anderen Parametern flexibel angepasst werden kann.
  • Wie oben dargelegt ist I ein Container, der an den jeweiligen Vergleich der Determinanten wie geeignet angepasst werden kann. Zum Beispiel sei die Determinante Präferenzen von U1,i, U2,i betrachtet. Wie oben dargelegt kann die Determinante Präferenzen ein Container sein, der eine Vielzahl von Präferenzen umfasst, die durch den Benutzer spezifiziert sind, der dem Benutzerdatenobjekt 220 entspricht. Mit anderen Worten kann die Determinante Präferenz als ein Präferenzcontainer implementiert werden, der eine Vielzahl von benutzerdefinierten Präferenzen und entsprechenden Präferenz werden umfasst. Jeder Präferenzwert kann eines sein von einer Zeichenkette, ein Integer, einem Zeichen, einem Doppel und so weiter. Jeder Präferenzwert innerhalb des Präferenzcontainers ist jedoch selbst eine Determinante i. Dementsprechend kann für jede Determinante i in dem Präferenzcontainer I berechnet werden durch:
    Figure DE102015008607A1_0005
  • Alternativ kann für jede Determinante i in dem Präferenzcontainer I berechnet werden durch:
    Figure DE102015008607A1_0006
  • Genauer wird die Gleichung 3 bevorzugt, wenn weniger Determinanten berücksichtigt werden sollen, wohingegen Gleichung 4 bevorzugt wird, wenn mehr Determinanten berücksichtigt werden sollen, zum Beispiel um die Überschneidung zu bestimmen, wenn die Zwischenwerte der Container verglichen werden. Um das Beispiel fortzusetzen sei angenommen, dass die Gleichung 3 verwendet wird. Im nächsten Schritt wird der Kongruenzgrad basierend auf der Gleichung 1 berechnet.
  • Wie oben ausgeführt kann jedes Benutzerdatenobjekt 220, das einen Ähnlichkeitswert über einem spezifizierten (vorbestimmten oder vorbestimmbaren) Schwellenwert hat, in einer Benutzerliste gespeichert werden. In einem nächsten Schritt wird jedes Servicedatenobjekt 240, das als ausgewähltes Servicedatenobjekt markiert wurde (von dem Lernmodul (150), welches das Lernverfahren angewandt hat, welches nachfolgend in größerem Detail mit Bezug auf 8 beschrieben wird), das jedem Benutzerdatenobjekt 220 entspricht, das in der Benutzerliste gespeichert ist, in der Ähnlichkeitsliste gespeichert. Das Erzeugen der Ähnlichkeitsliste kann implementiert werden unter Verwendung der folgenden Formel:
    Figure DE102015008607A1_0007
  • RSi ist der Ähnlichkeitswert für das Servicedatenobjekt 240, i, j ist die Anzahl von Benutzerdatenobjekten 220, die in der Benutzerliste gespeichert sind. Mit anderen Worten ist j ein Zähler, um durch die Ergebnisse aller Benutzerdatenobjekte 220 zu gehen oder über diese zu iterieren, um zum Beispiel zu bestimmen, wie oft ein bestimmtes Servicedatenobjekt 240 ausgewählt wurde. #Vj,i ist die Anzahl, wie oft das Servicedatenobjekt 240, i, das ausgewählte Servicedatenobjekt 240 war. #V ist die gesamte Anzahl von ausgewählten Servicedatenobjekten 220.
  • Nach Berechnen des Ähnlichkeitswerts für jedes (potentielle) Servicedatenobjekt 240 kann die Ähnlichkeitsliste in der Antwortdatenbank 165 gespeichert werden.
  • Insbesondere kann die Ähnlichkeitsliste in einem Lerncontainer L gespeichert werden. Der Lerncontainer L kann implementiert werden unter Verwendung der folgenden Gleichung: Lj = (wHF, wLj), (LSi)
  • wHF ist die Gewichtung, die jedem der harten Fakten zugewiesen ist. wLj ist die Gewichtung, die jedem der weichen Fakten zugewiesen ist basierend auf der Benutzerähnlichkeitsanalyse 130. (LSi) ist der Lernwert für das Servicedatenobjekt 240, (welches in einem Beispiel spezifisch einen Lernwert für die Werkstatt I repräsentieren kann). Folglich ist I ein Zähler, um durch alle Servicedatenobjekte 240 zu gehen (welcher in dem Beispiel spezifisch einen Zähler für die Werkstätten repräsentieren kann).
  • Schließlich aggregiert das Matching-Modul 105 die Kongruenzliste und die Ähnlichkeitsliste in ein Endergebnis 140. Insbesondere wird für jedes Servicedatenobjekt 240 in der Kongruenzliste und der Ähnlichkeitsliste ein Matching-Wert berechnet. Zu diesem Zweck werden der Kongruenzgrad und/oder der Ähnlichkeitswert von jedem Servicedatenobjekt 240 aggregiert. Das Aggregieren des Kongruenzgrads und des Ähnlichkeitswerts von jedem Servicedatenobjekt 240 kann auf Gewichtungen basieren, die dem Kongruenzgrad und dem Ähnlichkeitswert jeweils zugewiesen sind. Basierend auf dem berechneten Matching-Wert wird ein Endergebnis 140 erzeugt. Das Endergebnis 140 umfasst eine Liste von allen Servicedatenobjekten 240, die einen Matching-Wert über einem spezifizierten (vorbestimmten oder vorbestimmbaren) Matching-Schwellenwert aufweisen, in einer absteigenden Reihenfolge. Mit anderen Worten ist das Servicedatenobjekt 240 mit dem höchsten Matching-Wert das erste Datenobjekt 240 in dem Endergebnis 140.
  • Aggregieren der Kongruenzliste und der Ähnlichkeitsliste, um das Endergebnis 140 zu erzeugen, umfasst das Berechnen des aggregierten Matching-Werts Si,j für jedes Servicedatenobjekt 240, das in der Kongruenzliste und der Ähnlichkeitsliste gespeichert ist. Insbesondere kann das Berechnen des Matching-Werts unter Verwendung der folgenden Gleichung implementiert werden: Si,j = sHF(w(Di, Bi, T c / i, T α / i, Pi, R i / i, R e / i), A, c(Z, E, K, T), I) + Lj((wHF, wLj), (LSi)))
  • Basierend auf dem berechneten Matching-Wert für jedes Servicedatenobjekt 240, das in der Kongruenzliste und in der Ähnlichkeitsliste gespeichert ist, wird ein Endergebnis 140 erzeugt. Das Endergebnis 140 kann eine Liste von allen Servicedatenobjekten 240 umfassen, die einen Matching-Wert über einem spezifizierten (vorbestimmten oder vorbestimmbaren) Matching-Schwellenwert haben, in einer absteigenden Reihenfolge.
  • Vektorvergleich
  • Die Kongruenzanalyse 120 und die Benutzerähnlichkeitsanalyse 130 können mittels einem Vektorvergleich ausgeführt werden. Insbesondere kann jedes Datenobjekt, das in der Anforderungsdatenbank 155 und in der Antwortdatenbank 165 gespeichert ist, als ein mehrdimensionales Vektorobjekt implementiert werden. Jede Dimension jedes mehrdimensionalen Vektorobjekts repräsentiert eine Determinante des mehrdimensionalen Vektorobjekts. Eine Gewichtung kann jeder Dimension jedes mehrdimensionalen Vektorobjekts zugewiesen werden.
  • Das Verwenden eines Vektorvergleichs für die Kongruenzanalyse 120 und die Benutzerähnlichkeitsanalyse 130 hat den technischen Effekt einer verbesserten Leistungsfähigkeit. Insbesondere ist der Vektorvergleich von linearer Komplexität und ist daher sehr schnell. Eine Zunahme der Anzahl von Datenobjekten, die in der Anforderungsdatenbank 155 und in der Antwortdatenbank 165 gespeichert sind, resultiert in einer linearen Zunahme der Verarbeitungszeit für den Vektorvergleich, um den Kongruenzgrad und den Ähnlichkeitswert zu berechnen.
  • 5 zeigt ein beispielhaftes Datenobjekt, das als ein mehrdimensionales Vektorobjekt in einem n-dimensionalen Vektorraum implementiert ist. Die mehrdimensionalen Vektorobjekte umfassen vier Vektoren v1, v2, v3 und v4. Basierend auf diesem n-dimensionalen Vektorraum wird der Vektorvergleich ausgeführt, um die Vektorähnlichkeit zu bestimmen. Wie oben dargelegt, repräsentiert jeder Vektor jedes mehrdimensionalen Vektorobjekts eine Determinante des mehrdimensionalen Vektorobjekts. Mit Bezug auf das beispielhafte Benutzerdatenobjekt 220, das oben mit Bezug auf 2A dargestellt ist, kann der Vektor v1 die Benutzer ID repräsentieren, der Vektor v2 kann den Namen repräsentieren, Vektor v3 kann die Adresse repräsentieren und Vektor v4 kann Präferenzen repräsentieren. Weiter weist jeder Vektor, das heißt, jede Dimension, eine zugewiesene Gewichtung auf. Jede Gewichtung von jeder Dimension kann vordefiniert sein, oder von dem Benutzer spezifiziert werden. Jede zugewiesene Gewichtung spezifiziert einen jeweiligen Einfluss des entsprechenden Vektors (das heißt, der Dimension) auf den Kongruenzgrad und den Ähnlichkeitswert. Dementsprechend hat jede zugewiesene Gewichtung auch einen Einfluss auf den Matching-Wert, der berechnet wird durch Aggregieren des Kongruenzgrads und des Ähnlichkeitswerts. Insbesondere ist der Einfluss des Vektors auf den insgesamten Matching-Wert umso größer, umso höher die zugewiesene Gewichtung ist.
  • Der Vektorvergleich wird berechnet basierend auf entsprechenden Winkeln alpha, beta. Umso kleiner der jeweilige Winkel zwischen einem jeweiligen Paar von Vektoren v1, v2, v3 oder v4, ist, umso höher ist die Ähnlichkeit zwischen dem jeweiligen Paar von Vektoren v1, v2, v3 oder v4.
  • Das Ausführen der Kongruenzanalyse 120 und der Benutzerähnlichkeitsanalyse 130 unter Verwendung des Vektorvergleichs bietet den Vorteil eines exzellenten Laufzeitverhaltens. Insbesondere ist der Vektorvergleich von linearer Komplexität. Dementsprechend ist, selbst wenn die Anforderungsdatenbank 155 und/oder die Antwortdatenbank 165 des adaptiven Maschinenlernsystems 100 eine große Anzahl, zum Beispiel mehr als eine Million (beispielsweise mehrere Millionen) von Datenobjekten umfassen mag, der Vergleich sehr schnell, da die Zunahme der Anzahl von Datenobjekten, die in der Anforderungsdatenbank 155 und/oder der Antwortdatenbank 165 gespeichert sind, in einer linearen Zunahme der Verarbeitungszeit resultiert, wenn der Vektorvergleich angewandt wird, um den Kongruenzgrad und/oder den Ähnlichkeitswert zu bestimmen.
  • Die Vektorähnlichkeit kann berechnet werden unter Verwendung einer Suchmaschine wie die TREX (”Text Retrieval and Information Extraction”) Suchmaschine der SAP AG. TREX ist eine Suchmaschine in der SAP NetWeaver integrierten Technologieplattform, welche von der SAP AG hergestellt wird. die TREX Maschine ist eine alleinstehende Komponente, die als ein integraler Teil von SAP Produkten verwendet werden kann, wie Enterprise Portal, Knowledge Warehouse, und Business Intelligence. TREX unterstützt verschiedene Arten von Textsuchen, einschließlich einer exakten Suche, einer Booleschen Suche, einer Suche mit Platzhaltern, einer linguistischen Suche und einer unscharfen Suche. Ergebnismengen werden geordnet unter Verwendung einer Begriffshäufigkeit-inverse Dokumentenhäufigkeit (”term frequency-inverse document frequency”, tf-idf) Gewichtung, und Ergebnisse können Schnipsel enthalten, in denen die Suchbegriffe markiert sind. Insbesondere unterstützt TREX Textmining und Klassifikation unter Verwendung eines Vektorraummodells. Gruppen von Dokumenten können klassifiziert werden unter Verwendung einer Abfrage-basierten Klassifikation, einer beispielsbasierten Klassifikation, oder einer Kombination dieser plus Schlüsselwortverwaltung. TREX unterstützt eine strukturierte Datensuche nach Dokumentenmetadaten für Massengeschäftsdaten und Daten in SAP Business Objekten. Indexe für strukturierte Daten sind kompakt implementiert unter Verwendung von Datenkompression. Der Vektorvergleich mittels TREX wird in linearer Zeit ausgeführt. Dementsprechend können große Mengen von Datenobjekten, die als mehrdimensionale Vektorobjekts in der internen Datenbank 155 und der externen Datenbank 165 implementiert sind, in linearer Zeit verarbeitet werden.
  • TREX unterstützt mehrere Vektoroperationen basierend auf einem Vektorraummodell und nähert sich daher einem Vektorraum- und Daten-Mining-Featurepack für fortgeschrittene algebraische Analyse an. TREX unterstütz eine strukturierte Datensuche nach Dokumentenmetadaten und nach Massengeschäftsdaten und Daten in SAP Business Objekten. Dessen Indices sind kompakt und effizient implementiert. Daten können in linearer Zeit aggregiert und analysiert werden, um es zu ermöglichen, dass große Datenmengen vollständig im Speicher verarbeitet werden. Dementsprechend verbessert die Verwendung von TREX für den Vektorvergleich weiter die rechnerische Effizienz des Matching-Modus 105 beim Ausführen des Matching-Algorithmus.
  • 6 zeigt eine beispielhafte Anwendung des Boosting-Algorithmus 160, der von dem Lernwerk 195 ausgeführt wird, um den Matching-Algorithmus des Matching-Moduls 150 basierend auf dem Lernergebnis anzupassen. Der Boosting-Algorithmus 160 wird auf jeden Typ der Datenobjekte angewandt, die in der Antwortdatenbank 156 gespeichert sind. Mit Bezug auf das spezifische Beispiel, das oben mit Bezug auf 2A und 2B beschrieben wurde, kann der Boosting-Algorithmus 160 auf die Gruppe von Benutzerdatenobjekten 220, die Gruppe von Servicedatenobjekten 240, die Gruppe von Anforderungsdatenobjekten 230, die Gruppe von Objektdatenobjekten 250, die Gruppe von Eigentümerdatenobjekten und/oder die Gruppe von Akzeptanzdatenobjekten angewandt werden. Im Nachfolgenden wird das Anwenden des Boosting-Algorithmus 160 mit Bezug auf die Gruppe von Servicedatenobjekten erläutert.
  • In Schritt 610 wird eine Boosting-Basis erzeugt. Das Erzeugen der Boosting-Basis umfasst das Parsen der Antwortdatenbank 165 und das Extrahieren aller relevanten Determinanten von jedem ausgewählten Servicedatenobjekt 240, das jedem Benutzerdatenobjekt 220 entspricht, das in der Anforderungsdatenbank 155 und/oder der Antwortdatenbank 165 gespeichert ist. Mit anderen Worten wird jedes Servicedatenobjekt extrahiert, das von einem bestimmten Benutzerdatenobjekt 220 ausgewählt wurde. Die ausgewählten Servicedatenobjekte 240 sind Servicedatenobjekte 240, die von dem Lernmodul 150 als ausgewählte Servicedatenobjekte 240 markiert wurden beim Anwenden des Lernverfahrens (das unten in größerem Detail mit Bezug auf 8 beschrieben wird). Von jeder extrahierten Determinante von jedem ausgewählten Servicedatenobjekt 240 bestimmt der Boosting-Algorithmus 160 ein Potential der jeweiligen Determinante. Das Potential einer Determinante wird hiernach auch als 'schwacher Lerner' m bezeichnet. Weiter ist jeder Wert innerhalb der Boosting-Basis ein Fehlerwert mit Bezug auf die Gewichtung jeder Determinante.
  • In Schritt 620 wird ein aufsummierter Fehler für jeden schwachen Lerner m berechnet. Das Berechnen des aufsummierten Fehlers für jeden schwachen Lerner m umfasst das Extrahieren eines aktuellen Werts der Gewichtung, die dem jeweiligen schwachen Lerner m zugewiesen ist. Wenn der Boosting-Algorithmus 160 zum ersten Mal angewandt wird, kann der aktuelle Wert der Gewichtung ein anfänglicher Wert der Gewichtung sein, die dem jeweiligen schwachen Lerner zugewiesen ist.
  • Zum Beispiel können, im Hinblick auf die Benutzerähnlichkeitsanalyse 130 wie oben mit Bezug auf 4 erläutert, und mit Bezug auf die beispielhaften Datenobjekte, wie oben mit Bezug auf 2A und 2B erläutert, die Determinanten Alter, Geschlecht und Präferenz als schwache Lerner repräsentierend betrachtet werden. Die schwachen Lerner können Klassifikatoren sein. Mit anderen Worten kann jede der besagten Determinanten als individueller Klassifikator zum Berechnen des Ähnlichkeitswerts verwendet werden. Wenn jedoch jeder Klassifikator einzeln genommen wird, würde dies nicht zu einem zufriedenstellenden Ergebnis führen. Vielmehr müssen die Klassifikatoren kombiniert werden, und eine Gewichtung muss individuell zugewiesen werden basierend auf ihrer Relevanz im Hinblick auf die Client-Anforderung 110, 210. Wie oben dargelegt, kann jede Gewichtung zum Beispiel individuell von einem Benutzer zugewiesen werden, der einem Benutzerdatenobjekt 220 entspricht. Dementsprechend kann sich jede Gewichtung für jeden Klassifikator von Benutzerdatenobjekt 220 zu Benutzerdatenobjekt 220, das in der Anforderungsdatenbank 155 und/oder der Antwortdatenbank 165 gespeichert ist, unterscheiden.
  • Das Aktualisieren der Gewichtungen der Determinanten durch das Lernwerk 105 hat den technischen Effekt des kontinuierlichen Anpassens und somit Verbesserns Netzwerk-Antworten, die auf Client-Anforderungen 110, 210 hin bereitgestellt werden. Das Aktualisieren der Gewichtungen der Determinanten weiter den technischen Effekt, verschiedene Werte in einen Wert zu aggregieren und die Formeln anzupassen, insbesondere des Container I, um verbesserte Netzwerk-Antworten bereitzustellen. Genauer ist das Aktualisieren der Gewichtungen jedoch nicht nur für das Aggregieren der Werte in einen Wert relevant, sondern für die unterschiedlichen Formeln, die parallel implementiert sind. Insbesondere werden die Gewichtungen zum Berechnen des Matching-Wert angepasst und zusätzlich werden die m unterschiedlichen URA-Charakteristiken gewichtet.
  • Der Boosting-Algorithmus 160 kann implementiert werden unter Verwendung eines spezifisch modifizierten Adaptives Boosting, AdaBoost, Algorithmus, der die Erfordernisse des Lernwerks 195 erfüllt. AdaBoost ist ein Maschinenlernen-Metaalgorithmus. AdaBoost kann zusammen mit vielen anderen Typen von Lernalgorithmen verwendet werden, um deren Leistungsfähigkeiten zu verbessern. Die Ausgabe der anderen Lernalgorithmen, das heißt, schwache Lerner, wird kombiniert in eine gewichtete Summe, welche die endgültige Ausgabe der geboosteten Determinante repräsentiert. AdaBoost ist adaptiv in dem Sinn, dass subsequent schwache Lerner optimiert werden zugunsten der Determinanten, die durch vorherige Klassifikatoren fehlklassifiziert wurden. Beginnend mit den schwachen Lernern konvergiert die Ausgabe von AdaBoost zu einem starken Lerner, so lange die Performanz von jedem Lerner etwas besser als zufälliges Raten ist, das heißt, deren Fehlerrate kleiner als 0,5 für Binärklassifikation ist.
  • Es können jedoch andere Boosting-Algorithmen verwendet werden, um die Netzwerk-Antworten auf Client-Anforderungen 110, 210 weiter zu verbessern. Insbesondere kann das Netzwerk zum adaptiven Anpassen von Netzwerk-Antworten auf Client-Anforderungen mit unterschiedlichen Matching-Herausforderungen konfrontiert werden, basierend zum Beispiel auf einer Implementierung der Datenobjekte, die sich von der beispielhaften Implementation der Datenobjekte wie oben mit Bezug auf 2A und 2B beschrieben. Zum Beispiel kann Gentle Boost verwendet werden. Gentle Boost verwendet eine begrenzte Schrittgröße im Vergleich mit anderen Boosting-Algorithmen, um eine Verallgemeinerungsperformanz zu verbessern. Zu diesem Zweck wird der Gesamt-Testfehler/die Ausreißer in jedem Schritt minimiert, anstelle eine begrenzte Schrittgröße zu verwenden (wie sie herkömmliche Boosting-Algorithmen anwenden würden).
  • Um den unterschiedlichen Anforderungen des Netzwerks zum adaptiven Anpassen von Netzwerk-Antworten auf Client-Anforderungen zu entsprechen, kann der Boosting-Algorithmus 160 als eine eingekapselte Entität in einer Bibliothek in einem in-Speicher, spaltenorientierten, relationalen Datenbankverwaltungssystem wie der HANA Datenbank von SAP implementiert sein. HANA ist eine in-Speicher, Spaltenorientiertes, relationales Datenbankverwaltungssystem, das von SAP SE vermarktet wird. Die Architektur von HANA ist spezifisch entworfen, sowohl hohe Transaktionsraten als auch komplexe Abfrageverarbeitung auf derselben Plattform zu verarbeiten. Zusätzlich zur Datenbank-Engine beinhaltet HANA einen eingebetteten Webserver und ein Versionsverwaltungsarchiv, das zur Anwendungsentwicklung verwendet werden kann. HANA Anwendungen können erzeugt werden unter Verwendung von serverseitigem JavaScript. Insbesondere kann der Boosting-Algorithmus 160 mittels dem AFL-SDK (”Application Function Library Software Development Kit”) in HANA entwickelt werden, insbesondere in den Anwendungsfunktionsbibliotheken. Die Anwendungsfunktionsbibliotheken können auf kundenspezifische Weise aufgerufen werden.
  • Das Anwenden des Boosting-Algorithmus 160 durch das Lernwerk 195 wird beispielhaft erläutert werden im Hinblick auf die Benutzerähnlichkeitsanalyse 130. In einem ersten Schritt wird eine Relevanz von schwachen Lernern bestimmt durch Analysieren früherer, zuvor erzeugter Endergebnisse 140, insbesondere im Hinblick auf die zuvor ausgewählten Servicedatenobjekte 240 (die nachfolgend in größerem Detail mit Bezug auf 8 beschrieben werden). Zum Beispiel kann eine Clientvorrichtung 310 eine Client-Anforderung 110, 210 gesendet haben. Ein Benutzerdatenobjekt 220, das mit der Benutzer ID assoziiert ist, die mit der Client-Anforderung 110, 210 empfangen wurde, kann das Benutzerdatenobjekt 220, X (hiernach: X) sein. Basierend auf der besagten Client-Anforderung 110, 210, wurde eine Benutzerähnlichkeitsanalyse 130 ausgeführt werden (wie in größerem Detail mit Bezug auf 4 oben erläutert). Wie oben dargelegt, wird, beim Ausführen der Benutzerähnlichkeitsanalyse 130 jedes Benutzerdatenobjekts 220, das einen Ähnlichkeitswert in Hinblick auf X über einem spezifizierten (vorbestimmten oder vorbestimmbaren) Ähnlichkeitsschwellenwert hat, in einer Benutzerliste gespeichert wird. In diesem spezifischen Beispiel hat das Benutzerdatenobjekt 220, Y (hiernach: Y) den höchsten Ähnlichkeitswert im Hinblick auf X. In einem nächsten Schritt parst das Lernwerk 195 die Anforderungsdatenbank 165 und extrahiert jedes Servicedatenobjekt 240, das als ausgewähltes Servicedatenobjekt 240 markiert wurde im Hinblick auf Y. In diesem spezifischen Beispiel wurde das Servicedatenobjekt 240, Z (hiernach: Z) immer als ausgewähltes Servicedatenobjekt 240 durch Y markiert. Wenn Z das Servicedatenobjekt 240 in dem Endergebnis 140 ist, und falls X Z als ausgewähltes Servicedatenobjekt 240 markiert hat im Hinblick auf die Client-Anforderung 110, 210, ist keine Aktualisieren der Gewichtungen der jeweiligen Determinanten erforderlich, da das erste Servicedatenobjekt 240 des Endergebnisses 140 ausgewählt war und folglich die Netzwerk-Antwort auf die Client-Anforderung 110, 210 eine 'perfekte Übereinstimmung' war. Wenn jedoch X ein anderes Servicedatenobjekt 240, A (hiernach: A) markiert, welches nicht das erste Servicedatenobjekt 240 in dem Endergebnis 140 ist, muss der Matching-Algorithmus, der von dem Matching-Modul 105 angewandt wird, durch das Maschinenlernmodul 195 angepasst werden. In diesem spezifischen Beispiel parst das Lernwerk 195 die Antwortdatenbank 165 nach Benutzerdatenobjekten 220, die A ausgewählt haben im Hinblick auf die jeweiligen, früheren Client-Anforderungen 110, 210. Unter der Annahme, dass das Benutzerdatenobjekt 220, B, (hiernach: B) mit dem ausgewählten A assoziiert ist, müssen die Gewichtungen der jeweiligen Determinanten, die von der Benutzerähnlichkeitsanalyse 130 verwendet werden, das heißt, die Gewichtungen der Klassifikatoren, zugunsten von B angepasst werden. Das Aktualisieren der Gewichtungen kann implementiert werden unter Verwendung der folgenden Gleichung:
    Figure DE102015008607A1_0008
  • y (m) / i zeigt die Fähigkeit des Klassifikators m an. m ein Zähler aller schwachen Lerner. Insbesondere wird für jeden schwachen Lerner m, mit Ausnahme derjenigen schwachen Lerner, die bereits verarbeitet wurden oder nun starke Lerner repräsentieren ym (oder y (m) / i ) berechnet, um die Auswahl von X zu prognostizieren, das heißt, das Servicedatenobjekt 240 in dem Endergebnis 140 X markiert als ausgewähltes Servicedatenobjekt 240 im Hinblick auf eine vorherige Client-Anforderung i. Alle passenden Anforderungen werden individuell gewichtet durch wi, wohingegen die Anpassung der Gewichtungen unter Verwendung der folgenden Gleichungen implementiert werden kann:
    Figure DE102015008607A1_0009
    Figure DE102015008607A1_0010
  • Wn ist die Summe aller aktuellen, individuellen Gewichtungen der Determinanten wi, αm ist ein Rechenwert für schwache Lerner m, ∊m ist der aufsummierte Fehler für jeden schwachen Lerner; und yi ist der vorherige Wert der Determinanten/des schwachen Lerners m multipliziert mit der ursprünglichen Gewichtung der Determinante/des schwachen Lerners m.
  • 7 zeigt eine beispielhafte Ausführung des Stimmungswerks 170 des Lernwerks 195. Das Stimmungswerk 170 ist ein Speisemechanismus, der aus einem Kundenmeinungs-(”Voice of Customer”, VOC)Sprachmodul zur Domänen-Anpassung, mit positiv/negativ Wörterbüchern, welche in HANA eingebettet sein können, besteht. VOC wird in der Informationstechnologie verwendet, zum Beispiel mittels der Information Technology Infrastructure Library (ITIL), um einen eingehenden Prozess des Erfassens von Erwartungen, Präferenzen und Abneigungen eines Kunden zu erfassen. VOC erzeugt eine detaillierte Menge der Anforderungen des Kunden, die in eine hierarchische Struktur organisiert werden können, und danach priorisiert werden können in Begriffen relativer Wichtigkeit und Zufriedenheit mit gegenwärtigen Alternativen. Das VOC kann mit einer Interaktionsschicht in Richtung auf den Benutzer, der die Clientvorrichtung 301 bedient, gekoppelt werden. VOC kann Wörterbücher von entdeckten Schlüsselwörtern und/oder Schimpfwörterbücher verwenden, um die Stimmung eines Benutzers zu identifizieren und zu klassifizieren. Die Wörterbücher von entdeckten Schlüsselwörtern und/oder Schimpfwörterbücher (hiernach: Wörterbücher) können eine EXTRACTION_CORE_VOICEOFCUSTOMER Konfiguration in HANA verwenden. Die Wörterbücher sind eingerichtet, benannte Datenobjekte oder Entitäten zu spezifizieren, in diesem Beispiel die Objektdatenobjekte 250, die Benutzerdatenobjekte 120, die Werkstattdatenobjekte 240, die Anforderungsdatenobjekte 230 und so weiter, wie oben mit Bezug auf den 2A und 2B erläutert. Spezifizieren des Datenobjekts wird ausgeführt mittels Regeln in Custom Grouper User Language (CGUL), um Ereignisse zu identifizieren, zum Beispiel eine Client-Anforderung 110, 210, Beziehungen, Datenobjekte, und so weiter. CGUL Regeln nutzen linguistische Hervorhebung, Kernentitäten und kundenspezifische Wörterbuchdokumentenfilter in der Maschine zur Verarbeitung natürlicher Sprache (”Natural Language Processing”, NLP) von HANA, um Textinhalte und Metadaten einer Benutzerrückmeldung zu erkennen und extrahieren, das heißt, Daten, die bei dem Stimmungswerk 270 über einen Rückmeldungsbildschirm von einem Benutzer, der eine Clientvorrichtung 310 bedient, empfangen werden. Insbesondere kann die Funktionalität von HANA verwendet werden, um die VOC Regeln unter Verwendung eines Nachverarbeitungsfiltermechanismus anzuwenden. Der Nachverarbeitungsfiltermechanismus ist in der NLP Maschine eingebettet, um Schlüsselwörter und Kontext zu extrahieren. Dementsprechend wird eine Zeit einer Rückmeldung und ein Kontext, um die Bedeutung der Rückmeldung zu interpretieren, extrahiert.
  • Im Hinblick auf das Vorstehende führt das Stimmungswerk 170 die folgenden Schritte aus: In Schritt 710 empfängt das Stimmungswerk eine Freitext-Rückmeldung von einem Benutzer, der eine Client-Anforderung 110, 210 gesendet und eine Netzwerk-Antwort empfangen hat. Zum Beispiel kann, nachdem ein Benutzer, der eine Client-Anforderung 110, 210 gesendet hat, ein Endergebnis 140 empfangen hat, dieser dazu aufgefordert werden, eine Freitext-Rückmeldung über das ausgewählte Servicedatenobjekt 240 zu geben, das heißt, das Servicedatenobjekt 240, welches von dem Lernmodul 150 (das nachfolgend in größerem Detail mit Bezug auf 8 beschrieben wird) als ausgewähltes Servicedatenobjekt 240 markiert wurde. Der Benutzer kann die Rückmeldung als Freitext geben. In Schritt 720 parst das Stimmungswerk den Freitext und identifiziert positive oder negative Schlüsselwörter in der erhaltenen Rückmeldung. Zum Beispiel können zwei Sätze von VOC Regeln zum Parsen der Rückmeldung angewandt werden. Ein erster Satz Regeln zum Identifizieren von positiven und/oder negativen Schlüsselwörtern unter Verwendung von Themen und ein zweiter Satz Regeln zum Identifizieren von positiven und/oder negativen Schlüsselwörtern zusammen mit Modifikatoren. Modifikatoren können zum Beispiel Verneinungen und Verstärker sein. Die zwei Sätze von Regeln können von dem adaptiven Maschinenlernsystem 100 über ein Wörterbuch maßgeschneidert werden. In Schritt 730 extrahiert das Stimmungswerk 170 die positiven und/oder negativen Schlüsselwörter aus der Rückmeldung. Zum Beispiel kann der Nachverarbeitungsfiltermechanismus die Ergebnisse der zwei Sätze Regeln sortieren und ein Endergebnis für jede Kombination Schlüsselwort/Thema/Modifikator extrahieren.
  • Zum Beispiel können die Ergebnisse der zwei Sätze von Regeln sein:
    • – Ichbin < nicht[glücklich > mitmeinemService]. > glücklich”+\meinemService”\glücklich”+\nicht”;
    • – Ichbin < sehr[glücklich > mitmeinemService]: > glücklich”+\meinemService”+\glücklich”+”\sehr”
    • – Ichbin < nichtsehr[glücklich > mitmeinemService]: glücklich”+\meinemService\glücklich”+\sehr”+\nicht”;
  • Basierend auf diesen Ergebnissen kann die Ausgabe, das heißt, die extrahierten positiven und negativen Schlüsselwörter des Nachverarbeitungsfiltermechanismus sein:
    • – SchwachNegativ;
    • – Starkpositiv;
    • – StarkNegativ;
  • Die Ausgabe, das heißt, die extrahierten positiven und negativen Schlüsselwörter des Nachverarbeitungsfiltermechanismus können mittels einem kundenspezifisch einrichtbaren Wörterbuch in HANA gespeichert und beibehalten werden. Einträge in dem Wörterbuch werden durch die ”Custom Grouper User Language” (CGUL) Regeln aufgerufen, die Teil von HANA sind. Das adaptive Maschinenlernsystem 100 kann extrahierte positive und negative Schlüsselwörter hinzufügen und/oder entfernen, und die Kategorisierung positiv/negativ von Einträgen adaptiv auf Grund von kontinuierlicher Rückmeldung anpassen, die von weiteren Benutzern empfangen wurde. Dementsprechend werden die extrahierten Schlüsselwörter kontinuierlich aktualisiert werden, so dass die Kundenbibliotheken und die CGUL sich mit der Zeit entwickeln, um eine kontinuierlich verbesserte Lernbasis für das Lernwerk 195 zu bilden. Dies hat den technischen Effekt, die Genauigkeit der Netzwerk-Antworten auf Client-Anforderungen 110, 210 weiter zu verbessern.
  • In Schritt 740 extrahiert das Stimmungswerk jeweilige Determinanten des ausgewählten Servicedatenobjekts 240. Die jeweiligen Determinanten sind Determinanten, die durch die aus der Rückmeldung extrahierten Schlüsselwörter beeinflusst werden. In Schritt 750 werden Gewichtungen, die jeder extrahierten Determinante zugeordnet sind, extrahiert. In Schritt 760 werden die extrahierten Gewichtungen basierend auf den extrahierten Schlüsselwörtern angepasst. Schließlich werden die angepassten Gewichtungen in der Antwortdatenbank 165 gespeichert.
  • Das Verwenden des Stimmungswerks, um die Gewichtungen, die den Determinanten in der Antwortdatenbank zugewiesen sind, weiter anzupassen, hat den technischen Effekt, akkuratere Netzwerk-Antworten auf Client-Anforderungen zu liefern, da das adaptive Maschinenlernsystem des Netzwerks kontinuierlich Benutzerempfehlungen berücksichtigen kann beim Berechnen des Matching-Werts und beim Erzeugen des Endergebnisses basierend auf dem Matching-Wert.
  • 8 zeigt das Lernverfahren, das nach Empfangen des Endergebnisses 140 von dem Matching-Modul 105 durch das Lernmodul 150 ausgeführt wird. In einem ersten Schritt 805 wird das erste Servicedatenobjekt 240 aus dem Endergebnis 140 extrahiert durch Parsen der Endergebnisliste 140. Wie oben dargelegt, ist das erste Servicedatenobjekt 240 das Servicedatenobjekt, das den höchsten Matching-Wert aufweist. In Schritt 510 wird eine Akzeptanzabfrage erzeugt. Insbesondere wird das erste Servicedatenobjekt 240 geparst, um relevante Daten zu identifizieren, die mit dem extrahierten/ersten Servicedatenobjekt 240 assoziiert sind. Relevante Daten, die mit dem ersten Servicedatenobjekt 240 assoziiert sind, können relevante Determinanten sein, die notwendig sind, um der Clientvorrichtung 310 und einer Providervorrichtung 330, welche dem extrahierten Servicedatenobjekt 240 entspricht, relevante Daten bereitzustellen. Im Hinblick auf das spezifische Beispiel, wie oben mit Bezug auf 2A angegeben, können die relevanten Determinanten eines oder mehrere der folgenden umfassen: Ort, ServiceTyp und Bewertung des extrahierten Servicedatenobjekts 240, Präferenzen des Benutzerdatenobjekts 220, das der Benutzer ID entspricht, die mit der Client-Anforderung 110, 210 übermittelt wurde, ObjektTyp und Merkmale des Objektdatenobjekts 250, das der Objekt ID entspricht, die mit der Client-Anforderung 110, 210 übermittelt wurde.
  • Basierend auf den extrahierten relevanten Daten erzeugt das Lernmodul 150 eine Akzeptanzabfrage. In Schritt 810 wird die Akzeptanzabfrage an die Clientvorrichtung 310 gesendet, welche die Client-Anforderung 110, 210 übermittelt hat. In Schritt 815 empfängt die Clientvorrichtung 310 die Akzeptanzabfrage von dem Lernmodul 150. In Schritt 820 erzeugt die Clientvorrichtung eine Abfragerückmeldung in Antwort auf die Akzeptanzabfrage und sendet die Abfragerückmeldung an das Lernmodul 150. In Schritt 825 empfängt die Providervorrichtung 330 die Akzeptanzabfrage von dem Lernmodul 150. In Schritt 830 erzeugt die Providervorrichtung 330 eine Abfragerückmeldung in Antwort auf die Akzeptanzabfrage und sendet die Abfragerückmeldung an das Lernmodul 150. In Schritt 835 empfängt das Lernmodul die Abfragerückmeldung von der Clientvorrichtung 310 und der Providervorrichtung 330. Die Abfragerückmeldung der Clientvorrichtung 310 und/oder der Providervorrichtung 330 kann eine Akzeptanzbenachrichtigung sein. Jede Akzeptanzbenachrichtigung zeigt an, dass der Benutzer, der die Clientvorrichtung 310 bedient, beziehungsweise der Benutzer, der die Providervorrichtung 330 bedient, den Service akzeptiert, der dem extrahierten Servicedatenobjekt 240 entspricht. Weiter kann die Abfragerückmeldung der Clientvorrichtung 310 und/oder der Providervorrichtung 330 eine Ablehnungsbenachrichtigung sein. Jede Ablehnungsbenachrichtigung zeigt an, dass der Benutzer, der die Clientvorrichtung 310 bedient, und/oder der Benutzer, der die Providervorrichtung 330 bedient, jeweils den Service, der dem extrahierten Servicedatenobjekt 240 entspricht, nicht akzeptiert.
  • In Schritt 840 bestimmt das Lernmodul, ob sowohl die Abfragerückmeldung der Clientvorrichtung 310 als auch die Abfragerückmeldung der Providervorrichtung 330 Akzeptanzbenachrichtigungen sind. Wenn sowohl die Abfragerückmeldung der Clientvorrichtung 310 als auch der Providervorrichtung 330 Akzeptanzbenachrichtigungen sind, wird mit Schritt 845 fortgefahren. Insbesondere markiert das Lernmodul 150 das extrahierte erste Servicedatenobjekt 240 als ausgewähltes Servicedatenobjekt 240. Das Markieren des ersten Servicedatenobjekts 240 als ausgewähltes Servicedatenobjekt 240 kann das Setzen eines entsprechenden Auswahl-Flags in dem ausgewählten Servicedatenobjekt 240 umfassen. Weiter parst das Lernmodul 150 die Anforderungsdatenbank 155 und/oder die Antwortdatenbank 165 und extrahiert relevant Vertragsdaten, die mit dem extrahierten Servicedatenobjekt 240 assoziiert sind. Basierend auf den extrahierten relevanten Vertragsdaten erzeugt das Lernmodul 150 eine Vertragsinformationsbenachrichtigung, welche die relevanten Vertragsdaten umfasst. In dem spezifischem Beispiel, wie oben mit Bezug auf 2A dargelegt, können die relevanten Vertragsdaten eines oder mehrere der Determinanten sein: KontaktInfo und die Geschäftszeiten des extrahierten Servicedatenobjekts 240, Name, Adresse, und Kontakte des Benutzerdatenobjekts 220, das der Benutzer ID entspricht, die mit der Client-Anforderung übermittelt wurde. Das Lernmodul sendet die Vertragsinformation an die Clientvorrichtung 310, die Providervorrichtung 330 und optional an die Eigentümervorrichtung. Die Eigentümervorrichtung kann dem Eigentümerdatenobjekt 260 entsprechen, wobei das Eigentümerdatenobjekt 160 der Determinante EigentümerID des jeweiligen Objektdatenobjekts 250 entsprechen kann. In Schritt 855 empfangen die Clientvorrichtung 310, die Providervorrichtung 330 und optional die Eigentümervorrichtung die Vertragsinformationsbenachrichtigung. Schließlich erzeugt das Lernmodul 150 ein Lernergebnis. Das Lernergebnis umfasst das extrahierte Servicedatenobjekt 240, das als ausgewähltes Servicedatenobjekt markiert ist. Das Lernmodul 150 überträgt das Lernergebnis an das Lernwerk 195.
  • Wenn die Abfragerückmeldung der Clientvorrichtung 310 und/oder die Abfragerückmeldung der Providervorrichtung 330 Ablehnungsbenachrichtigungen sind, wird mit Schritt 860 fortgefahren. Insbesondere modifiziert das Lernmodul 150 das Endergebnis 140. Das Modifizieren des Endergebnisses 140 umfasst das Entfernen des extrahierten ersten Servicedatenobjekts 240 von dem Endergebnis 140. Dann fährt das Lernmodul 150 mit Schritt 805 fort, unter Verwendung des modifizierten Endergebnisses 140.
  • Das Lernverfahren des Lernmoduls hat den technischen Effekt, mit dem Lernergebnis, eine Lernbasis für das Lernwerk 195 bereitzustellen, um die Gewichtungen, die den relevanten Determinanten zugewiesen sind, basierend auf dem Lernergebnis flexibel anzupassen. Dementsprechend werden die Netzwerk-Antworten auf die Client-Anforderungen weiter verbessert.
  • 9 zeigt eine beispielhafte Architektur 900 des Computernetzwerks zum adaptiven Anpassen von Netzwerk-Antworten auf Client-Anforderungen 110, 210. Das adaptive Maschinenlernsystem 100 kann auf einem Backend-Server 930 gehostet sein. Auf den Backend-Server 930 kann über eine World Wide Web Consortium (W3C) Webdiensteschnittstelle 910 und eine entsprechende Anwendungsprogrammierschnittstelle (API) 920 zugegriffen werden. W3C ist die primäre Standardorganisation für das World Wide Web und stellt die Kompatibilität und Übereinstimmung unter World Wide Web Anwendungsprovidern sicher durch Verabschieden von Standards, die durch das W3C definiert werden. Das adaptive Maschinenlernsystem 100 umfasst Servicemodule. Die Servicemodule können das Parsermodul 115, das Matching-Modul 105, das Lernmodul 150 und das Lernwerk 195 sein. Die Servicemodule können auf den Backend-Server 930 über die W3C Webdiensteschnittstelle 910 und die API Dienste 920 zugreifen.
  • Jede Client-Anforderung 110, 210 kann von der entsprechenden Clientvorrichtung 310 an das adaptive Maschinenlernsystem 100 über die W3C Webdiensteschnittstelle gesendet werden. Optional kann die Client-Anforderung 110 (semi-)automatisch übermittelt werden nach Prognostizierung eines erforderlichen Serviceereignisses durch ein Serviceintegrationsmodul 1010. Das Serviceintegrationsmodul 1010 wird nachstehend in größerem Detail mit Bezug auf 10 erläutert werden. Die Netzwerk-Antwort kann über die W3C Webdiensteschnittstelle 910 zurückgeliefert werden, welche auf eXtensible Markup Language (XML) und dem Simple Objekt Access Protocol (SOAP) basieren kann.
  • Das Verwenden dieser Kommunikationstechnologie hat den technischen Effekt einer verbesserten Maschine-zu-Maschine Kommunikation. Das Serviceintegrationsmodul 1010 kann die Client-Anforderung 110, 210 an das adaptive Maschinenlernsystem 110 über die W3C Webdiensteschnittstelle 910 bereitstellen und kann die Netzwerk-Antwort über die W3C Webdiensteschnittstelle 910 oder alternativ über eine andere Webdiensteschnittstelle erhalten.
  • Zusätzlich und/oder alternativ kann die Client-Anforderung 110, 210 mittels anderer Kommunikationstechnologien, zum Beispiel über einen Kurzmitteilungsdienst (”Short Message Service”, SMS) übermittelt werden. Das Senden der Client-Anforderung mittels SMS hat den technischen Vorteil einer verbesserten Mensch-Maschine Interaktion und verbesserten Bedienbarkeit des adaptiven Maschinenlernsystems 100, da Benutzer, welche beispielsweise ein altes Mobiltelefon nutzen, das über keine Netzwerkkarte verfügt, wo die Verwendung der W3C Webdiensteschnittstelle 910 nicht angezeigt ist, dennoch Netzwerk-Antworten anfordern können, indem diese Client-Anforderungen 110, 210 mittels SMS übermitteln.
  • Zusätzlich und/oder alternativ kann eine Taskanwendung auf einer oder auf mehreren Clientvorrichtungen 310 installiert werden. Zu diesem Zweck kann ein Serviceintegrationsmodul 1110 auf der einen oder den mehreren Clientvorrichtungen installiert werden. Das Serviceintegrationsmodul 1110, das auf der einen oder den mehreren Clientvorrichtungen 310 installiert wird, wird nachfolgend in größerem Detail mit Bezug auf 11 erläutert. In diesem speziellen Beispiel kann die eine oder können die mehreren Clientvorrichtungen 310 die Client-Anforderung 110, 210 über das Serviceintegrationsmodul 1110 an die W3C Webdiensteschnittstelle 910 übermitteln. Das Serviceintegrationsmodul 1110 ist eingerichtet, eine Vielzahl von Serviceanforderungen zu empfangen, die empfangenen Serviceanforderungen zu aggregieren und die aggregierten Serviceanforderungen an den Serviceprovider I den Server, der den Service bereitstellt weiterzuleiten. Die auf der Clientvorrichtung installierte Taskanwendung kann ein Task oder eine Ereignisverwaltungsanwendung sein, die mit einer Kalenderanwendung integriert ist.
  • 10 zeigt eine weitere beispielhafte Architektur 1000 des Computernetzwerks zum adaptiven Anpassen von Netzwerk-Antworten auf Client-Anforderungen 110, 210. Das adaptive Maschinenlernsystem 100 kann auf einem Backend-Server 930 gehostet sein. Auf den Backend-Server 930 kann über die W3C Webdiensteschnittstelle 910 und entsprechende API Dienste 920 zugegriffen werden. Das Netzwerkergebnis in Antwort auf die übermittelte Client-Anforderung 110, 210 kann von dem adaptiven Maschinenlernsystem 100 an die Clientvorrichtung 310 mittels einer E-Mail an eine Taskanwendung 1030 übermittelt werden, die auf der Clientvorrichtung 310 eines Benutzers installiert ist, der die Clientvorrichtung 310 bedient. Die Netzwerk-Antwort, die von dem adaptiven Maschinenlernsystem 100 erzeugt wurde, kann an die Clientvorrichtung 310 über eine Vielzahl von gebräuchlichen Kommunikationstechnologien übermittelt werden, zum Beispiel SMS, W3C Web Services, E-Mail und so weiter. Insbesondere kann die Netzwerk-Antwort mit entsprechenden Adaptersoftwaremodulen 1030, zum Beispiel einem E-Mail Adaptermodul 1032, einem SMS Adaptermodul 1034, einem HTTP Adaptermodul 1036, oder irgendein anderes geeignetes Adaptermodul 1038, in das jeweilige Datenformat transformiert werden, das für die jeweiligen Kommunikationstechniken erforderlich ist. Jedes Adaptermodul 1030 kann Programmroutinen zum Austausch von Daten mit dem adaptiven Maschinenlernsystem 100 aufweisen, die auf dem Backend-Server 930 gehostet sind. Weiter sind jeweilige Schnittstellen der Adaptermodule bereitgestellt, das heißt, eine E-Mail Schnittstelle 1042, eine SMS Schnittstelle 1044, eine HTTP Schnittstelle 1046 und irgendeine andere Schnittstelle 1048 entsprechend den Schnittstellen des anderen geeigneten Adaptermoduls 1038. Der Datenaustausch zwischen den Schnittstellen 1042, 1044, 1046, 1048 und deren entsprechenden Adaptermodulen 1032, 1034, 1036, 1038 ist mit Doppelpfeilen dargestellt. Zusätzlich und/oder alternativ kann die W3C Webdiensteschnittstelle 910 für den Datenaustausch zwischen der Clientvorrichtung 310 und dem adaptiven Maschinenlernsystem 100 verwendet werden.
  • Das adaptive Maschinenlernsystem 100 kann weiter eine Registry (nicht dargestellt) aufweisen. Die Registry ist eine Datenstruktur zum Zuordnen einer bestimmten Client-Anforderung 110, 210, die von einer Clientvorrichtung 310 empfangen wurde, zu einem entsprechenden Adaptersoftwaremodul 1032, 1034, 1036 und 1038. Die Registry umfasst weiter Information, die erforderlich ist, um die Netzwerk-Antwort an die Clientvorrichtung zu senden unter Verwendung einer bevorzugten Schnittstelle 1042, 1044, 1046, 1048. Zum Beispiel mag für jede Client-Anforderung 110, 210, die eine Mobiltelefonnummer umfasst, die bevorzugte Schnittstelle als die SMS Schnittstelle 1044 definiert sein, die dem SMS Adapter 1034 entspricht. Gemäß einem anderen Beispiel mag für jede Client-Anforderung 110, 210, die eine E-Mail Adresse enthält, die bevorzugte Schnittstelle als die E-Mail Schnittstelle 1042 definiert sein, die dem E-Mail Adapter 1032 entspricht. Dementsprechend kann, nach Empfangen einer Client-Anforderung 110, 210, das adaptive Maschinenlernsystem den Service einem bestimmten Adaptermodul 1032, 1034, 1036 und 1038 zuordnen durch Spezifizieren eines neuen Eintrags in der Registry, welcher die Client-Anforderung 110, 210 mit einem bevorzugten Adaptersoftwaremodul 1032, 1034, 1036 und 1038 verknüpft gemäß spezifizierter (vorbestimmten oder vorbestimmbaren) Regeln.
  • Nach Erzeugen der Netzwerk-Antwort auf die Client-Anforderung 110, 210, kann die Netzwerk-Antwort mittels Push-Technologie an das bevorzugte Adaptersoftwaremodul 1032, 1034, 1036 und 1038 wie in der Registry spezifiziert zurückgeliefert werden.
  • Nach Empfangen der Netzwerk-Antwort erzeugt das jeweilige Adaptersoftwaremodul 1032, 1034, 1036 und 1038 eine Nachricht gemäß der von dem Adaptersoftwaremodul 1032, 1034, 1036 und 1038 unterstützten Kommunikationstechnologie. Die Nachricht umfasst die Netzwerk-Antwort, die in das jeweilige Datenformat transformiert wurde. Die Nachricht wird dann an die entsprechende Schnittstelle 1042, 1044, 1046, 1048 weitergeleitet. Die Schnittstelle überträgt die erzeugte Nachricht an die Clientvorrichtung 310.
  • Zusätzlich und/oder alternativ kann jede Clientvorrichtung 310 eine Kalenderanwendung installiert haben. Die Kalenderanwendung kann eingerichtet sein, eine Client-Anforderung 110, 210 an das adaptive Maschinenlernsystem 100 zu übermitteln, das auf dem Backend-Server 930 gehostet ist, direkt oder indirekt über eine oder mehrere der Schnittstellen 1042, 1044, 1046, 1048 (siehe oben). Wie oben dargelegt kann jede Clientvorrichtung 310 zum Beispiel ein Mobiltelefon, eine Verarbeitungsvorrichtung wie ein Notebook, ein Schreibtischcomputer oder ein Server eines Dritten, eine Navigationsvorrichtung oder ein Smartphone sein. Jede Navigationsvorrichtung kann ein Mobiltelefon sein, das eine Taskanwendung darauf installiert hat und weiter eine Softwarekomponente zum Geben einer GPS-basierten Navigationsunterstützung.
  • Jede Clientvorrichtung 310 kann weiter eingerichtet sein, über die W3C Webdiensteschnittstelle 910 zu kommunizieren. Mit anderen Worten kann jede Clientvorrichtung 310 eine Client-Anforderung 110, 210 direkt an die W3C Webdiensteschnittstelle 910 des adaptiven Maschinenlernsystems 100, das auf dem Backend-Server 930 gehostet ist, übermitteln und die Netzwerk-Antwort über die W3C Webdiensteschnittstelle 910 empfangen.
  • Die Schnittstellen zum Übermitteln der Client-Anforderung 110, 210 und zum Empfangen der Netzwerk-Antwort können einander entsprechen. Das Übermitteln der Client-Anforderung 110, 210 an die W3C Webdiensteschnittstelle 910 und das Empfangen der Netzwerk-Antwort über die W3C Webdiensteschnittstelle 910 kann als synchroner oder als asynchroner Datenaustausch implementiert sein.
  • 11 zeigt eine beispielhafte Client-Server Kommunikation zwischen einer Clientvorrichtung 310, einem Ereignisverwaltungsdienstprovider 1120 und dem adaptiven Maschinenlernsystem 100.
  • In diesem spezifischen Beispiel mag die Client-Anforderung 110, 210, die von der Clientvorrichtung 310 übermittelt wurde, zusätzliche Daten umfassen. Die mit der Client-Anforderung 110, 210 übermittelten zusätzlichen Daten können das adaptive Maschinenlernsystem 100 dazu auffordern, ein Ergebnis an die Clientvorrichtung 310 unter Verwendung einer Anforderungsbenachrichtigungs-E-Mail zurückzusenden. Alternativ kann die zusätzliche Information in einem Benutzerdatenobjekt 220 gespeichert sein, das der Benutzer ID entspricht, die mit der Client-Anforderung 110, 210 empfangen wurde, das in der Anforderungsdatenbank 155 und/oder der Antwortdatenbank 165 gespeichert ist. Falls das adaptive Maschinenlernsystem 100 eingerichtet ist, einen geeigneten Provider zu ermitteln, der dem Servicedatenobjekt 240 entspricht, das in der Antwortdatenbank 165 gespeichert ist, kann eine entsprechende Netzwerk-Antwort an einen E-Mail Adapter 1032 übermittelt werden, der auf dem Backend-Server 930 gehostet wird, der dem adaptiven Maschinenlernsystem 100 entspricht. Der E-Mail Adapter 1032 kann die Daten extrahieren, die in der Netzwerk-Antwort gespeichert sind, und eine entsprechende Anforderungsbenachrichtigungs-E-Mail erzeugen, welche die extrahierten Daten der Netzwerk-Antwort umfasst (das heißt, in dem geeigneten Datenformat). Die Anforderungsbenachrichtigungs-E-Mail kann über eine entsprechende E-Mail Schnittstelle 1042 an eine E-Mail Adresse des Benutzers gesendet werden, der die Clientvorrichtung bedient. Die E-Mail Adresse kann in dem Benutzerdatenobjekt 220 gespeichert werden, das dem Benutzer entspricht, der die Clientvorrichtung 310 bedient. Alternativ kann die E-Mail mit der Client-Anforderung 110, 210 übermittelt werden.
  • Alternativ und/oder zusätzlich wird die Client-Anforderung 110, 210 automatisch durch einen Client-Anforderungs-Ereignisverwaltungsdienstprovider 1120 (hiernach: Ereignisverwaltungsdienst 1120) getriggered. Der Ereignisverwaltungsdienst 1120 kann auf einem entfernten Server installiert sein. Alternativ kann der Ereignisverwaltungsdienst 1120 auf dem Backend Server 930 installiert sein, der das adaptive Maschinenlernsystem 100 hostet. Der Ereignisverwaltungsdienst 1120 kann eine Schnittstelle beinhalten, zum Beispiel eine HTTP Schnittstelle. Die HTTP Schnittstelle kann eine HTML Seite sein, die auf dem entfernten Server gehostet wird, und auf welche die Clientvorrichtungen 310 über das World Wide Web zugreifen können. Die HTTP Seite kann als eine HTML-basierte grafische Benutzerschnittstelle (GUI) dargestellt werden durch einen Browser, der auf der jeweiligen Clientvorrichtung 310 installiert ist. Die HTML Seite kann ein HTML Formular umfassen. Ein Benutzer, der eine Clientvorrichtung 310 bedient, kann das HTML ausfüllen und das HTML Formular an den Ereignisverwaltungsdienst 1120 übermitteln. Nach Übermittlung des HTML Formulars kann die Ausführung des Ereignisverwaltungsdiensts 1120 getriggert werden. Die Ausführung des Ereignisverwaltungsdiensts 1120 kann in einer Reservierung oder einer Bestellung eines Service resultieren, der von einem Provider angeboten wird, der einem Servicedatenobjekt 240 entspricht, das in der internen Datenbank 155 oder in der externen Datenbank 165 des adaptiven Maschinenlernsystems 100 gespeichert ist. Die Reservierung ist mit der Clientvorrichtung assoziiert, welche das ausgefüllte HTML Formular übermittelt hat.
  • Im Nachfolgenden wird ein spezifisches Beispiel des Ereignisverwaltungsdiensts 1120 angegeben. Ein Benutzer, der eine Clientvorrichtung 310 bedient, kann auf den Ereignisverwaltungsdienst 1120 unter Verwendung einer HTML-basierten GUI über einen Browser zugreifen. Der Browser kann auf der Clientvorrichtung 310 installiert sein. Die Clientvorrichtung 310 kann zum Beispiel ein Notebook oder ein Schreibtischcomputer des Benutzers sein. Die Clientvorrichtung kann mit dem Server (das heißt, dem entfernten Server, welcher den Ereignisverwaltungsdienst 1120 hostet) über ein Netzwerk 340, zum Beispiel das Internet, verbunden sein. Mit anderen Worten kann der Benutzer über den Browser auf die HTML-Seite zugreifen, die von dem Ereignisverwaltungsdienst 1120 bereitgestellt wird. Der Benutzer kann dann ein Ereignis/einen Service auswählen, der ein Service sein kann, an dem er interessiert ist. Zum Beispiel können dem Benutzer mittels der GUI Mittel zum Auswählen eines Services (hiernach: Service) ”Inspektion” angeboten werden. Der Verwaltungsservice 1120 kann das adaptive Maschinenlernsystem verwenden, um den ausgewählten Service 'Inspektion' bereitzustellen. Die Mittel zum Auswählen des Ereignisses können eine entsprechende Checkbox oder Radiotaste umfassen.
  • Nach Auswählen des Service kann die Clientvorrichtung 310 einen HTTP Request über das Netzwerk 340 an die HTTP Schnittstelle 1046 des Ereignisverwaltungsdienstes 1120 senden. Der Ereignisverwaltungsdienst 1120 kann den HTTP Request gemäß dessen partikulärer Implementierung verarbeiten.
  • Nach dem Verarbeiten der Benutzerauswahl des Services 'Inspektion' kann der Ereignisverwaltungsdienst 1120 eine Serviceanforderung 1130 an die W3C Webdiensteschnittstelle 910 des adaptiven Maschinenlernsystems 100 übermitteln, das auf dem Backend-Server 930 gehostet wird. Die Serviceanforderung 1130 kann zumindest eines umfassen von einer gewünschten Anfangszeit, einen Ort und ein im Voraus vereinbartes Vertragsdetail des Services, der von dem Benutzer angefordert wurde. Ein im Voraus vereinbartes Vertragsdetail kann zum Beispiel beinhalten, automatisch einen Leihwagen bereitzustellen im Falle eines Autounfalls, oder ein definiertes Kostenniveau für Reifenwechsel.
  • Der Ort der Serviceanforderung kann einen Ort einer Werkstatt repräsentieren, welche den Service, der von dem Benutzer ausgewählt wurde, bereitstellt, das heißt, die Inspektion. Die Inspektion kann eine vom Benutzer geplante Autoinspektion sein. Die gewünschte Anfangszeit mag eine späteste akzeptierbare Inspektionszeit sein. Alternativ kann die Serviceanforderung weiter einen Abfahrtsort umfassen, welcher der gegenwärtige Ort des Benutzers sein mag. Der Abfahrtsort mag vom Benutzer beim Ausfüllen des Formulars über zusätzliche GUI Elemente übermittelt werden.
  • Das adaptive Maschinenlernsystem 100 kann die Daten aus der Serviceanforderung 1130 extrahieren. Basierend auf der Benutzer ID, die mit der Serviceanforderung 1130 übermittelt wurde, kann das adaptive Maschinenlernsystem 100 das Benutzerdatenobjekt 220, das der Benutzer ID entspricht, und jedes andere Benutzerdatenobjekt 220 extrahieren, das in der Antwortdatenbank 165 gespeichert ist, welches den selben Service angefordert hat, in diesem Beispiel den Service 'Inspektion'. Falls zumindest ein Benutzerdatenobjekt 220 denselben Service angefordert hat und eine Determinante Autopräferenzen (die in den Containerpräferenzen des zumindest einen Benutzerdatenobjekt 220 gespeichert sein mag) ähnlich der Determinanten Autopräferenzen des anfordernden Benutzers ist, kann das adaptive Maschinenlernsystem eine entsprechende Antwort erzeugen und an die Clientvorrichtung übermitteln. Insbesondere kann die erzeugte Antwort eine Serviceantwortbenachrichtigungs-E-Mail sein. Dementsprechend werden Antworten anderer Benutzer berücksichtigt beim Erzeugen der Antwort spezifisch im Hinblick auf die Tatsache, dass zumindest ein Benutzer ähnliche Präferenzen und/oder denselben Service angefordert haben mag. Dementsprechend werden die Ergebnisse des adaptiven Maschinenlernsystems vorteilhafter Weise durch die Antworten beeinflusst, was zu einem akkurateren Ergebnis führt, während dies eine verminderte Verarbeitungslast impliziert, um das Ergebnis zu berechnen. Die erzeugte Antwort über den Backend-Server 930, der das adaptive Maschinenlernsystem 100 hostet, an den Server, der den Ereignisverwaltungsdienst 1120 hostet, übermittelt werden. Der Server, der den Ereignisverwaltungsdienst 1120 hostet, kann mehrere Schnittstellen und entsprechende Adapter umfassen, wie oben mit Bezug auf 10 erläutert, das heißt, eine E-Mail Schnittstelle 1042 und einen entsprechenden E-Mail Adapter 1032, eine SMS Schnittstelle 1044 und einen entsprechenden SMS Adapter 1034. Einige Paare Schnittstelle/Adapter können alternativ auf einem externen Server gehostet werden, um zum Beispiel die Leistungsfähigkeit des Servers zu verbessern, der den Ereignisverwaltungsdienst 1120 hostet. Jedes Adaptersoftwaremodul 1032, 1034, 1036 und 1038 ist eingerichtet, eine erzeugte Antwort zu empfangen. Die erzeugte Antwort kann gemäß den Erfordernissen des verwendeten Kommunikationsprotokolls, das verwendet wird, um die erzeugte Antwort an die Clientvorrichtung 310 zu senden, verarbeitet und formatiert werden. Die formatierte erzeugte Antwort wird dann von dem jeweiligen Adaptermodul 1032, 1034, 1036 und 1038 zu dessen entsprechender Schnittstelle 1042, 1044, 1046 und 1048 weitergeleitet und an die Clientvorrichtung gesendet.
  • Mit anderen Worten kann die erzeugte Antwort an die Clientvorrichtung 310 mittels verschiedener Kommunikationstechnologien übermittelt werden, einschließlich SMS, W3C Webdienste und E-Mail, wobei die entsprechenden Adaptersoftwaremodule 1032, 1034, 1036 und 1038 die erzeugte Antwort gemäß dem geeigneten, jeweils für die jeweilige Kommunikationstechnologie notwenigen Format verarbeiten können. Jedes Adaptersoftwaremodul 1032, 1034, 1036 und 1038 umfasst Programmroutinen zum Austausch von Daten mit dem adaptiven Maschinenlernsystem 100, das auf dem Backend-Server 930 gehostet wird, die entsprechenden Schnittstellen 1042, 1044, 1046 und 1048 und die W3C Webdiensteschnittstelle 910.
  • In einem Beispiel kann jedes Benutzerdatenobjekt, das in der internen Datenbank 155 und/oder in der externen Datenbank 165 gespeichert ist, eine benutzerdefinierte Determinante haben, um zu spezifizieren, wie die Netzwerk-Antwort und/oder die erzeugte Antwort an die entsprechende Schnittstelle der Clientvorrichtung 310 übertragen werden soll. Diese Spezifikation kann zum Beispiel von einer Zeitspanne zwischen dem Erzeugen der erzeugten Antwort und einer Anfangszeit des angeforderten Service abhängen. Zum Beispiel kann eine benutzerdefinierte Spezifikation das Empfangen des erzeugten Ergebnisses mittels einer E-Mail einen Tag vor der Anfangszeit des Service umfassen. Zusätzlich und/oder alternativ kann eine benutzerdefinierte Spezifikation das Empfangen des erzeugten Ergebnisses mittels SMS eine Stunde vor der Anfangszeit des angeforderten Service umfassen.
  • Gemäß einem anderen Beispiel kann jeder Service, der durch das adaptive Maschinenlernsystem 100 bereitgestellt wird, in eine Taskanwendung integriert werden, die auf einer Clientvorrichtung 310 läuft. In diesem Beispiel ist die Clientvorrichtung 310 ein Notebook. Zum Beispiel kann ein Serviceintegrationsmodul auf der Clientvorrichtung 310 installiert sein. Das Serviceintegrationsmodul 1110 kann eine Client-Anforderung 110, 210 an zumindest eine der Schnittstellen 1042, 1044, 1046, 1048 des adaptiven Maschinenlernsystems 100 übermitteln.
  • In einem anderen Beispiel kann die Serviceanforderung 1130 von dem Serviceintegrationsmodul 1110, das auf der Clientvorrichtung 310 installiert ist, an eine der Schnittstellen 1042, 1044, 1046, 1048 des Ereignisverwaltungsdiensts 1120 gesendet werden. In diesem Fall kann die erzeugte Antwort über dieselbe jeweilige Schnittstelle 1042, 1044, 1046, 1048 an das Serviceintegrationsmodul 1110 zurückgeliefert werden. Das Serviceintegrationsmodul 1110 kann eine Serviceanforderung 1130 in einem Taskmanager erzeugen und/oder modifizieren. Die Serviceanforderung 1130 kann von dem Serviceintegrationsmodul 1110, das auf dem Notebook installiert ist, an eine der Schnittstellen 1042, 1044, 1046, 1048 des Ereignisverwaltungsdiensts 1120 übermittelt werden. Gemäß den Einstellungen der benutzerdefinierten Spezifikation mag der Benutzer, der das Notebook bedient, es bevorzugen, die erzeugte Antwort per E-Mail zu empfangen. Falls ein passender Service gefunden wurde und erfolgreich der Clientvorrichtung 310 zugeordnet werden konnte durch den Ereignisverwaltungsdienst 1120, wird die erzeugte Antwort an den E-Mail Adapter 1032 des Ereignisverwaltungsdiensts 1120 übermittelt. Der E-Mail Adapter 1032 erzeugt eine Service-E-Mail, die das erzeugte Ergebnis umfasst, und überträgt die erzeugte Service-E-Mail an die Taskanwendung 1110, die auf dem Laptop installiert ist. Die Taskanwendung 1110 erzeugt ein Ereignis, das dem mit der Service-E-Mail empfangenen erzeugten Ergebnis entspricht.
  • Gemäß einem weiteren Beispiel wird eine Serviceanforderung 1130 von einem Serviceintegrationsmodul 1110, das auf der Clientvorrichtung 310 installiert ist, die in diesem Beispiel ein Mobiltelefon ist, an die SMS-Schnittstelle 1044 des Ereignisverwaltungsdiensts 1120 übermittelt. Gemäß den Einstellungen der benutzerdefinierten Spezifikation, mag der Benutzer, der das Mobiltelefon bedient, es bevorzugen, dass das erzeugte Ergebnis mittels E-Mail empfangen wird. Falls ein passender Service gefunden wurde und der Clientvorrichtung 310 durch den Ereignisverwaltungsdienst 1120 erfolgreich zugewiesen werden konnte, wird die erzeugte Antwort an den E-Mail Adapter 1032 des Ereignisverwaltungsdiensts 1120 übermittelt. Der E-Mail Adapter 1032 erzeugt eine Service-E-Mail, die das erzeugte Ergebnis umfasst, und überträgt die erzeugte Service-E-Mail an die Taskanwendung 1110, die auf dem Mobiltelefon installiert ist. Die Taskanwendung 1110 erzeugt ein Ereignis, das dem mit der Service-E-Mail empfangenen erzeugten Ergebnis entspricht.
  • Gemäß einem nochmals weiteren Beispiel wird durch den Ereignisverwaltungsdienst 1120 eine Webseite, die eine GUI umfasst, bereitgestellt. Ein Benutzer, der eine Clientvorrichtung bedient, kann eine Serviceanforderung 1130 spezifizieren, die an den Ereignisverwaltungsdienst 1120 gerichtet ist, indem er ein jeweiliges ausgefülltes HTML Formular übermittelt, das benutzerdefinierte Spezifikationen über ein angefragtes Ereignis/Service umfasst. Die HTTP-basierte Serviceanforderung 1130 wird an eine HTTP Schnittstelle 1046 des Ereignisverwaltungsdiensts 1120 gesendet. Die HTTP Schnittstelle 1046 erzeugt eine entsprechende Serviceanforderung, die von dem Ereignisverwaltungsdienst 1120 an die W3C Webdiensteschnittstelle 910 des adaptiven Maschinenlernsystems 100 übermittelt wird. Gemäß den Einstellungen der benutzerdefinierten Spezifikation mag es der Benutzer bevorzugen, das erzeugte Ergebnis mittels E-Mail zu empfangen. Falls ein passender Service gefunden wird und von dem Ereignisverwaltungsdienst 1120 erfolgreich der Clientvorrichtung 310 zugewiesen werden konnte, wird die erzeugte Antwort an den E-Mail Adapter 1032 des Ereignisverwaltungsdiensts 1120 übermittelt. Der E-Mail Adapter 1032 erzeugt eine Service-E-Mail, die das erzeugte Ergebnis umfasst, und überträgt die erzeugte Service-E-Mail an die Taskanwendung 1110, die auf der Clientvorrichtung 310 des Benutzers installiert ist. Die Taskanwendung 1110 erzeugt ein Ereignis, das dem in der erhaltenen Ereignis/Service-E-Mail enthaltenen erzeugten Ergebnis entspricht.
  • Das Serviceintegrationsmodul 1110 ist eingerichtet, einen Ereignisverwaltungsdienst 1120 in eine Taskanwendung zu integrieren. Das Verwenden des Serviceintegrationsmoduls 1110 hat den technischen Vorteil, dass erforderliche Serviceanforderungen 1120 automatisch erkannt und/oder erzeugt werden können. Darüber hinaus wird das Eingeben und Spezifizieren einer Serviceanforderung 1120 mittels einer GUI ermöglicht. Dies hat den technischen Vorteil einer verbesserten Interaktion Mensch-Maschine. Merkmale wie das Zuordnen von Bezeichnern zu eindeutigen Adressaten sind hochgradig nützlich im Kontext von Services, die helfen, Services/Ereignisse zu organisieren, mögen aber unnötig sein, falls ein anderer Reparaturservice integriert wird. Dies hat den technischen Vorteil einer ermöglichten bzw. erleichterten Zuordnung von wiederkehrenden Ereignissen und einer ermöglichten bzw. erleichterten Allokation von Vorräten. Dementsprechend kann das jeweilige Ergebnis auf effizientere Weise berechnet werden, was in einigen Fällen insbesondere zu einer geringeren Menge an Vorräten führen kann, die für die Berechnung erforderlich sind. Weiter wird eine clientvorrichtungsbasierte Allokation von Providern 330, die einen Service bereitstellen, ermöglicht.
  • Gemäß einem nochmals weiteren Beispiel wird die clientvorrichtungsbasierte Allokation von Providern, zum Beispiel Reparaturwerkstätten, durch ein Providerallokationsprogramm ausgeführt, das auf Clientvorrichtungen 310 installiert sein kann. Das Providerallokationsprogramm kann eine oder mehrere Maschine-zu-Maschine Schnittstellen 1042, 1044, 1046, 1048 aufweisen, welche jeweilige Vorrichtungen 310, 330, 930, 1120 in die Lage versetzt, um Daten über ein Netzwerk 340, zum Beispiel das Internet, auszutauschen mittels zum Beispiel einer Mobiltelefonverbindung oder einer anderen Technologie, die für den Austausch von Daten über das Netzwerk 340 geeignet ist. Das Providerallokationsprogramm kann einen Benutzer, der einen Client 310 bedient, dazu auffordern, eine vorgeschlagene Serviceanforderung mittels einer GUI zu akzeptieren oder abzulehnen. Jeder Benutzer, der eine Clientvorrichtung 310 bedient, die das Providerallokationsprogramm installiert hat, kann in einem entsprechenden Benutzerprofil spezifizieren, ob er möchte, dass seine Position nachverfolgt wird während einem Serviceprozess entsprechend den Service/Entitäten-Anforderungen. Wenn ein Benutzer zum Beispiel bemerkenswert von seiner gegenwärtigen Position abweicht, oder falls ein Benutzer Bedenken gegenüber Providern hat, für die keine Bewertung zum Beispiel im Internet verfügbar ist, kann die Nachverfolgungsoption dem Benutzer dabei helfen, sicherzustellen, dass ein geeigneter Provider in einer spezifizierten (vorbestimmten oder vorbestimmbaren) Entfernung von seinem aktuellen Ort gefunden werden kann. Die Nachverfolgungsfunktionalität erfordert, dass die Clientvorrichtung 310 Mittel zum Bestimmen der aktuellen Position der Clientvorrichtung aufweist. Eine geeignete Clientvorrichtung 310 kann zum Beispiel ein Mobiltelefon sein, das ein GPS Modul umfasst. Das adaptive Maschinenlernsystem 100 kann die Positionsdaten von der Clientvorrichtung 310 empfangen und die empfangene Position in der Anforderungsdatenbank 155 und/oder der Antwortdatenbank 165 speichern. Die Positionsdaten können aus der Anforderungsdatenbank 155 und/oder der Antwortdatenbank 165 gelöscht werden, sobald erkannt wird, dass der jeweilige Benutzer den Ort des Providers 330 erreicht hat.
  • Das adaptive Maschinenlernsystem 100 kann weiter eine zweite Nachverfolgungsfunktionalität aufweisen durch nachverfolgen der Position der Clientvorrichtungen 310, welche gegenwärtig einen Service anfordert, der einem Provider entspricht. Falls die Position der Clientvorrichtung 310 signifikant von einer zuvor bestimmten Route zu einem Ort des Providers abweicht, kann ein Alarm ausgelöst werden um sicherzustellen, dass die Clientvorrichtung 310 nicht durch Diebstahl bewegt wird.
  • Das Providerallokationsprogramm, das auf einer Clientvorrichtung 310 installiert ist, ermöglicht die Verwendung des adaptiven Maschinenlernsystems 110. Folglich wird die Interaktion Mensch-Maschine weiter verbessert. Das Providerallokationsprogramm ist eingerichtet, mit dem adaptiven Maschinenlernsystem 100 zu kommunizieren. Das Providerallokationsprogramm verwaltet vier unterschiedliche Listen von Datenobjekten, welche prognostizierte, publizierte, vereinbarte und frühere Service repräsentiert. Mit anderen Worten verwaltet das Providerallokationsprogramm eine Liste prognostizierter Service, eine Liste publizierter Service, eine Liste vereinbarter Service und eine Liste früherer Service.
  • Es wird sich auf die Datenobjekte dementsprechend als prognostizierte, publizierte, vereinbarte und frühere Servicedatenobjekte 240 bezogen. Jedes Servicedatenobjekt 240 umfasst zumindest eine Spezifikation einer Anfangszeit und einer Ankunftszeit eines Service, eines Orts des Service, eines Ort eines Ereignisses, zum Beispiel ein Unfall, eines im Voraus verhandelten Vertrags und geschätzter Reparaturkosten.
  • Die Liste prognostizierter Service, welche prognostizierte Servicedatenobjekte umfasst, wird nur auf der jeweiligen Clientvorrichtung 310 gespeichert. Prognostizierte Servicedatenobjekte können Servicedatenobjekte sein, die von dem Serviceintegrationsmodul 1110 prognostiziert wurden, das auf der Clientvorrichtung installiert ist.
  • Ein prognostiziertes Servicedatenobjekt kann auch manuell durch den Benutzer erstellt werden, der die Clientvorrichtung bedient, zum Beispiel über eine GUI, die von dem Providerallokationsprogramm bereitgestellt wird. Wie oben dargelegt, werden die prognostizierten Servicedatenobjekte nur auf der Clientvorrichtung 310 gespeichert, und sind dem adaptiven Maschinenlernsystem 100 nicht bekannt. Falls zum Beispiel der Benutzer einen Reifenservice plant, sich aber nicht sicher ist, ob er in der Lage sein wird, diesen Service an dem spezifizierten Tag zu nutzen, kann er das Reparaturdatenobjekt im Voraus definieren. Die Hauptfunktion der Liste prognostizierter Service ist es, als ein Container für benutzergeplante Services zu dienen, für die immer noch einige relevante Daten fehlen, zum Beispiel ein Ort des Service, oder wenn es nicht sicher ist, ob der geplante Service überhaupt stattfindet.
  • Mögliche Aktionen des Benutzers auf den prognostizierten Servicedatenobjekten sind: erzeugen, löschen, editieren und publizieren. Die Publikation eines prognostizierten Servicedatenobjekts ist äquivalent zum Bewegen des jeweiligen prognostizierten Servicedatenobjekts zu der Liste publizierter Service, welche publizierte Servicedatenobjekte umfasst. Das Bewegen eines bestimmten prognostizierten Servicedatenobjekts von der Liste prognostizierter Service zu der Liste publizierter Service triggert die Übermittlung einer Serviceanforderung 1130 an das adaptive Maschinenlernsystem 100. Die Serviceanforderung 1130 kann die Servicespezifikationen (wie oben dargelegt) des prognostizierten Servicedatenobjekts umfassen. Das publizierte Servicedatenobjekt wird von dem adaptiven Maschinenlernsystem 100 in der Anforderungsdatenbank 155 und/oder der Antwortdatenbank 165 gespeichert. Das adaptive Maschinenlernsystem 100 extrahiert die Servicespezifikationen, die dem publizierten Servicedatenobjekt entsprechen, und weitere Spezifikationen, die dem Benutzerprofil des Benutzers, der die Serviceanforderung übermittelt hat, entsprechen, um ein potentielles Servicedatenobjekt zu erzeugen. Das potentielle Servicedatenobjekt kann von dem adaptiven Maschinenlernsystem 100 in einem nächsten Schritt dazu verwendet werden, um eine Zuordnungsdienst und einen Matching-Dienst auszuführen. Der Zuordnungsdienst kann die Anforderungsdatenbank 155 und/oder die Antwortdatenbank 165 nach Benutzerdatenobjekten 220 parsen, die Präferenzen aufweisen, die ähnlich den Präferenzen des Benutzerdatenobjekts 220 sind, das dem Benutzer entspricht, der die Serviceanforderung 1130 übermittelt hat. Darüber hinaus bestimmt der Matching-Dienst, ob das Benutzerprofil des Benutzers, der die Serviceanforderung 1130 übermittelt hat, und Determinanten von potentiellen Servicedatenobjekten 240 zueinander passen bzw. ”matchen” oder einander entsprechen, zum Beispiel mit Bezug auf die benutzerdefinierten Servicepräferenzen (die in der Determinante Präferenzen des Benutzerdatenobjekts 220 gespeichert sein können). Falls eine Vielzahl von Benutzerdatenobjekten 220 zu dem Benutzerdatenobjekt 220 passen, das dem Benutzer entspricht, der die Serviceanforderung 1130 übermittelt hat, werden die passenden bzw. ”matchenden” Profile automatisch dem entsprechenden Servicedatenobjekt 240 zugeordnet. Dementsprechend wird ein Matching-Ergebnis erzeugt. Das Matching-Ergebnis umfasst die Servicedatenobjekte 240, die am besten zu dem Benutzer passen, der die Serviceanforderung 1130 übermittelt hat. Das Matching-Ergebnis kann über eine Serviceanforderung zweiter Ordnung an den E-Mail Adapter 1032 des adaptiven Maschinenlernsystems 100 transferiert werden. Der E-Mail Adapter 1032 kann eine Meetinganforderung/Benachrichtigungsaufgabe erstellen, umfassend die E-Mail Adresse des Clients, der die Serviceanforderung 1130 übermittelt hat, in einem Empfängerfeld. Die Meetinganforderung/Benachrichtigungsaufgabe kann mittels E-Mail an einen Taskmanager der Clientvorrichtung 310 gesendet werden über eine Taskmanagerschnittstelle, mit dem Ergebnis, dass der Taskmanager der Clientvorrichtung aktualisiert wird. Der aktualisierte Taskmanager umfasst ein neues Serviceereignis, mit einer Ankunftszeit, einem Ort des Service und mit den Benutzerspezifikationen mit Bezug auf einen oder mehrere Provider 330, welche den betreffenden Service bereitstellen.
  • Die Liste publizierter Service umfasst publizierte Servicedatenobjekte 240 und ist auf der Clientvorrichtung 310 gespeichert. Wenn die Spezifikationen, die jedem publizierten Servicedatenobjekt entsprechen, als publizierte Serviceanforderung an das adaptive Maschinenlernsystem 100 übermittelt werden nach Publikation von potentiellen Servicedatenobjekten auf dem Backend-Server 930, sind die Daten, die in der Liste publizierter Service enthalten sind, auch auf dem Backend-Server 930 vorhanden. Ein prognostiziertes Servicedatenobjekt braucht nicht notwendiger Weise basierend auf der Liste prognostizierter Service erzeugt werden. Ein publiziertes Servicedatenobjekt wird jedoch für jedes publizierte Servicedatenobjekt in der Liste publizierter Service erzeugt. Jedes publizierte Servicedatenobjekt kann automatisch oder manuell durch den Benutzer erzeugt werden. Ein erzeugtes publiziertes Servicedatenobjekt wird automatisch an das adaptive Maschinenlernsystem 100 in Form einer publizierten Serviceanforderung übermittelt. Auf dem Backend-Server triggert die publizierte Serviceanforderung das Erzeugen eines Anforderungsdatenobjekts 230 und das Ausführen des Matching-Verfahrens. Die Anforderungsdatenobjekte 230, die der Liste publizierter Service entsprechen, können erzeugt, editiert oder gelöscht werden. Jede Aktion, die auf den publizierten Servicedatenobjekten ausgeführt wird, wird automatisch an das adaptive Maschinenlernsystem 100 in der Form einer publizierten Serviceanforderung übermittelt werden.
  • Das Serviceintegrationsmodul 1110 kann automatisch die publizierten Servicedatenobjekte prognostizieren und erzeugen, die den Servicedatenobjekten in der publizierten Serviceliste entsprechen. Das Serviceintegrationsmodul 1110 hat Lese- und Schreibzugriff auf eine Serviceanwendung und auf eine Liste prognostizierter und publizierter Service des Providerallokationsprogramms. Falls das Serviceintegrationsmodul 1110 einen benötigten Service prognostiziert, kann das Serviceintegrationsmodul 1110 ein prognostiziertes Anforderungsdatenobjekt oder ein entsprechendes publiziertes Anforderungsdatenobjekt erzeugen.
  • Wenn das Serviceintegrationsmodul 1110 ein prognostiziertes Servicedatenobjekt erzeugt basierend auf der Liste prognostizierter Service, hat der Benutzer die Möglichkeit, das ”Prognoseergebnis” zu begutachten und den prognostizierten Service manuell zu publizieren. Falls das Serviceintegrationsmodul ein publiziertes Anforderungsdatenobjekt 230 aus einem publizierten Servicedatenobjekt 240 in der Liste publizierter Service erzeugt, wird eine entsprechende publizierte Serviceanforderung automatisch an das adaptive Maschinenlernsystem 100 übermittelt. Das Serviceintegrationsmodul 1110 kann als ein ”Plug-In” oder als ein ”Add-In” für unterschiedliche Smartphone-Betriebssysteme (OS) implementiert werden.
  • Zusätzlich und/oder alternativ kann das Serviceintegrationsmodul 1110 als ein unabhängiges Serviceprogramm implementiert werden, das als ein Ereignis-Listener für ein Ereignis bei einer Ereignisanwendung oder dem Groupware-Server der Ereignisanwendung registriert ist. Das Serviceintegrationsmodul 1110 kann auch implementiert werden als eine unabhängige Serviceprogramm-Task-Aktualisierungsliste. Da das Serviceintegrationsmodul 1110 mit jeder Taskanwendung bzw. jedem Task-Groupware-Server interoperabel sein muss, hängen die Implementierungsdetails des Serviceintegrationsmoduls von dem Typ und der Version der Taskanwendung ab, zum Beispiel von einer bestimmten Version der Taskmanageranwendungen (zum Beispiel Lotus Notes, Smartphone-Apps).
  • Das Providerallokationsprogramm kann als ein Ereignis-Listener implementiert sein, der auf den Erzeugung von Ereignissen in einer Taskanwendung hört, die auf der Clientvorrichtung 310 installiert sein kann. Wenn der Benutzer der Clientvorrichtung 310 zum Beispiel ein neues Ereignis spezifiziert, erzeugt die Reparaturverwaltungssoftware automatisch ein prognostiziertes Servicedatenobjekt 240 in der Liste prognostizierter Service.
  • Die Liste vereinbarter Service kann in dem Backend-Server 930 und in der Clientvorrichtung 310 gespeichert sein, und kann vereinbarte Servicedatenobjekte umfassen. Falls das Providerallokationsprogramm zumindest ein passendes potentielles Servicedatenobjekt bestimmt, und wenn das entsprechende passende Benutzerdatenobjekt erfolgreich dem Benutzer der Clientvorrichtung 310, die das Providerallokationsprogramm umfasst, zugewiesen werden konnte, wird ein vereinbartes Servicedatenobjekt durch den Serviceteildienst erzeugt und in der Anforderungsdatenbank 155 und/oder der Antwortdatenbank 165 gespeichert. Die entsprechenden publizierten Servicedatenobjekte auf Seiten des Servers werden ergänzt mit einem Zeiger auf das vereinbarte Servicedatenobjekt in der Liste vereinbarter Service. Die vereinbarten Reparaturdatenobjekte werden ebenfalls ergänzt mit zumindest zwei Zeigern auf deren zumindest zwei jeweiligen publizierten Servicedatenobjekte, die dem Benutzer bzw. dem zumindest einem Serviceprovider entsprechen.
  • Das vereinbarte Servicedatenobjekt ist ähnlich zu, aber nicht identisch mit dem publizierten Servicedatenobjekt, von dem es abgeleitet ist: zum Beispiel haben der Benutzer und der Provider über ein publiziertes Servicedatenobjekt einen Ortsrahmen und ein Serviceszenario (zum Beispiel Softwareupdate), wobei beide willens waren, den Service anzunehmen. Andererseits umfassen vereinbarte Servicedatenobjekte die Anfangszeit und die Endzeit des tatsächlichen Service. Die Spezifikationen der vereinbarten Service werden von dem adaptiven Maschinenlernsystem 100 an die Clientvorrichtung 310 übermittelt, was dazu führt, dass ein vereinbartes Servicedatenobjekt in der Liste vereinbarter Service erzeugt wird, die auf der Clientvorrichtung 310 und auf der Anforderungsdatenbank 155 und/oder der Antwortdatenbank 165 des adaptiven Maschinenlernsystems 100 gespeichert ist, und dass das entsprechende publizierte Servicedatenobjekt in der Liste publizierter Service gelöscht wird. Die vereinbarten Servicedatenobjekte der Liste vereinbarter Service können editiert, gelöscht oder verwendet werden, damit der Benutzer des Providerallokationsprogramms den zugewiesenen Provider kontaktieren kann.
  • Die Liste früherer Service umfasst frühere Servicedatenobjekte. Nachdem die Servicezeit gemäß den Spezifikationen des vereinbarten Servicedatenobjekts erreicht wird, wird das entsprechende vereinbarte Servicedatenobjekt aus der Liste vereinbarter Service in die Liste früherer Service bewegt, die frühere bzw. vergangene Servicedatenobjekte umfasst. Dieses Bewegen wird durch das Providerallokationsprogramm ausgeführt, das auf der Clientvorrichtung installiert ist, und auch auf dem Backend-Server 930. Ein Benutzer kann ein früheres Servicedatenobjekt auswählen, um Rückmeldungsinformation über den Provider zu geben, der dem früheren Servicedatenobjekt entspricht, oder um besagten Provider zu kontaktieren. Der frühere Service kann nach drei Monaten von der Liste früherer Service zu einer separaten Entität bewegt werden. Die separate Entität kann als eine Lernbasis des Stimmungswerks 170 dienen.
  • Das Providerallokationsprogramm und das Serviceintegrationsmodul 1110 können als ein einzelnes Stück Software implementiert sein, das die Fähigkeiten und Funktionen beider Softwaremodule vereinigt. Das Providerallokationsprogramm kann als eine Software implementiert werden, die auf einem Android und/oder iOS Betriebssystem läuft. Das Providerallokationsprogramm kann weiter eingerichtet sein, die Kommunikation zwischen jeder Clientvorrichtung 310 und dem Backend-Server 930 während dem automatischen und/oder semiautomatischen Servicezuweisungsprozess zu verwalten. Das Providerallokationsprogramm kann weiter die Kommunikation zwischen zwei Clientvorrichtungen 310 verwalten, zum Beispiel bei der automatischen und/oder semiautomatischen clientvorrichtungsbasierten Zuweisung von Serviceprovidern. Um die Kommunikationsfunktionalitäten bereitzustellen kann das Providerallokationsprogramm eine geeignete Schnittstelle zum Austausch von Nachrichten mit dem Backend-Server des adaptiven Maschinenlernsystems 100 und mit anderen Instanzen des Providerallokationsprogramms, die auf anderen Vorrichtungen installiert sein mögen, umfassen.
  • Beispielimplementation
  • Im Nachfolgenden wird ein Implementationsbeispiel angegeben für das Verarbeiten der Client-Anforderung 110, 210 in dem Computernetzwerk zum adaptiven Anpassen von Netzwerk-Antworten auf Client-Anforderungen 110, 210, um verbesserte Netzwerk-Antworten bereitzustellen unter Verwendung des adaptiven Maschinenlernsystems 110. Der Gegenstand ist jedoch nicht auf dieses spezifische Beispiel beschränkt. Vielmehr dient dieses Beispiel zu Zwecken der Veranschaulichung für die Verarbeitung der Anforderung 110, 210 in Übereinstimmung mit dem System mit Bezug auf die obigen 1 bis 8.
  • Das adaptive Maschinenlernsystem 100 kann von einem Server eines Flottenverwaltungsserviceproviders ausgeführt werden. Der Server kann ein entfernter Server sein, zum Beispiel ein Backend-Server 930, der den Flottenverwaltungsserviceprovider (einschließlich des adaptiven Maschinenlernsystems 100) hostet.
  • Eine Clientvorrichtung 310 kann eine Serviceanforderung 110, 210 an das adaptive Maschinenlernsystem 100 des Flottenverwaltungsserviceprovider (hiernach: System 100) übermitteln. Die Serviceanforderung 110, 210 kann Daten umfassen, die das System 100 in die Lage versetzen, ein Anforderungsdatenobjekt 230 zu erzeugen und zu spezifizieren. Wie oben dargelegt umfasst jede Client-Anforderung 110, 210 zumindest eine Benutzer ID, eine Objekt ID, die in diesem spezifischen Beispiel eine Auto ID sein kann, einen Servicetyp, der in diesem spezifischen Beispiel ein Unfalltyp sein kann, und einen Ort, der in diesem spezifischen Beispiel ein Unfallort sein wird, wo ein Auto, das der Auto ID entspricht, einen Unfall gehabt haben mag. Wie oben dargelegt kann die Client-Anforderung 110, 210 von einem Softwareprogramm, das auf der Clientvorrichtung 310, welche die Client-Anforderung 110, 210 sendet, installiert ist, automatisch gesendet werden. Das Softwareprogramm kann ein Serviceintegrationsmodul 1110 sein, wie oben mit Bezug auf 11 im Detail erläutert. Zum Beispiel kann die Clientvorrichtung Sensortypdaten von einer Pflegeindikation über einen Unfall, der stattgefunden hat, und einen Typ des Unfalls erhalten. Eine Pflegeindikation kann ein wiederkehrendes Ereignis sein oder diesem entsprechen, zum Beispiel ein Reparatur/Wartungsereignis. Das Serviceintegrationsmodul 1110 der Clientvorrichtung 310 kann einen akkuraten Servicetyp prognostizieren basierend auf den Sensortypdaten. In diesem spezifischen Beispiel mag der Servicetyp ein Reparaturtyp sein, der dem Autounfall entspricht. Die Serviceintegration kann 1110 die Client-Anforderung 110, 210 übermitteln.
  • In einem nächsten Schritt kann die Client-Anforderung 110, 210 von dem System 100 empfangen werden. Das System 100 kann mehrere Webdiensteschnittstellen zum Empfangen der Client-Anforderungen 110, 210 und zum Zurückliefern entsprechender Netzwerk-Antworten in Übereinstimmung mit dem Client-Server Paradigma umfassen. Die Webdiensteschnittstellen sind oben in größerem Detail mit Bezug auf 10 erläutert. Die Client-Anforderung 110, 210 kann eine XML-basierte Web Client-Anforderung 110, 210, eine Client-Anforderung 110, 210 E-Mail oder eine Client-Anforderung 110, 210 SMS sein (wie oben mit Bezug auf 9 und 10 erläutert).
  • Nach Empfangen der Client-Anforderung 110, 210 bei dem System 100 wird die Client-Anforderung 110, 210 dem Parsermodul 115 übermittelt. Das Parsermodul 115 kann die Daten aus der Client-Anforderung 110, 210 extrahieren, die notwendig sind, um ein potentielles Reparaturdatenobjekt 230 zu erzeugen (das heißt, das Anforderungsdatenobjekt 230). In einem nächsten Schritt kann das Parsermodul 115 Daten, die aus der Client-Anforderung 110, 210 extrahiert wurden, mit der Anforderungsdatenbank 155 und/oder der Antwortdatenbank 165 zuordnen, um eine angereicherte Client-Anforderung 125 zu erzeugen. Die angereicherte Client-Anforderung 125 kann in diesem spezifischen Beispiel einen Ort eines Unfalls (wie mit der Client-Anforderung 110, 210 übermittelt), einen Namen des Benutzers, der die Clientvorrichtung 310 bedient, eine Adresse des Benutzers, benutzerdefinierte Präferenzen (die aus einem Benutzerdatenobjekt 220 extrahiert wurden, das der Benutzer ID entspricht, die mit der Client-Anforderung 110, 210 empfangen wurde), einen Unfalltyp (das heißt, dem Servicetyp, der mit der Client-Anforderung 110, 210 übermittelt wurde), einem gewünschten Startzeitpunkt der Reparatur (der von dem Benutzer spezifiziert werden mag, der die Clientvorrichtung 310 bedient), eine Automarke, einen Kilometerstand des Autos, ein Herstellungsdatum des Autos, eine Unfallhistorie des Autos und einen Eigentümer des Autos, der einem Eigentümerdatenobjekt 260 entspricht (das aus einem Autodatenobjekt 250 extrahiert wurde, das der Auto ID entspricht, die mit der Client-Anforderung 110, 210 empfangen wurde). In diesem spezifischen Beispiel ist der Eigentümer des Autos ein Flottenverwalter, dem das System 100 gehört. Darüber hinaus werden eine Kontaktinformation des Flottenverwalters 260, Konfigurationen des Flottenverwalters 260, die in diesem Beispiel spezifische Konfigurationen des Flottenverwalters 260 sein mögen, zum Beispiel im Voraus verhandelte Verträge mit Werkstätten oder ein minimaler Nutzwert des zu reparierenden Autos extrahiert.
  • In einem nächsten Schritt kann aus der angereicherten Client-Anforderung ein angereichertes Anforderungsdatenobjekt 230 (das heißt, ein angereichertes potentielles Reparaturdatenobjekt) erzeugt werden.
  • In diesem spezifischen Beispiel ist auf der Clientvorrichtung 310, welche die Client-Anforderung 110, 210 gesendet hat, das Serviceintegrationsmodul 1110 installiert. Wie oben dargelegt, enthält die Client-Anforderung nur eine minimale Menge von Daten und wird durch das Parsermodul 115 angereichert, wie oben erläutert. Weiter kann eine Zeit zum Behandeln der Client-Anforderung 110, 210 durch den Benutzer, der die Clientvorrichtung 310 bedient, spezifiziert werden. Zum Beispiel zeigt ein Wert von 0 an, dass die Client-Anforderung 110, 210 'so schnell wie möglich' behandelt werden soll, wohingegen ein Wert größer 0 anzeigt, dass die Client-Anforderung 110, 210 durch den Flottenverwalter behandelt werden kann. Der Ort kann durch das GPS Modul der Clientvorrichtung automatisch eingegeben werden, oder von dem Benutzer, der die Clientvorrichtung 310 bedient, eingegeben werden. Die Benutzer ID wird von dem Serviceintegrationsmodul 1110 automatisch eingegeben, da der Benutzer automatisch eingeloggt wird. Der Servicetyp, in diesem spezifischen Beispiel der Reparaturtyp, kann von dem Benutzer, der die Clientvorrichtung 310 bedient, manuell ausgewählt werden. Alternativ kann der Reparaturtyp automatisch bestimmt werden durch entsprechende Daten, die von dem Auto empfangen werden. Dementsprechend kann der Reparaturtyp automatisch ausgefüllt werden. Die Auto ID ist ein eindeutiger Identifikator von jedem Auto und kann durch den Flottenverwalter, der Eigentümer des Autos ist, im Voraus definiert werden. In diesem spezifischen Beispiel mag jedes Auto einen an diesen angebrachten Quick Response (QR) Code aufweisen, so dass der Benutzer, der die Clientvorrichtung bedient, ein Kameramodul verwenden kann, das in die Clientvorrichtung integriert ist, um den QR Code zu lesen. Die auf diese Weise extrahierte Auto ID kann von dem Serviceintegrationsmodul 1110 automatisch in die Client-Anforderung 110, 210 eingefügt werden. Tabelle 1 zeigt eine Client-Anforderung für dieses spezifische Beispiel:
    Client-Anforderung 110, 210
    Benutzer ID 123
    Auto ID 456
    Ort Straße 1
    Reparaturtyp Motor
    Zeit 0
    Tabelle 1: Beispielhafte Client-Anforderung 110, 210
  • Die Anreicherung der Client-Anforderung 110, 210 zum Erzeugen der angereicherten Client-Anforderung 125 kann das Anwenden von Datenbank Joins auf die jeweiligen Datenobjekte umfassen. 12A zeigt die Anreicherung der Client-Anforderung 110, 210.
  • Basierend auf der angereicherten Client-Anforderung 125 wird das potentielle Reparaturdatenobjekt 230 erzeugt. 12B zeigt ein beispielhaftes potentielles Reparaturdatenobjekt. Das potentielle Reparaturdatenobjekt 230, das aus der angereicherten Client-Anforderung 125 erzeugt wird, wird dann an das Matching-Modul 105 übermittelt. Wie oben mit Bezug auf 4 erläutert, führt das Matching-Modul 105 den Matching-Algorithmus aus, der die Kongruenzanalyse 120 und die Benutzerähnlichkeitsanalyse 130 umfasst. Die beispielhaften Berechnungen basieren auf den oben mit Bezug auf 4 erläuterten Formeln.
  • Wie oben mit Bezug auf 4 dargelegt, umfasst die Kongruenzanalyse das Berechnen eines Kongruenzgrads zwischen dem potentiellen Reparaturdatenobjekt 230 und jedem Servicedatenobjekt 240, das in der Antwortdatenbank 165 gespeichert ist. In diesem spezifischen Beispiel ist jedes Servicedatenobjekt 240 ein Werkstattdatenobjekt 240. Weiter umfasst in diesem spezifischen Beispiel die Antwortdatenbank 165 5 Werkstattdatenobjekte. Die beispielhaften 5 Werkstattdatenobjekte sind in 12C gezeigt.
  • Wie oben beschrieben, kann jeder Eigentümer, der einem Eigentümerdatenobjekt 250 entspricht, in der Determinante Konfigurationen spezifische Kriterien spezifizieren, denen jedes Servicedatenobjekt 240 entsprechen muss, was als ”Deal-Breaker Kriterien” bzw. K.o.-Kriterien bezeichnet werden kann. In diesem spezifischen Beispiel ist der Eigentümer des Autos der Flottenverwalter, der Eigentümer des Systems 100 ist. In diesem spezifischen Beispiel hat der Flottenverwalter in der Determinante Konfigurationen ein K.o.-Kriterium spezifiziert, welches die Werkstattdatenobjekte 240, die weiter zu untersuchen sind, auf eine Zahl von drei Werkstattdatenobjekte 240 reduziert. Die reduzierte Menge von Werkstattdatenobjekten 240 ist in 12D gezeigt. Dementsprechend braucht die Kongruenzanalyse 120 nur für die verbleibenden Werkstattdatenobjekte 1, 2 und 3 ausgeführt zu werden.
  • Für die reduzierte Menge von Werkstattdatenobjekten 240 wird die Kongruenzanalyse 120 basierend auf den relevanten Determinanten angewandt. Für dieses spezifische Beispiel sind die folgenden Determinanten relevant: Entfernung, ExterneEmpfehlungen (Externe Empf.), Interne Empfehlungen (Interne Empf.), AutoTyp, ReparaturTyp und Preisgestaltung. Tabelle 2 zeigt diese beispielhaften Determinanten der Werkstattdatenobjekte 240 für die reduzierte Menge von Werkstattdatenobjekten 240 (WS1, WS2 und WS3) und die jeweiligen Werte.
    WS1 WS2 WS3
    Determinanten
    Werkstattdatenobjekte
    Entfernung 30 20 15
    Externe Empfehlung 0,4 0,3 0,2
    Interne Empfehlung 0,2 0,1 0,3
    Autotyp beliebig BMW beliebig
    Reparaturtyp beliebig Motor beliebig
    Preisgestaltung 0,3 0,2 0,1
    Tabelle 2: Determinanten und jeweilige Werte
  • Weiter wird in diesem spezifischen Beispiel ein Nutzwert für jedes Auto, das einem fraglichen Autodatenobjekt 250 entspricht (das heißt, welches die Auto ID hat, die mit der Client-Anforderung 110, 210 übermittelt wurde), berechnet. Tabelle 3 zeigt das beispielhafte Autodatenobjekt 250 mit dessen beispielhaften Determinanten und den entsprechenden Werten.
    Unfalltyp Motor
    Autodatenobjekt 250
    Anzahl Unfälle 2
    Nutzwert 14.000
    Anschaffungswert 20.000
    Reduktion nach Zeit 0,1
    Reduktion nach Laufleistung 0,2
    Typ BMW
    Tabelle 3: Beispielhaftes Autodatenobjekt
  • Für das Autodatenobjekt 250 wird der Nutzwert unter Verwendung der folgenden Formel berechnet: (1 – r – m)*E wobei E der Einkaufswert ist, r ein spezifizierter (vorbestimmter oder vorbestimmbarer) Laufzeitabzug ist, in diesem spezifischen Beispiel der Laufzeitabzug basierend auf dem Alter des Autos, und m ein spezifizierter (vorbestimmter oder vorbestimmbarer) Benutzungsabzug, in diesem spezifischen Beispiel der Laufleistungsabzug basierend auf der Laufleistung des Autos. Der Nutzwert in diesem spezifischen Beispiel ist: (1 – 0,1 – 0,2)*20000 = 14.
  • Um eine Vergleichbarkeit über alles zu erzielen, muss jeder Wert jeder Determinanten normalisiert werden. Dies kann ausgeführt werden, indem ein Maximalwert und ein Minimalwert für jede Determinante unter Verwendung der folgenden Formel berücksichtigt wird: (MaxWertDeterminante – MinWertDeterminante) –|(IstWertDeterminante – MinWertDeterminante)| / (MaxWertDeterminant – MinWertDeterminant)
  • Die Skala der externen Empfehlung kann 0 und 1 sein, und kann definiert sein basierend auf dem Interesse (so dass es einfach ist, alle Determinanten in dem normalisierten Raum zu vergleichen).
  • Unter Verwendung der obigen Formel für die beispielhafte Determinante Entfernung von WS2 wird der normalisierte Wert sein: (30 – 15) – |120 – 15| / (30 – 15) = 0,67
  • Nachdem die Normalisierungsformel für jede Determinante in Tabelle 2 angewendet wurde, sind die normalisierten Werte für jede Determinante jedes Werkstattdatenobjekts 240 in Tabelle 4 gezeigt.
    WS1 WS2 WS3
    Determinanten
    Werkstattdatenobjekte
    Entfernung 0 0,67 1
    Externe Empfehlung 1 0,5 0
    Interne Empfehlung 0,5 0 1
    Autotyp beliebig BMW beliebig
    Reparaturtyp beliebig Motor beliebig
    Preisgestaltung 1 0,5 0
    Tabelle 4: Beispielhafte normalisierte Determinanten
  • Die Berechnung des Kongruenzgrads des potentiellen Reparaturdatenobjekts 230 und von jedem der verbleibenden Werkstattdatenobjekte 240 (WS1, WS2 und WS3) wird hiernach für das Werkstattdatenobjekt 1 (WS1) beschrieben.
  • Wie oben beschrieben, kann jeder Benutzer, der einem Benutzerdatenobjekt 220 entspricht, benutzerdefinierte Präferenzen in der Determinante Präferenzen aufweisen. Dementsprechend weist jedes Benutzerdatenobjekt 220 einen individuellen Gewichtungscontainer auf, der dessen Präferenzen beschreibt. In diesem spezifischen Beispiel hat jede Determinante dieselbe Gewichtung. Die Determinantengruppe ”Werkstatt”, das heißt, die Summe aller Determinanten von WS1, hat einen Gesamtwert von 0,625, der wie folgt berechnet wird: 0,25·0 + 0,25·1 + 0,25·0,5 + 0,25·1 = 0,625
  • Die Determinantengruppe ”Interaktionen”, welche die Determinanten AutoTyp und UnfallTyp umfasst, hat einen Gesamtwert von 0,5, der wie folgt berechnet wird: 0,5·0,5 + 0,5·0,5 = 0,5
  • In diesem Beispiel ist WS1 mit jedem Autotyp und jedem Reparaturtyp kompatibel. WS1 hat daher einen Wert von 0,5 für die Determinanten AutoTyp und ReparaturTyp, wohingegen WS2 eine perfekte Übereinstimmung im Hinblick auf die Determinanten AutoTyp und ReparaturTyp hat, und daher einen Wert von 1 hat.
  • Nun werden die Determinantengruppen ”Werkstatt” und ”Interaktionen” in den Kongruenzgrad aggregiert wie folgt: 0,5·0,625 + 0,5·0,5 = 0,5625
  • Die jeweiligen Werte für die obigen Berechnungen für die Kongruenzanalyse 120 sind in Tabelle 5 gezeigt.
    Gewichtungen WS1
    Determinanten
    Werkstatt 0,5 0,625
    Entfernung 0,25 0
    Externe Empfehlung 0,25 1
    Interne Empfehlung 0,25 0,5
    Autotyp beliebig
    Reparaturtyp beliebig
    Preisgestaltung 0,25 1
    Interaktionen 0,5 0,5
    Autotyp 0,5 0,5
    Unfalltyp 0,5 0,5
    Matching 0,5625
    Tabelle 5: Werte und Gewichtungen der Determinanten WS1
  • Auf analoge Weise kann der Kongruenzgrad für WS2 und WS3 berechnet werden, resultierend in dem Kongruenzgrad für WS2 = 0,70875 und für WS3 = 0,5625. 12E zeigt die Kongruenzliste für die Werkstattdatenobjekte 240 WS1, WS2 und WS3.
  • In einem nächsten Schritt wird als Teil des Matching-Algorithmus die Benutzerähnlichkeitsanalyse 130 angewandt. In diesem spezifischen Beispiel sind drei Benutzerdatenobjekte 230 (Benutzer 1, Benutzer 2, Benutzer 3) in der Anforderungsdatenbank 155 und/oder der Antwortdatenbank 165 gezeigt, die in 12F gezeigt sind.
  • Die Berechnung des Ähnlichkeitswerts wird am Beispiel des Benutzers 2 erläutert werden.
  • Das Geschlecht von jedem Benutzerdatenobjekt 220, sowie von allen weiteren binären Determinanten (zum Beispiel Präferenzen), werden im Falle einer Übereinstimmung/eines ”Matches” auf 1 gesetzt, und entsprechend auf 0 im Falle keiner Übereinstimmung/keines ”Matches”. Die Normalisierung der Determinante Alter unter Verwendung eines Normalisierungswerts von 100 wird wie folgt berechnet: 100 – |30 – 60| / 100 = 70 / 100 = 0,7
  • Weiter ist jeder Determinante eine Gewichtung zugewiesen. In diesem spezifischen Beispiel hat jede Determinante dieselbe Gewichtung zugewiesen, das heißt, 1 / 7 Dementsprechend ist ein Ähnlichkeitswert für die Determinante Alter des Benutzers 2 gleich 0,7 / 7 = 0,1.
  • Folgend dieser beispielhaften Berechnung zeigt die Tabelle 6 jeden Ähnlichkeitswert für jede Determinante, sowie den gesamten Ähnlichkeitswert (URA Wert) für das Benutzerdatenobjekt 220, das der Benutzer ID entspricht, die mit der Client-Anforderung 110, 210 empfangen wurde (Anf. Send.), und jedem Benutzerdatenobjekt 220 (das heißt, Benutzer 1, Benutzer 2 und Benutzer 3):
    Figure DE102015008607A1_0011
    Figure DE102015008607A1_0012
    Tabelle 6: Beispielhafter Ähnlichkeitswert
  • In diesem spezifischen Beispiel hat Peter Pete offensichtlich den höchsten Ähnlichkeitswert mit sich selbst. Andererseits hat Benutzer 1 den geringsten Ähnlichkeitswert mit Peter Pete. In diesem spezifischen Beispiel hat der Flottenverwalter zuvor einen Ähnlichkeitsschwellenwert für einen Ähnlichkeitswert von 0,5 definiert. Mit anderen Worten werden nur Benutzer für die folgenden Schritte berücksichtigt werden, die einen Ähnlichkeitswert größer 0,5 haben. Wie oben dargelegt wird eine Ähnlichkeitsliste erzeugt, die jedes Servicedatenobjekt 230 umfasst, das mit Benutzerdatenobjekten 220 assoziiert ist, die einen Ähnlichkeitswert über dem spezifizierten (vorbestimmten oder vorbestimmbaren) Ähnlichkeitsschwellenwert haben. Mit anderen Worten wird für jedes Benutzerdatenobjekt 220, das einen Ähnlichkeitswert über dem Ähnlichkeitsschwellenwert hat, ein Servicedatenobjekt 240, das dem Benutzerdatenobjekt 220 entspricht, extrahiert und in der Ähnlichkeitsliste gespeichert.
  • Das extrahierte Servicedatenobjekt ist das Servicedatenobjekt 240, das von dem Lernmodul 150 beim Anwenden des Lernverfahrens als 'ausgewähltes' Servicedatenobjekt markiert wurde.
  • Dementsprechend wird in diesem spezifischen Beispiel der Benutzer 1 ausgeschlossen, wohingegen Benutzer 2 und Benutzer 3 berücksichtigt werden. Insbesondere werden diejenigen Servicedatenobjekte 240, die dem Benutzer 2 und dem Benutzer 3 entsprechen, die von dem Lernmodul 150 als 'ausgewählte' Servicedatenobjekte 240 markiert wurden, extrahiert werden.
  • In diesem spezifischen Beispiel sind die 'ausgewählten' Servicedatenobjekte 240 diejenigen Werkstattdatenobjekte, die von Benutzer 2 und Benutzer 3 ausgewählt wurden in Antwort auf das Senden einer Client-Anforderung 110, 210. Jedoch müssen auch die ”K.o.” Kriterien berücksichtigt werden, die durch den Flottenverwalter definiert wurden. In diesem spezifischen Beispiel sind die Werkstattdatenobjekte 240, die der Werkstatt 4 bzw. der Werkstatt 5 entsprechen, nicht Teil der im Voraus verhandelten Verträge des Flottenverwalters und werden daher ausgeschlossen. Die verbleibenden relevanten Werkstattdatenobjekte 240 werden geparst, um zu bestimmen, wie oft diese in der Vergangenheit von Benutzer 2 und Benutzer 3 ausgewählt wurden. Zum Beispiel wurde WS2 viermal als ausgewähltes Werkstattdatenobjekt 240 markiert, dreimal von Benutzer 2 und einmal von Benutzer 3. Basierend darauf wird der Ähnlichkeitswert für WS2 (URAWertWS2) wie folgt berechnet (Wert 9 ist die Anzahl der Auswahl von jeder relevanter Werkstatt): URAWertWS2 = 3·0,67 + 1·0,56 / 9 = 0,2856 URAWertWS1 = 1·0,67 + 0·0,56 / 9 = 0,0744 URAWertWS3 = 0·0,67 + 4·0,56 / 9 = 0,2489
  • 12G zeigt die beispielhaften früheren Werkstattauswahlen (das heißt, die Werkstattdatenobjekte, die als ausgewählte Werkstattdatenobjekte markiert wurden) von Benutzer 2 und Benutzer 3 für die relevanten Werkstätten WS1, WS2 und WS3.
  • 12H zeigt die Kongruenzliste, welche die Werkstattdatenobjekte 240 umfasst, die einen Kongruenzgrad über dem spezifizierten (vorbestimmten oder vorbestimmbaren) Schwellenwert haben.
  • Nun wird ein beispielhaftes Endergebnis 140 erzeugt durch Aggregieren der Kongruenzliste und der Ähnlichkeitsliste. Insbesondere werden die Kongruenzliste und die Ähnlichkeitsliste mit individuellen Gewichtungen aggregiert. In diesem Beispiel haben die Kongruenzliste und die Ähnlichkeitsliste gleiche Gewichtungen, das heißt, jeweils 0,5. Der Matching-Wert für die relevanten Werkstätten wird wie folgt berechnet: MatchingWertWS2 = 0,5·0,70875 + 0,5·0,2856 = 0,4972 MatchingWertWS3 = 0,5·0,5 + 0,5·0,2489 = 0,3745 MatchingWertWS1 = 0,5·0,5625 + 0,5·0,0744 = 0,3185
  • 12I zeigt die Endergebnisliste 140, welche die Werkstattdatenobjekte 240 (WS1, WS2, WS3) umfasst in einer absteigenden Reihenfolge basierend auf deren Matching-Wert. Das Endergebnis wird an das Lernmodul 150 weitergeleitet, wie oben mit Bezug auf 8 erläutert.
  • Im Nachfolgenden wird die Anpassung des Matching-Algorithmus (der durch das Matching-Modul 105 angewandt wird) des Lernwerks 195 mit Blick auf dieses spezifische Beispiel demonstriert. In diesem spezifischen Beispiel wird dem anfordernden Benutzer, Peter Pete, durch das Lernmodul zuerst WS2 (das den höchsten Matching-Wert hat) gegeben. Peter Pete sendet jedoch eine Ablehnungsbenachrichtigung an das Lernmodul 150. In Übereinstimmung mit dem Lernverfahren gibt das Lernmodul 150 Peter Pete WS3 (das nun das erste Werkstattdatenobjekt in dem modifizierten Endergebnis 140 ist). In Antwort darauf sendet Peter Pete eine Akzeptanzbenachrichtigung (und in diesem spezifischen Beispiel tut dies auch eine Providervorrichtung, die WS2 entspricht). Das Lernmodul 150 beendet das Lernverfahren und erzeugt ein Lernergebnis, das WS3 als ausgewähltes Werkstattdatenobjekt 240 umfasst.
  • Das Lernergebnis wird an das Lernwerk 195 übermittelt. Das Lernwerk 195 wendet automatisch den Boosting-Algorithmus 160 an. Der Boosting-Algorithmus 160 aktualisiert die Gewichtungen, die den jeweiligen Determinanten zugewiesen sind. Zu diesem Zweck analysiert der Boosting-Algorithmus 160, wie die Gewichtungen, die den jeweiligen Determinanten zugewiesen sind, zugunsten von WS3 anzupassen sind, da Peter Pete WS2, das den höchsten Matching-Wert hatte, nicht akzeptiert hat. Der Boosting-Algorithmus 160 passt die Gewichtungen, die den Determinanten zugeordnet sind, die für die Kongruenzanalyse 120 relevant sind, an, das heißt, die Gewichtungen, die jeder Determinantengruppe und jeder Determinante innerhalb jeder Determinantengruppe zugeordnet sind. Weiter passt der Boosting-Algorithmus 160 die Gewichtungen der Determinanten an, die für die Benutzerähnlichkeitsanalyse 130 relevant sind. Mit anderen Worten passt der Boosting-Algorithmus 160 die Gewichtungen an, die den Determinanten zugeordnet sind, die für die Kongruenzanalyse 120 und die Benutzerähnlichkeitsanalyse 140 relevant sind.
  • Der Boosting-Algorithmus 160 wird beispielhaft erläutert werden im Hinblick auf die Determinantengruppe 'Werkstatt', wie im Hinblick auf die obige beispielhafte Kongruenzanalyse gezeigt, das heißt, die Anpassung der Gewichtung, die der Determinantengruppe 'Werkstatt' zugewiesen ist, und die Anpassung der Gewichtungen, die jeder der Determinanten der Determinantengruppe 'Werkstatt' zugewiesen sind.
  • Zu diesem Zweck extrahiert der Boosting-Algorithmus 150 die Werkstattdatenobjekte 240, die von Peter Pete ausgewählt wurden (das heißt, welche von dem Lernmodul 150 als ausgewählte Werkstattdatenobjekte 240 markiert wurden im Hinblick auf frühere Client-Anforderungen 110, 120). 12J zeigt die Werkstattdatenobjekte 240, die von Peter Pete ausgewählt wurden.
  • In einem nächsten Schritt berechnet der Boosting-Algorithmus 160 ein Potential jeder Determinante, das heißt, schwache Lerner, und erzeugt eine Boosting-Basis. Basierend auf den schwachen Lernern der Boosting-Basis passt der Boosting-Algorithmus 160 die Gewichtungen an, die den entsprechenden Determinanten zugewiesen sind, was hiernach erläutert werden wird. Tabelle 7 zeigt die durch den Boosting-Algorithmus 160 erzeugte Boosting-Basis.
  • Figure DE102015008607A1_0013
    Tabelle 7: Beispielhafte Boosting-Basis
  • Das Erzeugen der Boosting-Basis wird erläutert werden im Hinblick auf die beispielhafte Determinante Entfernung. Wie in Tabelle 2 gezeigt, hat WS3 die kleinste Entfernung unter allen potentiellen Werkstattdatenobjekten 240 (WS1, WS2, WS3) und würde daher die 'optimale Auswahl' für die Determinante Entfernung darstellen.
  • Wie in Tabelle 4 gezeigt, war der normalisierte Wert für die Determinante Entfernung WS3 gleich 1, wobei die normalisierte Determinante Entfernung für WS2 gleich 0,67 war. Die jeweiligen Werte der Boosting-Basis werden wie folgt berechnet:

    1 – normalisierterWertDeterminante
  • Dementsprechend ist der Wert für die Determinante Entfernung für WS3 in der Boosting-Basis '0', wobei der Wert für die Determinante Entfernung für WS2 in der Boosting-Basis '0,33' ist.
  • Im nächsten Schritt wird für jeden schwachen Lerner m (das heißt, Determinante), ein aufsummierter Fehler berechnet unter Verwendung einer anfänglichen Gewichtung des Boosting-Algorithmus für jeden schwachen Lerner. Die anfängliche Gewichtung ist immer Gleichverteilt, das heißt, dass da Peter Pete 5 frühere Auswahlen hatte, jedem Wert für die Determinante Entfernung die Gewichtung 0,2 zugewiesen wird. Dementsprechend wird jeder Wert für die Determinante Entfernung in der Boosting-Basis mit der Gewichtung 0,2 multipliziert. Aus diesen multiplizierten Werten wird eine Summe jedes Wertes für jede Determinante berechnet. Die Summe jeder Determinante ist der aufsummierte Fehler für jeden schwachen Lerner. Tabelle 8 zeigt die jeweiligen Berechnungen, die erzeugt werden basierend auf der Boosting-Basis, die oben in Tabelle 7 gezeigt ist.
  • Figure DE102015008607A1_0014
    Tabelle 8: Beispielhafte aufsummierte Fehler
  • Da die Determinante Entfernung den kleinsten aufsummierten Fehler 0,198 hat, hat dieser schwache Lerner das größte Potential, geeignete Netzwerk-Antworten auf Client-Anforderungen 110, 210 von Peter Pete zu geben. Daher weist der Boosting-Algorithmus 160 der Determinante Entfernung eine höhere Gewichtung zur zukünftigen Anwendungen des Matching-Algorithmus zu (der durch das Matching-Modul 105 in Antwort auf weitere Client-Anforderungen 110, 210 von Peter Pete ausgeführt wird). Um die neue Gewichtung zu berechnen, wird die folgende Berechnung angewandt:
    Figure DE102015008607A1_0015
  • Basierend auf der obigen Berechnung wird das Aktualisieren der Gewichtungen durch den Boosting-Algorithmus wie folgt berechnet: w (neu) / 1 = 0,2·e(–0,3038·(1-0,066)) = 0,1506 Tabelle 9 zeigt die neuen Gewichtungen für die Determinante Entfernung.
  • Figure DE102015008607A1_0016
    Tabelle 9: Neue Gewichtungen für die Determinante Entfernung
  • Wie aus der Tabelle 9 gesehen werden kann, ist die Summe der neu berechneten Gewichtungen 0,7470. Da die Summe der neuen Gewichtungen '1' sein muss, müssen die neuen Gewichtungen normalisiert werden, was mit Bezug auf die neue Gewichtung von WS2 erläutert werden wird: w normalisiert / 1 = 0,1506 / 0,7470 = 0,2016
  • Tabelle 10 zeigt die normalisierten und folglich aktualisierten Gewichtungen für die Determinante Entfernung.
  • Figure DE102015008607A1_0017
    Tabelle 10: Normalisierte aktualisierte Gewichtungen für die Determinante Entfernung
  • Tabelle 11 zeigt die entsprechend neu berechneten Gewichtungen der jeweiligen Determinanten/schwachen Lerner beginnend von Tabelle 8. In einem nächsten Schritt identifiziert der Boosting-Algorithmus 160 den schwachen Lerner mit dem nächst-geringsten summierten Fehler. In diesem Beispiel ist, wie aus der Tabelle 11 ersichtlich, die Determinante Preisgestaltung der schwache Lerner mit dem nächst-geringsten summierten Fehler von 0,3024.
  • Figure DE102015008607A1_0018
    Tabelle 11: Schritt 2 des Boosting-Algorithmus
  • Ähnlich zur obigen Berechnung wird ∝PreisgestaltungTyp berechnet. Insbesondere:
    Figure DE102015008607A1_0019
  • In einem nächsten Schritt werden die Gewichtungen der Determinante Preisgestaltungstyp wie folgt aktualisiert: w neu / 1 = 0,2016·e(–0,1815·(1-0,0665)) = 0,1712
  • Die jeweils aktualisierten Gewichtungen für die Determinante Preisgestaltungstyp sind in der Tabelle 12 zu sehen.
  • Figure DE102015008607A1_0020
    Tabelle 12: Aktualisierte Gewichtungen für die Determinante Preisgestaltungstyp
  • Weiter sind die jeweiligen normalisierten aktualisierten Gewichtungen für die Determinante Preisgestaltungstyp in der Tabelle 13 gezeigt.
  • Figure DE102015008607A1_0021
  • Figure DE102015008607A1_0022
    Tabelle 13: Normalisierte aktualisierte Gewichtungen für die Determinante Preisgestaltungstyp
  • Tabelle 14 zeigt die jeweils neu berechneten Werte für alle schwachen Lerner und für alle vorherigen Auswahlen.
  • Figure DE102015008607A1_0023
    Tabelle 14: Neu berechnete Gewichtungen für alle schwachen Lerner
  • Die verbleibenden zwei schwachen Lerner (Externe Empfehlungen und Interne Empfehlungen) haben beide einen aufsummierten Fehlerwert, der 0,5 überschreitet. In diesem spezifischen Beispiel identifiziert der Boosting-Algorithmus 160 diese zwei schwachen Lerner als nicht genügend Potential zu haben, basierend auf den früheren Auswahlen von Peter Pete, um für zukünftige Client-Anforderungen 110, 210 von Peter Pete verwendet zu werden. Daher wird beiden schwachen Lernern eine Gewichtung von 0 zugewiesen. Tabelle 15 zeigt die neuen Gewichtungen, die den Determinanten zugeordnet sind, das heißt, die neu zugewiesenen Gewichtungen.
    Schwache Lerner
    Entfernung Externe Empfehlungen Interne Empfehlungen Preisgest. Typ
    Gewichtungen 0,3038 0 0 0,1815
    Tabelle 15: Neu zugewiesene Gewichtungen
  • Auch diese Gewichtungen müssen normalisiert werden, da die Summe der Gewichtungen gleich 1 sein muss. Die Tabelle 16 zeigt die normalisierten neuen Gewichtungen, die den Determinanten zugeordnet sind, für die Kongruenzanalyse 120 zukünftiger Client-Anforderungen 110, 210 von Peter Pete. Die aktualisierten Gewichtungen können in einem Lerncontainer gespeichert werden, der Peter Pete individuell zugewiesen ist. Dementsprechend wird, nach Empfangen einer nächsten Client-Anforderung 110, 210 mit der Benutzer ID von Peter Pete, das Matching-Modul 105 den Matching-Algorithmus basierend auf den aktualisierten Determinanten anwenden, die in dem Lerncontainer gespeichert sind, der Peter Pete zugewiesen ist.
    Schwache Lerner
    Entfernung Externe Empfehlungen Interne Empfehlungen Preisgest. Typ
    Gewichtungen 0,6260 0,0000 0,0000 0,3740
    Tabelle 16: Normalisierte neu zugewiesene Gewichtungen
  • Es sei bemerkt, dass die Gewichtung jeder Determinante für die Kongruenzanalyse 120 und zum Aggregieren der Kongruenzliste und der Ähnlichkeitsliste aktualisiert werden, wie beispielhaft oben erläutert.
  • Im Nachfolgenden wird das Aktualisieren der Gewichtungen der Determinanten, die für die Benutzerähnlichkeitsanalyse 130 relevant sind, erläutert werden. Da die relevanten Determinanten für die Benutzerähnlichkeitsanalyse 130 sich unterscheiden können, wendet das Lernwerk unterschiedliche Berechnungen an. Benutzer, die den Benutzerdatenobjekten 220 entsprechen, die in der Anforderungsdatenbank 155 und/oder in der Antwortdatenbank 165 gespeichert sind, welche dieselben Werkstattdatenobjekte 240 wie Peter Pete ausgewählt haben, sollten einen höheren Ähnlichkeitswert zugewiesen bekommen. 13A zeigt beispielhafte ähnliche Auswahlen von Benutzer 2 (Heinz Sili) und Benutzer 3 (Lothar Evsky).
  • Mit Bezug zurück auf dieses spezifische Beispiel aktualisiert das Lernwerk 195 die Gewichtungen der Determinanten, die für die Benutzerähnlichkeitsanalyse 130 relevant sind, so dass Benutzer 2 und Benutzer 3 will einen höheren Ähnlichkeitswert im Hinblick auf Peter Pete haben werden. Daher wird die Boosting-Basis für die Benutzerähnlichkeitsanalyse in 13B gezeigt. Nach Auswählen einer spezifischen Werkstatt kann das System Information über unterschiedliche Benutzer sammeln, die in der Vergangenheit ebenfalls diese spezifische Werkstatt ausgewählt haben. Dies ist beispielhaft in 13B gezeigt. Die gesammelte Information kann danach verwendet werden zum Aktualisieren der Gewichtung für die Benutzerähnlichkeitsanalyse.
  • Basierend auf der Boosting-Basis für die Benutzerähnlichkeitsanalyse 130, wie in 13B dargestellt, passt der Boosting-Algorithmus 160 die Gewichtungen der jeweiligen Determinanten wie oben dargelegt an.
  • Weiter umfasst das Lernwerk das Stimmungswerk 195. Das Stimmungswerk 195 passt weiter die Gewichtung relevanter Determinanten basierend auf Benutzerrückmeldung an. Das Anpassen der Gewichtungen durch das Stimmungswerk 195 wird hiernach mit Bezug auf das obige spezifische Beispiel erläutert.
  • Das Stimmungswerk 170 empfängt das Lernergebnis von dem Lernmodul 150. Wie oben dargelegt, umfasst das Lernergebnis das akzeptierte Werkstattdatenobjekt 240, das WS3 entspricht. Peter Pete wird eingeladen, eine Rückmeldung über den in WS3 erhaltenen Service zu geben. Die Rückmeldung kann wie folgt gegeben werden:
    • – Freitextrückmeldung, die durch das Stimmungswerk 170 auf relevante Schlüsselwörter hin analysiert wird;
    • – Ja/Nein Rückmeldung in Antwort auf spezifische Fragen;
    • – eine skalenbasierte Empfehlung in Antwort auf eine spezifizierte (vorbestimmte oder vorbestimmbare) Skala.
  • 13C zeigt ein spezifisches Beispiel einer Ja/Nein Rückmeldung, die von Peter Pete empfangen wird. In diesem spezifischen Beispiel der 13C bevorzugt Peter Pete saubere Werkstätten mit freundlichen Angestellten, die schnelle Reparaturservice leisten. Die Tatsache, dass die Determinanten 'billig' und 'luxuriöser Warteraum' in Peter Petes Präferenzcontainer nicht enthalten sind, kann zwei Ursachen haben. Es mag für Peter Pete nicht wichtig gewesen sein, oder Peter Pete hat einfach vergessen, diese Präferenzen zu definieren. Als Reaktion auf die beispielhafte Ja/Nein Rückmeldung wird die Determinante 'billig' Peter Petes Präferenzcontainer hinzugefügt werden (der in der Determinante Präferenzen in dem jeweiligen Benutzerdatenobjekt 220 von Peter Pete gespeichert ist).
  • 13D zeigt eine beispielhafte Freitextrückmeldung, welche das Stimmungswerk 170 von Peter Pete empfängt. Um das Stimmungswerk 170 zu unterstützen kann Peter Pete zusätzlich wichtige Schlüsselwörter hervorheben. In diesem spezifischen Beispiel mag Peter Pete hervorheben, dass WS3 keine Kreditkarten akzeptiert. Das Stimmungswerk 170 parst diese Rückmeldung, um relevante Schlüsselwörter zu extrahieren (wie oben mit Bezug auf 7 erläutert). In diesem spezifischen Beispiel befinden sich die extrahierten Schlüsselwörter 'sauber' und 'freundlich' bereits im Präferenzcontainer von Peter Pete. Basierend auf dem hervorgehobenen Teil der Freitextrückmeldung wird das Stimmungswerk 170 jedoch die folgenden Operationen ausführen:
    • – die Schlüsselwörter 'akzeptiert Kreditkarten' werden Peter Petes Präferenzcontainer hinzugefügt;
    • – die Schlüsselwörter 'akzeptiert Kreditkarten' werden einer Schlüsselwortbibliothek hinzugefügt, die von dem Stimmungswerk 170 verwendet wird.
  • Die Schlüsselwortbibliothek, die von dem Stimmungswerk verwendet wird, kann wie eine Pyramide strukturiert sein. Die Schlüsselwörter können nach ihrer Wichtigkeit geordnet sein, das heißt, das wichtigste Schlüsselwort ist an der Spitze der Pyramide. In diesem Kontext bedeutet Wichtigkeit die Anzahl an Erwähnungen von Benutzern in ihren Freitextrückmeldungen. Das Verwenden der Pyramidenstruktur hat den Vorteil, dass die Bibliothek nicht mit unwichtigen oder veralteten Schlüsselwörtern überladen wird. Dementsprechend können akkuratere Netzwerk-Antworten auf Client-Anforderungen 110, 210 gegeben werden. Darüber hinaus kann die Bibliothek löschen, die eine Wichtigkeit unter einem spezifizierten (vorbestimmten oder vorbestimmbaren) Wichtigkeitsschwellenwert haben. Die Bibliothek kann eine derartige Löschung in spezifizierten (vorbestimmten oder vorbestimmbaren) Zeitintervallen ausführen.
  • Mit Bezug auf dieses spezifische Beispiel bedeutet dies, dass – unter der Annahme, dass Peter Pete der einzige Benutzer ist, der es vorzieht, mit Kreditkarte zu zahlen – dieses Schlüsselwort irgendwann aus der Bibliothek gelöscht werden mag. Diese Präferenz wird jedoch in seinem persönlichen Präferenzcontainer verbleiben, der in der Determinante Präferenz des jeweiligen Benutzerdatenobjekts gespeichert ist.
  • 14 zeigt ein beispielhaftes System zum Implementieren der Erfindung, mit einer Allzweckrechnervorrichtung in Form einer herkömmlichen Rechnerumgebung 1220 (zum Beispiel ein PC). Die herkömmliche Rechnerumgebung enthält eine Verarbeitungseinheit 1222, einen Systemspeicher 1224 und einen Systembus 1226. Der Systembus koppelt verschiedene Systemkomponenten, einschließlich den Systemspeicher 1224, an die Verarbeitungseinheit 1222. Die Verarbeitungseinheit 1222 kann arithmetische, logische und/oder Steueroperationen ausführen durch Zugreifen auf den Systemspeicher 1224. Der Systemspeicher 1224 kann Information und/oder Anweisungen speichern zur Verwendung in Kombination mit der Verarbeitungseinheit 1222. Der Systemspeicher 1224 kann flüchtigen und nichtflüchtigen Speicher beinhalten, wie einen Speicher mit wahlfreiem Zugriff (RAM) 1228 und einen Nur-Lese-Speicher (ROM) 1230. Ein grundlegendes Eingabe/Ausgabensystem (BIOS), das die grundlegenden Routinen enthält, die helfen, Information zwischen Elementen in dem PC 1220 zu übertragen, wie während des Hochfahrens, kann in dem ROM 1230 gespeichert sein. Der Systembus 1226 kann ein beliebiger von verschiedenen Typen von Busstrukturen sein, einschließlich einem Speicherbus oder Speichercontroller, einem Peripheriebus und einem lokalen Bus unter Verwendung einer Vielfalt von Busarchitekturen.
  • Der PC 1220 kann weiter ein Festplattenlaufwerk 1232 beinhalten, um von einer Festplatte (nicht dargestellt) zu lesen und auf diese zu schreiben, und ein externes Plattenlaufwerk 1234, um von einer entfernbaren Platte 1236 zu lesen oder auf diese zu schreiben. Die entfernbare Platte kann eine Magnetplatte für einen Magnetplattentreiber sein, oder eine optische Platte, wie eine CD ROM für ein optisches Plattenlaufwerk. Das Plattenlaufwerk 1232 und das externe Plattenlaufwerk 1234 sind über eine Plattenlaufwerksschnittstelle 1238 bzw. eine Schnittstelle 1240 für ein externes Plattenlaufwerk mit dem Systembus 1226 verbunden. Die Laufwerke und deren zugeordnete computerlesbare Medien stellen einen nichtflüchtigen Speicher von computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen und anderen Daten für den PC 1220 bereit. Die Datenstrukturen können relevante Daten für die Implementierung des Verfahrens zur Steuerung eines digitalen Netzwerkes auf Basis natürlicher Sprache enthalten, wie oben beschrieben. Die relevanten Daten können in einer Datenbank organisiert sein, zum Beispiel einem relationalen Datenbankverwaltungssystem oder einem objektorientierten Datenbankverwaltungssystem.
  • Auch wenn die hierin beschriebene beispielhafte Umgebung eine Festplatte (nicht gezeigt) und eine externe Platte 1236 verwendet, sollten die Fachleute verstehen, dass in der beispielhaften Umgebung auch andere Arten von computerlesbaren Medien verwendet werden können, die Daten speichern, auf den ein Computer zugreifen kann, wie beispielsweisen Magnetkassetten, Flashspeicherkarten, DVDs, Speicher mit wahlfreiem Zugriff, Nur-Lese-Speicher und ähnliche.
  • Eine Anzahl von Programmmodulen kann auf der Festplatte, der externen Platte 1236, ROM 1230 oder RAM 1228 gespeichert sein, einschließlich einem Betriebssystem (nicht gezeigt), einem oder mehreren Anwendungsprogrammen 1244, anderen Programmmodulen (nicht dargestellt) und Programmdaten 1246. Die Anwendungsprogramme können wenigstens einen Teil der in den 1 bis 11 gezeigten Funktionalität umfassen.
  • Ein Benutzer kann, wie nachstehend dargelegt, Befehle und Informationen in den PC 1220 eingeben durch Eingabevorrichtungen wie eine Tastatur 1248 und eine Maus 1250. Andere Eingabevorrichtungen (nicht gezeigt) können ein Mikrofon (oder andere Sensoren), einen Joystick, ein Gamepad, einen Scanner oder ähnliches beinhalten. Diese und andere Eingabevorrichtungen können mit der Verarbeitungsvorrichtung 1222 über eine serielle Schnittstelle 1252 verbunden sein, die mit dem Systembus 1226 verbunden ist, oder können durch andere Schnittstellen gesammelt werden, wie einer Parallelschnittstelle 1254, einem Spieleanschluss oder einem USB Bus. Weiter kann Information mittels einem Drucker 1256 gedruckt werden. Der Drucker 1256 und andere parallele Eingabe/Ausgabevorrichtungen können über die Parallelschnittstelle 1254 mit der Verarbeitungseinheit 1222 verbunden sein. Ein Monitor 1258 oder ein anderer Typ einer Anzeigevorrichtung ist ebenfalls mit dem Systembus 1226 verbunden über eine Schnittstelle, wie einer Videoeingabe/-ausgabe 1260. Zusätzlich zum Monitor kann die Rechnerumgebung 1220 andere periphere Ausgabevorrichtungen (nicht dargestellt) umfassen, wie Lautsprecher oder andere hörbare Ausgaben.
  • Die Rechnerumgebung 1220 kann mit anderen elektronischen Vorrichtungen wie einem Computer, einem Telefon (drahtlos oder drahtgebunden), einem persönlichen digitalen Assistenten, einem Fernseher oder ähnliches kommunizieren. Um zu kommunizieren, kann die Rechnerumgebung 1220 in einer vernetzten Umgebung arbeiten, unter Verwendung von Verbindungen mit einer oder mehreren elektronischen Vorrichtungen. Die 12 zeigt die Rechnerumgebung, die mit einem entfernten Computer 1262 vernetzt ist. Der entfernte Computer 1262 kann eine andere Rechnerumgebung sein, wie ein Server, ein Router, ein Netzwerk PC, eine Peervorrichtung oder ein anderer gemeinsamer Netzwerkknoten, und kann viele oder alle anderen der oben mit Bezug auf die Rechnerumgebung 1220 beschriebenen Elemente enthalten. Die in 12 gezeigten logischen Verbindungen beinhalten ein lokales Netzwerk (LAN) 1264 und ein Weitbereichsnetzwerk (WAN) 1266. Derartige Netzwerkumgebungen sind in Büros, unternehmensweiten Computernetzwerken, Intranetzen und dem Internet üblich, und können insbesondere verschlüsselt sein.
  • Wenn in einer LAN Netzwerkumgebung verwendet, kann die Rechnerumgebung 1220 mittels einer Netzwerk I/O 1268 mit dem LAN 1264 verbunden sein. Wenn in einer WAN Netzwerkumgebung verwendet, kann die Rechnerumgebung 1220 ein Modem 1270 oder ein anderes Mittel zum Herstellen von Kommunikationen über das WAN 1266 beinhalten. Das Modem 1270, das intern oder extern der Rechnerumgebung 1220 sein kann, ist mit dem Systembus 1226 über die serielle Schnittstelle 1252 verbunden. In einer vernetzten Umgebung können Programmmodule, die relativ der Rechnerumgebung 1220 gezeigt wurden, oder Teile davon, in einer entfernten Speichervorrichtung gespeichert sein, die auf dem entfernten Computer 1262 residiert oder auf die diese zugreifen kann. Weiter können andere Daten, die für das Verfahren zum Optimieren einer Evaluation einer Policy (oben beschrieben) relevant sind, auf dem entfernten Computer 1262 residieren oder für diesen zugänglich sein. Es wird verstanden werden, dass die Netzwerkverbindungen beispielhaft sind und andere Mittel zum Herstellen einer Kommunikationsverbindung zwischen den elektronischen Vorrichtungen verwendet werden kann.
  • Das vorstehend beschriebene Rechner System ist lediglich ein Beispiel des Typs von Rechner System, das verwendet werden kann, um das Verfahren zur Steuerung eines digitalen Netzwerks auf Basis natürlicher Sprache zu implementieren.

Claims (15)

  1. Computernetzwerk zum adaptiven Anpassen von Netzwerk-Antworten auf Client-Anforderungen (110, 210), um verbesserte Netzwerk-Antworten bereitzustellen, wobei das Computernetzwerk umfasst: zumindest eine Clientvorrichtung (310) zum Erzeugen und Übertragen von Client-Anforderungen (110, 210); zumindest einen Provider (330) zum Reagieren auf eine Client-Anforderung mittels einem adaptiven Maschinenlernsystem (100); und wobei das adaptive Maschinenlernsystem (100) umfasst: ein Parsermodul (115), das eingerichtet ist, die folgenden Schritte auszuführen: – Empfangen einer Client-Anforderung (110, 210) von einer Clientvorrichtung, wobei die Client-Anforderung (110, 210) zumindest eine Benutzer ID und eine Objekt ID umfasst, die Gegenstand der Client-Anforderung (110, 210) sind; – Parsen einer Anforderungsdatenbank (155) zum Bestimmen weiterer relevanter Daten basierend auf der Benutzer ID und der Objekt ID; – Extrahieren der weiteren relevanten Daten aus der Anforderungsdatenbank (155), um extrahierte Daten zu erzeugen; – Anreichern der Client-Anforderung (110, 210) mit den extrahierten Daten, um eine angereicherte Client-Anforderung (125) zu erzeugen; und – Erzeugen eines Anforderungsdatenobjekts (230) basierend auf der angereicherten Client-Anforderung (125); ein Matching-Modul (105), das eingerichtet ist, die folgenden Schritte auszuführen: – Extrahieren von jeweiligen Determinanten des angeforderten Datenobjekts (230) und von Datenobjekten, die in einer Antwortdatenbank (165) gespeichert sind, wobei jede Determinante ein Attribut eines Datenobjekts ist; – Extrahieren von Gewichtungen, die mit den extrahierten Determinanten des angeforderten Datenobjekts (230) assoziiert sind, und von Datenobjekten, die in der Antwortdatenbank (165) gespeichert sind; – Anwenden eines Matching-Algorithmus auf das Anforderungsdatenobjekt (230) mit Datenobjekten, die in der Antwortdatenbank (165) gespeichert sind, um einen Matching-Wert von potentiellen Servicedatenobjekten (250) basierend auf den extrahierten Gewichtungen zu berechnen; und – Erzeugen eines Endergebnisses (140), wobei das Endergebnis (140) eine Liste von Servicedatenobjekten (250) umfasst, basierend auf dem Matching-Wert, der durch den Matching-Algorithmus berechnet wurde; ein Lernmodul (150), das eingerichtet ist, die Schritte auszuführen: Empfangen des Endergebnisses (140) von dem Matching-Modul (105); – Anwenden eines Lernverfahrens (500) basierend auf dem Endergebnis (140); und – Erzeugen (550) eines Lernergebnisses des Lernverfahrens (500), wobei das Lernergebnis ein ausgewähltes Servicedatenobjekt (240) des Endergebnisses (140) umfasst; und ein Lernwerk (195), das eingerichtet ist, den Matching-Algorithmus des Matching-Moduls (105) basierend auf dem Lernergebnis anzupassen, wobei das Anpassen des Matching-Algorithmus ein Anwenden eines Boosting-Algorithmus (160) zum Anpassen der Gewichtungen, die mit den Determinanten in der Antwortdatenbank (165) assoziiert sind, umfasst, wobei der Boosting-Algorithmus (160) die Schritte umfasst: – Erzeugen (610) einer Boosting-Basis unter Berücksichtigung der gegenwärtigen Gewichtungen, die den Determinanten zugeordnet sind; – Berechnen (620) eines Fehlers für jede Gewichtung; – Identifizieren (630) einer Determinante mit dem kleinsten berechneten Fehler; und – Aktualisieren (640) der Gewichtung, die mit der identifizierten Determinante der Antwortdatenbank (165) assoziiert ist, basierend auf der gegenwärtigen Gewichtung und dem berechneten Fehler; wobei die Clientvorrichtung (310), der Provider (330) und das adaptive Maschinenlernsystem (100) über ein Netzwerk (320) gekoppelt sind.
  2. Computernetzwerk nach Anspruch 1, wobei das Aktualisieren (640) der Gewichtung für die Determinante ausgeführt wird basierend auf den folgenden Formeln:
    Figure DE102015008607A1_0024
    wobei Wn eine Summe aller Gewichtungen der Determinante, wi, ist; ∊m eine Summe gewichteter Fehler ist, die für jede Determinante berechnet wurden; αm für eine Determinante mit einer kleinsten Summe gewichteter Fehler, ∊m, berechnet wird; und yi ein berechneter Fehler der Determinante mit dem kleinsten berechneten Fehler ist.
  3. Computernetzwerk nach einem der vorstehenden Ansprüche, wobei das Berechnen des Matching-Werts umfasst: Anwenden einer Kongruenzanalyse (120), umfassend die Schritte: – Berechnen eines Kongruenzgrads zwischen dem Anforderungsdatenobjekt (230) und jedem Servicedatenobjekt (240), das in der Antwortdatenbank (165) gespeichert ist; und – Erzeugen einer Kongruenzliste, welche alle Servicedatenobjekte (240) umfasst, die einen Kongruenzgrad über einem spezifizierten Kongruenzschwellenwert haben; Anwenden einer Benutzerähnlichkeitsanalyse (130) umfassend die Schritte: – Berechnen eines Ähnlichkeitswerts zwischen einem Benutzerdatenobjekt (220), das der Benutzer ID entspricht, und jedem Benutzerdatenobjekt (220), das in der Antwortdatenbank (165) gespeichert ist; und – Erzeugen einer Ähnlichkeitsliste, welche alle Servicedatenobjekte (240) umfasst, die mit Benutzerdatenobjekten (220) assoziiert sind, die einen Ähnlichkeitswert über einem spezifizierten Ähnlichkeitsschwellenwert haben; und Berechnen des Matching-Werts für jedes Servicedatenobjekt (240) durch Aggregieren des Kongruenzgrads und des Ähnlichkeitswerts des jeweiligen Servicedatenobjekts (240); und Erzeugen des Endergebnisses (140), welches eine Liste von allen Servicedatenobjekten (240) umfasst, die einen Matching-Wert über einem spezifizierten Matching-Schwellenwert haben.
  4. Computernetzwerk nach Anspruch 3, weiter umfassend: Implementieren jedes Datenobjekts, das in der Anforderungsdatenbank (155) und in der Antwortdatenbank (165) gespeichert ist, als mehrdimensionales Vektorobjekt, durch Implementieren jeder Determinante des Datenobjekts als eine Dimension eines Vektors; und Berechnen des Kongruenzgrads und des Ähnlichkeitswerts mittels einem Vektorvergleich zwischen jedem jeweiligen Paar von Datenobjekten, durch Berechnen des Kongruenzgrads und des Ähnlichkeitswerts basierend auf einem Winkel zwischen jedem Paar von Determinanten des jeweiligen Datenobjekts.
  5. Computernetzwerk nach Ansprüchen 2 bis 4, wobei das Berechnen des Kongruenzgrads umfasst Matching von harten Fakten in dem Anforderungsdatenobjekt (230) mit entsprechenden harten Fakten von jedem Servicedatenobjekt (240), das in der Antwortdatenbank (165) gespeichert ist, wobei die harten Fakten Determinanten von jedem Datenobjekt sind, das der Objekt ID entspricht; und/oder wobei Berechnen des Ähnlichkeitswerts umfasst Matching von weichen Fakten in dem Anforderungsdatenobjekt (230) mit entsprechenden weichen Fakten von jedem Benutzerdatenobjekt, das in der Antwortdatenbank (165) gespeichert ist, wobei die weichen Fakten Determinanten von jedem Datenobjekt (250) sind, das der Benutzer ID entspricht, und eines oder mehrere umfassen können von: – einem Alter eines Benutzers; – einem Geschlecht eines Benutzers; – zuvor definierte Präferenzen eines Benutzers; – Benutzerempfehlungen.
  6. Computernetzwerk nach einem der vorstehenden Ansprüche, wobei das Anwenden des Lernverfahrens (800) die Schritte umfasst: – Extrahieren des ersten Servicedatenobjekts (240) aus dem Endergebnis (140); – Parsen des extrahierten Servicedatenobjekts (240), um relevante Daten zu identifizieren, die mit dem extrahierten Servicedatenobjekt (240) assoziiert sind; – Erzeugen (805) einer Akzeptanzabfrage basierend auf den identifizierten relevanten Daten; – Übertragen (810) der Akzeptanzabfrage an die Clientvorrichtung und eine Providervorrichtung, die dem Servicedatenobjekt (240) entspricht; – Empfangen (835) einer Abfragerückmeldung von der Clientvorrichtung und der Providervorrichtung; wenn die Abfragerückmeldungen der Clientvorrichtung und der Providervorrichtung Akzeptanzbenachrichtigungen sind: – Markieren des extrahierten ersten Servicedatenobjekts (240) als ausgewähltes Servicedatenobjekt (240); – Parsen der Antwortdatenbank (165) nach relevanten Vertragsdaten, die mit dem extrahierten Servicedatenobjekt (240) assoziiert sind; – Erzeugen einer Vertragsinformationsbenachrichtigung, welche die relevanten Vertragsdaten umfasst; und – Übertragen (845) der Vertragsinformationsbenachrichtigung an die Clientvorrichtung und die Providervorrichtung; wenn die Abfragerückmeldung der Clientvorrichtung oder der Providervorrichtung eine Ablehnungsbenachrichtigung ist: – Erzeugen (860) einer modifizierten Endergebnisliste (140) durch Entfernen des ersten Servicedatenobjekts (240) von dem Endergebnis (140); und – Anwenden des Lernverfahrens unter Verwendung der modifizierten Endergebnisliste (140).
  7. Computernetzwerk nach Anspruch 6, wobei das Lernwerk (195) weiter umfasst: ein Stimmungswerk (170), das eingerichtet ist, die Schritte auszuführen: – Empfangen einer Rückmeldung über den Service, der dem ausgewählten Servicedatenobjekt (240) entspricht, von einem Benutzer, der mit der Benutzer ID assoziiert ist; – Identifizieren positiver und negativer Schlüsselwörter in der erhaltenen Rückmeldung des Benutzers durch Parsen der erhaltenen Rückmeldung; – Extrahieren einer Determinante des ausgewählten Servicedatenobjekts (240), die mit Benutzerempfehlungen assoziiert ist, aus der Antwortdatenbank (165); – Extrahieren einer Gewichtung, die mit der extrahierten Determinante des ausgewählten Servicedatenobjekts (240) assoziiert ist, aus der Antwortdatenbank (165); und – Anpassen der extrahierten Gewichtung des ausgewählten Servicedatenobjekts (240) basierend auf den identifizierten Schlüsselwörtern in der Antwortdatenbank (165).
  8. Computerimplementiertes Verfahren zum adaptiven Anpassen von Netzwerk-Antworten auf Client-Anforderungen (110, 210), um verbesserte Netzwerk-Antworten bereitzustellen, wobei das Verfahren umfasst: – Empfangen einer Client-Anforderung (110, 210) von einer Clientvorrichtung (310), wobei die Client-Anforderung (110, 210) zumindest eine Benutzer ID und eine Objekt ID umfasst, die Gegenstand der Client-Anforderung (110, 210) sind; – Parsen einer Anforderungsdatenbank (155) zum Bestimmen weiterer relevanter Daten basierend auf der Benutzer ID und der Objekt ID; – Extrahieren der weiteren relevanten Daten aus der Anforderungsdatenbank (155), um extrahierte Daten zu erzeugen; – Anreichern der Client-Anforderung (110, 210) mit den extrahierten Daten, um eine angereicherte Client-Anforderung (125) zu erzeugen; und – Erzeugen eines Anforderungsdatenobjekts (230) basierend auf der angereicherten Client-Anforderung (125); – Extrahieren von jeweiligen Determinanten des angeforderten Datenobjekts (230) und von Datenobjekten, die in einer Antwortdatenbank (165) gespeichert sind, wobei jede Determinante ein Attribut eines Datenobjekts ist; – Extrahieren von Gewichtungen, die mit den extrahierten Determinanten des angeforderten Datenobjekts (230) assoziiert sind, und von Datenobjekten, die in der Antwortdatenbank (165) gespeichert sind; – Anwenden eines Matching-Algorithmus auf das Anforderungsdatenobjekt (230) mit Datenobjekten, die in der Antwortdatenbank (165) gespeichert sind, um einen Matching-Wert von potentiellen Servicedatenobjekten (250) basierend auf den extrahierten Gewichtungen zu berechnen; und – Erzeugen eines Endergebnisses (140), wobei das Endergebnis (140) eine Liste von Servicedatenobjekten (250) umfasst, basierend auf dem Matching-Wert, der durch den Matching-Algorithmus berechnet wurde; Empfangen des Endergebnisses (140) von dem Matching-Modul (105); – Anwenden eines Lernverfahrens (500) basierend auf dem Endergebnis (140); und – Erzeugen (550) eines Lernergebnisses des Lernverfahrens (500), wobei das Lernergebnis ein ausgewähltes Servicedatenobjekt (240) des Endergebnisses (140) umfasst; und – Anpassen des Matching-Algorithmus des Matching-Moduls (105) basierend auf dem Lernergebnis, wobei das Anpassen des Matching-Algorithmus ein Anwenden eines Boosting-Algorithmus (160) zum Anpassen der Gewichtungen, die mit den Determinanten in der Antwortdatenbank (165) assoziiert sind, umfasst, wobei der Boosting-Algorithmus (160) die Schritte umfasst: – Erzeugen (610) einer Boosting-Basis unter Berücksichtigung der gegenwärtigen Gewichtungen, die den Determinanten zugeordnet sind; – Berechnen (620) eines Fehlers für jede Gewichtung; – Identifizieren (630) einer Determinante mit dem kleinsten berechneten Fehler; und – Aktualisieren (640) der Gewichtung, die mit der identifizierten Determinante der Antwortdatenbank (165) assoziiert ist, basierend auf der gegenwärtigen Gewichtung und dem berechneten Fehler.
  9. Computerimplementiertes Verfahren nach Anspruch 8, wobei das Berechnen des Matching-Werts umfasst: Anwenden einer Kongruenzanalyse (120) umfassend die Schritte: – Berechnen eines Kongruenzgrads zwischen dem Anforderungsdatenobjekt (230) und jedem Servicedatenobjekt (240), das in der Antwortdatenbank (165) gespeichert ist; und – Erzeugen einer Kongruenzliste, welche alle Servicedatenobjekte (230) umfasst, die einen Kongruenzgrad über einem spezifizierten Kongruenzschwellenwert haben; – Anwenden einer Benutzerähnlichkeitsanalyse (130) umfassend die Schritte: – Berechnen eines Ähnlichkeitswerts zwischen einem Benutzerdatenobjekt (220), das der Benutzer ID entspricht, und jedem Benutzerdatenobjekt (220), das in der Antwortdatenbank (165) gespeichert ist; und – Erzeugen einer Ähnlichkeitsliste, welche alle Servicedatenobjekte (230) umfasst, die mit Benutzerdatenobjekten (220) assoziiert sind, die einen Ähnlichkeitswert über einem spezifizierten Ähnlichkeitsschwellenwert haben; und – Berechnen des Matching-Werts für jedes Servicedatenobjekt (240) durch Aggregieren des Kongruenzgrads und des Ähnlichkeitswerts des jeweiligen Servicedatenobjekts (240); und Erzeugen des Endergebnisses (140), das eine Liste von allen Servicedatenobjekten (230) umfasst, die einen Matching-Wert über einem spezifizierten Matching-Schwellenwert haben.
  10. Computerimplementiertes Verfahren nach Anspruch 9, wobei jedes Datenobjekt, das in der Anforderungsdatenbank (155) und der Antwortdatenbank (165) gespeichert ist, als mehrdimensionales Vektorobjekt implementiert ist, wobei jede Determinante eines Datenobjekts als eine Dimension eines Vektors implementiert ist; wobei das Verfahren weiter umfasst: Berechnen des Kongruenzgrads und des Ähnlichkeitswerts mittels einem Vektorvergleich zwischen jedem jeweiligen Paar von Datenobjekten, durch Berechnen des Kongruenzgrads und des Ähnlichkeitswerts basierend auf einem Winkel zwischen jedem Paar von Determinanten des jeweiligen Datenobjekts.
  11. Computerimplementiertes Verfahren nach Anspruch 9 oder Anspruch 10, wobei das Berechnen des Kongruenzgrads umfasst Matching von harten Fakten in dem Anforderungsdatenobjekt (230) mit entsprechenden harten Fakten von jedem Servicedatenobjekt (240), das in der Antwortdatenbank (165) gespeichert ist, wobei die harten Fakten Determinanten von jedem Datenobjekt (250) sind, das der Objekt ID entspricht; und/oder wobei das Berechnen des Ähnlichkeitswerts umfasst Matching von weichen Fakten in dem Anforderungsdatenobjekt (230) mit entsprechenden weichen Fakten von jedem Benutzerdatenobjekt, das in der Antwortdatenbank (165) gespeichert ist, wobei die weichen Fakten Determinanten von jedem Datenobjekt (250) sind, das der Benutzer ID entspricht, und eines oder mehrere umfassen können von: – einem Alter eines Benutzers; – einem Geschlecht eines Benutzers; – zuvor definierten Präferenzen eines Benutzers; – Benutzerempfehlungen.
  12. Computerimplementiertes Verfahren nach einem der Ansprüche 8 bis 11, wobei das Anwenden des Lernverfahrens (800) die Schritte umfasst: – Extrahieren des ersten Servicedatenobjekts (240) aus dem Endergebnis (140); – Parsen des extrahierten Servicedatenobjekts (240), um relevante Daten zu identifizieren, die mit dem extrahierten Servicedatenobjekt (240) assoziiert sind; – Erzeugen (805) einer Akzeptanzabfrage basierend auf den identifizierten relevanten Daten; – Übertragen (810) der Akzeptanzabfrage an die Clientvorrichtung (310) und eine Providervorrichtung (330), die dem Servicedatenobjekt (240) entspricht; – Empfangen (835) einer Abfragerückmeldung von der Clientvorrichtung (310) und der Providervorrichtung (330); wenn die Abfragerückmeldungen der Clientvorrichtung (310) und der Providervorrichtung (330) Akzeptanzbenachrichtigungen sind: – Markieren des extrahierten ersten Servicedatenobjekts (240) als ein ausgewähltes Servicedatenobjekt (240); – Parsen der Antwortdatenbank (165) nach relevanten Vertragsdaten, die mit dem extrahierten Servicedatenobjekt (240) assoziiert sind; – Erzeugen einer Vertragsinformationsbenachrichtigung, welche die relevanten Vertragsdaten umfasst; und – Übertragen (845) der Vertragsinformationsbenachrichtigung an die Clientvorrichtung (310) und die Providervorrichtung (330); wenn die Abfragerückmeldung der Clientvorrichtung (310) oder der Providervorrichtung (330) eine Ablehnungsbenachrichtigung ist: – Erzeugen eines modifizierten Endergebnisses (140) durch Entfernen des ersten Servicedatenobjekts (240) von dem Endergebnis (140); und – Anwenden des Lernverfahrens unter Verwendung der modifizierten Endergebnisliste (140).
  13. Computerimplementiertes Verfahren nach einem der Ansprüche 8 bis 12, wobei das Anpassen des Matching-Algorithmus des Matching-Moduls (105) basierend auf dem Lernergebnis weiter umfasst: – Empfangen einer Rückmeldung über den Service, der dem ausgewählten Servicedatenobjekt (240) entspricht, von einem Benutzer, der mit der Benutzer ID assoziiert ist; – Identifizieren positiver und negativer Schlüsselwörter in der erhaltenen Rückmeldung des Benutzers durch Parsen der erhaltenen Rückmeldung; – Extrahieren einer Determinante des ausgewählten Servicedatenobjekts (240), die mit Benutzerempfehlungen assoziiert ist, aus der Antwortdatenbank (165); – Extrahieren einer Gewichtung, die mit der extrahierten Determinante des ausgewählten Servicedatenobjekts (240) assoziiert ist, aus der Antwortdatenbank (165); und Anpassen der extrahierten Gewichtung des ausgewählten Servicedatenobjekts (240) basierend auf den identifizierten Schlüsselwörtern in der Antwortdatenbank (165).
  14. Adaptives Maschinenlernsystem zum adaptiven Anpassen von Netzwerk-Antworten auf Client-Anforderungen (110, 210), um verbesserte Netzwerk-Antworten bereitzustellen, wobei das System umfasst: ein Parsermodul (115), das eingerichtet ist, die folgenden Schritte auszuführen: – Empfangen einer Client-Anforderung (110, 210) von einer Clientvorrichtung (310), wobei die Client-Anforderung (110, 210) zumindest eine Benutzer ID und eine Objekt ID umfasst, die Gegenstand der Client-Anforderung (110, 210) sind; – Parsen einer Anforderungsdatenbank (155) zum Bestimmen weiterer relevanter Daten basierend auf der Benutzer ID und der Objekt ID; – Extrahieren der weiteren relevanten Daten aus der Anforderungsdatenbank (155), um extrahierte Daten zu erzeugen; – Anreichern der Client-Anforderung (110, 210) mit den extrahierten Daten, um eine angereicherte Client-Anforderung (125) zu erzeugen; und – Erzeugen eines Anforderungsdatenobjekts (230) basierend auf der angereicherten Client-Anforderung (125); ein Matching-Modul (105), das eingerichtet ist, die folgenden Schritte auszuführen: – Extrahieren von jeweiligen Determinanten des angeforderten Datenobjekts (230) und von Datenobjekten, die in einer Antwortdatenbank (165) gespeichert sind, wobei jede Determinante ein Attribut eines Datenobjekts ist; – Extrahieren von Gewichtungen, die mit den extrahierten Determinanten des angeforderten Datenobjekts (230) assoziiert sind, und von Datenobjekten, die in der Antwortdatenbank (165) gespeichert sind; – Anwenden eines Matching-Algorithmus auf das Anforderungsdatenobjekt (230) mit Datenobjekten, die in der Antwortdatenbank (165) gespeichert sind, um einen Matching-Wert von potentiellen Servicedatenobjekten (250) basierend auf den extrahierten Gewichtungen zu berechnen; und – Erzeugen eines Endergebnisses (140), wobei das Endergebnis (140) eine Liste von Servicedatenobjekten (250) umfasst, basierend auf dem Matching-Wert, der durch den Matching-Algorithmus berechnet wurde; ein Lernmodul (150), das eingerichtet ist, die Schritte auszuführen: – Empfangen des Endergebnisses (140) von dem Matching-Modul (105); – Anwenden eines Lernverfahrens (500) basierend auf dem Endergebnis (140); und – Erzeugen (550) eines Lernergebnisses des Lernverfahrens (500), wobei das Lernergebnis ein ausgewähltes Servicedatenobjekt (240) des Endergebnisses (140) umfasst; und ein Lernwerk (195), das eingerichtet ist, den Matching-Algorithmus des Matching-Moduls (105) basierend auf dem Lernergebnis anzupassen, wobei das Anpassen des Matching-Algorithmus ein Anwenden eines Boosting-Algorithmus (160) zum Anpassen der Gewichtungen, die mit den Determinanten in der Antwortdatenbank (165) assoziiert sind, umfasst, wobei der Boosting-Algorithmus (160) die Schritte umfasst: – Erzeugen (610) einer Boosting-Basis unter Berücksichtigung der gegenwärtigen Gewichtungen, die den Determinanten zugeordnet sind; – Berechnen (620) eines Fehlers für jede Gewichtung; – Identifizieren (630) einer Determinante mit dem kleinsten berechneten Fehler; und – Aktualisieren (640) der Gewichtung, die mit der identifizierten Determinante der Antwortdatenbank (165) assoziiert ist, basierend auf der gegenwärtigen Gewichtung und dem berechneten Fehler.
  15. Computerprogrammprodukt, umfassend ein maschinenlesbares Medium, welches Anweisungen speichert, die, wenn sie von zumindest einem programmierbaren Prozessor ausgeführt werden, den zumindest einen Prozessor dazu veranlassen, Operationen gemäß dem Verfahren nach einem der Ansprüche 8 bis 13 auszuführen.
DE102015008607.3A 2015-07-03 2015-07-03 Adaptives Anpassen von Netzwerk-Anforderungen auf Client-Anforderungen in digitalen Netzwerken Active DE102015008607B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102015008607.3A DE102015008607B4 (de) 2015-07-03 2015-07-03 Adaptives Anpassen von Netzwerk-Anforderungen auf Client-Anforderungen in digitalen Netzwerken

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102015008607.3A DE102015008607B4 (de) 2015-07-03 2015-07-03 Adaptives Anpassen von Netzwerk-Anforderungen auf Client-Anforderungen in digitalen Netzwerken

Publications (2)

Publication Number Publication Date
DE102015008607A1 true DE102015008607A1 (de) 2017-01-05
DE102015008607B4 DE102015008607B4 (de) 2017-03-02

Family

ID=57582721

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015008607.3A Active DE102015008607B4 (de) 2015-07-03 2015-07-03 Adaptives Anpassen von Netzwerk-Anforderungen auf Client-Anforderungen in digitalen Netzwerken

Country Status (1)

Country Link
DE (1) DE102015008607B4 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10579658B2 (en) 2015-07-03 2020-03-03 Sap Se Adaptive adjustment of network responses to client requests in digital networks

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050228776A1 (en) * 2002-10-31 2005-10-13 International Business Machines Corporation Global query correlation attributes

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050228776A1 (en) * 2002-10-31 2005-10-13 International Business Machines Corporation Global query correlation attributes

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10579658B2 (en) 2015-07-03 2020-03-03 Sap Se Adaptive adjustment of network responses to client requests in digital networks

Also Published As

Publication number Publication date
DE102015008607B4 (de) 2017-03-02

Similar Documents

Publication Publication Date Title
EP3113037B1 (de) Adaptive anpassung von netzwerkantworten auf client-anfragen in digitalen netzwerken
DE112020000860T5 (de) Risikovorhersage basierend auf automatisierter dokumentenanalyse
DE112019006389T5 (de) Automatisiertes Training und Auswahl von Modellen zur Dokumentenanalyse
DE102012218966B4 (de) Verfahren und System zum Kennzeichnen von durch Dinge im Internet der Dinge erzeugten Originaldaten
DE112016002395T5 (de) Zugriffskontrolle für Datenressourcen
DE112018004325T5 (de) Systeme und verfahren für die risikoanalyse
US20120041769A1 (en) Requests for proposals management systems and methods
DE102015009912A1 (de) Adaptives Modifizieren von Inhalten, die in elektronischen Formularen präsentiert werden
DE102011017442A1 (de) Verfahren zum Bestimmen des Kundenwerts und -potenzials aus sozialen Medien und anderen öffentlichen Datenquellen
US20080189163A1 (en) Information management system
DE112016001313T5 (de) Systeme und verfahren zum aktivieren von benutzer-sprachinteraktionen mit einem host-computergerät
DE202014011539U1 (de) System zum verteilten Verarbeiten in einer Nachrichtenübermittlungsplattform
DE10240117A1 (de) Netzwerkbasiertes Informationsmanagement
DE112010004946T5 (de) Dynamisches Verwalten einer sozialen Netzwerkgruppe
DE102017125164A1 (de) Suchmaschine
DE202017104849U1 (de) Systeme und Medien zum Darstellen einer Benutzerschnittstelle, die für eine vorhergesagte Benutzeraktivität kundenspezifisch ist
DE102012220390A1 (de) Verwenden des geografischen Ortes zum Ermitteln von Element- und Gebietsdaten zum Bereitstellen an eine Datenverarbeitungseinheit
DE202017100386U1 (de) Latenzreduzierung bei der feedbackbasierten Ermittlung einer Systemperformance
DE112021001986T5 (de) Verfahren und System zum Verarbeiten von Datenaufzeichnungen
DE102021004157A1 (de) Maschinell lernendes Modellieren zum Schutz gegen die Online-Offenlegung empfindlicher Daten
US8620911B2 (en) Document registry system
DE112020000003T5 (de) Informationsbereitstellungssystem und Informationsbereitstellungsverfahren
CN101203847B (zh) 用于管理列表的系统和方法
CN114021001A (zh) 一种基于大数据的企业措施匹配方法、设备及介质
DE102017208219A1 (de) Erstellung elektronischer Musterdokumente unter Nutzung des semantischen Kontexts

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final