DE112020002228T5 - Kognitive video- und audio-suchaggregation - Google Patents

Kognitive video- und audio-suchaggregation Download PDF

Info

Publication number
DE112020002228T5
DE112020002228T5 DE112020002228.5T DE112020002228T DE112020002228T5 DE 112020002228 T5 DE112020002228 T5 DE 112020002228T5 DE 112020002228 T DE112020002228 T DE 112020002228T DE 112020002228 T5 DE112020002228 T5 DE 112020002228T5
Authority
DE
Germany
Prior art keywords
video
user
entities
processors
computer
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
DE112020002228.5T
Other languages
English (en)
Inventor
Michael Bender
Michael SHUTE
Siddhartha Sood
Evelyn Anderson
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112020002228T5 publication Critical patent/DE112020002228T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/7837Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using objects detected or recognised in the video content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • G06F18/2113Selection of the most significant subset of features by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
    • 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/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/71Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • G06F16/735Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • G06F16/738Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/7837Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using objects detected or recognised in the video content
    • G06F16/784Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using objects detected or recognised in the video content the detected or recognised objects being people
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/40Software arrangements specially adapted for pattern recognition, e.g. user interfaces or toolboxes therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/771Feature selection, e.g. selecting representative features from a multi-dimensional feature space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/945User interactive design; Environments; Toolboxes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/49Segmenting video sequences, i.e. computational techniques such as parsing or cutting the sequence, low-level clustering or determining units such as shots or scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/10Recognition assisted with metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Library & Information Science (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Ein Verfahren, ein Computerprogrammprodukt und ein System, wobei ein oder mehrere Prozessoren ein Video von einem Benutzer über einen Client erhalten und das Video in zeitliche Aufnahmen segmentieren, die eine Zeitleiste des Videos aufweisen. Der eine oder die mehreren Prozessoren analysieren das Video kognitiv durch Anwenden eines Bilderkennungsalgorithmus, um Bild-Entitäten in jeder zeitlichen Aufnahme des Videos zu identifizieren, und durch Anwenden einer Datenstruktur, die ein Benutzerprofil des Benutzers aufweist, auf die zeitlichen Aufnahmen, um persönliche Entitäten in jeder zeitlichen Aufnahme des Videos zu identifizieren. Der Programmcode erstellt einen Suchindex für das Video unter Verwendung der Benutzer-Entitäten (Bild-Entitäten und persönlichen Entitäten), wobei es sich bei jedem Eintrag des Suchindex um eine bestimmte Benutzer-Entität und eine Verknüpfung zu einer bestimmten zeitlichen Aufnahme handelt und die Verknüpfung eine Position der bestimmten Benutzer-Entität auf der Zeitleiste des Videos angibt.

Description

  • HINTERGRUND
  • Je komplexer und vielfältiger die Quellen und Strukturen von Daten werden, desto anspruchsvoller wird die Fähigkeit, diese Daten nach bestimmten Informationen zu durchsuchen. Bestimmte Datenformate haben von vornherein Einschränkungen, wenn sie unter Verwendung von Standardansätzen durchsucht werden, und werden daher nicht als suchfreundlich angesehen. Ein Beispiel für ein Format, das schwer zu durchsuchen sein kann, ist Video, da die Parameter schwer zu formulieren sind, und selbst wenn sie formuliert sind, können die Ergebnisse schwer zu finden sein. Zum Beispiel muss ein Benutzer, der ein bestimmtes Bild in riesigen Videoarchiven zu finden hofft, unter Umständen ein manuelles Suchen durchführen, um das bestimmte Bild zu finden, und da die Größe von Videoarchiven zunimmt, kann sich diese Aufgabe als besonders schwierig und/oder ineffizient erweisen.
  • KURZDARSTELLUNG
  • Durch das Bereitstellen eines Verfahrens zum Erstellen eines durchsuchbaren Index für ein oder mehrere Videos werden nach dem Stand der Technik vorhandene Unzulänglichkeiten überwunden und zusätzliche Vorteile bereitgestellt. Das Verfahren umfasst zum Beispiel: ein Erhalten eines Videos von einem Benutzer über einen Client durch einen oder mehrere Prozessoren zum Hochladen in ein Repository, auf das der eine oder die mehreren Prozessoren Zugriff haben; ein Segmentieren des Videos durch den einen oder die mehreren Prozessoren in zeitliche Aufnahmen, wobei die zeitlichen Aufnahmen eine Zeitleiste des Videos aufweisen; ein kognitives Analysieren des Videos durch den einen oder die mehreren Prozessoren durch Anwenden eines Bilderkennungsalgorithmus auf das Video, um Bild-Entitäten in jeder zeitlichen Aufnahme des Videos zu identifizieren; ein kognitives Analysieren durch den einen oder die mehreren Prozessoren durch Anwenden einer Datenstruktur, die ein Benutzerprofil des Benutzers umfasst, auf die zeitlichen Aufnahmen, um persönliche Entitäten in jeder zeitlichen Aufnahme des Videos zu identifizieren; und ein Erstellen eines Suchindex für das Video durch den einen oder die mehreren Prozessoren unter Verwendung der Benutzer-Entitäten, wobei die Benutzer-Entitäten die Bild-Entitäten und die persönlichen Entitäten aufweisen, wobei jeder Eintrag des Suchindex eine bestimmte Benutzer-Entität, wobei die bestimmte Benutzer-Entität aus den Benutzer-Entitäten ausgewählt wird, und eine Verknüpfung mit einer bestimmten zeitlichen Aufnahme der zeitlichen Aufnahmen aufweist, wobei die Verknüpfung eine Position der bestimmten Benutzer-Entität auf der Zeitleiste des Videos angibt.
  • Durch das Bereitstellen eines Computerprogrammprodukts zum Erstellen eines durchsuchbaren Index für ein oder mehrere Videos werden nach dem Stand der Technik vorhandene Unzulänglichkeiten überwunden und zusätzliche Vorteile bereitgestellt. Das Computerprogrammprodukt weist ein durch einen Verarbeitungsschaltkreis lesbares Speichermedium auf, auf dem Anweisungen zur Ausführung durch den Verarbeitungsschaltkreis zur Durchführung eines Verfahrens gespeichert sind. Das Verfahren umfasst zum Beispiel: ein Erhalten eines Videos von einem Benutzer über einen Client durch den einen oder die mehreren Prozessoren zum Hochladen in ein Repository, auf das der eine oder die mehreren Prozessoren Zugriff haben; ein Segmentieren des Videos durch den einen oder die mehreren Prozessoren in zeitliche Aufnahmen, wobei die zeitlichen Aufnahmen eine Zeitleiste des Videos aufweisen; ein kognitives Analysieren des Videos durch den einen oder die mehreren Prozessoren durch Anwenden eines Bilderkennungsalgorithmus auf das Video, um Bild-Entitäten in jeder zeitlichen Aufnahme des Videos zu identifizieren; ein kognitives Analysieren durch den einen oder die mehreren Prozessoren durch Anwenden einer Datenstruktur, die ein Benutzerprofil des Benutzers umfasst, auf die zeitlichen Aufnahmen, um persönliche Entitäten in jeder zeitlichen Aufnahme des Videos zu identifizieren; und ein Erstellen eines Suchindex für das Video durch den einen oder die mehreren Prozessoren unter Verwendung der Benutzer-Entitäten, wobei die Benutzer-Entitäten die Bild-Entitäten und die persönlichen Entitäten aufweisen, wobei jeder Eintrag des Suchindex eine bestimmte Benutzer-Entität, wobei die bestimmte Benutzer-Entität aus den Benutzer-Entitäten ausgewählt wird, und eine Verknüpfung mit einer bestimmten zeitlichen Aufnahme der zeitlichen Aufnahmen aufweist, wobei die Verknüpfung eine Position der bestimmten Benutzer-Entität auf der Zeitleiste des Videos angibt.
  • Durch das Bereitstellen eines Systems zum Erstellen eines durchsuchbaren Index für ein oder mehrere Videos werden nach dem Stand der Technik vorhandene Unzulänglichkeiten überwunden und zusätzliche Vorteile bereitgestellt. Das System weist einen Speicher, einen oder mehrere Prozessoren, die mit dem Speicher Daten austauschen, und Programmanweisungen auf, die von dem einen oder den mehreren Prozessoren über den Speicher ausführbar sind, um ein Verfahren durchzuführen. Das Verfahren umfasst zum Beispiel: ein Erhalten eines Videos von einem Benutzer über einen Client durch den einen oder die mehreren Prozessoren zum Hochladen in ein Repository, auf das der eine oder die mehreren Prozessoren Zugriff haben; ein Segmentieren des Videos durch den einen oder die mehreren Prozessoren in zeitliche Aufnahmen, wobei die zeitlichen Aufnahmen eine Zeitleiste des Videos aufweisen; ein kognitives Analysieren des Videos durch den einen oder die mehreren Prozessoren durch Anwenden eines Bilderkennungsalgorithmus auf das Video, um Bild-Entitäten in jeder zeitlichen Aufnahme des Videos zu identifizieren; ein kognitives Analysieren durch den einen oder die mehreren Prozessoren durch Anwenden einer Datenstruktur, die ein Benutzerprofil des Benutzers umfasst, auf die zeitlichen Aufnahmen, um persönliche Entitäten in jeder zeitlichen Aufnahme des Videos zu identifizieren; und ein Erstellen eines Suchindex für das Video durch den einen oder die mehreren Prozessoren unter Verwendung der Benutzer-Entitäten, wobei die Benutzer-Entitäten die Bild-Entitäten und die persönlichen Entitäten aufweisen, wobei jeder Eintrag des Suchindex eine bestimmte Benutzer-Entität, wobei die bestimmte Benutzer-Entität aus den Benutzer-Entitäten ausgewählt wird, und eine Verknüpfung mit einer bestimmten zeitlichen Aufnahme der zeitlichen Aufnahmen aufweist, wobei die Verknüpfung eine Position der bestimmten Benutzer-Entität auf der Zeitleiste des Videos angibt.
  • Sich auf einen oder mehrere Aspekte beziehende Verfahren und Systeme werden hierin auch beschrieben und beansprucht. Des Weiteren werden hierin auch sich auf einen oder mehrere Aspekte beziehende Dienste beschrieben und gegebenenfalls beansprucht.
  • Zusätzliche Eigenschaften werden durch die hierin beschriebenen Techniken verwirklicht. Andere Ausführungsformen und Aspekte werden hierin ausführlich beschrieben und sind als Teil der beanspruchten Aspekte anzusehen.
  • In einigen Ausführungsformen der vorliegenden Erfindung umfasst das Anwenden des Benutzerprofils: ein Überwachen der von dem Benutzer über den Client durchgeführten Datenverarbeitungsaktivitäten durch den einen oder die mehreren Prozessoren, beruhend darauf, dass sich der Client über ein Netzwerk mit einer oder mehreren Anwendungen verbindet; ein Analysieren der von dem Benutzer in der einen oder den mehreren Anwendungen durchgeführten Datenverarbeitungsaktivitäten durch den einen oder die mehreren Prozessoren, um Daten, die für den Benutzer relevante Elemente aufweisen, und Beziehungen zwischen den Elementen und dem Benutzer zu identifizieren; und ein Erstellen der Datenstruktur durch den einen oder die mehreren Prozessoren, beruhend auf dem Analysieren, wobei die Datenstruktur das Benutzerprofil aufweist.
  • In einigen Ausführungsformen der vorliegenden Erfindung umfasst das Anwenden des Benutzerprofils darüber hinaus: ein Umwandeln von nicht-textlichen Elementen in dem Video in einen textlichen Inhalt für jede zeitliche Aufnahme der zeitlichen Aufnahmen durch den einen oder die mehreren Prozessoren; und ein Identifizieren der für den Benutzer relevanten Elemente und der Beziehungen zwischen den Elementen und dem Benutzer in dem textlichen Inhalt jeder zeitlichen Aufnahme durch den einen oder die mehreren Prozessoren, wobei die Elemente die persönlichen Entitäten aufweisen.
  • In einigen Ausführungsformen der vorliegenden Erfindung umfasst das Verfahren darüber hinaus: ein Speichern des Suchindex durch den einen oder die mehreren Prozessoren in einem indexierten Repository.
  • In einigen Ausführungsformen der vorliegenden Erfindung umfasst das Verfahren darüber hinaus: ein Erhalten von Suchparametern durch den einen oder die mehreren Prozessoren, die eine oder mehrere relevante Benutzer-Entitäten der Benutzer-Entitäten in dem Suchindex identifizieren; ein Identifizieren der relevanten Benutzer-Entitäten durch den einen oder die mehreren Prozessoren; und ein Durchsuchen des Videos nach den relevanten Benutzer-Entitäten durch den einen oder die mehreren Prozessoren, wobei das Durchsuchen ein Zugreifen auf das Index-Repository aufweist, um den Suchindex zum Auffinden der relevanten Benutzer-Entitäten in dem Video zu verwenden.
  • In einigen Ausführungsformen der vorliegenden Erfindung umfasst das Verfahren darüber hinaus: ein Formulieren von Suchergebnissen durch den einen oder die mehreren Prozessoren als Reaktion auf das Suchen, wobei die Suchergebnisse die relevanten Benutzer-Entitäten und für jede relevante Benutzer-Entität eine Position der relevanten Benutzer-Entität auf der Zeitleiste aufweisen, wobei die Position eine Startzeit und eine Endzeit aufweist.
  • In einigen Ausführungsformen der vorliegenden Erfindung weist das Formulieren der Suchergebnisse ein Einordnen der Suchergebnisse in eine Rangfolge beruhend auf einer Relevanz für die Suchparameter auf.
  • In einigen Ausführungsformen der vorliegenden Erfindung umfasst das Verfahren darüber hinaus: ein Erstellen einer Suchausgabe durch den einen oder die mehreren Prozessoren, wobei das Erstellen aufweist: ein Erhalten eines Teils der zeitlichen Aufnahmen aus dem Video durch den einen oder die mehreren Prozessoren, wobei jede zeitliche Aufnahme des Teils für jede für den Benutzer relevante Entität die Position der relevanten Benutzer-Entität auf der Zeitleiste aufweist; und ein Zusammenstellen des Teils der zeitlichen Aufnahmen zu einem neuen Video durch den einen oder die mehreren Prozessoren.
  • In einigen Ausführungsformen der vorliegenden Erfindung umfasst das Verfahren darüber hinaus: ein Bereitstellen der Suchausgabe für den Benutzer über den Client durch den einen oder die mehreren Prozessoren.
  • In einigen Ausführungsformen der vorliegenden Erfindung weist das Zusammenstellen ein Zusammenstellen des Teils der zeitlichen Aufnahmen entsprechend der Rangfolge der Suchergebnisse beruhend auf der Relevanz für die Suchparameter auf.
  • In einigen Ausführungsformen der vorliegenden Erfindung weist das neue Video mehr als ein einzelnes neues Video auf, wobei das Bereitstellen der Suchausgabe ein Bereitstellen von Verknüpfungen zu jedem der einzelnen neuen Videos aufweist.
  • In einigen Ausführungsformen der vorliegenden Erfindung wird ein Format der Suchparameter ausgewählt aus der Gruppe bestehend aus: Text, Sprache, Bild und Video.
  • In einigen Ausführungsformen der vorliegenden Erfindung weist das Anwenden des Bilderkennungsalgorithmus ein Zugreifen auf ein Bild-Metadaten-Repository auf, auf das der eine oder die mehreren Prozessoren Zugriff haben.
  • In einigen Ausführungsformen der vorliegenden Erfindung weisen die nicht-textlichen Elemente Sprache und Audiomaterial auf, wobei das Umwandeln der Elemente ein Anwenden eines Algorithmus zur Verarbeitung von Sprache in Text aufweist, um den textlichen Inhalt zu erzeugen.
  • In einigen Ausführungsformen der vorliegenden Erfindung weisen die nicht-textlichen Elemente einen eingebetteten Text in Bildern auf, die das Video umfassen, wobei das Umwandeln der Elemente ein Ausführen eines Prozesses zur optischen Zeichenerkennung für den eingebetteten Text aufweist, um den eingebetteten Text in den textlichen Inhalt umzuwandeln, wobei die eine oder mehreren Anwendungen eine Social-Media-Website umfassen, und wobei die für den Benutzer relevanten Elemente Bilder, die von dem Benutzer auf einer Social-Media-Website veröffentlicht wurden, und den Bildern zugehörige Identifizierungskennzeichen umfassen.
  • In einigen Ausführungsformen der vorliegenden Erfindung umfasst das Verfahren darüber hinaus: vor dem Erstellen des Suchindex, ein Bestimmen einer Klassifizierung für das Video durch den einen oder die mehreren Prozessoren, wobei das Erhalten des Videos von dem Benutzer über den Client darüber hinaus ein Erhalten der Klassifizierung von dem Benutzer über den Client aufweist; ein Identifizieren eines anderen Videos, das von dem Benutzer hochgeladen wurde, in dem Repository durch den einen oder die mehreren Prozessoren, wobei die Klassifizierung des anderen Videos gleichbedeutend mit der Klassifizierung des Videos ist; ein Extrahieren von Benutzer-Entitäten aus einem Suchindex des anderen Videos, die den Suchindex des anderen Videos aufweisen, durch den einen oder die mehreren Prozessoren; ein Durchsuchen des Videos nach den Benutzer-Entitäten, die den Suchindex des anderen Videos aufweisen, durch den einen oder die mehreren Prozessoren; und ein Auffinden eines Teils der Benutzer-Entitäten, die den Suchindex des anderen Videos aufweisen, in dem Video durch den einen oder die mehreren Prozessoren.
  • In einigen Ausführungsformen der vorliegenden Erfindung weisen die Benutzer-Entitäten darüber hinaus den Teil der Benutzer-Entitäten auf.
  • In einigen Ausführungsformen der vorliegenden Erfindung umfasst das Verfahren darüber hinaus: vor dem Erstellen des Suchindex, ein Erstellen, durch den einen oder die mehreren Prozessoren, einer Schnittstelle in einer Benutzerschnittstelle des Clients, welche die persönlichen Entitäten und entsprechende Verknüpfungen der persönlichen Entitäten anzeigt, wobei die Schnittstelle einen Eingabepunkt aufweist, durch den der Benutzer eine Rückmeldung bereitstellen kann; ein Erhalten, durch den einen oder die mehreren Prozessoren, der Rückmeldung von dem Benutzer, die über die Schnittstelle bereitgestellt wird; und ein Aktualisieren, durch den einen oder die mehreren Prozessoren, der Benutzer-Entitäten beruhend auf der Rückmeldung.
  • Figurenliste
  • Ein oder mehrere Aspekte werden insbesondere als Beispiele in den Ansprüchen zum Schluss der Beschreibung dargelegt und eindeutig beansprucht. Das Vorstehende und Ziele, Eigenschaften und Vorteile eines oder mehrerer Aspekte werden aus der folgenden ausführlichen Beschreibung zusammen mit den beigefügten Zeichnungen ersichtlich, in denen:
    • 1 einen Arbeitsablauf darstellt, der bestimmte Aspekte einiger Ausführungsformen der vorliegenden Erfindung veranschaulicht;
    • 2 einen Arbeitsablauf darstellt, der bestimmte Aspekte einiger Ausführungsformen der vorliegenden Erfindung veranschaulicht;
    • 3 verschiedene Aspekte einiger Ausführungsformen der vorliegenden Erfindung veranschaulicht;
    • 4 einen Arbeitsablauf darstellt, der bestimmte Aspekte einiger Ausführungsformen der vorliegenden Erfindung veranschaulicht;
    • 5A bis 5B jeweils einen Arbeitsablauf darstellen, der bestimmte Aspekte einiger Ausführungsformen der vorliegenden Erfindung veranschaulicht;
    • 6 eine Ausführungsform eines Datenverarbeitungsknotens bildlich darstellt, der in einer Cloud-Computing-Umgebung verwendet werden kann;
    • 7 eine Cloud-Computing-Umgebung gemäß einer Ausführungsform der vorliegenden Erfindung bildlich darstellt; und
    • 8 Abstraktionsmodellschichten gemäß einer Ausführungsform der vorliegenden Erfindung bildlich darstellt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die beigefügten Figuren, in denen sich gleiche Bezugszahlen auf identische oder funktionell ähnliche Elemente in den einzelnen Ansichten beziehen und die in die Beschreibung aufgenommen sind und einen Teil davon bilden, veranschaulichen darüber hinaus die vorliegende Erfindung und dienen zusammen mit der ausführlichen Beschreibung der Erfindung dazu, die Grundgedanken der vorliegenden Erfindung zu erläutern. Wie der Fachmann versteht, werden die beigefügten Figuren einem besseren Verständnis halber bereitgestellt und veranschaulichen Aspekte bestimmter Ausführungsformen der vorliegenden Erfindung. Die Erfindung ist nicht auf die in den Figuren dargestellten Ausführungsformen beschränkt.
  • Wie der Fachmann versteht, umfasst ein Programmcode, auf den in dieser Anmeldung Bezug genommen wird, sowohl Software als auch Hardware. Zum Beispiel umfasst der Programmcode in bestimmten Ausführungsformen der vorliegenden Erfindung eine Hardware mit fester Funktion, während in anderen Ausführungsformen eine auf Software beruhende Umsetzung der beschriebenen Funktionalität verwendet wurde. In bestimmten Ausführungsformen werden beide Arten von Programmcode kombiniert. Ein Beispiel für einen Programmcode, der auch als ein oder mehrere Programme bezeichnet wird, ist in 6 als Programm/Dienstprogramm 40 dargestellt, das einen Satz (mindestens einen) von Programmmodulen 42 enthält und in dem Speicher 28 gespeichert sein kann.
  • Mit der zunehmenden Menge an elektronischen Daten steigt auch die Notwendigkeit, diese Daten durchsuchen und einen gewünschten Inhalt finden zu können. Bestimmte Datenformate wie zum Beispiel Video können weniger suchfreundlich sein als andere Datenformate, wie zum Beispiel Text. Medientypen, die weniger suchfreundlich sind, können Herausforderungen für die Effizienz von Gesamtsystemen darstellen, wenn versucht wird, eine Suche durchzuführen. Zum Beispiel kann ein Benutzer eine Suche in Videos auf einer Videoplattform durchführen wollen, bei der die Parameter wahrscheinlich nicht in den Metadaten enthalten sind, die der Eigentümer des Videos mit dem Video hochgeladen hat (z.B. Suchen nach einem Film, in dem ein bestimmter Schauspieler lächelt). Eine andere Suche, die beim Verwenden von bestehenden Ansätzen Probleme bereiten würde, wäre eine Abfrage nach einer bestimmten Konfiguration eines Familienmitglieds an einem bestimmten geografischen Ort innerhalb einer Bibliothek von Familienvideos, die über eine Zeitspanne aufgenommen wurden (z.B. Suchen nach einem Videoclip mit einem bestimmten Familienmitglied, das an einem bestimmten geografischen Ort ein Pferd reitet, das sich in einem archivierten Video befindet, das mindestens ein Jahr umfasst). Eine andere Suche, die verschiedene Schwierigkeiten bereiten würde, wäre eine Suche nach allen Bildungsinhalten innerhalb eines Raums, der zur Verwendung durch ein Projektteam für die Dauer des Projekts konfiguriert ist, und nach etwaigen Zugangshindernissen (z.B. Suchen von Bildungsinhalten in einem Teamraum und Voraussetzungen zum Ansehen des Inhalts). Noch eine andere Herausforderung wäre eine Suche nach einem geordneten Ergebnis für einen bestimmten Zweck (z.B. Suchen nach einer Reihenfolge von Ergebnissen, die das Ergebnis als neues Video erzeugt). Ausführungsformen der vorliegenden Erfindung gehen diese und andere Herausforderungen bei der Suche direkt an, indem sie Suchvorgänge ermöglichen, die über Metadaten hinausgehen und kognitive Analysen von Daten sowohl innerhalb als auch außerhalb der Datenbestände, die durchsucht werden, nutzen, um umfassende Suchergebnisse bereitzustellen, wenn Parameter bereits in der Vergangenheit eine Herausforderung waren, so wie in den bereitgestellten Beispielen.
  • Ausführungsformen der vorliegenden Erfindung umfassen ein auf einem Computer ausgeführtes Verfahren, ein Computerprogrammprodukt und ein Computersystem, wobei ein Programmcode, der auf mindestens einer Datenverarbeitungseinheit ausgeführt wird, 1) bestehende Technologien integriert, um eine Entität (z.B. eine Person, ein Objekt, ein Element) oder einen Text innerhalb eines Videos zu identifizieren, die Stelle zu kennzeichnen und ein Indexieren zu ermöglichen, um den gewünschten Inhalt wieder aufzufinden; und 2) eine kognitive Steuerungsroutine erstellt, um Video- oder Audioinhalte zu bewerten, um maschinelles Lernen durchzuführen und Suchaggregationen bereitzustellen, um diesen gewünschten Inhalt zu finden. In Ausführungsformen der vorliegenden Erfindung führt der Programmcode ein kognitives Suchen nach Video- und/oder Audiodaten durch. Um diese kognitive Suche umzusetzen, nimmt der Programmcode die Audio- und/oder Videodaten auf und führt einen oder mehrere der folgenden Aspekte durch: 1) der Programmcode analysiert Text und/oder Bilder in Videos, was umfasst, dass der Programmcode Videos in zeitliche Aufnahmen umwandelt und Sprache in Text übersetzt, aber nicht darauf beschränkt ist; 2) der Programmcode markiert Stellen innerhalb der Videos, beruhend auf den Social-Media-Daten eines Benutzers, auf die der Programmcode mit der Erlaubnis des Benutzers zugreift; 3) der Programmcode extrahiert Metadaten in dem Videoinhalt, die für den Videoinhalt relevant sind, darunter Rückmeldungen von einem Benutzer und die vorstehend erwähnten Social-Media-Daten, aber nicht darauf beschränkt; und 6) der Programmcode verknüpft diese extrahierten Metadaten mit bestimmten Videofragmenten, um einen Suchindex zu erstellen. Sobald der Programmcode einen Suchindex erstellt hat (als Teil des Aufnehmens der Video- und/oder Audiodaten), können die aufgenommenen Daten von einem Benutzer einfacher und effektiver durchsucht werden. Als Reaktion auf eine von dem Benutzer ausgeführte Suche kann der Programmcode Entitäten aus dem Suchindex identifizieren. In Ausführungsformen der vorliegenden Erfindung kann ein Benutzer zum Ausführen einer Suche Text, Sprache, Bilder und/oder Videos als Parameter angeben. Zusätzlich kann der Programmcode in einigen Ausführungsformen der vorliegenden Erfindung als Reaktion auf die von dem Benutzer durchgeführte Suche diese identifizierten Entitäten als Suchergebnisse in eine Rangfolge bringen.
  • Ausführungsformen der vorliegenden Erfindung sind untrennbar mit der Datenverarbeitung verbunden. Wie hierin beschrieben wird, gehen Aspekte von Ausführungsformen der vorliegenden Erfindung Probleme an, die für die Datenverarbeitung einzigartig sind, indem ein durch die Datenverarbeitung ermöglichter Ansatz umgesetzt wird. Ausführungsformen der vorliegenden Erfindung umfassen Aspekte, die elektronische Daten funktional erweitern, um ein umfassenderes elektronisches Durchsuchen dieser Daten zu ermöglichen. Ausführungsformen der vorliegenden Erfindung umfassen das Trainieren von Algorithmen für maschinelles Lernen, um diese verbesserte Suchfunktion zu ermöglichen. In einigen Ausführungsformen der vorliegenden Erfindung nimmt der Programmcode nicht nur elektronische Daten auf, die unter Verwendung von bestehenden Ansätzen nur schwer zu durchsuchen sind (z.B. Audiodaten, Videodaten), und zwar auf eine Weise, welche die Daten indexiert, um ein umfassenderes elektronisches Suchen zu ermöglichen, sondern der Programmcode stellt auch Suchergebnisse in flexibleren Formaten bereit, zu denen ein Festlegen einer Reihenfolge anhand von Suchantworten gehört, um eine einzelne aggregierte Videoantwort bereitzustellen, indem extrahierte relevante Abschnitte (definierte Start-/Endzeit) aus dem Videoinhalt, der durchsucht wird, zusammengefügt werden, aber nicht darauf beschränkt. Diese Aspekte, elektronische Indexierung, Suchen und Ergebnisverwaltung, sind alle untrennbar mit der Datenverarbeitung verbunden. Der Programmcode ermöglicht das umfassende Durchsuchen von Medien, die ohne den Benutzer von Datenverarbeitungstechnologien nicht durchsucht werden können, und zumindest aus diesem Grund sind Aspekte einiger Ausführungsformen der vorliegenden Erfindung untrennbar mit der Datenverarbeitung verbunden.
  • Ausführungsformen der vorliegenden Erfindung sind auch deshalb untrennbar mit der Datenverarbeitung verbunden, weil der Programmcode ein Durchsuchen von Videorepositorys verbessert und genaue Suchergebnisse bereitstellt, zum Teil durch ein Erstellen und Pflegen von Datenstrukturen, die Wissensdatenbanken für verschiedene Benutzer sowie Beziehungen zwischen bekannten Entitäten in den Wissensdatenbanken umfassen. Der Programmcode erhält Daten für die Datenstrukturen (und erstellt die Datenstrukturen) auf der Grundlage der Nutzung der Interkonnektivität von verschiedenen Datenverarbeitungssystemen, darunter Einheiten des Internets der Dinge (loT) und personalisierte Datenverarbeitungseinheiten (z.B. der digitalen Garderobe des Benutzers). So sind Aspekte von Ausführungsformen der Erfindung zumindest deswegen untrennbar mit der Datenverarbeitung verbunden, da sie Verbesserungen eines Systems darstellen, das ursprünglich für die Datenverarbeitung bestimmt ist, und eine Datenverarbeitungsinfrastruktur nutzen oder eine ursprüngliche Datenverarbeitungsschnittstelle erzeugen, um diese Verbesserung bereitzustellen.
  • Ausführungsformen der vorliegenden Erfindung stellen eine praktische Anwendung für eine spezifische Herausforderung bereit, nämlich ein elektronisches Suchen nach bestimmten Formaten elektronischer Daten. Wie hierin beschrieben, ermöglicht der Programmcode in Ausführungsformen der vorliegenden Erfindung ein verbessertes Suchen und/oder verbesserte Suchergebnisse, beruhend auf dem Aufnehmen von Daten in diesen schwer zu durchsuchenden Formaten (z.B. Audio, Video) und dem Indexieren der Daten durch kognitive Analyse. Die kognitive Analyse wird hierin beschrieben und ist ein Beispiel für die Integration verschiedener Aspekte von Ausführungsformen der vorliegenden Erfindung in eine praktische Anwendung.
  • Einige Ausführungsformen der vorliegenden Erfindung umfassen Aspekte, die erhebliche Vorteile gegenüber bestehenden Ansätzen, die elektronisches Suchen betreffen, bereitstellen. Zum Beispiel gehen einige bestehende Ansätze zum Suchen in Videorepositorys damit einher, die Geschwindigkeit, mit der ein Video abgespielt werden kann, zu erhöhen, um ein schnelleres Betrachten des Inhalts zu ermöglichen. In einigen Ausführungsformen der vorliegenden Erfindung führt der Programmcode, anstatt sich auf einen schnelleren Wiedergabemechanismus zu verlassen, um schneller durch ein Video zu spulen, um in Ausführungsformen der vorliegenden Erfindung einen gewünschten Inhalt zu finden (was im Vergleich zu dem, was durch den Programmcode in Ausführungsformen der vorliegenden Erfindung durchsucht werden kann, begrenzt ist) eine kognitive Analyse des Inhalts der Videorepositorys durch, wozu ein Umwandeln von Sprache und/oder Stimme in Daten gehört, so dass ein Benutzer das Repository nach bestimmten Bildern durchsuchen kann, aber nicht beschränkt darauf, wobei Parameter Text, Stimme, Bilder und/oder Videos umfassen, aber nicht darauf beschränkt sind. Ein anderer bestehender Ansatz beruht darauf, dass ein Benutzer ein Video erzählt, um textliche Inhalte bereitzustellen, die dann in einer Suche gefunden werden können. Dieser Ansatz ist äußerst arbeitsintensiv und einschränkend, insbesondere angesichts der möglichen Größe eines Videorepositorys. Einige Ausführungsformen der vorliegenden Erfindung stellen Vorteile gegenüber diesem Ansatz bereit, zumindest weil der Programmcode automatisierte kognitive Video/Audio-Analysen durchführt und durch Selbstlernen ein verbessertes Indexieren bereitstellen kann, um Bildsuchen zu ermöglichen. Ein anderer bestehender Ansatz unterteilt ein Video in Fragmente, so dass die Fragmente einzeln durchsucht werden können, jedoch gibt es keine zusätzliche Logik in dem Repository als Ganzes, die eine Bildlokalisierung durch einen Suchenden ermöglichen würde, wenn das gesamte Repository durchsucht wird. Ausführungsformen der vorliegenden Erfindung stellen einen erheblichen Vorteil gegenüber diesem Fragmentierungsprozess bereit, indem sie Sprache und/oder Stimme in Videodateien als auch Audiodateien in Text umwandeln, so dass der Programmcode diesen Text verwenden kann, um Teile des Videos, darunter Bilder, auf der Grundlage dessen aufzufinden, dass ein Benutzer Suchparameter liefert, darunter Text, Stimme, Bilder und/oder Videos, aber nicht darauf beschränkt. Im Allgemeinen stellen Aspekte einiger Ausführungsformen der vorliegenden Erfindung Vorteile gegenüber bestehenden Suchtechnologien bereit, indem sie die zum Suchen nach Informationen aufgewendete Zeit verringern, die für ein Trainieren auf einen bestimmten Gegenstand oder für ein Recherchieren beim Suchen nach Inhalten oder Bildern verwendet werden. Diese Zeitersparnis verringert die Kosten und erhöht die Produktivität.
  • 1 ist ein Arbeitsablauf 100, der einen Überblick über bestimmte Aspekte einiger Ausführungsformen der vorliegenden Erfindung bereitstellt. Weitere Einzelheiten zu Aspekten dieser Ausführungsformen sind in 2 und 4 bereitgestellt. 2 veranschaulicht einen Arbeitsablauf 200, in dem Videos hochgeladen werden, und 4 veranschaulicht einen Arbeitsablauf 400, der ein Durchsuchen des zuvor hochgeladenen Inhalts betrifft. Allerdings wird dieser allgemeine Arbeitsablauf 100 zur Veranschaulichung in 1 bereitgestellt.
  • Unter Bezugnahme auf 1 weist der Programmcode in einigen Ausführungsformen der vorliegenden Erfindung eine kognitive Steuerungsroutine auf, die von mindestens einem Prozessor ausgeführt wird und die in einem Video-Repository enthaltenen Daten automatisch indexiert, um ein objektspezifisches Suchen in dem Repository zu ermöglichen. Um einen Index für ein Repository zu erstellen, nimmt der Programmcode Inhalte eines Videorepositorys auf und nutzt vorhandene Daten (z.B. Datenstrukturen, Abbildungen und Identifizierungskennzeichen von sozialen Verbindungen, Video-Identifizierungskennzeichen, soziale Profile und/oder ein Bildrepository), um Elemente in dem Video zu identifizieren, darunter Personen und Objekte, aber nicht darauf beschränkt (110). In Ausführungsformen der vorliegenden Erfindung stimmt ein Benutzer zu, dass der Programmcode personenbezogene Daten aufnimmt, darunter soziale Profile und jegliche Markierungen in sozialen Medien, aber nicht darauf beschränkt. Zusätzlich kann in einigen Ausführungsformen der vorliegenden Erfindung, wenn es sich bei den identifizierten Personen nicht um den Benutzer handelt, der Programmcode die Zustimmung dieser Personen verlangen, bevor diese Personen innerhalb der Medien identifiziert werden.
  • In einigen Ausführungsformen der vorliegenden Erfindung erhält der Programmcode diese vorhandenen Daten, indem er die Konnektivität mehrerer Systeme und die Verbreitung von Einheiten des Internets der Dinge (loT) und anderer persönlicher Datenverarbeitungssysteme nutzt. Auf der Grundlage des Erhaltens von vorhandenen Daten kann der Programmcode eine Datenstruktur für einen bestimmten Benutzer und/oder eine bestimmte Gruppe von Benutzern (darunter der Ersteller eines Videoinhalts) erstellen, die der Programmcode verwenden kann, um das Indexieren des Inhalts des Videos zu unterstützen. Zum Beispiel kann der Programmcode eine Datenstruktur für einen bestimmten Benutzer erstellen, indem er (mit der Erlaubnis des Benutzers) die Verwendung von Anwendungen auf der Datenverarbeitungseinheit überwacht, die zum Ausführen eines Such-Clients zum Durchsuchen des Videorepositorys verwendet wird. Zum Beispiel kann der Programmcode in einigen Ausführungsformen der vorliegenden Erfindung eine Datenstruktur, die einem bestimmten Benutzer zugehörig ist, auf der Grundlage der digitalen Garderobe dieses Benutzers erstellen und fortlaufend aktualisieren. In einigen Ausführungsformen der vorliegenden Erfindung kann die Datenstruktur verschiedene Elemente einer digitalen Garderobe eines bestimmten Benutzers oder einer bestimmten Gruppe von Benutzern umfassen, die der Programmcode beim Aufbauen der Datenstruktur (kognitiv) analysieren kann. Wie der Fachmann versteht, handelt es sich bei einer digitalen Garderobe um eine Sammlung von Daten, die als eindeutige Kennung für einen Benutzer verstanden werden kann. Die digitale Garderobe eines Benutzers weist die gesamte Hardware und Software auf, mit welcher der Benutzer interagiert. Zum Beispiel weist die digitale Garderobe eines Benutzers nicht nur alle physischen Datenverarbeitungseinheiten auf, die ein Benutzer möglicherweise verwendet (z.B. persönliche Datenverarbeitungseinheiten, loT-Einheiten, Sensoren, persönliche Gesundheitstracker, Tracker für körperliche Aktivitäten, Smartwatches, digitale Thermostate, intelligente Fernsehgeräte, Digitalkameras, computergestützte Trainingsgeräte, intelligente Geräte usw.), sondern sie weist auch jegliche Software auf, die ein Benutzer verwendet (z.B. Social-Media-Plattformen, E-Commerce-Anwendungen, Abonnements für elektronische Medien, Ansichten elektronischer Medien usw.). Aufgrund der Vielfalt von verfügbaren Einheiten und Anwendungen nehmen Fachleute an, dass zwei Personen nicht dieselbe digitale Garderobe haben werden. So kann die digitale Garderobe einer Person als eindeutige Kennung für die Person verwendet werden, was dem Programmcode dabei helfen kann, kontextbezogene Daten bereitzustellen, die beim Indexieren von Videos, die von dem Benutzer erstellt wurden und/oder den Benutzer darstellen, verwendet werden können und die nicht nur personalisiert, sondern möglicherweise auch einzigartig für den Benutzer sind. Zusätzlich zum Identifizieren eines Benutzers können Daten, die eine digitale Garderobe aufweisen, verwendet werden, um zusätzliche Anwendungen, Software, Ereignisse und Erfahrungen auf die Parameter und Vorlieben des Benutzers beruhend auf dem Extrahieren und Analysieren dieser Daten aus der digitalen Garderobe des Benutzers abzustimmen. In Ausführungsformen der vorliegenden Erfindung kann der Programmcode Elemente der digitalen Garderobe eines Benutzers extrahieren, um eine Datenstruktur zu erstellen, die der Programmcode verwendet, um eine Datenstruktur zu erstellen, die in ein Video in einem Videorepository einzubetten ist, um beruhend auf Parametern, die von einem Benutzer bereitgestellt werden, darunter ein Beschreiben des Bildes mit textlichen Parametern, aber nicht darauf beschränkt, ein granulares Durchsuchen des Videoinhalts nach bestimmten Bildern zu ermöglichen. Die Suchparameter können Text, Sprache, Bilder und/oder Videos umfassen, sind aber nicht darauf beschränkt.
  • Mit der Zustimmung des Benutzers (z.B. kann ein Benutzer dem Programmcode, der auf die digitale Garderobe zugreift, zustimmen) kann von einem oder mehreren Servern, die den Programmcode von Ausführungsformen der vorliegenden Erfindung ausführen, auf Elemente einer digitalen Garderobe für einen bestimmten Benutzer über eine persönliche Datenverarbeitungseinheit zugegriffen werden, die von dem Benutzer verwendet wird, um mittels Datenaustauschvorgängen der persönlichen Datenverarbeitungseinheit mit loT-Einheiten eine Abfrage auszuführen. Der Programmcode kann die persönlichen Datenverarbeitungseinheiten und/oder loT-Einheiten mit der Zustimmung des Benutzers überwachen. Wie der Fachmann versteht, ist das Internet der Dinge (loT) ein System von miteinander verbundenen Computersystemen, mechanischen und digitalen Maschinen, Objekten, Tieren und/oder Menschen, die mit eindeutigen Kennungen versehen sind und die Fähigkeit aufweisen, Daten über ein Netzwerk zu übertragen, ohne dass eine Interaktion von Mensch zu Mensch oder von Mensch zu Computer erforderlich ist. Diese Datenaustauschvorgänge werden durch intelligente Sensoren ermöglicht, zu denen sowohl aktive als auch passive RFID- (Radio Frequency Identification-) Etiketten gehören, die elektromagnetische Felder zum automatischen Identifizieren und zum Verfolgen von Etiketten verwenden, die an Objekten angebracht und/oder Objekten und Personen zugehörig sind, aber nicht darauf beschränkt. Intelligente Sensoren, wie zum Beispiel RFID-Etiketten, können Umgebungsfaktoren verfolgen, die ein Objekt betreffen, darunter Standort, Temperatur und Feuchtigkeit, aber nicht darauf beschränkt. Die intelligenten Sensoren können zum Messen von Temperatur, Feuchtigkeit, Vibrationen, Bewegung, Licht, Druck und/oder Höhe verwendet werden. loT-Einheiten umfassen auch individuelle Aktivitäts- und Fitness-Tracker, wozu (tragbare) Einheiten oder Anwendungen mit intelligenten Sensoren zum Überwachen und Verfolgen fitnessbezogener Messwerte wie zum Beispiel gegangene oder gelaufene Strecke, Kalorienverbrauch und in einigen Fällen Herzschlag und Schlafqualität, sowie Smartwatches gehören, die zur langfristigen Datenverfolgung mit einem Computer oder Smartphone synchronisiert werden. Da die intelligenten Sensoren in loT-Einheiten eindeutige Kennungen tragen, kann ein Datenverarbeitungssystem, das mit einem bestimmten Sensor Daten austauscht (z.B. eine persönliche Datenverarbeitungseinheit, die von einem Benutzer zum Ausführen einer Abfrage verwendet wird), die Quelle der Informationen identifizieren. Innerhalb des loT können verschiedene Einheiten miteinander Daten austauschen und auf Daten aus Quellen zugreifen, die über verschiedene Datenübertragungsnetzwerke verfügbar sind, darunter das Internet. Folglich kann der Programmcode, der auf einem oder mehreren Servern ausgeführt wird, auf der Grundlage eines Austauschens von Daten mit der persönlichen Datenverarbeitungseinheit eines Benutzers Daten über die digitale Garderobe von der persönlichen Datenverarbeitungseinheit erhalten, um die Datenstruktur zu erstellen und zu aktualisieren und somit die Datenstruktur zu erstellen, die verwendet wird, um Daten zum Indexieren eines Videoinhalts bereitzustellen, um ein textlich definiertes Suchen nach einem Bild in dem Videoinhalt zu ermöglichen.
  • In einigen Ausführungsformen der vorliegenden Erfindung verwendet der Programmcode ein neuronales Netz, um die Benutzerdaten zu analysieren und die Datenstrukturen zu erstellen. Bei neuronalen Netzen handelt es sich um ein biologisch inspiriertes Programmierparadigma, das es einem Computer ermöglicht, aus Beobachtungsdaten zu lernen, in diesem Fall aus Daten, die für einen Benutzer relevant sind, darunter auch die digitale Garderobe eines Benutzers und Benutzerprofildaten. Dieses Lernen wird als Deep Learning bezeichnet, wobei es sich um einen Satz von Techniken zum Lernen in neuronalen Netzen handelt. Neuronale Netze, einschließlich modularer neuronaler Netze, sind in der Lage, Muster schnell, genau und effizient zu erkennen, und zwar in Situationen, in denen mehrere und umfangreiche Datensätze vorliegen, wozu auch ein verteiltes Netz gehört, darunter Cloud-Computing-Systeme, aber nicht darauf beschränkt. Bei modernen neuronalen Netzen handelt es sich um Werkzeuge zur nichtlinearen statistischen Datenmodellierung. Sie werden in der Regel verwendet, um komplexe Beziehungen zwischen Eingaben und Ausgaben zu modellieren oder um Muster in Daten zu erkennen (d.h. neuronale Netze sind Werkzeuge zur nichtlinearen statistischen Datenmodellierung oder Entscheidungsfindung). Im Allgemeinen kann ein Programmcode, der neuronale Netze verwendet, komplexe Beziehungen zwischen Eingaben und Ausgaben modellieren und Muster und Attribute in Daten erkennen. Aufgrund der Geschwindigkeit und Effizienz neuronaler Netze, insbesondere beim syntaktischen Analysieren mehrerer komplexer Datensätze, bieten neuronale Netze und Deep Learning somit Lösungen für ein Aufnehmen und Organisieren von Daten aus verschiedenen Quellen. In der Tat können neuronale Netze zum Lösen vieler Probleme in der Spracherkennung und der Verarbeitung natürlicher Sprache verwendet werden, die für Ausführungsformen der vorliegenden Erfindung relevant sind, wenn Video- und Audioinhalte von Videos in einem Repository kognitiv analysiert werden, um den Inhalt und/oder den Kontext des Audio- und Videoinhalts zu bestimmen.
  • In einigen Ausführungsformen der vorliegenden Erfindung kann ein neuronales Netz verwendet werden, um auf der Grundlage der bereitgestellten Eingaben zusätzliche Attribute eines Benutzers oder eines von einem Benutzer erstellten oder hochgeladenen Videos zur Aufnahme in die Datenstruktur vorherzusagen. Unter Verwendung des neuronalen Netzes kann der Programmcode nachfolgende Daten vorhersagen. Der Programmcode erhält die anfänglichen Attribute aus einem Benutzerprofil oder einer digitalen Garderobe (oder leitet sie daraus ab), um ein Array von Werten (möglichen Attributen) zu erstellen, die in die Eingangsneuronen des neuronalen Netzes eingegeben werden sollen. Als Reaktion auf diese Eingaben erzeugen die Ausgangsneuronen des neuronalen Netzes ein Array, das sowohl die identifizierten Attribute als auch die vorhergesagten Attribute umfasst. Das neuronale Netz kann auch dazu verwendet werden, die Daten mehrerer Benutzer gleichzeitig zu verarbeiten, und beim Verarbeiten dieser Daten kann der Programmcode Beziehungen zwischen Benutzern zur Verwendung in den Datenstrukturen erzeugen und vorhersagen. Diese Datenstrukturen können dann von dem Programmcode verwendet werden, um Text oder Bilder in einem Video zu übersetzen, die entsprechende Stelle in dem Video zu markieren und einen Benutzer zu einer Stelle in dem Video zu leiten, welche die relevanten Informationen enthält.
  • In einigen Ausführungsformen der vorliegenden Erfindung kann ein neuromorpher Prozessor oder ein trainierter neuromorpher Chip in die Datenverarbeitungsressourcen integriert sein, die den Programmcode ausführen. Ein Beispiel für einen trainierten neuromorphen Chip, der in einer Ausführungsform der vorliegenden Erfindung verwendet werden kann, ist der IBM® TrueNorth-Chip, hergestellt von der International Business Machines Corporation. IBM® ist eine eingetragene Marke der International Business Machines Corporation, Armonk, New York, U.S.A.
  • In Ausführungsformen der vorliegenden Erfindung kann der Programmcode vorhandene Repositorys, soziale Identifizierungskennzeichen und soziale Verbindungen (darunter auch Elemente einer digitalen Garderobe) nutzen, um Personen und Objekte innerhalb einzelner Fragmente (z.B. Aufnahmen) zu identifizieren. In einigen Ausführungsformen der vorliegenden Erfindung fordert der Programmcode eine Verifizierung, durch einen Benutzer, der Identifizierung von Elementen in dem Video durch den Programmcode an, darunter Personen und Objekte (110), aber nicht darauf beschränkt, indem er eine Rückmeldung von einem Benutzer anfordert, der ein Video in ein Repository hochgeladen hat. In einigen Ausführungsformen der vorliegenden Erfindung stellt der Programmcode dem Benutzer jede beliebige automatische Markierung von Entitäten zur Verfügung und fordert eine Bestätigung der Markierung für jedes Fragment an, welches das Video aufweist. Wie nachstehend erörtert, kann der Programmcode das Video in zeitliche Abschnitte segmentieren und für bestimmte Fragmente eine Bestätigung der Markierung durch den Benutzer, der das Video hochgeladen hat, anfordern. Sobald eine bestimmte Entität von einem Hochladenden überprüft wurde, kann der Programmcode diese Entität automatisch markieren, wenn sie sich in weiteren Fragmenten befindet. In einigen Ausführungsformen der vorliegenden Erfindung, bei denen es sich bei der Entität, die markiert wird, nicht um den Benutzer handelt, kann der Programmcode eine Zustimmung von dieser Entität anfordern, bevor er die Entität automatisch markiert. Zum Beispiel kann der Programmcode Kontaktinformationen für die Entität anfordern und die Entität (d.h. die Person) benachrichtigen, dass diese Entität in einem Inhalt markiert wird. Nach Erhalten einer Bestätigung als Reaktion auf die Benachrichtigung kann der Programmcode diese Entität automatisch markieren.
  • Wenden wir uns wieder 1 zu: Der Programmcode spielt das Video ab und führt Umwandlungen von Stimme/Sprache in Text durch, um auf der Grundlage der zugehörigen Zeitleisten Schlüssel-Entitäten aus dem umgewandelten Text zu extrahieren (120). Der Programmcode, der die kognitive Steuerungsroutine (und/oder den Agenten) umfasst, welche die hierin beschriebenen kognitiven Analysen durchführen, darunter auch ein Umwandeln von Sprache in Text, kann Aspekte eines bestehenden kognitiven Agenten aufweisen, darunter IBM Watson®, aber nicht darauf beschränkt. IBM Watson® ist ein Produkt der International Business Machines Corporation. IBM Watson® ist eine eingetragene Marke der International Business Machines Corporation, Armonk, New York, U.S.A. In einigen Ausführungsformen der vorliegenden Erfindung stellt der Programmcode eine Schnittstelle zu den IBM Watson® APIs her, um eine kognitive Analyse der vorstehend genannten erhaltenen Daten durchzuführen, während der Programmcode in einigen Ausführungsformen der vorliegenden Erfindung eine Schnittstelle zu den Schnittstellen zur Anwendungsprogrammierung (APIs) herstellt, die Teil eines bekannten kognitiven Agenten sind, wie zum Beispiel die Schnittstelle zur Anwendungsprogrammierung (API) IBM Watson®, ein Produkt der International Business Machines Corporation, um den Kontext von Elementen zu bestimmen und die Elemente des Audio- und Videomaterials zu deuten. Zum Beispiel können Aspekte bestehender kognitiver Agenten wie zum Beispiel IBM Watson® verwendet werden, um Sprache-zu-Text-Funktionen bereitzustellen.
  • In einigen Ausführungsformen der vorliegenden Erfindung verwendet der Programmcode eine Videowiedergabe, um die Umwandlung von Text in Sprache durchzuführen (120). Während dieser Umwandlung kann der Programmcode Schlüssel-Entitäten aus dem umgewandelten Text extrahieren und hat eine Videozeitleiste mit der Sprache und den extrahierten Entitäten zugewiesen.
  • In einigen Ausführungsformen der vorliegenden Erfindung erstellt und indexiert der Programmcode (der kognitiven Steuerungsroutine) Text- und Video-Metadaten mit den zugehörigen Zeitleisten (130). Das Erstellen und Indexieren von Metadaten ermöglicht ein Indexieren der Informationen, um die gewünschten Suchergebnisse für den Text oder die Bilder bereitzustellen. In einigen Ausführungsformen der vorliegenden Erfindung lernt der Programmcode aus früheren Suchaggregationen, um Muster für neue Suchen zu erstellen. Als Teil des Indexierens des Videos und um die vorstehend genannten Zeitleisten zu erstellen, konvertiert der Programmcode in Ausführungsformen der vorliegenden Erfindung das Video in einzelne zeitliche Aufnahmen (z.B. Fragmente). Um das Video auf diese Weise zu segmentieren, kann sich der Programmcode bestehende Ansätze für die Videosegmentierung zu Nutze machen, zu denen Aufnahmenübergänge gehören, ohne darauf beschränkt zu sein. Zum Beispiel kann der Programmcode in einigen Ausführungsformen der vorliegenden Erfindung einen Aufnahme-Segmentierungsalgorithmus verwenden, um nicht nur zu erkennen, ob ein Aufnahmenübergang tatsächlich stattgefunden hat, sondern auch eine genaue Stelle, an der ein Aufnahmenübergang in einem in Frage kommenden Intervall für Aufnahmenübergänge stattgefunden hat, der durch Durchführen eines Farbhistogrammvergleichs erhalten wurde, indem Makroblocktyp-Informationen oder Bewegungsvektorinformationen verwendet werden. In einigen Ausführungsformen der vorliegenden Erfindung kann der Programmcode Aufnahmenübergänge erkennen, indem er einen Erkennungsalgorithmus anwendet, der ein Farbhistogramm zwischen zwei benachbarten Einzelbildern oder zwei Einzelbildern, die durch ein bestimmtes Zeitintervall voneinander getrennt sind, als Eingabe für die Aufnahmensegmentierung verwendet. Sobald die Aufnahmen des Videos segmentiert sind, kann der Programmcode bereits vorhandene Techniken der Bilderkennung und/oder Bildanalytik anwenden, um relevante Objekte, Entitäten und Schauspieler aus dem Video zu extrahieren. Somit segmentiert der Programmcode das Video in Fragmente.
  • Auf der Grundlage des Erstellens von Indexen für Videodateien und Repositorys liefert der Programmcode als Reaktion auf Abfragen sowohl Suchergebnisse als auch Empfehlungen (140). In einigen Ausführungsformen der vorliegenden Erfindung ordnet der Programmcode Suchergebnisse, um ein empfohlenes Videoergebnis bereitzustellen. Wie vorstehend erörtert, kann ein Benutzer ein Video nach einem bestimmten Objekt oder einer Konfiguration von Objekten durchsuchen, zum Beispiel nach einem Bild einer bestimmten Person, die ein Pferd reitet. (Wie vorstehend erörtert, fordert der Programmcode in einigen Ausführungsformen der vorliegenden Erfindung, bevor er einem Benutzer die Anwesenheit einer Person in Videomedien anzeigt, die Zustimmung der Person an und empfängt sie.) Der Programmcode stellt Empfehlungen für Ergebnisse bereit, die eine Stelle in einem oder mehreren Videos in einem Repository mit potenziell relevanten Bildern umfassen. Der Programmcode stellt in Ausführungsformen der vorliegenden Erfindung auch Suchergebnisse in flexibleren Formaten bereit, darunter ein Festlegen einer Reihenfolge von Suchantworten, um eine einzelne aggregierte Videoantwort durch Zusammenfügen von extrahierten relevanten Abschnitten (definierte Start-/Endzeit) aus dem Videoinhalt, der durchsucht wird, bereitzustellen, aber nicht darauf beschränkt. Wenn es sich zum Beispiel bei von dem Benutzer bereitgestellten Suchparametern um den Namen einer bestimmten Person und die Beschreibung handelt, dass diese Person Fahrrad fahren sollte, kann der Programmcode als Suchergebnisse ein neues Video erstellen, bei dem es sich um eine Zusammenfassung aller gesuchten Videosegmente handelt, in denen die Person Fahrrad fährt. In diesem Beispiel stellt der Programmcode in einigen Ausführungsformen der vorliegenden Erfindung dieses Ergebnis nicht bereit, wenn die betreffende Person nicht (per E-Mail, Benutzeroberfläche usw.) zugestimmt hat, in den Medien gefunden zu werden.
  • 2 veranschaulicht einen Arbeitsablauf 200, bei dem Videos hochgeladen und durch den Programmcode verarbeitet werden, um die in 3 veranschaulichte Suchfunktionalität zu ermöglichen. 2 veranschaulicht, wie Programmcode, der auf einem oder mehreren Prozessoren in einigen Ausführungsformen der vorliegenden Erfindung ausgeführt wird, einen Suchindex erstellt, um ein Suchen nach einem oder mehreren Videos zu ermöglichen. Um den Index zu erstellen, extrahiert und identifiziert der Programmcode Entitäten (z.B. Schauspieler, Objekte, Orte usw.) in dem einen oder den mehreren Videos und verknüpft diese Entitäten mit Zeiten innerhalb des einen oder der mehreren Videos, um ein Suchen zu ermöglichen. In einigen Ausführungsformen der vorliegenden Erfindung verknüpft der Programmcode zum Indexieren des einen oder der mehreren Videos Start- und Endzeiten (die ein Fragment mit den Entitäten umschließen) innerhalb des einen oder der mehreren Videos mit den durch den Programmcode identifizierten Entitäten. Wie in 1 erörtert, können die Entitäten, bei denen es sich um Personen handelt, in einigen Ausführungsformen der vorliegenden Erfindung ihre Zustimmung dazu geben oder verweigern, dass sie als Suchergebnisse bereitgestellt werden.
  • Unter Bezugnahme auf 2 wandelt der auf einem oder mehreren Prozessoren ausgeführte Programmcode ein oder mehrere Videos in zeitliche Aufnahmen (z.B. Fragmente, Segmente) um (210). Um das eine oder die mehreren Videos zu segmentieren, kann der Programmcode vorhandene Fähigkeiten zur Übersetzung von Aufnahmen nutzen. Zum Beispiel kann der Programmcode in einigen Ausführungsformen der vorliegenden Erfindung eine automatische Erkennung von Videoszenen nutzen, um das eine oder die mehreren Videos in semantische Szenen (z.B. Aufnahmen, Fragmente) zu unterteilen, wobei bestehende Technologien, darunter IBM Watson® Media Video Enrichment, genutzt werden, aber nicht darauf beschränkt. In Ausführungsformen der vorliegenden Erfindung kann der Programmcode IBM Watson® Video Enrichment verwenden, um das eine oder die mehreren Videos in semantische Abschnitte zu unterteilen, indem der Audio- und Videoinhalt der Szenen aggregiert wird. In Ausführungsformen der vorliegenden Erfindung können verschiedene bestehende Technologien zur Übersetzung von Aufnahmen verwendet werden, um das eine oder die mehreren Videos in Fragmente zu segmentieren, die mit Entitäten verknüpft sein können, die Metadaten zum Durchsuchen bereitstellen.
  • Sobald das eine oder die mehreren Videos in Fragmente segmentiert sind, extrahiert der Programmcode Entitäten, darunter Objekte, Entitäten, Schauspieler, Orte usw., aber nicht darauf beschränkt, sowohl aus den Bildern als auch aus dem den Fragmenten zugehörigen Audiomaterial (220). So werden verknüpfte Metadaten, die ein Durchsuchen des Videoinhalts ermöglichen, durch den Programmcode erzeugt, und zwar beruhend auf: 1) einem Identifizieren von Bildern, einschließlich eingebetteten Textes, innerhalb der Fragmente; 2) einem Identifizieren von (gesprochenen) Entitäten in Audiomaterial gleichzeitig mit den Fragmenten; 3) einem Identifizieren von Entitäten in den Fragmenten auf der Grundlage darauf, dass es sich bei Entitäten um ein Benutzerprofil einer Person handelt, die das eine oder die mehreren Videos hochgeladen hat; und/oder 4) einem Identifizieren von Entitäten in den Fragmenten auf der Grundlage von Verweisen auf Entitäten, die von dem Programmcode aus einem Videoinhalt extrahiert wurden, die von dem Benutzer zu einem früheren Zeitpunkt hochgeladen wurden.
  • Der Programmcode kann Bilder, einschließlich eingebetteten Textes, innerhalb der Fragmente erkennen. In einigen Ausführungsformen der vorliegenden Erfindung verwendet der Programmcode zum Extrahieren von Entitäten aus den Bildern (z.B. Einzelbildern), welche die Fragmente aufweisen, bestehende Techniken der Bilderkennung und/oder Bildanalytik (225). Wie nachstehend erörtert, verknüpft der Programmcode die extrahierten Entitäten mit Zeitpunkten (Segmenten) in dem einen oder den mehreren Videos. Zu Bilderkennungsalgorithmen, die von dem Programmcode in Ausführungsformen der vorliegenden Erfindung verwendet werden können, gehören optische Zeichenerkennung (OCR), Musterabgleich und Gradientenabgleich, Gesichtserkennung, Nummernschildabgleich und/oder Szenenidentifizierung oder Erkennung von Szenenänderungen, ohne darauf beschränkt zu sein.
  • Der Programmcode kann auch verschiedene Techniken des maschinellen Lernens und des Deep Learnings nutzen, um diese Bilderkennung und -analyse durchzuführen, wobei Verfahren des maschinellen Lernens und des Deep Learning ein nützlicher Ansatz für die Bilderkennung sein können, darunter ein Verwenden eines neuronalen Faltungsnetzes (CNN). Dies ist nur ein Beispiel für ein Lernmodell, das in Ausführungsformen der vorliegenden Erfindung verwendet werden kann, und wird zu veranschaulichenden Zwecken bereitgestellt, nicht etwa, um irgendwelche Einschränkungen oder Anforderungen vorzuschlagen. CNNs werden so genannt, weil sie Faltungsschichten verwenden, die eine Faltungsoperation auf die Eingabe anwenden (eine mathematische Operation an zwei Funktionen, um eine dritte Funktion zu erzeugen, die ausdrückt, wie die Form der einen durch die andere abgeändert wird) und das Ergebnis an die nächste Schicht weitergeben. CNNs werden in großem Umfang in (Bild-)Erkennungssystemen eingesetzt und liefern Spitzenergebnisse bei der Segmentierung, Objekterkennung und Objektfindung. CNNs können eine beliebige Anzahl von Dimensionen aufweisen, wobei aber die meisten bestehenden CNNs zweidimensional sind und einzelne Bilder verarbeiten. Diese Bilder enthalten Pixel in einem zweidimensionalen (2D-) Raum (Länge, Breite), die durch einen Satz von zweidimensionalen Filtern verarbeitet werden, um zu verstehen, welcher Satz von Pixeln am besten der endgültigen Klassifizierung der Ausgabe entspricht. Bei einem dreidimensionalen CNN (3D-CNN) handelt es sich um eine Erweiterung des eher herkömmlichen zweidimensionalen CNN, und ein 3D-CNN wird üblicherweise bei Problemen verwendet, welche die Klassifizierung von Videos betreffen. 3D-CNNs akzeptieren viele Bilder, oft aufeinanderfolgende Einzelbilder eines Videos, und verwenden 3D-Filter, um die 3D-Pixelmenge zu verstehen, die ihnen vorgelegt wird.
  • Der Programmcode kann (gesprochene) Entitäten in dem Audiomaterial identifizieren, die mit den Fragmenten einhergehen. In einigen Ausführungsformen der vorliegenden Erfindung extrahiert der Programmcode Entitäten aus dem Audiomaterial, das die Bilder (z.B. Einzelbilder) begleitet, welche die Aufnahmen oder Fragmente aufweisen, und zwar unter Verwendung eines oder mehrerer Werkzeuge zur kognitiven Analyse, darunter Sprache-zu-Text-Funktionen, aber nicht darauf beschränkt (227). Wie hierin erörtert werden wird, verknüpft der Programmcode die extrahierten Entitäten mit Zeitpunkten (Segmenten) in dem einen oder den mehreren Videos. Um die Audiodaten zu analysieren, kann der Programmcode Schnittstellen zur Anwendungsprogrammierung (APIs) verwenden, welche das Audiomaterial verarbeiten. Zu den verschiedenen APIs können eine Tonanalysator-API, eine API für Persönlichkeitsanalysen, eine Text-zu-Sprache-API und eine Übersetzungs-API gehören, ohne darauf beschränkt zu sein.
  • In einigen Ausführungsformen der vorliegenden Erfindung umfasst der Programmcode, der Entitäten aus den Bildern extrahiert, den Programmcode, der Entitäten auf der Grundlage des Verwendens von OCR extrahiert, um eingebetteten Text in den Bildern zu erkennen. Beispiele für eingebetteten Text in Videodateien umfassen den Filmabspann, der Namen von Schauspielern, Regisseuren, Technikern usw. zeigen kann, ohne darauf beschränkt zu sein. Der Programmcode kann OCR-Funktionen für Bilder nutzen, um relevante Metadaten über das Video zu extrahieren.
  • In einigen Ausführungsformen der vorliegenden Erfindung kann der Programmcode einen vorhandenen kognitiven Agenten verwenden, um Entitäten (Personen, Ereignisse, Schauspieler, Objekte, Orte usw.) in dem Audiomaterial (z.B. Sprache) in dem einen oder den mehreren Videos zu identifizieren. Ein derartiger kognitiver Agent, der in Ausführungsformen der vorliegenden Erfindung verwendet werden kann, ist IBM Watson®. Zum Beispiel stellt der Programmcode in einigen Ausführungsformen der vorliegenden Erfindung Schnittstellen zu den Schnittstellen zur Anwendungsprogrammierung (APIs) her, die Teil eines bekannten kognitiven Agenten sind, wie zum Beispiel die Schnittstelle zur Anwendungsprogrammierung (API) IBM Watson®, ein Produkt der International Business Machines Corporation, um Entitäten in dem Audiomaterial zu identifizieren, darunter ein Identifizieren von Themen und/oder Kontexten des Audiomaterials in dem einen oder den mehreren Videos, aber nicht darauf beschränkt. Zum Beispiel umfassen drei APIs, die in Ausführungsformen der vorliegenden Erfindung verwendet werden können, IBM Watson® Natural Language Classifier (NLC), IBM Watson® Natural Language Understanding und IBM Watson® Tone Analyzer, ohne darauf beschränkt zu sein. Zusätzlich können Ausführungsformen der vorliegenden Erfindung bestimmte Funktionen der Sprache-zu-TextAnalyse-Funktionalität nutzen, die auch eine Extraktion von Entitäten umfassen. Der Programmcode wandelt das Audiomaterial in Text um und kann dann die Extraktion von Entitäten zum Extrahieren von Entitäten aus den textlichen Darstellungen der Audiodokumente anwenden, während diese indexiert werden. In Ausführungsformen der vorliegenden Erfindung kann der Programmcode eine Gruppe von APIs verwenden, die als Watson Discovery® bezeichnet werden. Bestimmte APIs in Watson Discovery® können in Ausführungsformen der vorliegenden Erfindung von dem Programmcode verwendet werden, darunter NLP-Fähigkeiten, die der Programmcode verwenden kann, um Elemente aus dem Audiomaterial zu extrahieren, darunter Empfindung, Entitäten, Konzepte und/oder semantische Rollen, aber nicht darauf beschränkt. In einigen Ausführungsformen der vorliegenden Erfindung können die von dem einen oder den mehreren Programmen genutzten APIs Retrieve and Rank (d.h. einen über die IBM Watson® Developer Cloud verfügbaren Dienst, der die relevantesten Informationen aus einer Sammlung von Dokumenten anzeigen kann), Konzepte/visuelle Einblicke, Trade-Off-Analytik, Dokumentenumwandlung und/oder Beziehungsextraktion umfassen, aber nicht darauf beschränkt. Wie der Fachmann versteht, werden die IBM Watson®-APIs und andere Dienste nur bereitgestellt, um ein Beispiel für mögliche APIs und bestehende Technologien zu geben, die in Ausführungsformen der vorliegenden Erfindung integriert werden können, und um die Funktionalität des Programmcodes in Ausführungsformen der vorliegenden Erfindung zu veranschaulichen, unabhängig von der Integration einer bestehenden kognitiven Steuerungsroutine.
  • Der Programmcode kann in Ausführungsformen der vorliegenden Erfindung die kognitive Datenverarbeitung von Watson verwenden, um einen textlichen Inhalt aus dem einen oder den mehreren Videos zu erzeugen, indem er Spracherkennung, maschinelle Übersetzung, Text-zu-Sprache und andere semantische Werkzeuge bereitstellt, die eine Erkennung von Entitäten in dem Audiomaterial ermöglichen. Zu Werkzeugen, die zum Erstellen eines textlichen Inhalts verwendet werden, kann auch der IBM Watson® Speech to Text-API-Endpunkt gehören. Programmcode verarbeitet in einigen Ausführungsformen der vorliegenden Erfindung Medien (Videos) durch die IBM® Cloud Video Plattform, um ein zugehöriges Audiomaterial zu erzeugen. Der Programmcode erzeugt eine textliche Darstellung des Audiomaterials durch Anwenden eines Sprache-zu-Text-Dienstes auf das Audiomaterial.
  • Der Programmcode kann Entitäten in den Fragmenten auf der Grundlage darauf identifizieren, dass es sich bei Entitäten um ein Benutzerprofil einer Person handelt, die das eine oder die mehreren Videos hochgeladen hat. Wenden wir uns wieder 2 zu: In einigen Ausführungsformen der vorliegenden Erfindung verwendet der Programmcode Benutzerprofildaten des Benutzers, der das eine oder die mehreren Videos hochgeladen hat, um eine Basisliste von Entitäten zu erstellen, und identifiziert diese Entitäten in Fragmenten in dem einen oder den mehreren Videos (230). Der Programmcode ergänzt die Daten, die mit den Fragmenten aus den Bild- und Textanalysen verknüpft sind, mit den personalisierten Entitätsidentifizierungen (240). In einigen Ausführungsformen der vorliegenden Erfindung erzeugt der Programmcode eine Datenstruktur aus verfügbaren Benutzerinformationen, darunter Social-Media-Profildaten und/oder Identifizierungskennzeichen in den sozialen Medien, aber nicht darauf beschränkt, und nutzt die Datenstruktur, um Daten zum Indexieren des Videoinhalts bereitzustellen, um bei der Ermöglichung einer textlich definierten Bildsuche in dem Videoinhalt zu helfen. Wie in 1 erörtert, kann der Programmcode auf verschiedene Aspekte einer digitalen Garderobe des Benutzers zugreifen, um diese Basisliste zu extrahieren.
  • Der Programmcode kann Entitäten in den Fragmenten auf der Grundlage von Verweisen auf Entitäten identifizieren, die der Programmcode aus einem Videoinhalt extrahiert hat, den der Benutzer zu einem früheren Zeitpunkt hochgeladen hat. In einigen Ausführungsformen der vorliegenden Erfindung analysiert der Programmcode kognitiv die Fragmente in dem einen oder den mehreren Videos, um Entitäten zu identifizieren, die zuvor in zuvor von dem Benutzer hochgeladenen Videos identifiziert wurden (250). Der Programmcode ergänzt die Daten, die mit den Fragmenten aus den Bild, Text- und Profilanalysen verknüpft sind, mit den historischen Entitätsidentifizierungen (260). In einigen Ausführungsformen der vorliegenden Erfindung verwendet der Programmcode historisch extrahierte Entitäten aus früher hochgeladenen Videos von demselben Hochladenden (Eigentümer), die zur gleichen Videoklassifizierung und Unterklassifizierung gehören.
  • In einigen Ausführungsformen der vorliegenden Erfindung zeigt der Programmcode dem Benutzer, der das eine oder die mehreren Videos hochgeladen hat, über eine Benutzerschnittstelle eine Liste der extrahierten Entitäten (aus dem Bild, den Sprache-zu-Text-Audiomaterial, dem Benutzerprofil und den historischen kognitiven Videoanalysen) und die Verknüpfungen der extrahierten Entitäten mit den Fragmenten (d.h. zeitlichen Aufnahmen) an, um von dem Benutzer eine Rückmeldung zu den extrahierten Entitäten und den Verknüpfungen einzuholen (270). Beruhend auf dem Erhalten einer Rückmeldung, die bestimmte Entitätsidentifizierungen korrigiert, überarbeitet der Programmcode die kognitiven Analysen (z.B. die in den kognitiven Analysen verwendeten Algorithmen), damit sie in Zukunft genauer sind (280).
  • In Ausführungsformen der vorliegenden Erfindung erzeugt der Programmcode einen Suchindex für das eine oder die mehreren Videos auf der Grundlage des Verknüpfens der extrahierten Entitäten (die beruhend auf einer Bildanalyse, einer Textanalyse von umgewandeltem Audiomaterial, einer Benutzerprofilanalyse (z.B. mit Zustimmung des Benutzers) und/oder einer historischen Entitätsextraktionsanalyse extrahiert werden) mit bestimmten Videofragmenten (z.B. zeitlichen Aufnahmen) (290). Die Aufnahmen und/oder Videofragmente, mit denen jede Entität verknüpft ist, weisen jeweils eine bestimmte Start- und Endzeit auf. In einigen Ausführungsformen der vorliegenden Erfindung umfasst jede Verknüpfung für eine Entität eine Startzeit und eine Endzeit innerhalb der Zeitleiste des Videos, mit dem die Entität verknüpft ist.
  • 3 ist eine Veranschaulichung 300 verschiedener Aspekte, die ein Indexieren eines oder mehrerer Videos zum Durchsuchen ermöglichen, wie in dem Arbeitsablauf aus 2 beschrieben. Wie in 3 veranschaulicht, wird eine kognitive Videosuche 310 ermöglicht, indem der Programmcode Entitäten extrahiert und die Entitäten mit Segmenten des Videos verknüpft, um einen Suchindex zu erstellen. Um Entitäten zu extrahieren, verwendet der Programmcode, wie in 2 erläutert, externe Daten zum kognitiven Analysieren des Videos, zu denen Benutzerprofilelemente gehören, ohne darauf beschränkt zu sein, zu denen in diesem Beispiel ein soziales Profil 320 der Person, die das Video hochgeladen hat, sowie soziale Bild- und Video-Identifizierungskennzeichen 330, die der Person zugehörig sind, gehören. Der Programmcode kann auch ein Bild-Metadaten-Repository 340 verwenden, um externe Informationen zu erhalten, um verschiedene Entitäten innerhalb des Videos zu identifizieren. Der Programmcode verwendet eine Funktion zur Umwandlung von Sprache in Text 350, um Entitäten aus dem Audiomaterial in dem Video zu extrahieren. Wie vorstehend erörtert, verwendet der Programmcode eine Dezimierung und Erkennung von Videoaufnahmen 350, um das Video derart zu segmentieren, dass die extrahierten Entitäten mit Fragmenten (Aufnahmen, einzelnen Segmenten) verknüpft werden können. In Ausführungsformen der vorliegenden Erfindung erzeugt der Programmcode einen Videoindex für jedes Video und speichert den Index in einem Video-Index-Repository 360 zur Verwendung beim Suchen.
  • 4 veranschaulichte einen Arbeitsablauf 400, der sich auf ein Suchen nach den zuvor hochgeladenen Inhalten bezieht. Wie vorstehend erörtert, kann der Programmcode in Ausführungsformen der vorliegenden Erfindung ein oder mehrere Videos durchsuchen, die gemäß den in 2 beschriebenen Aspekten indexiert wurden, wobei Text, Sprache, Bild(er) und/oder andere Videos als Sucheingaben verwendet werden. Bestimmte Beispiele für Arten von Suchvorgängen, die ausgeführt werden können, wurden bereits beschrieben (z.B. Suchen nach einem Film, in dem ein bestimmter Schauspieler lächelt, Suchen nach einem Videoclip, in dem ein bestimmtes Familienmitglied an einem bestimmten geografischen Ort ein Pferd reitet, Suchen nach Bildungsinhalten in einem Teamraum und nach Voraussetzungen für das Ansehen des Inhalts). In einigen Ausführungsformen der vorliegenden Erfindung initiiert ein Benutzer eine Abfrage, indem er einem Programmcode, der auf mindestens einer Verarbeitungseinheit ausgeführt wird, Suchparameter in Form von Text, Sprache, Bild(ern) und/oder anderen Videos bereitstellt (410). Der Programmcode erhält die Parameter und identifiziert relevante Entitäten aus der bereitgestellten Sucheingabe und verwendet die identifizierten relevanten Entitäten zum Durchsuchen eines indexierten Repositorys nach Videoergebnissen (420).
  • Der Programmcode kann Suchergebnisse auf mehr als eine Weise bereitstellen. In einigen Ausführungsformen der vorliegenden Erfindung bringt der Programmcode die Suchergebnisse auf der Grundlage einer Relevanz für die Parameter (z.B. Suchbegriffe) in eine Rangfolge (430).
  • In Ausführungsformen der vorliegenden Erfindung kann der Programmcode so konfiguriert sein, dass er verschiedene Arten von Ergebnissen bereitstellt. Der Programmcode stellt Ergebnisse auf der Grundlage der Konfiguration bereit (435). In einigen Ausführungsformen der vorliegenden Erfindung stellt der Programmcode dem Benutzer als Reaktion auf die Abfrage (440) die Ergebnisse in einer Rangfolge bereit. Die von dem Programmcode bereitgestellten Ergebnisse weisen spezifische und relevante Videofragmente (Aufnahmen) in der Antwort auf. In einigen Ausführungsformen der vorliegenden Erfindung erzeugt der Programmcode die Antwort, indem er die ursprünglichen Videos physisch fragmentiert, um eine Videoantwort mit Fragmenten entsprechend der Abfrage zu erstellen (Fragmente, die mit den identifizierten Entitäten verknüpft sind), oder indem er eine spezielle Logik verwendet, die nur die relevanten Fragmente abspielt, während das Video so abgespielt wird, dass es zwischen bestimmten Start- und Endzeiten abgespielt wird. In einigen Ausführungsformen der vorliegenden Erfindung identifiziert der Programmcode als Reaktion auf eine bestimmte Suche eine Identifizierungsbeziehung und -reihenfolge innerhalb von Suchergebnissen. So kann der Programmcode eine einzelne aggregierte Videoantwort bereitstellen, die dann wieder dem Benutzer bereitgestellt werden kann (z.B. können Videoantworten einer mehrjährigen Fernsehserie chronologisch nach Jahr und Episode angeordnet werden).
  • In einigen Ausführungsformen der vorliegenden Erfindung stellt der Programmcode ein oder mehrere neu erzeugte Medien als Suchergebnisse bereit. Wie in dem vorstehenden Beispiel bringt der Programmcode die Suchergebnisse auf der Grundlage einer Relevanz für die Parameter (z.B. Suchbegriffe) in eine Rangfolge (430). Der Programmcode erstellt ein neues Video aus den spezifischen und relevanten Videofragmenten (Aufnahmen), welche die Suchergebnisse (445) aufweisen. Der Programmcode stellt dem Benutzer das neue Video als Suchergebnis bereit (455). In einigen Ausführungsformen der vorliegenden Erfindung kann der Programmcode das Suchergebnis (das neue Video) automatisch in einer grafischen Benutzerschnittstelle auf einer von dem Benutzer verwendeten Datenverarbeitungseinheit abspielen. In einigen Ausführungsformen der vorliegenden Erfindung erstellt der Programmcode nicht nur ein einzelnes neues Video, sondern erzeugt auch mehrere Ergebnisse, bei denen es sich jeweils um einzelne neue Videos handelt, die der Programmcode in eine Rangfolge bringt und dem Benutzer in einer Rangfolge zurückmeldet. Der Programmcode könnte verschiedene Fragmente bereitstellen, die in verschiedenen, in eine Rangfolge gebrachten Ergebnissen zusammengefügt sind, und/oder Videos, bei denen dieselben Fragmente in verschiedenen Reihenfolgen zusammengefügt sind. In einzelnen Videos kann die Reihenfolge der Videofragmente, die zum Erzeugen der neuen Medien zusammengefügt werden, der Relevanz der Fragmente für die Suchparameter entsprechen. In einigen Ausführungsformen der vorliegenden Erfindung bringt der Programmcode Ergebnisse nicht in eine Rangfolge, sondern erzeugt neue Medien als Antwort in der Reihenfolge der Zeitleiste in dem ursprünglichen Video, das durchsucht wird.
  • Wie in 4 veranschaulicht ist, kann der Programmcode in verschiedenen Ausführungsformen der vorliegenden Erfindung eine oder mehrere der aufgezählten Ergebnisarten bereitstellen.
  • 5A und 5B veranschaulichen zwei verschiedene Arbeitsabläufe 500, 505 in einigen Ausführungsformen der vorliegenden Erfindung: Erstellen eines Suchindex (z.B. Videohochladeablauf 500) und Ausführen einer Suche (z.B. Videosuchablauf 505), sobald der Index erstellt wurde, in einigen Ausführungsformen der vorliegenden Erfindung. Die Verfahren sind visuell in 5A und 5B getrennt, werden aber zur Veranschaulichung innerhalb derselben Nummerierung einer Zeichnung bereitgestellt.
  • In 5A indexiert der Programmcode ein oder mehrere Videos in dem Videohochladeablauf 500. Wie in 5A dargestellt ist, können bestimmte Aspekte dieses Arbeitsablaufs 500 gleichzeitig durchgeführt werden. Dieser Arbeitsablauf beginnt in einigen Ausführungsformen der vorliegenden Erfindung, wenn ein Benutzer ein Video hochlädt, wobei während des Hochladens verschiedene Kennungen bereitgestellt werden (510). In einigen Ausführungsformen der vorliegenden Erfindung können die Kennungen eine Klassifizierung (z.B. Bildung) und eine Unterklassifizierung (z.B. bestimmte Technologie, Fernsehserie) umfassen. Der Programmcode, der auf einem oder mehreren Prozessoren ausgeführt wird, erhält das hochgeladene Video und wandelt das Video in zeitliche Aufnahmen um, wobei Funktionen verwendet werden, zu denen ein Aufnahmenübergang gehört, ohne darauf beschränkt zu sein (515). Der Programmcode ermittelt, ob ein Benutzerprofil (z.B. ein Social-Media-Profil, eine digitale Garderobe, usw.) für den Benutzer verfügbar ist (520). Auf der Grundlage des Feststellens, dass ein Profil verfügbar ist, verwendet der Programmcode Elemente des Benutzerprofils (z.B. Informationen aus einem sozialen Netzwerk über den Benutzer, ein Profilbild aus einem sozialen Netzwerk, soziale Bild/Video-Identifizierungskennzeichen), um Entitäten innerhalb von Fragmenten des Videos zu identifizieren (525). Der Programmcode identifiziert historische Entitäten aus zuvor von dem Benutzer hochgeladenen Videos derselben Klassifizierung und/oder Unterklassifizierung und durchsucht die Fragmente des Videos, um zu ermitteln, ob die historischen Entitäten vorliegen (530). In einigen Ausführungsformen der vorliegenden Erfindung stellt der Programmcode dem Benutzer über eine Schnittstelle eine Liste identifizierter Entitäten (in dieser Ausführungsform diejenigen, die unter Verwendung der Benutzerprofilelemente und historischer Entitäten aus verwandten Videos identifiziert wurden) bereit (535) und bittet um eine Rückmeldung bezüglich dieser identifizierten Entitäten (540). Der Benutzer stellt dem Programmcode die Rückmeldung bereit, und der Programmcode passt die identifizierten Entitäten (und möglicherweise die zum Identifizieren der Entitäten verwendeten Algorithmen) auf der Grundlage dieser Rückmeldung an (545).
  • In einigen Ausführungsformen der vorliegenden Erfindung stellt der Programmcode fest, dass kein Profil verfügbar ist, und verwendet Bilderkennung und Bildanalytik, um Entitäten innerhalb des Videos zu extrahieren und zu identifizieren und die extrahierten Entitäten den zeitlichen Aufnahmen zuzuordnen, was ein Verknüpfen jeder identifizierten Entität mit einer Position auf der Videozeitleiste (z.B. Start- und Endzeit) umfasst (522). In dieser Ausführungsform der vorliegenden Erfindung wird die Verwendung von Bilderkennung und Bildanalytik als Alternative zur Identitätsidentifizierung unter Verwendung eines Benutzerprofils dargestellt, wobei jedoch in einigen Ausführungsformen der vorliegenden Erfindung der Programmcode beide dieser Analysen durchführt, um Entitäten innerhalb eines Videos zu identifizieren, die er später zum Erstellen eines Index verwendet.
  • In einigen Ausführungsformen der vorliegenden Erfindung wandelt der Programmcode Sprache/Audiomaterial in dem Video in Text um (550). Wie in 5A veranschaulicht ist, können diese Umwandlung und verschiedene andere Aspekte gleichzeitig mit anderen Aspekten durchgeführt werden, darunter eine Verwendung des Benutzerprofils (525) und historischer Entitäten (530) zum Identifizieren von Entitäten innerhalb von zeitlichen Aufnahmen eines Videos sowie ein Durchführen von Bilderkennung und -analytik (522) zum Identifizieren von Entitäten, aber nicht darauf beschränkt. Diese gleichzeitige Zeitplanung ist ein Beispiel für eine mögliche Konfiguration, da verschiedene Aspekte gleichzeitig und bestimmte Aspekte der Reihe nach durchgeführt werden können, und zwar je nach Konfiguration der verschiedenen Aspekte in Ausführungsformen der vorliegenden Erfindung. Auf der Grundlage des Umwandelns der Sprache (oder eines anderen Audiomaterials oder des Videomaterials) in Text, extrahiert der Programmcode Entitäten aus dem Text (560). In einigen Ausführungsformen der vorliegenden Erfindung extrahiert der Programmcode nur Entitäten, die von dem Programmcode als relevant befunden werden, d.h., dass sie eine Schwellenanzahl von Malen in dem Video erscheinen, so dass sie als Schlüsselwörter identifiziert werden können. In einigen Ausführungsformen der vorliegenden Erfindung verwendet der Programmcode OCR, um Entitäten aus relevantem, in das Video eingebettetem Text zu extrahieren (565). Der Programmcode verknüpft die aus dem Text und durch OCR extrahierten Entitäten mit den zeitlichen Aufnahmen oder Fragmenten (d.h. Positionen auf der Zeitleiste des Videos mit einer Startzeit und einer Endzeit) (570).
  • Beruhend darauf, dass Entitäten unter Verwendung des Benutzerprofils, von historischen Entitäten, von Bilderkennung und -analytik, von Benutzer-Rückmeldungen, der Verarbeitung natürlicher Sprache und/oder von OCR identifiziert wurden, erzeugt der Programmcode einen Index für das Video auf der Grundlage der Verknüpfungen zwischen den Entitäten und den zeitlichen Aufnahmen (575). So wird jede Entität auf einer Zeitleiste des Videos indexiert.
  • Unter Bezugnahme auf 5B kann nach der Indexierung eines Videos der Videoinhalt durchsucht werden. Der Videosuchablauf 505 beginnt damit, dass ein Benutzer unter Verwendung von Text, Sprache, Bild und/oder Video als Suchparameter nach einem Video sucht (576). Der Programmcode identifiziert Schlüssel-Entitäten (z.B. Schauspieler, Objekte, Orte, Zeiten usw.) aus der Suchanfrage (578). Der Programmcode führt die Suche anhand des (durch den Videohochladeablauf 500 erstellten) Suchindex durch (580). Der Programmcode erhält Ergebnisse mit der Videozeitleiste (Start- und Endzeiten) beruhend auf den zeitlichen Aufnahmen, die den Entitäten zugehörig sind, und bringt die Ergebnisse auf der Grundlage eines oder mehrerer vordefinierter Faktoren (z.B. Relevanz, Anzahl übereinstimmender Entitäten usw.) in eine Rangfolge (581). In einigen Ausführungsformen der vorliegenden Erfindung kann der Programmcode Algorithmen wie zum Beispiel IBM Watson® Retrieve and Rank verwenden, um die zurückgemeldeten Ergebnisse in eine Rangfolge zu bringen.
  • In einigen Ausführungsformen der vorliegenden Erfindung stellt der Programmcode fest, dass eine bestimmte Reihenfolge der Ergebnisse von den Suchparametern abhängt (582). Auf der Grundlage dieser Feststellung erstellt der Programmcode ein neues Video unter Verwendung einer Ergebniszeitleiste beruhend auf der anwendbaren Reihenfolge (585). Wenn der Programmcode keine Reihenfolge für die Ergebnisse festlegt, zeigt der Programmcode dem Benutzer jedes Ergebnis in einer Weise an, die es dem Benutzer ermöglicht, direkt zu einem relevanten Video auf der Zeitleiste zu navigieren oder ein einzelnes Ergebnisvideo mit allen Ergebnissen abzuspielen (590). In einigen Ausführungsformen der vorliegenden Erfindung kann der Programmcode das neue Video erstellen (585), und zwar zusätzlich zum Anzeigen jedes Ergebnisses und eines Ermöglichens einer Navigation auf der Zeitleiste (590).
  • Ausführungsformen der vorliegenden Erfindung umfassen ein auf einem Computer ausgeführtes Verfahren, ein Computerprogrammprodukt und ein Computersystem, wobei ein auf mindestens einem Prozessor ausgeführter Programmcode von einem Benutzer über einen Client ein Video erhält, das in ein Repository hochgeladen werden soll, auf das der eine oder die mehreren Prozessoren Zugriff haben. Der Programmcode segmentiert das Video in zeitliche Aufnahmen, wobei die zeitlichen Aufnahmen eine Zeitleiste des Videos aufweisen. Der Programmcode analysiert das Video kognitiv, indem er einen Bilderkennungsalgorithmus auf das Video anwendet, um Bild-Entitäten in jeder zeitlichen Aufnahme des Videos zu identifizieren. Der Programmcode analysiert kognitiv durch Anwenden einer Datenstruktur, die ein Benutzerprofil des Benutzers aufweist, auf die zeitlichen Aufnahmen, um persönliche Entitäten in jeder zeitlichen Aufnahme des Videos zu identifizieren. Der Programmcode erstellt einen Suchindex für das Video unter Verwendung der Benutzer-Entitäten, wobei die Benutzer-Entitäten die Bild-Entitäten und die persönlichen Entitäten aufweisen, wobei jeder Eintrag des Suchindex eine bestimmte Benutzer-Entität aufweist, wobei die bestimmte Benutzer-Entität aus den Benutzer-Entitäten ausgewählt wird, und eine Verknüpfung zu einer bestimmten zeitlichen Aufnahme der zeitlichen Aufnahmen, wobei die Verknüpfung eine Position der bestimmten Entität auf der Zeitleiste des Videos angibt.
  • In einigen Ausführungsformen der vorliegenden Erfindung umfasst der das Benutzerprofil anwendende Programmcode: ein Überwachen der von dem Benutzer über den Client durchgeführten Datenverarbeitungsaktivitäten durch den Programmcode, beruhend darauf, dass sich der Client über ein Netzwerk mit einer oder mehreren Anwendungen verbindet; ein Analysieren der von dem Benutzer in der einen oder den mehreren Anwendungen durchgeführten Datenverarbeitungsaktivitäten durch den Programmcode, um Daten, die für den Benutzer relevante Elemente aufweisen, und Beziehungen zwischen den Elementen und dem Benutzer zu identifizieren; und ein Erstellen der Datenstruktur durch den Programmcode, beruhend auf dem Analysieren, wobei die Datenstruktur das Benutzerprofil aufweist.##
  • In einigen Ausführungsformen der vorliegenden Erfindung umfasst der das Benutzerprofil anwendende Programmcode: ein Umwandeln von nicht-textlichen Elementen in dem Video in einen textlichen Inhalt für jede zeitliche Aufnahme der zeitlichen Aufnahmen durch den Programmcode; und ein Identifizieren der für den Benutzer relevanten Elemente und der Beziehungen zwischen den Elementen und dem Benutzer in dem textlichen Inhalt jeder zeitlichen Aufnahme durch den Programmcode, wobei die Elemente die persönlichen Entitäten aufweisen.
  • In einigen Ausführungsformen der vorliegenden Erfindung speichert der Programmcode den Suchindex in einem indexierten Repository.
  • In einigen Ausführungsformen der vorliegenden Erfindung erhält der Programmcode Suchparameter, die eine oder mehrere relevante Benutzer-Entitäten der Benutzer-Entitäten in dem Suchindex identifizieren. Der Programmcode identifiziert die relevanten Benutzer-Entitäten. Der Programmcode durchsucht das Video nach den relevanten Benutzer-Entitäten, wobei das Suchen ein Zugreifen auf das Index-Repository aufweist, um den Suchindex zum Auffinden der relevanten Benutzer-Entitäten in dem Video zu verwenden.
  • In einigen Ausführungsformen der vorliegenden Erfindung formuliert der Programmcode Suchergebnisse als Reaktion auf das Suchen, wobei die Suchergebnisse die relevanten Benutzer-Entitäten und für jede relevante Benutzer-Entität eine Position der relevanten Benutzer-Entität auf der Zeitleiste aufweisen, wobei die Position eine Startzeit und eine Endzeit aufweist.
  • In einigen Ausführungsformen der vorliegenden Erfindung weist das Formulieren der Suchergebnisse durch den Programmcode ein Einordnen der Suchergebnisse in eine Rangfolge beruhend auf einer Relevanz für die Suchparameter auf.
  • In einigen Ausführungsformen der vorliegenden Erfindung erstellt der Programmcode eine Suchausgabe, wobei das Erstellen aufweist: ein Erhalten eines Teils der zeitlichen Aufnahmen aus dem Video durch den Programmcode, wobei jede zeitliche Aufnahme des Teils für jede für den Benutzer relevante Entität die Position der relevanten Benutzer-Entität auf der Zeitleiste aufweist; und wobei der Programmcode den Teil der zeitlichen Aufnahmen zu einem neuen Video zusammenstellt.
  • In einigen Ausführungsformen der vorliegenden Erfindung stellt der Programmcode dem Benutzer die Suchausgabe über den Client bereit.
  • In einigen Ausführungsformen der vorliegenden Erfindung weist das Zusammenstellen durch den Programmcode ein Zusammenstellen des Teils der zeitlichen Aufnahmen entsprechend der Rangfolge der Suchergebnisse beruhend auf der Relevanz für die Suchparameter durch den Programmcode auf.
  • In einigen Ausführungsformen der vorliegenden Erfindung weist das neue Video mehr als ein einzelnes neues Video auf, wobei das Bereitstellen der Suchausgabe ein Bereitstellen von Verknüpfungen zu jedem der einzelnen neuen Videos aufweist.
  • In einigen Ausführungsformen der vorliegenden Erfindung wird ein Format der Suchparameter ausgewählt aus der Gruppe bestehend aus: Text, Sprache, Bild und Video.
  • In einigen Ausführungsformen der vorliegenden Erfindung weist das Anwenden des Bilderkennungsalgorithmus durch den Programmcode ein Zugreifen auf ein Bild-Metadaten-Repository durch den Programmcode auf, auf das der eine oder die mehreren Prozessoren Zugriff haben.
  • In einigen Ausführungsformen der vorliegenden Erfindung weisen die nicht-textlichen Elemente Sprache und Audiomaterial auf, und das Umwandeln der Elemente weist ein Anwenden eines Algorithmus zur Verarbeitung von Sprache in Text durch den Programmcode auf, um den textlichen Inhalt zu erzeugen.
  • In einigen Ausführungsformen der vorliegenden Erfindung weisen die nicht-textlichen Elemente einen eingebetteten Text in Bildern auf, die das Video umfassen, und das Umwandeln der Elemente durch den Programmcode weist ein Ausführen eines Prozesses zur optischen Zeichenerkennung für den eingebetteten Text durch den Programmcode auf, um den eingebetteten Text in den textlichen Inhalt umzuwandeln.
  • In einigen Ausführungsformen der vorliegenden Erfindung bestimmt der Programmcode vor dem Erzeugen des Suchindex eine Klassifizierung für das Video, und das Erhalten des Videos von dem Benutzer über den Client durch den Programmcode weist darüber hinaus auf, dass der Programmcode die Klassifizierung von dem Benutzer über den Client erhält. Der Programmcode identifiziert in dem Repository ein anderes von dem Benutzer hochgeladenes Video, wobei die Klassifizierung des anderen Videos gleichbedeutend mit der Klassifizierung des Videos ist. Der Programmcode extrahiert aus einem Suchindex des anderen Videos Benutzer-Entitäten, die den Suchindex des anderen Videos aufweisen. Der Programmcode durchsucht das Video nach den Benutzer-Entitäten, die den Suchindex des anderen Videos aufweisen. Der Programmcode findet in dem Video einen Teil der Benutzer-Entitäten, die den Suchindex des anderen Videos aufweisen.
  • In einigen Ausführungsformen der vorliegenden Erfindung weisen die Benutzer-Entitäten darüber hinaus den Teil der Benutzer-Entitäten auf.
  • In einigen Ausführungsformen der vorliegenden Erfindung erzeugt der Programmcode vor dem Erstellen des Suchindex eine Schnittstelle in einer Benutzerschnittstelle des Clients, welche die persönlichen Entitäten und entsprechende Verknüpfungen der persönlichen Entitäten anzeigt, wobei die Schnittstelle einen Eingabepunkt aufweist, durch den der Benutzer eine Rückmeldung bereitstellen kann. Der Programmcode erhält die Rückmeldung von dem Benutzer, die über die Schnittstelle bereitgestellt wird. Der Programmcode aktualisiert die Benutzer-Entitäten auf der Grundlage der Rückmeldung.
  • In einigen Ausführungsformen der vorliegenden Erfindung weisen die eine oder mehreren Anwendungen eine Social-Media-Website auf.
  • In einigen Ausführungsformen der vorliegenden Erfindung weisen die für den Benutzer relevanten Elemente Bilder auf, die der Benutzer auf einer Social-Media-Website veröffentlicht hat, und den Bildern zugehörige Identifizierungskennzeichen.
  • Unter Bezugnahme auf 6 ist eine schematische Abbildung eines Beispiels eines Cloud-Computing-Knotens gezeigt, bei dem es sich um den Cloud-Computing-Knoten 10 handeln kann. Der Cloud-Computing-Knoten 10 ist lediglich ein Beispiel eines geeigneten Cloud-Computing-Knotens und soll keinerlei Einschränkungen hinsichtlich des Anwendungsbereichs oder der Funktionalität von Ausführungsformen der hierin beschriebenen Erfindung andeuten. Trotzdem kann eine beliebige vorstehend dargelegte Funktionalität in dem Cloud-Computing-Knoten 10 umgesetzt und/oder von diesem durchgeführt werden. In einer Ausführungsform der vorliegenden Erfindung können der Programmcode, der Aspekte des Arbeitsablaufs 500, 505 (5A bis 5B) durchführt, sowie das Videorepository, in dem die hochgeladenen Inhalte untergebracht sind, und die Datenverarbeitungseinheit, in der die Indexierung untergebracht ist, jeweils als ein Cloud-Computing-Knoten 10 (6) verstanden werden, und wenn es sich nicht um einen Cloud-Computing-Knoten 10 handelt, dann um einen oder mehrere allgemeine Datenverarbeitungsknoten, die Aspekte des Cloud-Computing-Knotens 10 umfassen.
  • In dem Cloud-Computing-Knoten 10 gibt es ein Computersystem/einen Server 12, das/der mit zahlreichen anderen Universal- oder Spezial-Datenverarbeitungssystem-Umgebungen bzw. -Konfigurationen betriebsfähig ist. Zu Beispielen für allgemein bekannte Datenverarbeitungssysteme, -umgebungen und/oder -konfigurationen, die zur Verwendung mit dem Computersystem/Server 12 geeignet sein können, gehören Personal-ComputerSysteme, Server-Computersysteme, Thin Clients, Thick Clients, Handheld- bzw. Laptop-Geräte, Multiprozessorsysteme, auf Mikroprozessoren beruhende Systeme, Set-Top-Boxen, programmierbare Verbraucherelektronik, Netzwerk-PCs, Minicomputersysteme, Mainframe-Computersysteme sowie verteilte Cloud-Computing-Umgebungen, die irgendeine(s) der obigen Systeme bzw. Einheiten enthalten, und dergleichen, aber nicht darauf beschränkt.
  • Das Computersystem/der Server 12 kann in dem allgemeinen Kontext von durch Computersysteme ausführbaren Anweisungen, z.B. Programmmodulen, beschrieben werden, die von einem Computersystem ausgeführt werden. Allgemein können zu Programmmodulen Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen und so weiter gehören, die bestimmte Aufgaben durchführen bzw. bestimmte abstrakte Datentypen umsetzen. Das Computersystem/der Server 12 kann in verteilten Cloud-Computing-Umgebungen ausgeführt werden, wo Aufgaben durch entfernt angeordnete Verarbeitungseinheiten durchgeführt werden, die über ein Datenübertragungsnetzwerk verbunden sind. In einer verteilten Cloud-Computing-Umgebung können sich Programmmodule sowohl in lokalen als auch in entfernt angeordneten Computersystem-Speichermedien befinden, darunter Hauptspeichereinheiten.
  • Wie in 6 gezeigt ist, ist das Computersystem/der Server 12, das als Cloud-Computing-Knoten 10 verwendet werden kann, in Form einer Universal-Datenverarbeitungseinheit gezeigt. Die Komponenten des Computersystems/Servers 12 können eine(n) oder mehrere Prozessoren oder Verarbeitungseinheiten 16, einen Systemspeicher 28 und einen Bus 18 aufweisen, der verschiedene Systemkomponenten, darunter den Systemspeicher 28, mit dem Prozessor 16 verbindet, sind aber nicht darauf beschränkt.
  • Der Bus 18 stellt eine oder mehrere einer beliebigen von mehreren Arten von Busstrukturen dar, darunter ein Speicherbus oder eine Speichersteuereinheit, ein Peripheriebus, ein beschleunigter Grafikanschluss und ein Prozessor- oder lokaler Bus, die eine beliebige aus einer Vielfalt von Busarchitekturen verwenden. Zu derartigen Architekturen gehören als Beispiel und nicht als Einschränkung ein ISA-Bus (Industry Standard Architecture), ein MCA-Bus (Micro Channel Architecture), ein EISA-Bus (Enhanced ISA), ein VESA-Lokalbus (Video Electronics Standards Association) sowie ein PCI-Bus (Peripheral Component Interconnect).
  • Das Computersystem/der Server 12 beinhaltet üblicherweise eine Vielfalt von durch ein Computersystem lesbaren Medien. Bei derartigen Medien kann es sich um jedes beliebige verfügbare Medium handeln, auf welches das Computersystem/der Server 12 zugreifen kann, und es beinhaltet sowohl flüchtige als auch nichtflüchtige Medien, austauschbare und nicht austauschbare Medien.
  • Der Systemspeicher 28 kann durch ein Computersystem lesbare Medien in Form eines flüchtigen Speichers wie zum Beispiel einen Direktzugriffsspeicher (RAM) 30 und/oder Cache 32 enthalten. Das Computersystem/der Server 12 kann darüber hinaus andere austauschbare/nicht austauschbare, flüchtige/nichtflüchtige Computersystem-Speichermedien beinhalten. Lediglich als Beispiel kann das Speichersystem 34 zum Lesen von und zum Schreiben auf ein nicht austauschbares, nichtflüchtiges magnetisches Medium bereitgestellt werden (das nicht gezeigt ist und üblicherweise „Festplattenlaufwerk“ genannt wird). Es können auch ein Magnetplattenlaufwerk zum Lesen von und zum Schreiben auf eine austauschbare, nichtflüchtige Magnetplatte (z.B. eine „Floppy-Diskette“) und ein optisches Plattenlaufwerk zum Lesen von oder zum Schreiben auf eine austauschbare, nichtflüchtige optische Platte wie zum Beispiel eine CD-ROM, DVD-ROM oder ein anderes optisches Medium bereitgestellt werden, auch wenn diese nicht gezeigt sind. In derartigen Fällen können sie jeweils über eine oder mehrere Datenmedienschnittstellen mit dem Bus 18 verbunden sein. Wie nachfolgend weiter abgebildet und beschrieben wird, kann der Systemspeicher 28 mindestens ein Programmprodukt enthalten, das einen Satz von Programmmodulen (z.B. mindestens einen) aufweist, die so konfiguriert sind, dass sie die Funktionen von Ausführungsformen der Erfindung ausführen.
  • Als Beispiel und nicht als Einschränkung können ein Programm/Dienstprogramm 40 mit (mindestens) einem Satz von Programmmodulen 42 sowie ein Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten in dem Systemspeicher 28 gespeichert sein. Das Betriebssystem, das eine oder die mehreren Anwendungsprogramme, andere Programmmodule und Programmdaten oder eine beliebige Kombination daraus können jeweils eine Umsetzung einer Netzwerkumgebung enthalten. Die Programmmodule 42 führen allgemein die hierin beschriebenen Funktionen und/oder Methodiken von Ausführungsformen der Erfindung aus.
  • Das Computersystem/der Server 12 kann auch mit einer oder mehreren externen Einheiten 14 wie zum Beispiel einer Tastatur, einer Zeigeeinheit, einer Anzeige 24 usw., einer oder mehreren Einheiten, die es einem Benutzer ermöglichen, mit dem Computersystem/Server 12 zu interagieren, und/oder beliebigen Einheiten (z.B. Netzwerkkarten, Modems usw.) Daten austauschen, die es dem Computersystem/Server 12 ermöglichen, mit einer oder mehreren anderen Datenverarbeitungseinheiten Daten auszutauschen. Ein derartiger Datenaustausch kann über Eingabe/Ausgabe- (E/A-) Schnittstellen 22 erfolgen. Außerdem kann das Computersystem/der Server 12 über einen Netzwerkadapter 20 mit einem oder mehreren Netzwerken Daten austauschen, wie zum Beispiel einem lokalen Netzwerk (LAN), einem allgemeinen Weitverkehrsnetz (WAN) und/oder einem öffentlichen Netzwerk (z.B. dem Internet). Wie dargestellt ist, tauscht der Netzwerkadapter 20 mit den anderen Komponenten des Computersystems/Servers 12 über den Bus 18 Daten aus. Es sollte klar sein, dass andere Hardware- und/oder Software-Komponenten in Verbindung mit dem Computersystem/Server 12 verwendet werden könnten, auch wenn diese nicht gezeigt sind. Zu Beispielen gehören folgende, ohne auf diese beschränkt zu sein: Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Festplattenlaufwerk-Arrays, RAID-Systeme, Bandlaufwerke und Speichersysteme zur Datenarchivierung usw.
  • Es sei von vornherein klargestellt, dass das Umsetzen der hierin angeführten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist, obwohl diese Offenbarung eine ausführliche Beschreibung von Cloud-Computing umfasst. Stattdessen können Ausführungsformen der vorliegenden Erfindung gemeinsam mit jeder beliebigen Art von jetzt bekannter oder später erfundener Datenverarbeitungsumgebung umgesetzt werden.
  • Cloud-Computing ist ein Servicebereitstellungsmodell zum Ermöglichen eines problemlosen bedarfsgesteuerten Netzwerkzugriffs auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Hauptspeicher, Speicher, Anwendungen, virtuelle Maschinen und Dienste), die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Service schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Eigenschaften umfassen, mindestens drei Dienstmodelle und mindestens vier Implementierungsmodelle.
  • Bei den Eigenschaften handelt es sich um die Folgenden:
  • On-Demand Self-Service: Ein Cloud-Nutzer kann einseitig automatisch nach Bedarf für Datenverarbeitungsfunktionen wie Serverzeit und Netzwerkspeicher sorgen, ohne dass eine menschliche Interaktion mit dem Anbieter der Dienste erforderlich ist.
  • Broad Network Access: Es sind Funktionen über ein Netzwerk verfügbar, auf die durch Standardmechanismen zugegriffen wird, welche die Verwendung durch heterogene Thin- oder Thick-Client-Plattformen (z.B. Mobiltelefone, Laptops und PDAs) unterstützen. Resource-Pooling: Die Datenverarbeitungsressourcen des Anbieters werden zusammengeschlossen, um mehreren Nutzern unter Verwendung eines Multi-Tenant-Modells zu dienen, wobei verschiedene physische und virtuelle Ressourcen dynamisch nach Bedarf zugewiesen und neu zugewiesen werden. Es gibt eine gefühlte Standortunabhängigkeit, da der Nutzer allgemein keine Kontrolle bzw. Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, aber in der Lage sein kann, einen Standort auf einer höheren Abstraktionsebene festzulegen (z.B. Land, Staat oder Rechenzentrum). Rapid Elasticity: Funktionen können für eine schnelle horizontale Skalierung (scale out) schnell und elastisch bereitgestellt werden, in einigen Fällen auch automatisch, und für ein schnelles Scale-in schnell freigegeben werden. Für den Nutzer erscheinen die für das Bereitstellen verfügbaren Funktionen häufig unbegrenzt und sie können jederzeit in jeder beliebigen Menge gekauft werden.
  • Measured Service: Cloud-Systeme steuern und optimieren die Verwendung von Ressourcen automatisch, indem sie eine Messfunktion auf einer gewissen Abstraktionsebene nutzen, die für die Art von Dienst geeignet ist (z.B. Speicher, Verarbeitung, Bandbreite sowie aktive Benutzerkonten). Die Nutzung von Ressourcen kann überwacht, gesteuert und gemeldet werden, wodurch sowohl für den Anbieter als auch für den Nutzer des verwendeten Dienstes Transparenz geschaffen wird.
  • Bei den Dienstmodellen handelt es sich um die Folgenden:
  • Software as a Service (SaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, die in einer Cloud-Infrastruktur laufenden Anwendungen des Anbieters zu verwenden. Die Anwendungen sind über eine Thin-Client-Schnittstelle wie einen Web-Browser (z.B. auf dem Web beruhende E-Mail) von verschiedenen Client-Einheiten her zugänglich. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter das Netzwerk, Server, Betriebssysteme, Speicher bzw. sogar einzelne Anwendungsfunktionen, mit der möglichen Ausnahme von eingeschränkten benutzerspezifischen Anwendungskonfigurationseinstellungen.
  • Platform as a Service (PaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, durch einen Nutzer erstellte bzw. erhaltene Anwendungen, die unter Verwendung von durch den Anbieter unterstützten Programmiersprachen und Tools erstellt wurden, in der Cloud-Infrastruktur einzusetzen. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter Netzwerke, Server, Betriebssysteme bzw. Speicher, hat aber die Kontrolle über die eingesetzten Anwendungen und möglicherweise über Konfigurationen des Application Hosting Environment.
  • Infrastructure as a Service (laaS): Die dem Nutzer bereitgestellte Funktion besteht darin, das Verarbeiten, Speicher, Netzwerke und andere grundlegende Datenverarbeitungsressourcen bereitzustellen, wobei der Nutzer in der Lage ist, beliebige Software einzusetzen und auszuführen, zu der Betriebssysteme und Anwendungen gehören können. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, hat aber die Kontrolle über Betriebssysteme, Speicher, eingesetzte Anwendungen und möglicherweise eine eingeschränkte Kontrolle über ausgewählte Netzwerkkomponenten (z.B. Host-Firewalls).
  • Bei den Einsatzmodellen handelt es sich um die Folgenden:
  • Private Cloud: Die Cloud-Infrastruktur wird einzig und allein für eine Organisation betrieben. Sie kann durch die Organisation oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder in fremden Räumen befinden.
  • Community Cloud: Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Benutzergemeinschaft, die gemeinsame Angelegenheiten hat (z.B. Mission, Sicherheitsanforderungen, Richtlinien sowie Überlegungen bezüglich der Einhaltung von Vorschriften). Sie kann durch die Organisationen oder einen Dritten verwaltet werden und kann in den eigenen Räumen oder fremden Räumen stehen.
  • Public Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt und sie gehört einer Cloud-Dienste verkaufenden Organisation.
  • Hybrid Cloud: Die Cloud-Infrastruktur ist eine Zusammensetzung aus zwei oder mehreren Clouds (privat, Benutzergemeinschaft oder öffentlich), die zwar einzelne Einheiten bleiben, aber durch eine standardisierte oder proprietäre Technologie miteinander verbunden sind, die Daten- und Anwendungsportierbarkeit ermöglicht (z.B. Cloud-Zielgruppenverteilung für den Lastenausgleich zwischen Clouds).
  • Eine Cloud-Computing-Umgebung ist dienstorientiert mit Fokus auf Statusunabhängigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität. Im Herzen von Cloud-Computing liegt eine Infrastruktur, die ein Netzwerk aus zusammengeschalteten Knoten aufweist.
  • Unter Bezugnahme auf 7 ist die veranschaulichende Cloud-Computing-Umgebung 50 abgebildet. Wie gezeigt ist, weist die Cloud-Computing-Umgebung 50 einen oder mehrere Cloud-Computing-Knoten 10 auf, mit denen von Cloud-Nutzern verwendete lokale Datenverarbeitungseinheiten wie ein elektronischer Assistent (PDA, personal digital assistant) oder ein Mobiltelefon 54A, ein Desktop-Computer 54B, ein Laptop-Computer 54C und/oder ein Automobil-Computer-System 54N Daten austauschen können. Die Knoten 10 können miteinander Daten austauschen. Sie können physisch oder virtuell in ein oder mehrere Netzwerke wie private, Benutzergemeinschafts-, öffentliche oder hybride Clouds gruppiert werden (nicht gezeigt), wie vorstehend beschrieben wurde, oder in eine Kombination daraus. Dies ermöglicht es der Cloud-Computing-Umgebung 50, Infrastruktur, Plattformen und/oder Software als Dienst anzubieten, für die ein Cloud-Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es sei darauf hingewiesen, dass die Arten von in 7 gezeigten Datenverarbeitungseinheiten 54A bis N lediglich veranschaulichend sein sollen und dass die Datenverarbeitungsknoten 10 und die Cloud-Computing-Umgebung 50 über eine beliebige Art Netzwerk und/oder über eine beliebige Art von über ein Netzwerk aufrufbarer Verbindung (z.B. unter Verwendung eines Web-Browsers) mit einer beliebigen Art von computergestützter Einheit Daten austauschen können.
  • Unter Bezugnahme auf 8 wird ein Satz von funktionalen Abstraktionsschichten gezeigt, die durch die Cloud-Computing-Umgebung 50 (7) bereitgestellt werden. Es sollte von vornherein klar sein, dass die in 8 gezeigten Komponenten, Schichten und Funktionen lediglich veranschaulichend sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie abgebildet ist, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
  • Eine Hardware- und Software-Schicht 60 umfasst Hardware- und Software-Komponenten. Zu Beispielen für Hardware-Komponenten gehören: Mainframe-Computer 61; auf der RISC- (Reduced Instruction Set Computer) Architektur beruhende Server 62; Server 63; Blade-Server 64; Speichereinheiten 65; und Netzwerke sowie Netzwerkkomponenten 66. In einigen Ausführungsformen umfassen Software-Komponenten eine Netzwerk-Anwendungsserver-Software 67 und eine Datenbank-Software 68.
  • Die Virtualisierungsschicht 70 stellt eine Abstraktionsschicht bereit, aus der die folgenden Beispiele für virtuelle Einheiten bereitgestellt werden können: virtuelle Server 71, virtueller Speicher 72, virtuelle Netzwerke 73, darunter virtuelle private Netzwerke, virtuelle Anwendungen und Betriebssysteme 74; und virtuelle Clients 75.
  • In einem Beispiel kann eine Verwaltungsschicht 80 die nachfolgend beschriebenen Funktionen bereitstellen. Eine Ressourcen-Bereitstellung 81 stellt die dynamische Beschaffung von Datenverarbeitungsressourcen sowie anderen Ressourcen bereit, die zum Durchführen von Aufgaben innerhalb der Cloud-Computing-Umgebung verwendet werden. Ein Messen und eine Preisfindung 82 stellen die Kostenverfolgung beim Verwenden von Ressourcen innerhalb der Cloud-Computing-Umgebung sowie die Abrechnung oder Rechnungsstellung für den Verbrauch dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Anwendungs-Software-Lizenzen aufweisen. Die Sicherheit stellt die Identitätsüberprüfung für Cloud-Nutzer und Aufgaben sowie Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal 83 stellt Nutzern und Systemadministratoren den Zugang zu der Cloud-Computing-Umgebung bereit. Eine Verwaltung des Dienstumfangs 84 stellt die Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, so dass die benötigten Dienstziele erreicht werden. Ein Planen und Erfüllen von Vereinbarungen zum Dienstumfang (SLA, Service Level Agreement) 85 stellt die Anordnung vorab und die Beschaffung von Cloud-Computing-Ressourcen, für die eine zukünftige Anforderung vorausgesehen wird, gemäß einem SLA bereit.
  • Eine Arbeitslastschicht 890 stellt Beispiele für die Funktionalität bereit, für welche die Cloud-Computing-Umgebung verwendet werden kann. Zu Beispielen für Arbeitslasten und Funktionen, die von dieser Schicht bereitgestellt werden können, gehören: Abbildung und Navigation 91; Software-Entwicklung und Lebenszyklusverwaltung 92; Bereitstellung von Ausbildung in virtuellen Klassenzimmern 93; Datenanalytikverarbeitung 94; Aufrechterhaltung der Kontinuität einer Sitzung in Zeiten von Inaktivität innerhalb der Sitzung 96.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jeder möglichen technischen Detailstufe der Integration handeln. Das Computerprogrammprodukt kann ein durch einen Computer lesbares Speichermedium (oder -medien) mit durch einen Computer lesbaren Programmanweisungen darauf umfassen, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch ein System zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch kodierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten, Konfigurationsdaten für integrierte Schaltungen oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Die hierin verwendete Terminologie dient lediglich dem Zweck des Beschreibens bestimmter Ausführungsformen und soll keine Einschränkung darstellen. Die Verwendung der Singularform „ein“, „eine“ bzw. „der“, „die“, „das“ hierin soll ebenfalls die Pluralformen einschließen, es sei denn, etwas anderes ergibt sich deutlich aus dem Zusammenhang. Es wird ferner darauf hingewiesen, dass die Begriffe „aufweisen“ und/oder „aufweisend“, wenn sie in dieser Beschreibung verwendet werden, das Vorhandensein von aufgeführten Eigenschaften, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten angeben, jedoch nicht das Vorhandensein oder das Hinzufügen einer oder mehrerer anderer Eigenschaften, ganzer Zahlen, Schritte, Operation, Elemente, Komponenten und/oder Gruppen hiervon ausschließen.
  • Die in den nachfolgenden Ansprüchen etwa vorhandenen, entsprechenden Strukturen, Materialien, Schritte und Entsprechungen aller Mittel oder Step-plus-function-Elemente verstehen sich dahingehend, dass sie jede beliebige Struktur, jedes beliebige Material bzw. jeden beliebigen Schritt zur Durchführung der Funktion in Kombination mit anderen beanspruchten Elementen nach Maßgabe der konkreten Beanspruchung aufweisen. Die Beschreibung der einen oder mehreren Ausführungsformen wurde zum Zwecke der Veranschaulichung und Beschreibung aufgeführt, sie soll aber nicht gesamthaft stehen für bzw. eine Einschränkung in der dargelegten Form darstellen. Für einen Fachmann werden viele Abänderungen und Abweichungen ersichtlich sein. Die Ausführungsform wurde gewählt und beschrieben, um die verschiedenen Aspekte und die praktische Anwendung bestmöglich zu erläutern und um es anderen Fachleuten zu ermöglichen, verschiedene Ausführungsformen mit verschiedenen Abänderungen, die für eine bestimmte in Betracht gezogene Verwendung geeignet sind, zu verstehen.

Claims (20)

  1. Auf einem Computer ausgeführtes Verfahren, umfassend: Erhalten eines Videos von einem Benutzer über einen Client durch einen oder mehrere Prozessoren zum Hochladen in ein Repository, auf das der eine oder die mehreren Prozessoren Zugriff haben; Segmentieren des Videos durch den einen oder die mehreren Prozessoren in zeitliche Aufnahmen, wobei die zeitlichen Aufnahmen eine Zeitleiste des Videos aufweisen; kognitives Analysieren des Videos durch den einen oder die mehreren Prozessoren durch Anwenden eines Bilderkennungsalgorithmus auf das Video, um Bild-Entitäten in jeder zeitlichen Aufnahme des Videos zu identifizieren; kognitives Analysieren durch den einen oder die mehreren Prozessoren durch Anwenden einer Datenstruktur, die ein Benutzerprofil des Benutzers umfasst, auf die zeitlichen Aufnahmen, um persönliche Entitäten in jeder zeitlichen Aufnahme des Videos zu identifizieren; und Erstellen eines Suchindex für das Video durch den einen oder die mehreren Prozessoren unter Verwendung von Benutzer-Entitäten, wobei die Benutzer-Entitäten die Bild-Entitäten und die persönlichen Entitäten aufweisen, wobei jeder Eintrag des Suchindex eine bestimmte Benutzer-Entität, wobei die bestimmte Benutzer-Entität aus den Benutzer-Entitäten ausgewählt wird, und eine Verknüpfung mit einer bestimmten zeitlichen Aufnahme der zeitlichen Aufnahmen aufweist, wobei die Verknüpfung eine Position der bestimmten Benutzer-Entität auf der Zeitleiste des Videos angibt.
  2. Auf einem Computer ausgeführtes Verfahren nach Anspruch 1, wobei das Anwenden des Benutzerprofils aufweist: Überwachen der von dem Benutzer über den Client durchgeführten Datenverarbeitungsaktivitäten durch den einen oder die mehreren Prozessoren, beruhend darauf, dass sich der Client über ein Netzwerk mit einer oder mehreren Anwendungen verbindet; Analysieren der von dem Benutzer in der einen oder den mehreren Anwendungen durchgeführten Datenverarbeitungsaktivitäten durch den einen oder die mehreren Prozessoren, um Daten zu identifizieren, die für den Benutzer relevante Elemente und Beziehungen zwischen den Elementen und dem Benutzer aufweisen; und Erstellen der Datenstruktur durch den einen oder die mehreren Prozessoren, beruhend auf dem Analysieren, wobei die Datenstruktur das Benutzerprofil aufweist.
  3. Auf einem Computer ausgeführtes Verfahren nach Anspruch 2, wobei das Anwenden des Benutzerprofils darüber hinaus aufweist: Umwandeln von nicht-textlichen Elementen in dem Video in einen textlichen Inhalt für jede zeitliche Aufnahme der zeitlichen Aufnahmen durch den einen oder die mehreren Prozessoren; und Identifizieren der für den Benutzer relevanten Elemente und der Beziehungen zwischen den Elementen und dem Benutzer in dem textlichen Inhalt jeder zeitlichen Aufnahme durch den einen oder die mehreren Prozessoren, wobei die Elemente die persönlichen Entitäten aufweisen.
  4. Auf einem Computer ausgeführtes Verfahren nach Anspruch 1, darüber hinaus umfassend: Speichern des Suchindex durch den einen oder die mehreren Prozessoren in einem indexierten Repository.
  5. Auf einem Computer ausgeführtes Verfahren nach Anspruch 4, darüber hinaus umfassend: Erhalten von Suchparametern durch den einen oder die mehreren Prozessoren, die eine oder mehrere relevante Benutzer-Entitäten der Benutzer-Entitäten in dem Suchindex identifizieren; Identifizieren der relevanten Benutzer-Entitäten durch den einen oder die mehreren Prozessoren; und Durchsuchen des Videos nach den relevanten Benutzer-Entitäten durch den einen oder die mehreren Prozessoren, wobei das Durchsuchen ein Zugreifen auf das Index-Repository aufweist, um den Suchindex zum Auffinden der relevanten Benutzer-Entitäten in dem Video zu verwenden.
  6. Auf einem Computer ausgeführtes Verfahren nach Anspruch 5, darüber hinaus umfassend: Formulieren von Suchergebnissen durch den einen oder die mehreren Prozessoren als Reaktion auf das Suchen, wobei die Suchergebnisse die relevanten Benutzer-Entitäten und für jede relevante Benutzer-Entität eine Position der relevanten Benutzer-Entität auf der Zeitleiste aufweisen, wobei die Position eine Startzeit und eine Endzeit aufweist.
  7. Auf einem Computer ausgeführtes Verfahren nach Anspruch 6, wobei das Formulieren der Suchergebnisse ein Einordnen der Suchergebnisse in eine Rangfolge beruhend auf einer Relevanz für die Suchparameter aufweist.
  8. Auf einem Computer ausgeführtes Verfahren nach Anspruch 7, darüber hinaus umfassend: Erstellen einer Suchausgabe durch den einen oder die mehreren Prozessoren, wobei das Erstellen aufweist: Erhalten eines Teils der zeitlichen Aufnahmen aus dem Video durch den einen oder die mehreren Prozessoren, wobei jede zeitliche Aufnahme des Teils für jede für den Benutzer relevante Entität die Position der relevanten Benutzer-Entität auf der Zeitleiste aufweist; und Zusammenstellen des Teils der zeitlichen Aufnahmen zu einem neuen Video durch den einen oder die mehreren Prozessoren.
  9. Auf einem Computer ausgeführtes Verfahren nach Anspruch 8, darüber hinaus umfassend: Bereitstellen der Suchausgabe für den Benutzer über den Client durch den einen oder die mehreren Prozessoren.
  10. Auf einem Computer ausgeführtes Verfahren nach Anspruch 8, wobei das Zusammenstellen ein Zusammenstellen des Teils der zeitlichen Aufnahmen entsprechend der Rangfolge der Suchergebnisse beruhend auf der Relevanz für die Suchparameter aufweist.
  11. Auf einem Computer ausgeführtes Verfahren nach Anspruch 10, wobei das neue Video mehr als ein einzelnes neues Video aufweist, und wobei das Bereitstellen der Suchausgabe ein Bereitstellen von Verknüpfungen zu jedem der einzelnen neuen Videos aufweist.
  12. Auf einem Computer ausgeführtes Verfahren nach Anspruch 5, wobei ein Format der Suchparameter aus der Gruppe bestehend aus: Text, Sprache, Bild und Video ausgewählt wird.
  13. Auf einem Computer ausgeführtes Verfahren nach Anspruch 1, wobei das Anwenden des Bilderkennungsalgorithmus ein Zugreifen auf ein Bild-Metadaten-Repository aufweist, auf das der eine oder die mehreren Prozessoren Zugriff haben.
  14. Auf einem Computer ausgeführtes Verfahren nach Anspruch 3, wobei die nicht-textlichen Elemente Sprache und Audiomaterial aufweisen, wobei das Umwandeln der Elemente ein Anwenden eines Algorithmus zur Verarbeitung von Sprache in Text aufweist, um den textlichen Inhalt zu erzeugen.
  15. Auf einem Computer ausgeführtes Verfahren nach Anspruch 3, wobei die nicht-textlichen Elemente einen eingebetteten Text in Bildern aufweisen, die das Video umfassen, wobei das Umwandeln der Elemente ein Ausführen eines Prozesses zur optischen Zeichenerkennung an dem eingebetteten Text aufweist, um den eingebetteten Text in den textlichen Inhalt umzuwandeln, wobei die eine oder mehreren Anwendungen eine Social-Media-Website umfassen, und wobei die für den Benutzer relevanten Elemente Bilder, die von dem Benutzer auf einer Social-Media-Website veröffentlicht wurden, und den Bildern zugehörige Identifizierungskennzeichen umfassen.
  16. Auf einem Computer ausgeführtes Verfahren nach Anspruch 1, darüber hinaus umfassend: vor dem Erstellen des Suchindex, Bestimmen einer Klassifizierung für das Video durch den einen oder die mehreren Prozessoren, wobei das Erhalten des Videos von dem Benutzer über den Client darüber hinaus ein Erhalten der Klassifizierung von dem Benutzer über den Client aufweist; Identifizieren eines anderen Videos, das von dem Benutzer hochgeladen wurde, in dem Repository durch den einen oder die mehreren Prozessoren, wobei die Klassifizierung des anderen Videos gleichbedeutend mit der Klassifizierung des Videos ist; Extrahieren von Benutzer-Entitäten aus einem Suchindex des anderen Videos, die den Suchindex des anderen Videos aufweisen, durch den einen oder die mehreren Prozessoren; Durchsuchen des Videos nach den Benutzer-Entitäten, die den Suchindex des anderen Videos aufweisen, durch den einen oder die mehreren Prozessoren; und Auffinden eines Teils der Benutzer-Entitäten, die den Suchindex des anderen Videos aufweisen, in dem Video durch den einen oder die mehreren Prozessoren.
  17. Auf einem Computer ausgeführtes Verfahren nach Anspruch 16, wobei die Benutzer-Entitäten darüber hinaus den Teil der Benutzer-Entitäten aufweisen.
  18. Auf einem Computer ausgeführtes Verfahren nach Anspruch 1, darüber hinaus umfassend: vor dem Erstellen des Suchindex, Erstellen einer Schnittstelle in einer Benutzerschnittstelle des Clients durch den einen oder die mehreren Prozessoren, welche die persönlichen Entitäten und entsprechende Verknüpfungen der persönlichen Entitäten anzeigt, wobei die Schnittstelle einen Eingabepunkt aufweist, durch den der Benutzer eine Rückmeldung bereitstellen kann; Erhalten, durch den einen oder die mehreren Prozessoren, der Rückmeldung von dem Benutzer, die über die Schnittstelle bereitgestellt wird; und Aktualisieren, durch den einen oder die mehreren Prozessoren, der Benutzer-Entitäten beruhend auf der Rückmeldung.
  19. System, das Mittel aufweist, die dazu eingerichtet sind, sämtliche Schritte des Verfahrens nach einem der vorhergehenden Verfahrensansprüche auszuführen.
  20. Computerprogramm, das Anweisungen zum Ausführen sämtlicher Schritte des Verfahrens nach einem der vorhergehenden Verfahrensansprüche aufweist, wenn das Computerprogramm auf einem Computersystem ausgeführt wird.
DE112020002228.5T 2019-06-19 2020-05-21 Kognitive video- und audio-suchaggregation Pending DE112020002228T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/445,570 US11341186B2 (en) 2019-06-19 2019-06-19 Cognitive video and audio search aggregation
US16/445,570 2019-06-19
PCT/IB2020/054841 WO2020254890A1 (en) 2019-06-19 2020-05-21 Cognitive video and audio search aggregation

Publications (1)

Publication Number Publication Date
DE112020002228T5 true DE112020002228T5 (de) 2022-02-17

Family

ID=74038045

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020002228.5T Pending DE112020002228T5 (de) 2019-06-19 2020-05-21 Kognitive video- und audio-suchaggregation

Country Status (6)

Country Link
US (1) US11341186B2 (de)
JP (1) JP2022537170A (de)
CN (1) CN113811884A (de)
DE (1) DE112020002228T5 (de)
GB (1) GB2600281B (de)
WO (1) WO2020254890A1 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11386144B2 (en) * 2019-09-09 2022-07-12 Adobe Inc. Identifying digital attributes from multiple attribute groups within target digital images utilizing a deep cognitive attribution neural network
US11032226B1 (en) * 2019-12-04 2021-06-08 Caastle, Inc. Systems and methods for rapid electronic messaging testing and positional impact assessment in a prospect electronic messaging series
US11076192B1 (en) * 2020-01-16 2021-07-27 International Business Machines Corporation Identifying and calibrating internet of things (IOT) devices to enhance content consumption experience
US11275724B2 (en) * 2020-03-27 2022-03-15 International Business Machines Corporation Automated feedback validation
US11682204B2 (en) * 2020-07-27 2023-06-20 International Business Machines Corporation Recognition assistant
US11729476B2 (en) * 2021-02-08 2023-08-15 Sony Group Corporation Reproduction control of scene description
US20220321970A1 (en) * 2021-03-03 2022-10-06 Voodle, Inc. Dynamic Real-Time Audio-Visual Search Result Assembly
US11682415B2 (en) * 2021-03-19 2023-06-20 International Business Machines Corporation Automatic video tagging
US11947586B2 (en) 2021-06-29 2024-04-02 Oracle International Corporation Video processing optimization and content searching
CN113823323B (zh) * 2021-09-30 2023-12-12 深圳万兴软件有限公司 一种基于卷积神经网络的音频处理方法、装置及相关设备
US11899673B2 (en) * 2021-12-20 2024-02-13 Sony Group Corporation User interface for cognitive search in content
WO2023235780A1 (en) * 2022-06-01 2023-12-07 Apple Inc. Video classification and search system to support customizable video highlights

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009181216A (ja) * 2008-01-29 2009-08-13 Toshiba Corp 電子機器および画像処理方法
US20140328570A1 (en) * 2013-01-09 2014-11-06 Sri International Identifying, describing, and sharing salient events in images and videos
US20150134668A1 (en) * 2013-11-14 2015-05-14 Dragan Popovich Index of Video Objects
US10609454B2 (en) * 2015-07-31 2020-03-31 Promptu Systems Corporation Natural language navigation and assisted viewing of indexed audio video streams, notably sports contests
CN105893510A (zh) 2016-03-30 2016-08-24 北京格灵深瞳信息技术有限公司 一种视频结构化系统及其目标搜索方法
US10049663B2 (en) * 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
CN107590150A (zh) 2016-07-07 2018-01-16 北京新岸线网络技术有限公司 基于关键帧的视频分析实现方法及装置
US10083347B2 (en) * 2016-07-29 2018-09-25 NTech lab LLC Face identification using artificial neural network
US10560734B2 (en) * 2016-08-01 2020-02-11 Microsoft Technology Licensing, Llc Video segmentation and searching by segmentation dimensions
WO2018176017A1 (en) 2017-03-24 2018-09-27 Revealit Corporation Method, system, and apparatus for identifying and revealing selected objects from video
US10311308B2 (en) * 2017-03-31 2019-06-04 International Business Machines Corporation Image processing to identify selected individuals in a field of view
US10552471B1 (en) * 2017-04-21 2020-02-04 Stripe, Inc. Determining identities of multiple people in a digital image
US10178294B2 (en) * 2017-05-25 2019-01-08 International Business Machines Corporation Controlling a video capture device based on cognitive personal action and image identification
US10541001B2 (en) * 2017-12-27 2020-01-21 Facebook, Inc. Video highlights
US10979669B2 (en) * 2018-04-10 2021-04-13 Facebook, Inc. Automated cinematic decisions based on descriptive models
US11244162B2 (en) * 2018-10-31 2022-02-08 International Business Machines Corporation Automatic identification of relationships between a center of attention and other individuals/objects present in an image or video

Also Published As

Publication number Publication date
CN113811884A (zh) 2021-12-17
US20200401621A1 (en) 2020-12-24
WO2020254890A1 (en) 2020-12-24
JP2022537170A (ja) 2022-08-24
US11341186B2 (en) 2022-05-24
GB2600281B (en) 2024-01-03
GB2600281A (en) 2022-04-27

Similar Documents

Publication Publication Date Title
DE112020002228T5 (de) Kognitive video- und audio-suchaggregation
Jaton We get the algorithms of our ground truths: Designing referential databases in digital image processing
DE112015002286T9 (de) Visuelle interaktive suche
DE112010004946B4 (de) Dynamisches Verwalten einer sozialen Netzwerkgruppe
DE102018004974A1 (de) Globale Vektorempfehlungen auf der Basis von impliziten Interaktions- und Profildaten
DE102012218966B4 (de) Verfahren und System zum Kennzeichnen von durch Dinge im Internet der Dinge erzeugten Originaldaten
DE112018005227T5 (de) Merkmalsextraktion mithilfe von multi-task-lernen
DE112015002433T5 (de) Systeme und Techniken zur prädikativen Datenanalytik
DE102016013372A1 (de) Bildbeschriften mit schwacher Überwachung
DE112018005459T5 (de) Datenanonymisierung
DE112020003820T5 (de) Erkennung von Anomalien und Abweichungen unter Verwendung eines domänenindizierten Einschränkungs-Repository
Van Ho et al. A web-enabled visualization toolkit for geovisual analytics
DE102014103279A1 (de) Pivot-Facets für Text-Mining und Suche
US8031201B2 (en) Computer-aided methods and systems for pattern-based cognition from fragmented material
DE102019007354A1 (de) Narrationssystem für interaktive dashboards
CN109902670A (zh) 数据录入方法及系统
DE112021002883T5 (de) Automatisierte rückmeldung und kontinuierliches lernen zur abfrageoptimierung
DE112020003596T5 (de) Datenbank-Tuning unter Verwendung eines föderierten maschinellen Lernsystems eines Centerless-Netzwerks
DE112018001711T5 (de) Generator von Unterrichtsnotizen auf Blickrichtungsgrundlage
Gilmore et al. Curating identifiable data for sharing: The databrary project
DE102021006293A1 (de) Bestimmung digitaler Personas unter Verwendung datengetriebener Analytik
DE102019123005A1 (de) System und verfahren zur anzeige des objektbewegungsschemas
DE112021006273T5 (de) Automatische beschreibung und entnahme von tabellendaten im portable document format unter verwendung von neuronalen graphennetzen
DE112021005927T5 (de) Patchen von arbeitsabläufen
DE112021003923T5 (de) Iterative speicherzuordnungsoperationen bei intelligenten linsen/augmentierten brillen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence