-
HINTERGRUND
-
Die Offenbarung bezieht sich im Allgemeinen auf ein Verfahren zum Personalisieren einer Nachricht und im Besonderen auf ein Verfahren zum Personalisieren einer Nachricht, die von einem Sender an einen Empfänger gesendet werden soll. Die Offenbarung bezieht sich des Weiteren auf ein Nachrichtenpersonalisierungssystem und ein Computerprogrammprodukt zum Personalisieren einer Nachricht zwischen einem Sender und einem Empfänger.
-
Die Menge an Daten, die in elektronischen Kommunikationssystemen verwaltet wird, nimmt ständig zu. Dies gilt für klassische eMail-Nachrichten, Chat-Nachrichten, Social-Media-Nachrichten und andere Arten von modernen Kommunikationsplattformen. Zudem ist es üblich geworden, informelle elektronische Kommunikationsmechanismen wie Sprachnachrichten in Geschäftskorrespondenz und Marketing zu verwenden. Auch die Anzahl der Nachrichten, die auf eine der oben erwähnten Arten gesendet werden, nimmt zu, während die Länge einer einzelnen Nachricht in vielen Fällen abnimmt. Dies kann zu Missverständnissen und Fehlkommunikationen bei der Verwendung elektronischer Medien führen. Dazu kommt, dass eine auf einen bestimmten Rezipienten zugeschnittene Nachricht in dem Kontext zwischen dem Sender und einem bestimmten Rezipienten zwar „den Nagel auf den Kopf treffen kann“, in dem Kontext zwischen dem Sender und einem weiteren Rezipienten jedoch völlig frei von Inhalt sein kann. Aus diesem Grund sollten Nachrichten sowohl auf die Anforderungen als auch auf den Kontext eines Rezipienten zugeschnitten werden, um die richtige und größtmögliche Wirkung zu entfalten.
-
Allerdings werden viele Nachrichten durch einen unkonzentrierten Absender gesendet. Marketing-Nachrichten können wiederum an ein großes Publikum gesendet werden, in dem jede empfangende Einzelperson eine einzigartige Geschichte und somit unterschiedliche Kontexte aufweist, wenn sie die Nachricht empfängt. Somit kann die Wirkung für die Mehrzahl von Empfängern beträchtlich unterschiedlich ausfallen. Zur Lösung dieses Problems werden vor Marketing-Kampagnen häufig hochgradig komplexe Sentiment-Analysen durchgeführt, um kontextspezifische Nachrichten an einzelne Empfänger oder kleine Gruppen von Empfängern zu senden. Diese Sentiment-Analysen bedeuten einen erheblichen Aufwand, wenn elektronische Kommunikationssysteme und -plattformen für das Marketing verwendet werden. Dieselbe Schwäche lässt sich auch bei vielen eins-zu-eins-Nachrichten beobachten, da der Absender nicht den vollständigen Kontext des Empfängers kennt oder nicht weiß, wie der Empfänger den Nachrichteninhalt womöglich interpretiert, da dieser notwendigerweise in dem Kontext des Absenders erzeugt wurde.
-
Zur Lösung dieser Probleme wurden bereits einige Versuche unternommen. US-Patentschrift
2012/0265528 A1 offenbart einen virtuellen Assistenten, der Kontextinformationen verwendet, um eine Eingabe von natürlicher Sprache oder Gesten von einem Benutzer zu ergänzen. Der Kontext hilft dabei, die Absicht des Benutzers zu klären, um die Anzahl von in Frage kommenden Interpretationen der Benutzereingabe zu verringern, und verringert die Notwendigkeit für den Benutzer, unverhältnismäßig viele Eingabeinformationen zur Klärung bereitzustellen.
-
Darüber hinaus offenbart US-Patentschrift
2013/0253910 A1 ein Verfahren zum Analysieren von Text innerhalb eines digitalen Dokuments. In manchen Fällen kann die Analyse ein Empfangen und/oder Erzeugen eines digitalen Dokuments mit einer Verarbeitungsschaltung und ein Ermitteln einer Verteilung eines jeden aus einer Mehrzahl von Dokumentenbegriffen auf Grundlage eines Vorkommens der Dokumentenbegriffe innerhalb der Textbeispiels enthalten.
-
Allerdings berücksichtigen die bekannten Technologien nicht den vollständigen Kontext eines Rezipienten und können somit die Nachricht nicht angemessen zuschneiden, um die Wahrscheinlichkeit einer Fehlinterpretation durch den Rezipienten zu verringern. Aus diesem Grund wird eine bessere Personalisierung von Nachrichten benötigt.
-
KURZDARSTELLUNG
-
Gemäß einem Aspekt der vorliegenden Offenbarung kann ein Verfahren zum Personalisieren einer Nachricht zwischen einem Absender und einem Empfänger bereitgestellt werden. Das Verfahren kann ein semantisches Analysieren einer Kommunikationshistorie zwischen dem Absender und dem Empfänger und ein Erzeugen eines Wissensgraphen zwischen einer Absenderkennung, die den Absender identifiziert, und einer Empfängerkennung aufweisen, die den Empfänger identifiziert. Darüber hinaus kann das Verfahren ein Erhalten von Formalitätsgrad-Werten zwischen dem Absender und dem Empfänger aus dem Wissensgraphen unter Verwendung eines ersten trainierten Modells mit maschinellem Lernen (ML), ein Analysieren von Parameterwerten von Antworten in der Kommunikationshistorie, um Empfängerwirkungs-Score-Werte zu ermitteln, und ein Trainieren eines zweiten ML-Systems aufweisen, um ein Modell zum Vorhersagen des Empfängerwirkungs-Score-Werts auf Grundlage des Wissensgraphen und des Formalitätsgrads zu erzeugen.
-
Zusätzlich kann das Verfahren ein Auswählen eines sprachlichen Ausdrucks in einer Nachricht, die verfasst wird, ein Ermitteln einer Ausdrucksabsicht des ausgewählten sprachlichen Ausdrucks und ein Modifizieren des sprachlichen Ausdrucks auf Grundlage des Formalitätsgrads und der Ausdrucksabsicht aufweisen, wodurch ein modifizierter sprachlicher Ausdruck erzeugt wird.
-
Ebenfalls Teil des Verfahrens kann ein Testen, ob der modifizierte sprachliche Ausdruck mit einer größeren Wahrscheinlichkeit zu einem höheren Empfängerwirkungs-Score-Wert führt, unter Verwendung eines dritten trainierten ML-Modells und ein Wiederholen der Schritte eines Auswählens des sprachlichen Ausdrucks, eines Ermittelns der Ausdrucksabsicht, eines Modifizierens des sprachlichen Ausdrucks und eines Testens sein, bis ein Stoppkriterium erfüllt wird.
-
Gemäß einem weiteren Aspekt der vorliegenden Offenbarung kann ein Nachrichtenpersonalisierungssystem zum Personalisieren einer Nachricht zwischen einem Absender und einem Empfänger bereitgestellt werden. Das Nachrichtenpersonalisierungssystem kann ein erstes Analysemittel, das zum semantisches Analysieren einer Kommunikationshistorie zwischen dem Absender und dem Empfänger geeignet ist und das zum Erzeugen eines Wissensgraphen zwischen einer Absenderkennung, die den Absender identifiziert, und einer Empfängerkennung geeignet ist, die den Empfänger identifiziert, ein Erhaltungsmittel, das zum Erhalten von Formalitätsgrad-Werten zwischen dem Absender und dem Empfänger aus dem Wissensgraphen unter Verwendung eines ersten trainierten ML-Modells geeignet ist, ein zweites Analysemittel, das zum Analysieren von Parameterwerten von Antworten in der Kommunikationshistorie geeignet ist, um Empfängerwirkungs-Score-Werte zu ermitteln, und ein Trainingsmittel aufweisen, das zum Trainieren eines zweiten ML-Systems geeignet ist, um ein Modell zum Vorhersagen des Empfängerwirkungs-Score-Werts auf Grundlage des Wissensgraphen und des Formalitätsgrads zu erzeugen.
-
Darüber hinaus kann das Nachrichtenpersonalisierungssystem ein Auswahlmittel, das zum Auswählen eines sprachlichen Ausdrucks in einer Nachricht geeignet ist, die verfasst wird, ein Ermittlungsmittel, das zum Ermitteln einer Ausdrucksabsicht des ausgewählten sprachlichen Ausdrucks geeignet ist, ein Modifikationsmittel, das zum Modifizieren des sprachlichen Ausdrucks auf Grundlage des Formalitätsgrads und der Ausdrucksabsicht geeignet ist, wodurch ein modifizierter sprachlicher Ausdruck erzeugt wird, und ein Testmittel aufweisen, das zum Testen, ob der modifizierte sprachliche Ausdruck mit einer größeren Wahrscheinlichkeit zu einem höheren Empfängerwirkungs-Score-Wert führt, unter Verwendung eines dritten trainierten ML-Modells geeignet ist.
-
Darüber hinaus kann das Nachrichtenpersonalisierungssystem ein Wiederholungsmittel aufweisen, das zum Auslösen des Auswahlmittels, des Ermittlungsmittels, des Modifikationsmittels und des Testmittels geeignet ist, bis ein Stoppkriterium erfüllt wird.
-
Das vorgeschlagene Verfahren zum Personalisieren einer Nachricht zwischen einem Absender und einem Empfänger kann mehrere Vorteile, technische Auswirkungen, Beiträge und/oder Verbesserungen bieten.
-
Das vorgeschlagene Konzept kann ein Werkzeug darstellen, um eine Nachricht mit größtmöglicher Effektivität „an den Mann bzw. die Frau zu bringen“. Es kann damit die Redensart widerlegen, nach der eine Botschaft auf sieben verschiedene Arten verpackt werden sollte, um beim Empfänger wirklich anzukommen. Das hierin vorgeschlagene System kann eine Abkürzung für die vorstehend erwähnte Kommunikationsregel sein. Eine Nachricht, die verfasst (und gesendet) werden soll, kann durch eine Interaktion der Mehrzahl von ML-Systemen modifiziert werden, bevor die Nachricht tatsächlich gesendet wird.
-
Hierfür können das vorgeschlagene Verfahren und das zugehörige System historische Kommunikationsfragmente zwischen einem Absender und einem zugehörigen Empfänger oder Rezipienten untersuchen und analysieren, um verschiedene Parameter wie z.B. ein Thema, ein Verständnis desselben, ein spezifisches Thema, ein verwendetes Vokabular, eine Beziehung zwischen dem Absender und dem Empfänger und anderen verfügbaren Kontext sowie andere verfügbare Metadaten zu ermitteln. Auf Grundlage dieser festgestellten Daten kann eine Nachricht, die geschrieben werden soll, auch online dynamisch analysiert werden, bevor die Nachricht womöglich gesendet wird, um vorherzusagen, welche Art von Wirkung - z.B. welche Art von Effekt - die auf eine spezifische Weise formulierte Nachricht auf den Rezipienten haben kann. Dies kann auch von der Mehrzahl unterschiedlicher Parameter abhängig sein, die alle verwendet werden können, sofern sie bekannt sind.
-
Somit kann das vorgeschlagene Konzept dabei helfen, Missverständnisse und zeitaufwendige Rückfragen zu vermeiden, um bei einer laufenden Kommunikation einen realen, schnellen und effektiven Fortschritt zu erzielen. Im Besonderen kann es bei dem Versuch, die Kommunikation reibungsloser und damit effektiver zu machen, die Überwindung kultureller, sprachlicher und individueller Hürden ermöglichen.
-
Somit kann das vorgeschlagene Konzept nicht nur bei einer eins-zu-eins-Kommunikation, sondern auch bei einer eins-zu-viele-Kommunikation funktionieren, da sich die Nachrichten auf einen einzelnen Rezipienten ebenso wie auf eine Gruppe von Rezipienten zuschneiden lassen, die z.B. eine vergleichbare Kommunikationshistorie haben. Das Zuschneiden der Nachricht kann auch auf Grundlage anderer Parameter erfolgen, z.B. ausgewählter Charakteristika der Mitglieder einer Gruppe.
-
Der rein technische Vorteil kann darin gesehen werden, dass in elektronischen Kommunikationssystemen jeglicher Art weniger Nachrichten gespeichert werden müssen, sodass insgesamt weniger Speicherkapazität benötigt werden kann. Zusätzlich kann Datenübertragungsbandbreite gespart werden, da weniger Nachrichten hin und her gesendet werden müssen, um Rückfragen zu beantworten.
-
Im Folgenden werden zusätzliche Ausführungsformen beschrieben, die auf das Verfahren sowie auf das System anwendbar sind.
-
Gemäß einer vorteilhaften Ausführungsform des Verfahrens kann das dritte ML-Modell ein Verstärkungslernmodell (Reinforcement Learning, RL) sein, z.B. auf Grundlage eines Verstärkungslernsystems. Dabei kann der jeweilige Software-Agent so handeln, dass ein Belohnungskonzept, z.B. eine Belohnungsfunktion, und in diesem speziellen Fall die erwartete Wirkung der modifizierten Nachricht auf den Empfänger maximiert wird.
-
Gemäß einer erweiterten Ausführungsform des Verfahrens kann das Trainieren des dritten ML-Modells auch ein Verwenden eines bidirektionalen Transformators aufweisen. Dies kann auch als ein viertes, in das Verfahren einbezogenes ML-Modell und -System betrachtet werden, das hierin auf dem BERT-Modell (Bidirectional Encoder Representations from Transformers, bidirektionale Encoder-Darstellungen von Transformatoren) beruht, um die Ausdrucksabsicht vorherzusagen. Somit kann sich das hierin vorgeschlagene Verfahren die neuesten Textinterpretations- und NLP-Methoden (Natural Language Processing, Verarbeitung natürlicher Sprache) zunutze machen und dabei ein unüberwachtes ML-Modell für Sprachdarstellungen verwenden, das anhand eines nur aus Klartext bestehenden Korpus vorab trainiert wird. Auf diese Weise kann BERT den Kontext eines jeden Vorkommens eines bestimmten Wortes oder einer bestimmten Phrase berücksichtigen. Während zum Beispiel der Vektor für „laufen“ dieselbe word2vec-Vektordarstellung für beide Vorkommen in den Sätzen „Ihre Firma läuft gut“ und „Sie läuft einen Marathon“ haben kann, kann BERT eine kontextualisierte Einbettung bereitstellen, die je nach Satz anders ausfällt.
-
Gemäß einer weiteren Ausführungsform des Verfahrens kann das Trainieren des bidirektionalen Transformators ein Verwenden der Kommunikationshistorie, des Wissensgraphen, der erhaltenen Formalitätsgrade und der Empfängerwirkungs-Score-Werte als Trainingsdaten aufweisen. Somit kann das gesamte Spektrum von verfügbaren und historisch vorhandenen, erhaltenen und (z.B. in dem Wissensgraphen) konstruierten Daten und Abhängigkeiten zwischen ausgewählten Exemplaren der Datenpunkte für den bidirektionalen Transformator wie z.B. das BERT-Modell verfügbar gemacht werden. Dies kann einen mehr oder weniger vollständigen Satz von Eingabedaten ermöglichen, um die endgültige Formulierung der Nachricht an den Empfänger für eine größtmögliche Wirkung zu optimieren.
-
Gemäß einer weiteren entwickelten Ausführungsform des Verfahrens kann die Empfängerkennung eine Mehrzahl von Empfängerkennungen sein, die zum Identifizieren einer Mehrzahl von Benutzern verwendet wird, und der modifizierte sprachliche Ausdruck kann erzeugt werden, indem Effekte aller Empfängerkennungen berücksichtigt werden. Somit kann das vorgeschlagene Konzept nicht nur bei einer eins-zu-eins-Kommunikationsaufgabe, sondern auch bei einer eins-zu-viele-Kommunikationsaufgabe vorteilhaft sein. Dabei kann es nützlich sein, Durchschnittswerte für Daten zu erzeugen, die sich auf eine Mehrzahl von Zielkennungen beziehen und/oder auch eine Gewichtungsfunktion verwenden - z.B. auf Grundlage von Formalitätsgrad-Werten - ein Gewichten von Themen - z.B. unter Verwendung einer Verweistabelle für Gewichtungen und Themen - sowie möglicherweise Empfänger-IDs. Es kann auch möglich sein, verschiedene Versionen der modifizierten Nachricht für verschiedene Empfänger oder Gruppen von Empfängern zu erzeugen. Der letztgenannte Aspekt kann für die Massenkommunikation und Werbung in sozialen Medien besonders interessant sein.
-
Gemäß einer fortschrittlichen Ausführungsform des Verfahrens kann die Modifikation des sprachlichen Ausdrucks, z.B. seine modifizierte Version, durch Ergebnisse von mindestens einem beeinflusst werden, ausgewählt aus der Formalitätsgrad-Analyse, einer Vertraulichkeitsgrad-Analyse der Nachricht, einer Nachrichtenthema-Analyse und einer Tonfall-Analyse, wobei der Tonfall als freundlich, aggressiv oder kooperativ usw. identifiziert werden kann. Der Einfluss kann auf einer Einflussfunktion beruhen, deren Resultat das Analyseresultat ist, und die Ergebnisse der Analyse können als Argumente der Funktion verwendet werden.
-
Gemäß einer weiteren fortschrittlichen Ausführungsform des Verfahrens kann die Modifikation des sprachlichen Ausdrucks durch mindestens eines durchgeführt werden, ausgewählt aus einem Austausch eines Wortes, einem Umkehren einer Satzstruktur, einem Neuordnen von Inhalt, einer Löschung eines Wortes, einem Ändern einer Reihenfolge von Nachrichtenblöcken, einer Verwendung von Synonymen einschließlich einer Wortwahl, die durch den Empfänger bei einer früheren Kommunikation verwendet wurde, einem Anpassen des Stils, insbesondere einem Durchführen der Stilanpassungen unter Verwendung des Persönlichkeitsprofils von dem Empfänger, und einer GPT2-Transformator-Umformung (Generative-Pretraining-Modus auf Grundlage von OpenAI), wobei die GPT2-Transformator-Umformung mit einer Teilsatzerzeugung versehen wird, um den Rest des Absatzes auf eine personalisierte Weise zu erzeugen, indem personalisierter Text für den Benutzer synthetisiert wird. Somit können alle oder die meisten Aspekte einer Modifikation der Nachricht berücksichtigt werden, die auch durch einen bewusst handelnden und voll fokussierten Benutzer verwendet würden. Allerdings werden viele Nachrichten unter Umständen geschrieben, ohne dass der Absender seine volle Aufmerksamkeit darauf richtet. Unter Verwendung dieses hierin beschriebenen Merkmals kann das hierin vorgeschlagene System den Effekt verstärken, den die gesendete Nachricht entfalten kann.
-
Gemäß einer interessanten Ausführungsform des Verfahrens kann die semantische Analyse der Kommunikationshistorie ein Identifizieren von Themen mit dem LDA-Themenmodell (Latent Dirichlet Allocation) aufweisen. Auf diese Weise können die Vorteile des LDA-Themenmodells in das hierin vorgeschlagene Konzept integriert werden, und zwar aufgrund der Fähigkeit von LDA, Dokumente zu modellieren, indem eine Anzahl von Themen durch einen Benutzer empfangen wird und Themen auf Grundlage der Multinominalverteilungen der Dirichlet-Verteilung von Begriffen in einer Dokumentensammlung identifiziert werden.
-
Somit kann das vorgeschlagene Verfahren auch problemlos in Umgebungen funktionieren, in denen sich die Kommunikationshistorie nicht nur um ein Diskussionsthema gedreht hat, sondern in denen sie eine Mehrzahl von unterschiedlichen Themen aufweist.
-
Gemäß einer zulässigen Ausführungsform des Verfahrens kann der Formalitätsgrad mit einem Bag-of-Words-Modell erhalten werden, und das erste trainierte ML-Modell kann ein Gaussian-Naive-Bayes-Klassifikator (GaussianNB-Klassifikator) sein. Dabei ist das Bag-of-Words-Modell eine vereinfachende Darstellung, die bei der Verarbeitung natürlicher Sprache und beim Abrufen von Informationen häufig verwendet wird. Bei diesem Modell kann ein Text (z.B. ein Satz oder ein Dokument) als der „Beutel“ (Multimenge) seiner Wörter dargestellt werden, wobei Grammatik und sogar Wortreihenfolge außer Acht gelassen, die Vielheit jedoch beibehalten wird. Die Verwendung des Gaussian-Naive-Bayes-Klassifikators kann zusätzlich eine Option sein, um einen vergleichsweise einfachen probabilistischen Klassifikator auf Grundlage einer Anwendung des Bayes-Theorems mit starken (naiven) Unabhängigkeitsannahmen zwischen den Merkmalen zu verwenden. Dies kann dabei helfen, die computerrealisierte Version des vorgeschlagenen Konzepts effizient zu halten und ihren Ressourcenbedarf einzudämmen.
-
Gemäß einer nützlichen Ausführungsform des Verfahrens kann der sprachliche Ausdruck des Weiteren verfeinert werden, indem unter Verwendung von loT-Sensoren (Internet of Things, Internet der Dinge) und/oder Kalenderinformationen die Stimmung des Empfängers oder Aufgaben zu dem Zeitpunkt, zu dem die Nachricht eingehen soll, vorhergesagt werden. Dies kann realisiert werden, indem sensorspezifische Anweisungen abgerufen und die abgerufenen Informationen in einem privaten (Cloud-)Repository gespeichert werden, um das Modell auszuführen. Somit kann das Verfahren über die Verwendung der Kommunikationshistorie hinaus auch zusätzliche Datenquellen verwenden, wie beispielsweise die erwartete Erfahrungswelt des Empfängers.
-
Gemäß einer weiteren fortschrittlichen Ausführungsform des Verfahrens kann der Empfängerwirkungs-Score - insofern er eine Funktion davon ist - durch mindestens eines beeinflusst werden, ausgewählt aus IoT-Sensordaten, Wearable-Systemdaten, Computer-Vision-Daten, einem Vorhandensein/Nichtvorhandensein einer Antwort, einem Zeitpunkt einer Antwort, einem Zeitpunkt einer Antwort in Bezug auf andere Antworten durch dieselben Rezipienten oder andere Rezipienten, einem Zeitpunkt einer Antwort in Bezug auf Zeitzonen und Kalender, einem Vorhandensein/Nichtvorhandensein von Abwesenheitsnachrichten, einer Länge der Antwort, einem Inhalt der Antwort, einer durch den Sender angeforderten Aufgabe, die durch den Empfänger durchgeführt wird - und dies z.B. mit einer Antwort bestätigt - und einem Emoji (z.B. Ideogrammen und/oder Smileyartigen Zeichenkombinationen, die in elektronischen Nachrichten verwendet werden).
-
Auf diese Weise können persönliche Umgebungsdaten des Empfängers wie seine Herzschlag-/Blutdruckdaten, spezifische Körperbewegungen, Gesichtsausdrücke, Werte von Umgebungsparametern (z.B. Temperatur, Luftfeuchtigkeit, Luftdruck usw.) verwendet werden, um den Effekt einer bestimmten Nachricht, die gesendet werden soll, besser zu verstehen.
-
Gemäß einer weiteren optionalen Ausführungsform des Verfahrens kann die Nachricht eine schriftliche Nachricht wie eine eMail oder ein Chat-Kommentar oder aber eine Sprachnachricht sein. Hierfür kann auch die Sprachkommunikationshistorie als Teil der historischen Kommunikationsdaten verwendet werden.
-
Falls die Analyse ergibt, dass keine Kommunikationshistorie vorhanden ist, ersetzt gemäß einer weiteren optionalen Ausführungsform des Verfahrens eine Kommunikationshistorie zwischen dem Empfänger und einem weiteren Absender die Kommunikationshistorie zwischen dem Absender und dem Empfänger. Somit kann das vorgeschlagene Konzept auch zwischen einem Absender und einem Empfänger anwendbar sein, die keine Kommunikationshistorie haben, d.h. für ein neues Zielpublikum. Dies kann besonders hilfreich beim Massenversand von Marketing-eMails sein, bei dem viele neue Rezipienten angesprochen werden können.
-
Ausführungsformen können des Weiteren in Gestalt eines zugehörigen Computerprogrammprodukts vorliegen, auf das über ein computernutzbares oder computerlesbares Medium zugegriffen werden kann, das Programmcode bereitstellt, der durch oder in Verbindung mit einem Computer oder einem beliebigen anderen System zur Anweisungsausführung verwendet wird. Zum Zwecke dieser Beschreibung kann ein computernutzbares oder computerlesbares Medium jedwede Vorrichtung sein, die Mittel zum Speichern, Übertragen, Verbreiten oder Weitergeben des Programms für eine Verwendung durch oder in Verbindung mit dem System, der Vorrichtung oder Einheit zur Anweisungsausführung enthalten kann.
-
Figurenliste
-
Verschiedene Aspekte der vorliegenden Offenbarung werden aus den im Folgenden beschriebenen Beispielen für Ausführungsformen offensichtlich und unter Bezugnahme auf die Beispiele für Ausführungsformen erläutert. Der Fachmann weiß, dass Abwandlungen und Modifikationen möglich sind; die Offenbarung ist somit nicht auf die offenbarten Ausführungsformen beschränkt. Ausführungsformen der Offenbarung werden lediglich beispielhaft und mit Blick auf die folgenden Zeichnungen beschrieben.
- 1 zeigt ein Blockschaubild einer Ausführungsform des Verfahrens zum Personalisieren einer Nachricht zwischen einem Absender und einem Empfänger.
- 2 zeigt ein Blockschaubild eines Überblicks über Komponenten, die dem Verfahren zum Personalisieren einer Nachricht zwischen einem Absender und einem Empfänger dienen.
- 3 zeigt einen beispielhaften Ablaufplan von vorbereitenden Schritten für das Verfahren zum Personalisieren einer Nachricht zwischen einem Absender und einem Empfänger.
- 4 zeigt eine beispielhafte Darstellung eines Teils eines Wissensgraphen.
- 5 zeigt eine Darstellung von Optionen, die während einer Analysephase für die Engagement-Feststellung verwendet werden können.
- 6 zeigt ein Blockschaubild einer Ausführungsform des Nachrichtenpersonalisierungssystems zum Personalisieren einer Nachricht zwischen dem Absender und dem Empfänger.
- 7 zeigt ein Blockschaubild einer Ausführungsform eines Computersystems, das das Nachrichtenpersonalisierungssystem gemäß 6 aufweist.
- 8 stellt eine Cloud-Computing-Umgebung gemäß einer Ausführungsform der vorliegenden Erfindung dar.
- 9 stellt Abstraktionsmodellschichten gemäß einer Ausführungsform der vorliegenden Erfindung dar.
-
Obwohl die hierin beschriebenen Ausführungsformen für verschiedene Abwandlungen und alternative Formen offen sind, wurden Besonderheiten hiervon in den Zeichnungen beispielhaft gezeigt und werden im Detail beschrieben. Dabei versteht sich jedoch von selbst, dass die beschriebenen bestimmten Ausführungsformen nicht in einem beschränkenden Sinne zu verstehen sind. Vielmehr sollen alle Abwandlungen, Entsprechungen und Alternativen, die unter den gedanklichen Wesensgehalt und inhaltlichen Umfang der Offenbarung fallen, abgedeckt sein.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Es ist zu beachten, dass Ausführungsformen der Offenbarung unter Bezugnahme auf verschiedene Gegenstände beschrieben wurden. Im Besonderen werden manche Ausführungsformen unter Bezugnahme auf verfahrensbezogene Ansprüche beschrieben, während andere Ausführungsformen unter Bezugnahme auf vorrichtungsbezogene Ansprüche beschrieben werden. Ein Fachmann dürfte aus den obigen Erläuterungen und der folgenden Beschreibung allerdings erkennen, dass, sofern nicht anderweitig erwähnt, zusätzlich zu jeder Kombination von Merkmalen, die zu einer Art von Gegenstand gehören, auch eine beliebige Kombination von Merkmalen, die sich auf verschiedene Gegenstände beziehen, insbesondere von Merkmalen der verfahrensbezogenen Ansprüche und Merkmalen der vorrichtungsbezogenen Ansprüche, als in diesem Dokument offenbart betrachtet wird.
-
In Zusammenhang mit dieser Beschreibung können die folgenden Übereinkünfte, Begriffe und/oder Ausdrücke Anwendung finden.
-
Der Begriff „Kommunikationshistorie“ kann in einem einfachen Fall zwischen einem Absender und einem Empfänger gesendete und empfangene eMails bezeichnen, die ein Thema betreffen. In komplexeren Fällen kann sich die Kommunikationshistorie auf eine Gruppe von eMails, die eine Mehrzahl von Themen betreffen, zwischen dem Absender und dem Empfänger oder sogar auf alle eMails zwischen dem Absender und dem Empfänger über mehrere eMail-Systeme hinweg beziehen. Zusätzlich können eMails an andere Rezipienten sowohl des Absenders als auch des Empfängers berücksichtigt werden. Darüber hinaus können andere Formen von elektronischen Kommunikationskanälen, insbesondere Chat-Systeme oder andere Kollaborationswerkzeuge, Daten für die Kommunikationshistorie bereitstellen. Des Weiteren können Sprach- und/oder Videonachrichten für die Kommunikationshistorie verwendet werden.
-
Der Begriff „Absender“ kann einen Urheber einer Nachricht bezeichnen, die verfasst und/oder an einen angegebenen Rezipienten gesendet werden soll. In dem einfachen Fall eines eMail-Systems ist der angegebene Empfänger der Leser einer eMail-Nachricht, die an eine eMail-Adresse gesendet wird. Der Absender kann Nachrichten auch unter Verwendung anderer Kommunikationssysteme senden.
-
Der Begriff „Empfänger“ oder „Rezipient“ kann eine Einzelperson bezeichnen, die eine durch einen Absender gesendete eMail liest, die an eine eMail-Adresse gerichtet ist, die der Einzelperson zugehörig ist, welche die eMail liest. Ein Empfänger kann Nachrichten über andere elektronische Kommunikationskanäle empfangen.
-
Der Begriff „Wissensgraph“ kann eine Datenstruktur bezeichnen, die Knoten und Kanten aufweist. Die Knoten speichern üblicherweise Fakten, und die Kanten verbinden auf selektive Art Knoten. Kanten können Informationen zu Beziehungen zwischen Fakten speichern; da Fakten üblicherweise in Knoten gespeichert werden, können Kanten Informationen zu Beziehungen zwischen Knoten und zwischen Fakten und Knoten speichern. Die Informationen zu Faktenbeziehungen können auch Gewichtungsfaktoren aufweisen.
-
In dem einfachen Fall eines neuronalen Systems kann der Begriff „Absender kennung“ die eMail-Adresse des Absenders bezeichnen. Dasselbe kann für einen Empfänger/Rezipienten und eine zugehörige Empfängerkennung gelten: In dem einfachen Fall eines neuronalen Systems können die Begriffe „Empfängerkennung“ und „Rezipientenkennung die eMail-Adresse des Empfängers/Rezipienten bezeichnen.
-
Der Begriff „Formalitätsgrad-Wert“ kann Werte bezeichnen, die eine formale Beziehung beschreiben, die zwischen einer Absenderperson und einer Empfängerperson besteht. Formalitätsgrad-Werte sind üblicherweise numerisch; sie können als alphanumerische Zeichenfolgen ausgedrückt werden. Die Beziehung zwischen einer Absenderperson und einer Empfängerperson kann als eine Freundschaft, eine Arbeitgeber/Arbeitnehmer-Beziehung, eine Beziehung zwischen Staat und Bürger usw. beschrieben werden. Der Formalitätsgrad-Wert kann einen Einfluss darauf haben, wie eine Nachricht unter Verwendung eines elektronischen Kommunikationssystems womöglich formuliert ist.
-
Der Begriff „erstes trainiertes ML-Modell“ kann ein trainiertes Modell bezeichnen, mit dem der Formalitätsgrad-Wert auf Grundlage der Kommunikationshistorie erhalten und insbesondere klassifiziert wird. Ein erstes trainiertes ML-Modell kann konkret trainiert werden, um den Formalitätsgrad-Wert auf Grundlage der Kommunikationshistorie-Daten zu klassifizieren. Das zugrunde liegende ML-System kann ein Klassifikationssystem sein. Das zugrunde liegende ML-System kann auf einem Ansatz mit überwachtem Lernen beruhen.
-
Der Begriff „Parameterwert einer Antwort“ kann einen eigens dafür vorgesehenen Analysewert bezeichnen, der einen Wirkungs-Score-Wert charakterisiert und sich direkt darauf bezieht. Üblicherweise können höhere Parameterwerte einer Antwort eine stärkere Wirkung durch eine empfangene Nachricht in Bezug auf den Rezipienten bezeichnen. Die Wirkung kann auf verschiedene Weise gemessen werden, z.B. als Geschwindigkeit einer Antwort, als die Entschiedenheit der Antwort und als der Tonfall der ausgelösten Antwortaktion usw. Die Antwort kann eine an eine weitere Person gesendete eMail, einen Telefonanruf, eine geöffnete Web-Seite und dergleichen enthalten.
-
Der Begriff „Empfängerwirkungs-Score-Wert“ kann einen messbaren Wert bezeichnen, der die Wirkung einer empfangenen Nachricht ausdrückt. Ein Empfängerwirkungs-Score-Wert kann aus Parameterwerten von Antworten erhalten werden.
-
Der Begriff „zweites ML-System“ kann ein trainiertes ML-Modell bezeichnen, mit dem ein Wirkungs-Score-Wert für einen Rezipienten einer neu verfassten oder modifizierten Nachricht auf Grundlage der verfügbaren Informationen vorhergesagt wird. Verfügbare Informationen können den Wissensgraphen und den erhaltenen Formalitätsgrad zwischen dem Absender und dem Empfänger enthalten. Ein zweites ML-System kann einen Ansatz mit überwachtem Lernen verwenden.
-
Der Begriff „sprachlicher Ausdruck“ kann eine Phrase in einer längeren Nachricht bezeichnen, die einen oder mehrere Sätze aufweist. Im Besonderen kann ein sprachlicher Ausdruck ein, zwei oder mehrere Wörter sein, die direkt miteinander in Zusammenhang stehen.
-
Der Begriff „Ausdrucksabsicht“ kann die Absicht, den Zweck oder das Ziel eines Inhalts eines spezifischen sprachlichen Ausdrucks innerhalb einer Nachricht bezeichnen.
-
Der Begriff „modifizieren“ in Bezug auf ein Modifizieren einer zu verfassenden Nachricht kann bezeichnen, dass ein oder mehrere sprachliche Ausdrücke der zu sendenden Nachricht geändert, angepasst oder ergänzt werden können, ohne die Ausdrucksabsicht zu ändern. Wenn mehrere sprachliche Ausdrücke innerhalb der Grenzen der Ausdrucksabsicht modifiziert werden, darf die Gesamtabsicht der zu verfassende Nachricht ebenfalls nicht modifiziert werden.
-
Der Begriff „drittes trainiertes ML-Modell“ kann ein weiteres ML-System bezeichnen, das vorhersagt, ob ein modifizierter sprachlicher Ausdruck zu einem höheren Wirkungs-Score-Wert eines modifizierten sprachlichen Ausdrucks oder einer modifizierten Nachricht führen kann. Wenn dies der Fall ist, kann die modifizierte Nachricht von dem Absender verschickt werden; wenn dies nicht der Fall ist, kann verhindert werden, dass die modifizierte Nachricht von dem Absender verschickt wird. Ein drittes trainiertes ML-Modell kann ein zugehöriges ML-Modell verwenden, um Änderungen bei Wirkungs-Score-Werten vorherzusagen, wenn ein sprachlicher Ausdruck modifiziert wird.
-
Der Begriff „Verstärkungslernen“ und Modellierung auf Grundlage von Verstärkungslernen kann einen Bereich des maschinellen Lernens bezeichnen, der sich damit befasst, wie ein Software-Agent in einer Umgebung Aktionen durchführen kann, um das Konzept einer kumulativen Belohnung zu maximieren. Während die ersten beiden ML-Paradigmen überwachtes Lernen und unüberwachtes Lernen sind, ist Verstärkungslernen das dritte grundlegende ML-Paradigma. Verstärkungslernen ist derzeit das am häufigsten verwendete Paradigma. Die zugrunde liegenden Algorithmen konzentrieren sich im Wesentlichen darauf, eine Balance zwischen der Erkundung von Neuland und der Nutzung des aktuellen Kenntnisstands zu finden. Bei einer Ausführung kann das Neuland der modifizierte sprachliche Ausdruck sein, und der aktuelle Kenntnisstand kann Informationen sein, die aus einer Kommunikationshistorie erhalten werden.
-
Der Begriff „bidirektionaler Transformator“ kann ein System oder eine Methode für die Verarbeitung natürlicher Sprache auf Grundlage bidirektionaler Encoder-Darstellungen von Transformatoren (BERT). BERT wurde von Jacob Devlin et. al. entwickelt und publiziert. BERT wird häufig in Suchmaschinen verwendet.
-
Eine ausführliche Beschreibung der Figuren wird bereitgestellt. Dabei sind alle Anweisungen in den Figuren schematischer Natur. Die erste Figur zeigt ein Blockschaubild einer Ausführungsform des Verfahrens zum Personalisieren einer Nachricht zwischen einem Absender und einem Empfänger. Anschließend werden weitere Ausführungsformen des Verfahrens sowie Ausführungsformen eines Systems unter Verwendung des Verfahrens beschrieben. Konkret ist das beschriebene System ein Nachrichtenpersonalisierungssystem zum Personalisieren einer Nachricht zwischen einem Absender und einem Empfänger.
-
1 zeigt ein Blockschaubild einer bevorzugten Ausführungsform eines Verfahrens 100 zum Personalisieren einer Nachricht zwischen einem Absender und einem Empfänger. Das Verfahren 100 kann dahingehend verstanden werden, dass es eine erste Phase (Arbeitsschritte 102 bis 112) und eine zweite Phase (Arbeitsschritte 114 bis 120) hat. In einer ersten Phase weist das Verfahren 100 in einem Arbeitsschritt 102 ein semantisches Analysieren einer Historie einer hin- und hergehenden Kommunikation zwischen dem Absender und dem Empfänger auf. Dies kann jede verfügbare elektronische Nachricht aufweisen, die zwischen dem Absender und dem Empfänger gesendet wird, einschließlich der zugehörigen Metadaten. Die Metadaten der elektronischen Nachrichten können den Zeitpunkt der Nachrichten, Zeitspannen zwischen Nachrichten, Umgebungsdaten, Sensordaten, erfasste Gesundheitsdaten usw. enthalten. Auf Grundlage der semantischen Analyse der Kommunikationshistorie enthält das Verfahren 100 des Weiteren in einem Arbeitsschritt 104 ein Erzeugen eines Wissensgraphen zwischen einer Absenderkennung, die einen Absender identifiziert, und einer Empfängerkennung, die einen Empfänger identifiziert.
-
Auf Grundlage des Wissensgraphen weist das Verfahren 100 in einem Arbeitsschritt 106 ein Erhalten von Formalitätsgrad-Werten zwischen einem Absender und einem Empfänger aus dem Wissensgraphen auf. Dabei wird ein erstes trainiertes ML-Modell verwendet, das auf Grundlage aller verfügbaren Informationen zwischen den beiden Bestandteilen vorab trainiert wird. Formalitätsgrad-Werte, die aus dem Wissensgraphen erhalten werden können, können Ausdrücke von Respekt, Freundschaft, Geschäftsbeziehung, Abhängigkeit von Beziehungen, Arbeitsbeziehungen und dergleichen enthalten.
-
Das Verfahren 100 weist in einem Arbeitsschritt 108 außerdem ein Analysieren von Parameterwerten von Antworten in der Kommunikationshistorie auf, um in einem Arbeitsschritt 110 Empfängerwirkungs-Score-Werte zu ermitteln. Empfängerwirkungs-Score-Werte können Werte sein, die eine Reaktion angeben, zu der die Nachricht den Empfänger veranlasst hat.
-
Das Verfahren 100 weist in einem Arbeitsschritt 112 außerdem ein Trainieren eines zweiten ML-Systems auf, um ein ML-Modell zum Vorhersagen des Empfängerwirkungs-Score-Werts auf Grundlage des Wissensgraphen und des Formalitätsgrads zu erzeugen. Ein überwachter ML-Ansatz kann verwendet werden, um das zweite ML-System zu trainieren. Dieser Schritt kann die Vorbereitungsphase (z.B. die erste Phase) des Verfahrens 100 beenden.
-
Eine zweite Phase des Verfahrens 100 bezieht sich auf spezifische Nachrichten zwischen dem Absender und dem Empfänger. Genauer gesagt weist das Verfahren 100 in einem Arbeitsschritt 114 außerdem ein Auswählen eines sprachlichen Ausdrucks in einer Nachricht, die verfasst wird, in einem Arbeitsschritt 116 ein Ermitteln einer Ausdrucksabsicht des ausgewählten sprachlichen Ausdrucks und in einem Arbeitsschritt 118 ein Modifizieren des sprachlichen Ausdrucks auf Grundlage des Formalitätsgrads und der Ausdrucksabsicht auf, wodurch ein modifizierter sprachlicher Ausdruck erzeugt wird. Somit kann anstatt des ursprünglichen Entwurfs einer Nachricht dieselbe Nachricht mit einer anderen Wortwahl und einer besseren erwarteten Wirkung verwendet werden. Die zu verfassende Nachricht kann durch einen Absender verfasst werden. Unter Verwendung des BERT-Modells kann eine Ausdrucksabsicht ermittelt werden.
-
Das Verfahren 100 weist des Weiteren in einem Arbeitsschritt 120 ein Testen eines modifizierten sprachlichen Ausdrucks auf. Das Testen in dem Arbeitsschritt 120 überprüft unter Verwendung eines trainierten ML-Modells, ob ein modifizierter sprachlicher Ausdruck mit einer größeren Wahrscheinlichkeit zu einem höheren Empfängerwirkungs-Score-Wert führt. Das Testen in dem Arbeitsschritt 120 kann unter Verwendung eines ML-Verstärkungslernmodells erfolgen.
-
Bei einer längeren Nachricht kann das Verfahren 100 außerdem ein Wiederholen 122 der zweiten Phase (Arbeitsschritt 114 bis 120) des Verfahrens 100 aufweisen, bis ein Stoppkriterium erfüllt wird. Ein Beispiel für ein solches Stoppkriterium kann sein, dass in zwei aufeinanderfolgenden Simulationen keine bedeutsamen Veränderungen des Werts des Empfängerwirkungs-Scores gemessen werden.
-
2 zeigt ein Blockschaubild eines Überblicks über Komponenten 200 zum Realisieren des Verfahrens 100. Elemente in einer Gruppe 202 beziehen sich auf die erste Phase des Verfahrens 100, und Elemente einer Gruppe 204 beziehen sich auf die zweite Phase des Verfahrens 100. Kurz gesagt verwenden die Verarbeitungsschritte der ersten Phase die Kommunikationshistorie, einen Wissensgraphen und ein trainiertes überwachtes ML-Modell, um die Wahrscheinlichkeit vorherzusagen, mit der eine Nachricht eine Wirkung auf einen Rezipienten entfaltet. Bei einer alternativen Realisierung können die Verarbeitungsschritte der ersten Phase anstatt einer Kommunikationshistorie Social-Media-Daten verwenden. Die zweite Phase ist das Verstärkungslernmodell, das die Nachricht anpasst, um die Wirkung auf den Empfänger zu verstärken.
-
Teile einer Kommunikation, z.B. Text, können dann durch einen Agenten 234 eines Verstärkungslernmodells verwendet werden, der die ursprüngliche Nachricht automatisch manipulieren und testen kann, ob angepasste Versionen als Resultat der Wirkung auf den Empfänger mit einer größeren Wahrscheinlichkeit zu einer vorteilhafteren Aktion führen.
-
Der Datenfluss ist somit wie folgt: Eingabedaten 206 werden in 208 verarbeitet, um einen Wissensgraphen 210 zu erzeugen. Eingabedaten können zum Beispiel in Form einer Kommunikationshistorie wie z.B. eMail, Chat und/oder Social Media vorliegen. Eine Analyse der Roh-Eingabedaten wird durchgeführt. Die Analyse kann durchgeführt werden, indem zum Beispiel eine Sentiment-Analyse, ein Tonfall-Analysator und/oder persönliche Eindrücke verwendet werden. Diese Rohdaten plus die Analyseresultate werden dann in den Wissensgraphen 210 eingespeist. Der Wissensgraph 210 kann als eine erste ML-Komponente betrachtet werden.
-
Die Rohdaten können Nachrichtendaten 218, Metadaten 220, Senderdaten 222, Empfängerdaten 224 und Beziehungsdaten 226 aufweisen. Bei einer weiteren verbesserten Realisierung können Computer-Vision-Daten sowie andere Daten enthalten sein. Die Ausgabe dieser Phase steht für die Roh- und Analysedaten. Im Besonderen stehen die Analyseresultate und der Wissensgraph für die Roh- und Analysedaten.
-
Die Rohdaten und Analysedaten werden dann in 212 bzw. 216 für einen nächsten Vorverarbeitungsschritt 214 verwendet, um ein zweites ML-Modell zu entwickeln. Ein überwachter ML-Ansatz wird verwendet, um die bereits vorverarbeiteten Daten mit zusätzlichen Informationen anzureichern. Zum Beispiel können Formalitäts-Scores verwendet werden, um die vorverarbeiteten Daten anzureichern.
-
Unter Verwendung dieses zweiten ML-Modells 228 werden in 230 Passgenauigkeits-Scores berechnet, und ein überwachtes ML-Modell wird trainiert. Dieses Trainieren des überwachten ML-Modells ermöglicht als Ausgabe Vorhersagen von Passgenauigkeits-Scores eines bestimmten Teils einer Kommunikation aus dem überwachten ML-Modell. Vorhersagen von Passgenauigkeits-Scores können auch als ein Engagement-Score für eine Wirkung bezeichnet werden.
-
In einem nächsten Schritt des Verfahrens wiederholt ein Verstärkungslernsystem 234 eine Nachricht, um eine zugeschnittene Nachricht zu erzeugen. Als Belohnungsfunktions-Eingabe des Verstärkungslernens 232 können die folgenden Komponenten verwendet werden: die ursprüngliche Nachricht sowie die Eingabe und Ausgabe des oben beschriebenen Schritts. Die Eingabe und Ausgabe des oben beschriebenen Schritts können Rohdaten, Analyseresultate, Wissensgraph-Daten, Formalitäts-Scores und die Ausgabe des zweiten ML-Modells enthalten, um Passgenauigkeits-Scores zu berechnen. Eine oder mehrere Komponenten kann für eine Iteration einer Belohnungsfunktions-Eingabe des Verstärkungslernens 232 verwendet werden.
-
Als Ausgabe für eine Iteration kann Folgendes erwartet werden: die überarbeitete Nachricht und ihre Sanktionen und Belohnungen. Die Sanktionen und Belohnungen können in Form des Passgenauigkeits-Scores der überarbeiteten Nachricht gemessen werden.
-
Die BERT-Modellmaskierung 236 wird verwendet, um die in Iterationen zugeschnittene Nachricht zu erzeugen. Auf diese Weise werden Aktionen für die Nachricht 238 durchgeführt, um diese so anzupassen, dass sie besser auf den Empfänger zugeschnitten ist. Dabei können Ansätze wie Word Spinner, GPT21, ein Transformator usw. verwendet werden.
-
Bei der Verwendung von Daten während des Prozesses werden Kommunikationshistorie-Daten aus dem bzw. den geeigneten Kommunikationssystemen extrahiert, um das ML-Modell zu trainieren und das Zuschneiden der Nachricht zu unterstützen. Die Nachrichtendaten können den Text der Nachricht, Entitäten des Texts, eine Strukturierung des Texts, eine Länge des Texts, Sentiment-Analyse-Daten, persönliche Wissensdaten, Insider-Daten, Tonfallanalyse-Daten, Emoticons, Emojis, zusätzliche Graphen, Links und andere Daten aufweisen. Die Strukturierung des Texts kann Begrüßungen oder Eröffnungen, einen Hauptteil oder Textkörper usw. enthalten. Die Länge des Texts kann zum Beispiel die Abmessung des Textblocks, die Anzahl der Zeichen in Wörtern oder in der Nachricht insgesamt, die Wortzahl oder die Anzahl von Absätzen in der Kommunikation enthalten.
-
Auch Metadaten können verwendet werden. Metadaten können das Datum und die Uhrzeit einer Nachricht, die Art eines Kanals und andere Daten enthalten, die Informationen über die Kommunikation bereitstellen. Die Art des Kanal kann zum Beispiel eMail, Chat oder ein Telefonanruf sein. Folgendes wird oft als relevante Senderdaten betrachtet: das Profil einer Person, ein Kenntnisstand der Personen in Zusammenhang mit dem Text und andere Informationen, die einem Absender dabei helfen können, eine zugeschnittene Nachricht zu senden. Das Profil einer Person kann das Geschlecht, das Alter, persönliches Eindrucksprofile usw. aufweisen. Der Kenntnisstand der Personen in Zusammenhang mit dem Text kann auf der Entitätsextraktion beruhen.
-
Die Empfängerdaten können Profildaten einer Person und den Kenntnisstand der Person in Zusammenhang mit dem Text aufweisen. Das Profil einer Person kann das Geschlecht, das Alter, Persönlichkeitsprofile usw. enthalten. Der Kenntnisstand der Personen in Zusammenhang mit dem Text kann auf der Entitätsextraktion beruhen.
-
Darüber hinaus können Beziehungsdaten die Anzahl von historischen Aktionen, die Vertrautheit zwischen dem Absender und dem Empfänger, einen Grad dafür, wie viel die beiden Personen über das bzw. die bestimmten Themen kommuniziert haben, Entitätsanalyse-Daten zur Ermittlung, ob der Empfänger über dasselbe Wissen verfügt, ob die Nachricht „passgenau“ ist, und andere Faktoren aufweisen.
-
Zusätzlich kann ein Passgenauigkeitswert Werte aufweisen, die für jede einzelne Kommunikation zwischen 0 % und 100 % betragen, berechnet auf einer historischen, hin- und hergehenden Kommunikation. Somit können alle verfügbaren Kommunikations- und Datenkanäle, die eine Beziehung zwischen zwei Kommunikationspartnern ausdrücken, sowie Kontextinformationen verwendet werden, um eine neu verfasste Nachricht zuzuschneiden und zu optimieren, ohne die Absicht zu ändern.
-
3 zeigt einen Ablaufplan, der das oben erwähnte Vorverarbeitungsverfahren 300 unter einem weiteren Gesichtspunkt veranschaulicht. In einem Arbeitsschritt 302 werden historische Kommunikationsdaten analysiert, verarbeitet und gespeichert. Die Analyse, Verarbeitung und Speicherung in dem Wissensgraphen in dem Arbeitsschritt 302 entspricht dem semantischen Analysieren der Kommunikationshistorie in dem Arbeitsschritt 102 und dem Erzeugen eines Wissensgraphen in dem Arbeitsschritt 102 aus 1. Der Wissensgraph weist Knoten oder Ecken und Beziehungen oder Kanten auf, die auch Kennzeichnungen und Eigenschaften haben können. Der Wissensgraph ist besonders hilfreich, um Beziehungsinformationen zwischen dem betreffenden Absender und dem Empfänger darzustellen; dies kann als ein Absender/Empfänger-Paar oder eine Mehrzahl von Absender/Empfänger-Paaren gezeigt werden. Zusätzlich hierzu können Zeitmarken zu Entitäten hinzugefügt werden, um kenntlich zu machen, wann eine Kommunikation zu bestimmten Themen stattgefunden hat. Der Wissensgraph kann außerdem allgemeine Informationen über die Benutzer enthalten, die aus sozialen Netzwerken oder anderen Informationsquellen erhalten werden können. Diese allgemeinen Informationen können Vorlieben, Likes, Verbindungen zu anderen Benutzern sowie andere Daten enthalten. Bei einer weiteren Ausführungsform kann der Wissensgraph auch eine hin- und hergehende Kommunikation zwischen Benutzern enthalten; ein Beispiel hierfür wird weiter unten in 4 veranschaulicht.
-
Die Kommunikation zusammen mit Informationen aus dem Wissensgraphen wird dann verarbeitet, um in einem Arbeitsschritt 304 Datensätze für das zweite ML-Modell bereitzustellen. Das zweite ML-System kann ein überwachtes Lernmodell sein. Jeder Datensatz des überwachten ML-Modells kann aus einer Nachricht stammen, die von einem Absender an einen Empfänger gesendet wird.
-
Die Formalitätsgrade können kategorisiert werden, indem die Formalität einen numerischen Score-Wert erhält. In einer Abstufung mit fünf Ebenen kann sich eine „1“ auf ein professionelles Engagement beziehen, eine „3“ kann ein semiprofessionelles Engagement angeben, und eine „5“ kann sich auf ein komplett informelles Konversationsniveau beziehen. Die Konversationsniveaus werden auf Grundlage eines Bag-of-Words-Algorithmus in der Sprache trainiert, die die Benutzer verwenden. In einem Bag-of-Words-Algorithmus kann ein Basiswörterbuch verwendet werden. Anfänglich kann ein formelles und informelles Basiswörterbuch in einem Datenspeicher oder einer Datenbank gespeichert werden. Ein Beispiel für eine solche Basis wird in der folgenden Tabelle gezeigt, um das Konzept zu verdeutlichen: Tabelle 1:
Formell | Informell |
Wie geht es Ihnen? | Wie geht's? |
Wenn es Ihnen nichts ausmacht, würde ich gerne eine Änderung vorschlagen. | Kannst du das bitte ändern ... |
Das ist eine hervorragende Idee! | Super Idee, Kumpel! |
Wenn wir uns einig sind, können wir zum nächsten Schritt übergehen. | Alles klar, packen wir's an! |
-
Ein personalisierter oder angepasster Satz von Wörtern kann zu dem Bag-of-Words hinzugefügt werden, um sie in einem Score-Paar zu kategorisieren. Jedes Paar kann einen Score-Wert erhalten. Gemäß einer Abstufung mit fünf Ebenen können die Paare einen Score-Wert von Eins bis Fünf erhalten. Sobald die Klassifikation für den Trainingssatz erfolgt ist, kann ein GaussianNB-Klassifikator verwendet werden, um den Formalitätsgrad zu klassifizieren und die Strategie für eine angemessene Antwort zu erhalten.
-
Sobald der Klassifikator die Formalitäts-Scores bereitgestellt hat, werden die Scores in einem Arbeitsschritt 306 als abhängige Attribute in Form eines Schlüsselwertpaars {„user", „formality score“} in dem Wissensgraphen gespeichert. Das Schlüsselwertpaar wird in Form eines Entscheidungsbaums in dem Wissensgraphen gespeichert, und der Passgenauigkeitswert stellt in dem Arbeitsschritt 306 einen Score bereit, der die Wirkung angibt, die eine frühere Kommunikationsinteraktion hatte.
-
Als Teil einer weiteren Personalisierung kann ein Bag-of-Words mit einem GaussianNB-Klassifikator verwendet werden. Die Antwort auf eine Nachricht kann analysiert werden, um einen Formalitäts-Score zu erhalten und ihn in derselben Struktur als einen hinzugefügten Wert zu speichern. Des Weiteren können Metadateninformationen in dem Wörterbuch des Benutzers gespeichert und dem Wissensgraphen hinzufügt werden. Eine Wirkung kann in Form eines Ausgabegraphen durch eine Kombination von Faktoren definiert werden. Wirkungsfaktoren können ein Vorhandensein oder Nichtvorhandensein einer Antwort, einen Zeitpunkt einer Antwort, einen Zeitpunkt einer Antwort in Bezug auf andere Antworten durch dieselben Rezipienten, einen Zeitpunkt einer Antwort in Bezug auf Antworten durch andere Rezipienten, einen Zeitpunkt einer Antwort in Bezug auf Zeitzonen und Kalender, ein Vorhandensein oder Nichtvorhandensein von Abwesenheitsnachrichten, eine Länge einer Antwort, einen Inhalt einer Antwort, eine Antwort, die eine durch den Absender angeforderte Aufgabe bestätigt, die durch den Empfänger durchgeführt wird, sowie andere Faktoren enthalten. Zu beachten ist, dass die Antwort auch Emoji-Reaktionen, Likes und andere informelle kommunikative Hinweise durch Rezipienten enthalten kann.
-
Nachdem das System die Informationen zu einer Teilabsicht eines Teilsatzes eines Benutzers hat und aus einem früheren Abschnitt einer Kommunikation einen Formalitätsgrad-Score feststellt, können die Informationen in ein bidirektionales Transformator-BERT-Modell eingespeist werden. Danach können die Informationen verwendet werden, um ein zugrunde liegendes System auf Grundlage von Teilsatzkonstruktionen zu trainieren und Informationselemente zwischen den Phrasen zu maskieren. Die Teilsatzkonstruktionen und maskierten Informationsteile können dann unter Verwendung eines Engagement-Niveau-Algorithmus trainiert werden.
-
Als Teil des Trainingsschritts werden maskierte Informationen während der Trainingsphase verborgen, und die verborgenen Informationen werden als eine Ausgabe verwendet, die vorhergesagt werden soll. Ausgabevorhersagen beruhen auf früheren Kommunikationsprotokollen, Engagement-Niveaus und anderen Daten. Diese Vorhersagen können einen Transformator trainieren, um die Absicht auf Grundlage von Teiläußerungen vorherzusagen, indem die maskierten Informationen vorhergesagt werden. Die prädiktiven Einblicksinformationen werden einem RL-Modell bereitgestellt, um sie auf Grundlage einer Engagement-Rückmeldung zu verfeinern.
-
Zusätzliche Details für die Realisierung des BERT-Modells weisen außerdem auf:
- 1. {„user“:" engagement score (1-5 which can be normalized using a standardization interval of [0,1)"} führt zu den Informationen, die aus einem „Bag of Words“ mit einem NB-Klassifikator erhalten werden.
- 2. Eine JSON-Payload wird verwendet, um andere Metriken aus der Interaktion 1 in Form einer Liste zu dem Skript hinzuzufügen, z.B.:
- a. {User: engagement_score, additional_payload : [recipient, timestamp, calendar_context (previous/next meeting)]}
- b. Eine Protokolldatei-Analyse aus einem früheren Schritt wird als zusätzliche Metadaten ebenfalls zu der Payload hinzugefügt.
- 3. Die obige Payload wird in eine Scoring-Metrik eingespeist. Sie wird als gewichteter Vektor aus einer Payload extrahiert: z.B. enthält eine neue Payload, die in BERT eingespeist werden soll: {User1_sentence, Recipient_exchange, overall_scoring_metric: sigmoid(w0*engagement_score + w1*timestamp + w2 * calendar + w3*meeting)}
- 4. Das BERT-Modell kann Sentence1 und Sentence2 verwenden. Sentence1 und Sentence2 können eine Kombination von Informationsaustauschen sein. (Sie können auch eine Abfolge von Protokollen sein, wobei aus Gründen der Einfachheit hierin nur der vergangene Konversationsaustausch berücksichtigt wird.) Sie können wie folgt zu dem kategorischen Eingabevektor hinzugefügt werden:
- a. {Sentence1 AND sentence2; overall_scoring_metric}
- i. Sentence 1 wird nun separat zu dem BERT-Modell hinzugefügt. Beim Training durchläuft die Eingabesequenz das Transformatormodell.
- ii. Wörter, die eine hohe Score-Metrik angegeben haben, werden während der Token-Einbettungsphase unter Verwendung eines maskierten Merkmalsvektors maskiert. Eine hohe Score-Metrik kann zum Beispiel einen Formalitätsgrad > 0,7 haben.
- iii. Wenn der maskierte Merkmalsvektor auf Grundlage früherer Protokolle entfernt wird, liest der verwendete Code das Engagement-Niveau aus, um die Score-Veränderung zu festzustellen. Die für einen Veränderungswert verglichenen Scores können zum Beispiel Scores mit und ohne diese kritischen Elemente sein. Verschiedene Codierungssprachen können verwendet werden; zum Beispiel kann Python-Code verwendet werden, um das Engagement-Niveau auszulesen und eine Score-Veränderung zu identifizieren.
- iv. Innerhalb des Satzes werden verschiedene Informationselemente maskiert. Dies wird an das Bag of Words zurückgemeldet, um eine Score-Wahrscheinlichkeit auszugeben.
- v. Die Iteration wird wiederholt. Die Wiederholungsanalyse wird in Form eines numerischen Merkmalsvektors als eine Zustandseingabe für einen bestimmten Benutzer in das RL-Modell eingespeist.
- vi. Das RL-Modell verfeinert die Antwort und wechselt in Form einer Rückmeldung wieder zu dem BERT-Modell, um mehr Informationen dazu bereitzustellen, welche Informationen oder welches Snippet-Element zu einem bestimmten maskierten Element hinzugefügt werden können, um mehr Wirkung zu erzielen.
- vii. Ein Identifizieren einer Antwort von einem Rezipienten und ein Extrahieren eines Sentiments unter Verwendung einer Verarbeitung natürlicher Sprache (NLP) ist eine befähigende Technik, die als der Zustandsvektor an die RL-Schleife zurückgemeldet wird. Wenn eine positive Rückmeldung festgestellt wird, fragt die Belohnungsfunktion das BERT-Modell nicht ab, um eine weitere Maskierungs- und Vorhersageoperation durchzuführen. Wenn die Belohnungsfunktion einen negativen Wirkungsfaktor-Wert feststellt, wird das BERT-Modell auf eine neue Iteration erneut angewendet.
- viii. Bei der Iteration durch den Satz und dem Maskieren bestimmter Wörter und/oder Phrasen wird das BERT-Modell nun auf direkte Art und Weise verwendet, um Sentence2 vorherzusagen und den Wirkungsfaktor zu maximieren.
- 5. Die angepassten Nachrichten erhalten einen Score-Wert. Die beste Version kann mit der Sanktion und/oder Belohnung für die nächste Iteration verwendet werden, bis die Qualität einen Standard oder eine Erwartung erfüllt. Die Sanktion und/oder Belohnung kann ein Passgenauigkeitswert sein oder diesen erfüllen oder übertreffen müssen.
-
Bei einer weiteren Realisierung kann die Berechnung der Wirkung einer Nachricht auch Sensor- und Computer-Vision-Daten berücksichtigen. Die Berechnung der Wirkung einer Nachricht kann durch einen Passgenauigkeitswert ausgedrückt werden. Eine solche Berechnung kann erfolgen, indem die vorhandenen Verfahren für die Engagement-Feststellung von Lernenden auf Grundlage der Strategie und Art einer Einbeziehung der Benutzer in den Engagement-Feststellungsprozess in Kategorien unterteilt wird. Die drei wichtigsten Kategoriearten, die verwendet werden können, sind automatisch, halbautomatisch und manuell.
-
Verfahren in Zusammenhang mit einer Engagement-Verfolgung können in einer Taxonomie als halbautomatisch kategorisiert werden. Verfahren in einer automatischen Kategorie können in Verfahren auf Computer-Vision-Grundlage, Sensordaten-Analyse und Protokolldatei-Analyse unterteilt werden, abhängig von den Informationen, die jedes Verfahren für eine Engagement-Feststellung verarbeitet.
-
Diese Schritte werden üblicherweise benötigt, damit das Verfahren und ein System, das das Verfahren verwendet, in die Produktionsphase eintreten können. Nach einer anfänglichen Iteration können die Schritte regelmäßig wiederholt werden, um das System neu zu trainieren.
-
Unter Bezugnahme auf das Verstärkungslernsystem ist das Ziel des RL, die Nachricht so zuzuschneiden, dass sie mehr Wirkung entfaltet. Jede Iteration des RL benötigt mindestens ein Scoring mit dem vorab trainierten, überwachten ML-Modell, um zu ermitteln, ob es eine Wirkung gegeben hat.
-
Der Zustand des RL-Agenten kann auf Grundlage aller Informationen der Nachricht, der Metadaten, des Absenders, des Empfängers, der Beziehung zwischen Absender und Empfänger, der Analyseresultate und des Wissensgraphen ermittelt werden. Er hat jedoch nur eine vorhergesagte Wirkung des „Passgenauigkeitswerts“ der Nachricht als seine Sanktion und/oder Belohnung. Somit passt sich das System an, um zu lernen, wie es sich zu verhalten hat, und wird außerdem auf den spezifischen Inhalt und die einbezogenen Personen zugeschnitten.
-
Das RL kann die Nachricht anhand der folgenden Methoden interaktiv manipulieren:
- - Verwenden von Wortaustausch, Umkehren der Satzstruktur, Neuordnen von Inhalt und Löschung von Inhalt,
- - Verändern der Reihenfolge der Nachrichtenblöcke,
- - Verwenden von Synonymen,
- - Einschließen von Wörtern oder Phrasen, die in einer früheren Kommunikation durch den Empfänger verwendet wurden,
- - Anpassen des Stils unter Zuhilfenahme des Persönlichkeitsprofils von dem Empfänger,
- - Verwenden eines GPT2-Transformators
- - und dergleichen mehr.
-
Die angepassten Nachrichten erhalten einen Score-Wert. Die beste Version kann mit einer Sanktion und/oder Belohnung für die nächste Iteration verwendet werden, bis die Qualität einen Standard erfüllt. Die Sanktion und/oder Belohnung kann ein definierter Passgenauigkeitswert sein oder diesen erfüllen oder übertreffen müssen.
-
Die folgenden Erweiterungen und Verbesserungen können ebenfalls realisiert werden.
-
Farben können verwendet werden, um dem Absender anzuzeigen, dass die Nachricht noch nicht optimal ist. Farben können auch Eingaben und/oder Anpassungen von dem Absender steuern. Farbindikatoren können zum Beispiel Grün, Gelb und/oder Rot enthalten, um OK, Achtung bzw. Stopp anzuzeigen.
-
Ein System kann erkennen, ob eine Nachricht nicht genügend Erläuterung für den Empfänger hat. Das System kann Kontext oder Definitionen hinzufügen, um hier Abhilfe zu schaffen. Kontext und Definitionen können aus externen Quellen stammen. Zum Beispiel können Informationen direkt von einer Website importiert werden.
-
Ein Modell wie IBM Debater/Speech by Crowd kann verwendet werden, um Fragen aufzuwerfen, die der Rezipient möglicherweise hat, und die Kommunikation zu optimieren; ein solches Modell kann dabei helfen, Fragen zu beantworten, bevor sie gestellt werden, um eine hin- und hergehende Kommunikation zu vermeiden.
-
Das System kann ein GAN-artiges (Generative Adversarial Network) Setup mit zwei konkurrierenden Modellen verwenden, um den Text nachzubilden; dabei ist der Differentiator das Modell-Scoring (Grün/Gelb/Rot), während der Generator modifizierte Versionen der eMail erzeugt.
-
Bei einer weiteren Ausführungsform kann das Verfahren realisiert werden, um einen Teil eines Texts zu erweitern und zu vervollständigen, anstatt mit einer kompletten Nachricht zu beginnen und verschiedene Versionen zu erzeugen.
-
Bei einer Ausführungsform kann eine Echtzeitanalyse einer Kommunikation durchgeführt werden, um eine Empfehlung dazu zu geben, wie eine bestimmte Nachricht durch zusätzliche Mittel, bei denen es sich nicht um Inhalt handelt, vermittelt werden kann. Zum Beispiel können andere Mittel eine Verwendung von bestimmten Tonfallhinweisen und/oder von nicht verbaler Kommunikation enthalten. Eine Echtzeitanalyse einer Kommunikation kann Konversationen mittels eMail, über Instant-Messaging-Plattformen, per Telefon und/oder im persönlichen Gespräch enthalten. Ratschläge können in einer Situation mit virtueller Realität bereitgestellt werden.
-
4 zeigt eine beispielhafte Darstellung eines Teils eines Wissensgraphen 400. Der Wissensgraph 400 steht für ein Konversationsbeispiel mit einer erklärbaren Schlussfolgerung. Der Wissensgraph 400 spiegelt einen Konversationsfluss in einem erweiterten Wissensgraphen wider. Einer der Kommunikationspartner hat möglicherweise gesagt: „Ich bevorzuge das Ende in ,Film' von ,Regisseur'“. Sein Kommunikationspartner hat womöglich geantwortet: „Drei Versuche einer Verfilmung haben den Film im Grunde genommen ruiniert; der,Zweite Film' war viel origineller.“ Wie dargestellt, kann der Wissensgraph 400 die Kommunikation analysieren und identifizieren, dass der Film einen Schauspieler als „Star“ hat; der Wissensgraph 400 erkennt womöglich jedoch, dass der Schauspieler nicht zur einer logischen (z.B. im Sinne eines neuronalen Systems) Verknüpfung zwischen dem Film und dem Zweiten Film führt, sodass der Wissensgraph 400 die Handlung des Films womöglich als eine Handlung mit Robotern identifiziert. Bei manchen Ausführungsformen kann der Wissensgraph 400 gleichzeitig die Bedeutung des Zweiten Films analysieren und feststellen, dass der Zweite Film eine Adaption eines Romans ist, dessen Verfasser ein Schriftsteller war. Der Wissensgraph 400 kann erkennen, dass eine solche Kette nicht zu einer logischen Verknüpfung führt, und des Weiteren erkennen, dass es Kommentare gibt (z.B. Website-Zusammenfassungen, Besprechungen usw.), die sich auf den Zweiten Film beziehen und Künstliche Intelligenz in Film 2 identifizieren. Der Wissensgraph 400 kann erkennen, dass die logische Verknüpfung, die den Film mit dem Zweiten Film verbindet, darin besteht, dass im Allgemeinen Roboter und Künstliche Intelligenz im Zusammenhang stehen (oder sich aufeinander beziehen).5 zeigt eine Darstellung von Optionen 500, die während der Analysephase für eine Engagement-Feststellung 502 verwendet werden können, um den Wissensgraphen 400 zu entwickeln. Sie können zum Beispiel auf eine automatische, halbautomatische und/oder manuelle Weise durchgeführt werden. Die unteren Verzweigungen der baumartigen Struktur zeigen die technische Option von Technologien, die realisiert werden sollen. Zum Beispiel kann der Ansatz auf Computer-Vision-Grundlage eine Mehrzahl von hoch entwickelten Sensoren erfordern; solche hoch entwickelten Sensoren können optische Sensoren wie z.B. Kameras sein.
-
6 zeigt ein Blockschaubild von Komponenten des Nachrichtenpersonalisierungssystems 600 zum Personalisieren einer Nachricht zwischen einem Absender und einem Empfänger. Das Nachrichtenpersonalisierungssystem 600 weist ein erstes Analysemittel auf, das zum semantischen Analysieren einer Kommunikationshistorie zwischen dem Absender und dem Empfänger geeignet ist. Das erste Analysemittel ist außerdem zum Erzeugen eines Wissensgraphen zwischen einer Absenderkennung, die den Absender identifiziert, und einer Empfängerkennung geeignet, die den Empfänger identifiziert. Wie dargestellt, ist das erste Analysemittel eine erste Analyseeinheit 602.
-
Das Nachrichtenpersonalisierungssystem 600 weist außerdem ein Erhaltungsmittel auf, das zum Erhalten von Formalitätsgrad-Werten zwischen dem Absender und dem Empfänger aus dem Wissensgraphen geeignet ist. Wie dargestellt, ist das Erhaltungsmittel eine Erhaltungseinheit 604. Das Nachrichtenpersonalisierungssystem 600 verwendet ein erstes ML-Modell und ein zweites Analysemittel, das zum Analysieren von Parameterwerten von Antworten in der Kommunikationshistorie geeignet ist, um Empfängerwirkungs-Score-Werte zu ermitteln. Wie dargestellt, ist das zweite Analysemittel eine zweite Analyseeinheit 606.
-
Darüber hinaus weist das Nachrichtenpersonalisierungssystem 600 ein Trainingsmittel auf, das zum Trainieren eines zweiten ML-Systems geeignet ist, um ein Modell zum Vorhersagen des Empfängerwirkungs-Score-Werts auf Grundlage des Wissensgraphen und des Formalitätsgrads zu erzeugen. Wie dargestellt, ist das Trainingsmittel ein Trainingsmodul 608. Das Nachrichtenpersonalisierungssystem 600 weist außerdem ein Auswahlmittel auf, das zum Auswählen eines sprachlichen Ausdrucks in einer Nachricht geeignet ist, die verfasst wird. Wie dargestellt, ist das Auswahlmittel ein Auswahlmodul 610. Das Nachrichtenpersonalisierungssystem 600 weist des Weiteren ein Ermittlungsmittel auf, das zum Ermitteln einer Ausdrucksabsicht des ausgewählten sprachlichen Ausdrucks geeignet ist. Wie dargestellt, ist das Ermittlungsmittel ein Ermittlungsmodul 612. Das Nachrichtenpersonalisierungssystem 600 weist außerdem ein Modifikationsmittel auf, das zum Modifizieren des sprachlichen Ausdrucks auf Grundlage des Formalitätsgrads und der Ausdrucksabsicht geeignet ist, wodurch ein modifizierter sprachlicher Ausdruck erzeugt wird. Wie dargestellt, ist das Modifikationsmittel ein Modifikationsmodul 614.
-
Darüber hinaus weist das Nachrichtenpersonalisierungssystem 600 ein Testmittel auf, das zum Testen, ob der modifizierte sprachliche Ausdruck mit einer größeren Wahrscheinlichkeit zu einem höheren Empfängerwirkungs-Score-Wert führt, unter Verwendung eines dritten trainierten ML-Modells geeignet ist. Wie dargestellt, ist das Testmittel eine Testeinheit 616. Das Nachrichtenpersonalisierungssystem 600 enthält außerdem ein Wiederholungsmittel, das zum Auslösen des Auswahlmittels, des Ermittlungsmittels, des Modifikationsmittels und des Testmittels geeignet ist, bis ein Stoppkriterium erfüllt wird. Wie dargestellt, ist das Wiederholungsmittel eine Wiederholungsauslöse-Einheit 618.
-
Die erste Analyseeinheit 602, die Erhaltungseinheit 604, die zweite Analyseeinheit 606, das Trainingsmodul 608, das Auswahlmodul 610, das Ermittlungsmodul 612, das Modifikationsmodul 614, die Testeinheit 616 und die Wiederholungsauslöse-Einheit 618 werden im Datenaustausch verbunden, um Signale und Nachrichten auszutauschen. Alternativ zu einem eins-zu-eins-Verbindungsschema oder einem Nachrichtenpersonalisierungssystem 600 kann ein internes Bussystem 620 für die Signal- und Nachrichtenübertragung zwischen den Einheiten und Modulen verwendet werden.
-
Ausführungsformen der Offenbarung können auf nahezu jeder Art von Computer gemeinsam realisiert werden, unabhängig davon, ob die Plattform für ein Speichern und/oder Ausführen von Programmcode geeignet ist. Als ein Beispiel zeigt 7 ein Datenverarbeitungssystem 700, das zum Ausführen von Programmcode geeignet ist, der sich auf das vorgeschlagene Verfahren bezieht. Das Datenverarbeitungssystem 700 kann zum Beispiel ein Server sein.
-
Das Datenverarbeitungssystem 700 ist lediglich ein Beispiel für ein geeignetes Computersystem und nicht als eine wie auch immer geartete Beschränkung von Verwendungsumfang oder Funktionalität von Ausführungsformen der hierin beschriebenen Offenbarung gedacht. In dem Computersystem 700 gibt es Komponenten, die mit zahlreichen anderen Universal- oder Spezial-Datenverarbeitungssystem-Umgebungen oder -Konfigurationen betrieben werden können. Ohne darauf beschränkt zu sein, enthalten Beispiele für bekannte Datenverarbeitungssysteme, -umgebungen und/oder -konfigurationen, die für eine Verwendung mit dem Computersystem 700 geeignet sein können, Personal-Computersysteme, Server-Computersysteme, Thin Clients, Thick Clients, Handheld-Einheiten, Laptop-Einheiten, Mehrprozessorsysteme, Systeme auf Grundlage von Mikroprozessoren, Set-Top-Boxen, programmierbare Unterhaltungselektronik, Netzwerk-PCs, Mini-Computersysteme, Mainframe-Computersysteme sowie verteilte Cloud-Computing-Umgebungen, die eines bzw. eine der obigen Systeme oder Einheiten enthalten, und dergleichen. Das Computersystem 700 lässt sich im allgemeinen Zusammenhang von Anweisungen beschreiben, die durch ein Computersystem ausführbar sind, z.B. Programmmodule. Solche durch ein Computersystem ausführbaren Anweisungen können durch das Computersystem 700 ausgeführt werden. Im Allgemeinen können Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen und dergleichen enthalten. Solche Module führen bestimmte Aufgaben durch oder realisierten bestimmte abstrakte Datentypen. Das Computersystem 700 kann in verteilten Cloud-Computing-Umgebungen eingesetzt werden, wo Aufgaben von entfernt angeordneten Verarbeitungseinheiten durchgeführt werden, die über ein Datenübertragungsnetzwerk miteinander verbunden werden. In einer verteilten Cloud-Computing-Umgebung können sich Programmmodule sowohl in lokalen als auch in entfernt angeordneten Computersystem-Speichermedien wie beispielsweise Arbeitsspeichereinheiten befinden.
-
Das Computersystem/der Server 700 wird in Gestalt einer Universal-Datenverarbeitungseinheit gezeigt. Die Komponenten des Computersystems 700 können einen bzw. eine oder mehrere Prozessoren oder Verarbeitungseinheiten 702, einen Systemarbeitsspeicher 704 und einen Bus 706 enthalten, der verschiedene Systemkomponenten mit einem Prozessor 702 verbindet. Der Bus 706 steht für mindestens eine von beliebigen mehreren Arten von Busstrukturen, z.B. ein Arbeitsspeicherbus, ein Arbeitsspeicher-Controller, ein Peripheriebus, ein Accelerated Graphics Port (AGP), ein Prozessor und ein lokaler Bus, wobei eine beliebige aus einer Vielfalt von Busarchitekturen verwendet werden kann. Derartige Architekturen können zum Beispiel einen ISA-Bus (Industry Standard Architecture), einen MCA-Bus (Micro Channel Architecture), einen EISA-Bus (Enhanced ISA), einen lokalen VESA-Bus (Video Electronics Standards Association) und einen PCI-Bus (Peripheral Component Interconnect) enthalten. Das Computersystem/der Server 700 enthält üblicherweise eine Vielfalt von Medien, die durch ein Computersystem lesbar sind. Solche Medien können beliebige verfügbare Medien sein, auf die das Computersystem 700 zugreifen kann. Solche Medien enthalten sowohl flüchtige als auch nicht flüchtige Medien sowie sowohl entfernbare als auch nicht entfernbare Medien.
-
Der Systemarbeitsspeicher 704 kann ein durch ein Computersystem lesbares Medium in Form eines flüchtigen Arbeitsspeichers wie z.B. eines Direktzugriffsspeichers 708 (Random Access Memory, RAM) und/oder eines Cache-Arbeitsspeichers 710 enthalten. Das Computersystem 700 kann des Weiteren andere entfernbare und/oder nicht entfernbare, flüchtige und/oder nicht flüchtige Computersystem-Speichermedien enthalten. Nur um ein Beispiel zu geben, kann das Speichersystem 712 zum Lesen von und Schreiben auf ein nicht entfernbares, nicht flüchtiges Medium (das nicht gezeigt wird) bereitgestellt werden. Ein solches nicht entfernbares, nicht flüchtiges magnetisches Medium wird üblicherweise als ein Festplattenlaufwerk bezeichnet. Obwohl nicht gezeigt, können ein Magnetplattenlaufwerk zum Lesen von und Schreiben auf eine entfernbare, nicht flüchtige Magnetplatte und/oder ein optisches Plattenlaufwerk zum Lesen von oder Schreiben auf eine entfernbare, nicht flüchtige optische Platte und/oder oder ein anderes optisches Medium bereitgestellt werden. Ein Beispiel für eine entfernbare, nicht flüchtige Magnetplatte ist eine Diskette. Beispiele für entfernbare, nicht flüchtige optische Platten sind ein CD-ROM und ein DVD-ROM. In diesen Fällen kann jedes Laufwerk über eine oder mehrere Datenmedienschnittstellen mit dem Bus 706 verbunden werden. Wie weiter unten ausführlicher dargestellt und beschrieben wird, kann der Arbeitsspeicher 704 mindestens ein Programmprodukt mit mindestens einem Programmmodul enthalten, das konfiguriert wird, um die Funktionen von Ausführungsformen der Offenbarung durchzuführen. Das eine oder die mehreren Programmmodule können als ein Satz beschrieben werden, unabhängig davon, ob es sich um ein einzelnes Modul oder um mehrere Module handelt.
-
Das Programm/Dienstprogramm hat einen Programmmodulsatz 716. Das Programm/Dienstprogramm kann in dem Arbeitsspeicher 704 gespeichert werden. Ein Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten können ebenfalls in dem Arbeitsspeicher 704 gespeichert werden. Jedes der Betriebssysteme, des einen oder der mehreren Anwendungsprogramme, der anderen Programmmodule und der Programmdaten oder einer Kombination hiervon können jeweils eine Realisierung einer Netzwerkumgebung enthalten. Der Programmmodulsatz 716 führt im Allgemeinen die Funktionen und/oder Verfahrensweisen von Ausführungsformen der hierin beschriebenen Offenbarung aus.
-
Das Computersystem 700 kann auch mit einer oder mehreren externen Einheiten 718 wie z.B. einer Tastatur, einer Zeigeeinheit, einer Anzeige 720 und anderen Computer-Peripherieeinheiten Daten austauschen. Das Computersystem 700 kann außerdem mit einer oder mehreren Einheiten Daten austauschen, die einem Benutzer ermöglichen können, mit dem Computersystem 700 zu interagieren. Das Computersystem 700 kann außerdem mit beliebigen Einheiten Daten austauschen, die dem Computersystem 700 ermöglichen, mit einer oder mehreren anderen Datenverarbeitungseinheiten Daten auszutauschen; solche Einheiten können eine Netzwerkkarte, einen Modem und andere Telekommunikationseinheiten und/oder -komponenten enthalten. Eine derartige Datenübertragung kann über Eingabe/Ausgabe-Schnittstellen (E/A-Schnittstellen) 714 erfolgen. Das Computersystem 700 kann außerdem über einen Netzwerkadapter 722 mit einem oder mehreren Netzwerken Daten austauschen, z.B. mit einem lokalen Netzwerk (Local Area Network, LAN), einem Weitverkehrsnetzwerk (Wide Area Network, WAN) und/oder einem öffentlichen Netzwerk (z.B. dem Internet). Ein öffentliches Netzwerk kann zum Beispiel das Internet enthalten. Wie dargestellt, kann der Netzwerkadapter 722 über den Bus 706 mit anderen Komponenten des Computersystems 700 Daten austauschen. Obwohl nicht gezeigt, können auch andere Hardware- und/oder Software-Komponenten in Verbindung mit dem Computersystem 700 verwendet werden. Beispiele für solche Hardware- und/oder Software-Komponenten, die mit dem Computersystem 700 verwendet werden können, sind, ohne darauf beschränkt zu sein: Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Plattenlaufwerksstapel, RAID-Systeme, Bandlaufwerke und Datenarchivierungsspeichersysteme.
-
Zusätzlich kann das Nachrichtenpersonalisierungssystem 600 zum Personalisieren einer Nachricht zwischen einem Absender und einem Empfänger mit dem Bussystem 706 verbunden werden.
-
Es sei klargestellt, dass die Realisierung der hierin angeführten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist, obwohl diese Offenbarung eine ausführliche Beschreibung von Cloud Computing enthält. Vielmehr können Ausführungsformen der vorliegenden Erfindung gemeinsam mit jeder beliebigen Art von jetzt bekannter oder später entwickelter Datenverarbeitungsumgebung umgesetzt werden.
-
Cloud Computing ist ein Dienstbereitstellungsmodell zum Ermöglichen eines problemlosen bedarfsgesteuerten Netzwerkzugriffs auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Hauptspeicher, Speicher, Anwendungen, virtuelle Maschinen und Dienste), die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Dienstes schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Eigenschaften, mindestens drei Dienstmodelle und mindestens vier Einsatzmodelle enthalten.
-
Bei den Eigenschaften handelt es sich um die Folgenden:
- On-Demand Self-Service: Ein Cloud-Nutzer kann einseitig automatisch nach Bedarf für Datenverarbeitungsfähigkeiten wie Server-Zeit und Netzwerkspeicher sorgen, ohne dass eine menschliche Interaktion mit dem Anbieter der Dienste erforderlich ist.
- Broad Network Access: Es sind Fähigkeiten über ein Netzwerk verfügbar, auf die durch Standardmechanismen zugegriffen wird, die die Verwendung durch heterogene Thin- oder Thick-Client-Plattformen (z.B. Mobiltelefone, Laptops und PDAs) unterstützen.
- Resource Pooling: Die Datenverarbeitungsressourcen des Anbieters werden zusammengeschlossen, um mehreren Nutzern unter Verwendung eines Multi-Tenant-Modells zu dienen, wobei verschiedene physische und virtuelle Ressourcen dynamisch nach Bedarf zugewiesen und neu zugewiesen werden. Es gibt eine gefühlte Standortunabhängigkeit, da der Nutzer allgemein keine Kontrolle bzw. Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, aber in der Lage sein kann, einen Standort auf einer höheren Abstraktionsebene festzulegen (z.B. Land, Staat oder Rechenzentrum).
- Rapid Elasticity: Fähigkeiten können für eine schnelle horizontale Skalierung (Scale-out) schnell und elastisch bereitgestellt werden, in einigen Fällen auch automatisch, und für ein schnelles Scale-in schnell freigegeben werden. Für den Nutzer erscheinen die für das Bereitstellen verfügbaren Fähigkeiten häufig unbegrenzt und sie können jederzeit in jeder beliebigen Menge gekauft werden.
- Measured Service: Cloud-Systeme steuern und optimieren die Verwendung von Ressourcen automatisch, indem sie eine Messfähigkeit auf einer gewissen Abstraktionsebene nutzen, die für die Art von Dienst geeignet ist (z.B. Speicher, Verarbeitung, Bandbreite sowie aktive Benutzerkonten). Der Ressourcenverbrauch kann überwacht, gesteuert und gemeldet werden, wodurch sowohl für den Anbieter als auch für den Benutzer des verwendeten Dienstes Transparenz bereitgestellt wird.
-
Bei den Dienstmodellen handelt es sich um die Folgenden:
- Software as a Service (SaaS): Die dem Nutzer bereitgestellte Fähigkeit besteht darin, die in einer Cloud-Infrastruktur laufenden Anwendungen des Anbieters zu verwenden. Die Anwendungen sind über eine Thin-Client-Schnittstelle wie einen Web-Browser (z.B. auf dem Web beruhende eMail) von verschiedenen Client-Einheiten her zugänglich. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter das Netzwerk, Server, Betriebssysteme, Speicher bzw. sogar einzelne Anwendungsfähigkeiten, mit der möglichen Ausnahme von eingeschränkten nutzerspezifischen Anwendungskonfigurationseinstellungen.
- Platform as a Service (PaaS): Die dem Nutzer bereitgestellte Fähigkeit besteht darin, durch einen Nutzer erstellte bzw. erhaltene Anwendungen, die unter Verwendung von durch den Anbieter unterstützten Programmiersprachen und Tools erstellt wurden, in der Cloud-Infrastruktur einzusetzen. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter Netzwerke, Server, Betriebssysteme bzw. Speicher, hat aber die Kontrolle über die eingesetzten Anwendungen und möglicherweise über Konfigurationen für Application Hosting Environment.
- Infrastructure as a Service (laaS): Die dem Nutzer bereitgestellte Fähigkeit besteht darin, Verarbeitung, Speicher, Netzwerke und andere grundlegende Datenverarbeitungsressourcen bereitzustellen, wobei der Nutzer in der Lage ist, beliebige Software einzusetzen und auszuführen, zu der Betriebssysteme und Anwendungen gehören können. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, hat aber die Kontrolle über Betriebssysteme, Speicher, eingesetzte Anwendungen und möglicherweise eine eingeschränkte Kontrolle über ausgewählte Netzwerkkomponenten (z.B. Host-Firewalls).
-
Bei den Einsatzmodellen handelt es sich um die Folgenden:
- Private Cloud: Die Cloud-Infrastruktur wird einzig und allein für eine Organisation betrieben. Sie kann durch die Organisation oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder in fremden Räumen befinden.
- Community Cloud: Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Benutzergemeinschaft, die gemeinsame Angelegenheiten hat (z.B. Zielsetzung, Sicherheitsanforderungen, Richtlinien sowie Überlegungen bezüglich der Einhaltung von Vorschriften). Sie kann durch die Organisationen oder einen Dritten verwaltet werden und sich in den eigenen Räumen oder in fremden Räumen befinden.
- Public Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt und gehört einer Cloud-Dienste verkaufenden Organisation.
- Hybrid Cloud: Die Cloud-Infrastruktur ist eine Zusammensetzung aus zwei oder mehreren Clouds (privat, Nutzergemeinschaft oder öffentlich), die zwar einzelne Einheiten bleiben, aber durch eine standardisierte oder proprietäre Technologie miteinander verbunden sind, die Daten- und Anwendungsportierbarkeit ermöglicht (z.B. Cloud-Zielgruppenverteilung für den Lastenausgleich zwischen Clouds).
-
Eine Cloud-Computing-Umgebung ist dienstorientiert mit einem Fokus auf Statusunabhängigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität. Im Mittelpunkt des Cloud Computing steht eine Infrastruktur, die ein Netzwerk aus zusammengeschalteten Knoten enthält.
-
Unter Bezugnahme auf 8 wird eine veranschaulichende Cloud-Computing-Umgebung 50 dargestellt. Wie gezeigt ist, weist die Cloud-Computing-Umgebung 50 einen oder mehrere Cloud-Computing-Knoten 10 auf, mit denen von Cloud-Nutzern verwendete lokale Datenverarbeitungseinheiten wie der elektronische Assistent (PDA, Personal Digital Assistant) oder das Mobiltelefon 54A, der Desktop Computer 54B, der Laptop Computer 54C und/oder das Automobil-Computersystem 54N Daten austauschen können. Die Knoten 10 können miteinander Daten austauschen. Sie können physisch oder virtuell in einem oder mehreren Netzwerken wie Private, Community, Public oder Hybrid Clouds zusammengefasst werden (nicht gezeigt), wie vorstehend beschrieben wurde, oder aber in einer Kombination daraus. Dies ermöglicht es der Cloud-Computing-Umgebung 50, Infrastruktur, Plattformen und/oder Software als Dienst anzubieten, für die ein Cloud-Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es sei darauf hingewiesen, dass die Arten von in 8 gezeigten Datenverarbeitungseinheiten 54A bis N lediglich veranschaulichend sein sollen und dass die Datenverarbeitungsknoten 10 und die Cloud-Computing-Umgebung 50 über eine beliebige Art Netzwerk und/oder über eine beliebige Art von über ein Netzwerk aufrufbarer Verbindung (z.B. unter Verwendung eines Web-Browsers) mit einer beliebigen Art von computergestützter Einheit Daten austauschen können.
-
Unter Bezugnahme auf 9 wird ein Satz von funktionalen Abstraktionsschichten gezeigt, die durch die Cloud-Computing-Umgebung 50 (8) bereitgestellt werden. Es sollte von vornherein klar sein, dass die in 9 gezeigten Komponenten, Schichten und Funktionen lediglich veranschaulichend sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie dargestellt, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
-
Eine Hardware- und Software-Schicht 60 enthält Hardware- und Software-Komponenten. Zu Beispielen für Hardware-Komponenten gehören: Mainframe Computer 61; auf der RISC-Architektur (Reduced Instruction Set Computer) beruhende Server 62; Server 63; Blade-Server 64; Speichereinheiten 65; und Netzwerke sowie Netzwerkkomponenten 66. In einigen Ausführungsformen enthalten Software-Komponenten eine Netzwerk-Anwendungsserver-Software 67 und eine Datenbank-Software 68.
-
Eine Virtualisierungsschicht 70 stellt eine Abstraktionsschicht bereit, aus der die folgenden Beispiele für virtuelle Einheiten bereitgestellt werden können: virtuelle Server 71, virtueller Speicher 72, virtuelle Netzwerke 73 wie z.B. virtuelle private Netzwerke, virtuelle Anwendungen und Betriebssysteme 74; und virtuelle Clients 75.
-
In einem Beispiel kann eine Verwaltungsschicht 80 die nachfolgend beschriebenen Funktionen bereitstellen. Eine Ressourcen-Bereitstellung 81 stellt die dynamische Beschaffung von Datenverarbeitungsressourcen sowie anderen Ressourcen bereit, die zum Durchführen von Aufgaben innerhalb der Cloud-Computing-Umgebung verwendet werden. Ein Messen und eine Preisfindung 82 stellen die Kostenverfolgung beim Verwenden von Ressourcen innerhalb der Cloud-Computing-Umgebung sowie die Abrechnung oder Rechnungsstellung für die Nutzung dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Anwendungs-Software-Lizenzen aufweisen. Eine Sicherheit stellt die Identitätsüberprüfung für Cloud-Nutzer und Aufgaben sowie Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal 83 stellt Nutzern und Systemadministratoren einen Zugriff auf die Cloud-Computing-Umgebung bereit. Eine Verwaltung des Dienstumfangs 84 stellt die Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, sodass die benötigten Dienstziele erreicht werden. Ein Planen und Erfüllen von Vereinbarungen zum Dienstumfang (Service Level Agreement, SLA) 85 stellt die Vorab-Anordnung und die Beschaffung von Cloud-Computing-Ressourcen, für die eine zukünftige Anforderung vorausgesehen wird, gemäß einer SLA bereit.
-
Eine Arbeitslastenschicht 90 stellt Beispiele für die Funktionalität bereit, für welche die Cloud-Computing-Umgebung verwendet werden kann. Beispiele für Auslastungen und Funktionen, die von dieser Schicht bereitgestellt werden können, lauten: Zuordnung und Navigation 91; Software-Entwicklung und Lebenszyklusverwaltung 92; Bereitstellung von virtuellen Schulungen 93; Datenanalyseverarbeitung 94; Transaktionsverarbeitung 95; und Zuschneiden eines Kommunikationsinhalts 96.
-
Die Beschreibung der verschiedenen Ausführungsformen der vorliegenden Offenbarung wurden zum Zwecke der Veranschaulichung vorgelegt. Die Beschreibungen sind nicht als vollständig oder auf die offenbarten Ausführungsformen beschränkt zu verstehen. Der Fachmann weiß, dass zahlreiche Modifikationen und Abwandlungen möglich sind, ohne vom inhaltlichen Umfang und gedanklichen Wesensgehalt der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Begrifflichkeit wurde gewählt, um die Grundsätze der Ausführungsformen, die praktische Anwendung, oder technische Verbesserung gegenüber marktgängigen Technologien bestmöglich zu erläutern bzw. anderen Fachleuten das Verständnis der hierin offenbarten Ausführungsformen zu ermöglichen.
-
Die vorliegende Offenbarung kann als ein System, ein Verfahren und/oder ein Computerprogrammprodukt enthalten sein. Das Computerprogrammprodukt kann ein computerlesbares Speichermedium oder -medien mit computerlesbaren Programmanweisungen enthalten, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Offenbarung auszuführen.
-
Das Medium kann ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder ein Halbleitersystem für ein Verbreitungsmedium sein. Beispiele für ein durch einen Computer lesbares Medium können einen Halbleiter- oder Solid-State-Speicher, Magnetband, eine wechselbare Computerdiskette, einen Direktzugriffsspeicher (RAM), einen Nur-Lese-Speicher (Read-Only Memory, ROM), eine magnetische Festplatte und eine optische Platte enthalten. Gegenwärtige Beispiele für optische Platten enthalten einen Kompaktspeicherplatte-Nur-Lese-Speicher (Compact Disk Read Only Memory, CD-ROM), einen Kompaktspeicherplatte-Lese/Schreib-Speicher (Compact Disk Read/Write, CD-R/W) und Blu-Ray Disk.
-
Bei dem computerlesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch eine Anweisungsausführungseinheit behalten und speichern kann. Bei dem computerlesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des computerlesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein RAM, ein ROM, ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer CD-ROM, eine DVD (Digital Versatile Disc), ein Speicher-Stick, eine Diskette, eine mechanisch kodierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein computerlesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten, z.B. durch ein Lichtwellenleiterkabel geleitete Lichtimpulse oder durch einen Draht übertragene elektrische Signale.
-
Hierin beschriebene computerlesbare Programmanweisungen können von einem computerlesbaren Speichermedium auf entsprechende Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Beispiele für Netzwerke enthalten das Internet, ein lokales Netzwerk, ein Weitverkehrsnetzwerk und/oder ein drahtloses Netzwerk. Ein Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway Computer, und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt computerlesbare Programmanweisungen aus dem Netzwerk und leitet die computerlesbaren Programmanweisungen zur Speicherung in einem computerlesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
-
Bei computerlesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Offenbarung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten, Quellcode und/oder Objektcode handeln. Quellcode und/oder Objektcode kann in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, z.B. objektorientierte Programmiersprachen wie Smalltalk und C++ sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“.
-
Computerlesbare Programmanweisungen können vollständig auf dem Computer eines Benutzers, teilweise auf dem Computer eines Benutzers als ein eigenständiges Software-Paket, teilweise auf dem Computer eines Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf einem entfernt angeordneten Computer/Server ausgeführt werden. In dem Szenario einer vollständig auf einem entfernt angeordneten Computer/Server erfolgenden Ausführung kann der entfernt angeordnete Computer über eine beliebige Art von Netzwerk mit dem Computer des Benutzers verbunden werden; alternativ kann die Verbindung mit einem externen Computer hergestellt werden. Solche Netzwerkoptionen enthalten ein lokales Netzwerk (LAN) und ein Weitverkehrsnetzwerk (WAN). Eine Verbindung kann zum Beispiel unter Verwendung eines Internet-Dienstanbieters über das Internet hergestellt werden. Bei manchen Ausführungsformen können elektronische Schaltungen die computerlesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der computerlesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren und Aspekte der vorliegenden Offenbarung durchzuführen. Beispiele für elektronische Schaltungen enthalten programmierbare Logikschaltungen, im Feld programmierbare Gatter-Anordnungen (Field Programmable Gate Arrays, FPGA) und programmierbare Logikanordnungen (Programmable Logic Arrays, PLA).
-
Aspekte der vorliegenden Offenbarung werden hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Offenbarung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaubildern mittels computerlesbarer Programmanweisungen ausgeführt werden können.
-
Diese computerlesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, sodass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken des Ablaufplans und/oder des Blockschaubilds angegebenen Funktionen/Schritte erzeugen. Diese computerlesbaren Programmanweisungen können auch auf einem computerlesbaren Medium gespeichert werden, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten anweisen kann, auf eine bestimmte Art und Weise zu funktionieren. Ein computerlesbares Speichermedium mit darauf gespeicherten Anweisungen weist ein Herstellungsprodukt mit Anweisungen auf, die Aspekte der Funktion realisieren bzw. wie in dem Block bzw. den Blöcken des Ablaufplans und/oder des Blockschaubilds angegeben wirken.
-
Die computerlesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine weitere Einheit geladen werden, um das Ausführen einer Reihe von Arbeitsschritten auf dem Computer, der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen und um ein computerrealisiertes Verfahren zu erzeugen. In einem solchen Fall realisieren die Anweisungen, die auf dem Computer, auf anderen programmierbaren Vorrichtungen oder einer weiteren Einheit ausgeführt werden, die Funktionen und/oder Schritte, die in dem Block bzw. den Blöcken des Ablaufplans und/oder des Blockschaubilds angegeben werden.
-
Die Ablaufpläne und/oder Blockschaubilder in den Figuren veranschaulichen die Architektur, Funktionalität und den Betrieb möglicher Realisierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der angegebenen logischen Funktion bzw. Funktionen aufweisen. Bei manchen alternativen Realisierungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaubildern und/oder den Ablaufplänen durch Spezialsysteme auf Hardware-Grundlage umgesetzt werden können, die die angegebenen Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
-
Die hierin verwendete Begrifflichkeit dient lediglich zur Beschreibung bestimmter Ausführungsformen und ist nicht als Beschränkung der Offenbarung gedacht. Im hierin verwendeten Sinne sollen die Singularformen „ein/e/r“ und „der/die/das“ auch die Pluralformen enthalten sofern der Kontext dies nicht eindeutig anders vorgibt. Ebenso offensichtlich dürfte sein, dass die Verben „weist auf“ und/oder „aufweisend“ in dieser Patentschrift das Vorhandensein der genannten Merkmale, Ganzzahlen, Schritte, Vorgänge, Elemente und/oder Komponenten angeben, ohne jedoch das Vorhandensein oder die Hinzufügung ein oder mehrerer anderer Merkmale, Ganzzahlen, Schritte, Vorgänge, Elemente, Komponente und/oder Gruppen derselben auszuschließen.
-
Die betreffenden Strukturen, Materialien, Handlungen und Äquivalente aller Mittel oder Schritte zusätzlich zu den Funktionselementen in den nachstehenden Ansprüchen sollen sämtliche Strukturen, Materialien oder Handlungen enthalten, mit denen die Funktion in Verbindung mit anderen beanspruchten Elementen durchgeführt werden kann, wie sie hier ausdrücklich beansprucht werden. Die Beschreibung der vorliegenden Offenbarung wurde zum Zwecke der Veranschaulichung und Erläuterung vorgelegt; sie ist mit Blick auf die in dieser Form beschriebene Offenbarung nicht als vollständig oder beschränkend zu verstehen. Der Fachmann weiß, dass zahlreiche Änderungen und Abwandlungen möglich sind, ohne vom inhaltlichen Umfang und gedanklichen Wesensgehalt der Offenbarung abzuweichen. Die Ausführungsformen wurden ausgewählt und beschrieben, um die Grundsätze der Offenbarung und die praktische Anwendung bestmöglich zu erläutern und um anderen Fachleuten die Möglichkeit zu geben, die Offenbarung mit Blick auf verschiedene Ausführungsformen mit verschiedenen Abwandlungen zu verstehen, wie sie für die jeweilige in Erwägung gezogene Verwendung geeignet sind.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- US 2012/0265528 A1 [0004]
- US 2013/0253910 A1 [0005]