DE102019007354A1 - Narrationssystem für interaktive dashboards - Google Patents

Narrationssystem für interaktive dashboards Download PDF

Info

Publication number
DE102019007354A1
DE102019007354A1 DE102019007354.1A DE102019007354A DE102019007354A1 DE 102019007354 A1 DE102019007354 A1 DE 102019007354A1 DE 102019007354 A DE102019007354 A DE 102019007354A DE 102019007354 A1 DE102019007354 A1 DE 102019007354A1
Authority
DE
Germany
Prior art keywords
data
captions
narrative
user
dashboard
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102019007354.1A
Other languages
English (en)
Inventor
Serge Mankovskii
Maria Velez-Rojas
Steven GREENSPAN
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CA Inc
Original Assignee
CA Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CA Inc filed Critical CA Inc
Publication of DE102019007354A1 publication Critical patent/DE102019007354A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24573Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/26Visual data mining; Browsing structured data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/34Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/44Statistical methods, e.g. probability models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Probability & Statistics with Applications (AREA)
  • Library & Information Science (AREA)
  • Quality & Reliability (AREA)
  • User Interface Of Digital Computer (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

[00175] Es wird ein Prozess bereitgestellt, der Folgendes umfasst: Empfangen eines Befehls, der einer Benutzereingabe in eine interaktive Dashboard-Anwendung entspricht, von einem Benutzer; Erzeugen, in Reaktion auf den Befehl, von Instanzen von Datenvisualisierungen, die Daten darstellen, die visualisiert werden sollen; Erzeugen, mit einem trainierten Captioning-Modell, von einer oder mehreren narrativen Captions, die als beschreibend für die erzeugten Instanzen von Datenvisualisierungen bestimmt werden, wobei die eine oder die mehreren narrativen Captions eine Beschreibung in natürlicher Sprache eines Phänomens, das zumindest zum Teil durch die zu visualisierenden Daten gezeigt ist, umfassen und visuell in zumindest einer der erzeugten Instanzen von Datenvisualisierungen dargestellt wird; und Veranlassen, dass die eine oder die mehreren narrativen Captions dem Benutzer präsentiert werden.

Description

  • Die vorliegende Offenbarung bezieht sich allgemein auf die Datenvisualisierung und insbesondere auf ein Narrationssystem für interaktive Dashboards.
  • Die Industrie wird mit Daten überschwemmt. Computerbenutzern werden, ob nun im Privatleben oder im Berufsleben eines Benutzers, stetig zunehmende Mengen an Daten präsentiert, um erwartungsgemäß Erkenntnisse daraus zu ziehen. In vielen Fällen sind die Quellen dieser Daten andere Computersysteme und Sensoren von Systemen, für die ein bestimmter Benutzer verantwortlich bzw. zuständig ist oder an denen diese ein Interesse ausgedrückt haben. In vielen Fällen präsentieren sich diese Daten als ein Strom von Daten, der sich im Laufe der Zeit entwickelt, während das überwachte System verschiedenen Änderungen durchmacht. Oftmals wird von den Benutzern erwartet, die Daten zu synthetisieren und solche Änderungen zu entdecken und darauf zu reagieren, aber mit der Menge an Daten, die präsentiert wird, kann dies in vielen Fällen äußerst schwierig sein.
  • Um diese Probleme zu lösen, sind verschiedene Formen von computerimplementierten Datenvisualisierungen entwickelt worden. In vielen Fällen werden Ansammlungen von solchen Datenvisualisierungen in Dashboard-Anwendungen präsentiert, die in einigen Fällen eine Ansammlung von Datenvisualisierungen über ein bestimmtes System darstellen, die entsprechend irgendeinem Zeitplan oder in Reaktion auf gewisse Ereignisse aktualisiert werden. Oftmals fasst das Dashboard einen viel größeren Korpus an Daten graphisch zusammen. Aber in vielen Fällen schaffen es sogar diese Lösungsansätze nicht, die oben beschriebenen Probleme zu lösen. Oftmals ist der Betrag an visuellen Informationen in solchen Dashboards immer noch mehr, als ein Benutzer kognitiv verarbeiten kann, vor allem dann, wenn große Volumen an Informationen für Systeme, die schnellen Änderungen unterliegen, dargestellt werden und der Benutzer für mehrere solcher Systeme verantwortlich bzw. zuständig ist.
  • In Übereinstimmung mit einem Aspekt der Erfindung wird ein Verfahren bereitgestellt, das die folgenden Schritte umfasst:
    • Empfangen, mit einem oder mehreren Prozessoren, eines Befehls, der einer Benutzereingabe in eine interaktive Dashboard-Anwendung entspricht, von einem Benutzer, wobei:
      • die interaktive Dashboard-Anwendung dafür konfiguriert ist, eine Vielzahl von Instanzen von Datenvisualisierungen in einer Dashboard-Benutzerschnittstelle zu präsentieren,
      • die Dashboard-Benutzerschnittstelle Benutzerschnittstellen-Eingabeelemente aufweist und
      • die interaktive Dashboard-Anwendung dafür konfiguriert ist, in Reaktion auf die Eingabeelemente einzustellen, welche Datenvisualisierungen gezeigt werden, Attribute der Datenvisualisierungen einzustellen oder einzustellen, welche Daten in der interaktiven Dashboard-Anwendung dargestellt werden;
    • Erzeugen in Reaktion auf den Befehl, mit einem oder mehreren Prozessoren, von Instanzen von Datenvisualisierungen, die Daten darstellen, die visualisiert werden sollen;
    • Erzeugen, mit einem oder mehreren Prozessoren, mit einem trainierten Captioning-Modell, von einer oder mehreren narrativen Captions, die als beschreibend für die erzeugten Instanzen von Datenvisualisierungen bestimmt werden, wobei die eine oder die mehreren narrativen Captions eine Beschreibung in natürlicher Sprache eines Phänomens umfassen, das zumindest zum Teil durch die zu visualisierenden Daten gezeigt wird und visuell in zumindest einer der erzeugten Instanzen von Datenvisualisierungen dargestellt wird; und
    • Veranlassen, mit einem oder mehreren Prozessoren, dass die eine oder die mehreren narrativen Captions dem Benutzer präsentiert werden.
  • Vorteilhafterweise:
    • wird der Befehl über eines oder mehrere der Benutzerschnittstellen-Eingabeelemente eingegeben;
    • umfasst das Veranlassen, dass die eine oder die mehreren narrativen Captions dem Benutzer präsentiert werden, das Veranlassen, dass eine Vielzahl von narrativen Captions dem Benutzer auf einem Benutzercomputergerät über einen Webbrowser präsentiert wird, der auf dem Benutzercomputergerät ausgeführt wird;
    • umfassen die erzeugten Instanzen von Datenvisualisierungen graphische Darstellungen, die zumindest einige der zu visualisierenden Daten darstellen;
    • weisen die eine oder die mehreren narrativen Captions zumindest zwei von den Folgenden auf:
      • eine Angabe, dass vorausgesagt wird, dass ein Grenzwert oder eine Zielmarke durch eine angezeigte Metrik innerhalb einer Schwellenwert-Zeitdauer erreicht wird;
      • eine Angabe, dass ein Vergleich von mehreren Metriken einen benannten Betrag einer Differenz oder Korrelation zwischen den mehreren Metriken angibt;
      • eine Beschreibung eines Vergleichs zwischen mehreren Werten einer einzelnen angezeigten Metrik;
      • eine Beschreibung der Konvergenz oder Divergenz von zwei angezeigten Metriken;
      • eine Beschreibung einer Änderung in angezeigten Metriken im Laufe der Zeit;
      • ein Ranking von mehreren angezeigten Metriken oder von einer einzigen angezeigten Metrik im Laufe der Zeit;
      • ein Ergebnis eines Vergleichs zwischen einer angezeigten Metrik und einem visuell dargestellten Schwellenwert einer Datenvisualisierung;
      • ein Ergebnis einer Was-wäre-wenn-Analyse (what-if analysis) von angezeigten Metriken;
      • eine vorgeschlagene Reaktionshandlung, um ein System einzustellen, das durch eine angezeigte Metrik charakterisiert ist; oder
      • eine Angabe einer Übereinstimmung mit einer statistischen Verteilung.
  • Vorteilhafterweise:
    • werden zumindest einige von der einen oder den mehreren narrativen Captions während der Gestaltung der entsprechenden Datenvisualisierungen über eine Dashboard-Design-Anwendung, die dieselbe Anwendung wie oder eine andere Anwendung als die interaktive Dashboard-Anwendung ist, eingegeben und mit entsprechenden Datenvisualisierungen assoziiert.
  • Vorteilhafterweise:
    • wählt der Befehl eine Untermenge von Daten aus einer Datenquelle aus, die die zu visualisierenden Daten liefert, und er fordert eine Aktualisierung bei einer existierenden Dashboard-Benutzerschnittstelle an, um die ausgewählte Untermenge von Daten darzustellen.
  • Vorteilhafterweise:
    • beschreiben zumindest einige von der einen oder den mehreren narrativen Captions eine Änderung bei einer dargestellten Metrik, die sich aus der angeforderten Aktualisierung ergibt.
  • Vorteilhafterweise umfasst das Erzeugen von der einen oder den mehreren narrativen Captions den folgenden Schritt:
    • Vergleichen von Werten der dargestellten Metrik oder von visuellen Attributen einer Darstellung der dargestellten Metrik vor der Aktualisierung mit Werten der dargestellten Metrik oder von visuellen Attributen der Darstellung der dargestellten Metrik nach der Aktualisierung.
  • Vorteilhafterweise umfasst das Erzeugen von einer oder mehreren narrativen Captions den folgenden Schritt:
    • Auswählen der einen oder der mehreren narrativen Captions aus einer Vielzahl von narrativen Captions, die als zu zumindest einigen der erzeugten Instanzen von Datenvisualisierungen passend bestimmt worden sind, wobei die Auswahl auf Folgendem basiert:
      • eine Bestimmung, dass durch den Befehl veranlasst wird, dass die eine oder die mehreren narrativen Captions zu zumindest einigen der erzeugten Instanzen passen, und
      • eine Bestimmung, dass durch den Befehl nicht veranlasst wird, dass nicht ausgewählte narrative Captions zu zumindest einigen der erzeugten Instanzen passen.
  • Vorteilhafterweise:
    • spezifiziert der Befehl eine Hüllkurve in einem Raum von potentiellen Instanzen von Datenvisualisierungen; und
    • umfasst das Erzeugen der einen oder der mehreren narrativen Captions die folgenden Schritte:
      • Simulieren einer Vielzahl der potentiellen Instanzen von Datenvisualisierungen in dem Raum;
      • Bestimmen von narrativen Kandidaten-Captions, die jeder von den potentiellen Instanzen von Datenvisualisierungen entsprechen; und
      • Bestimmen der einen oder der mehreren narrativen Captions auf der Basis von zumindest einigen der narrativen Kandidaten-Captions.
  • Vorteilhafterweise:
    • umfasst das Simulieren einer Vielzahl der potentiellen Instanzen von Datenvisualisierungen in dem Raum eine Brute-Force-Suche nach jeder Permutation von Werten von Dimensionen von zumindest einem Teil des Raums, die durch ein Sampling-Schema spezifiziert ist.
  • Vorteilhafterweise:
    • umfasst das Simulieren einer Vielzahl der potentiellen Instanzen von Datenvisualisierungen in dem Raum das stochastische Sampling des Raums.
  • Vorteilhafterweise:
    • umfasst das Simulieren einer Vielzahl der potentiellen Instanzen von Datenvisualisierungen in dem Raum das Durchlaufen einer Vielzahl von Pfaden durch einen Entscheidungsbaum, der Blattknoten hat, die Punkte in den Raum spezifizieren, und Nicht-Blattknoten hat, die Reaktionshandlungen entsprechen, die auf der Basis von vorausgesagten Werten von angezeigten Metriken unternommen werden.
  • Vorteilhafterweise:
    • umfasst das Simulieren einer Vielzahl der potentiellen Instanzen von Datenvisualisierungen in dem Raum das Sampling des Raums auf der Basis von Wahrscheinlichkeitsverteilungen von Werten von zumindest einigen Dimensionen des Raums.
  • Vorteilhafterweise umfasst das Simulieren einer Vielzahl der potentiellen Instanzen von Datenvisualisierungen in dem Raum die folgenden Schritte:
    • Eingeben eines aktuellen oder hochgerechneten Satzes von Metriken unter den zu visualisierenden Daten in ein Voraussagemodell, das dafür konfiguriert ist, vorausgesagte Werte von zumindest einigen der zu visualisierenden Daten auszugeben; und
    • Konfigurieren der potentiellen Instanzen von Datenvisualisierungen auf der Basis von vorausgesagten Werten, die von dem Voraussagemodell ausgegeben wurden.
  • Vorteilhafterweise umfasst das Erzeugen von einer oder mehreren narrativen Captions den folgenden Schritt:
    • Eingeben einer Vielzahl von narrativen Zwischen-Captions, die als beschreibend für die erzeugten Instanzen der Datenvisualisierungen bestimmt worden sind, in ein Modell für das Zusammenfassen von Text für die Verarbeitung von natürlicher Sprache, das den Text der einen oder der mehreren narrativen Captions erzeugt.
  • Vorteilhafterweise ist das Modell für das Zusammenfassen von Text ein rekurrentes neuronales Netzwerk für das abstrahierende Zusammenfassen von Text, das dafür konfiguriert ist, Sätze bei Abwesenheit von narrativen Zwischen-Captions zu erzeugen.
  • Vörteilhafterweise:
    • umfasst das Erzeugen von einer oder mehreren narrativen Captions das Klassifizieren der narrativen Zwischen-Captions entsprechend einer Ontologie von narrativen Captions; und
    • umfasst das Veranlassen, dass die eine oder die mehreren narrativen Captions präsentiert werden, das Veranlassen, dass die narrativen Zwischen-Captions in einer visuellen Assoziation mit einer Angabe von Ergebnissen der Klassifizierung präsentiert werden.
  • Vorteilhafterweise umfasst das Verfahren die folgenden Schritte:
    • Auswählen einer Untermenge von der Vielzahl der potentiellen Instanzen von Datenvisualisierungen auf der Basis der Entropie von entsprechenden narrativen Kandidaten-Captions; und
    • Veranlassen, dass narrative Kandidaten-Captions von der ausgewählten Untermenge dem Benutzer in einer geführten Tour von potentiellen Szenarien eines Systems präsentiert werden, das durch die zu visualisierenden Daten charakterisiert ist.
  • In Übereinstimmung mit einem Aspekt ist ein greifbares, nicht flüchtiges, maschinenlesbares Medium bereitgestellt, das Anweisungen speichert, die dann, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, Vorgänge bewirken, die die Folgenden umfassen:
    • Empfangen, mit einem oder mehreren Prozessoren, eines Befehls, der einer Benutzereingabe in eine interaktive Dashboard-Anwendung entspricht, von einem Benutzer, wobei:
      • die interaktive Dashboard-Anwendung dafür konfiguriert ist, eine Vielzahl von Instanzen von Datenvisualisierungen in einer Dashboard-Benutzerschnittstelle zu präsentieren,
      • die Dashboard-Benutzerschnittstelle Benutzerschnittstellen-Eingabeelemente aufweist und
      • die interaktive Dashboard-Anwendung dafür konfiguriert ist, in Reaktion auf die Eingabeelemente einzustellen, welche Datenvisualisierungen gezeigt werden, Attribute der Datenvisualisierungen einzustellen oder einzustellen, welche Daten in der interaktiven Dashboard-Anwendung dargestellt werden;
    • Erzeugen in Reaktion auf den Befehl, mit einem oder mehreren Prozessoren, von Instanzen von Datenvisualisierungen, die Daten darstellen, die visualisiert werden sollen;
    • Erzeugen, mit einem oder mehreren Prozessoren, mit einem trainierten Captioning-Modell, von einer oder mehreren narrativen Captions, die als beschreibend für die erzeugten Instanzen von Datenvisualisierungen bestimmt werden, wobei die eine oder die mehreren narrativen Captions eine Beschreibung in natürlicher Sprache eines Phänomens umfassen, das zumindest zum Teil durch die zu visualisierenden Daten gezeigt wird und visuell in zumindest einer der erzeugten Instanzen von Datenvisualisierungen dargestellt wird; und
    • Veranlassen, mit einem oder mehreren Prozessoren, dass die eine oder die mehreren narrativen Captions dem Benutzer präsentiert werden.
  • Vorteilhafterweise:
    • wählt der Befehl eine Untermenge von Daten aus einer Datenquelle aus, die die zuvisualisierenden Daten liefert, und er fordert eine Aktualisierung bei einer existierenden Dashboard-Benutzerschnittstelle an, um die ausgewählte Untermenge von Daten darzustellen.
  • Vorteilhafterweise:
    • spezifiziert der Befehl eine Hüllkurve in einem Raum von potentiellen Instanzen von Datenvisualisierungen; und
    • umfasst das Erzeugen der einen oder der mehreren narrativen Captions die folgenden Schritte:
      • Simulieren einer Vielzahl der potentiellen Instanzen von Datenvisualisierungen in dem Raum;
      • Bestimmen von narrativen Kandidaten-Captions, die jeder von den potentiellen Instanzen von Datenvisualisierungen entsprechen; und
      • Bestimmen der einen oder der mehreren narrativen Captions auf der Basis von zumindest einigen der narrativen Kandidaten-Captions.
  • Das Folgende ist eine nicht erschöpfende Auflistung von einigen Aspekten der vorliegenden Techniken. Diese und weitere Aspekte werden in der folgenden Offenbarung beschrieben.
  • Einige Aspekte schließen einen Prozess ein, der Folgendes umfasst: Empfangen, mit einem oder mehreren Prozessoren, eines Befehls, der einer Benutzereingabe in eine interaktive Dashboard-Anwendung entspricht, von einem Benutzer, wobei: die interaktive Dashboard-Anwendung dafür konfiguriert ist, eine Vielzahl von Instanzen von Datenvisualisierungen in einer Dashboard-Benutzerschnittstelle zu präsentieren, die Dashboard-Benutzerschnittstelle Benutzerschnittstellen-Eingabeelemente aufweist und die interaktive Dashboard-Anwendung dafür konfiguriert ist, in Reaktion auf die Eingabeelemente einzustellen, welche Datenvisualisierungen gezeigt werden, Attribute der Datenvisualisierungen einzustellen oder einzustellen, welche Daten in der interaktiven Dashboard-Anwendung dargestellt werden; Erzeugen in Reaktion auf den Befehl, mit einem oder mehreren Prozessoren, von Instanzen von Datenvisualisierungen, die Daten darstellen, die visualisiert werden sollen; Erzeugen, mit einem oder mehreren Prozessoren, mit einem trainierten Captioning-Modell, von einer oder mehreren narrativen Captions (Legenden, Beschriftungen, Beschreibungen), die als beschreibend für die erzeugten Instanzen von Datenvisualisierungen bestimmt werden, wobei die eine oder die mehreren narrativen Captions eine Beschreibung in natürlicher Sprache eines Phänomens umfassen, das zumindest zum Teil durch die zu visualisierenden Daten gezeigt wird und visuell in zumindest einer der erzeugen Instanzen von Datenvisualisierungen dargestellt wird; und Veranlassen, mit einem oder mehreren Prozessoren, dass die eine oder die mehreren narrativen Captions dem Benutzer präsentiert werden.
  • Einige Aspekte schließen ein greifbares, nicht flüchtiges, maschinenlesbares Medium ein, das Anweisungen speichert, die dann, wenn sie von einer Datenverarbeitungsvorrichtung ausgeführt werden, veranlassen, dass die Datenverarbeitungsvorrichtung Vorgänge durchführt, die den oben erwähnten Prozess einschließen.
  • Einige Aspekte schließen ein System ein, das Folgendes aufweist: einen oder mehrere Prozessoren; und einen Speicher, der Anweisungen speichert, die dann, wenn sie von den Prozessoren ausgeführt werden, veranlassen, dass die Prozessoren Vorgänge des oben genannten Prozesses bewirken.
  • Figurenliste
  • Die oben genannten Aspekte und weitere Aspekte der vorliegenden Techniken werden besser verstanden werden, wenn die vorliegende Anmeldung in Anbetracht der folgenden Figuren gelesen wird, in denen gleiche Zahlen ähnliche oder identische Elemente angeben:
    • 1 ist ein logisches und physisches Architekturblockdiagramm, das ein Beispiel einer Computerumgebung darstellt, in der Textzusammenfassungen in natürlicher Sprache von Datenvisualisierungen in Übereinstimmung mit einigen Ausführungsformen erzeugt werden können;
    • 2 ist ein Ablaufdiagramm, das ein Beispiel eines Prozesses darstellt, durch den Textzusammenfassungen in natürlicher Sprache von Datenvisualisierungen in Übereinstimmung mit einigen Ausführungsformen erzeugt werden;
    • 3 ist ein Ablaufdiagramm eines Beispiels eines Prozesses, durch den Textzusammenfassungen in natürlicher Sprache in dem Kontext einer interaktiven Dashboard-Anwendung in Übereinstimmung mit einigen Ausführungsformen erzeugt werden;
    • 4 ist ein Ablaufdiagramm, das ein Beispiel eines Prozesses darstellt, in dem die Exposition (das Freilegen) von Informationen in Textzusammenfassungen in natürlicher Sprache von Datenvisualisierungen in Übereinstimmung mit einigen Ausführungsformen gesteuert oder geregelt bzw. kontrolliert wird;
    • 5 ist ein Ablaufdiagramm eines Beispiels eines Prozesses in Übereinstimmung mit einigen Ausführungsformen, in dem ein Datensatz zusammengefasst wird, indem Datenvisualisierungen systematisch zu einem relativ großen Konfigurationsraum variiert werden und indem Textbeschreibungen in natürlicher Sprache davon erzeugt werden, die mit einem Modell für das Zusammenfassen von Text zusammengefasst werden;
    • 6 ist ein Beispiel einer Instanz einer Datenvisualisierung, bei der einige der oben beschriebenen Techniken angewendet werden können; und
    • 7 ist ein Beispiel eines Computergeräts, durch das die oben beschriebenen Techniken implementiert werden können.
  • Obwohl die vorliegenden Techniken empfänglich für verschiedene Modifikationen und alternative Formen sind, sind spezifische Ausführungsformen davon beispielshalber in den Zeichnungen gezeigt und werden hier ausführlich beschrieben werden. Die Zeichnungen müssen nicht notwendigerweise maßstabsgetreu sein. Es sollte aber klar sein, dass die Zeichnungen und die ausführliche Beschreibung dazu nicht dazu gedacht sind, die vorliegenden Techniken auf die bestimmte offenbarte Form zu beschränken, sondern dass im Gegenteil die Intention dahingehend besteht, dass alle Modifikationen, Äquivalente und Alternativen abgedeckt werden, die innerhalb des Erfindungsgedankens und des Schutzumfangs der vorliegenden Techniken fallen, wie sie von den angehängten Ansprüchen definiert sind.
  • AUSFÜHRLICHE BESCHREIBUNG VON GEWISSEN AUSFÜHRUNGSFORMEN
  • Um die hier beschriebenen Probleme zu lösen, mussten die Erfinder sowohl Lösungen erfinden als auch in einigen Fällen, was genauso wichtig ist, Probleme erkennen, die von anderen auf den Gebieten des Maschinenlernens und der Interaktion zwischen Mensch und Computer übersehen worden sind (oder noch nicht vorausgesehen worden sind). In der Tat möchten die Erfinder auf die Schwierigkeit des Erkennens dieser Probleme hinweisen, die im Entstehen begriffen sind und in der Zukunft noch viel offensichtlicher werden, sollten sich die Trends in der Industrie fortsetzen, wie dies die Erfinder erwarten. Des Weiteren sollte es klar sein, dass, weil mehrere Probleme angegangen werden, einige Ausführungsformen problemspezifisch sind und dass nicht alle Ausführungsformen jedes Problem mit hier beschriebenen traditionellen Systemen angehen oder jeden hier beschriebenen Nutzen bereitstellen. Das heißt, es werden unten Verbesserungen beschrieben werden, die verschiedene Permutationen dieser Probleme lösen.
  • Einige Ausführungsformen lösen einige der oben genannten Probleme und andere Probleme durch das Erzeugen von Textbeschreibungen in natürlicher Sprache eines Phänomens, das in Datenvisualisierungen dargestellt ist. In vielen Fällen wird in einigen Ausführungsformen erwartet, dass diese Textbeschreibungen in natürlicher Sprache einen Benutzer von dem wichtigen Phänomen, das in den Datenvisualisierungen dargestellt ist, kürzer und prägnanter informieren als die zugrundeliegende Datenvisualisierungen selbst. In der Tat können in einigen Fällen solche Textbeschreibungen in natürlicher Sprache Benutzern bereitgestellt werden, ohne dass dem Benutzer die zugrundeliegende Datenvisualisierung bereitgestellt wird, oder die zwei Ansammlungen von Informationen können in einer abgestuften Benutzerschnittstelle präsentiert werden, durch die der Benutzer durch die zugrundeliegende Datenvisualisierung navigieren kann, wenn der Benutzer der Meinung ist, dass die Textbeschreibung in natürlicher Sprache von verschiedenen Phänomenen, die darin dargestellt sind, eine weitere Überprüfung bzw. Untersuchung rechtfertigt bzw. erfordert. Oder in einigen Fällen können die Textbeschreibungen in natürlicher Sprache gleichzeitig zusammen mit den Datenvisualisierungen präsentiert werden, um einem Benutzer den Kontext bereitzustellen und eine relativ schnelle Interpretation der Datenvisualisierungen durch den Benutzer zu ermöglichen.
  • In einigen Ausführungsformen kann die Textbeschreibung in natürlicher Sprache eines Phänomens in Datenvisualisierungen mit einem trainierten Captioning-Modell erzeugt werden. Solche Modelle können mit einer Vielfalt von Techniken gebildet werden, die von vorab definierten Kandidaten-Captions bis zu sui generis Textzusammenfassungen in natürlicher Sprache, die auf der Basis einer Computervisionsanalyse von Datenvisualisierungsinstanzen erzeugt werden, und trainierten Modellen für die Erzeugung von Text in natürlicher Sprache reichen, in denen ein Raum von Kandidaten-Captions durch Modellparameter codiert ist.
  • In einigen Fällen kann ein Datenvisualisierungsdesigner während der Gestaltung einer Datenvisualisierung manuell verschiedene Kandidaten-Textbeschreibungen in natürlicher Sprache oder Vorlagen (Templates) davon schreiben bzw. codieren und Kriterien zuführen, die angeben, welche Zustände der Datenvisualisierung diesen Beschreibungen entsprechen. Ein Designer kann zum Beispiel einen Schwellenwert in einem Balkendiagramm, das einem Firmenproduktionsziel entspricht, mit einer Textbeschreibung in natürlicher Sprache von „erstes Quartal Produktionsziel erreicht“ assoziieren. Oder in einem anderen Beispiel kann der Designer eine Regel, die einer Schwellenwert-Anzahl von Datenpunkten entspricht, die mehr als drei Standardabweichungen oberhalb eines Mittelwerts für ein bestimmtes Feld von Daten über eine gewisse zurückliegende Dauer entspricht, mit einer Textbeschreibung in natürlicher Sprache von „Ausreißer, erzeugt durch die Produktionsausrüstungseinheit XYZ“ assoziieren. In einigen Fällen sind die Textbeschreibungen in natürlicher Sprache kürzer als die beschriebene Datenvisualisierung, z.B. verbrauchen sie weniger Daten als eine Hälfte, ein Zehntel oder ein Hundertstel von dem, was die Datenvisualisierungsinstanz, um die es geht, codiert. So umfassen zum Beispiel einige Textbeschreibungen in natürlicher Sprache weniger als 1.000 Worte, weniger als 500 Worte oder weniger als 150 Worte.
  • Später, wenn ein Benutzer, der die Datenvisualisierungen konsumiert, eine Datenvisualisierungsinstanz anfordert oder wenn ihm eine aktualisierte Datenvisualisierungsinstanz präsentiert wird, können die Kriterien, die während der Designphase bereitgestellt wurden, mit dem aktuellen Zustand der Datenvisualisierungsinstanz verglichen werden, und entsprechende Textbeschreibungen in natürlicher Sprache können auf der Basis dessen, ob die Kriterien erfüllt sind, ausgewählt werden. In einigen Fällen können Textbeschreibungen in natürlicher Sprache, die Kriterien erfüllt haben, dem Benutzer im Falle eines solchen Ereignisses präsentiert werden, oder 1 einige Ausführungsformen können einer weiteren Verarbeitung unterzogen werden, um die Beschreibungen zusammenzufassen oder um die Beschreibungen einzustufen und auf der Basis von schlussgefolgerter Relevanz zu filtern.
  • In einigen Fällen kann das Captioning-Modell während der Designphase oder während der Verwendung von Datenvisualisierungen bei der Herstellung trainiert werden. In einigen Ausführungsformen kann für die Benutzer eine Schnittstelle vorgesehen werden, durch die ein Feedback (z.B. in der Form von strukturierten Daten oder unstrukturierten Daten, wie Textantworten in natürlicher Sprache) eingegeben werden kann, das die Relevanz der Textbeschreibungen in natürlicher Sprache angibt, die mit Datenvisualisierungen präsentiert werden, und einige Ausführungsformen können die Kriterien auf der Basis eines solchen Feedbacks einstellen bzw. anpassen. In einigen Ausführungsformen können während der Designphase fiktive Daten, wie etwa Zufallsdaten, simulierte Daten oder historische Musterdaten, verwendet werden, um Datenvisualisierungen zu erzeugen, die dann verwendet werden, um Textbeschreibungen in natürlicher Sprache zu erzeugen, die einem Benutzer präsentiert werden, der ein Feedback bereitstellt, wodurch eine Feedback-Quelle vor der Freigabe zur Herstellung zur Verfügung gestellt wird, durch die Kriterien für Datenvisualisierungs-Captions eingestellt bzw. angepasst werden können.
  • In einigen Ausführungsformen können diese und andere verwandte Techniken, die unten beschrieben werden, in einer Computerumgebung 10 implementiert werden, die in 1 gezeigt ist. In einigen Ausführungsformen können die oben genannten Techniken mit dem Prozess implementiert werden, der unten in 2 gezeigt ist. Andere Techniken, die unten unter anderen Stichworten oder Überschriften beschrieben werden, können mit Prozessen implementiert werden, die unten unter Bezugnahme auf die 3-5 beschrieben sind, zum Beispiel durch das Arbeiten mit Datenvisualisierungen, wie etwa das, was in 6 gezeigt ist, und in einigen Fällen innerhalb der Computerumgebung 10, die in 1 gezeigt ist. In einigen Ausführungsformen können diese Techniken synergistisch zusammen verwendet werden, oder in einigen Fällen können sie selbstständig bzw. unabhängig voneinander verwendet werden, was nicht implizieren soll, dass andere Gruppen von Merkmalen in Einklang mit den vorliegenden Techniken untrennbar sind. In einigen Ausführungsformen können diese Techniken mit einer Ansammlung von Computergeräten, wie etwa solchen, die zum Beispiel unten unter Bezugnahme auf 7 beschrieben sind und die über ein Netzwerk kommunizieren, oder als eine monolithische Anwendung in einem einzelnen Computergerät implementiert werden.
  • In einigen Ausführungsformen weist die Computerumgebung 10 einen Narrationsgenerator 12, der die Textbeschreibungen in natürlicher Sprache von Instanzen von Datenvisualisierungen erzeugt, und eine Dashboard-Anwendung 14 auf, die die Datenvisualisierungen erzeugt. In einigen Ausführungsformen können diese Datenvisualisierungen Daten über ein überwachtes System 16 darstellen, die in einem Datendepot 18 für das überwachte System gespeichert sind, und die Textbeschreibungen in natürlicher Sprache für die Datenvisualisierungen können in einigen Fällen in ein Protokoll 20, wie etwa ein Alarmprotokoll oder ein Ereignisprotokoll, geschrieben werden, oder (d.h. und/oder) sie können einem Benutzer über ein Benutzercomputergerät 24 eines Dashboard-Konsumenten präsentiert werden. Mit dem veranschaulichten System können verschiedene Client-Geräte interagieren. In einigen Ausführungsformen können die Textbeschreibungen in natürlicher Sprache über ein Benutzercomputergerät 26 eines Narrationskonsumenten präsentiert werden, das nicht verwendet wird, um die zugrundeliegende Datenvisualisierungen oder Dashboards, die diese Datenvisualisierungen einschließen, zu betrachten. In einigen Ausführungsformen können Dashboards oder Datenvisualisierungen darin, zusammen mit Kandidaten-Textbeschreibungen in natürlicher Sprache und Kriterien für das Bestimmen, wenn diese Textbeschreibungen zu Datenvisualisierungen passen, von einem Benutzercomputergerät 22 eines Dashboard-Designers bereitgestellt werden können, zum Beispiel dann, wenn ein Designer gerade Datenvisualisierungen gestaltet. In einigen Ausführungsformen können diese Komponenten miteinander über ein Netzwerk 28, wie etwa das Internet oder verschiedene Lokalbereichsnetzwerke, kommunizieren.
  • Die veranschaulichte Architektur ist als eine verteilte Datenverarbeitungsumgebung dargestellt, in der die verschiedenen veranschaulichten Komponenten geographisch entfernt voneinander sein können und in unterschiedlichen privaten Subnetzwerken liegen können, die über das Internet verbunden sind, wobei zum Beispiel die Dashboard-Anwendung 14 und der Narrationsgenerator 12 entfernt gehostet sind und über eine Software als ein Dienst, der von einem fernen Datenzentrum angeboten wird, einer Ansammlung von Mandanten bereitgestellt werden, von denen jeder ein Mandantenkonten hat und jeder andere Ansammlungen von Instanzen der Computergeräte und des überwachten Systems und zugehörigen Depots bzw. Repositorien hat, oder in einigen Fällen können der Narrationsgenerator 12 und die Dashboard-Anwendung 14 oder einer bzw. eine davon oder beide lokal, also vor Ort gehostet sein, miteinander in irgendeiner Permutation als ein einzelner Prozess oder Dienst in einem Host integriert sein oder sie können als eine monolithische Anwendung in einem von den veranschaulichten Computergeräten ausgeführt werden, wie etwa in demjenigen, in dem das überwachte System 16 läuft.
  • In einigen Ausführungsformen kann das überwachte System 16 jedes von einer Vielfalt von unterschiedlichen Arten von Systemen sein, die Daten erzeugen, die man visualisieren möchte oder von denen man eine Zusammenfassung in Form eines Textes in natürlicher Sprache haben möchte. Beispiele umfassen verschiedene stochastische Systeme, die relativ hohe Dimensionierungsleistungen bzw. -ausgänge haben, wie etwa Ausgänge, die mehr als 10, mehr als 100 oder mehr als 1000 unterschiedliche Felder umfassen, die mehr als 10, mehr als 100 oder mehr als 1000 verschiedene Werte in jedem der Felder pro Tag erzeugen. Beispiele umfassen industrielle Fertigungsanlagen, Internet-der-Dinge-Einrichtungen (Internet-of-Things Appliances), Automobile, Robotersysteme und Computersysteme. Das überwachte System 16 kann zum Beispiel eine in geeigneter Weise instrumentierte Datenverarbeitungs- bzw. Computeranwendung oder eine Gruppe von Computergeräten sein, die Ströme von Daten ausgeben, die Reaktionszeiten bzw. Antwortzeiten und Fehler von verschiedenen Subroutinen oder Modulen darin angeben. Andere Beispiele umfassen eine Problem-Tracker-(Issue Tracker)-Anwendung, die Metriken ausgibt, die indikativ für Reaktionszeiten für verschiedene berichtete Programmfehler (Bugs) und Programmfehler-Berichtsdaten sind, oder ein Quellcoderepositorium, das Statistiken in Bezug auf Pull Request und Code Commits angibt. In einigen Fällen kann eine Ausgabe des überwachten Systems 16 in ein Datendepot 18 eines überwachten Systems eingespeist werden, welches in einigen Fällen darin integriert sein kann oder mit den anderen Komponenten 12 und 14 integriert sein kann.
  • In einigen Fällen können Textbeschreibungen in natürlicher Sprache Benutzern präsentiert werden, oder in einigen Fällen können die Textbeschreibungen in natürlicher Sprache in ein Protokoll des Systems 16 geschrieben werden, wie etwa das Protokoll 20, zum Beispiel in ein Alarmprotokoll oder eine andere Art von Ereignisprotokoll, ohne notwendigerweise Benutzern präsentiert zu werden. In einigen Ausführungsformen kann das überwachte System 16 des Weiteren eine Logik aufweisen, die auf verschiedene Arten von Textbeschreibungen in natürlicher Sprache reagiert und Maßnahmen dazu innerhalb des Kontexts des überwachten Systems 16 ergreift. In einigen Ausführungsformen erfolgt die Ausgabe zu einem anderen Maschinenlernmodell, das dafür konfiguriert ist, Systeme auf der Basis von ähnlichem Verhalten abzugleichen, z.B. durch das Abgleichen von Textbeschreibungen entsprechend einer semantischen Ähnlichkeit mit z.B. einem Bag-of-Words-Modell wie etwa Latent Semantic Analysis bzw. Latent Semantic Indexing.
  • In einigen Ausführungsformen kann das Benutzercomputergerät 22 des Dashboard-Designers das gleiche Benutzercomputergerät wie die Geräte 24 und 26 und in einigen Fällen auch das überwachte System 16 sein, oder in einigen Fällen können verschiedene Geräte unterschiedlichen Rollen bzw. Funktionen dienen und auf diese kann von unterschiedlichen Benutzern zugegriffen werden, die unterschiedliche Rollen bzw. Funktionen und Berechtigungen und zugehörige Zugangsdaten haben, mit denen den Benutzern selektiv der Zugriff auf das überwachte System 16, die Dashboard-Anwendung 14 oder den Narrationsgenerator 12 gewährt wird.
  • In einigen Ausführungsformen kann ein Dashboard-Designer auf ein Konto zugreifen oder auf eine andere Weise den Programmzustand in der Dashboard-Anwendung 14 organisieren, um Dashboards oder Datenvisualisierungen darin zu gestalten (z.B. zu erschaffen oder zu modifizieren) und Kandidaten-Textbeschreibungen in natürlicher Sprache und Kriterien davon zu konfigurieren. In einigen Ausführungsformen kann ein Benutzer des Computergeräts 22 (oder eine andere Benutzergruppe an anderen Geräten) des Weiteren simulierte Datenvisualisierungsinstanzen auf der Basis von fiktiven Daten, wie dies unten beschrieben wird, zusammen mit Textbeschreibungen in natürlicher Sprache von Phänomenen empfangen, die darin auftauchen, erzeugt mit einem aktuellen Satz von Kriterien, und in einigen Fällen kann dieser Benutzer ein Feedback über eine Benutzerschnittstelle bereitstellen, die von der Dashboard-Anwendung 14 in einem Trainingsmodus präsentiert wird. In einigen Ausführungsformen kann das Feedback anzeigen, ob Textbeschreibungen in natürlicher Sprache aus der Sicht des Benutzers der dargestellten Datenvisualisierung entsprechen.
  • In einigen Ausführungsformen können Textbeschreibungen in natürlicher Sprache auf der Basis der Zielgruppe maßgeschneidert werden z.B. entsprechend den Personen oder den unten beschriebenen Domänen. In einigen Fällen kann ein Merkmal, das ein Indikator für ein solches Attribut ist, in das Modell zur Erzeugung von Text in natürlicher Sprache eingegeben werden, und die Ausgabe kann auf der Basis eines solchen Merkmals bestimmt werden. In ähnlicher Weise kann in einigen Fällen das Feedback mit einem Wert für dieses Merkmal assoziiert werden, um das Training zu erleichtern, das eine Ausgabe erzeugt, die für verschiedene Zielgruppen geeignet ist.
  • Das Feedback kann eine Vielfalt von unterschiedlichen Formen annehmen, die verschiedene Formen von strukturierten und unstrukturierten Daten einschließen. In einigen Fällen ist das Feedback ein binärer Wert, der angibt, ob der Text für die Instanz der Datenvisualisierung relevant ist. In einigen Ausführungsformen ist das Feedback ein Satz von Nominalwerten, die verschiedene Klassifikationen angeben, wie etwa reagierend, nicht reagierend, relevant, nicht relevant, nicht von Interesse, von Interesse, und dergleichen; in einigen Ausführungsformen ist das Feedback zum Beispiel ein Vektor mit einer Bewertungsziffer für jede dieser nominalen Klassifizierungen. In einigen Ausführungsformen ist das Feedback ein Ordinalwert oder ein Kardinalwert. In einigen Fällen gibt das Feedback ein Rankung (eine Einstufung) an, das mit jeder dieser unterschiedlichen Dimensionen assoziiert ist, wie etwa eine Bewertungsziffer für die Relevanz von 0 bis 5, eine Bewertungsziffer von 0 bis 5 dafür, ob der Text aus der Sicht des Benutzers interessant ist, und eine Bewertungsziffer von 0 bis 5 dafür, ob der Text genau ist. In einigen Ausführungsformen kann jede Datenvisualisierung mehrere Textbeschreibungen in natürlicher Sprache haben, die damit assoziiert sind, und in einigen Fällen kann das Feedback ein vom Benutzer bereitgestelltes Ranking der Relevanz von jeder der Textbeschreibungen in natürlicher Sprache, die präsentiert werden, oder ein Ranking in irgendeiner der anderen aufgelisteten Dimensionen sein. In einigen Ausführungsformen kann jede der oben beschriebenen Arten von Feedback bei jeder von einer Gruppe von Textbeschreibungen in natürlicher Sprache, die in dem Feedback präsentiert werden, angewendet werden.
  • In einigen Ausführungsformen kann das Feedback auch von Benutzern außerhalb dieses Modus empfangen werden, zum Beispiel dann, wenn die gestaltete Datenvisualisierung oder der gestaltete Text, der daraus erzeugt wurde, zur Herstellung freigegeben wird und von Konsumenten von Daten von dem überwachten System 16 verwendet wird. In einigen Ausführungsformen können Datenvisualisierungen auf einem Benutzercomputergerät 24 eines Dashboard-Konsumenten präsentiert werden, in einigen Fällen zusammen mit den erzeugten Textbeschreibungen in natürlicher Sprach, die für diese Instanzen von Datenvisualisierungen durch den Narrationsgenerator 12 erzeugt worden sind, wie unten beschrieben wird. In einigen Ausführungsformen kann der Text vor den Datenvisualisierungsinstanzen präsentiert werden, und Benutzer können sich selektiv bis zu den Datenvisualisierungsinstanzen durchklicken, zum Beispiel indem sie auf den Text klicken, oder in einigen Fällen kann die narrative Textbeschreibung Seite an Seite mit der Datenvisualisierung entweder gleichzeitig oder als eine Überlagerung präsentiert werden, zum Beispiel in Reaktion auf ein Ereignis, in dem ein Benutzer einen Zeiger über dem relevanten Abschnitt einer Datenvisualisierung, in der das beschrieben Phänomen angezeigt wird, berührt oder diesen darüber bewegt. Oder wie unten beschrieben wird, kann die narrative Beschreibung präsentiert werden, ohne dass die Datenvisualisierungsinstanz überhaupt gezeigt wird.
  • In einigen Ausführungsformen können narrative Beschreibungen von Phänomenen und Datenvisualisierungen Benutzern auf dem Benutzercomputergerät 26 des Narrationskonsumenten präsentiert werden, ohne dass die Datenvisualisierung gezeigt wird. Zum Beispiel können einige Ausführungsformen die narrativen Beschreibungen als einen Strom von Textbeschreibungen präsentieren, wie etwa in einer Laufschriftanzeige, oder einige Ausführungsformen können die Textbeschreibungen in E-Mails, Textnachrichten, Sprache, die von einer Sprache-in-Text-Engine erzeugt wurde, oder dergleichen präsentiert werden. In einigen Ausführungsformen wird auf beide Computergeräte 24 und 26 durch denselben Benutzer zugegriffen, und derselbe Benutzer liefert dieselben Zugangsdaten, wie etwa einen Benutzernamen und ein Passwort für die Dashboard-Anwendung 14 oder den Narrationsgenerator 12, um Dashboards, narrative Textbeschreibungen oder beide zu empfangen. In einigen Ausführungsformen ist das Benutzercomputergerät 26 des Narrationskonsumenten ein tragbares Computergerät, wie etwa ein am Kopf angebrachtes Augmented-Reality-Display, ein Virtual-Reality-Headset, eine Smartwatch, ein In-Ohr-Smart-Speaker oder dergleichen. In einigen Ausführungsformen ist das Benutzercomputergerät 24 des Dashboard-Konsumenten ein Smartphone, ein Tablet, eine an der Wand montierte Anzeige, ein In-Store-Kiosk und ein im Armaturenbrett integrierter Automobilcomputer, eine Set-Top-Box, ein Schreibtischcomputer, ein Laptop-Computer, ein Smart-Speaker-Display für Wohnung und Haus oder dergleichen.
  • In einigen Ausführungsformen können Dashboards und narrative Texte durch verschiedene Client-seitige Anwendungen präsentiert werden, die Webbrowser und systemeigene Anwendungen einschließen. In einigen Ausführungsformen können die narrativen Textbeschreibungen von Phänomenen in Datenvisualisierungsinstanzen im Push-Modus oder Pull-Modus übertragene Nachrichten sein, die an mobile Computergeräte gesendet werden. In einigen Ausführungsformen können narrative Textbeschreibungen von solchen Phänomenen als Antworten auf Benutzerabfragen in irgendeinem der Szenarien präsentiert werden. In einigen Fällen kann die Präsentation durch verschiedene Kanäle erfolgen, wie etwa Textnachrichten, Telefonanrufe, E-Mails, Dashboard-Aktualisierungen über eine API, Social-Media-Beiträge, Webseiten-Aktualisierungen und dergleichen.
  • In einigen Ausführungsformen ist der Narrationsgenerator 12 dafür konfiguriert, Textbeschreibungen in natürlicher Sprache eines Phänomens zu erzeugen, das in Datenvisualisierungen dargestellt ist, die von der Dashboard-Anwendung 14 hergestellt wurden. Begriffe wie „erzeugen“ bzw. „erstellen“ und „herstellen“ bzw. „erschaffen“ oder „bilden“ werden hier untereinander austauschbar verwendet und sollen nicht so gelesen werden, dass sie eine bestimmte Bedeutung auf Grund der Verwendung dieser unterschiedlichen Begriffe implizieren, die die Erschaffung von einer gewissen Datenstruktur oder die Anpassung an eine gewisse Datenstruktur bzw. deren Einstellung beschreiben. Ein Dashboard-Designer kann implizit oder explizit eine Ontologie eines solchen Phänomens definieren, wenn er Textbeschreibungen in natürlicher Sprache gestaltet, z.B. kann jede Beschreibung ein anderes Phänomen beschreiben, oder in einigen Fällen kann das gleiche Phänomen auf mehrere Arten und Weisen für unterschiedliche potentielle Zielgruppen charakterisiert werden.
  • In einigen Ausführungsformen umfasst die Dashboard-Anwendung 14 eine Dashboard-Design-Anwendung 30, auf die von dem Benutzercomputergerät 22 des Dashboard-Designers zugegriffen wird, um ein Dashboard zu gestalten. In einigen Ausführungsformen kann das Gestalten des Dashboards das Gestalten von Datenvisualisierungen innerhalb des Dashboards umfassen. In einigen Ausführungsformen kann ein vorgegebenes Dashboard eine Vielzahl von unterschiedlichen Datenvisualisierungen umfassen, wie etwa mehr als 3, mehr als 5, mehr als 10 oder mehr als 50 gleichzeitig angezeigte Datenvisualisierungen. In einigen Ausführungsformen kann das Gestalten das Anpassen einer existierenden Version eines Dashboard-Designs sein. In einigen Ausführungsformen kann das Gestalten eine Aufzeichnung herstellen, die (z.B. zum Teil oder vollständig) das Dashboard spezifiziert, also zum Beispiel Folgendes angibt: welche Datenvisualisierungen enthalten sind, die relative Position dieser Datenvisualisierungen und Rollen bzw. Funktionen und Berechtigungen von Benutzern, denen es erlaubt ist, die Datenvisualisierung oder narrative Beschreibungen eines Phänomens, das darin erscheint, oder Untermengen davon zu betrachten.
  • In einigen Ausführungsformen kann die Dashboard-Design-Aufzeichnung eine Vielzahl von Aufzeichnungen umfassen, die einzelnen Datenvisualisierungen entsprechen, von denen jede spezifiziert, wie Instanzen der einzelnen Datenvisualisierungen konstruiert werden sollen. In einigen Ausführungsformen können diese Datenvisualisierungsaufzeichnungen einen Titel der Datenvisualisierung, eine Art der Datenvisualisierung (z.B. ein Liniendiagramm, ein Balkendiagramm, ein Tortendiagramm, eine kräftebasierte graphische Darstellung, ein Voronoi-Diagramm, eine Heatmap oder dergleichen), visuelle Attribute der Datenvisualisierung (wie etwa Farben, Schatten, animierte Bewegungen, Schriftarten, Dimensionen von Komponenten in Bezug auf Anzeigekoordinaten und dergleichen) und das Mapping von Feldern von Daten eines überwachten Systems auf Attribute der Datenvisualisierung, wie etwa Achsen, Balken, Farben und dergleichen, zusammen mit Skalierungsinformationen für das Mapping, wie etwa Bereiche für die Darstellung, Quantisierungseinheiten, logarithmische Skalierung vs. lineare Skalierung und dergleichen, angeben. In einigen Ausführungsformen können einige Datenvisualisierungen ein einziges Feld umfassen, wie etwa in einem Liniendiagramm, das eine Trendlinie im Laufe der Zeit zeigt, oder einige Ausführungsformen können mehrere Felder in multidimensionalen Datenvisualisierungen umfassen, zum Beispiel auf X- und Y-Achsen oder X-, Y- und Z-Achsen oder mit einigen Dimensionen, die auf Farben gemappt sind, oder dergleichen. In einigen Ausführungsformen kann die Aufzeichnung, die das Dashboard spezifiziert, auf die Aufzeichnungen verweisen, die die Datenvisualisierungen darin spezifizieren, und in einigen Fällen können diese Aufzeichnungen zu einer einzigen Aufzeichnung zusammengefasst werden, wie etwa Aufzeichnungen, die in einem hierarchischen Datenserialisierungsformat, wie etwa Extensible Markup Language (erweiterbare Auszeichnungssprache) oder JavaScript Object Notation, gespeichert sind.
  • In einigen Ausführungsformen kann die Dashboard-Design-Anwendung veranlassen, dass ein Benutzergerät eines Dashboard-Designers eine graphische Benutzerschnittstelle präsentiert, durch die ein Designer diese Aufzeichnung erschaffen kann, die das Dashboard spezifiziert. In einigen Ausführungsformen kann diese Benutzerschnittstelle Eingaben umfassen, durch die der Designer zumindest teilweise Textbeschreibungen in natürlicher Sprache spezifiziert, die auf verschiedene Zustände des spezifizierten Dashboards oder der Datenvisualisierungen darin passen bzw. für diese anwendbar sind. Ein Verweis auf eine Benutzerschnittstelle sollte allgemein so gelesen werden, dass sich dieser sowohl auf eine Ansammlung von Eingaben und präsentierten Informationen bezieht, die gleichzeitig angezeigt wird, sowie auch auf die Evolution dieser Anordnung im Laufe der Zeit, zum Beispiel während ein Benutzer durch Menüs navigiert.
  • In einigen Ausführungsformen sind die Textbeschreibungen in natürlicher Sprache vollständig konstituierte Strings (Zeichenfolgen), die von dem Designer zugeführt werden, wie etwa eine Aussage, dass „Reaktionszeiten für Datenbankabfragen das Latenzbudget der Datenbanken überschritten haben“, oder „die Widget-Produktion für das Quartal liegt mehr als drei Standardabweichungen oberhalb des Mittelwerts“. Oder „die Häufigkeit der Fluktuation im Bestand hat sich gegenüber dem vorhergehenden Monat geändert“.
  • In einigen Ausführungsformen führen die Textbeschreibungen in natürlicher Sprache, die von dem Designer zugeführt wurden, Argumente, zum Beispiel mit Vorlagen, die eine Variable und Anweisungen umfassen, die spezifizieren, wie der Variablen ein Wert zuzuweisen ist. Beispiele umfassen Aussagen wie „die Vibrationsamplitude bei der Maschine X entspricht der Einstellung Y“ zusammen mit einer Anweisung, die die Variable X auf einen Fremdschlüssel in einer Tabelle mappt, aus der die Vibrationsamplitude entnommen wird, die ein Identifizierungskennzeichen eines Produktionsausrüstungsteils angibt, und zusammen mit einer Anweisung die Variable Y auf eine andere Tabelle mappt, die einen Zustand von Einstellungen der Maschine angibt, die dem Wert entspricht, der X zugewiesen worden ist. In einigen Ausführungsformen können die Variablen auf Aussagen in einer Abfragesprache gemappt werden, so wie etwa strukturierte Abfragespracheanweisungen, durch die die Variablen eingepflegt werden. Einige Ausführungsformen bilden die Textbeschreibung in natürlicher Sprache dynamisch, indem sie die Variablen durch die Werte ersetzen, die diesen Variablen zugeordnet sind. In einigen Ausführungsformen werden die Variablen auf Funktionen gemappt, die Werte für die Variablen auf der Basis der Daten des überwachten Systems berechnen, zum Beispiel eine Variable, die auf eine Funktion gemappt wird, die den größten Wert in einem Satz von Werten, den kleinsten Wert in einem Satz von Werten, den durchschnittlichen Wert berechnet, oder die den Wert X auswählt, wenn Y wahr ist, und den Wert Z auswählt, wenn Y falsch ist. In einigen Ausführungsformen können Designer Funktionen registrieren, die von einem Framework der Dashboard-Anwendung für die Variablen aufgerufen werden, um die Variablen einzupflegen.
  • In einigen Ausführungsformen kann der Designer eine relativ große Anzahl von solchen Kandidaten-Textbeschreibungen in natürlicher Sprache zuführen (ein Ausdruck bzw. Satz, der allgemein verwendet wird, um sich sowohl auf eine bestimmte Instanz, in der Variablen durch Werte ersetzt worden sind, als auch auf die Vorlage bezieht, die die Variablen umfasst, aus denen eine solche Instanz gebildet wird). Eine vorgegebene Datenvisualisierung kann zum Beispiel in Abhängigkeit von dem Benutzungsfall mehr als 5, mehr als 50 oder mehr als 500 Kandidaten-Textbeschreibungen in natürlicher Sprache umfassen, die von dem Designer geliefert wurden.
  • In einigen Ausführungsformen kann jede Textbeschreibung in natürlicher Sprache damit assoziierte Kriterien haben, die angeben, wenn die Textbeschreibung in natürlicher Sprache für eine Instanz einer Datenvisualisierung passt. In einigen Ausführungsformen können die Kriterien Kriterien in einer Regelform sein, wie etwa eine Aussage, dass dann, wenn ein Wert eines gewissen Feldes einen Schwellenwert überschreitet, die entsprechende Textbeschreibung in natürlicher Sprache auf diese Instanz einer Datenvisualisierung passt bzw. zutrifft. In einigen Ausführungsformen kann jede Textbeschreibung in natürlicher Sprache damit assoziierte (z.B. in einem Eins-zu-Eins-Mapping, oder in einem Eins-zu-Viele-Mapping, bei dem Kriterien in einem Entscheidungsbaum ausgedrückt werden) Kriterien haben, die in der Form einer Funktion ausgedrückt sind, die einen binären Wert ausgibt, der indikativ dafür ist, ob die Textbeschreibung in natürlicher Sprache passend ist, in einigen Fällen mit verschachtelten Wenn-dann-Aussagen, Schleifen, Rekursion und dergleichen. In einigen Ausführungsformen können die Kriterien Attribute von Feldern der Daten eines überwachten Systems spezifizieren, oder in einigen Fällen können die Kriterien visuelle Attribute einer Instanz einer Datenvisualisierung spezifizieren, wie etwa ein Kriterium, das spezifiziert, dass mehr als 20% einer Fläche einer Heatmap die Farbe Rot haben müssen, damit die entsprechende Textbeschreibung in natürlicher Sprache als für eine Instanz dieser Heatmap passend bzw. zutreffend bestimmt werden kann.
  • In einigen Ausführungsformen kann jede Textbeschreibung in natürlicher Sprache des Weiteren damit assoziierte Kriterien haben, die eine relative Relevanz der Textbeschreibung in natürlicher Sprache zu anderen Textbeschreibungen in natürlicher Sprache angeben, die potentiell passen können. In einigen Ausführungsformen können solche Kriterien die Form einer Relevanz-Bewertungsziffer annehmen, wobei diese einigen Ausführungsformen mit anderen Relevanz-Bewertungsziffern von anderen Textbeschreibungen in natürlicher Sprache, die als passend bestimmt worden sind, normalisieren können, bevor diese passenden Textbeschreibungen in natürlicher Sprache eingestuft werden, um diejenigen Textbeschreibungen in natürlicher Sprache auszuwählen, die einen Rang haben, der höher als ein Schwellenwertrang für die Präsentation ist. In einigen Fällen können Relevanz-Bewertungsziffern von Funktionen, durch die sie berechnet werden, von dem Dashboard-Designer spezifiziert werden, oder einige Ausführungsformen können die Bewertungsziffern auf der Basis eines Beutzereingriffs mit Beschreibungen (z.B. basierend auf Durchklickraten, Verweilzeiten nach dem Durchklicken, Blick-Tracking oder dergleichen) folgern. In einigen Fällen kann der Dashboard-Designer diese verschiedenen Arten von Kriterien als Teil des Dashboard-Design-Prozesses liefern.
  • In einigen Ausführungsformen können die Kriterien verschiedene Parameter haben, die in nachfolgenden Trainingsvorgängen angepasst bzw. eingestellt werden. In einigen Fällen umfassen diese Parameter den Text der Textbeschreibung in natürlicher Sprache selbst, Schwellenwerte in den Kriterien, Gewichtungen oder andere Koeffizienten, durch die Relevanz-Bewertungsziffern berechnet werden, Funktionen, durch die Werte auf Variable gemappt werden, visuelle Attribute von Datenvisualisierungsinstanzen (einschließlich Merkmale von Computervisionsansätzen), durch die die Textbeschreibung in natürlicher Sprache als passend oder relevant bestimmt wird, oder Bereiche oder Schwellenwerte von Werten von Feldern aus den Daten eines überwachten Systems, die zu den gleichen Zwecken verwendet werden.
  • In einigen Ausführungsformen werden die Textbeschreibungenin natürlicher Sprache, die von dem Designer zugeführt werden, von einem trainierten Model für die Erzeugung von Text in natürlicher Sprache zugeführt, das Text sogar in Abwesenheit von manuell geschriebenen oder codierten Textbeschreibungen erzeugen kann. Zum Beispiel können die Textbeschreibungen in natürlicher Sprache in einigen Fällen durch das Trainieren eines solchen Modells bei einem Korpus von Firmenberichten bereitgestellt werden, in denen Bilder von Datenvisualisierungen in Verbindung mit einem Text in natürlicher Sprache auftreten, der diese Datenvisualisierungen erörtert. Einige Ausführungsformen können eine dichtes, faltendes neuronales Netzwerk zur Bilderkennung umfassen, das dafür konfiguriert ist, verschiedene visuelle Merkmale in Datenvisualisierungen zu erfassen und die Datenvisualisierungen zum Beispiel in einer Pipeline zu klassifizieren, in der Merkmale erfasst werden, wobei die Datenvisualisierungen durch die Art basierend auf den Merkmalen klassifiziert werden, und dann werden die Merkmale für die Art in einer Pipeline erfasst.
  • In einigen Ausführungsformen kann die Pipeline des Weiteren ein Modell umfassen, das dafür konfiguriert ist, vorauszusagen, welcher Text angesichts einer Art (und einer Dashboard-Kennung) und eines Satzes von so erfassten Merkmalen in dem Korpus auftreten wird, wobei Beispiele dafür ein rekurrentes neuronales Netzwerk, ein verborgenes Markov-Modell oder verschiedene Bag-of-Words-Lösungsansätze einschließen, in denen relativ lange N-Gramme, die für die Verwendung als Beschreibungen geeignet sind, gemappt werden, wie ein Latent-Semantic-Analysis-Modell oder ein Latent-Dirichlet-Allocation-Modell, die dafür konfiguriert sind, N-Gramme mit Themen zu assoziieren, die einen zugehörigen Textinhalt haben, der den erfassten Merkmalen entspricht. In einigen Ausführungsformen kann das Modell, wenn es trainiert ist, dafür konfiguriert sein, ein Bild einer Datenvisualisierungsinstanz zu klassifizieren, Merkmale zu entdecken, die dieser Klassifizierung entsprechen, und N-Gramme auszuwählen oder Multi-Token-N-Gramme zusammenzusetzen, die als beschreibend für die Merkmale bestimmt werden. In einigen Ausführungsformen können die oben beschriebenen Kriterien in der Form von Parametern dieser Maschinenlernmodelle implementiert werden, die während des Trainings angepasst bzw. eingestellt werden, zum Beispiel in der Form von Gewichtungen oder Vorlieben bzw. Ausrichtungen in neuronalen Netzwerken, Übergangswahrscheinlichkeiten in verborgenen Markov-Modellen und Merkmalsvektoren in verschiedenen Bag-of-Words-Modellen.
  • In einigen Ausführungsformen umfasst die Dashboard-Anwendung eine Dashboard-Präsentationsanwendung 32. In einigen Ausführungsformen kann die Dashboard-Präsentationsanwendung 32 dafür konfiguriert sein, eine Anforderung nach einer Instanz eines Dashboards zu empfangen, wobei diese Anforderung eine Aufzeichnung spezifiziert, wie etwa diejenigen, die oben beschrieben worden sind und die entweder durch Bezugnahme auf Aufzeichnungen, die darin Datenvisualisierungen spezifizieren, oder dadurch, dass sie diese Aufzeichnungen enthalten, Dashboards spezifizieren und identifizieren. In einigen Ausführungsformen kann die Dashboard-Präsentationsanwendung 32 dafür konfiguriert sein, das entsprechende Dokument zu interpretieren, das Datendepot 18 des überwachten Systems nach Daten innerhalb eines Umfangs der Datenvisualisierungen abzufragen (wenn die Datenvisualisierung zum Beispiel Werte für ein bestimmtes Feld über die vorhergehenden sechs Monate darstellt, dann können einige Ausführungsformen das Datendepot 18 des überwachten Systems nach diesem Feld mit der Einschränkung auf eine spezifizierte Zeit abfragen), und die entsprechenden Datenvisualisierungsinstanzen zu erzeugen, die die Antwortdaten darstellen.
  • Der Begriff „Datenvisualisierungsinstanz“ wird hier so verwendet, dass er sich auf das Ergebnis des Applizierens einer Datenvisualisierung auf dargestellte Daten bezieht. Eine Datenvisualisierung kann zum Beispiel ein Tortendiagramm mit einem bestimmten Durchmesser, Sätzen von Feldern, die auf verschiedene Farben gemappt sind, und Text spezifizieren, ohne dass die Größen der verschiedenen Segmente in dem Tortendiagramm angegeben sind, während eine Instanz der Datenvisualisierung auch eine Spezifikation dieser verschiedenen Segmentgrößen basierend auf einem dargestellten Satz von Daten in Reaktion auf eine Abfrage bei dem Datendepot 18 des überwachten Systems umfassen kann. Eine Datenvisualisierungsinstanz muss nicht auf einem Anzeigebildschirm angezeigt werden, um als Daten darstellend zu gelten. Ein Bitstrom in Ruheposition auf einer Festplatte, der diese Datenvisualisierungsinstanz codiert, kann auch eine Datenvisualisierungsinstanz bilden, selbst wenn der Bitstrom niemals dazu benutzt wird, eine graphische Anzeige abzugeben. Datenvisualisierungsinstanzen können in einer Vielfalt von unterschiedlichen Formaten codiert werden, welche Bitmaps, Videos, Vektorgraphiken und eine Ansammlung von Informationen einschließen, aus denen solche Datenformate gebildet werden können (wie die dargestellten Daten und die Aufzeichnung, die spezifiziert, wie eine Datenvisualisierung zu bilden ist).
  • In einigen Ausführungsformen kann die Dashboard-Präsentationsanwendung 32 zu diesen sowie auch zu anderen Zwecken einen Controller 34, einen Dashboard-Generator 36, einen Datenvisualisierungsgenerator 38, ein Dashboard-Repositorium 40, einen Webserver 42 und einen API-(Application Program Interface; Anwendungsprogrammschnittstellen)-Server 44 aufweisen. In einigen Ausführungsformen kann der Controller 34 den Betrieb bzw. den Vorgang dieser anderen Komponenten koordinieren, um die Funktionalität zu bewirken, die hier beschrieben ist und der Dashboard-Präsentationsanordnung 32 zugeschrieben ist. In einigen Ausführungsformen ist der Dashboard-Generator 36 dafür konfiguriert, Dashboards aus Datenvisualisierungen zu konstruieren, die von dem Datenvisualisierungsgenerator 38 erzeugt worden sind. Diese beiden Komponenten 36 und 38 können die oben beschriebenen Aufzeichnungen interpretieren, die in einigen Fällen in einem Dashboard-Repositorium 40 gespeichert sein können, sie können das Datendepot 18 des überwachten Systems nach den Daten, die dargestellt werden sollen, abfragen, und sie können die Instanzen von Datenvisualisierungen bilden und diese Instanzen in einer Instanz eines Dashboards anordnen.
  • In einigen Ausführungsformen können diese Vorgänge bzw. Operationen in Reaktion auf Anforderungen durchgeführt werden, die über den Webserver 42 oder den API-Server 44 empfangen werden, die in einigen Fällen zusammengeschlossen sein können, was nicht andeuten soll, dass jede andere beschriebene Komponente nicht auch mit anderen Komponenten zusammengeschlossen sein kann. In einigen Ausführungsformen können Anforderungen nach Dashboards von einem Browser über den Webserver 42 oder von einer systemeigenen Anwendung oder dem Narrationsgenerator 12 oder von anderen Computergeräten über den API-Server 44 empfangen werden, von denen jeder in einigen Fällen ein nicht blockierender Server sein kann, der dafür konfiguriert ist, Anforderungen zu dem Controller 32 weiterzuleiten und Antworten zurück hinaus durch das Netzwerk 28 zu befördern.
  • In einigen Ausführungsformen implementiert der Narrationsgenerator 12 verschiedene Teile von den Prozessen oder alle von den Prozessen, die unten unter Bezugnahme auf die 2 bis 5 beschrieben werden, um narrative Textbeschreibungen in natürlicher Sprache eines Phänomens zu bilden, das in Datenvisualisierungen auftritt, und zwar egal ob diese Datenvisualisierungen einem Benutzer präsentiert werden oder nicht. In einigen Ausführungsformen kann der Narrationsgenerator 12 die Kriterien der verschiedenen Kandidaten-Textbeschreibungen in natürlicher Sprache mit einer Instanz einer Datenvisualisierung oder eines Dashboards vergleichen, um festzustellen, ob die Kriterien erfüllt sind, und um in einigen Fällen Antwort-Textbeschreibungen in natürlicher Sprache auf der Basis der Relevanz einzustufen, um eine Textzusammenfassung in natürlicher Sprache einer Instanz einer Datenvisualisierung oder eines Dashboards mit einer Vielzahl von Datenvisualisierungen zu erzeugen. Ergebnisse können über irgendeinen der oben beschriebenen Kanäle, über die solche Informationen Benutzern präsentiert werden, ausgegeben werden oder in einem Protokoll 20 protokolliert werden.
  • Wiederum werden verschiedene Benutzungsfälle des Narrationsgenerator 12 unten unter Bezugnahme auf verschiedene Ablaufdiagramme beschrieben, und es sollte betont werden, dass diese verschiedenen Benutzungsfälle unabhängig voneinander angewendet werden können, was nicht andeuten soll, dass irgendetwas anderes, was hier beschrieben wird, nicht ebenfalls unabhängig von anderen beschriebenen Merkmalen verwendet werden kann. In einigen Ausführungsformen ist der Narrationsgenerator 12 mit der Dashboard-Anwendung integriert oder er ist eine getrennte Anwendung.
  • In einigen Ausführungsformen weist der Narrationsgenerator 12 einen Controller 46, einen Caption-Generator 48, einen Captioning-Trainer 50, ein Captioning-Kriterienrepositorium 52, einen Narrations-Synthesizer 54, ein Synthesekriterienrepositorium 56, einen Synthesetrainer 58, einen Generator 60 für fiktive Daten, ein Expositionskontrollmodul 62, einen API-Server 66 und ein Expositionskontrollregeln-Repositorium 64, ein Text-in-Sprache-Modul 68 und ein Sprache-in-Text-Modul 70 auf. In einigen Ausführungsformen kann der Controller 46 den Betrieb dieser verschiedenen Komponenten koordinieren, um die hier beschriebene Funktionalität zu bewirken.
  • In einigen Ausführungsformen ist der Caption-Generator 48 dahingehend funktionsfähig, eine Datenvisualisierungsinstanz und einen Satz von Kandidaten-Textbeschreibungen in natürlicher Sprache und ihre zugehörigen Kriterien zu empfangen, bevor er bestimmt, welche von den Kriterien durch die Datenvisualisierungsinstanz erfüllt sind, und in einigen Fällen die relative Relevanz bestimmt und auf der Basis der relativen Relevanz dieser Textbeschreibungen in natürlicher Sprache, bei denen bestimmt wurde, dass sie Kriterien haben, die passen, eine Filterung durchführt. In einigen Fällen kann der Text in natürlicher Sprache als ein von einem Menschen lesbarer Satz ausgedrückt werden (mit einem Subjekt und einem Prädikat), oder er kann eine Zusammensetzung aus einer Vielzahl von unterschiedlichen Textbeschreibungen in natürlicher Sprache sein, die als passend bestimmt wurden, wie etwa ein Absatz solcher Textbeschreibungen in natürlicher Sprache, dem in einigen Fällen ein Satz vorausgeht oder folgt, der die Textbeschreibungen in natürlicher Sprache zusammenfasst, die einen Absatz oder einen anderen Korpus des Textes bilden, bestimmt zum Beispiel mit dem Narrations-Synthesizer 54, der unten beschrieben wird.
  • In einigen Ausführungsformen werden die Caption-Kriterien in dem Captioning-Kriterienrepositorium 54 gespeichert, in einigen Fällen zusammen mit den zugehörigen Textbeschreibungen in natürlicher Sprache, und einige Ausführungsformen können die Captioning-Kriterien mit einem Captioning-Trainer 54 anpassen bzw. einstellen. Einige Ausführungsformen können die Kriterien während der Design-Phase anpassen, zum Beispiel bevor ein Dashboard für die Herstellung freigegeben wird, indem sie eine relativ große Anzahl von Instanzen von Datenvisualisierungen mit fiktiven Daten erzeugen, Captions für diese Instanzen erstellen und ein Feedback von zum Beispiel dem Designer oder einem anderen Trainer empfangen und dann die Kriterien in Reaktion auf das Feedback anpassen bzw. einstellen.
  • Fiktive Daten können verschiedene Formen annehmen, wobei Beispiele dafür Zufallswerte für die Felder einer Datenvisualisierung oder ein Sampling von historischen Daten für die Felder der Datenvisualisierung einschließen. In einigen Fällen können historische Daten keine Werte einschließen, die Phänomene erzeugen, für die Textbeschreibungen in natürlicher Sprache passend sind, oder sie können solche Textbeschreibungen in natürlicher Sprache nicht mit einer ausreichenden Regelmäßigkeit für ein effektives Training erzeugen. Einige Ausführungsformen können fiktive Daten auf der Basis der Kriterien der Textbeschreibungen in natürlicher Sprache erzeugen, zum Beispiel durch das Trainieren eines generativen Maschinenlernmodells mit den historischen Daten des überwachten Systems und dann das Einstellen bzw. Anpassen oder Zuführen von Eingaben in das generative Maschinenlernmodell, die dafür konfiguriert sind, Ausgaben für die Felder zu erstellen, die realistisch sind, und auch Datenvisualisierungsinstanzen mit Phänomenen zu erzeugen, die den Kriterien der Textbeschreibungen in natürlicher Sprache entsprechen.
  • Oder in einigen Fällen kann ein Feedback erhalten werden, nachdem das Dashboard für die Herstellung freigegeben worden ist, und zwar von Benutzern, die die Ausgabe von nicht fiktiven Daten erfahren. In einigen Ausführungsformen kann eine Benutzerschnittstelle, in der Dashboard-Datenvisualisierungen oder narrative Beschreibungen davon präsentiert werden, Eingaben umfassen, durch die ein Benutzer angeben kann, ob die präsentierte narrative Beschreibung relevant ist und eine Reaktion auf die aktuelle Instanz einer Datenvisualisierung darstellt oder beschreibend dafür ist. Einige Ausführungsformen können dieses Feedback (oder die anderen Formen, wie oben beschrieben) empfangen und die Captioning-Kriterien oder die Textbeschreibungen weiter anpassen.
  • Anpassungen bzw. Einstellungen auf der Basis eines Feedbacks können eine Vielfalt von Formen annehmen. Einige Ausführungsformen können inkrementell Kriterien in Reaktion auf eine vorgegebene Instanz eines Feedbacks anpassen, zum Beispiel kann ein Feedback, das angibt, dass eine Caption nicht relevant ist oder nicht beschreibend ist, bewirken, dass Kriterien in einer Art und Weise angepasst werden, die dazu führen, dass es weniger wahrscheinlich ist, dass die Kriterien erfüllt werden, zum Beispiel indem sie einen Schwellenwert erhöhen oder herabsetzen. In einigen Ausführungsformen können die Kriterien von narrativen Textbeschreibungen, die nicht präsentiert werden, auf der Basis eines Feedbacks eingestellt werden, zum Beispiel diejenigen narrativen Textbeschreibungen, die sich in der Nähe eines Schwellenwerts befinden und die aus Relevanzgründen herausgefiltert wurden, können in Reaktion auf ein Feedback eingestellt bzw. angepasst werden, das angibt, dass diejenigen, die nicht herausgefiltert wurden, nicht relevant oder beschreibend waren. In einigen Fällen können solche Einstellungen beinhalten, dass die Kriterien permissiver gemacht werden. In einigen Fällen können Kriterien während des Trainings missachtet werden, um zu bestätigen, dass die Kriterien kein falsches negatives Ergebnis verursachen.
  • In einigen Ausführungsformen kann das Feedback zu einem Trainings-Set angesammelt werden, und die Captioning-Kriterien können als ein Batch-Prozess aufder Basis des Trainings-Sets eingestellt werden. Zum Beispiel können einige Ausführungsformen iterativ die Captioning-Kriterien in einer Richtung einstellen, die dazu tendiert, eine Zielfunktion zu optimieren, zum Beispiel mit einem Greedy-Optimierungsalgorithmus („gierigen“ Optimierungsalgorithmus) oder einem Non-Greedy-Optimierungsalgorithmus. Beispiele umfassen eine Optimierung auf der Basis eines stochastischen Gradientenverfahrens, eines simulierten Abkühlens (Simulated Annealing), von genetischen Algorithmen, evolutionären Algorithmen und dergleichen. Einige Ausführungsformen können zum Beispiel Gewichtungen und Vorlieben bzw. Ausrichtungen in einem von den oben beschriebenen neuronalen Netzwerken für das Erzeugen von Textbeschreibungen in natürlicher Sprache in einer Richtung einstellen, die eine jeweilige partielle Ableitung der jeweiligen Gewichtungen oder Vorlieben bzw. Ausrichtungen in Bezug auf die Zielfunktion anzeigt, was die Zielfunktion zumindest lokal optimieren wird. Oder einige Ausführungsformen können Gewichtungen einstellen, die an verschiedene Dimensionen von Merkmalsvektoren in Bag-of-Words-Modellen angelegt werden.
  • Einige Ausführungsformen können einen Narrations-Synthesizer 54 aufweisen, der dafür konfiguriert ist, mehrere Text-Captions in natürlicher Sprache von dem Caption-Generator 48 zu empfangen und einen Korpus aus Text in natürlicher Sprache zu erzeugen, der die einzelnen Textbeschreibungen in natürlicher Sprache von dem Caption-Generator 48 zusammenfasst oder daraus zusammengesetzt ist. Die Begriffe Caption (Legende, Beschriftung, Beschreibung) und Textbeschreibung in natürlicher Sprache werden hier untereinander austauschbar verwendet. In einigen Ausführungsformen ist der Narrations-Synthesizer 54 dafür konfiguriert, einen Absatz aus einer Vielzahl von einzelnen Sätzen zu bilden, die jeweils von dem Caption-Generator 48 ausgegeben wurden, wobei in einigen Fällen die Sätze auf der Basis der Relevanz in der Reihenfolge angeordnet werden und in einigen Fällen eine Zusammenfassung des Absatzes als ein Themensatz zusammengesetzt wird, zum Beispiel mit einem Modell für das abstrahierende Zusammenfassen von Text in natürlicher Sprache. In einigen Ausführungsformen kann der Narrations-Synthesizer 54 dafür konfiguriert sein, ein Modell für das extrahierende Zusammenfassen von Text in natürlicher Sprache auszuführen, um eine Zusammenfassung einer Vielzahl von Textbeschreibungen in natürlicher Sprache für eine Instanz eines Dashboards zu erzeugen. In einigen Fällen kann die Zusammenfassung eine Zusammenfassung einer einzelnen Datenvisualisierungsinstanz, eines Phänomens in einer Datenvisualisierungsinstanz oder eines Phänomens sein, das sich über mehrere Datenvisualisierungen in einer Dashboard-Instanz erstreckt, wie etwa eine Korrelation.
  • In einigen Ausführungsformen kann die Narrationssynthese auf der Basis von Synthesekriterien beruhen, die in dem Synthesekriterienrepositorium 56 gespeichert sind. Solche Synthesekriterien können Stoppworte, Tf-idf-(term frequency inverse document frequency; Termvorkommenshäufigkeit, inverse Dokumentenhäufigkeit)-Bewertungsziffern, Vektoren in. einem Word2vec-Modell, ein Themenmodell basierend auf Themen in einem Korpus, der relevant für Datenvisualisierungen eines überwachten Systems ist, wie etwa der oben beschriebene Satz von historischen, von Menschen erstellten Berichten, oder andere Bag-of-Words-Methoden einschließen. Beispiele umfassen des Weiteren die Latent Semantic Analysis, ein Themenmodell oder Word2vec-Modelle, in denen N-Gramme in erzeugten Captions zu einem Cluster verpackt werden können und in denen dann ein N-Gramm, das einem Zentroid des Clusters am nächsten liegt (z.B. wie gemessen durch die Kosinus-Distanz, die Minkowski-Distanz oder den Euklidischen Abstand), als eine Zusammenfassung des Clusters durch den Synthesizer 54 ausgewählt werden kann. In einigen Ausführungsformen können die Synthesekriterien mit dem Synthesizer-Trainer 58 zum Beispiel durch das Verarbeiten eines solchen Korpus eingepflegt werden.
  • Oder in einigen Fällen kann der Narrations-Synthesizer 54 ein neuronales Netzwerk ausführen, das dafür konfiguriert ist, Text zusammenzufassen, zum Beispiel mit einem neuronalen Sequenz-zu-Sequenz-Netzwerk-Modell. Solche Modelle können in einigen Fällen einen Codierer aufweisen, der eine Vielzahl von langen Kurzzeitspeichermodulen hat (z.B. in einem rekurrenten neuronalen Netzwerk), die mit einem Decodierer gekoppelt sind, der in ähnlicher Weise einen Satz von langen Kurzzeitspeichermodulen hat (z.B. in einem anderen rekurrenten neuronalen Netzwerk). Der Codierer kann eine Sequenz von N-Grammen in dem größeren Textkorpus empfangen und einen Zwischenrepräsentationsvektor in einem Konzeptraum ausgeben, der von dem Decodierer empfangen werden kann. Der Decodierer kann diesen Vektor in eine Sequenz von N-Grammen in einem kürzeren Korpus von Text in natürlicher Sprache umwandeln, der eine längere Sequenz von Tokens (Zeichen) zusammenfasst, die als eine Eingabe zu dem Codierer empfangen worden ist. In einigen Ausführungsformen kann der Synthesizer-Trainer 58 dafür konfiguriert sein, Gewichtungen und Vorlieben bzw. Ausrichtungen in diesem Sequenz-zu-Sequenz-Modell auf der Basis eines Feedbacks während des Trainings einzustellen, basierend auf einem Feedback während der Verwendung, oder basierend auf einem Korpus, der Zusammenfassungen mit längeren Textkorpussen zusammenfasst, zum Beispiel mit den oben beschriebenen Optimierungstechniken, wie etwa mit dem stochastischen Gradientenverfahren.
  • Einige Ausführungsformen können des Weiteren einen Generator 60 für fiktive Daten aufweisen, der die verschiedenen, oben beschriebenen Techniken ausführen kann und durch den fiktive Daten erhalten werden, um den Caption-Generator 48 mit Datenvisualisierungen von fiktiven Daten und einem darauf basierenden Feedback von einer menschlichen Zielgruppe zu trainieren. Oder andere Ausführungsformen können ein Modell trainieren, um ein menschliches Feedback zu simulieren, und zwar auf der Basis eines Trainings-Sets von menschlichem Feedback, und dann den Caption-Generator 48 auf der Basis des Feedbacks von dem Modell trainieren, das dafür konfiguriert ist, einen menschlichen Agenten zu simulieren, z.B. mit bestärkendem Lernen (Reinforcement Learning). In einigen Ausführungsformen wird erwartet, dass dieser Ansatz eine relativ große Menge an Feedback bieten kann, indem ,ein Mensch in der Schleife‘ benutzt wird, also ein Mensch in das System mit einbezogen wird.
  • Einige Ausführungsformen können des Weiteren ein Expositionskontrollmodul 62 aufweisen, das dafür konfiguriert ist, zu regeln oder steuern bzw. zu kontrollieren, ob Benutzern ein Zugriff auf narrative Beschreibungen oder Datenvisualisierungen gewährt wird, und zwar auf der Basis von Rollen bzw. Funktionen und Berechtigungen von Benutzern und einer Domäne der Datenvisualisierung, die zusammengefasst ist oder präsentiert wird, wie dies unten noch genauer unter Bezugnahme auf 4 beschrieben wird. In einigen Ausführungsformen wird die Expositionskontrolle auf der Basis von Expositionskontrollregeln in dem Repositorium 64 bestimmt, die in einigen Fällen von einem Systemadministrator oder dem Dashboard-Designer festgelegt sein können.
  • Einige Ausführungsformen können einen API-Server 66 aufweisen, durch den der Narrationsgenerator 12 mit den anderen Komponenten über das Netzwerk 28 in der Computerumgebung 10 kommuniziert. Der Server kann auch ein nicht blockierender Server sein, der dafür konfiguriert ist, eine Anforderung zu dem Controller 46 weiterzuleiten und auf die Anweisung des Controllers 46 hin Antworten zurück hinaus auf das Netzwerk zu befördern.
  • Einige Ausführungsformen können des Weiteren ein Text-in-Sprache-Modul 68 aufweisen, das dafür konfiguriert ist, einen Text in natürlicher Sprache, der in einem Textformat codiert ist, in Audiosignale, zum Beispiel in Streaming-Audio, umzuwandeln. Einige Ausführungsformen können auch ein Sprache-in-Text-Modul 70 aufweisen, das dafür konfiguriert ist, die Umkehrung dieser Transformation durchzuführen, indem es zum Beispiel Audiosignale empfängt, die durch ein Mikrophon eines Benutzercomputergeräts aufgenommen werden, und diese Audiosignale in einen Text in natürlicher Sprache in einem Textformat übersetzt, das für eine Verarbeitung als eine Textabfrage geeignet ist. In einigen Ausführungsformen ist der Narrationsgenerator 12 dafür konfiguriert, eine Chatbot-Schnittstelle zu unterstützen, durch die Benutzern Textfragen in natürlicher Sprache gestellt werden können, in einigen Fällen in Reaktion auf eine vorhergehende Textausgabe in natürlicher Sprache durch den Narrationsgenerator 12 entweder in einem Audioformat oder in einem Textformat. In einigen Ausführungsformen ist der Controller 46 dahingehend funktionsfähig, Dashboards in einer interaktiven Dashboard-Anwendung in Reaktion auf diese Texteingaben oder andere Benutzereingaben einzustellen und aktualisierte oder neue Textbeschreibungen in natürlicher Sprache, die beschreibend für die Aktualisierung sind, in Reaktion auf die Abfrage zu erzeugen und in einigen Fällen die Abfrage auf der Basis eines Kontextes in einer aufgezeichneten bzw. protokollierten Historie von Austauschen in einer gegebenen Chatsitzung eindeutiger zu machen, z.B. indem er ein Pronomen auf ein vorausgehendes Substantiv, das von dem Benutzer in der Sitzung geäußert worden ist, mappt.
  • ERZEUGEN VON TEXTBESCHREIBUNGEN IN NATÜRLICHER SPRACHE VON DATENVISUALISIERUNGEN
  • Eine Datenvisualisierung ist ein starkes Mittel, um einem Betrachter Informationen zur Verfügung zu stellen. Es ist wird oftmals gesagt, dass ein Bild mehr sagt als tausend Worte. Obwohl wir alle einen Moment des Verstehens eines Bildes erfahren haben, wenn wir zu uns selbst sagen „Nun verstehe ich, dass diese Visualisierung { ...hier eine kurze zusammenfassende Aussage einfügen ...} bedeutet“. Diese kurze Zusammenfassung ist ein Text, der Kernpunkte erfasst, und sie ist oftmals viel kürzer als tausend Worte.
  • Die Erfinder haben erkannt, dass es wünschenswert ist, diese Worte unter Verwendung von AI zu erfassen. Einige Ausführungsformen holen sich solche Worte von der Intelligenz bzw. den Informationen des Dashboard-Visualisierungs-Designers und erzeugen algorithmisch Vorschläge eines Textdokuments in natürlicher Sprache, das Kernpunkte der Visualisierungen beschreibt, wenn das Dashboard für einen Benutzer erstellt wird. Einige Ausführungsformen bieten ein System und ein Verfahren zum Erschaffen eines Textes in natürlicher Sprache an, der Hauptkernpunkte einer visuellen Kommunikation beschreibt (z.B. ein Schaubild, eine Karte, ein Diagramm, etc.), die ein Beobachter verstanden haben würde, indem er die Visualisierungen begreift.
  • Die narrative Beschreibung kann mit einer Vielfalt von Techniken erschaffen werden. Dashboards werden oftmals mit einem spezifischen Benutzungsfall und einem Satz von Ansprüchen im Hinterkopf erstellt. Die Visualisierungen, die von dem Dashboard-Designer erstellt werden, stellen oftmals visuelle Hinweise bereit, die es einem Benutzer erlauben, Schlussfolgerungen über die Ansprüche in dem Kontext des Benutzungsfalls der Dashboard-Benutzung zu ziehen. Einige Ausführungsformen erfassen Ereignisse von einem Design-Tool eines Dashboard-Designers, die Design-Entscheidungen, die von dem Designer getroffen wurden, zeigen.
  • Wenn ein Dashboard-Designer zum Beispiel eine Skala platziert (wie in 6), die einen derzeitigen Umsatz und einen Strich ausdrückt, der das Umsatzziel auf der Skala identifiziert, erfassen einigen Ausführungsformen das Ereignis der Platzierung des Ziels auf der Skala und fordern narrative Beschreibungen an. Dashboard-Ereignisse, die bewirken können, dass einige Ausführungsformen Beschreibungen auslösen, umfassen Folgendes:
    • - Grenzwert oder Zielmarke, die eine angezeigte Metrik erreichen kann,
    • - Vergleich von mehreren Metriken ist geplant,
    • - Kontextvisualisierung für eine Metrik (wie ein Icon, das einen Errungenschaftsgrad der Metrik zeigt)
    • - Alarmmarke ist platziert
    • - Eine Generalisierung von Metriken (Trend, Durchschnitt, Maximum, Minimum, etc.)
    • - Konvergenz-/Divergenz-Diagramm
    • - Retrospektive Daten kombiniert mit prädiktiven Daten, um einen Trend zu zeigen
    • - Farbige Codierung von Metrikwerten
    • • Schlüsselmetriken
    • • Ranking basierend auf einem Zusammenfassen von Metriken
    • • Ansprüche gestellt mit präattentiven visuellen Merkmalen ,
    • o Wenn eine Metrik eine Marke erreicht, die als ein präattentives Merkmal dargelegt ist, kann ein Alarm in der Narration erzeugt werden
    • o Eine Nähe zu der Marke kann ebenfalls erwähnenswert sein
    • • Was-wäre-wenn-Analyse
    • • Beweis für einen Kompromiss, der mit dem Dashboard gemacht wird.
    • o Ein weiterentwickeltes Narrationssystem kann auch eine Entscheidung vorschlagen, die getroffen werden soll
    • • Wenn Histogrammdiagramme beteiligt sind, können Ausführungsformen eine Generalisierung einer zugrundeliegenden Verteilung ableiten, z.B. „sieht wie eine Glockenkurve aus“ oder „sieht wie eine Potenzgesetzkurve aus“.
  • In einigen Ausführungsformen ist das Narrationsdesign in dem Dashboard-Designprozess verschachtelt. Der Prozess kann Folgendes umfassen: 1) Anforderung von Textvorschlägen vom Dashboard-Designer; 2) Erschaffen von Vorlagen und Regeln für die Texterzeugung; und 3) Trainieren der Narration durch wiederholte Datensimulation, Narrationserzeugung und Narrations-Feedback.
  • Die Anforderung von Textvorschlägen kann stattfinden, wenn ein Dashboard-Designer eine visuelle Reorientierung von Daten mit einem Ziel definiert, während der Gestaltung (Design) von Visualisierungen des Dashboards einen Betrachter des Dashboards dazu zu bringen, eine Idee von dem hervorzubringen, was Daten anzeigen (einen Anspruch). Einige Ausführungsformen fordern den Benutzer dazu auf, ein paar Worte über den Anspruch auszudrücken, den der Designer erwartungsgemäß im Kopf des Betrachters erzeugen möchte. Ausführungsformen sammeln Notizen und hängen diese an ein Ausgabeprotokoll an, so dass am Ende des Prozesses des visuellen Designs ein Dokument mit einer Anhäufung von Ansprüchen vorliegt, die während der Dashboard-Gestaltung aufgestellt wurden.
  • Das Erschaffen von Vorlagen und Regeln kann erzielt werden, indem ein Inhalt dieses Dokuments analysiert wird, um einen Satz von Regeln zu erstellen, die Voraussetzungen enthalten, die in Bezug auf Quelldaten des Dashboards und Beziehungen zwischen Daten ausgewertet werden, die in dem Dashboard-Design in dem „Wenn“-Teil der Regeln und den Vorlagen-Stückchen von Narrationen in dem „dann“-Teil der Regeln ausgedrückt sind.
  • Das Trainieren eines sich ergebenden Narrationsgenerationsmodells kann durchgeführt werden, indem wiederholt künstliche Zufallsdaten erzeugt werden, die für das Erschaffen eines Dashboards festgelegt werden, und ein Dashboard und ein narrativer Text erstellt werden. Einige Ausführungsformen fordern eine Eingabe von einem menschlichen Trainer an. Der menschliche Trainer kann die Textnarrationsqualität einstufen und liefert dem System einen verfeinerten Text zurück. Einige Ausführungsformen sammeln die Verfeinerung und bringen aktualisierte Vorlagen und Regeln hervor. Dieser Prozess wird in einigen Fällen mit einem oder mehreren menschlichen Trainern wiederholt. Einige Ausführungsformen wiederholen dies, bis die Qualität einer erzeugten Narration die menschlichen Trainer zufriedenstellt.
  • 2 zeigt ein Beispiel eines Prozesses 100, der von der Dashboard-Anwendung 14 und dem Narrationsgenerator 12 von 1 implementiert werden kann, aber er ist nicht auf diese Implementierung beschränkt, was nicht andeuten soll, dass jegliches andere Merkmal hier auf die beschriebene Anordnung beschränkt ist. Dasselbe gilt auch für die Prozesse, die unten mit Bezug auf die 3 bis 5 beschrieben werden. In einigen Ausführungsformen können die Funktionalität des Prozesses 100 und die anderen hier beschriebenen Funktionalitäten mit einem Programmcode oder mit anderen Anweisungen, die in einem greifbaren, nicht flüchtigen, maschinenlesbaren Medium gespeichert sind, implementiert werden, so dass dann, wenn diese Anweisungen von einem oder mehreren Prozessoren ausgeführt werden, die beschriebene Funktionalität bewirkt wird. Trotz der Verwendung des Begriffs „Medium“ im Singular kann das Medium verteilt sein, zum Beispiel können unterschiedliche Anweisungen in verschiedenen Computergeräten gespeichert sein, so dass dann, wenn die verschiedenen Untergruppen von Anweisungen durch verschiedene Prozessoren ausgeführt werden, die beschriebene Funktionalität bewirkt wird, eine Anordnung, die mit der Verwendung des Begriffs Medium im Singular übereinstimmt. Die beschriebenen Vorgänge in der hier beschriebenen Funktionalität können in einer anderen Reihenfolge ausgeführt werden, einige Vorgänge können eingefügt werden, einige Vorgänge können weggelassen werden, und verschiedene Permutationen der Vorgänge können seriell oder gleichzeitig ausgeführt werden, in einigen Fällen in replizierten Instanzen der beschriebenen Module von 1, zum Beispiel hinter einem Lastverteiler.
  • In einigen Ausführungsformen kann der Prozess 100 Textbeschreibungen in natürlicher Sprache eines Phänomens erzeugen, das in Datenvisualisierungsinstanzen auftritt. In einigen Ausführungsformen beginnt der Prozess 100 damit, eine Aufzeichnung, die eine Datenvisualisierung spezifiziert, über eine Dashboard-Design-Anwendung zu erhalten, wie dies durch Block 102 angegeben ist. In einigen Ausführungsformen kann diese Aufzeichnung durch einen Dashboard-Designer während einer Designsitzung mit der Dashboard-Design-Anwendung 30 spezifiziert werden, wie dies oben beschrieben worden ist. Einige Ausführungsformen können des Weiteren einen Satz von Kandidaten-Captions erhalten, die mit der Datenvisualisierung verknüpft sind, wie dies durch Block 104 angegeben ist. In einigen Ausführungsformen sind die Kandidaten-Captions die expliziten Textbeschreibungen in natürlicher Sprache, die von dem Dashboard-Designer bereitgestellt wurden, als er die Datenvisualisierung entsprechend der erhaltenen Aufzeichnung im Schritt 1 oder 2 erstellt hat. Oder in einigen Fällen ist der Satz von Kandidaten-Captions implizit in Parametern eines trainierten Modells für die Erzeugung von Text in natürlicher Sprache, wie etwa desjenigen, das oben beschrieben worden ist, codiert. Einige Ausführungsformen umfassen des Weiteren das Erhalten von Kriterien, die bezeichnen, ob die Kandidaten-Captions beschreibend für potentielle Instanzen der Datenvisualisierung sind, wie dies durch Block 106 angegeben ist. Wiederum sind in einigen Fällen diese Kriterien die Kriterien einer Regel, die von dem Dashboard-Designer bereitgestellt wurden, als er die Datenvisualisierung gestaltet hat, oder die Kriterien können in den Parametern eines trainierten Modells für die Erzeugung von Text in natürlicher Sprache, wie desjenigen, das oben beschrieben worden ist, codiert sein.
  • Einige Ausführungsformen können die Kriterien mit einem Trainingsprozess vor der Freigabe, wie dies oben beschrieben worden ist, und mit nachfolgenden Vorgängen verfeinern. Einige Ausfuhrungsformen können zum Beispiel fiktive Daten erzeugen, um nicht fiktive Daten zu simulieren, welche durch das Gestalten der Datenvisualisierung dargestellt werden sollen, wie dies durch Block 108 angegeben ist. Einige Ausführungsformen können zum Beispiel fiktive Daten mit den Techniken erzeugen, die oben beschrieben worden sind, zum Beispiel indem sie Zufallswerte für jedes der Felder bereitstellen, die in der Datenvisualisierung oder einer Ansammlung von Datenvisualisierungen in einem Dashboard dargestellt sind, oder durch ein Sampling aus einem historischen Protokoll solcher Daten oder durch die Verwendung eines trainierten Maschinenlernmoduls, um solche Daten zu simulieren. Das Erzeugen kann durchgeführt werden, indem eine Auswahl aus vorhandenen Daten vorgenommen wird oder indem neue Werte für jedes der Felder gebildet werden.
  • Einige Ausführungsformen umfassen das Erzeugen einer Vielzahl von simulierten Instanzen der Datenvisualisierung, wie dies durch Block 110 angegeben ist. In einigen Ausführungsformen kann jede Instanz eine andere Untergruppe der erzeugten fiktiven Daten, haben, wodurch bewirkt wird, dass die Instanz einen anderen Zustand der Datenvisualisierung darstellt. Wie oben angemerkt worden ist, müssen die Instanzen von Datenvisualisierungen nicht auf einer Benutzerschnittstelle angezeigt werden, um eine Instanz einer Datenvisualisierung zu bilden, obwohl in einigen Fällen einige Ausführungsformen veranlassen können, dass diese dargestellt werden.
  • Einige Ausführungsformen umfassen das Bestimmen, welche der Captions für jede der simulierten Instanzen der Datenvisualisierung passt, und zwar auf der Basis dessen, ob die simulierten Instanzen entsprechende Kriterien unter den erhaltenen Kriterien erfüllen, wie dies durch Block 112 angegeben ist. Einige Ausführungsformen können wiederholt durch jedes der Kriterien gehen und bestimmen, ob die entsprechende Caption aufgrund der Tatsache, dass die Kriterien erfüllt sind, passt. Einige Ausführungsformen können die Kriterien gleichzeitig anlegen, zum Beispiel in Prozessen, die in einer Vielzahl von Computergeräten implementiert werden, zum Beispiel in einem MapReduce-Framework. In einigen Ausführungsformen kann jede von den Datenvisualisierungsinstanzen in ähnlicher Weise gleichzeitig verarbeitet werden. In einigen Ausführungsformen kann dieser Vorgang des Weiteren das Bewerten und das Ranking der Captions, die auf der Basis von relevanten Bewertungsziffern als passend bestimmt wurden, und in einigen Fällen das Filtern dieser Captions, die als passend erachtet wurden, umfassen, wobei dies aber geringer als ein Schwellenwertrang ist, zum Beispiel durch das Auswählen einer Kandidaten-Caption mit einem Top-Ranking durch eine Relevanzbewertungsziffer oder von passenden Captions in einem solchen Ranking auf Platz 2 oder 3.
  • Einige Ausführungsformen umfassen das Veranlassen, dass Captions, die als passend bestimmt worden sind, in visueller Assoziation mit entsprechenden simulierten Instanzen der Datenvisualisierung präsentiert werden, für die die Captions passend sind, wie dies durch Block 114 angegeben ist. In einigen Ausführungsformen kann dies das Veranlassen umfassen, dass die Instanz einer gegebenen Datenvisualisierung auf einem Anzeigebildschirm des Benutzercomputergeräts neben einer Caption präsentiert wird, die als für diese Instanz der Datenvisualisierung passend bestimmt worden ist. In einigen Ausführungsformen kann das Veranlassen der Präsentation das Senden von Anweisungen an ein anderes Computergerät, die bewirken, dass ein anderes Computergerät die Datenvisualisierung und die assoziierte Caption vorlegt und anzeigt, zum Beispiel das Senden von Hypertext-Markup-Language-Anweisungen, Styling-Anweisungen und JavaScript™-Anweisungen, umfassen oder in einigen Fällen können die Captions als passend bestimmt werden und können dann auf demselben Computergerät angezeigt werden.
  • In einigen Ausführungsformen können die Captions in einer Benutzerschnittstelle präsentiert werden, die Benutzerschnittstelleneingaben hat, wie etwa Optionsschaltflächen, Textfelder, Schieberegler, auswählbare Icons oder dergleichen, durch die ein Benutzer ein Feedback über verschiedene Dimensionen der Präsentation bereitstellen kann, wobei Beispiele dafür die verschiedenen Arten von Feedback einschließen, die oben beschrieben worden sind und die indikativ dafür sind, ob die angezeigte Caption nach Ansicht des Benutzers in der Tat passt, und die Relevanz der Anzeige-Caption, ob die Spezifität der Caption für den Benutzer geeignet ist, und dergleichen angeben.
  • Einige Ausführungsformen umfassen das Empfangen eines Feedbacks, das indikativ dafür ist, ob die präsentierten Captions von dem Benutzer als beschreibend wahrgenommen werden, wie dies durch Block 116 angegeben ist, zum Beispiel über diese Benutzereingaben in der Benutzerschnittstelle, die im Vorgang 114 präsentiert wurden.
  • Einige Ausführungsformen umfassen das Einstellen bzw. Anpassen der Kriterien, die im Block 112 angelegt wurden und in den Blöcken 104 und 106 auf der Basis des Feedbacks erhalten wurden, wie dies durch Block 118 angegeben ist. In einigen Ausführungsformen können die Einstellungen die Form der Einstellungen annehmen, die oben unter Bezugnahme auf 1 beschrieben worden sind. Einige Ausführungsformen können die eingestellten Kriterien in einem Speicher speichern, wie dies durch Block 120 angegeben ist, zum Beispiel in einem persistenten oder dynamischen Speicher, wie in einem transienten Programmzustand.
  • Einige Ausführungsformen können bestimmen, ob ein Training fortgesetzt werden soll, wie dies durch Block 125 angegeben ist. Einige Ausführungsformen können das Training fortsetzen, bis eine Stoppbedingung erfasst wird. Beispiele für Stoppbedingungen umfassen eine Wiederholungszählung, die einen Schwellenwert von Wiederholungen eines Trainings überschreitet, oder eine Bestimmung, dass angesammelte Mengen von Einstellungen zwischen Kriterien in aufeinanderfolgenden Wiederholungen kleiner als ein Schwellenwert sind. Nach der Bestimmung, dass kein Stopp durchgeführt werden soll, können Ausführungsformen zum Block 112 zurückkehren und bestimmen, welche Captions für jede der simulierten Instanzen der Datenvisualisierungen passen. Einige Ausführungsformen können zum Block 108 zurückkehren und neue fiktive Daten erzeugen, um neue Instanzen zu simulieren, oder einige Ausführungsformen können den gleichen Satz von Instanzen von Datenvisualisierungen wieder aufbereiten bzw. recyceln oder ein Sampling aus einer Gruppe von Instanzen von Datenvisualisierungen zum Beispiel nach dem Zufallsprinzip vornehmen. In einigen Ausführungsformen können die Instanzen von Datenvisualisierungen, die in aufeinanderfolgenden Wiederholungen verarbeitet wurden, ausgewählt werden oder auf andere Weise auf der Basis von Einstellungen auf Kriterien erzeugt werden, zum Beispiel indem veranlasst wird, dass Datenvisualisierungsinstanzen, die die eingestellten Kriterien prüfen, präsentiert werden.
  • Alternativ dazu können Ausführungsformen nach dem Bestimmen, dass eine Stoppbedingung aufgetreten ist, das sich ergebende System für die Herstellung freigeben. In einigen Ausführungsformen kann dies das Beschaffen von nicht fiktiven Daten, wie dies durch den Block 126 angegeben ist, zum Beispiel von dem überwachten System 16 oben oder aus dem Datendepot 18 des überwachten Systems umfassen. In einigen Fällen werden die nicht fiktiven Daten in Echtzeit von verschiedenen Sensoren des überwachten Systems erhalten, zum Beispiel innerhalb von 50 ms, 500 ms, fünf Sekunden oder fünf Minuten der Erzeugung der Daten. Oder in einigen Ausführungsformen werden die nicht fiktiven Daten als Teil eines Batch-Prozesses erhalten, durch den ein Dashboard aktualisiert wird, zum Beispiel aber jede Minute, jede Stunde, jeden Tag, jede Woche oder mehr oder weniger oft.
  • Einige Ausführungsformen können eine Anforderung nach einem Dashboard, das die Datenvisualisierung enthält, wie dies durch Block 128 angegeben ist, zum Beispiel von einem Benutzercomputergerät empfangen, und einige Ausführungsformen können eine Instanz der Datenvisualisierung auf der Basis der nicht fiktiven Daten erzeugen, wie dies durch Block 130 angegeben ist. In einigen Ausführungsformen können die nicht fiktiven Daten in Reaktion auf die Anforderung im Block 128 erhalten werden, oder umgekehrt. In einigen Ausführungsformen kann die Anforderung im Block 128 in Reaktion auf ein Ereignis in den nicht fiktiven Daten 126 erzeugt werden. In einigen Fällen kann das Erzeugen der Instanz der Datenvisualisierung auf der Basis der nicht fiktiven Daten von der oben beschriebenen Dashboard-Anwendung 14 durchgeführt werden, wie etwa von der Dashboard-Präsentationsanwendung 32.
  • Einige Ausführungsformen können die eingestellten Kriterien auf die Instanz der Datenvisualisierung auf der Basis der nicht fiktiven Daten anwenden, um zu bestimmen, welche Captions passen, wie dies durch Block 132 angegeben ist. In einigen Fällen kann dieser Vorgang durch den oben beschriebenen Narrationsgenerator 12 durchgeführt werden, und in einigen Fällen kann dies das Bestimmen von Werten, die Variablen in einer Vorlagen-Caption zugewiesen sind, oder das Erzeugen einer Text-Caption in natürlicher Sprache mit einem trainierten Modell zur Erzeugung von Text in natürlicher Sprache umfassen. Einige Ausführungsformen können die eingestellten Kriterien an die Instanz anlegen, um zu bestimmen, welche Captions passen.
  • Einige Ausführungsformen können veranlassen, dass Captions, die als passend bestimmt worden sind, protokolliert werden oder einem Benutzer präsentiert werden, wie dies durch Block 134 angegeben wird. In einigen Fällen kann dies das Schreiben der Caption in das Protokoll 20 von 1 oder das Veranlassen, dass die Caption entweder in einem Audioformat oder in einem Textformat auf einem von den oben beschriebenen Benutzercomputergeräten 24 oder 26 präsentiert wird, umfassen. In einigen Fällen kann dies das Senden einer Push-Nachricht oder das Antworten auf eine Pull-Anforderung (Pull Request) umfassen.
  • NARRATIONSYSTEM FÜR INTERAKTIVE DASHBOARDS
  • Einige Ausführungsformen können einige der oben beschriebenen Probleme innerhalb des Kontextes eines interaktiven Dashboards angehen. Einige Ausführungsformen führen eine auf einer Auswahl basierende Erzeugung von Textnarrationen in natürlicher Sprache durch. Ein Benutzer kann zum Beispiel einen Satz von Werten in einem interaktiven Dashboard auswählen und eine Erzeugung eines Berichts im Aktualisierungsstil in Form von natürlicher Sprache für einen ausgewählten Satz von Werten anfordern. Einige Ausführungsformen führen eine auf einer Simulation basierende Erzeugung von Textnarrationen in natürlicher Sprache mit dem folgenden Prozess durch. Zuerst gibt der Benutzer einen Befehl für das Erzeugen einer Narration eines analytischen Dashboards für einen gewünschten Bereich von Analyseeinstellungen (Standard oder bewusst von Benutzern ausgewählt) aus. Zweitens starten die Ausführungsformen einen iterativen Prozess einer erschöpfenden Suche durch mögliche Kombinationen von Parametern des Dashboards in dem Bereich von benutzerdefinierten Werten. In einigen Ausführungsformen sucht das System durch den gesamten Raum von Werten, z.B. indem es Techniken anwendet, die durch Constraint-Satisfaction-(Bedingungserfüllungs)-Löser implementiert werden. In einigen Ausführungsformen folgt das System einem Satz einer vorab definierten Was-wäre-wenn-Szenarien-Analyse, um den Raum der Suche auf a priori definierte Analyseszenarien zu reduzieren. In einigen Ausführungsformen produziert das System für einen beschränkten Satz von Metriken Projektionen für zukünftige Zeitwerte unter Verwendung von trainierten prädiktiven Modellen von Daten, die Dashboards zugrunde liegen, unter Verwendung von Gradationen der Zeit, die in den Schaubildern präsentiert sind, z.B. wenn Schaubilder die Zeit in Quartalsschrittgrößen präsentieren, dann sollte die Voraussage für das nächste Quartal getroffen werden. Drittens simulieren einige Ausführungsformen für jede Konfiguration eine virtuelle Dashboard-Kombination von Parametern, und das System führt die oben beschriebenen Aktionen bzw. Handlungen durch und fügt eine erzeugte Narration zu einem Ausgabeprotokoll hinzu. Viertens verwenden einige Ausführungsformen ein Textzusammenfassungs-AI-System, um eine relativ kurze Zusammenfassung eines gesamten Protokolls der Dashboard-Analyse zu erzeugen. Fünftens trennen einige Ausführungsformen den Text in Narration, Alarme und Warnabschnitte. Sechstens erstellen einige Ausführungsformen die Ausgabe von Schritt 4 in einem von einem Menschen lesbaren Format und senden Text als die Antwort an den Benutzer zurück, der diesen in dem ersten Schritt angefordert hat. In einigen Ausführungsformen werden diese Techniken implementiert, um eine geführte Erkundung durch interaktive Dashboards bereitzustellen. So führen zum Beispiel einige Ausführungsbeispiele in dem vierten Schritt, dort zusammen mit oder anstelle von dem Erzeugen einer kurzen Zusammenfassung, den Benutzer durch Kombinationen von Werten von Interesse auf eine visuelle Art und Weise und stellen einen „geführten Durchgang“ für das interaktive Dashboard für die Kombination von Werten bereit, die Alarme oder Vorschläge erzeugt haben. Einige Ausführungsformen können zum Beispiel eine Sequenz von Datenvisualisierungsinstanzen, die wahrscheinlich für den Benutzer relevant sind, auf der Basis von Textbeschreibungen in natürlicher Sprache davon bestimmen und den Text, die Datenvisualisierungsinstanzen oder beide in dieser Sequenz präsentieren.
  • 3 ist ein Ablaufdiagramm, das ein weiteres Beispiel eines Prozesses 150 zeigt, durch den die oben beschriebenen Text-Captions in natürlicher Sprache in dem Kontext einer interaktiven Dashboard-Anwendung präsentiert werden können. Interaktive Dashboard-Anwendungen umfassen Eingaben in die Instanzen eines Dashboards, durch die Benutzer die Präsentation von Informationen verändern können. Beispiele umfassen Eingaben, durch die Benutzer Bereiche von Achsen einstellen können, einstellen können, welche Felder dargestellt werden, Mappings von Feldern auf visuelle Attribute von Datenvisualisierungen einstellen können, die Arten von gezeigten Schaubildern ändern können, Abfragen eingeben können, um zu spezifizieren, welche Daten dargestellt werden, und dergleichen.
  • In einigen Ausführungsformen umfasst der Prozess 150 das Veranlassen, dass eine Instanz eines interaktiven Dashboards von einer interaktiven Dashboard-Anwendung einem Benutzer präsentiert wird, wie dies durch Block 152 angegeben ist. In einigen Ausführungsformen kann dies das Empfangen einer Anforderung nach einer interaktiven Dashboard-Instanz von einem entfernten Benutzercomputergerät oder von einem Benutzercomputergerät, das den Prozess 150 ausführt, umfassen. Das Veranlassen, dass das interaktive Dashboard präsentiert wird, kann das Senden von Anweisungen umfassen, die dann, wenn sie in einem Webbrowser ausgeführt werden, veranlassen, dass die interaktive Dashboard-Anwendung in einer Webbrowser-Schnittstelle präsentiert wird, oder Anweisungen können an eine systemeigene Anwendung gesendet werden oder sie können zu einer API eines Fenstersystems eines Host-Computergeräts gesendet werden.
  • In einigen Ausführungsformen umfasst der Prozess 150 das Empfangen eines Befehls, der einer Benutzereingabe in die interaktive Dashboard-Anwendung entspricht, von einem Benutzer, wie dies durch Block 154 angegeben ist. In einigen Fällen kann der Befehl ein Ereignis in einer Benutzerschnittstelle sein, das indikativ für eine Benutzerauswahl eines Benutzerschnittstellen-Eingabeelements ist, wie etwa das Klicken auf eine Schaltfläche, das Auswählen einer Optionsschaltfläche, das Übermitteln von Text, das Übermitteln von Audiosignalen, das Eingeben einer Eingabebewegung bzw. Geste an einem Touchscreen oder dergleichen. In einigen Fällen kann der Befehl eine Anforderung sein, um mit dem interaktiven Dashboard in einer oder mehreren der oben beschriebenen Weisen zu interagieren. Oder in einigen Fällen kann der Befehl, der einer Benutzereingabe entspricht, ein simulierter Benutzer sein, der die oben genannten Techniken implementiert, um die Daten zu untersuchen, z.B. in einem geführten Durchgang, wobei Techniken wie etwa diejenigen, die in Constraint-Lösern verwendet werden, angewendet werden.
  • Einige Ausführungsformen können das Erzeugen, in Reaktion auf den Befehl, von Instanzen von Datenvisualisierungen, die zu visualisierende Daten darstellen, umfassen, wie dies durch Block 156 angegeben ist. In einigen Fällen kann dies das Einstellen, welche Art von Datenvisualisierungen präsentiert werden soll, das Einstellen von Mappings von Feldern auf Achsen oder andere visuelle Attribute von Datenvisualisierungen, das Einstellen, welche Daten dargestellt werden, oder dergleichen umfassen, wie dies in dem empfangenen Befehl spezifiziert ist.
  • Einige Ausführungsformen umfassen das Erzeugen, mit einem trainierten Captioning-Modell, von narrativen Captions, die als die erzeugten Instanzen von Datenvisualisierungen beschreibend bestimmt werden, wie dies durch Block 158 angegeben wird. In einigen Ausführungsformen kann dieser Vorgang von dem oben beschriebenen Narrationsgenerator 12 durchgeführt werden, zum Beispiel indem Kriterien angelegt werden, die indikativ dafür sind, welche Textbeschreibungen für die erzeugten Instanzen von Datenvisualisierungen vom Block 156 passen. In einigen Ausführungsformen kann die Erzeugung von narrativen Captions auf einem Kontext von einer Sitzung basieren, in der mehrere Interaktionen mit dem interaktiven Dashboard empfangen werden, Zum Beispiel kann eine Sequenz von Interaktionen angeben, dass ein Benutzer gerade eine bestimmte Domäne, wie dies unten beschrieben wird, eine bestimmte Korrelation oder ein bestimmtes Feld oder Phänomen untersucht bzw. erforscht, und einige Ausführungsformen können Relevanzbewertungsziffern von Captions einstellen, die auf der Basis dieses Kontextes als passend bestimmt worden sind, zum Beispiel das Aufwärtsgewichten von Captions, die mit solchen Elementen assoziiert sind. Wie angemerkt worden ist, können narrative Captions zu Gruppen zusammengestellt werden und unter verschiedenen Überschriften präsentiert werden, wie etwa Narration, Alarme und Warnabschnitte. In einigen Fällen kann der Designer diese Klassifikation auf die Textbeschreibungen anwenden, oder Ausführungsformen können diese Klassifikationen auf der Basis von semantischer Ähnlichkeit mit anderen bezeichneten Korpussen von Text in einem Trainings-Korpus folgern.
  • Einige Ausführungsformen umfassen das Veranlassen, dass eine oder mehrere narrative Captions vom Block 158 dem Benutzer präsentiert werden, wie dies durch Block 160 angegeben ist. In einigen Ausführungsformen kann eine Präsentation das Präsentieren von sowohl den erzeugten Instanzen von Block 156 als auch der narrativen Captions umfassen, oder in einigen Fällen können die narrativen Captions dem Benutzer präsentiert werden, ohne dass die Instanzen von Datenvisualisierungen von Block 156 bereitgestellt werden. In einigen Ausführungsformen können der Befehl und die Antwort von Block 160 in Form eines Textes in natürlicher Sprache vorliegen, zum Beispiel präsentiert in dem Kontext eines Chatbot, durch die ein Benutzer einen Datensatz in der Art einer Konversation untersuchen kann. Ein beispielhafter Benutzungsfall kann das Anfordern einer Zusammenfassung eines Dashboards für die Verkaufsaktivität in der östlichen Hälfte der Vereinigten Staaten von Amerika sein und dann das Anfordern einer Auflistung der Verkäufer mit der schlechtesten Leistung in „diesem Gebiet“ auf der Basis der Zusammenfassung sein. In einigen Fällen kann die nachfolgende Anforderung „in diesem Gebiet“ auf der Basis des Kontextes eindeutig machen, zum Beispiel kann ein Benutzer die „schlechtesten drei Verkäufer in dem Gebiet“ anfordern, und der Prozess 150 kann „dem Gebiet“ eindeutig machen, um das Gebiet zu meinen, das der östlichen Hälfte der Vereinigten Staaten von Amerika entspricht, wie dies in einer früheren Interaktion in der Sitzung spezifiziert worden ist.
  • INHALTSEXPOSITION UND STYLINGSTEUERUNG FÜR VISUALISIERUNGS-RENDERING UND NARRATION UNTER VERWENDUNG VON DATENDOMÄNEN-REGELN
  • In einigen Fällen können Daten, die durch eine Visualisierung präsentiert werden, Informationen enthalten, die als sensibel betrachtet werden und nicht exponiert bzw. freigelegt werden sollen. Die Computerressourcensicherheit beschränkt oftmals den Zugriff auf die gesamte Datenquelle unter Verwendung von Zugriffskontrollmechanismen, die zu grob für Teile des dadurch geschützten Inhalts sind. So kann zum Beispiel ein Arzt gemäß den Zugriffskontrollregeln Zugriff auf eine Krankenakte eines Patienten haben, aber wenn der Arzt Schaubilder oder Berichte einer Krankenakte erzeugt, die für den Gebrauch durch eine dritte Partei bestimmt sind, dann können die Zugriffskontrollregeln den Arzt nicht daran hindern, private Patientendaten preiszugeben.
  • Um diese Probleme zu lösen, erhalten einige Ausführungsformen die Identität des Benutzers, der eine Visualisierung oder einen anderen Bericht anfordert, und dann legen sie die Kontrollregel der Expositionsregeln an, die den Narrationsgenerator anleitet, Sätze der Geschichte entsprechend vorab definierten (oder dynamisch definierten) Expositionsregeln für den Inhalt von erzeugtem Text auf der Basis des anfordernden Benutzers für eine gegebene Domäne einer Datennarration zu rendern bzw. zu erstellen.
  • In einigen Ausführungsformen werden Visualisierungen oder Text gemäß Regeln erzeugt, die für eine Kategorie einer Autorisierung der Leserdaten (oder Stildaten) für jede Domäne und Unterdomäne der Geschichte definiert sind. Einige Ausführungsformen beziehen Aussagen, die mit dem anfordernden Benutzer und den Datendomänen der Visualisierung assoziiert sind. Einige Ausführungsformen produzieren eine Ausgabe (z.B. graphisch oder in Textform) auf der Basis von Regeln für Aussagen über einen Benutzer und eine Datendomäne der Visualisierung. Dieser Prozess kann das Styling für Datendomänen wie diejenigen, die unten aufgelistet sind, implementieren. Einige Ausführungsformen wenden ein solches Styling zu dem Zeitpunkt der Erzeugung von visuellen Repräsentationen an. In einigen Ausführungsformen kann die Technik für das Rendering eines rollen- bzw. funktionsbasierten Inhalts verwendet werden. In einigen Ausführungsformen wird ein Kundentext während des Renderings des Ausgabetexts erzeugt. In einigen Ausführungsformen erzeugt das Text-Rendering (oder andere Formen der Erzeugung) eine Narration auf der Basis von Aussagen über den anfordernden Benutzer, aber in der Nachverarbeitung werden Daten gemäß Inhaltsexpositionsregeln herausgefiltert.
  • Wenn es zum Beispiel der Person, die einen Bericht anfordert, gestattet ist, persönliche Daten eines Benutzers zu betrachten, erzeugen einige Ausführungsformen in Reaktion darauf einen Text oder graphische Darstellungen, die Daten der Person enthüllen: Identitätsdomäne (siehe unten) in den erzeugten Repräsentationen. In einem anderen Beispiel können dann, wenn sich die Person, die Informationen anfordert, in einer anderen Zeitzone als der Zeitzone befindet, in der die Daten ursprünglich gesammelt wurden, die Zeitzone und der Kalender in der Beschreibung der Geschichte oder erzeugte Visualisierungen auf den Standort des anfordernden Benutzers umgestellt werden.
  • 4 zeigt eine Ausführungsform eines Prozesses 170, durch den eine Domäne und ein benutzerspezifisches Styling auf Datenvisualisierungen in Dashboards angelegt werden können, und durch den eine Exposition von Informationen in diesen Instanzen von Datenvisualisierungen, die sich ergeben, gesteuert oder geregelt bzw. kontrolliert werden kann. In einigen Fällen kann es wünschenswert sein, zu kontrollieren bzw. zu steuern oder zu regeln, welche Benutzer welche narrativen Textbeschreibungen für eine gegebene Datenvisualisierung erhalten, um eine Zugriffskontrolle innerhalb einer Organisation für gewisse Arten von Informationen aufrecht zu erhalten. So kann zum Beispiel ein Dashboard, das sich auf Gehaltsausgaben bezieht, für einen Benutzer so zusammengefasst werden, dass angegeben wird, dass sich die Löhne quer durch die gesamte Firma auf 10% belaufen, während ein anderer Benutzer eine narrative Zusammenfassung erhalten kann, die angibt, dass sich die Löhne für drei spezifische Angestellte, die mit Namen identifiziert sind, auf 40% belaufen, und zwar in Abhängigkeit davon, ob den entsprechenden Benutzer der Zugriff auf die zugrundeliegenden Informationen erlaubt ist.
  • In einigen Ausführungsformen umfasst der Prozess 170 das Erhalten einer Kennung eines Benutzers, für den eine Präsentation bereitgestellt werden soll, die eine Textzusammenfassung in natürlicher Sprache von Daten umfasst, wie dies durch Block 172 angegeben ist. In einigen Ausführungsformen kann diese Kennung von einem Benutzer bereitgestellt werden, wenn sich dieser in eine Anwendung einloggt, durch die auf die narrativen Textzusammenfassungen zugegriffen wird, zum Beispiel auf dem Computergerät des Benutzers. In einigen Ausführungsformen kann die Kennung in Verbindung mit einem Zugriffsberechtigungsnachweis bzw. mit Zugangsdaten, wie etwa ein Passwort oder ein kryptographischer Hash, bereitgestellt werden, durch die die Identität des Benutzers authentifiziert und autorisiert werden kann, um auf verschiedene Arten von Informationen zuzugreifen, die bestimmt werden können.
  • Einige Ausführungsformen umfassen das Auswählen einer Domäne aus einer Vielzahl von Domänen auf der Basis der Kennung des Benutzers oder auf der Basis einer Eingabe von dem Benutzer, wie dies durch Block 154 angegeben ist. Zum Beispiel kann eine Benutzerkennung mit dem Benutzerprofil assoziiert sein, das eine Berufsbezeichnung oder eine andere Angabe einer Rolle bzw. Funktion innerhalb einer Firma einschließt, und diese Rolle bzw. Funktion kann auf eine bestimmte Domäne gemappt werden, die im Block 174 ausgewählt wird, oder ein Benutzer kann ausdrücklich eine bestimmte Domäne von Datenvisualisierungen über eine Benutzereingabe in eine interaktive Dashboard-Anwendung anfordern. In einigen Ausführungsformen können die Informationen, die ausgehend von interaktiven oder anderen Dashboard-Anwendungen präsentiert werden, in irgendeine andere Anwendung, wie etwa eine Webseite oder ein anderes Dokument, das Informationen von anderen Quellen enthält, eingebettet sein.
  • Die Domänen können jede von einer Vielfalt von verschiedenen Domänen sein, durch die Informationen präsentiert werden können, wobei Beispiele dafür die Folgenden einschließen. Im Allgemeinen ist die Domäne eine Kategorie, die einen Kontext beschreibt, in dem sich ein Handlungsablauf der visualisierten Geschichte entwickelt. Benutzer können gewisse Kenntnisse über die Domäne der Geschichte haben. Wenn ein Benutzer nicht mit der Domäne vertraut ist, dann kann der Benutzer nicht in der Lage sein, sich auf die Geschichte zu beziehen.
    Zeit die Geschichte entwickelt sich im Laufe der Zeit
    a. Vorausschauende Domäne die Geschichte entwickelt sich in der Zukunft
    i. von jetzt an
    b. Zurückblickende Domäne heit die Geschichte entwickelte sich in der Vergangen-
    i. bis jetzt
    c. Dieser Augenblick genblick die Geschichte ereignet sich in exakt diesem Au-
    Unterteilungen der Zeitdomäne
    d. Kalender
    e. Zeiteinheiten
    Raum die Geschichte entwickelt sich im Raum
    a. Geographie Bereiche einer Karte
    i. Politisch
    ii. Topologisch
    b. Schematisch Bereiche eines Plans oder einer Blaupause
    Akteurdomäne
    a. Identität persönliche Daten eines Individuums
    b. Demographie generalisierte Bevölkerungsdaten
    c. Organisation Daten über eine Firma
    d. Politisch Daten über eine politisch-wirtschaftliche Entität
    Metrikdomäne
    a. Numerisch Domäne von Metriken, ausgedrückt als unendliche numerische Werte
    b. Kategorisch Domäne einer Metrik als eine endliche Menge von Bezeichnungen oder Nummern bzw. Zahlen
    Häufigkeitsdomäne Domäne der wiederholten Auftritte von Phänomenen
    Zusammensetzungsdomäne Domäne von Teilen, aus denen das Ganze besteht
    Domäne der materiellen Werte Domäne von materiellen Werten (Geld, Besitz, etc.)
    Domäne der immateriellen Werte Domäne von immateriellen Werten (Sicherheit, Privatsphäre, etc.)
    Abstraktionsdomäne Domäne der abstrakten Ideen, die umfassend angelegt werden können
    a. Generalisierung
    b. Kategorisierung
    c. Konzeptualisierung
    Begrenzungsdomäne
    a. Intern Daten sind über Phänomene im Innern eines Systems, einer Firma, eines Landes
    b. Extern wie oben, aber über Phänomene außerhalb
    Handlungsdomäne Domäne von lebendigen Akteuren oder Gruppen (Person, Staat, etc.)
    a. Privat private Handling ist nicht sichtbar außerhalb von Akteuren der
    b. Öffentlichkeit
    c. Entscheidung
    d. Zuständigkeit
    e. Vorschlag
    f. Interesse
    g. Reversibel eine Handlung, die nicht rückgängig gemacht werden kann
    h. Irreversibel eine Handlung, die rückgängig gemacht werden kann
    Vertrauens-/Gültigkeitsdomäne
    a. Zeuge Autorität und Authentizität kommen von einer Person
    b. Beweis Autorität und Authentizität kommen von Daten
    Ursprungsdomäne
    a. Beobachtung
    b. Simulation
    c. Spekulation
    d. Voraussage
  • In einigen Ausführungsformen kann jede dieser Domänen einer bestimmten Dashboard-Design-Spezifikations-Aufzeichnung wie etwa denjenigen, die oben beschrieben worden sind, oder einer bestimmten Konfiguration einer solchen Aufzeichnung entsprechen.
  • In einigen Ausführungsformen kann der Prozess 170 das Auswählen eines Satzes von Feldern aus einer Vielzahl von Feldern der Daten des Systems, das überwacht wird, auf der Basis der Domäne umfassen, wie dies durch den Block 176 angegeben wird. In einigen Fällen sind die Felder vorhandene Felder innerhalb der Daten, die von dem System, das überwacht wird, ausgesendet werden, oder in einigen Fällen basieren die Felder auf Transformationen der Daten, wie ein gleitender Mittelwert.
  • Einige Ausführungsformen können einen Satz von Expositionskontrollregeln auf der Basis des Satzes von Feldern von Daten bestimmen, wie dies durch Block 178 angegeben ist. In einigen Ausführungsformen können diese Vorgänge durch das oben beschriebene Expositionskontrollmodul 62 von 1 durch einen Vorgang basierend auf den Expositionskontrollregeln in dem Repositorium 64 durchgeführt werden. In einigen Ausführungsformen können die Expositionskontrollregeln für jede Berufsbezeichnung oder jeden anderen Indikator einer Rolle bzw. Funktion innerhalb einer Organisation spezifiziert sein, wie sie auf den Benutzer über das Profil des Benutzers gemappt werden, das mit der Benutzerkennung assoziiert ist, die im Block 172 erhalten wird, oder einige Ausführungsformen können explizit die Expositionskontrollregeln direkt auf die Benutzerkennung in dem Speicher mappen. In einigen Ausführungsformen können die Expositionskontrollregeln Felder von Daten angeben, auf die der Benutzer zugreifen darf, auf die der Benutzer nicht zugreifen darf, oder Bedingungen, unter denen dem Benutzer der Zugriff gestattet oder verboten ist. In einigen Ausführungsformen können die Expositionskontrollregeln für den Benutzer oder die Felder von Daten indiziert sein. Einige Expositionsregeln können zum Beispiel stattdessen auf ein vorgegebenes Feld von Daten gemappt werden und Kriterien anzeigen, durch die bestimmt wird, dass Benutzern der Zugriff auf das Feld gestattet oder verboten ist.
  • Einige Ausführungsformen umfassen das Ermitteln einer anwendbaren Untermenge der Expositionskontrollregeln durch das Vergleichen von Kriterien des Satzes von Expositionskontrollregeln mit Benutzerattributen, die mit der Kennung assoziiert sind, wie dies durch Block 180 angegeben ist. In einigen Ausführungsformen kann dies das Bestimmen umfassen, ob der Benutzer auf einer Verbotsliste oder einer Erlaubnisliste steht oder ob die Berufsbezeichnung des Benutzers oder ein anderer Indikator einer Rolle bzw. Funktion in der Organisation auf einer Erlaubnisliste oder einer Verbotsliste steht. In einigen Ausführungsformen kann dieser Vorgang durchgeführt werden, indem bestimmt wird, ob die Felder, die den Expositionskontrollregeln entsprechen, auf einer Erlaubnisliste oder einer Verbotsliste für den Benutzer stehen, der mit der Kennung oder mit einem anderen Indikator einer Rolle bzw. Funktion in der Organisation assoziiert ist.
  • Einige Ausführungsformen umfassen das Erzeugen, mit dem trainierten Captioning-Modell, wie dasjenige, das oben beschrieben worden ist, der Textzusammenfassung in natürlicher Sprache in der Domäne der Daten gemäß den Expositionsgenehmigungen der Untermenge der Expositionskontrollregeln, wie dies durch Block 182 angegeben ist. In einigen Ausführungsformen kann dieser Vorgang das Bestimmen umfassen, ob jeder von einer Vielzahl von Kandidaten-Textbeschreibungen in natürlicher Sprache für den Benutzer freigelegt bzw. exponiert werden darf, der mit der Kennung assoziiert ist. Einige Ausführungsformen können durch ein Ranking von Expositionskontrollregeln gemäß der Relevanz abwärts wiederholt werden, bis eine Expositionskontrollregel oder eine Schwellenwertzahl von Expositionskontrollregeln, die Textbeschreibungen in natürlicher Sprache entsprechen, ausgewählt werden.
  • Oder einige Ausführungsformen können eine Expositionskontrolle über die Kriterien der Kandidaten-Textbeschreibungen in natürlicher Sprache verwalten. Einige Ausführungsformen umfassen in den Kriterien, die mit Textbeschreibungen in natürlicher Sprache assoziiert sind, Werte, die mit Kriterien der Expositionskontrollregeln in der Untermenge verglichen werden, zum Beispiel Bewertungsziffern von 0 bis 5, die einen Grad eines Sicherheitsspielraums oder eines privilegierten Zugriffs in einer entsprechenden Textbeschreibung in natürlicher Sprache angeben. Einige Ausführungsformen können die gleichen Konzepte mit verschiedenen Graden an Generalität oder Spezifität während der Designphase mit unterschiedlichen Werten ausdrücken, die unterschiedliche Grade des Zugriffs angeben, die für diese Textbeschreibung in natürlicher Sprache benötigt werden. In einigen Ausführungsformen können die Expositionskontrollregeln auf die Kennung gemappt werden, um einen Satz von Merkmalen zu erzeugen, der in ein Model zur Erzeugung von Text in natürlicher Sprache, wie etwa dasjenige, das oben beschrieben worden ist, eingegeben wird, und das Modell zur Erzeugung von Text in natürlicher Sprache kann eine Textbeschreibung in natürlicher Sprache gemäß den Expositionskontrollregeln erzeugen. Zum Beispiel kann das Mapping eine Bewertungsziffer hervorbringen, die wie oben beschrieben von 0 bis 5 geht und einen Grad eines privilegierten Zugriffs angibt, der als ein Merkmal in das Modell zur Erzeugung eines Textes in natürlicher Sprache eingegeben wird.
  • Einige Ausführungsformen können veranlassen, dass die erzeugte Textzusammenfassung in natürlicher Sprache dem Benutzer präsentiert wird, wie dies durch Block 24 angegeben ist, und zwar zum Beispiel in irgendeiner der oben beschriebenen Weise.
  • VISUALISIERUNGS-DASHBOARD-NARRATION, DIE EINE TEXTZUSAMMENFASSUNG VERWENDET
  • Die Visualisierung ist ein kraftvoller Mechanismus für die Datenanalyse, aber die Relevanz bezüglich des Sehvermögens und die Beschränkung der Auflösung, der Größe oder der Farbskala der Visualisierungseinrichtungen begrenzt oftmals die Verwendbarkeit der Visualisierung. Des Weiteren geht die Stärke der Visualisierung bei sehbehinderten Personen oftmals verloren, und viele Benutzer sind des Weiteren durch die Fähigkeiten einer Anzeige, wie etwa Auflösung, Größe und Farbskala, Latenz, Jitter, Änderungstempo von Daten, etc. beeinträchtigt.
  • Einige Ausführungsformen bieten einen Mechanismus für das Rendering einer Visualisierung durch das Entwickeln einer Textnarration, die visualisierte Daten in einem kohäsiven Dokument beschreibt, das eine Geschichte erfasst, die durch die Daten erzählt werden soll, mit einer weiteren Transformation in verbale Mittel und akustische Mittel des Kommunizierens der Visualisierungen. Einige Ausführungsformen wenden Methoden des Zusammenfassens von Text für das Erfassen der Semantik von Schaubildern an, die in den Dashboards präsentiert werden, mit einer weiteren Alarmerzeugung in dem Fall, dass sich die Textzusammenfassung der präsentierten Daten ändert, um eine Zusammenfassung zu reflektieren, die eines Alarms wert ist.
  • Einige Ausführungsformen können als ein Dashboard-Visualisierungssystem implementierend konzeptionalisiert werden, das auf einem virtuellen Bildschirm einer Größe „gerendert“ wird (z.B. ausschließlich in einem Speicher), die für das Rendering von mehreren Schaubildern von Datenrepräsentationen zur gleichen Zeit geeignet ist. Der virtuelle Bildschirm kann ein zweidimensionaler (dreidimensional für 3D-Visualisierungen) Speicherraum sein, in dem die Schaubilder durch die Rendering-Komponente gerendert werden. In einigen Ausführungsformen repräsentiert der virtuelle Bildschirm einen künstlichen Bildschirm, der größer als die detailreichste Visualisierung ist, die alle Daten erfasst, die für die zu visualisierende Analyse relevant sind. Eine Narrationsgenerationskomponente, wie etwa diejenige, die oben beschrieben worden ist, kann eine Künstliche-Intelligenz-Komponente sein, die trainiert wird, um eine Textnarration über die Schaubilder zu erstellen, die auf dem virtuellen Bildschirm skizziert sind. In einigen Ausführungsformen imitiert die Textnarration einen Gedankenprozess eines menschlichen Experten, der die visualisierten Daten analysiert.
  • Ein Beispiel eines sich ergebenden Narrationstextes kann das Folgende beinhalten: Ein Punktdiagramm mit der Zeit entlang der horizontalen Achse und einem Durchschnittswert, das Sommertemperaturen über die vertikale Achse entlang beobachtet hat. Das Diagramm erfasst 12345 Datenpunkte ausgehend von dem Jahr 2000 mit einer Auflösung. Das System versuchte eine lineare Regression über die diagrammartig dargestellten Daten. Das Regressionsmodell zeigt einen Trend für das jährliche Wachstum einer durchschnittlichen Temperatur. Das Regressionsmodell zeigt auch eine erhöhte Zufälligkeit in der Temperaturablesung im Laufe der Zeit.
  • In einigen Ausführungsformen kann die Textnarration für jedes einzelne der Schaubilder geschaffen werden, das auf den virtuellen Bildschirm projiziert wird, und zwar in einer solchen Art und Weise, dass eine Visualisierungsbeschreibungs-Textdatei erzeugt wird. In einigen Ausführungsformen kann die Visualisierungsbeschreibungsdatei zusammengefasst werden und einem Benutzer erzählt werden, wie wenn der Benutzer ein Bildschirmlesesystem verwenden würde, wie etwa diejenigen, die von den Personen mit Sehbehinderung benutzt werden. Die Visualisierungsbeschreibung kann ausgelesen werden wie sie ist oder in einer Form einer Zusammenfassung, die die Bedeutung der Visualisierung kurz erfasst. In einigen Ausführungsformen kann das sich ergebende Zusammenfassen auch vom Gesichtspunkt gewisser Alarmgebungsbedingungen aus bewertet werden. Wenn das Zusammenfassen eine Zusammenfassung entwickelt, die das Vorhandensein der Alarmgebungsbedingung erfasst, kann ein Alarm erzeugt werden.
  • In einigen Ausführungsformen kann ein Benutzer mit dem System unter Verwendung verbaler Befehle interagieren. Die verbalen Befehle leiten eine Datenanalyse an, die in einer Datennarration reflektiert werden kann. Das Bildschirmlesesystem kann eine Steuerschleife für die Textgeneration erschaffen, was es einem Benutzer erlaubt, eine Konversation mit dem Datenanalysesystem zu führen.
  • 5 ist ein Ablaufdiagramm, das ein Beispiel eines Prozesses 200 zeigt, durch den Ansammlungen von Textzusammenfassungen in natürlicher Sprache von Datenvisualisierungen mit einem Modell für das Zusammenfassen von Text in natürlicher Sprache für eine Präsentation gegenüber Benutzern zusammengefasst werden können. In einigen Ausführungsformen umfasst der Prozess das Erzeugen einer Instanz einer Datenvisualisierung, die zumindest einige der zu visualisierenden Daten darstellt, wie dies durch Block 202 angegeben ist. In einigen Ausführungsformen kann dieser Vorgang durch die oben beschriebene Dashboard-Präsentationsanwendung 32 von 1 durchgeführt werden. In einigen Fällen kann die Instanz der Datenvisualisierung in Reaktion auf einer Benutzereingabe, die eine bestimmte Datenvisualisierung spezifiziert, oder in einer der oben beschriebenen Domänen von 4 erzeugt werden. In einigen Fällen kann die Datenvisualisierung eine Vielzahl von Einstellungen haben, wobei Beispiele dafür die oben beschriebenen visuellen Attribute und Arten von Datenvisualisierungen umfassen, zusammen mit Bereichen von Daten und Mappings von Feldern auf visuelle Attribute. In einigen Ausführungsformen kann ein anfänglicher Satz von Einstellungen ausgewählt werden, zum Beispiel auf der Basis einer Spezifikation der Datenvisualisierung oder des Dashboards.
  • Einige Ausführungsformen umfassen das Erzeugen, mit dem trainierten Captioning-Modell, von Zwischen-Textzusammenfassungen in natürlicher Sprache der Instanzen von Datenvisualisierungen, wie dies durch Block 204 angegeben ist. In einigen Fällen kann das Erzeugen durch den oben beschriebenen Narrationsgenerator 12 in Übereinstimmung mit den oben beschriebenen Techniken durchgeführt werden. In einigen Fällen werden die Zwischen-Textzusammenfassungen in natürlicher Sprache den Benutzern nicht präsentiert und sie werden stattdessen als ein Vorläufer für Zusammenfassvorgänge verwendet, wie diese unten beschrieben werden.
  • Einige Ausführungsformen können bestimmen, ob die Einstellungen der Datenvisualisierung angepasst bzw. eingestellt werden sollen, wie dies durch die Blöcke 203 und 205 angegeben ist. Einige Ausführungsformen können systematisch die Einstellungen durch einen Konfigurationsraum hindurch variieren, zum Beispiel indem sie jede Permutation von jeder Einstellung entlang einem Bereich in einem Konfigurationsraum einstellen bzw. anpassen. Beispiele umfassen das Variieren der Art, von Feld-Mappings, von visuellen Attributen und dergleichen zusammen mit jedem von einer Vielzahl von Werten entlang jeder von einer Vielzahl von Dimensionen für jede der Einstellungen. Einige Ausführungsformen können die Einstellungen zum Beispiel in einer Matrix variieren, in der Spalten individuellen Einstellungen entsprechen und Zeilen Werten dieser individuellen Einstellungen entsprechen, die unterschiedliche Werte haben. Einige Ausführungsformen können zum Block 202 zurückkehren, wobei die Einstellungen um ein Inkrement modifiziert sind.
  • Nach dem Bestimmen, dass das Anpassen bzw. Einstellen der Einstellung fortgesetzt werden soll, können einige Ausführungsformen die Einstellungen zum Beispiel durch das systematische Inkrementieren der Einstellungen auf eine nachfolgende Permutation in dem Konfigurationsraum einstellen, zum Beispiel wie spezifiziert durch ein Sampling-Schema, das von einem Dashboard-Designer spezifiziert ist. In einigen Ausführungsformen kann das Sampling-Schema in der Dashboard-Design-Aufzeichnung spezifiziert sein, zum Beispiel indem eine Gruppe von Dashboards innerhalb des Konfigurationsraums mit den Einstellungen und Bereichen davon spezifiziert ist. Einige Ausführungsformen können dann zum Block 202 zurückkehren, um mit dem Erzeugen von Instanzen von Datenvisualisierungen und Zwischen-Textzusammenfassungen in natürlicher Sprache im Block 204 fortzufahren.
  • Alternativ dazu können beim Bestimmen, dass die systematische Variation von Einstellungen vollendet ist und der Konfigurationsraum von Dashboards, der in dem Sampling-Schema spezifiziert ist, vollständig durchforscht worden ist, einige Ausführungsformen zum Block 206 weitergehen und mit einem Modell für das Zusammenfassen von Text in natürlicher Sprache die Zwischen-Textzusammenfassungen in natürlicher Sprache zusammenfassen, um eine Textbeschreibung in natürlicher Sprache der Daten zu bilden. In einigen Ausführungsformen kann diese Vorgangsstation von dem Narrations-Synthesizer 54 für Text in natürlicher Sprache von 1 durchgeführt werden. In einigen Ausführungsformen kann das Zusammenfassen ein abstrahierendes Zusammenfassen sein, das mit einem Modell für das abstrahierende Zusammenfassen von Text in natürlicher Sprache, wie etwa diejenigen, die oben beschrieben worden sind, gebildet wird, oder in einigen Ausführungsformen kann das Zusammenfassen ein extrahierendes Zusammenfassen sein, das zum Beispiel diejenigen Textzusammenfassungen in natürlicher Sprache unter den Zwischen-Textzusammenfassungen in natürlicher Sprache extrahiert, bei denen bestimmt wird, dass sie am relevantesten oder am besten beschreibend für den Korpus von Zwischen-Textzusammenfassungen in natürlicher Sprache sind, die im Block 204 für die verschiedenen Instanzen mit den verschiedenen Einstellungen erzeugt wurden.
  • In einigen Ausführungsformen kann das Ergebnis eine Textbeschreibung in natürlicher Sprache eines Datensatzes sein, die das relevanteste Phänomen beschreibt, das in dem Datensatz auftritt und das durch das Durchforschen einer relativ großen Anzahl von unterschiedlichen Ansichten der Daten entdeckt worden ist. In einigen Ausführungsformen können Zwischen-Textzusammenfassungen in natürlicher Sprache für mehr Instanzen von Datenvisualisierungen erzeugt werden, als ein Mensch dies vernünftig kognitiv verarbeiten könnte, zum Beispiel mehr als 100, mehr als 1000 oder mehr als 10.000, zum Beispiel innerhalb einer Minute oder von 10 Minuten, und einige Fälle innerhalb von weniger als einer Sekunde nach Initiierung des Prozesses 200.
  • Einige Ausführungsformen können die Textbeschreibung in natürlicher Sprache der Daten in einem Speicher speichern, wie dies durch den Block 208 angegeben ist, und weil die Textbeschreibung in natürlicher Sprache der Daten einem Benutzer präsentiert werden soll, wie dies durch Block 210 angegeben ist. In einigen Fällen kann die Präsentation die Form von irgendeiner der unterschiedlichen Formen der Präsentation annehmen, wie diese oben beschrieben worden sind.
  • Zwischen-Textzusammenfassungen in natürlicher Sprache können von der Form sein, wie sie oben beschrieben worden ist und durch die ein Phänomen, das in Instanzen von Datenvisualisierungen dargestellt ist, mit Text-Captions in natürlicher Sprache beschrieben wird. In einigen Fällen können einige dieser Captions relevanter als andere sein, und einige der Captions können sich auf dasselbe Phänomen beziehen, das in verschiedenen Facetten präsentiert wird. In einigen Ausführungsformen kann das Zusammenfassen diese unterschiedlichen Beschreibungen desselben Phänomens in der Zusammenfassung zusammenfassen oder auf andere Weise komprimieren. Einige Ausführungsformen können die Zwischen-Textbeschreibungen in natürlicher Sprache zusammenfassen oder auf andere Weise zu einem Cluster zusammenfügen, zum Beispiel durch ein Clustering innerhalb eines Merkmalraums, der mit Latent Semantic Analysis spezifiziert ist, oder durch ein Clustering durch ein Thema gemäß der Latent Dirichlet Allocation. Einige Ausführungsformen können jedes sich ergebende Cluster zusammenfassen, zum Beispiel indem sie eine Textzusammenfassung in natürlicher Sprache von jedem Thema oder jedem Cluster bereitstellen. Einige Ausführungsformen können die Zwischen-Textbeschreibungen in natürlicher Sprache nach deren Cluster gruppieren und dann die verschiedenen Gruppen in ein Model zum Zusammenfassen von Text in natürlicher Sprache eingeben, um die Zusammenfassungen von jeder der Gruppen zu erstellen. In einigen Ausführungsformen können die Zusammenfassungen mit Benutzereingaben, wie etwa Links, präsentiert werden, durch die ein Benutzer durch einen zugrundeliegenden Satz von Daten navigieren kann, durch die ein Benutzer zum Beispiel eine Zusammenfassung auswählen kann, um die Zwischen-Textzusammenfassungen in natürlicher Sprache zu betrachten, auf denen diese Zusammenfassung basiert, oder um die Instanzen von Datenvisualisierungen zu betrachten, auf denen diese Zwischen-Textzusammenfassungen in natürlicher Sprache basieren. Somit können Benutzer einen Datensatz durch relativ kurze Erklärungen dessen, was gerade in diesem Datensatz passiert, mit einer relativ geringen kognitiven Belastung untersuchen; in einigen Fällen können sie Einblicke aus mehr Instanzen von Datenvisualisierungen gewinnen als ein Benutzer diese als Mensch kognitiv verarbeiten kann.
  • 6 zeigt ein Beispiel einer Instanz einer Datenvisualisierung, die einige der oben beschriebenen Konzepte veranschaulicht. Es sollte betont werden, dass dies nur ein Beispiel ist und dass Ausführungsformen im Wesentlichen einer größeren Vielfalt an Arten von Datenvisualisierungen entsprechen und erwartungsgemäß diese auch einschließen, von denen Beispiele oben beschrieben worden sind und von denen keines andeuten soll, dass jegliche andere Beschreibung einschränkend ist. In dem veranschaulichten Beispiel einer Datenvisualisierungsinstanz 250 umfasst die Instanz ein Meßinstrumentschaubild, das den Fortschritt in Richtung auf ein Schwellenwertziel 252 anzeigt. Der Fortschritt ist durch einen Balken oder Strich 254 angezeigt, dessen Winkelposition in dem Schaubild den Fortschritt in Richtung auf das Ziel 252 angibt. Der visuelle Indikator 254 bewegt sich zwischen einem angezeigten Mindest-Bereich 256 und einem maximalen angezeigten Bereich bei 568, wobei die Spanne davon ein Ausmaß in diesem speziellen Feld der Datenvisualisierungsinstanz 250 spezifiziert. In einigen Benutzungsfällen kann ein Designer zum Beispiel dann, wenn er diese Datenvisualisierung gestaltet, auf der die Instanz 250 basiert, eine Textbeschreibung in natürlicher Sprache spezifizieren, die angibt, dass das Ziel noch nicht erreicht ist, und diesen Text mit einer Regel verknüpfen, die spezifiziert, dass der Balken oder Strich 254 einen kleineren Wert als das Ziel 252 anzeigen muss. Eine andere Textbeschreibung in natürlicher Sprache, die mit der Datenvisualisierung während der Designphase verknüpft werden kann, kann angeben, dass das Ziel überschritten worden ist, und dieser Text kann mit einer Regel verknüpft werden, die Kriterien hat, die spezifizieren, das sich der Balken oder Strich 254 auf der rechten Seite von dem Ziel 252 befindet, oder dass das zugrundeliegende Feld einen Wert hat, der größer als der Wert ist, der dem Ziel 252 entspricht.
  • Die vorliegende Patentanmeldung ist eine von einer Gruppe von vier Patentanmeldungen, die am selben Tag von demselben Anmelder eingereicht wurden und die dieselbe Offenbarung gemeinsam haben, wobei die Mitglieder der Gruppe die folgenden Titel haben: GENERATING NATURAL-LANGUAGE TEXT DESCRIPTIONS OF DATA VISUALIZA-TIONS (Erzeugen von Textbeschreibungen in natürlicher Sprache von Datenvisualisierungen); NARRATION SYSTEM FOR INTERACTIVE DASHBOARDS (Narrationssystem für interaktive Dashboards); CONTENT EXPOSURE AND STYLING CONTROL FOR VISUALIZATION RENDERING AND NARRATION USING DATA DOMAIN RULES (Inhaltsexposition und Stylingsteuerung für Visualisierungs-Rendering und Narration, die Datendomänenregeln verwenden); VISUALIZATION-DASHBOARD NARRATION USING TEXT SUMMARI-ZATION (Visualisierungs-Dashboard-Narration, die eine Textzusammenfassung verwendet). Der gesamte Inhalt von jeder dieser Patentanmeldungen neben der vorliegenden Patentanmeldung ist hiermit durch Bezugnahme darauf in die vorliegende Patenanmeldung aufgenommen und bildet einen Teil davon.
  • 7 ist ein Diagramm, das ein beispielhaftes Computergerät 1000 in Übereinstimmung mit Ausführungsformen der vorliegenden Technik veranschaulicht. Verschiedene Teile der hier beschriebenen Systeme und Verfahren können ein oder mehrere Computersysteme einschließen oder in einem oder mehreren Computersystemen ausgeführt werden, die dem Computersystem 1000 ähnlich sind. Des Weiteren können hier beschriebene Prozesse und Module durch ein oder mehrere Verarbeitungssysteme ausgeführt werden, die denen des Computersystems 1000 ähnlich sind.
  • Das Computersystem 1000 kann einen oder mehrere Prozessoren aufweisen (z.B. Prozessoren 1010a-1010n), die mit einem Systemspeicher 1020, einer Eingabe-/Ausgabe-E/A-Geräteschnittstelle 1030 und einer Netzwerkschnittstelle 1040 über eine Eingabe-/Ausgabe-E/A-Schnittstelle 1050 gekoppelt sind. Ein Prozessor kann einen einzelnen Prozessor oder eine Vielzahl von Prozessoren (z.B. verteilte Prozessoren) einschließen. Ein Prozessor kann jeder geeignete Prozessor sein, der in der Lage ist, Anweisungen auszuführen oder auf andere Weise durchzuführen. Ein Prozessor kann eine Zentraleinheit (CPU; Central Processing Unit) einschließen, die Programmanweisungen ausführt, um die arithmetischen, logischen Vorgänge und Eingabe-/Ausgabevorgänge des Computersystems 1000 durchzuführen. Ein Prozessor kann einen Code (z.B. Prozessor-Firmware, einen Protokoll-Stack, ein Datenbankverwaltungssystem, ein Betriebssystem oder eine Kombination davon) ausführen, der eine Ausführungsumgebung für Programmanweisungen erschafft. Ein Prozessor kann einen programmierbaren Prozessor einschließen. Ein Prozessor kann Universal- oder Spezial-Mikroprozessoren einschließen. Ein Prozessor kann Anweisungen und Daten von einem Speicher (z.B. Systemspeicher 1020) empfangen. Das Computersystem 1000 kann ein Ein-Prozessor-System sein, das einen einzigen Prozessor (z.B. den Prozessor 1010a) aufweist, oder ein Mehr-Prozessor-System sein, das jegliche Anzahl von geeigneten Prozessoren (z.B. 1010a-1000n) aufweist. Mehrere Prozessoren können verwendet werden, um eine parallele oder sequentielle Ausführung von einem Teil oder von mehreren Teilen der hier beschriebenen Techniken vorzusehen. Prozesse, wie etwa logische Flüsse, die hier beschrieben sind, können von einem oder mehreren programmierbaren Prozessoren durchgeführt werden, die ein oder mehrere Computerprogramme ausführen, um Funktionen durchzuführen, indem sie mit eingegebenen Daten arbeiten und eine entsprechende Ausgabe erzeugen. Prozesse, die hier beschrieben sind, können durch logische Spezialzweckschaltungen durchgeführt werden und eine Vorrichtung kann auch als eine logische Spezialzweckschaltung implementiert werden, z.B. ein FPGA (Field Programmable Gate Array; ein vom Anwender programmierbares Gate-Array) oder ein ASIC (Application Specific Integrated Circuit; anwendungsspezifischer integrierter Schaltkreis). Das Computersystem 1000 kann eine Vielzahl von Computereinrichtungen bzw. Computergeräten aufweisen (z.B. verteilte Computersysteme), um verschiedene Verarbeitungsfunktionen zu implementieren.
  • Die E/A-Geräteschnittstelle bzw. -Einrichtungsschnittstelle 1030 kann eine Schnittstelle für die Verbindung von einer oder mehreren E/A-Einrichtungen bzw. -Geräten 1060 mit dem Computersystem 1000 bereitstellen. E/A-Einrichtungen bzw. -Geräte können Einrichtungen bzw. Geräte einschließen, die eine Eingabe (z.B. von einem Benutzer) empfangen oder Informationen (z.B. an einen Benutzer) ausgeben. E/A-Einrichtungen bzw. -Geräte 1060 können zum Beispiel eine graphische Benutzerschnittstelle, die auf Anzeigen präsentiert wird (z.B. einen CRT-(Cathode Ray Tube; Kathodenstrahlröhren)-Monitor oder einen LCD-(Liquid Crystal Display; Flüssigkristallanzeige)-Monitor), Zeigegeräte (z.B. eine Computermaus oder ein Trackball bzw. eine Rollkugel), Tastaturen, Blocktastaturen bzw. Keypads, Touchpads, Scannergeräte, Spracherkennungseinrichtungen, Eingabebewegungs- bzw. Gestenerkennungseinrichtungen, Drucker, Audiolautsprecher, Mikrophone, Kameras oder dergleichen einschließen. E/A-Einrichtungen bzw. -Geräte 1060 können mit dem Computersystem 1000 durch eine verdrahtete oder drahtlose Verbindung verbunden sein. E/A-Einrichtungen bzw. -Geräte 1060 können mit dem Computersystem 1000 ausgehend von einem entfernten Standort verbunden sein. E/A-Einrichtungen bzw. -Geräte 1060, die sich zum Beispiel in einem entfernten Computersystem befinden, können mit dem Computersystem 1000 über ein Netzwerk und eine Netzwerkschnittstelle 1040 verbunden sein.
  • Die Netzwerkschnittstelle 1040 kann einen Netzwerkadapter aufweisen, der für eine Verbindung des Computersystems 1000 mit einem Netzwerk sorgt. Die Netzwerkschnittstelle 1040 kann einen Datenaustausch zwischen dem Computersystem 1000 und anderen Einrichtungen bzw. Geräten, die mit dem Netzwerk verbunden sind, ermöglichen. Die Netzwerkschnittstelle 1040 kann eine drahtgebundene oder drahtlose Kommunikation unterstützen. Das Netzwerk kann ein elektronisches Kommunikationsnetzwerk wie etwa das Internet, ein Lokalbereichsnetzwerk (LAN; Local Area Network), ein Weitbereichsnetzwerk (WAN; Wide Area Network), ein zellulares Kommunikationsnetzwerk bzw. mobiles Fernsprechnetzwerk oder dergleichen einschließen.
  • Der Systemspeicher 1020 kann dafür konfiguriert sein, Programmanweisungen 1100 oder Daten 1110 zu speichern. Die Programmanweisungen 1100 können von einem Prozessor (z.B. einem oder mehreren der Prozessoren 1010a-1010n) ausführbar sein, um eine oder mehrere Ausführungsformen der vorliegenden Techniken zu implementieren. Die Anweisungen 1100 können Module von Computerprogrammanweisungen für das Implementieren von einer oder mehreren Techniken, die hier in Bezug auf verschiedene Verarbeitungsmodule beschrieben sind, umfassen. Programmanweisungen können ein Computerprogramm einschließen (welches in gewissen Formen als ein Programm, eine Software, eine Softwareanwendung, ein Script oder ein Code bekannt ist). Ein Computerprogramm kann in einer Programmiersprache geschrieben sein, die Kompiliersprachen oder interpretierte Programmiersprachen oder deklarative bzw. nichtprozedurale Programmiersprachen oder prozedurale Programmiersprachen einschließen. Ein Computerprogramm kann eine Einheit einschließen, die für eine Verwendung in einer Computerumgebung geeignet ist, was ein isoliertes Programm, ein Modul, eine Komponente oder eine Subroutine einschließt. Ein Computerprogramm kann einer Datei in einem Dateisystem entsprechen, aber es muss nicht einer Datei in einem Dateisystem entsprechen. Ein Programm kann in einem Teil einer Datei, die andere Programme oder Daten hält (z.B. ein oder mehrere Scripts, die in einem Markup-Language-Dokument gespeichert sind), in einer einzigen Datei, die für das in Frage stehende Programm dediziert ist, oder in mehreren koordinierten Dateien (z.B. Dateien, die ein oder mehrere Module, Unterprogramme oder Teile eines Codes speichern) gespeichert werden. Ein Computerprogramm kann eingesetzt werden, um auf einem oder mehreren Computerprozessoren ausgeführt zu werden, die sich lokal an einer Stelle befinden oder quer über mehrere entfernte Stellen verteilt sind und durch ein Kommunikationsnetzwerk miteinander verbunden sind.
  • Der Systemspeicher 1020 kann einen greifbaren Programmträger aufweisen, der Programmanweisungen hat, die darin gespeichert sind. Ein greifbarer Programmträger kann ein nicht flüchtiges, von einem Computer lesbares Speichermedium einschließen. Ein nicht flüchtiges, computerlesbares Speichermedium kann eine maschinenlesbare Speichereinrichtung, ein maschinenlesbares Speichersubstrat, ein Speichergerät oder irgendeine Kombination davon umfassen. Ein nicht flüchtiges, computerlesbares Speichermedium kann einen nicht flüchtigen Speicher (z.B. Flash-Speicher, ROM-, PROM-, EPROM-, EEPROM-Speicher), einen flüchtigen Speicher (z.B. einen Direktzugriffsspeicher (RAM; Random Access Memory), einen statischen Direktzugriffsspeicher (SRAM; Static RAM), einen synchronen dynamischen Direktzugriffsspeicher (SDRAM; Synchronous Dynamic RAM)), einen Massenspeicher (z.B. CD-ROM und/oder DVD-ROM, Festplatten) oder dergleichen einschließen. Der Systemspeicher 1020 kann ein nicht flüchtiges, computerlesbares Speichermedium einschließen, das darin gespeicherte Programmanweisungen haben kann, die von einem Computerprozessor (z.B. einem oder mehreren der Prozessoren 1010a-1010n) ausführbar sind, um den hier beschriebenen Gegenstand der Erfindung und die hier beschriebenen Funktionsvorgänge zu bewirken. Ein Speicher (z.B. der Systemspeicher 1020) kann eine einzige Speichervorrichtung und/oder eine Vielzahl von Speichervorrichtungen (z.B. verteilte Speichervorrichtungen) umfassen. Anweisungen oder ein anderer Programmcode für die Bereitstellung der hier beschriebenen Funktionalität können auf einem greifbaren, nicht flüchtigen, computerlesbaren Medien gespeichert werden. In einigen Fällen kann der gesamte Satz von Anweisungen gleichzeitig auf den Medien gespeichert werden, oder in einigen Fällen können unterschiedliche Teile der Anweisungen auf demselben Medium zu unterschiedlichen Zeiten gespeichert werden.
  • Die E/A-Schnittstelle 1050 kann dafür konfiguriert sein, den E/A-Verkehr zwischen den Prozessoren 1010a-1010n, dem Systemspeicher 1020, der Netzwerkschnittstelle 1040, den E/A-Einrichtungen bzw. -Geräten 1060 und/oder anderen Peripheriegeräten zu koordinieren. Die E/A-Schnittstelle 1050 kann eine Protokollierung, eine Zeitsteuerung oder andere Datentransformationen durchführen, um Datensignale von einer Komponente (z.B. dem Systemspeicher 1020) in ein Format umzuwandeln, das für die Verwendung durch eine andere Komponente (z.B. die Prozessoren 1010a-101n) geeignet ist. Die E/A-Schnittstelle 1050 kann eine Unterstützung für Geräte bzw. Einrichtungen aufweisen, die durch verschiedene Arten von peripheren Bussen angeschlossen sind, wie etwa durch eine Variante des PCI-(Peripheral Component Interconnect)-Bus-Standards oder des USB-(Universal Serial Bus)-Standards.
  • Ausführungsformen der hier beschriebenen Techniken können unter Verwendung einer einzigen Instanz des Computersystems 1000 oder von mehreren Computersystemen 1000 implementiert werden, die dafür konfiguriert sind, verschiedene Teile oder Instanzen von Ausführungsformen zu hosten. Mehrere Computersysteme 1000 können eine parallele oder sequentielle Verarbeitung/Ausführung von einem oder mehreren Teilen der hier beschriebenen Techniken bereitstellen.
  • Die Fachleute auf dem Gebiet werden erkennen, dass das Computersystem 1000 lediglich veranschaulichend ist und nicht dazu gedacht ist, den Schutzumfang der hier beschriebenen Techniken zu beschränken. Das Cömputersystem 1000 kann jegliche Kombination von Geräten bzw. Einrichtungen oder Vorrichtungen oder von Software einschließen, die die hier beschriebenen Techniken durchführen können oder auf andere Weise für die Durchführung der hier beschriebenen Techniken sorgen können. Das Computersystem 1000 kann zum Beispiel ein Cloud-Computing-System, ein Datencenter, ein Server-Rack, einen Server, einen virtuellen Server, einen Schreibtischcomputer, einen Laptop-Computer, einen Tablet-Computer, ein Servergerät, ein Client-Gerät, ein Mobiltelefon, einen persönlichen digitalen Assistent (PDA), einen mobilen Audio- und Video-Player, eine Spielekonsole, einen in einem Fahrzeug angebrachten Computer oder ein globales Positionierungssystem (GPS) oder dergleichen umfassen oder eine Kombination daraus sein. Das Computersystem 1000 kann auch mit anderen Geräten bzw. Einrichtungen verbunden sein, die nicht veranschaulicht sind, oder es kann als ein autonomes System arbeiten. Außerdem kann die Funktionalität, die durch die veranschaulichten Komponenten bereitgestellt wird, in einigen Ausführungsformen zu weniger Komponenten kombiniert sein oder über zusätzliche Komponenten verteilt sein. In ähnlicher Weise kann die Funktionalität von einigen der veranschaulichten Komponenten in einigen Ausführungsformen nicht bereitgestellt sein oder es kann eine andere zusätzliche Funktionalität zur Verfügung stehen.
  • Die Fachleute auf dem Gebiet werden auch erkennen, dass, obwohl verschiedene Elemente so veranschaulicht sind, als ob sie in einem Speicher oder in einer Speichervorrichtung gespeichert sind, während sie benutzt werden, diese Elemente oder Teile davon zwischen einem Speicher und anderen Speicherungsvorrichtungen für die Zwecke des Speichermanagements und der Datenintegrität transferiert werden können. Alternativ dazu können in anderen Ausführungsformen einige oder alle der Softwarekomponenten in einem Speicher auf einer anderen Einrichtung bzw. einem anderen Gerät ausgeführt werden und mit dem veranschaulichten Computersystem über eine Inter-Computer-Kommunikation kommunizieren. Einige oder alle der Systemkomponenten oder Datenstrukturen können auch auf einem durch einen Computer zugänglichen Medium (z.B. als Anweisungen oder strukturierte Daten) oder in einem tragbarer Artikel gespeichert werden, der von einem entsprechenden Laufwerk gelesen werden kann, wobei verschiedene Beispiele davon oben beschrieben worden sind. In einigen Ausführungsformen können Anweisungen, die auf einem durch einen Computer zugänglichen Medium getrennt von dem Computersystem 1000 gespeichert sind, an ein Computersystem 1000 über Übertragungsmedien oder Signale wie etwa elektrische, elektromagnetische oder digitale Signale übertragen werden, die über ein Kommunikationsmedium wie etwa ein Netzwerk oder eine drahtlose Verbindung übermittelt werden. Verschiedene Ausführungsformen können des Weiteren das Empfangen, Senden oder Speichern von Anweisungen oder Daten umfassen, was in Übereinstimmung mit der obigen Beschreibung über ein über einen Computer zugängliches Medium implementiert wird. Dementsprechend können die vorliegenden Techniken mit anderen Computersystemkonfigurationen praktiziert werden.
  • In Blockdiagrammen sind veranschaulichte Komponenten als diskrete Funktionsblöcke dargestellt, aber Ausführungsformen sind nicht auf Systeme beschränkt, in denen die hier beschriebene Funktionalität so organisiert ist, wie sie veranschaulicht ist. Die Funktionalität, die von jeder der Komponenten bereitgestellt wird, kann durch Software- oder Hardware-Module bereitgestellt werden, die anders organisiert sind als dies hier dargestellt ist, zum Beispiel kann eine solche Software oder Hardware vermischt, verknüpft, repliziert, aufgeteilt, verteilt (z.B. innerhalb eines Datencenters oder geographisch) oder auf andere Weise anders organisiert sein. Die Funktionalität, die hier beschrieben ist, kann durch einen oder mehrere Prozessoren von einem oder mehreren Computern bereitgestellt werden, die einen Code ausführen, der auf einem greifbaren, nicht flüchtigen, maschinenlesbaren Medium gespeichert ist. In einigen Fällen können die Anweisungen trotz der Verwendung des Begriffs „Medium“ im Singular auf verschiedene Speichervorrichtungen verteilt sein, die mit unterschiedlichen Computergeräten assoziiert sind, wobei zum Beispiel jedes Computergerät eine andere Untermenge der Anweisungen hat, eine Implementierung, die mit der Verwendung des Begriffs „Medium“ im Singular hier übereinstimmt. In einigen Fällen können Content-Delivery-Netzwerke einer dritten Partei einige oder alle der Informationen hosten, die über Netzwerke vermittelt werden, wobei in diesem Fall in dem Ausmaß, wie Informationen (z.B. Inhalt) geliefert oder anderweitig bereitgestellt werden sollen, die Informationen durch das Senden von Anweisungen zum Abrufen dieser Informationen aus einem Content-Delivery-Netzwerk bereitgestellt werden können.
  • Dem Leser sollte klar sein, dass die vorliegende Anmeldung mehrere voneinander unabhängig verwendbare Techniken beschreibt. Anstatt diese Techniken in mehrere isolierte Patentanmeldungen aufzuspalten, haben die Anmelder diese Techniken zu einem einzigen Dokument gruppiert, weil ihr damit in Beziehung stehender Gegenstand sich für Sparmaßnahmen im Anmeldungsprozess eignet. Aber die verschiedenen Vorteile und Aspekte solcher Techniken sollen nicht verschmolzen werden. In einigen Fällen gehen Ausführungsformen alle der hier vermerkten Nachteile an, aber es sollte verstanden werden, dass die Techniken unabhängig voneinander verwendbar sind, und einige Ausführungsformen gehen nur eine Untermenge dieser Probleme an oder bieten andere, nicht erwähnte Vorteile an, die den Fachleuten auf dem Gebiet offensichtlich werden, wenn sie die vorliegende Offenbarung durchsehen. Aufgrund von Kostenbeschränkungen können einige der hier offenbarten Techniken im Augenblick nicht beansprucht werden und sie können in späteren Patentanmeldungen beansprucht werden, wie etwa in Fortführungsanmeldungen oder durch das Ändern der vorliegenden Ansprüche. In ähnlicher Weise sollten aufgrund von Platzbeschränkungen weder die Abschnitte der Zusammenfassung noch des Überblicks über die Erfindung des vorliegenden Dokuments als eine umfassende Auflistung von allen diesen Techniken oder als alle Aspekten diese Techniken enthaltend aufgefasst werden.
  • Aussagen, in denen eine Vielzahl von Attributen oder Funktionen auf eine Vielzahl von Objekten gemappt wird (z.B. ein oder mehrere Prozessoren, die die Schritte A, B, C und D durchführen), umfassen sowohl alle diese Attribute oder Funktionen, die auf alle diese Objekte gemappt werden, sowie auch Untermengen der Attribute oder Funktionen, die auf Untermengen der Attribute oder Funktionen gemappt werden (z.B. sowohl, dass alle Prozessoren jeweils die Schritte A-D durchführen, als auch einen Fall, bei dem der Prozessor 1 den Schritt A durchführt, der Prozessor 2 den Schritt B und einen Teil von Schritt C durchführt, und der Prozessor 3 einen Teil von Schritt C und den Schritt D durchführt), es sei denn, dies wird anders angegeben. Außer dies wird ausdrücklich anders angegeben, wie dies aus der Erörterung offensichtlich wird, ist es klar, dass sich durch die gesamte vorliegende Patentspezifikation hindurch Erörterungen, die Begriffe wie etwa „Verarbeitung“, „Datenverarbeitung“, „Berechnung“, „Bestimmung“ oder dergleichen verwenden, auf Aktionen bzw. Handlungen oder Prozesse einer spezifischen Vorrichtung, wie etwa eines Spezialcomputers oder eines ähnlichen elektronischen Spezialverarbeitungsgeräts/Spezialdatenverarbeitungsgeräts beziehen. Wie dies der Fall in der gewöhnlichen Benutzung auf dem Fachgebiet ist, müssen Datenstrukturen und Formate, die unter Bezugnahme auf Verwendungen beschrieben sind, die einem Menschen ins Auge springen, nicht in einer für einen Menschen lesbaren Format präsentiert werden, um die beschriebene Datenstruktur oder das beschriebene Format zu bilden, z.B. ein Text muss nicht in Unicode oder ASCII gerendert oder sogar codiert werden, um einen Text zu bilden; Bilder, Karten und Datenvisualisierungen müssen nicht angezeigt oder decodiert werden, um jeweils Bilder, Karten und Datenvisualisierungen zu bilden; Sprache, Musik oder andere Audiosignale müssen nicht durch einen Lautsprecher ausgesendet werden oder decodiert werden, um jeweils Sprache, Musik oder andere Audiosignale zu bilden.

Claims (10)

  1. Verfahren, das die folgenden Schritte umfasst: Empfangen, mit einem oder mehreren Prozessoren, eines Befehls, der einer Benutzereingabe in eine interaktive Dashboard-Anwendung entspricht, von einem Benutzer, wobei: die interaktive Dashboard-Anwendung dafür konfiguriert ist, eine Vielzahl von Instanzen von Datenvisualisierungen in einer Dashboard-Benutzerschnittstelle zu präsentieren, die Dashboard-Benutzerschnittstelle Benutzerschnittstellen-Eingabeelemente aufweist und die interaktive Dashboard-Anwendung dafür konfiguriert ist, in Reaktion auf die Eingabeelemente einzustellen, welche Datenvisualisierungen gezeigt werden, Attribute der Datenvisualisierungen einzustellen oder einzustellen, welche Daten in der interaktiven Dashboard-Anwendung dargestellt werden; Erzeugen in Reaktion auf den Befehl, mit einem oder mehreren Prozessoren, von Instanzen von Datenvisualisierungen, die Daten darstellen, die visualisiert werden sollen; Erzeugen, mit einem oder mehreren Prozessoren, mit einem trainierten Captioning-Modell, von einer oder mehreren narrativen Captions, die als beschreibend für die erzeugten Instanzen von Datenvisualisierungen bestimmt werden, wobei die eine oder die mehreren narrativen Captions eine Beschreibung in natürlicher Sprache eines Phänomens umfassen, das zumindest zum Teil durch die zu visualisierenden Daten gezeigt wird und visuell in zumindest einer der erzeugten Instanzen von Datenvisualisierungen dargestellt wird; und Veranlassen, mit einem oder mehreren Prozessoren, dass die eine oder die mehreren narrativen Captions dem Benutzer präsentiert werden.
  2. Verfahren nach Anspruch 1, wobei: der Befehl über eines oder mehrere der Benutzerschnittstellen-Eingabeelemente eingegeben wird; das Veranlassen, dass die eine oder die mehreren narrativen Captions dem Benutzer präsentiert werden, das Veranlassen umfasst, dass eine Vielzahl von narrativen Captions dem Benutzer auf einem Benutzercomputergerät über einen Webbrowser präsentiert wird, der auf dem Benutzercomputergerät ausgeführt wird; die erzeugten Instanzen von Datenvisualisierungen graphische Darstellungen umfassen, die zumindest einige der zu visualisierenden Daten darstellen; die eine oder die mehreren narrativen Captions zumindest zwei von den Folgenden aufweisen: eine Angabe, dass vorausgesagt wird, dass ein Grenzwert oder eine Zielmarke durch eine angezeigte Metrik innerhalb einer Schwellenwert-Zeitdauer erreicht wird; eine Angabe, dass ein Vergleich von mehreren Metriken einen benannten Betrag einer Differenz oder Korrelation zwischen den mehreren Metriken angibt; eine Beschreibung eines Vergleichs zwischen mehreren Werten einer einzelnen angezeigten Metrik; eine Beschreibung der Konvergenz oder Divergenz von zwei angezeigten Metriken; eine Beschreibung einer Änderung in angezeigten Metriken im Laufe der Zeit; ein Ranking von mehreren angezeigten Metriken oder von einer einzigen angezeigten Metrik im Laufe der Zeit; ein Ergebnis eines Vergleichs zwischen einer angezeigten Metrik und einem visuell dargestellten Schwellenwert einer Datenvisualisierung; ein Ergebnis einer Was-wäre-wenn-Analyse von angezeigten Metriken; eine vorgeschlagene Reaktionshandlung, um ein System einzustellen, das durch eine angezeigte Metrik charakterisiert ist; oder eine Angabe einer Übereinstimmung mit einer statistischen Verteilung.
  3. Verfahren nach Anspruch 1, wobei: zumindest einige von der einen oder den mehreren narrativen Captions während der Gestaltung der entsprechenden Datenvisualisierungen über eine Dashboard-Design-Anwendung, die dieselbe Anwendung wie oder eine andere Anwendung als die interaktive Dashboard-Anwendung ist, eingegeben und mit entsprechenden Datenvisualisierungen assoziiert werden.
  4. Verfahren nach Anspruch 1, wobei: der Befehl eine Untermenge von Daten aus einer Datenquelle auswählt, die die zu visualisierenden Daten liefert, und eine Aktualisierung bei einer existierenden Dashboard-Benutzerschnittstelle anfordert, um die ausgewählte Untermenge von Daten darzustellen.
  5. Verfahren nach Anspruch 4, wobei: zumindest einige von der einen oder den mehreren narrativen Captions eine Änderung bei einer dargestellten Metrik beschreiben, die sich aus der angeforderten Aktualisierung ergibt.
  6. Verfahren nach Anspruch 5, wobei das Erzeugen der einen oder der mehreren narrativen Captions Folgendes umfasst: Vergleichen von Werten der dargestellten Metrik oder von visuellen Attributen einer Darstellung der dargestellten Metrik vor der Aktualisierung mit Werten der dargestellten Metrik oder von visuellen Attributen der Darstellung der dargestellten Metrik nach der Aktualisierung.
  7. Verfahren nach Anspruch 4, wobei das Erzeugen von einer oder mehreren narrativen Captions Folgendes umfasst: Auswählen der einen oder der mehreren narrativen Captions aus einer Vielzahl von narrativen Captions, die als zu zumindest einigen der erzeugten Instanzen von Datenvisualisierungen passend bestimmt worden sind, wobei die Auswahl auf Folgendem basiert: eine Bestimmung, dass durch den Befehl veranlasst wird, dass die eine oder die mehreren narrativen Captions zu zumindest einigen der erzeugten Instanzen passen, und eine Bestimmung, dass durch den Befehl nicht veranlasst wird, dass nicht ausgewählte narrative Captions zu zumindest einigen der erzeugten Instanzen passen.
  8. Verfahren nach Anspruch 1, wobei: der Befehl eine Hüllkurve in einem Raum von potentiellen Instanzen von Datenvisualisierungen spezifiziert; und das Erzeugen der einen oder der mehreren narrativen Captions die folgenden Schritte umfasst: Simulieren einer Vielzahl der potentiellen Instanzen von Datenvisualisierungen in dem Raum; Bestimmen von narrativen Kandidaten-Captions, die jeder von den potentiellen Instanzen von Datenvisualisierungen entsprechen; und Bestimmen der einen oder der mehreren narrativen Captions auf der Basis von zumindest einigen der narrativen Kandidaten-Captions.
  9. System, das dafür ausgelegt ist, das Verfahren nach einem der Ansprüche 1-8 durchzuführen.
  10. Greifbares, nichtflüchtiges, maschinenlesbares Medium, das Anweisungen speichert, die dann, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, Vorgänge bewirken, die die Folgenden umfassen: Empfangen, mit einem oder mehreren Prozessoren, eines Befehls, der einer Benutzereingabe in eine interaktive Dashboard-Anwendung entspricht, von einem Benutzer, wobei: die interaktive Dashboard-Anwendung dafür konfiguriert ist, eine Vielzahl von Instanzen von Datenvisualisierungen in einer Dashboard-Benutzerschnittstelle zu präsentieren, die Dashboard-Benutzerschnittstelle Benutzerschnittstellen-Eingabeelemente aufweist und die interaktive Dashboard-Anwendung dafür konfiguriert ist, in Reaktion auf die Eingabeelemente einzustellen, welche Datenvisualisierungen gezeigt werden, Attribute der Datenvisualisierungen einzustellen oder einzustellen, welche Daten in der interaktiven Dashboard-Anwendung dargestellt werden; Erzeugen in Reaktion auf den Befehl, mit einem oder mehreren Prozessoren, von Instanzen von Datenvisualisierungen, die Daten darstellen, die visualisiert werden sollen; Erzeugen, mit einem oder mehreren Prozessoren, mit einem trainierten Captioning-Modell, von einer oder mehreren narrativen Captions, die als beschreibend für die erzeugten Instanzen von Datenvisualisierungen bestimmt werden, wobei die eine oder die mehreren narrativen Captions eine Beschreibung in natürlicher Sprache eines Phänomens umfassen, das zumindest zum Teil durch die zu visualisierenden Daten gezeigt wird und visuell in zumindest einer der erzeugen Instanzen von Datenvisualisierungen dargestellt wird; und Veranlassen, mit einem oder mehreren Prozessoren, dass die eine oder die mehreren narrativen Captions dem Benutzer präsentiert werden.
DE102019007354.1A 2018-10-26 2019-10-22 Narrationssystem für interaktive dashboards Pending DE102019007354A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/171,778 2018-10-26
US16/171,778 US20200134037A1 (en) 2018-10-26 2018-10-26 Narration system for interactive dashboards

Publications (1)

Publication Number Publication Date
DE102019007354A1 true DE102019007354A1 (de) 2020-04-30

Family

ID=70327220

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019007354.1A Pending DE102019007354A1 (de) 2018-10-26 2019-10-22 Narrationssystem für interaktive dashboards

Country Status (3)

Country Link
US (1) US20200134037A1 (de)
CN (1) CN111104292A (de)
DE (1) DE102019007354A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190258965A1 (en) * 2018-02-22 2019-08-22 Cisco Technology, Inc. Supervised learning system
US20220092508A1 (en) * 2020-09-21 2022-03-24 Larsen & Toubro Infotech Ltd Method and system for generating contextual narrative for deriving insights from visualizations
US20220114203A1 (en) * 2020-10-12 2022-04-14 International Business Machines Corporation Generation of visualization data from unstructured data
US12001786B2 (en) * 2021-05-24 2024-06-04 Salesforce, Inc. Applied artificial intelligence technology for natural language generation using a graph data structure with follow-up capabilities
CN116415199B (zh) * 2023-04-13 2023-10-20 广东铭太信息科技有限公司 基于审计中间表的业务数据离群分析方法
CN116910817B (zh) * 2023-09-13 2023-12-29 北京国药新创科技发展有限公司 医疗数据的脱敏处理方法、装置及电子设备

Also Published As

Publication number Publication date
US20200134037A1 (en) 2020-04-30
CN111104292A (zh) 2020-05-05

Similar Documents

Publication Publication Date Title
DE102019007354A1 (de) Narrationssystem für interaktive dashboards
US20200134103A1 (en) Visualization-dashboard narration using text summarization
Leonardi et al. Behavioral visibility: A new paradigm for organization studies in the age of digitization, digitalization, and datafication
Ananny Toward an ethics of algorithms: Convening, observation, probability, and timeliness
US10409367B2 (en) Predictive graph selection
Milan et al. Citizens’ media meets big data: The emergence of data activism
DE102017121712A1 (de) Intelligente Antworten mittels eines geräteinternen Modells
DE112020002228T5 (de) Kognitive video- und audio-suchaggregation
US8874552B2 (en) Automated generation of ontologies
US20200134090A1 (en) Content exposure and styling control for visualization rendering and narration using data domain rules
US20170052977A1 (en) Apparatus and Method for Collaboratively Analyzing Data Snapshot Visualizations from Disparate Data Sources
DE202016005239U1 (de) Graph-basierte Abfragen
Wu et al. A field analysis of journalism in the automation age: Understanding journalistic transformations and struggles through structure and agency
DE112018005459T5 (de) Datenanonymisierung
US20150113018A1 (en) Interactive visual analytics for situational awareness of social media
DE102016013372A1 (de) Bildbeschriften mit schwacher Überwachung
DE102013222290A1 (de) System und Verfahren zur gemeinsamen Nutzung von Ermittlungsergebnisdaten
US20200134074A1 (en) Generating natural-language text descriptions of data visualizations
DE112010004946T5 (de) Dynamisches Verwalten einer sozialen Netzwerkgruppe
DE102012210425A1 (de) Verwendung einer dynamisch erzeugten inhaltsbezogenen Aktualitätsbewertung zum Bereitstellen von Empfehlungen zu aktuellen Inhalten
DE112018005087T5 (de) Verbesserung von suchabfragen durch kontextanalyse
DE102017111440A1 (de) Universalgateway für automatisiertes lernen
DE112021003943T5 (de) Sprachantwortsysteme auf Grundlage eines personalisierten Wortschatzes und einer Benutzerprofilerstellung - Personalisierte linguistische KI-Engines
Botega et al. Quality-aware human-driven information fusion model
DE112018001711T5 (de) Generator von Unterrichtsnotizen auf Blickrichtungsgrundlage

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017200000

Ipc: G06F0017000000