DE102022132167A1 - Spielstilanalyse für Spielempfehlungen - Google Patents

Spielstilanalyse für Spielempfehlungen Download PDF

Info

Publication number
DE102022132167A1
DE102022132167A1 DE102022132167.3A DE102022132167A DE102022132167A1 DE 102022132167 A1 DE102022132167 A1 DE 102022132167A1 DE 102022132167 A DE102022132167 A DE 102022132167A DE 102022132167 A1 DE102022132167 A1 DE 102022132167A1
Authority
DE
Germany
Prior art keywords
game
user
data
playstyle
similarity
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
DE102022132167.3A
Other languages
English (en)
Inventor
Andrew Fear
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.)
Nvidia Corp
Original Assignee
Nvidia 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 Nvidia Corp filed Critical Nvidia Corp
Publication of DE102022132167A1 publication Critical patent/DE102022132167A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/67Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • A63F13/798Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for assessing skills or for ranking players, e.g. for generating a hall of fame
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/85Providing additional services to players
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • General Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Computer Security & Cryptography (AREA)
  • Development Economics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

In verschiedenen Beispielen werden Daten, die Benutzerinteraktionen mit einer Vielzahl von Spielen repräsentieren, analysiert, um ein aggregiertes Spielstil-Profil für jedes Spiel zu generieren. Die aggregierten Spielstil-Profile der Spiele, an denen ein Benutzer teilgenommen hat, können verwendet werden, um ein oder mehrere andere Spiele mit einem ähnlichen aggregierten Spielstil-Profil zu empfehlen. In Ausführungsbeispielen können die Spielstil-Muster eines individuellen Benutzers verwendet werden, um Spiele zu bestimmen, die ähnliche Spielstil-Profile wie die Spielstil-Muster des Benutzers aufweisen. Auf diese Weise sind die Spielempfehlungen besser auf einen bestimmten Spielablauf zugeschnitten und nicht nur auf bestimmte Spielgenres oder Spiele, die derzeit am beliebtesten sind.

Description

  • Hintergrund
  • Spiele-Streaming-Dienste und Spielehändler geben Spielern häufig Empfehlungen für andere Spieletitel, an deren Kauf, Herunterladen und/oder Spielen die Spieler interessiert sein könnten. Indem sie den Spielern Empfehlungen bereitstellen, können Spieleanbieter ein breiteres Publikum von Spielern auf die in ihrem Spielekatalog oder Dienst verfügbaren Spiele aufmerksam machen. So kann ein Spieleanbieter beispielsweise ein neues Spiel für seine Kunden attraktiver machen, indem er Empfehlungen bereitstellt, die den Spielern das neue Spiel vorschlagen. Spielempfehlungen können den Nutzern auch Informationen über bestimmte Spiele und Titel bereitstellen, die sie sonst vielleicht nicht selbst entdeckt hätten. In verschiedenen Szenarien kann es wünschenswert sein, den Spielern Spielempfehlungen bereitzustellen, die ihrem besonderen Geschmack und ihren Vorlieben entsprechen. Zum Beispiel kann ein Spieler mehr an anderen Spielen interessiert sein, die gemeinsame Attribute mit einem Spiel nutzen, das der Spieler bereits spielt oder mag.
  • Konventionell haben Spieleempfehlungssysteme einen großen Wert auf das Genre oder die Popularität (z.B. Verkäufe, Downloads, etc.) eines Spiels gelegt, wenn sie eine Empfehlung für dieses Spiel bereitstellen. So kann z.B. eine Liste der beliebtesten Spiele eines bestimmten Genres (z.B. Action, Adventure, Strategie, Sport, etc.) als Empfehlung bereitgestellt werden. In anderen Ansätzen können Aspekte wie der Spieleentwickler, der Spieleverlag und/oder Schlüsselwörter oder Tags, die mit einem Spiel assoziiert sind, verwendet werden, um Empfehlungen für Spiele bereitzustellen, die Ähnlichkeiten mit einem anderen Spiel aufweisen (z.B. ein Spiel, das ein Benutzer besitzt oder das er zuvor gespielt hat). Basierend auf der Popularität oder statischen Charakteristiken wie Genre oder Schlüsselwort kann es jedoch zu unspezifischen und möglicherweise weniger relevanten Spielempfehlungen für einen bestimmten Benutzer kommen, da der benutzerspezifische Spielstil nicht berücksichtigt wird. Basierend auf dem vorherigen Kauf eines Spiels, das einem bestimmten Genre zugeordnet ist (z.B. Abenteuer), kann ein anderes Spiel empfohlen werden, das demselben Genre zugeordnet ist, obwohl die beiden Spiele keine Ähnlichkeit in Bezug auf den Spielstil und/oder das Gameplay aufweisen, die für das jeweilige Spiel typisch sind.
  • Zusammenfassung
  • Ausführungsbeispiele der vorliegenden Offenbarung beziehen sich auf eine Spielstilanalyse für Spielempfehlungen. Es sind Systeme und Verfahren offenbart, die die Interaktionen eines Benutzers innerhalb eines Spiels analysieren, um einen mit dem Benutzer assoziierten Spielstil zu bestimmen, der verwendet werden kann, um andere Spiele zu empfehlen - z.B. basierend auf der Identifizierung eines ähnlichen Spielstils anderer Spieler der anderen Spiele. Weiter sind Systeme und Verfahren offenbart, die Spielstilmuster, die mit einem bestimmten, von einem Benutzer gespielten Spiel assoziiert sind, mit Spielstilmustern, die mit einem oder mehreren anderen Spielen assoziiert sind, analysieren, um Spielempfehlungen zu generieren.
  • Im Gegensatz zu konventionellen Ansätzen, die sich bei Spielempfehlungen ausschließlich auf Schlüsselwörter, Markierungen, Popularität, Rezensionen, Genre und/oder Ähnliches stützen, bezieht sich die vorliegende Offenbarung auf Systeme und Verfahren, die zusätzlich oder alternativ zu Schlüsselwörtern, Markierungen, Popularität, Rezensionen, Genre usw. Spielstile oder Spieltypen für bestimmte Spiele einbeziehen. Beispielsweise können Spielempfehlungen generiert werden, indem die Interaktion eines Benutzers mit einem Spiel erfasst und analysiert wird, um einen Spielstil des Benutzers für dieses Spiel zu bestimmen, so dass dem Benutzer andere Spiele empfohlen werden, die üblicherweise mit einem ähnlichen Spielstiltyp assoziiert sind (z.B. schnell, langsam, zuckend, ruhig, mit hoher Geschicklichkeit usw.). Beispielsweise kann die Interaktion eines Benutzers mit einem Spiel analysiert werden, um festzustellen, dass der Benutzer im Vergleich zu anderen Benutzern des Spiels einen relativ entspannten, methodischen oder kontemplativen Spielstil hat (z.B. repräsentiert durch weniger häufige Eingaben in ein oder mehrere Geräte), und folglich können Empfehlungen für andere Spiele bereitgestellt werden, die als Spiele mit einem ähnlichen Spielstil identifiziert wurden. In anderen Ausführungsbeispielen kann zusätzlich oder alternativ zur Berücksichtigung des individuellen Spielstils eines Benutzers ein mit einem bestimmten Spiel assoziierter Spielstil verwendet werden, um andere Spiele zu ermitteln, die einen ähnlichen Spielstil aufweisen. Wenn zum Beispiel die Mehrheit der Benutzer ein erstes Spiel mit einem schnellen Spielstil spielt, kann ein zweites Spiel empfohlen werden, das mit einem schnellen Spielstil assoziiert ist. Folglich werden einem Nutzer nicht nur Spiele mit ähnlichem Genre, ähnlicher Popularität, Schlüsselwörtern, Tags und/oder Ähnlichem präsentiert, sondern auch Empfehlungen auf einer detaillierteren Ebene, die die Art und Weise berücksichtigen, wie der jeweilige Nutzer Spiele spielt.
  • Figurenliste
  • Die vorliegenden Systeme und Verfahren zur Spielstilanalyse für Spielempfehlungen werden im Folgenden unter Bezugnahme auf die beigefügten Figuren detailliert beschrieben, wobei Folgendes gezeigt wird:
    • 1 ist ein Beispielsystemdiagramm eines Spielanalyse- und Spielempfehlungssystems, ein System zur Identifizierung und Präsentation von Inhalten, gemäß einigen Ausführungsbeispielen der vorliegenden Offenbarung;
    • 2 ist ein Blockdiagramm, das einen Prozess zum Generieren einer Spielempfehlung basierend auf Benutzerinteraktionen zeigt, gemäß einigen Ausführungsbeispielen der vorliegenden Offenbarung;
    • 3 ist ein Blockdiagramm, das einen Prozess zum Generieren einer Spielempfehlung basierend auf Spielerinteraktionen zeigt, gemäß einigen Ausführungsbeispielen der vorliegenden Offenbarung;
    • 4 ist ein Beispiel für Spielstilprofile, gemäß einigen Ausführungsbeispielen der vorliegenden Offenbarung;
    • 5 ist ein beispielhafter Screenshot einer grafischen Benutzeroberfläche für Spielempfehlungen, gemäß einigen Ausführungsbeispielen der vorliegenden Offenbarung;
    • 6 ist ein beispielhafter Screenshot einer grafischen Benutzeroberfläche für eine Spieleempfehlung, gemäß einigen Ausführungsbeispielen der vorliegenden Offenbarung;
    • 7 ist ein Flussdiagramm, das ein Verfahren zum Generieren einer Spielempfehlung zeigt, gemäß einigen Ausführungsbeispielen der vorliegenden Offenbarung;
    • 8 ist ein Flussdiagramm, das ein Verfahren zum Generieren einer Spielempfehlung zeigt, gemäß einigen Ausführungsbeispielen der vorliegenden Offenbarung;
    • 9 ist ein Flussdiagramm, das ein Verfahren zum Generieren einer Spielempfehlung zeigt, gemäß einigen Ausführungsbeispielen der vorliegenden Offenbarung;
    • 10 ist ein Blockdiagramm eines beispielhaften Inhalts-Streaming-Systems, das zur Verwendung bei der Implementierung einiger Ausführungsbeispiele der vorliegenden Offenbarung geeignet ist;
    • 11 ist ein Blockdiagramm eines beispielhaften Rechengerätes, das zur Verwendung bei der Implementierung einiger Ausführungsbeispiele der vorliegenden Offenbarung geeignet ist; und
    • 12 ist ein Blockdiagramm eines beispielhaften Datenzentrums, das zur Verwendung bei der Implementierung einiger Ausführungsbeispiele der vorliegenden Offenbarung geeignet ist.
  • Detaillierte Beschreibung
  • Systeme und Verfahren werden offenbart, die eine Spielstilanalyse für Spielempfehlungen betreffen. Die hier beschriebenen Empfehlungen können sich auf Streaming-Inhalte, lokale Inhalte oder eine Kombination davon beziehen. Darüber hinaus können die Videospiel-Empfehlungen Computerspielen, konsolenbasierten Spielen, Virtual Reality (VR)-Spielen, Augmented Reality (AR)-Spielen, Mixed Reality (MR)-Spielen und/oder anderen Spieltypen entsprechen. Obwohl die vorliegende Offenbarung in erster Linie in Bezug auf Videospiele beschrieben wird, ist dies nicht als Einschränkung zu verstehen. Beispielsweise können die hierin beschriebenen Systeme und Verfahren für Softwareempfehlungen, Videoempfehlungen und/oder andere Arten von Inhaltsempfehlungen verwendet werden, ohne dass dies den Rahmen der vorliegenden Offenbarung sprengt.
  • Systeme und Verfahren werden offenbart, die Ansätze zum Generieren von Spielempfehlungen bereitstellen, indem sie eine Interaktion eines Benutzers mit einem Spiel erfassen und analysieren, um einen Spielstil für den Benutzer für dieses Spiel zu bestimmen, so dass andere Spiele bestimmt werden können, die einen ähnlichen Spielstil aufweisen (z.B. schnell, langsam, zuckend, ruhig, mit hohem Können usw.) und dem Benutzer empfohlen werden können. In Ausführungsbeispielen kann sich der Spielstil eines Spiels auf die Aspekte eines Spiels beziehen, die sich darauf beziehen, wie ein Spieler mit einem Spiel interagiert, unabhängig von einem Genre oder einer Kategorie eines Spiels - obwohl Genre und Kategorie in Ausführungsbeispielen noch berücksichtigt werden können. In weiteren Beispielen kann der Spielstil die Geschwindigkeit, die Reaktionszeit, das Tempo, die Kontrollschemata, das Fähigkeitsniveau, die Spielregeln und/oder ein beliebiges Verhalten repräsentieren, das mit dem Spielablauf eines Spiels assoziiert ist.
  • Im Gegensatz zu herkömmlichen Ansätzen kann die Interaktion eines Benutzers mit einem Spiel analysiert werden, um einen Spielstil für diesen Benutzer zu bestimmen. Zum Beispiel können die Interaktionen eines Benutzers in einem ersten Spiel verwendet werden, um zu bestimmen, dass der Benutzer einen relativ entspannten (oder methodischen oder kontemplativen) Spielstil (z.B. repräsentiert durch weniger häufige Eingaben in ein oder mehrere Geräte) im Vergleich zu anderen Benutzern des Spiels hat, und folglich können Empfehlungen für andere Spiele bereitgestellt werden, die ebenfalls als mit einem entspannten Spielstil identifiziert wurden.
  • In einem oder mehreren Ausführungsbeispielen können Daten generiert werden, die die Benutzerinteraktionen mit einem ersten Spiel repräsentieren. Beispielsweise können Daten generiert werden, indem Benutzerinteraktionen (z.B. Mausbewegungen, Kamerabewegungen, Augenbewegungen, Tastenanschläge, Controllerbewegungen, Tastendruckhäufigkeit usw.) erfasst werden, die einer beliebigen Anzahl von Benutzern (z.B. Spielern eines Spiels) für ein bestimmtes Spiel entsprechen. Daten, die Benutzerinteraktionen mit einem Spiel repräsentieren, können vom Spiel generiert werden (z.B. Spieldatenprotokoll, Programmierschnittstelle (API) des Spiels, Spielstatusdaten usw.). In einigen Beispielen können Daten, die Benutzerinteraktionen mit einem Spiel repräsentieren, mit Benutzereingaben in ein oder mehrere Geräte (z.B. Maus, Tastatur, Controller, Virtual Reality (VR)-, Augmented Reality (AR)- oder Mixed Reality (MR)-Headset, usw.) assoziiert sein. Zum Beispiel können Daten, die die Geschwindigkeit, Häufigkeit und/oder Richtung der Maus- oder Cursor-Eingabe eines Benutzers angeben, verwendet werden, um Daten zu generieren, die die Interaktionen eines Benutzers mit einem Spiel repräsentieren.
  • In einigen Beispielen kann das Generieren von Daten, die Benutzerinteraktionen mit einem Spiel repräsentieren, eine Analyse von Videodaten umfassen, die einem Spiel entsprechen. Zum Beispiel kann eine Änderung der in den Videodaten enthaltenen Pixelwerte analysiert werden, um Daten zu generieren, die die Interaktion des Benutzers mit einem Spiel repräsentieren. In einigen Beispielen können die Videodaten analysiert und mit einer oder mehreren Benutzereingaben assoziiert werden. Beispielsweise können Zeitstempel, die mit Videodaten assoziiert sind, analysiert werden, um Benutzereingaben zu bestimmen, die bestimmten Einzelbildern der Videodaten entsprechen.
  • Sobald eine Repräsentation von Benutzerinteraktionen mit einem Spiel generiert worden ist, kann ein Spielstilprofil generiert werden. Das Spielstilprofil kann Daten enthalten, die dem Spielstil für eine beliebige Anzahl von verschiedenen Benutzern entsprechen. Beispielsweise kann das Spielstilprofil so generiert werden, dass es Daten enthält, die die Spielstile einer beliebigen Anzahl (z.B. Hunderte, Tausende usw.) von Benutzern für ein bestimmtes Spiel repräsentieren, und ein Spielstilprofil kann für eine beliebige Anzahl von Spielen generiert werden. Das Spielstilprofil kann ein oder mehrere Spielstilattribute für das Spiel enthalten. Ein Spielstil-Attribut kann beispielsweise ein Wert, ein Parameter und/oder eine Verteilung sein, die den Spielstil der mit den Benutzerinteraktionen assoziierten Benutzer indiziert. Ein Playstyle-Attribut kann z.B. angeben, dass 85% der Spieler eines bestimmten Spiels ihre Eingabegeräte im Durchschnitt 100 Pixel pro Sekunde bewegen oder dass ein gewisser Prozentsatz der Pixel im Durchschnitt von Einzelbild zu Einzelbild geändert wird (z.B. wenn ein größerer Prozentsatz auf einen eher zuckenden oder schnellen Spielstil und ein kleinerer Prozentsatz auf einen eher langsamen Spielstil hinweist). Ein weiteres Beispiel: Ein Spielstil-Attribut kann unter Verwendung eines Histogramms, einer Wahrscheinlichkeitsverteilungsfunktion (probability distribution function, PDF) und/oder einer kumulativen Verteilungsfunktion (cumulative distribution function, CDF) repräsentiert werden, die zeigen, wie eine Gruppe von Benutzern mit einem Spiel interagiert hat. Ein Spielstil-Attribut kann zum Beispiel anzeigen, dass 50 % der Spieler eines Spiels zwischen 10 und 35 Mal pro Minute eine Mausklick-Eingabe bereitstellen. In einigen Beispielen können die Daten, die die Benutzerinteraktionen mit einem Spiel repräsentieren, einem maschinellen Lernmodell - z.B. einem neuronalen Netzwerk - bereitgestellt werden, um ein Spielstilprofil zu generieren.
  • Sobald ein aggregiertes Spielstilprofil für ein bestimmtes Spiel generiert wurde, kann das Profil mit dem persönlichen Spielstil eines Benutzers verglichen werden, der einem anderen Spiel entspricht, um eine Ähnlichkeit zwischen den beiden Spielstilen zu bestimmen. Der Spielstil des Benutzers, der einem anderen Spiel entspricht, kann unter Verwendung der oben beschriebenen Verfahren zum Erfassen und Analysieren von Daten, die für Benutzerinteraktionen mit einem Spiel repräsentativ sind, bestimmt werden. Beispielsweise kann der Spielstil eines Benutzers für ein erstes Spiel bestimmt und dann mit den aggregierten Spielstilprofilen verglichen werden, die mit einer Reihe anderer Spiele assoziiert sind, um zu identifizieren, welche Spiele aus der Reihe der anderen Spiele einen ähnlichen Spielstil aufweisen wie der Spielstil des Benutzers, der während des Spielens des ersten Spiels gezeigt wurde. Ein Beispiel: Ein Benutzer spielt ein erstes Spiel und hat eine durchschnittliche Bewegungsgeschwindigkeit von 500 Pixeln pro Sekunde. In einem solchen Beispiel kann unter Verwendung der aggregierten Spielstilprofile anderer Spiele bestimmt werden, dass Spiele, in denen 80 % (z.B. das 80. Perzentil) der anderen Benutzer eine durchschnittliche Bewegungsgeschwindigkeit von 500 Pixeln pro Sekunde haben, einen ähnlichen Spielstil wie der Benutzer aufweisen. In einigen Ausführungsbeispielen kann ein Ähnlichkeitswert berechnet werden, der die Ähnlichkeit zwischen dem aggregierten Spielstilprofil eines Spiels und dem Spielstil eines Benutzers angibt. Der Ähnlichkeitswert kann z.B. basierend auf dem Vergleich von ersten Daten, die Benutzerinteraktionen mit einem ersten Spiel (z.B. einem Spieler des ersten Spiels) repräsentieren, mit zweiten Daten, die Benutzerinteraktionen mit einem zweiten Spiel (z.B. einer Vielzahl von Spielern des zweiten Spiels) repräsentieren, berechnet werden. In einigen Beispielen kann der Ähnlichkeitswert unter Verwendung eines maschinellen Lernmodells berechnet werden, das trainiert wurde, um die Ähnlichkeit zwischen einem Spielstilprofil und einem Benutzer-Spielstil zu bestimmen. In einigen Ausführungsbeispielen kann der Ähnlichkeitswert ausschließlich auf Daten basieren, die Benutzerinteraktionen mit einem Spiel repräsentieren, während in einigen Ausführungsbeispielen der Ähnlichkeitswert auf einer Kombination aus den Daten, die Benutzerinteraktionen mit einem Spiel repräsentieren, und assoziierten Spielattributen wie Genre, Schlüsselwörter, Konsolenkompatibilität, Ästhetik, Altersfreigabe, Inhaltsfreigabe usw. basieren kann.
  • In einigen Ausführungsbeispielen kann der Ähnlichkeitswert verwendet werden, um einem Benutzer eine oder mehrere Spielempfehlungen bereitzustellen. Basierend auf dem Bestimmen von Ähnlichkeitswerten zwischen dem Spielstil des Benutzers und den aggregierten Spielstilprofilen jedes Spiels einer Gruppe anderer Spiele kann dem Benutzer beispielsweise ein Spiel aus der Gruppe anderer Spiele, das ein aggregiertes Spielstilprofil aufweist, das dem Spielstil des Benutzers am ähnlichsten ist, als empfohlenes Spiel bereitgestellt werden. In einigen Ausführungsbeispielen kann einem Benutzer basierend auf dem Bestimmen einer Ähnlichkeit zwischen dem aggregierten Spielstilprofil für ein Spiel, das der Benutzer gespielt hat, und den aggregierten Spielstilprofilen anderer Spiele eine Spieleempfehlung bereitgestellt werden. In einigen Beispielen können dem Benutzer basierend auf den Ähnlichkeitswerten der Spiele mehrere Spiele empfohlen werden. In Verbindung mit einer Spielempfehlung kann dem Benutzer eine Indikation bereitgestellt werden, die anzeigt, dass basierend auf seinem detektierten Spielstil ein oder mehrere Spiele als Kandidaten mit einem ähnlichen Spielstil identifiziert wurden. Zum Beispiel kann eine Nachricht oder ein grafisches Element dem Benutzer anzeigen, dass er, da sein Spielstil als „schnell und zuckend“ identifiziert wurde, diese anderen Spiele genießen kann, für die eine signifikante Anzahl anderer Spieler mit einem „schnellen und zuckenden“ Spielstil identifiziert wurde. In einigen Ausführungsbeispielen können einem Benutzer Spiele empfohlen werden, deren Ähnlichkeitswert größer ist als ein Schwellenwert für die Ähnlichkeit. Auf diese Weise können dem Benutzer Spielempfehlungen bereitgestellt werden, die seinem Spielstil am ehesten entsprechen. Auf diese Weise können dem Benutzer benutzerspezifische Empfehlungen bereitgestellt werden, was zu einer höheren Relevanz und genaueren Spielvorschlägen führt.
  • 1 zeigt ein beispielhaftes Systemdiagramm eines Spielablaufanalyse- und Spielempfehlungssystems 100 (auch als „System 100“ bezeichnet), gemäß einigen Ausführungsbeispielen der vorliegenden Offenbarung. Es sollte verstanden werden, dass diese und andere hier beschriebene Anordnungen nur als Beispiele dargestellt werden. Andere Anordnungen und Elemente (z.B. Maschinen, Schnittstellen, Funktionen, Anordnungen, Gruppierungen von Funktionen usw.) können zusätzlich zu oder anstelle der gezeigten verwendet werden, und einige Elemente können ganz weggelassen werden. Weiter handelt es sich bei vielen der hier beschriebenen Elemente um funktionale Entitäten, die als diskrete oder verteilte Komponenten oder in Verbindung mit anderen Komponenten und in jeder geeigneten Kombination und an jedem geeigneten Ort implementiert werden können. Verschiedene hier beschriebene Funktionen, die von Entitäten durchgeführt werden, können durch Hardware, Firmware und/oder Software ausgeführt werden. Zum Beispiel können verschiedene Funktionen von einem Prozessor ausgeführt werden, der im Speicher gespeicherte Anweisungen ausführt. In einigen Ausführungsbeispielen kann das System 100 ähnliche Merkmale, Funktionen und/oder Komponenten enthalten wie das beispielhafte Content-Streaming-System 1000 von 10, das beispielhafte Rechengerät 1100 von 11 und/oder das beispielhafte Datenzentrum 1200 von 12.
  • Das System 100 kann unter anderem ein oder mehrere Client-Geräte 104(A), 104(B) und 104(N) (im Folgenden zusammenfassend als „Client-Geräte 104“ bezeichnet), Spielserver 102 und/oder Empfehlungsserver 120 umfassen. Je nach dem aktuellen Ausführungsbeispiel oder der Implementierung kann es eine beliebige Anzahl von Client-Geräten 104 geben. Die Client-Geräte 104 können eine Spiel-Applikation 106, einen Playstyle-Analyzer 138, eine Empfehlungs-Engine 140, eine Kommunikationsschnittstelle 110, ein Eingabegerät(e) 112 und/oder eine Anzeige 114 umfassen. Obwohl in 1 nur einige Komponenten und/oder Merkmale des Client-Geräts 104 gezeigt werden, ist dies nicht als Einschränkung zu verstehen. Zum Beispiel können die Client-Geräte 104 zusätzliche oder alternative Komponenten umfassen, wie die, die unten in Bezug auf das Rechengerät 1100 von 11 beschrieben werden.
  • Komponenten des Systems 100 können über ein oder mehrere Netzwerke 108 kommunizieren. Das (die) Netzwerk(e) 108 kann (können) ein Weitverkehrsnetz (WAN) (z.B. das Internet, ein öffentliches Telefonnetz (PSTN), ein Mobilfunknetz usw.), ein lokales Netzwerk (LAN) (z.B. Wi-Fi, ZigBee, Z-Wave, Bluetooth, Bluetooth Low Energy (BLE), Ethernet usw.), ein Weitverkehrsnetz mit geringer Leistung (LPWAN) (z.B. LoRaWAN, Sigfox usw.) und/oder einen anderen Netzwerktyp umfassen. In jedem Beispiel kann jede der Komponenten des Systems 100 mit einer oder mehreren der anderen Komponenten über ein oder mehrere der Netzwerke 108 kommunizieren.
  • Die Client-Geräte 104 können ein Smartphone, einen Laptop-Computer, einen Tablet-Computer, einen Desktop-Computer, ein tragbares Gerät, eine Spielkonsole, ein VR-, AR- und/oder MR-System (z.B. ein Headset, einen Rechner, eine Spielkonsole, Fernbedienung(en), Controller und/oder andere Komponenten), ein NVIDIA SHIELD, ein Smart-Home-Gerät, das einen intelligenten persönlichen Assistenten enthalten kann, und/oder eine andere Art von Gerät umfassen, das den Spielablauf von Spielen unterstützen kann.
  • Eine Spielapplikation 106 kann eine mobile Applikation, eine Rechner-Applikation, eine Konsolen-Applikation, eine Web-Browser-Applikation, eine Game-Streaming-Plattform-Applikation und/oder eine andere Art von Software-Applikation oder Service sein. In einigen Ausführungsbeispielen können mehrere Applikationen 106 verwendet werden. Zum Beispiel kann die Benutzeroberfläche 142 von 1 in einer Applikation angezeigt werden und die GUI 500 von 5 kann in einer anderen Spielapplikation 106 angezeigt werden. Eine Spielapplikation 106 kann Anweisungen enthalten, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, den/die Prozessor(en) dazu veranlassen, ohne Einschränkung Eingabedaten zu empfangen, die Benutzereingaben für das/die eine oder mehreren Geräte 112 repräsentieren, die Eingabedaten an den/die Spielserver 102 und/oder den/die Empfehlungsserver 120 zu übertragen, als Antwort eine Spielempfehlung von dem/den Spielserver(n) 102 und/oder dem/den Empfehlungsserver(n) 120 unter Verwendung der Kommunikationsschnittstelle 110 zu empfangen und die Anzeige der Spielempfehlung auf der Anzeige 114 zu veranlassen. Mit anderen Worten, die Spielapplikation 106 kann als Vermittler operieren, um den Stream von Spielabläufen, Spielbibliotheken, Empfehlungen und/oder anderen Inhalten, die mit der Spielapplikation assoziiert sind, auf den Client-Geräten 104 zu ermöglichen. In einigen Beispielen kann die Spielapplikation 106 Spielempfehlungen (z.B. Spielempfehlungsdaten) von dem/den Empfehlungsserver(n) 120 unter Verwendung der Kommunikationsschnittstelle 110 empfangen und die Anzeige von Spielempfehlungen auf der Anzeige 114 - wie der Benutzerschnittstelle 142 - verursachen. In einigen Beispielen kann die Spielapplikation 106 bestimmen, wie, wann und/oder wo die Spielempfehlungen angezeigt werden sollen.
  • In einigen Beispielen können die Client-Geräte 104 die Spielapplikation 106 verwenden, um das Spielablauf-Video und/oder Spielempfehlungen auf der Anzeige 114 anzuzeigen. In einigen Beispielen kann ein erstes Client-Gerät, wie z. B. das Client-Gerät 104(A), das Video anzeigen, während ein zweites Client-Gerät, wie z. B. das Client-Gerät 104(B), Informationen präsentieren kann, die mit dem/den im Video identifizierten Inhaltselement(en) assoziiert sind. In Beispielen, in denen die Anzeige-Daten von dem Client-Gerät 104 empfangen werden, kann das System 100 Teil eines Game-Streaming-Systems sein, wie das Content-Streaming-System 1000 von 10, das im Folgenden detaillierter beschrieben wird.
  • Der Spielstilanalysator 138 kann eine oder mehrere Komponenten und Funktionen zum Analysieren des Spielstils eines Benutzers in Verbindung mit einem oder mehreren Spielen umfassen. Zum Beispiel kann der Spielstilanalysator 138 den Spielstil eines Benutzers analysieren, indem er Daten erfasst, die die Interaktionen des Benutzers mit einem bestimmten Spiel repräsentieren. In einigen Ausführungsbeispielen kann der Spielstilanalysator 138 die Interaktion des Benutzers mit einem oder mehreren Eingabegerät(en) 112 erfassen, z. B. durch Erfassen von Daten, die Mausbewegungen, Kamerabewegungen, Augenbewegungen, Tastenanschläge, Bewegungen des Controllers, Häufigkeit des Tastendrucks usw. repräsentieren. Die Daten, die die Interaktionen des Benutzers mit dem Spiel repräsentieren, können die Spieler-/Kamerabewegung oder -geschwindigkeit, die Reaktionszeit, das Tempo, die Steuerungsschemata, das Fähigkeitsniveau, die Spielregeln, das Interesse an der Interaktion mit Objekten in einer virtuellen Umgebung, die Lesegeschwindigkeit und/oder jedes mit dem Spielablauf eines Spiels assoziierte Verhalten repräsentieren. Beispielsweise kann der Spielstilanalysator 138 Daten wie die Anzahl der in einem bestimmten Zeitraum bewegten Pixel (z.B. Pixel/Sekunde), die Rate der Pixeländerungen, die Häufigkeit der Eingaben, die Geschwindigkeit der Eingaben, die Art der Eingaben, die räumliche Bewegung der Benutzereingaben relativ zur Anzeige des Spiels und/oder andere Messungen, Metriken oder Daten erfassen, die zur Charakterisierung des Spielstils eines Benutzers für ein bestimmtes Spiel geeignet sind. In einigen Ausführungsbeispielen können die Benutzerinteraktionen mit einem bestimmten Spiel innerhalb des Spiels erfasst und durch den Spielstilanalysator 138 abgerufen werden. Zum Beispiel kann der Spielstilanalysator 138 auf die Logdaten eines Spiels oder andere Ereigniszeitstempel zugreifen oder API-Aufrufe tätigen, um Benutzerinteraktionen mit dem Spiel zu bestimmen.
  • In einigen Beispielen kann der Spielstilanalysator 138 Daten generieren, die Benutzerinteraktionen mit einem Spiel repräsentieren, indem er dem Spiel entsprechende Videodaten analysiert. Zum Beispiel kann eine Änderung von Pixelwerten, die in Videodaten der Spielapplikation 106 enthalten sind, analysiert werden, um Daten zu generieren, die repräsentativ für Benutzerinteraktionen mit dem Spiel sind, das der Spielapplikation 106 entspricht. In einigen Beispielen können die Videodaten analysiert und mit einer oder mehreren der Benutzereingaben von einem oder mehreren der Eingabegeräte 112 assoziiert werden. Zum Beispiel können Zeitstempel, die mit Videodaten assoziiert sind, analysiert werden, um Benutzereingaben zu bestimmen, die bestimmten Einzelbildern der Videodaten entsprechen. In einigen Ausführungsbeispielen können die Einzelbilder der Videodaten analysiert werden, um Zeiträume eines aktiven Spielablaufs zu bestimmen. Beispielsweise kann die Interaktion des Benutzers mit dem (den) Eingabegerät(en) 112 nur während Spielabläufen erfasst werden, in denen sich die Pixel der Videodaten mit einer bestimmten Rate und/oder einer bestimmten Anzahl ändern, so dass Benutzereingaben während nicht aktiver oder anderweitig unbedeutender Spielabläufe (z.B. pausiertes Spiel, Menübildschirme, Standby-Modus, Pause usw.) aus dem analysierten Benutzer-Spielablauf herausgenommen werden können.
  • Die Anzeige 108 kann jede Art von Anzeige umfassen, die in der Lage ist, das Video anzuzeigen (z.B. eine Leuchtdiodenanzeige (LED), eine organische LED-Anzeige (OLED), eine Flüssigkristallanzeige (LCD), eine Aktivmatrix-OLED-Anzeige (AMOLED), eine Quantenpunktanzeige (QDD), eine Plasmaanzeige, eine LED/LCD-Anzeige und/oder eine andere Art von Anzeige). In einigen Beispielen kann die Anzeige 108 mehr als eine Anzeige umfassen (z.B. eine Dual-Monitor-Anzeige für Computerspiele, eine erste Anzeige zum Konfigurieren eines Spiels und eine Virtual-Reality-Anzeige zum Spielen des Spiels usw.). In einigen Beispielen handelt es sich bei der Anzeige um eine Touchscreen-Anzeige, wie z. B. einen Touchscreen eines Smartphones, eines Tablet-Rechners, eines Laptops oder dergleichen, wobei der Touchscreen zumindest eine der Eingabevorrichtung(en) 112 des Client-Geräts 104 ist.
  • Das (die) Eingabegerät(e) 112 kann (können) jede Art von Gerät(en) umfassen, die in der Lage sind, Benutzereingaben für das Spiel bereitzustellen. Das (die) Eingabegerät(e) kann (können) eine Tastatur, eine Maus, eine Kamera, eine Touchscreen-Anzeige, einen Controller (Controller), eine Fernbedienung (Fernbedienungen), ein Headset (z.B. Sensoren eines Virtual- oder Augmented-Reality-Headsets) und/oder andere Arten von Eingabegeräten umfassen.
  • Die Kommunikationsschnittstellen, wie die Kommunikationsschnittstelle 110, können eine oder mehrere Komponenten und Funktionen für die Kommunikation über ein oder mehrere Netzwerke, wie das/die Netzwerk(e) 108, enthalten. Die Kommunikationsschnittstelle(n) 110 kann/können so konfiguriert sein, dass sie über eine beliebige Anzahl von Netzwerk(en) 108, wie hier beschrieben, kommunizieren. Zum Beispiel können die Client-Geräte 104 zur Kommunikation im System 100 von 1 eine Ethernet- oder Wi-Fi-Verbindung über einen Router verwenden, um auf das Internet zuzugreifen, um mit dem/den Empfehlungsserver(n) 120, dem/den Spielserver(n) 102 und/oder mit anderen Client-Geräten 104 zu kommunizieren.
  • Der/die Spieleserver 102 kann/können unter anderem eine Spiel-Engine 130, eine Kommunikationsschnittstelle 110 und/oder einen oder mehrere Datenspeicher 134 umfassen. Obwohl in 1 nur einige Komponenten und/oder Merkmale des/der Spieleserver(s) 102 gezeigt werden, ist dies nicht als Einschränkung zu verstehen. Der/die Spieleserver 102 kann/können beispielsweise zusätzliche oder alternative Komponenten umfassen, wie die im Folgenden in Bezug auf das Rechengerät 1100 von 11 und/oder das Datenzentrum 1200 von 12 beschriebenen.
  • Die Spiel-Engine 130 kann eine oder mehrere Komponenten und Funktionen zum Generieren, Verteilen und/oder Verwalten von Spieldaten wie Videoströmen, Audioströmen, Spielinstanzen und/oder anderen Arten von Datenströmen enthalten, die von einer Spiel-Streaming-Plattform verwendet und in einem oder mehreren Client-Geräten 104, wie z.B. in der Anzeige 114, präsentiert werden können. Die Spieldaten können sich an einem oder mehreren Datenspeicher(n) 134 befinden, von der Spiel-Engine 130 abgerufen werden und über ein oder mehrere Netzwerke 108 unter Verwendung einer Kommunikationsschnittstelle 110 kommuniziert werden, um Spieldaten an den/die Empfehlungsserver 120 und/oder das/die Client-Gerät(e) 104 zu übertragen. Als weitere Beispiele kann die Spiel-Engine die Spieldaten von einem oder mehreren externen Geräten, wie einem Client-Gerät 104, empfangen und die Spieldaten an ein oder mehrere andere externe Geräte, wie ein oder mehrere andere Client-Geräte 104 oder den Empfehlungsserver 120, weiterleiten.
  • Der/die Empfehlungsserver 120 kann/können einen oder mehrere Server zum Generieren, Trainieren, Verwalten, Speichern und/oder Verwenden von Komponenten zum Bestimmen und Generieren von Spielempfehlungen umfassen. Der/die Empfehlungsserver 120 kann/können unter anderem eine Empfehlungs-Engine 140 und/oder einen oder mehrere Datenspeicher 134 enthalten. Obwohl in 1 nur einige Komponenten und/oder Merkmale des/der Empfehlungsserver(s) 120 gezeigt werden, ist dies nicht als Einschränkung zu verstehen. Der/die Empfehlungsserver 120 kann/können zum Beispiel zusätzliche oder alternative Komponenten enthalten, wie die, die unten in Bezug auf das Rechengerät 1100 von 11 beschrieben werden.
  • Wie in 1 weiter gezeigt, kann der/die Empfehlungsserver 120 von dem/den Spielserver(n) 102 und/oder einem Client-Gerät 104 getrennt oder verschieden sein; dies ist jedoch nicht als Einschränkung gedacht. Beispielsweise kann es sich bei dem/den Empfehlungsserver(n) 120 um die gleichen oder ähnliche Server wie der/die Spieleserver 102 handeln und/oder eine oder mehrere Komponenten davon können sich zumindest partiell auf einem oder mehreren Client-Geräten 104 befinden. In einigen Beispielen kann der/die Empfehlungsserver 120 von einer ersten Entität (z.B. einem ersten Unternehmen) betrieben oder gehostet werden und der/die Spielserver 102 kann/können von einer zweiten Entität (z.B. einem zweiten, anderen Unternehmen) betrieben oder gehostet werden. In anderen Beispielen können der/die Empfehlungsserver 120 und der/die Spieleserver 102 zumindest teilweise von derselben Entität betrieben oder gehostet werden.
  • Der (die) Empfehlungsserver 120 kann (können) die Kommunikationsschnittstelle 110 umfassen, die eine oder mehrere Komponenten und Funktionen für die Kommunikation über ein oder mehrere Netzwerke, wie z. B. das (die) Netzwerk(e) 108, enthalten kann. Die Kommunikationsschnittstelle 110 kann so konfiguriert sein, dass sie über eine beliebige Anzahl von Netzwerk(en) 108, wie hier beschrieben, kommuniziert. Zur Kommunikation im System 100 von 1 kann der/die Empfehlungsserver 120 beispielsweise eine Ethernet- oder Wi-Fi-Verbindung über einen Router verwenden, um auf das Internet zuzugreifen, um mit dem/den Client-Gerät(en) 104, dem/den Spielserver(n) 102 und/oder mit anderen Empfehlungsservern 120 zu kommunizieren.
  • Der (die) Empfehlungsserver 120 kann (können) eine Empfehlungs-Engine 140 enthalten, die so konfiguriert ist, dass sie eine Spielempfehlung basierend auf Spielstilen generiert, die mit einem Spiel assoziiert sind. In einigen Ausführungsbeispielen kann die Empfehlungs-Engine 140 unter anderem einen Spielstil-Profiler 122, einen Ähnlichkeitsbestimmer 124 und/oder einen Empfehlungsgenerator 126 enthalten. In einigen Beispielen können sich eine oder mehrere Empfehlungs-Engines 140 auf dem (den) Empfehlungsserver(n) 120 oder auf dem (den) Client-Gerät(en) 104 befinden. Der (die) Empfehlungsserver 120 kann (können) einen oder mehrere Datenspeicher 134 enthalten, in dem (denen) Spielstilprofile 136 gespeichert und/oder abgerufen werden können.
  • Der Spielstil-Profiler 122 kann so konfiguriert werden, dass er persönliche und aggregierte Spielstilprofile generiert, aktualisiert und/oder verwaltet, die mit einer beliebigen Anzahl von Spielen assoziiert sind. Der Spielstil-Profiler 122 kann die analysierten Spielstile verwenden, die einer Anzahl verschiedener Spieler entsprechen, um ein aggregiertes Spielstil-Profil zu generieren, das mit einem bestimmten Spiel assoziiert ist. Zum Beispiel kann der aggregierte Spielstil-Profiler 122 Spielstile verwenden, die von einer Reihe von Spielern eines bestimmten Spiels analysiert wurden, wie sie von einem oder mehreren Spielstilanalysatoren 138 analysiert wurden, die einem oder mehreren Client-Geräten 104 entsprechen. In einigen Ausführungsbeispielen kann der Spielstil-Profiler 122 einen Satz analysierter Spielstile verwenden, um ein oder mehrere Spielstil-Profile zu generieren, die mit einem bestimmten Spiel assoziiert sind und eine Verteilung von Spielstilen in Bezug auf ein oder mehrere Spielstil-Attribute anzeigen. Zum Beispiel kann ein Spielstil-Profil, wie die Beispiel-Spielstil-Profile 400 von 4, durch den Spielstil-Profiler 122 generiert werden.
  • Die von dem Spielstil-Profiler 122 generierten Spielstil-Profile können in einem oder mehreren Datenspeicher(n) 134 gespeichert und anschließend abgerufen werden, wenn die Spielstil-Profile aktualisiert werden. Beispielsweise können die in dem/den Datenspeicher(n) 134 gespeicherten Spielstil-Profile 136 durch den Spielstil-Profiler 122 abgerufen und aktualisiert werden, um neu analysierte Spielstil-Informationen aufzunehmen.
  • Der Ähnlichkeitsbestimmer 124 kann eine oder mehrere Komponenten und Funktionen zum Berechnen eines Ähnlichkeitswerts für ein oder mehrere Spiele basierend auf zumindest einem Spielstil-Attribut umfassen. Zum Beispiel kann der Ähnlichkeitsbestimmer 124 den Spielstil eines Benutzers in einem ersten Spiel mit einem aggregierten Spielstil-Profil vergleichen, das mit einem zweiten Spiel assoziiert ist, um einen Ähnlichkeitswert zu bestimmen. In einigen Ausführungsbeispielen kann der Ähnlichkeitsbestimmer einem Empfehlungsgenerator 126 bereitgestellt werden, der so konfiguriert sein kann, dass er die einer Liste von Spielen entsprechenden Ähnlichkeitswerte verwendet, um zu bestimmen, welche Spiele verwendet werden können, um eine Empfehlung für einen Benutzer zu generieren.
  • Der Ähnlichkeitsbestimmer 124 kann ein oder mehrere maschinelle Lernmodelle (MI,M(s)) enthalten, die unter Verwendung eines Trainingsmoduls trainiert werden, um Spiele zu bestimmen, die ein ähnliches aggregiertes Spielstil-Profil wie der Spielstil eines Benutzers aufweisen, und um einen Ähnlichkeitswert zu bestimmen. Der Ähnlichkeitsbestimmer 124 kann ein Trainingsmodul zum Erlernen eines Spielstilprofils basierend auf Benutzerinteraktionen mit dem Spiel enthalten. 2 zeigt zum Beispiel einen Ähnlichkeitsbestimmer 124, der ein Trainingsmodul 216 und ein oder mehrere MLM(s) 218 umfasst. Das Trainingsmodul kann verwendet werden, um maschinelle Lernmodelle jeder Art zu trainieren, wie z.B. maschinelle Lernmodelle, die lineare Regression, logistische Regression, Entscheidungsbäume, Support Vector Machine (SVM), Naive Bayes, k-nearest neighbor (Knn), K means clustering, random forest, Dimensionalitätsreduktionsalgorithmen, Gradient Boosting Algorithmen, neuronale Netzwerke (z.B., Auto-Encoder, Convolutional, Recurrent, Perceptions, Long/Short Terms Memory, Hopfield, Boltzmann, Deep Belief, Deconvolutional, Generative Adversarial, Liquid State Machine, etc.), neuronale Netzwerke mit Zwillingen und/oder andere Arten von maschinellen Lernmodellen.
  • Der Empfehlungsgenerator 126 kann eine oder mehrere Komponenten und Funktionen umfassen, um eine oder mehrere Spielempfehlungen zu generieren. Zum Beispiel kann der Empfehlungsgenerator 126 die von dem Ähnlichkeitsbestimmer 124 berechneten ähnlichen Punktwerte verwenden, um ein oder mehrere Spiele aus einer Menge von Spielen zu bestimmen, die als Empfehlung für einen Benutzer bereitgestellt werden sollen. In einigen Ausführungsbeispielen kann der Empfehlungsgenerator 126 eine Spielempfehlung basierend auf dem Ähnlichkeitswert generieren, der durch Vergleich des aggregierten Spielstil-Profils eines ersten Spiels mit dem aggregierten Spielstil-Profil eines zweiten Spiels berechnet wird. In einigen Ausführungsbeispielen kann der Empfehlungsgenerator 126 eine Spielempfehlung basierend auf dem Ähnlichkeitswert generieren, der durch den Vergleich des Spielstils eines bestimmten Benutzers in einem ersten Spiel mit dem aggregierten Spielstilprofil eines zweiten Spiels berechnet wird, das basierend auf Benutzerinteraktionen vieler Benutzer mit dem zweiten Spiel generiert wird, oder basierend auf einer Ähnlichkeit eines dritten Spiels, die auf einem Interessenniveau basiert, das von Benutzern mit ähnlichen persönlichen Spielstilen wie dem bestimmten Benutzer inferenziert wird.
  • Der Empfehlungsgenerator 126 kann eine Spielempfehlung für ein bestimmtes Spiel mit dem höchsten Ähnlichkeitswert bereitstellen. In einigen Beispielen kann der Empfehlungsgenerator 126 eine Reihe von Spielen bestimmen, die er empfiehlt. Zum Beispiel kann der Empfehlungsgenerator 126 basierend auf den jeweiligen Ähnlichkeitswerten eine Empfehlung für die Top 10 oder Top 25 Spiele generieren. In einigen Ausführungsbeispielen kann der Empfehlungsgenerator 126 eine Spielempfehlung basierend auf einer Kombination aus Ähnlichkeitswert und einem oder mehreren zusätzlichen Spielattributen generieren. Beispielsweise kann die Spielempfehlung ausschließlich auf dem Ähnlichkeitswert basieren, oder die Spielempfehlung kann auf einer Kombination aus dem Ähnlichkeitswert und den zusätzlichen Spielattributen wie Genre, Schlüsselwörter, Konsolenkompatibilität, Ästhetik, Alterseinstufung, Inhaltseinstufung, Veröffentlichungsdatum, Thema, Setting, erwartete Zeit bis zum Abschluss usw. basieren. In einigen Ausführungsbeispielen kann die vom Empfehlungsgenerator 126 generierte Spielempfehlung eine oder mehrere Spielmerkmale, ein Spielattribut, eine Spielästhetik, ein Genre, ein Spieltempo oder jede andere Information in Bezug auf den Spielstil und/oder Spielablauf des empfohlenen Spiels enthalten. In einigen Ausführungsbeispielen kann der Empfehlungsgenerator 126 die eine oder mehrere Spielempfehlungen für ein oder mehrere Client-Geräte 104 bereitstellen. Zum Beispiel kann der Empfehlungsgenerator 126 das/die Netzwerk(e) 108 verwenden, um eine Spielempfehlung an ein Client-Gerät 104 zur Präsentation auf der Anzeige 114 zu übertragen.
  • 2 ist ein Blockdiagramm, das einen Prozess 200 zum Generieren einer Spielempfehlung basierend auf Benutzerinteraktionen zeigt, gemäß einigen Ausführungsbeispielen der vorliegenden Offenbarung. In einigen Ausführungsbeispielen kann (können) das (die) Clientgerät(e) 104 Benutzerinteraktionen mit der Spielapplikation 106 erfassen, die einem ersten Spiel entspricht. Zum Beispiel kann jedes der Client-Geräte des/der Client-Geräte(s) 104 einem anderen Spieler einer Vielzahl von Spielern eines ersten Spiels in einer Spielapplikation 106 entsprechen. In einigen Ausführungsbeispielen können Daten, die die Benutzerinteraktionen mit dem (den) Eingabegerät(en) 112 repräsentieren, einem oder mehreren Spielstilanalysatoren bereitgestellt werden, wie z.B. dem Spielstilanalysator 206(A), dem Spielstilanalysator 206(B) und dem Spielstilanalysator 206(N) (hier gemeinsam als „Spielstilanalysatoren 206“ bezeichnet).
  • In einigen Ausführungsbeispielen können die Spielstilanalysatoren 206 Daten generieren, die repräsentativ für die Benutzerinteraktion der Vielzahl von Spielern des ersten Spiels in der Spielapplikation 106 sind. Zum Beispiel kann jeder Spielstilanalysator der Spielstilanalysatoren 206 Daten generieren, die den Spielstil eines bestimmten Spielers des ersten Spiels repräsentieren. Die generierten Spielstil-Daten für jeden Spieler des ersten Spiels in der Vielzahl von Spielern können einem Spielstil-Profiler 122 bereitgestellt werden.
  • In einigen Ausführungsbeispielen kann der Spielstil-Profiler 122 Spielstil-Daten empfangen, die einer Vielzahl von Spielern eines ersten Spiels entsprechen, und sie zu einem aggregierten Spielstil-Profil kombinieren, das dem ersten Spiel entspricht. In einigen Ausführungsbeispielen kann der Spielstil-Profiler 122 einen Satz analysierter Spielstile verwenden, um ein oder mehrere Spielstil-Profile zu generieren, die mit einem bestimmten Spiel assoziiert sind und eine Verteilung von Spielstilen in Bezug auf ein oder mehrere Spielstil-Attribute anzeigen. Wie unten unter Bezugnahme auf 4 detaillierter erörtert, können die Spielstil-Profile als Histogramm, Wahrscheinlichkeitsverteilungsfunktion (PDF), kumulative Verteilungsfunktion (CDF) und/oder eine andere Art der Repräsentation repräsentiert werden, die angibt, wie eine Gruppe von Benutzern mit dem ersten Spiel interagiert hat.
  • In einigen Ausführungsbeispielen kann das Client-Gerät 202 die Interaktionen eines bestimmten zweiten Benutzers mit der Spielapplikation 202 erfassen, die einem zweiten Spiel entspricht, das sich von dem ersten Spiel unterscheidet, das der Spielapplikation 106 entspricht. Beispielsweise können Daten, die die Interaktionen des zweiten Benutzers mit dem (den) Eingabegerät(en) 112 repräsentieren, dem Spielstilanalysator 210 bereitgestellt werden. Der Spielstilanalysator 210 kann Daten generieren, die die Interaktion des zweiten Benutzers mit dem zweiten Spiel in der Spielapplikation 204 repräsentieren. Zum Beispiel kann der Spielstilanalysator 210 Daten generieren, die den Spielstil des zweiten Benutzers für das zweite Spiel repräsentieren.
  • Das Spielstil-Profil, das dem ersten Spiel entspricht, und die Daten, die den Spielstil des zweiten Benutzers für das zweite Spiel repräsentieren, können dem Ähnlichkeitsbestimmer 124 bereitgestellt werden. Wie oben in Bezug auf 1 detaillierter beschrieben, kann der Ähnlichkeitsbestimmer 124 den Spielstil eines Benutzers im zweiten Spiel mit einem aggregierten Spielstil-Profil vergleichen, das mit dem ersten Spiel assoziiert ist, um einen Ähnlichkeitswert zu bestimmen.
  • Der Ähnlichkeitsbestimmer 124 kann ein Trainingsmodul 216 zum Trainieren des/der MLM(s) 218 enthalten, um Spiele zu bestimmen, die ein ähnliches aggregiertes Spielstil-Profil wie der Spielstil eines Benutzers aufweisen, und um einen Ähnlichkeitswert zu bestimmen. Spieldaten können durch das Trainingsmodul 216 auf das/die MLM(s) 218 angewendet werden, wobei das/die MLM(s) 218 lernt, Ähnlichkeiten zwischen Daten, die Benutzerinteraktionen in einem ersten Spiel repräsentieren, und Daten, die Benutzerinteraktionen in einem zweiten Spiel repräsentieren, zu detektieren. In einigen Beispielen können die Spieldaten auf ein oder mehrere MLM(s) 218 (z.B. neuronale Netzwerke) angewendet werden, die unter Verwendung des bestärkenden Lernens oder des inversen bestärkenden Lernens trainiert werden. Um beispielsweise zu lernen, Muster in Spielstildaten zu detektieren oder zu identifizieren, kann bestärkendes Lernen verwendet werden, um Spielstilattribute in einer beliebigen Anzahl von Spielen zu lernen.
  • Der Ähnlichkeitsbestimmer 124 kann die berechneten Ähnlichkeitswerte dem Empfehlungsgenerator 126 bereitstellen. Der Empfehlungsgenerator 126 kann die mit dem ersten Spiel und dem zweiten Spiel assoziierten Ähnlichkeitswerte verwenden, um basierend auf dem Spielstil des Benutzers in Bezug auf das zweite Spiel zu bestimmen, ob das erste Spiel dem Benutzer empfohlen werden soll. Wenn beispielsweise der Ähnlichkeitswert des Ähnlichkeitsbestimmers 124 einen bestimmten Schwellenwert erfüllt, kann dem Benutzer eine Empfehlung bereitgestellt werden, beispielsweise durch die Spielapplikation 204 des Client-Geräts 202.
  • 3 ist ein Blockdiagramm, das einen Prozess zum Generieren einer Spielempfehlung basierend auf Spielerinteraktionen zeigt, gemäß einigen Ausführungsbeispielen der vorliegenden Offenbarung. In einigen Ausführungsbeispielen können ein oder mehrere Client-Geräte 302(A), 302(B) und 302(N) (hier gemeinsam als „Client-Geräte 302“ bezeichnet) Benutzerinteraktionen mit der Spielapplikation 306A erfassen, die einem ersten Spiel entsprechen. Beispielsweise kann jedes Client-Gerät der Client-Geräte 302 einem anderen Spieler aus einer Vielzahl von Spielern eines ersten Spiels in einer Spielapplikation 306A entsprechen. In einigen Ausführungsbeispielen können Daten, die die Benutzerinteraktionen mit dem (den) Eingabegerät(en) 112 repräsentieren, einem oder mehreren Spielstilanalysatoren bereitgestellt werden, wie z.B. dem Spielstilanalysator 308(A), dem Spielstilanalysator 308(B) und dem Spielstilanalysator 308(N) (hier gemeinsam als „Spielstilanalysatoren 308“ bezeichnet).
  • In einigen Ausführungsbeispielen können die Spielstilanalysatoren 308 Daten generieren, die repräsentativ für die Benutzerinteraktion der Vielzahl von Spielern des ersten Spiels in der Spielapplikation 306A sind. Zum Beispiel kann jeder Spielstilanalysator der Spielstilanalysatoren 308 Daten generieren, die den Spielstil eines bestimmten Spielers des ersten Spiels repräsentieren. Die generierten Spielstil-Daten für jeden Spieler des ersten Spiels in der Vielzahl von Spielern können einem Spielstil-Profiler 122A bereitgestellt werden.
  • In ähnlicher Weise können ein oder mehrere Client-Geräte 304(A), 304(B) und 304(N) (hier gemeinsam als „Client-Geräte 304“ bezeichnet) Benutzerinteraktionen mit der Spielapplikation 306B erfassen, die einem zweiten Spiel entspricht. Zum Beispiel kann jedes der Client-Geräte der Client-Geräte 304 einem anderen Spieler einer Vielzahl von Spielern eines zweiten Spiels in einer Spielapplikation 306B entsprechen. In einigen Ausführungsbeispielen können Daten, die die Benutzerinteraktionen mit dem (den) Eingabegerät(en) 112 repräsentieren, einem oder mehreren Spielstilanalysatoren bereitgestellt werden, wie z.B. dem Spielstilanalysator 310 (A), dem Spielstilanalysator 310 (B) und dem Spielstilanalysator 310 (N) (hier gemeinsam als „Spielstilanalysatoren 310“ bezeichnet).
  • In einigen Ausführungsbeispielen können die Spielstilanalysatoren 310 Daten generieren, die repräsentativ für die Benutzerinteraktion der Vielzahl von Spielern des zweiten Spiels in der Spielapplikation 306B sind. Zum Beispiel kann jeder Spielstilanalysator der Spielstilanalysatoren 310 Daten generieren, die den Spielstil eines bestimmten Spielers des zweiten Spiels repräsentieren. Die generierten Spielstil-Daten für jeden Spieler des zweiten Spiels in der Vielzahl von Spielern können einem Spielstil-Profiler 122B bereitgestellt werden.
  • In einigen Ausführungsbeispielen können der Spielstil-Profiler 122A und der Spielstil-Profiler 122B Spielstil-Daten empfangen, die einer Vielzahl von Spielern eines ersten Spiels entsprechen, und sie zu einem Spielstil-Profil kombinieren, das dem ersten Spiel entspricht, und Spielstil-Daten empfangen, die einer Vielzahl von Spielern eines zweiten Spiels entsprechen, und sie zu einem Spielstil-Profil kombinieren, das dem zweiten Spiel entspricht. Die Spielstil-Profile, die dem ersten Spiel entsprechen, und die Spielstil-Profile, die dem zweiten Spiel entsprechen, können dem Ähnlichkeitsbestimmer 124 bereitgestellt werden. Wie oben in Bezug auf 1 und 2 detaillierter beschrieben, kann der Ähnlichkeitsbestimmer 124 das Spielstil-Profil des ersten Spiels mit dem Spielstil-Profil des zweiten Spiels vergleichen, um einen Punktwert für die Ähnlichkeit zu bestimmen.
  • Der Ähnlichkeitsbestimmer 124 kann die berechneten Ähnlichkeitswerte dem Empfehlungsgenerator 126 bereitstellen. Der Empfehlungsgenerator 126 kann die mit dem ersten Spiel und dem zweiten Spiel assoziierten Ähnlichkeitswerte verwenden, um zu bestimmen, ob das zweite Spiel einem mit dem Client-Gerät 330 assoziierten Benutzer empfohlen werden soll. In einigen Ausführungsbeispielen kann das Empfehlen des zweiten Spiels an den mit dem Client-Gerät 330 assoziierten Benutzer auf dem ersten Bestimmen basieren, dass der Benutzer das erste Spiel gespielt oder anderweitig damit interagiert hat. Wenn beispielsweise festgestellt wird, dass der Benutzer das erste Spiel der Spielapplikation 306A gespielt hat, und wenn der Ähnlichkeitswert des Ähnlichkeitsbestimmers 124 einen bestimmten Schwellenwert erfüllt, kann dem Benutzer eine Empfehlung für das zweite Spiel bereitgestellt werden, z. B. über die Spielapplikation 306A des Client-Geräts 330. Dieser Vorgang kann für eine beliebige Anzahl von Spielen wiederholt werden, und das oder die Spiele mit der höchsten Ähnlichkeit können dem Benutzer empfohlen werden.
  • 4 zeigt beispielhafte Spielstil-Profile 400, gemäß einigen Ausführungsbeispielen der vorliegenden Offenbarung. Die Spielstil-Profile können Daten umfassen, die repräsentativ für Benutzerinteraktionen mit einem Spiel sind, um ein oder mehrere Spielstil-Attribute für das Spiel zu generieren. Zum Beispiel kann ein Spielstil-Attribut ein Wert, ein Parameter und/oder eine Verteilung sein, der/die den Spielstil der Benutzer repräsentiert, der mit den Daten assoziiert ist, die die Benutzerinteraktionen repräsentieren. Die Spielstil-Profile 400 können als Histogramm, Wahrscheinlichkeitsverteilungsfunktion (PDF), kumulative Verteilungsfunktion (CDF) dargestellt werden und/oder eine andere Art der Repräsentation verwenden, die repräsentiert, wie eine Gruppe von Benutzern mit einem Spiel interagiert hat. Zum Beispiel zeigen das Spielstil-Histogramm 402A und das Spielstil-Histogramm 402B den analysierten Spielstil für eine Gruppe von Spielern eines Spiels an. Im Spielstil-Histogramm 402A und im Spielstil-Histogramm 402B ist der Prozentsatz der Spieler indiziert, die verschiedene Werte von Benutzerinteraktionen aufweisen, die als bewegte Pixel pro Minute analysiert worden sind. Während 4 das Spielstil-Histogramm 402A und das Spielstil-Histogramm 402B als Histogramme des Spielstil-Attributs Pixel/Minute darstellt, ist dies nicht als einschränkend zu verstehen, und eine beliebige Anzahl anderer Repräsentationen und/oder Spielstil-Attribut-Kombinationen sind hierin in Betracht zu ziehen.
  • Das Spielstil-Histogramm 402A und das Spielstil-Histogramm 402B können auch einen Teil der jeweiligen Verteilungen anzeigen, die den Spielstil-Attributen eines bestimmten Perzentils oder einer bestimmten Abweichung aller Spieler in einer Gruppe von Spielern eines Spiels entsprechen. Zum Beispiel können die Spielstil-Abweichung 408A und die Spielstil-Abweichung 408B eine Indikation dafür sein, dass 50 % aller Spieler eines Spiels einen Spielstil haben, der mit den jeweiligen Teilen des Spielstil-Histogramms 402A und des Spielstil-Histogramms 402B assoziiert ist. Das Spielstil-Histogramm 402A und das Spielstil-Histogramm 402B können auch eine Indikation eines Durchschnittswertes für ein Spielstil-Attribut für den Satz von Spielern eines Spiels umfassen, wie der mittlere Spielstil 406A und der mittlere Spielstil 406B, die dem Spielstil-Histogramm 402A bzw. dem Spielstil-Histogramm 402B entsprechen.
  • In einigen Ausführungsbeispielen können das Spielstil-Histogramm 402A und das Spielstil-Histogramm 402B eine Indikation des ermittelten Spielstils umfassen, der mit einem bestimmten Benutzer für ein erstes Spiel assoziiert ist. Beispielsweise können der Benutzer-Spielstil 404A und der Benutzer-Spielstil 404B einen Wert anzeigen, der einem oder mehreren Spielstil-Attributen entspricht, die die Interaktionen des Benutzers mit dem ersten Spiel repräsentieren. In einigen Ausführungsbeispielen kann der Spielstil des Benutzers mit dem mittleren Spielstil, dem durchschnittlichen Spielstil und/oder der Spielstilabweichung verglichen werden, um einen Ähnlichkeitswert zwischen dem Spielstil eines Benutzers und dem kollektiven Spielstil einer Gruppe von Spielern eines anderen zweiten Spiels zu bestimmen. Zum Beispiel kann der Spielstil 404A des Benutzers mit dem mittleren Spielstil 406A und/oder der Spielstilabweichung 408A verglichen werden, um ein Bestimmen der Ähnlichkeit zwischen dem Spielstil eines Benutzers in einem ersten Spiel und dem Spielstil anderer Spieler in einem zweiten Spiel zu ermöglichen. Im Beispiel des Spielstil-Histogramms 402A kann bestimmt werden, dass der durch den Spielstil 404A indizierte Spielstil des Benutzers einen geringen Grad an Ähnlichkeit mit dem Spielstil anderer Spieler in einem zweiten Spiel aufweist, da der Spielstil 404A außerhalb der Spielstil-Abweichung 408A liegt. In einem anderen Beispiel des Spielstil-Histogramms 402B kann festgestellt werden, dass der durch den Spielstil 404B indizierte Spielstil des Benutzers einen hohen Grad an Ähnlichkeit mit dem Spielstil anderer Spieler eines zweiten Spiels aufweist, da der Spielstil 404B innerhalb der Spielstil-Abweichung 408B liegt. Somit kann das Spiel, das dem Spielstil-Histogramm 402B entspricht, dem Benutzer empfohlen werden, während das Spiel, das dem Spielstil-Histogramm 402A entspricht, dem Benutzer nicht empfohlen werden kann.
  • 5 ist ein Beispiel-Screenshot einer grafischen Benutzeroberfläche (GUI) 500 für Spieleempfehlungen gemäß einigen Ausführungsbeispielen der vorliegenden Offenbarung. Die in 5 gezeigte GUI 500 kann Teil einer größeren GUI sein. Beispielsweise kann die gezeigte GUI 500 eine GUI-Region oder ein Fenster sein, das innerhalb einer umschließenden GUI präsentiert wird. In einigen Ausführungsbeispielen kann die GUI 500 Teil der Spielapplikation 106 des/der Client-Geräte(s) 104 sein oder mit dieser präsentiert werden. Beispielsweise kann die GUI 500 in der Anzeige 114 des/der Client-Gerät(e) 104 dargestellt werden. Als weitere Beispiele kann die GUI 500 Teil anderer Applikationen als der Spielapplikation 106 sein oder mit diesen präsentiert werden. Weiter kann die GUI 500 auf einem Client-Gerät(en) 104 präsentiert werden, das sich von einem Client-Gerät(en) 104 unterscheidet, das für die Analyse des Spielablaufs eines Benutzers verwendet wird.
  • Die GUI 500 kann einem Benutzer eine Spieleempfehlungsliste 502 präsentieren, die mit einer Anzahl von empfohlenen Spielen assoziiert sein kann. Zum Beispiel kann die GUI 500 einem Benutzer eine Liste von Spieleempfehlungen 504 präsentieren. In einigen Beispielen kann die Liste der Spielempfehlungen 504 eine Rangliste von Spieltiteln repräsentieren. Zum Beispiel kann die GUI 500 eine Anzahl von Spielen präsentieren, die am besten zum Spielstil eines Benutzers passen.
  • Die Spieleempfehlungsliste 502 kann alle Informationen umfassen, die mit der Spieleempfehlungsliste 504 assoziiert sind. Die Informationen können beispielsweise die Spieltitel 506 der empfohlenen Spiele, zusätzliche Spielattribute 508, einen Ähnlichkeitswert für den Spielstil 510 und/oder aggregierte Spielstil-Profile 512 umfassen, die mit der Liste der Spielempfehlungen assoziiert sind.
  • In einigen Ausführungsbeispielen können die zusätzlichen Spielattribute 508 alle zusätzlichen Informationen umfassen, die mit einem empfohlenen Spiel assoziiert sind. Zum Beispiel können die zusätzlichen Spielattribute 508 Genre, Schlüsselwörter, Veröffentlichungsdatum, Konsolenkompatibilität, Ästhetik, Altersfreigabe, Inhaltsfreigabe, Veröffentlichungsdatum, Thema, Einstellung, erwartete Zeit bis zum Abschluss usw. umfassen. In einigen Ausführungsbeispielen können die zusätzlichen Spielattribute 508 verwendet werden, um das zu empfehlende Spiel zu bestimmen. In einigen Ausführungsbeispielen können die zusätzlichen Spielattribute 508 in Verbindung mit empfohlenen Spielen assoziiert werden, obwohl die zusätzlichen Spielattribute 508 nicht als Grundlage für die Identifizierung der empfohlenen Spiele gedient haben müssen.
  • In einigen Ausführungsbeispielen können die Ähnlichkeitswerte für den Spielstil 510 den Grad der Ähnlichkeit zwischen dem analysierten Spielstil eines Benutzers in einem ersten Spiel und den aggregierten Spielstil-Profilen 512 eines Satzes anderer Spieler der verschiedenen Spiele in der Spieleempfehlungsliste 502 anzeigen. Die Ähnlichkeitswerte 510 für den Spielstil können beispielsweise als numerischer Punktwert, als Grad der Übereinstimmung (z.B. hoch, mittel, niedrig usw.) und/oder als jedes geeignete Verfahren zur Indikation einer Ähnlichkeit zwischen dem Spielstil des Benutzers und den aggregierten Spielstil-Profilen 512 angegeben werden. Als Beispiel wird der Ähnlichkeitswert 510 in 5 als prozentuale Übereinstimmung zwischen einem ersten Spiel, das mit dem Spielstil eines Benutzers assoziiert ist, und den aggregierten Spielstil-Profilen 512 eines Satzes von anderen Spielern der verschiedenen Spiele in der Spieleempfehlungsliste 502 dargestellt. In der Beispiel-GUI 500 von 5 zeigen die Ähnlichkeitswerte 510 eine 90%-ige" Übereinstimmung zwischen dem Spielstil eines Benutzers und dem Spielstil-Profil der aggregierten Spielstil-Profile 512, die dem Spiel Laser Fortress: 3084", und eine 40%-ige Übereinstimmung zwischen dem Spielstil eines Benutzers und einem Spielstil-Profil der aggregierten Spielstil-Profile 512, die dem Spiel „Sword + Stone“ entsprechen. Somit kann das Spiel „Laser Fortress: 3084“ ein geeigneteres Spiel sein, das dem Benutzer basierend auf den Ähnlichkeitswerten 510 für den Spielstil bereitgestellt werden kann.
  • In einigen Ausführungsbeispielen kann die GUI 500 Spielstil-Profile 512 umfassen, die eine Indikation für die Spielstile einer Gruppe von Spielern der verschiedenen Spiele in der Spieleempfehlungsliste 502 bereitstellen. Zum Beispiel können die Spielstil-Profile 512 gemäß den oben unter Bezugnahme auf 4 beschriebenen Beispiel-Spielstil-Profilen 400 angezeigt werden.
  • 6 ist ein Beispiel-Screenshot einer grafischen Benutzeroberfläche (GUI) 600 für eine Spieleempfehlung gemäß einigen Ausführungsbeispielen der vorliegenden Offenbarung. Die in 6 gezeigte GUI 600 kann Teil einer größeren GUI sein. Beispielsweise kann die gezeigte GUI 600 eine GUI-Region oder ein Fenster sein, das innerhalb einer umschließenden GUI präsentiert wird. In einigen Ausführungsbeispielen kann die GUI 600 Teil der Spielapplikation 106 des/der Client-Geräte(s) 104 sein oder mit dieser präsentiert werden. Beispielsweise kann die GUI 600 in der Anzeige 114 des/der Client-Gerät(e) 104 dargestellt werden. Als weitere Beispiele kann die GUI 600 Teil von anderen Applikationen als der Spielapplikation 106 sein oder mit diesen präsentiert werden. Weiter kann die GUI 600 auf einem Client-Gerät(en) 104 präsentiert werden, das sich von einem Client-Gerät(en) 104 unterscheidet, das für die Analyse des Spielablaufs eines Benutzers verwendet wird.
  • Die GUI 600 kann einem Benutzer Empfehlungsinformationen 602 präsentieren, die mit einem empfohlenen Spiel assoziiert sein können. Zum Beispiel kann die GUI 600 einen Benutzer mit den Empfehlungsinformationen 602 auffordern, wie z.B. die Empfehlung des Spieltitels „Crypt Goblin“. Die Empfehlungsinformationen 602 können alle Informationen umfassen, die mit dem empfohlenen Spiel assoziiert sind. Zum Beispiel kann die Empfehlungsinformation 602 den Namen eines empfohlenen Spiels mit einer Indikation umfassen, dass das empfohlene Spiel basierend auf einem detektierten oder analysierten Spielstil, der mit dem Benutzer assoziiert ist, empfohlen wird.
  • In einigen Ausführungsbeispielen kann die GUI 600 Spielstilinformationen 606 umfassen, die Indikationen für Charakteristiken des Spielstils eines Benutzers enthalten, die bei der Empfehlung des empfohlenen Spiels berücksichtigt wurden. Die Spielstil-Information 606 kann ein Spielmerkmal, Spielattribute, Spielästhetik, Genre, Spieltempo oder jede andere Information umfassen, die sich auf den Spielstil und/oder Spielablauf des empfohlenen Spiels bezieht. Zum Beispiel kann die Spielstil-Information 606 anzeigen, dass das empfohlene Spiel eine einen schnellen Spielstil und einen Spielstil mit hochpräzisem Spielablauf widerspiegelt.
  • In mindestens einem Ausführungsbeispiel kann die GUI 600 einen Bereich enthalten, der eine Spieldarstellung(en) 604 präsentiert, die grafische Elemente umfassen kann, die das empfohlene Spiel repräsentieren. Zum Beispiel kann die Spieldarstellung(en) 604 ein Bild, ein Video und/oder einen Ton umfassen, die mit dem empfohlenen Spiel assoziiert sind. Ein Bild und/oder andere Informationen, die in Bezug auf ein empfohlenes Spiel präsentiert werden, können erfasst werden, indem sie lokal gespeichert oder von einem Datenspeicher abgerufen werden. Zum Beispiel kann jede Spieldarstellung 604 von einem oder mehreren Datenspeichern 134 abgerufen werden. In einigen Fällen kann die Spieldarstellung(en) 604 ein Video oder eine Reihe von Einzelbildern umfassen. Zum Beispiel kann die GUI 600 einen Teil des Spielablaufs oder einen Videotrailer des empfohlenen Spiels präsentieren.
  • In einigen Ausführungsbeispielen kann die GUI 600 ein oder mehrere grafische Elemente 608 umfassen, die eine Reihe von Aktionen im Zusammenhang mit dem empfohlenen Spiel ermöglichen. Das (die) grafische(n) Element(e) 608 kann (können) ausgewählt werden, um einem Benutzer zu ermöglichen, auf zusätzliche Details über ein empfohlenes Spiel zuzugreifen, das empfohlene Spiel zu einer Liste gespeicherter Spiele oder einem Warenkorb hinzuzufügen und/oder das empfohlene Spiel zu spielen oder anderweitig zu erwerben. Zum Beispiel kann das grafische Element 608 von einem Benutzer ausgewählt werden, um das empfohlene Spiel „Crypt Goblin“ zu einer mit dem Benutzer assoziierten Liste hinzuzufügen.
  • Unter Bezugnahme auf 7-9, umfasst jeder Block der hier beschriebenen Verfahren 700, 800 und 900 einen Rechenprozess, der unter Verwendung einer beliebigen Kombination von Hardware, Firmware und/oder Software durchgeführt werden kann. Zum Beispiel können verschiedene Funktionen von einem Prozessor ausgeführt werden, der im Speicher gespeicherte Anweisungen ausführt. Die Verfahren 700, 800 und 900 können auch als computerverwendbare Anweisungen, die auf Computerspeichermedien gespeichert sind, verkörpert werden. Die Verfahren 700, 800 und 900 können durch eine eigenständige Applikation, einen Dienst oder einen gehosteten Dienst (eigenständig oder in Kombination mit einem anderen gehosteten Dienst) oder ein Plug-in für ein anderes Produkt bereitgestellt werden, um nur einige zu nennen. Darüber hinaus werden die Verfahren 700, 800 und 900 beispielhaft in Bezug auf das System von 1 beschrieben. Diese Verfahren können jedoch zusätzlich oder alternativ durch ein beliebiges System oder eine beliebige Kombination von Systemen ausgeführt werden, einschließlich, aber nicht beschränkt auf die hier beschriebenen.
  • Unter Bezugnahme auf 7 ist 7 ein Flussdiagramm, das ein Verfahren 700 zum Generieren einer Spielempfehlung zeigt, gemäß einigen Ausführungsbeispielen der vorliegenden Offenbarung. Das Verfahren 700 umfasst in Block B702 ein Generieren erster Daten, die die Benutzerinteraktionen einer Vielzahl erster Benutzer mit einem ersten Spiel repräsentieren. Beispielsweise kann der Spielstilanalysator 138 Daten von dem (den) Eingabegerät(en) 112 verwenden, um Daten zu generieren, die repräsentativ für die Interaktionen eines Benutzers mit der Spielapplikation 106 des Client-Geräts 104A sind.
  • Das Verfahren 700 umfasst in Block B704 ein Assoziieren der ersten Daten mit dem ersten Spiel. Zum Beispiel kann der Spielstilanalysator 138 die Daten von Eingabegerät(en) 112 mit einem ersten Spiel assoziieren, das von einem Benutzer der Spielapplikation 106 gespielt wird. Die ersten Daten können den Spielstil des Benutzers in Bezug auf das erste Spiel repräsentieren.
  • Das Verfahren 700 umfasst in Block B706 ein Generieren von zweiten Daten, die Benutzerinteraktionen eines zweiten Benutzers mit einem oder mehreren zweiten Spielen repräsentieren, die sich von dem ersten Spiel unterscheiden. Zum Beispiel kann der/die Empfehlungsserver 120 die Empfehlungs-Engine 140 verwenden, um ein aggregiertes Spielstil-Profil für ein oder mehrere zweite Spiele zu generieren. Die Empfehlungs-Engine 140 kann den Spielstil-Profiler 122 verwenden, um die aggregierten Spielstil-Profile für das eine oder die mehreren zweiten Spiele zu generieren.
  • Das Verfahren 700 umfasst in Block B708 ein Bestimmen eines Ähnlichkeitswerts, der zumindest teilweise auf den ersten Daten und den zweiten Daten basiert. Zum Beispiel kann der Ähnlichkeitsbestimmer 124 der Empfehlungs-Engine 140 die ersten Daten, die dem Benutzer entsprechen, und die zweiten Daten, die den aggregierten Spielstil-Profilen für das eine oder die mehreren zweiten Spiele entsprechen, vergleichen.
  • Das Verfahren 700 umfasst in Block B710 ein Empfehlen des ersten Spiels an den Benutzer basierend zumindest teilweise auf dem Ähnlichkeitswert und der Assoziierung der ersten Daten mit dem ersten Spiel. Zum Beispiel kann der Empfehlungsgenerator 126 Punktwerte von dem Ähnlichkeitsbestimmer 124 verwenden, um zu bestimmen, dass das erste Spiel empfohlen werden sollte. Das erste Spiel kann dem Benutzer über die Anzeige 114 des/der Client-Gerätes/e 104 bereitgestellt werden.
  • 8 ist ein Flussdiagramm, das ein Verfahren 800 zum Generieren einer Spielempfehlung zeigt, gemäß einigen Ausführungsbeispielen der vorliegenden Offenbarung. Das Verfahren 800 umfasst in Block B802 ein Generieren von ersten Daten, die Benutzerinteraktionen einer Vielzahl von ersten Benutzern mit einem ersten Spiel repräsentieren. Zum Beispiel kann der Spielstilanalysator 138 des (der) Client-Gerät(e) 104 Daten von dem (den) Eingabegerät(en) 112 verwenden, um Daten zu generieren, die Interaktionen einer Vielzahl von ersten Benutzern eines ersten Spiels mit der Spielapplikation 106 repräsentieren.
  • Das Verfahren 800 umfasst in Block B804 ein Generieren von zweiten Daten, die Benutzerinteraktionen einer Vielzahl von zweiten Benutzern mit einem zweiten Spiel repräsentieren. Zum Beispiel kann der Spielstilanalysator 138 des (der) Client-Gerät(e) 104 Daten von dem (den) Eingabegerät(en) 112 verwenden, um Daten zu generieren, die Interaktionen einer Vielzahl von zweiten Benutzern eines zweiten Spiels mit der Spielapplikation 106 repräsentieren.
  • Das Verfahren 800 umfasst in Block B806 ein Bestimmen, dass das erste Spiel und das zweite Spiel einen Ähnlichkeitsschwellenwert erfüllen, der zumindest teilweise auf den ersten Daten und den zweiten Daten basiert. Beispielsweise kann der Ähnlichkeitsbestimmer 124 der Empfehlungs-Engine 140 verwendet werden, um die ersten Daten, die Benutzerinteraktionen einer Vielzahl von ersten Benutzern mit einem ersten Spiel repräsentieren, mit den zweiten Daten zu vergleichen, die Benutzerinteraktionen einer Vielzahl von zweiten Benutzern mit einem zweiten Spiel repräsentieren. Der Ähnlichkeitsbestimmer 124 kann einen Schwellenwert auf die berechneten Ähnlichkeitswerte anwenden.
  • Das Verfahren 800 umfasst in Block B808 ein Bestimmen, dass der Benutzer das erste Spiel gespielt hat. Zum Beispiel kann das/die Client-Gerät(e) 104 durchsucht werden, um zu bestimmen, ob der Benutzer die mit dem ersten Spiel assoziierte Spielapplikation 106 besitzt oder ausgeführt hat. Der (die) Spiel-Server 102 kann (können) auf die Spiel-Engine 130 und/oder den (die) Datenspeicher 134 zugreifen, um zu überprüfen, ob der Benutzer das erste Spiel gespielt hat.
  • Das Verfahren 800 umfasst in Block B810 ein Empfehlen des zweiten Spiels an den Benutzer, basierend zumindest teilweise auf dem Bestimmen, dass der Ähnlichkeitsschwellenwert erfüllt ist und dass der Benutzer das erste Spiel gespielt hat. Beispielsweise kann der Empfehlungsgenerator 126 eine Spielempfehlung für das zweite Spiel basierend auf dem Empfangen eines Ähnlichkeitswertes von dem Ähnlichkeitsbestimmer 124 generieren, der den Schwellenwert für den Ähnlichkeitswert erfüllt. Die Empfehlung des zweiten Spiels kann dem/den Client-Gerät(en) 104 bereitgestellt und in der Anzeige 114 präsentiert werden.
  • 9 ist ein Flussdiagramm, das ein Verfahren 900 zum Generieren einer Spielempfehlung zeigt, gemäß einigen Ausführungsbeispielen der vorliegenden Offenbarung. Das Verfahren 900 umfasst in Block B902 ein Zugreifen auf erste Daten, die erste Benutzereingaben an ein oder mehrere erste Eingabegeräte repräsentieren, die mit einer Vielzahl von ersten Benutzern und einem ersten Spiel assoziiert sind. Zum Beispiel kann der Ähnlichkeitsbestimmer 124 die ersten Daten, die repräsentativ für erste Benutzereingaben zu einem oder mehreren ersten Eingabegeräten sind, die mit einer Vielzahl von ersten Benutzern und einem ersten Spiel assoziiert sind, von dem/den Datenspeicher(n) 134 des/der Empfehlungsserver(s) 120 und/oder des/der Spielserver(s) 102 abrufen.
  • Das Verfahren 900 umfasst in Block B904 ein Zugreifen auf zweite Daten, die zweite Benutzereingaben an einem oder mehreren zweiten Eingabegeräten repräsentieren, die mit einem zweiten Benutzer assoziiert sind, der mit einem oder mehreren zweiten Spielen assoziiert ist, die sich von dem ersten Spiel unterscheiden. Zum Beispiel kann der Ähnlichkeitsbestimmer 124 die zweiten Daten, die repräsentativ für zweite Benutzereingaben zu einem oder mehreren zweiten Eingabegeräten sind, die mit einer Vielzahl von zweiten Benutzern und einem zweiten Spiel assoziiert sind, von dem/den Datenspeicher(n) 134 des/der Empfehlungsserver(s) 120 und/oder dem/den Spielserver(n) 102 abrufen.
  • Das Verfahren 900 umfasst in Block B906 ein Bestimmen eines Ähnlichkeitswerts, der zumindest teilweise auf den ersten Daten und den zweiten Daten basiert. Zum Beispiel kann die Empfehlungs-Engine 140 den Ähnlichkeitsbestimmer 124 verwenden, um einen Ähnlichkeitswert zu berechnen, der die Ähnlichkeit zwischen den ersten Daten und den zweiten Daten repräsentiert.
  • Das Verfahren 900 umfasst in Block B908 ein Empfehlen des ersten Spiels an den Benutzer zumindest teilweise basierend auf dem Ähnlichkeitswert. Zum Beispiel kann der Empfehlungsgenerator 126 der Empfehlungs-Engine 140 die Punktwerte aus dem Ähnlichkeitsbestimmer 124 verwenden, um eine Spielempfehlung zu generieren, die dem Benutzer das erste Spiel empfiehlt. Insbesondere kann das (die) Client-Gerät(e) 104 dem Benutzer die Empfehlung des ersten Spiels unter Verwendung der Anzeige 114 bereitstellen.
  • Beispielhaftes Inhalts-Streaming-System
  • 10 ist ein Beispielsystemdiagramm für ein Inhalts-Streaming-System 1000, gemäß einigen Ausführungsbeispielen der vorliegenden Offenbarung. 10 umfasst Applikationsserver 1002 (die ähnliche Komponenten, Merkmale und/oder Funktionalität wie das beispielhafte Rechengerät 1100 von 11 umfassen können), Client-Gerät(e) 1004 (die ähnliche Komponenten, Merkmale und/oder Funktionalität wie das beispielhafte Rechengerät 1100 von 11 umfassen können) und Netzwerk(e) 1006 (die ähnlich wie die hierin beschriebenen Netzwerke sein können). In einigen Ausführungsbeispielen der vorliegenden Offenbarung kann das System 1000 implementiert werden. Die Anwendungssitzung kann einer Spielapplikation (z.B. NVIDIA GeFORCE NOW), einer Remote-Desktop-Applikation, einer Simulationsapplikation (z.B. autonome oder teilautonome Fahrzeugsimulation), Computer Aided Design (CAD)-Applikationen, Virtual Reality (VR)- und/oder Augmented Reality (AR)-Streaming-Applikationen, Deep Learning-Applikationen und/oder anderen Applikationstypen entsprechen.
  • Im System 1000 kann das (die) Client-Gerät(e) 1004 für eine Applikationssitzung Eingabedaten nur als Antwort auf Eingaben an das (die) Eingabegerät(e) empfangen, die Eingabedaten an den (die) Applikationsserver 1002 übertragen, kodierte Anzeigedaten von dem (den) Applikationsserver(n) 1002 empfangen und die Anzeigedaten auf der Anzeige 1024 anzeigen. Somit wird das rechenintensivere Rechnen und Verarbeiten auf den/die Applikationsserver 1002 verlagert (z.B. wird das Rendern - insbesondere das Ray- oder Path-Tracing - für die grafische Ausgabe der Applikationssitzung von der/den GPU(s) des/der Spieleserver(s) 1002 ausgeführt). Mit anderen Worten, die Applikationssitzung wird von dem/den Applikationsserver(n) 1002 zu dem/den Client-Gerät(en) 1004 gestreamt, wodurch die Anforderungen des/der Client-Gerät(e) 1004 zum grafischen Verarbeiten und Rendern reduziert werden.
  • Zum Beispiel kann ein Client-Gerät 1004 in Bezug auf eine Instanziierung einer Applikationssitzung ein Einzelbild der Applikationssitzung auf der Anzeige 1024 basierend auf dem Empfang der Anzeigedaten von dem/den Applikationsserver(n) 1002 anzeigen. Das Client-Gerät 1004 kann eine Eingabe an eines der Eingabegeräte empfangen und daraufhin Eingabedaten generieren. Das Client-Gerät 1004 kann die Eingabedaten über die Kommunikationsschnittstelle 1020 und über das Netzwerk (die Netzwerke) 1006 (z.B. das Internet) an den/die Applikationsserver 1002 übertragen, und der/die Applikationsserver 1002 kann die Eingabedaten über die Kommunikationsschnittstelle 1018 empfangen. Die CPU(s) können die Eingabedaten empfangen, die Eingabedaten verarbeiten und Daten an die GPU(s) übertragen, die die GPU(s) veranlassen, ein Rendering der Applikationssitzung zu generieren. Beispielsweise können die Eingabedaten eine Bewegung eines Charakters des Benutzers in einer Spielsitzung einer Spielapplikation repräsentieren, das Abfeuern einer Waffe, das Nachladen, das Passen eines Balls, das Wenden eines Fahrzeugs usw. Die Rendering-Komponente 1012 kann die Applikationssitzung rendern (z.B. repräsentativ für das Ergebnis der Eingabedaten), und die Rendering-Erfassungskomponente 1014 kann das Rendering der Applikationssitzung als Anzeige-Daten erfassen (z.B. als Bilddaten, die das gerenderte Einzelbild der Applikationssitzung erfassen). Das Rendern der Applikationssitzung kann strahlen- oder pfadverfolgte Beleuchtungs- und/oder Schatteneffekte umfassen, die unter Verwendung einer oder mehrerer paralleler Verarbeitungseinheiten - wie GPUs, die weiter die Verwendung eines oder mehrerer dedizierter Hardwarebeschleuniger oder Verarbeitungskerne zum Durchführen von Strahlen- oder Pfadverfolgungstechniken verwenden können - des/der Applikationsserver(s) 1002 berechnet werden. In einigen Ausführungsbeispielen können eine oder mehrere virtuelle Maschinen (VMs) - z.B., die eine oder mehrere virtuelle Komponenten wie vGPUs, vCPUs usw. umfassen - können von dem/den Applikationsserver(n) 1002 verwendet werden, um die Applikationssitzungen zu unterstützen. Der Kodierer 1016 kann dann die Anzeigedaten kodieren, um kodierte Anzeigedaten zu generieren, und die kodierten Anzeigedaten können über das/die Netzwerk(e) 1006 über die Kommunikationsschnittstelle 1018 an das Client-Gerät 1004 übertragen werden. Das Client-Gerät 1004 kann die kodierten Anzeigedaten über die Kommunikationsschnittstelle 1020 empfangen und der Dekodierer 1022 kann die kodierten Anzeigedaten dekodieren, um die Anzeigedaten zu generieren. Das Client-Gerät 1004 kann dann die Anzeigedaten über die Anzeige 1024 anzeigen.
  • Beispielhaftes Rechengerät
  • 11 ist ein Blockdiagramm eines beispielhaften Rechengeräts 1100, das zur Verwendung bei der Implementierung einiger Ausführungsbeispiele der vorliegenden Offenbarung geeignet ist/sind. Das Rechnersystem 1100 kann ein Verbindungssystem 1102 enthalten, das direkt oder indirekt die folgenden Geräte koppelt: Speicher 1104, eine oder mehrere Zentraleinheiten (CPUs) 1106, eine oder mehrere Grafikverarbeitungseinheiten (GPUs) 1108, eine Kommunikationsschnittstelle 1110, E/A-Anschlüsse 1112, Eingabe-/Ausgabekomponenten 1114, eine Stromversorgung 1116, eine oder mehrere Präsentationskomponenten 1118 (z.B. Anzeige(n)) und eine oder mehrere Logikeinheiten 1120. In mindestens einem Ausführungsbeispiel kann das (die) Rechengerät(e) 1100 eine oder mehrere virtuelle Maschinen (VMs) umfassen und/oder jede der Komponenten davon kann virtuelle Komponenten (z.B. virtuelle Hardwarekomponenten) umfassen. Als nicht einschränkende Beispiele können eine oder mehrere der GPUs 1108 eine oder mehrere vGPUs umfassen, eine oder mehrere der CPUs 1106 können eine oder mehrere vCPUs umfassen, und/oder eine oder mehrere der Logikeinheiten 1120 können eine oder mehrere virtuelle Logikeinheiten umfassen. So kann ein Rechengerät 1100 diskrete Komponenten (z.B. eine vollständige GPU, die dem Rechengerät 1100 gewidmet ist), virtuelle Komponenten (z.B. einen Teil einer GPU, die dem Rechengerät 1100 gewidmet ist), oder eine Kombination davon umfassen.
  • Obwohl die verschiedenen Blöcke von 11 als über das Verbindungssystem 1102 mit Linien verbunden dargestellt sind, ist dies nicht als Einschränkung gedacht und dient lediglich der Klarheit. In einigen Ausführungsbeispielen kann z.B. eine Präsentationskomponente 1118, wie ein Gerät mit Anzeige, als E/A-Komponente 1114 betrachtet werden (z.B. wenn es sich bei der Anzeige um einen Touchscreen handelt). Ein weiteres Beispiel ist, dass die CPUs 1106 und/oder GPUs 1108 einen Speicher umfassen können (z.B. kann der Speicher 1104 ein Gerät repräsentieren, das zusätzlich zum Speicher der GPUs 1108, der CPUs 1106 und/oder anderer Komponenten verwendet wird). Mit anderen Worten, das Rechengerät von 11 ist lediglich illustrativ. Es wird nicht zwischen Kategorien wie „Workstation", „Server", „Laptop“, „Desktop“, „Tablet“, „Client-Gerät“, „mobiles Gerät“, „Handheld-Gerät“, „Spielkonsole“, „elektronische Steuereinheit (ECU)“, „Virtual-Reality-System“ und/oder anderen Geräte- oder Systemtypen unterschieden, da alle im Rahmen des Rechengeräts von 11 in Betracht gezogen werden.
  • Das Verbindungssystem 1102 kann eine oder mehrere Verbindungen oder Busse repräsentieren, wie z.B. einen Adressbus, einen Datenbus, einen Steuerbus oder eine Kombination davon. Das Verbindungssystem 1102 kann einen oder mehrere Bus- oder Verbindungstypen umfassen, wie z. B. einen ISA-Bus (Industry Standard Architecture), einen EISA-Bus (Extended Industry Standard Architecture), einen VESA-Bus (Video Electronics Standards Association), einen PCI-Bus (Peripheral Component Interconnect), einen PCIe-Bus (Peripheral Component Interconnect Express) und/oder eine andere Art von Bus oder Verbindung. In einigen Ausführungsbeispielen gibt es direkte Verbindungen zwischen den Komponenten. Zum Beispiel kann die CPU 1106 direkt mit dem Speicher 1104 verbunden sein. Weiter kann die CPU 1106 direkt mit der GPU 1108 verbunden sein. Bei direkten oder Punkt-zu-Punkt-Verbindungen zwischen Komponenten kann das Verbindungssystem 1102 eine PCIe-Verbindung umfassen, um die Verbindung herzustellen. In diesen Beispielen braucht das Rechengerät 1100 keinen PCI-Bus zu umfassen.
  • Der Speicher 1104 kann eine beliebige Auswahl an computerlesbaren Medien umfassen. Die computerlesbaren Medien können alle verfügbaren Medien sein, auf die das Rechengerät 1100 zugreifen kann. Die computerlesbaren Medien können sowohl flüchtige als auch nicht-flüchtige Medien sowie entfernbare und nicht-entfernbare Medien umfassen. Als Beispiel und ohne Einschränkung können die computerlesbaren Medien Computerspeichermedien und Kommunikationsmedien umfassen.
  • Die Computer-Speichermedien können sowohl flüchtige als auch nicht-flüchtige Medien und/oder entfernbare und nicht-entfernbare Medien umfassen, die in einem beliebigen Verfahren oder einer beliebigen Technologie zur Speicherung von Informationen wie computerimplementierten Anweisungen, Datenstrukturen, Programm-Modulen und/oder anderen Datentypen implementiert sind. Zum Beispiel kann der Speicher 1104 computerlesbare Anweisungen speichern (z.B., die ein oder mehrere Programme und/oder ein oder mehrere Programmelemente repräsentieren, wie z.B. ein Betriebssystem. Computerspeichermedien können RAM, ROM, EEPROM, Flash-Speicher oder andere Speichertechnologien, CD-ROM, Digital Versatile Disks (DVD) oder andere optische Plattenspeicher, Magnetkassetten, Magnetbänder, Magnetplattenspeicher oder andere magnetische Speichergeräte oder jedes andere Medium umfassen, das verwendet werden kann, um die gewünschten Informationen zu speichern und auf das das Rechengerät 1100 zugreifen kann, ohne darauf beschränkt zu sein. Wie hier verwendet, umfassen Rechner-Speichermedien nicht per se Signale.
  • Die Computer-Speichermedien können computerlesbare Anweisungen, Datenstrukturen, Programmmodule und/oder andere Datentypen in einem modulierten Datensignal, wie z.B. einer Trägerwelle oder einem anderen Transportmechanismus, verkörpern und umfassen beliebige Informationsübertragungsmedien. Der Begriff „moduliertes Datensignal“ kann sich auf ein Signal beziehen, bei dem eine oder mehrere seiner Charakteristiken so eingestellt oder verändert sind, dass Informationen in dem Signal kodiert werden. Die Speichermedien des Rechners können beispielsweise verdrahtete Medien wie ein verdrahtetes Netzwerk oder eine direkt verdrahtete Verbindung sowie drahtlose Medien wie Akustik-, HF-, Infrarot- und andere drahtlose Medien umfassen, ohne darauf beschränkt zu sein. Kombinationen der oben genannten Möglichkeiten sollten ebenfalls in den Anwendungsbereich der computerlesbaren Medien umfassen.
  • Die CPU(s) 1106 kann/können konfiguriert werden, um zumindest einige der computerlesbaren Anweisungen auszuführen, um eine oder mehrere Komponenten des Rechengeräts 1100 zu steuern, um eines oder mehrere der hierin beschriebenen Verfahren und/oder Prozesse durchzuführen. Die CPU(s) 1106 kann/können jeweils einen oder mehrere Kerne umfassen (z.B. einen, zwei, vier, acht, achtundzwanzig, zweiundsiebzig, usw.), die in der Lage sind, eine Vielzahl von Software-Threads gleichzeitig zu verarbeiten. Die CPU(s) 1106 kann jede Art von Prozessor umfassen und je nach Art des implementierten Rechengeräts 1100 verschiedene Arten von Prozessoren umfassen (z.B. Prozessoren mit weniger Kernen für mobile Geräte und Prozessoren mit mehr Kernen für Server). Je nach Art des Rechengeräts 1100 kann der Prozessor beispielsweise ein Advanced RISC Machines (ARM)-Prozessor sein, der Reduced Instruction Set Computing (RISC) verwendet, oder ein x86-Prozessor, der Complex Instruction Set Computing (CISC) verwendet. Das Rechengerät 1100 kann eine oder mehrere CPUs 1106 umfassen, zusätzlich zu einem oder mehreren Mikroprozessoren oder zusätzlichen Co-Prozessoren, wie z.B. mathematischen Co-Prozessoren.
  • Zusätzlich zu oder alternativ zu der/den CPU(s) 1106 kann/können der/die GPU(s) 1108 so konfiguriert sein, dass er/sie zumindest einige der computerlesbaren Anweisungen ausführt/ausführen, um eine oder mehrere Komponenten des Rechengeräts 1100 zu steuern, um eines oder mehrere der hierin beschriebenen Verfahren und/oder Prozesse durchzuführen. Eine oder mehrere der GPU(s) 1108 können eine integrierte GPU sein (z.B. mit einer oder mehreren der CPU(s) 1106 und/oder eine oder mehrere der GPU(s) 1108 können eine diskrete GPU sein. In Ausführungsbeispielen kann eine oder mehrere der GPU(s) 1108 ein Koprozessor einer oder mehrerer der CPU(s) 1106 sein. Der/die GPU(s) 1108 kann/können vom Rechengerät 1100 verwendet werden, um Grafiken zu rendern (z.B. 3D-Grafiken) oder allgemeine Berechnungen durchzuführen. Der/die GPU(s) 1108 kann/können zum Beispiel für das allgemeine Rechnen auf GPUs (GPGPU) verwendet werden. Die GPU(s) 1108 kann Hunderte oder Tausende von Kernen umfassen, die in der Lage sind, Hunderte oder Tausende von Software-Threads gleichzeitig zu verarbeiten. Der (die) Grafikprozessor(en) 1108 kann (können) als Reaktion auf Rendering-Befehle (z.B. Rendering-Befehle von der (den) CPU(s) 1106, die über eine Host-Schnittstelle empfangen werden) Pixeldaten für die Ausgabe von Bildern generieren. Die GPU(s) 1108 kann/können einen Grafikspeicher, z. B. einen Anzeigespeicher, zum Speichern von Pixeldaten oder anderen geeigneten Daten, wie z. B. GPGPU-Daten, umfassen. Der Anzeigespeicher kann einen Teil des Speichers 1104 umfassen. Die GPU(s) 1108 kann/können zwei oder mehr GPUs umfassen, die parallel operieren (z.B. über eine Verbindung). Die Verbindung kann die GPUs direkt zu leiten (z.B. unter Verwendung von NVLINK) oder über einen Switch zu verbinden (z.B. unter Verwendung von NVSwitch). In Kombination kann jede GPU 1108 Pixeldaten oder GPGPU-Daten für verschiedene Teile einer Ausgabe oder für verschiedene Ausgaben generieren (z.B. eine erste GPU für ein erstes Bild und eine zweite GPU für ein zweites Bild). Jede GPU kann ihren eigenen Speicher umfassen oder sich den Speicher mit anderen GPUs gemeinsam nutzen.
  • Zusätzlich zu oder alternativ zu der (den) CPU(s) 1106 und/oder der (den) GPU(s) 1108 kann (können) die Logikeinheit(en) 1120 so konfiguriert sein, dass sie zumindest einige der computerlesbaren Anweisungen ausführen, um eine oder mehrere Komponenten des Rechengeräts 1100 zu steuern, um eines oder mehrere der hier beschriebenen Verfahren und/oder Prozesse durchzuführen. In Ausführungsbeispielen können die CPU(s) 1106, die GPU(s) 1108 und/oder die Logikeinheit(en) 1120 diskret oder gemeinsam eine beliebige Kombination der Verfahren, Prozesse und/oder Teile davon durchführen. Eine oder mehrere der Logikeinheiten 1120 können Teil einer oder mehrerer der CPU(s) 1106 und/oder der GPU(s) 1108 sein und/oder eine oder mehrere der Logikeinheiten 1120 können diskrete Komponenten sein oder anderweitig außerhalb der CPU(s) 1106 und/oder der GPU(s) 1108 liegen. In Ausführungsbeispielen kann eine oder mehrere der Logikeinheiten 1120 ein Koprozessor einer oder mehrerer der CPU(s) 1106 und/oder einer oder mehrerer der GPU(s) 1108 sein.
  • Beispiele für die Logikeinheit(en) 1120 umfassen einen oder mehrere Verarbeitungskerne und/oder Komponenten davon, wie z. B. Datenverarbeitungseinheiten (DPUs), Tensorkerne (TCs), Tensor Processing Units (TPUs), Pixel Visual Cores (PVCs), Vision Processing Units (VPUs), Graphics Processing Clusters (GPCs), Texture Processing Clusters (TPCs), Streaming-Multiprozessoren (SMs), Tree Traversal Units (TTUs), Artificial Intelligence Accelerators (AIAs), Deep Learning Accelerators (DLAs), Arithmetic-Logic Units (ALUs), Application-Specific Integrated Circuits (ASICs), Floating Point Units (FPUs), Input/Output (E/A)-Elemente, Peripheral Component Interconnect (PCI) oder Peripheral Component Interconnect Express (PCIe)-Elemente und/oder Ähnliches.
  • Die Kommunikationsschnittstelle 1110 kann einen oder mehrere Empfänger, Sender und/oder Transceiver umfassen, die es dem Rechengerät 1100 ermöglichen, mit anderen Rechengeräten über ein elektronisches Kommunikationsnetzwerk zu kommunizieren, einschließlich drahtgebundener und/oder drahtloser Kommunikation. Die Kommunikationsschnittstelle 1110 kann Komponenten und Funktionen umfassen, um die Kommunikation über eine Reihe verschiedener Netzwerke zu ermöglichen, wie z.B. drahtlose Netzwerke (z.B. Wi-Fi, Z-Wave, Bluetooth, Bluetooth LE, ZigBee, etc.), drahtgebundene Netzwerke (z.B. Kommunikation über Ethernet oder InfiniBand), Low-Power-Wide-Area-Netzwerke (z.B. LoRaWAN, SigFox, etc.) und/oder das Internet. In einem oder mehreren Ausführungsbeispielen kann die Logikeinheit(en) 1120 und/oder die Kommunikationsschnittstelle 1110 eine oder mehrere Datenverarbeitungseinheiten (DPUs) umfassen, um die über ein Netzwerk und/oder über das Verbindungssystem 1102 empfangenen Daten direkt an (z.B. einen Speicher) eine oder mehrere GPU(s) 1108 zu übertragen.
  • Die E/A-Ports 1112 können es dem Rechengerät 1100 ermöglichen, logisch mit anderen Geräten gekoppelt zu werden, einschließlich der E/A-Komponenten 1114, der Präsentationskomponente(n) 1118 und/oder anderer Komponenten, von denen einige in das Rechengerät 1100 eingebaut (z.B. integriert) sein können. Beispielhafte E/A-Komponenten 1114 umfassen ein Mikrofon, eine Maus, eine Tastatur, einen Joystick, ein Gamepad, einen Gamecontroller, eine Satellitenschüssel, einen Scanner, einen Drucker, ein drahtloses Gerät usw. Die E/A-Komponenten 1114 können eine natürliche Benutzerschnittstelle (NUI) bereitstellen, die von einem Benutzer generierte Luftgesten, Sprache oder andere physiologische Eingaben verarbeitet. In einigen Instanzen können die Eingaben zur weiteren Verarbeitung an ein geeignetes Netzwerkelement übertragen werden. Eine NUI kann eine beliebige Kombination von Spracherkennung, Stifterkennung, Gesichtserkennung, biometrischer Erkennung, Gestenerkennung sowohl auf dem Bildschirm als auch neben dem Bildschirm, Luftgesten, Kopf- und Augenverfolgung und Berührungserkennung (wie unten detaillierter beschrieben) implementieren, die mit einer Anzeige des Rechengeräts 1100 assoziiert sind. Das Rechengerät 1100 kann Tiefenkameras, wie z.B. stereoskopische Kamerasysteme, Infrarotkamerasysteme, RGB-Kamerasysteme, Touchscreen-Technologie und Kombinationen davon, zum Detektieren und Erkennen von Gesten umfassen. Zusätzlich kann das Rechengerät 1100 Beschleunigungsmesser oder Gyroskope (z.B. als Teil einer Trägheitsmesseinheit (IMU)) umfassen, die das Detektieren von Bewegungen ermöglichen. In einigen Beispielen kann die Ausgabe der Beschleunigungsmesser oder Gyroskope von dem Rechengerät 1100 verwendet werden, um immersive Augmented Reality oder Virtual Reality zu rendern.
  • Die Stromversorgung 1116 kann eine fest verdrahtete Stromversorgung, eine Batteriestromversorgung oder eine Kombination davon umfassen. Die Stromversorgung 1116 kann dem Rechengerät 1100 Strom bereitstellen, damit die Komponenten des Rechengeräts 1100 operieren können.
  • Die Präsentationskomponente(n) 1118 kann/können eine Anzeige (z.B. einen Monitor, einen Touchscreen, einen Fernsehbildschirm, ein Heads-up-Display (HUD), andere Anzeigetypen oder eine Kombination davon), Lautsprecher und/oder andere Präsentationskomponenten umfassen. Die Präsentationskomponente(n) 1118 kann/können Daten von anderen Komponenten (z.B. der/den GPU(s) 1108, der/den CPU(s) 1106, DPUs usw.) empfangen und die Daten ausgeben (z.B. als Bild, Video, Ton usw.).
  • Beispielhaftes Datenzentrum
  • 12 zeigt ein beispielhaftes Datenzentrum 1200, das zumindest in einem Ausführungsbeispiel der vorliegenden Offenbarung verwendet werden kann. Das Datenzentrum 1200 kann eine Datenzentrumsinfrastrukturschicht 1210, eine Framework-Schicht 1220, eine Softwareschicht 1230 und/oder eine Applikationsschicht 1240 umfassen.
  • Wie in 12 gezeigt, kann die Datenzentruminfrastrukturschicht 1210 einen Ressourcen-Orchestrator 1212, gruppierte Rechner-Ressourcen 1214 und Knoten-Rechner-Ressourcen („Knoten C.R.s") 1216(1)-1216(N) umfassen, wobei „N“ eine beliebige ganze, positive ganze Zahl repräsentiert. In mindestens einem Ausführungsbeispiel können die Knoten-C.R.s 1216(1)-1216(N) eine beliebige Anzahl von Zentraleinheiten (CPUs) oder anderen Prozessoren (einschließlich DPUs, Beschleunigern, feldprogrammierbaren Gate-Arrays (FPGAs), Grafikprozessoren oder Grafikverarbeitungseinheiten (GPUs) usw.), Speichergeräten (z.B., dynamischer Festwertspeicher), Speichergeräte (z.B. Solid-State- oder Festplattenlaufwerke), Netzwerk-Eingabe/Ausgabe-Geräte (NW I/O), Netzwerk-Switches, virtuelle Maschinen (VMs), Stromversorgungsmodule und/oder Kühlungsmodule, usw. In einigen Ausführungsbeispielen können ein oder mehrere Knoten-C.R.s unter den Knoten-C.R.s 1216(1)-1216(N) einem Server entsprechen, der über eine oder mehrere der oben erwähnten Rechenressourcen verfügt. Darüber hinaus können in einigen Ausführungsbeispielen die Knoten C.R.s 1216(1)-12161(N) eine oder mehrere virtuelle Komponenten umfassen, wie z.B. vGPUs, vCPUs und/oder dergleichen, und/oder einer oder mehrere der Knoten C.R.s 1216(1)-1216(N) können einer virtuellen Maschine (VM) entsprechen.
  • In mindestens einem Ausführungsbeispiel können die gruppierten Rechner-Ressourcen 1214 separate Gruppierungen von Knoten-C.R.s 1216 umfassen, die in einem oder mehreren Racks (nicht gezeigt) untergebracht sind, oder viele Racks, die in Datenzentren an verschiedenen geografischen Orten untergebracht sind (ebenfalls nicht gezeigt). Getrennte Gruppierungen von Knoten-C.R.s 1216 innerhalb der gruppierten Rechenressourcen 1214 können gruppierte Rechen-, Netzwerk-, Arbeitsspeicher- oder Speicherressourcen umfassen, die zur Unterstützung einer oder mehrerer Arbeitslasten konfiguriert oder zugewiesen werden können. In mindestens einem Ausführungsbeispiel können mehrere Knoten-C.R.s 1216 einschließlich CPUs, GPUs, DPUs und/oder anderer Prozessoren in einem oder mehreren Racks gruppiert werden, um Rechenressourcen zur Unterstützung einer oder mehrerer Arbeitslasten bereitzustellen. Das eine oder die mehreren Racks können auch eine beliebige Anzahl von Stromversorgungsmodulen, Kühlmodulen und/oder Netzwerk Switches in beliebiger Kombination umfassen.
  • Der Ressourcen-Orchestrator 1212 kann einen oder mehrere Knoten C.R.s 1216(1)-1216(N) und/oder gruppierte Rechner-Ressourcen 1214 konfigurieren oder anderweitig steuern. In mindestens einem Ausführungsbeispiel kann der Ressourcen-Orchestrator 1212 eine Entität zur Verwaltung der Software-Design-Infrastruktur (SDI) für das Datenzentrum 1200 umfassen. Der Ressourcen-Orchestrator 1212 kann Hardware, Software oder eine Kombination davon umfassen.
  • In mindestens einem Ausführungsbeispiel, wie in 12 gezeigt, kann die Framework-Schicht 1220 einen Aufgabenplaner 1232, einen Konfigurationsverwalter 1234, einen Verwalter für Ressourcen 1236 und/oder ein verteiltes Dateisystem 1238 umfassen. Die Framework-Schicht 1220 kann ein Framework zur Unterstützung von Software 1232 der Software-Schicht 1230 und/oder einer oder mehrerer Applikation(en) 1242 der Applikationsschicht 1240 umfassen. Die Software 1232 bzw. die Applikation(en) 1242 kann bzw. können webbasierte Service-Software oder Applikationen umfassen, wie sie von Amazon Web Services, Google Cloud und Microsoft Azure bereitgestellt werden. Bei der Applikationsschicht 1220 kann es sich um eine Art kostenloses und quelloffenes Software-Framework für Webanwendungen wie Apache SparkTM (im Folgenden „Spark“) handeln, das ein verteiltes Dateisystem 1238 zum Verarbeiten großer Datenmengen (z.B. „Big Data“) nutzen kann, ist aber nicht darauf beschränkt. In mindestens einem Ausführungsbeispiel kann der Aufgabenplaner 1232 einen Spark-Treiber umfassen, um die Planung von Arbeitslasten zu erleichtern, die von verschiedenen Schichten des Datenzentrums 1200 unterstützt werden. Der Verwalter 1234 kann in der Lage sein, verschiedene Schichten wie die Softwareschicht 1230 und die Framework-Schicht 1220 zu konfigurieren, die Spark und das verteilte Dateisystem 1238 zur Unterstützung der Verarbeitung großer Datenmengen umfassen. Der Ressourcenverwalter 1236 kann in der Lage sein, geclusterte oder gruppierte Rechenressourcen zu verwalten, die dem verteilten Dateisystem 1238 und dem Aufgabenplaner 1232 zugeordnet sind. In mindestens einem Ausführungsbeispiel können die geclusterten oder gruppierten Rechenressourcen die gruppierten Rechenressourcen 1214 in der Schicht 1210 der Datenzentrumsinfrastruktur umfassen. Der Verwalter 1236 kann sich mit dem Ressourcen-Orchestrator 1212 abstimmen, um diese zugeordneten oder zugewiesenen Rechenressourcen zu verwalten.
  • In mindestens einem Ausführungsbeispiel kann die in der Softwareschicht 1230 enthaltene Software 1232 Software umfassen, die zumindest von Teilen der Knoten C.R.s 1216(1)-1216(N), der gruppierten Rechenressourcen 1214 und/oder des verteilten Dateisystems 1238 der Framework-Schicht 1220 verwendet wird. Eine oder mehrere Arten von Software können Internet-Webseiten-Suchsoftware, E-Mail-Virenscan-Software, Datenbanksoftware und Software für Streaming-Videoinhalte umfassen, sind aber nicht darauf beschränkt.
  • In mindestens einem Ausführungsbeispiel können die in der Applikationsschicht 1240 enthaltene(n) Applikation(en) 1242 eine oder mehrere Arten von Applikationen umfassen, die zumindest von Teilen der Knoten C.R.s 1216(1)-1216(N), der gruppierten Rechnerressourcen 1214 und/oder des verteilten Dateisystems 1238 der Framework-Schicht 1220 verwendet werden. Eine oder mehrere Arten von Applikationen können eine beliebige Anzahl von Genomanwendungen, kognitiven Rechnern und maschinellen Lernapplikationen umfassen, sind aber nicht darauf beschränkt, einschließlich Trainings- oder Inferenzierungssoftware, Framework-Software für maschinelles Lernen (z.B. PyTorch, TensorFlow, Caffe, usw.) und/oder andere maschinelle Lernapplikationen, die in Verbindung mit einer oder mehreren Ausführungsbeispielen verwendet werden.
  • In mindestens einem Ausführungsbeispiel kann jeder von Konfigurationsverwalter 1234, Ressourcenverwalter 1236 und Ressourcenorchestrator 1212 eine beliebige Anzahl und Art von selbstmodifizierenden Aktionen basierend auf einer beliebigen Menge und Art von Daten implementieren, die auf jede technisch machbare Weise erfasst werden. Selbstmodifizierende Aktionen können einen Betreiber des Datenzentrums 1200 davon entlasten, möglicherweise schlechte Konfigurationsentscheidungen zu treffen und möglicherweise nicht ausgelastete und/oder schlecht operierende Teile eines Datenzentrums zu vermeiden.
  • Das Datenzentrum 1200 kann Werkzeuge, Dienste, Software oder andere Ressourcen umfassen, um ein oder mehrere maschinelle Lernmodelle zu trainieren oder Informationen gemäß einem oder mehreren hierin beschriebenen Ausführungsbeispielen vorherzusagen oder zu inferenzieren. Beispielsweise kann ein maschinelles Lernmodell bzw. können maschinelle Lernmodelle trainiert werden, indem Gewichtsparameter gemäß einer Architektur eines neuronalen Netzwerks unter Verwendung von Software und/oder Rechenressourcen berechnet werden, die oben in Bezug auf das Datenzentrum 1200 beschrieben wurden. In mindestens einem Ausführungsbeispiel können trainierte oder eingesetzte maschinelle Lernmodelle, die einem oder mehreren neuronalen Netzwerken entsprechen, verwendet werden, um Informationen zu inferenzieren oder vorherzusagen, wobei die oben beschriebenen Ressourcen in Bezug auf das Datenzentrum 1200 verwendet werden, indem Gewichtsparameter verwendet werden, die durch eine oder mehrere Trainingstechniken berechnet werden, wie zum Beispiel, aber nicht beschränkt auf die hierin beschriebenen.
  • In mindestens einem Ausführungsbeispiel kann das Datenzentrum 1200 CPUs, anwendungsspezifische integrierte Schaltungen (ASICs), GPUs, FPGAs und/oder andere Hardware (oder entsprechende virtuelle Rechenressourcen) verwenden, um ein Training und/oder Inferenzieren unter Verwendung der oben beschriebenen Ressourcen durchzuführen. Darüber hinaus können eine oder mehrere der oben beschriebenen Software- und/oder Hardwareressourcen als Dienst konfiguriert werden, um Benutzern das Trainieren oder Durchführen von Inferenzieren von Informationen zu ermöglichen, wie z. B. Bilderkennung, Spracherkennung oder andere Dienste der künstlichen Intelligenz.
  • Beispielhafte Netzwerkumgebungen
  • Netzwerkumgebungen, die zur Verwendung bei der Implementierung von Ausführungsbeispielen der Offenbarung geeignet sind, können ein oder mehrere Client-Geräte, Server, Network Attached Storage (NAS), andere Backend-Geräte und/oder andere Gerätetypen umfassen. Die Client-Geräte, Server und/oder andere Gerätetypen (z.B. jedes Gerät) können auf einer oder mehreren Instanzen des/der Rechengerät(e) 1100 von 11 implementiert werden - z.B. kann jedes Gerät ähnliche Komponenten, Merkmale und/oder Funktionalität des/der Rechengerät(e) 1100 umfassen. Wenn Backend-Geräte (z.B. Server, NAS usw.) implementiert sind, können die Backend-Geräte außerdem als Teil eines Datenzentrums 1200 umfasst sein, dessen Beispiel in 12 detaillierter beschrieben ist.
  • Komponenten einer Netzwerkumgebung können über ein oder mehrere Netzwerke miteinander kommunizieren, die drahtgebunden, drahtlos oder beides sein können. Das Netzwerk kann mehrere Netzwerke oder ein Netzwerk von Netzwerken umfassen. Beispielsweise kann das Netzwerk ein oder mehrere Wide Area Networks (WANs), ein oder mehrere Local Area Networks (LANs), ein oder mehrere öffentliche Netzwerke wie das Internet und/oder ein öffentliches Telefonnetz (PSTN) und/oder ein oder mehrere private Netzwerke umfassen. Umfasst das Netzwerk ein drahtloses Telekommunikationsnetz, können Komponenten wie eine Basisstation, ein Kommunikationsturm oder sogar Zugangspunkte (sowie andere Komponenten) eine drahtlose Verbindung bereitstellen.
  • Kompatible Netzwerkumgebungen können eine oder mehrere Peer-to-Peer-Netzwerkumgebungen umfassen - in diesem Fall kann ein Server nicht in einer Netzwerkumgebung enthalten sein - und eine oder mehrere Client-Server-Netzwerkumgebungen - in diesem Fall können ein oder mehrere Server in einer Netzwerkumgebung enthalten sein. In Peer-to-Peer-Netzwerkumgebungen kann die hier beschriebene Funktionalität in Bezug auf einen oder mehrere Server auf einer beliebigen Anzahl von Client-Geräten implementiert werden.
  • In mindestens einem Ausführungsbeispiel kann eine Netzwerkumgebung eine oder mehrere Cloud-basierte Netzwerkumgebungen, eine verteilte Rechenumgebung, eine Kombination davon usw. umfassen. Eine Cloud-basierte Netzwerkumgebung kann eine Framework-Schicht, einen Aufgabenplaner, einen Verwalter für Ressourcen und ein verteiltes Dateisystem umfassen, die auf einem oder mehreren Servern implementiert sind, die einen oder mehrere Kern-Netzwerkserver und/oder Edge-Server umfassen können. Eine Framework-Schicht kann ein Framework zur Unterstützung von Software einer Software-Schicht und/oder einer oder mehrerer Applikation(en) einer Applikationsschicht umfassen. Die Software bzw. Applikation(en) können webbasierte Dienstsoftware oder Applikationen umfassen. In Ausführungsbeispielen können eines oder mehrere der Geräte die webbasierte Dienstsoftware oder Applikationen verwenden (z.B. durch Zugriff auf die Dienstsoftware und/oder Applikationen über eine oder mehrere Anwendungsprogrammierschnittstellen (APIs)). Bei der Framework-Schicht kann es sich um eine Art von freiem und quelloffenem Software-Webapplikations-Framework handeln, das z.B. ein verteiltes Dateisystem zum Verarbeiten großer Datenmengen (z.B. „Big Data“) verwendet, ist aber nicht darauf beschränkt.
  • Eine auf einer Cloud basierende Netzwerkumgebung kann Cloud Computing und/oder Cloud Storage bereitstellen, die eine beliebige Kombination der hierin beschriebenen Rechen- und/oder Datenspeicherfunktionen (oder einen oder mehrere Teile davon) ausführt. Jede dieser verschiedenen Funktionen kann über mehrere Orte von zentralen oder Kern-Servern (z.B. von einem oder mehreren Datenzentren, die über einen Staat, eine Region, ein Land, den Globus usw. verteilt sein können) verteilt werden. Befindet sich eine Verbindung zu einem Benutzer (z.B. einem Client-Gerät) relativ nahe an einem Edge-Server, kann ein Kern-Server zumindest einen Teil der Funktionalität dem Edge-Server zuweisen. Eine Cloud-basierte Netzwerkumgebung kann privat (z.B. auf eine einzelne Organisation beschränkt), öffentlich (z.B. für viele Organisationen verfügbar) und/oder eine Kombination davon (z.B. eine hybride Cloud-Umgebung) sein.
  • Das (die) Client-Gerät(e) kann (können) zumindest einige der Komponenten, Merkmale und Funktionen des (der) hierin in Bezug auf 11 beschriebenen Rechengerät(e) 1100 umfassen. Als Ausführungsbeispiel und ohne Einschränkung kann ein Rechengerät ein Personal Computer (PC), ein Laptop, ein mobiles Gerät, ein Smartphone, ein Tablet-Computer, eine Smartwatch, ein tragbarer Computer, ein Personal Digital Assistant (PDA), ein MP3-Player, ein Virtual-Reality-Headset, ein Global Positioning System (GPS) oder ein Gerät, ein Videoplayer, eine Videokamera, ein Überwachungsgerät oder -system, ein Fahrzeug, ein Boot, ein fliegendes Schiff, eine virtuelle Maschine, eine Drohne, ein Roboter, ein Handheld-Kommunikationsgerät, ein Krankenhausgerät, ein Spielgerät oder -system, ein Unterhaltungssystem, ein Fahrzeugrechnersystem, eine eingebettete Systemsteuerung, eine Fernbedienung, ein Gerät, ein elektronisches Gerät für Verbraucher, eine Workstation, ein Edge-Gerät, eine beliebige Kombination dieser beschriebenen Geräte oder jedes andere geeignete Gerät.
  • Die Offenbarung kann im allgemeinen Kontext von Computercode oder maschinell verwendbaren Anweisungen, einschließlich computerausführbarer Anweisungen wie Programmmodulen, beschrieben werden, die von einem Rechner oder einer anderen Maschine, wie einem persönlichen Datenassistenten oder einem anderen tragbaren Gerät, ausgeführt werden. Im Allgemeinen umfassen Programmmodule, einschließlich Routinen, Programme, Objekte, Komponenten, Datenstrukturen usw., einen Code, der bestimmte Aufgaben durchführt oder bestimmte abstrakte Datentypen implementiert. Die Offenbarung kann in einer Vielzahl von Systemkonfigurationen praktiziert werden, einschließlich Handheld-Geräten, Unterhaltungselektronik, allgemeinen Rechnern, spezielleren Rechengeräten usw. Die Offenbarung kann auch in verteilten Rechenumgebungen angewandt werden, in denen Aufgaben von ferngesteuerten Geräten durchgeführt werden, die über ein Kommunikationsnetzwerk verbunden sind.
  • Wie hier verwendet, sollte eine Erwähnung von „und/oder“ in Bezug auf zwei oder mehr Elemente so interpretiert werden, dass nur ein Element oder eine Kombination von Elementen gemeint ist. Zum Beispiel kann „Element A, Element B und/oder Element C“ nur Element A, nur Element B, nur Element C, Element A und Element B, Element A und Element C, Element B und Element C oder die Elemente A, B und C umfassen. Darüber hinaus kann „mindestens eines der Elemente A oder B“ mindestens eines der Elemente A, mindestens eines der Elemente B oder mindestens eines der Elemente A und mindestens eines der Elemente B umfassen. Ferner kann „mindestens eines der Elemente A und B“ mindestens eines der Elemente A, mindestens eines der Elemente B oder mindestens eines der Elemente A und mindestens eines der Elemente B umfassen.
  • Der Gegenstand der vorliegenden Offenbarung wird hier mit Genauigkeit beschrieben, um die gesetzlichen Anforderungen zu erfüllen. Die Beschreibung selbst soll jedoch den Umfang dieser Offenbarung nicht einschränken. Vielmehr haben die Erfinder in Betracht gezogen, dass der beanspruchte Gegenstand auch auf andere Weise verkörpert werden könnte, um verschiedene Schritte oder Kombinationen von Schritten ähnlich den in diesem Dokument beschriebenen in Verbindung mit anderen gegenwärtigen oder zukünftigen Technologien zu umfassen. Auch wenn die Begriffe „Schritt“ und/oder „Block“ hier verwendet werden, um verschiedene Elemente der angewandten Verfahren zu bezeichnen, sollten die Begriffe nicht so ausgelegt werden, dass sie eine bestimmte Reihenfolge unter oder zwischen den verschiedenen hier offenbart dargestellten Schritten implizieren, es sei denn, die Reihenfolge der einzelnen Schritte wird ausdrücklich beschrieben.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • Auto-Encoder, Convolutional, Recurrent, Perceptions, Long/Short Terms Memory, Hopfield, Boltzmann, Deep Belief, Deconvolutional, Generative Adversarial, Liquid State Machine, etc [0034]
    • Workstation“, „Server“, „ [0083]
    • Ausführungsbeispielen können die CPU(s) [0090]
    • Rechner-Ressourcen 1214 und Knoten-Rechner-Ressourcen („Knoten C.R.s“) 1216(1)-1216 [0097]
    • Knoten-C.R.s 1216(1)-1216 [0097]
    • Softwareschicht 1230 enthaltene Software 1232 Software umfassen, die zumindest von Teilen der Knoten C.R.s 1216(1)-1216 [0101]
    • Teilen der Knoten C.R.s 1216(1)-1216( [0102]

Claims (20)

  1. Prozessor, umfassend: eine oder mehrere Schaltungen zum: Generieren von ersten Daten, die Benutzerinteraktionen einer Vielzahl von ersten Benutzern mit einem ersten Spiel repräsentieren; Assoziieren der ersten Daten mit dem ersten Spiel; Generieren zweiter Daten, die Benutzerinteraktionen eines zweiten Benutzers mit einem oder mehreren zweiten Spielen repräsentieren, die sich von dem ersten Spiel unterscheiden; Bestimmen eines Ähnlichkeitswerts basierend zumindest teilweise auf den ersten Daten und den zweiten Daten; und Empfehlen des ersten Spiels an den Benutzer basierend zumindest teilweise auf dem Ähnlichkeitswert und der Assoziierung der ersten Daten mit dem ersten Spiel.
  2. Prozessor nach Anspruch 1, wobei die ersten Daten Benutzereingaben an ein oder mehrere Geräte oder eine Ausgabe einer Applikation repräsentieren, die auf Benutzereingaben an das eine oder die mehreren Geräte antwortet.
  3. Prozessor nach Anspruch 2, wobei die ersten Daten eine Häufigkeit der Benutzereingaben an zumindest einem Eingabegerät des einen oder der mehreren Eingabegeräte repräsentieren.
  4. Prozessor nach Anspruch 2 oder 3, wobei die Ausgabe der Benutzereingaben an das eine oder die mehreren Geräte eine Änderung der Pixelwerte über Einzelbilder hinweg umfasst.
  5. Prozessor nach einem der vorhergehenden Ansprüche, wobei die Empfehlung des Spiels zumindest teilweise auf dem Ähnlichkeitswert basiert, der größer als ein Ähnlichkeitsschwellenwert ist.
  6. Prozessor nach einem der vorhergehenden Ansprüche, wobei das Bestimmen des Ähnlichkeitswerts zumindest einen der folgenden Schritte umfasst: Vergleichen der ersten Daten mit den zweiten Daten, um den Ähnlichkeitswert zu generieren; oder Berechnen des Ähnlichkeitswerts unter Verwendung eines maschinellen Lernmodells und basierend zumindest teilweise auf den ersten Daten und den zweiten Daten.
  7. Prozessor nach einem der vorhergehenden Ansprüche, wobei die Empfehlung zumindest teilweise auf einem oder mehreren Spielattributen basierend ist, die mit dem ersten Spiel und dem einen oder den mehreren zweiten Spielen assoziiert sind.
  8. Prozessor nach Anspruch 7, wobei das eine oder die mehreren Spielattribute zumindest ein Genre, eine Konsolenkompatibilität, eine Spielästhetik, eine Alterseinstufung, eine Inhaltseinstufung, ein Veröffentlichungsdatum, ein Thema, ein Setting oder eine erwartete Zeit bis zum Abschluss umfassen.
  9. Prozessor nach einem der vorhergehenden Ansprüche, wobei die zweiten Daten mit einem Benutzerprofil des zweiten Benutzers assoziiert sind.
  10. Prozessor nach einem der vorangehenden Ansprüche, wobei der Prozessor zumindest eines der folgenden Elemente umfasst: einem System zum Durchführen von Deep-Learning-Operationen; einem System, das unter Verwendung eines Edge-Geräts implementiert ist; einem unter Verwendung eines lokalen Rechengeräts implementierten System; einem System, das eine oder mehrere virtuelle Maschinen (VMs) enthält; einem System, das zumindest partiell in einem Datenzentrum implementiert ist; ein System, das einen Online-Speicher verwendet, implementiert; ein System, das eine Plattform zur kollaborativen Erstellung von Inhalten für multidimensionale Assets verwendet; oder ein System, das zumindest partiell unter Verwendung von Cloud-Rechenressourcen implementiert ist.
  11. System umfassend: eine oder mehrere Verarbeitungseinheiten; und eine oder mehrere Speichereinheiten, die Anweisungen speichern, die, wenn sie von der einen oder den mehreren Verarbeitungseinheiten ausgeführt werden, die eine oder die mehreren Verarbeitungseinheiten veranlassen, Operationen auszuführen, die umfassen: Generieren von ersten Daten, die Benutzerinteraktionen einer Vielzahl von ersten Benutzern mit einem ersten Spiel repräsentieren; Generieren von zweiten Daten, die Benutzerinteraktionen einer Vielzahl von zweiten Benutzern mit einem zweiten Spiel repräsentieren; Bestimmen, dass das erste Spiel und das zweite Spiel einen Ähnlichkeitsschwellenwert erfüllen, basierend zumindest teilweise auf den ersten Daten und den zweiten Daten; Bestimmen, dass ein Benutzer das erste Spiel gespielt hat; und Empfehlen des zweiten Spiels an den Benutzer zumindest teilweise basierend auf dem Bestimmen, dass der Ähnlichkeitsschwellenwert erfüllt ist und dass der Benutzer das erste Spiel gespielt hat.
  12. System nach Anspruch 11, wobei das System zumindest eines der folgenden Elemente umfasst: einem System zum Durchführen von Deep-Learning-Operationen; einem System, das unter Verwendung eines Edge-Geräts implementiert ist; einem unter Verwendung eines lokalen Rechengeräts implementierten System; einem System, das eine oder mehrere virtuelle Maschinen (VMs) enthält; einem System, das zumindest partiell in einem Datenzentrum implementiert ist; ein System, das einen Online-Speicher verwendet, implementiert; ein System, das eine Plattform zur kollaborativen Erstellung von Inhalten für multidimensionale Assets verwendet; oder ein System, das zumindest partiell unter Verwendung von Cloud-Rechenressourcen implementiert ist.
  13. System nach Anspruch 11 oder 12, wobei die ersten Daten Benutzereingaben an ein oder mehrere Geräte oder Ergebnisse von Benutzereingaben an ein oder mehrere Geräte repräsentieren.
  14. System nach einem der Ansprüche 11 bis 13, wobei das Empfehlen des zweiten Spiels zumindest teilweise auf einem oder mehreren Spielattributen basiert, die mit dem ersten Spiel und dem zweiten Spiel assoziiert sind, wobei das eine oder die mehreren Attribute ein Genre, eine Konsolenkompatibilität, eine Spielästhetik, eine Alterseinstufung, eine Inhaltseinstufung, ein Veröffentlichungsdatum, ein Thema, eine Einstellung oder eine erwartete Zeit bis zur Fertigstellung umfassen.
  15. System nach einem der Ansprüche 11 bis 14, wobei die ersten Daten Benutzereingaben an ein oder mehrere Geräte oder Ergebnisse von Benutzereingaben an ein oder mehrere Geräte repräsentieren, wobei die Ergebnisse der Benutzereingaben an ein oder mehrere Geräte eine Änderung der Pixelwerte über Einzelbilder hinweg umfassen.
  16. System nach einem der Ansprüche 11 bis 15, wobei die ersten Daten eine Häufigkeit von Benutzereingaben an ein oder mehrere Geräte repräsentieren.
  17. System nach einem der Ansprüche 11 bis 16, wobei das Bestimmen, dass das erste Spiel und das zweite Spiel den Ähnlichkeitsschwellenwert erfüllen, zumindest einen der folgenden Schritte umfasst: Vergleichen der ersten Daten mit den zweiten Daten, um einen Ähnlichkeitswert zu generieren, und Vergleichen des Ähnlichkeitswertes mit dem Ähnlichkeitsschwellenwert; oder Berechnen, unter Verwendung eines maschinellen Lernmodells und basierend zumindest teilweise auf den ersten Daten und den zweiten Daten, eines Ähnlichkeitswertes, und Vergleichen des Ähnlichkeitswertes mit dem Ähnlichkeitsschwellenwert.
  18. Verfahren umfassend: Zugreifen auf erste Daten, die erste Benutzereingaben an ein oder mehrere erste Eingabegeräte repräsentieren, die mit einer Vielzahl von ersten Benutzern und einem ersten Spiel assoziiert sind; Zugreifen auf zweite Daten, die zweite Benutzereingaben für ein oder mehrere zweite Eingabegeräte darstellen, die mit einem zweiten Benutzer assoziiert sind, der mit einem oder mehreren zweiten Spielen assoziiert ist, die sich von dem ersten Spiel unterscheiden; Bestimmen eines Ähnlichkeitswertes basierend zumindest teilweise auf den ersten Daten und den zweiten Daten; und Empfehlen des ersten Spiels an den Benutzer zumindest teilweise basierend auf dem Ähnlichkeitswert.
  19. Verfahren nach Anspruch 18, wobei die ersten Daten eine Frequenz repräsentieren, die mit den ersten Eingaben des Benutzers an das eine oder die mehreren ersten Eingabegeräte assoziiert ist, eine Geschwindigkeitskomponente, die mit den ersten Eingaben des Benutzers an das eine oder die mehreren ersten Eingabegeräte assoziiert ist, oder eine Richtungskomponente, die mit den ersten Eingaben des Benutzers an das eine oder die mehreren ersten Eingabegeräte assoziiert ist.
  20. Verfahren nach Anspruch 18 oder 19, wobei das Bestimmen des Ähnlichkeitswertes ein Vergleichen von Spielattributen, die dem ersten Spiel zugeordnet sind, mit Spielattributen, die dem zweiten Spiel zugeordnet sind, umfasst.
DE102022132167.3A 2021-12-08 2022-12-05 Spielstilanalyse für Spielempfehlungen Pending DE102022132167A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/545,918 2021-12-08
US17/545,918 US20230177583A1 (en) 2021-12-08 2021-12-08 Playstyle analysis for game recommendations

Publications (1)

Publication Number Publication Date
DE102022132167A1 true DE102022132167A1 (de) 2023-06-15

Family

ID=86498681

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022132167.3A Pending DE102022132167A1 (de) 2021-12-08 2022-12-05 Spielstilanalyse für Spielempfehlungen

Country Status (3)

Country Link
US (1) US20230177583A1 (de)
CN (1) CN116245593A (de)
DE (1) DE102022132167A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11918916B2 (en) * 2022-05-31 2024-03-05 Microsoft Technology Licensing, Llc Systems and methods for rich personalization of computer game experiences

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120142429A1 (en) * 2010-12-03 2012-06-07 Muller Marcus S Collaborative electronic game play employing player classification and aggregation
CN107533732A (zh) * 2015-02-10 2018-01-02 雷蛇(亚太)私人有限公司 应用程序推荐装置及应用程序推荐方法
US20210232627A1 (en) * 2020-01-28 2021-07-29 Dell Products L.P. Game library visualization and recommendation using ontological mapping on information handling system
US20210402292A1 (en) * 2020-06-25 2021-12-30 Sony Interactive Entertainment LLC Method of haptic responses and interacting
US11654371B2 (en) * 2021-07-30 2023-05-23 Sony Interactive Entertainment LLC Classification of gaming styles

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
Ausführungsbeispielen können die CPU(s)
Auto-Encoder, Convolutional, Recurrent, Perceptions, Long/Short Terms Memory, Hopfield, Boltzmann, Deep Belief, Deconvolutional, Generative Adversarial, Liquid State Machine, etc
Knoten-C.R.s 1216(1)-1216
Rechner-Ressourcen 1214 und Knoten-Rechner-Ressourcen („Knoten C.R.s") 1216(1)-1216
Softwareschicht 1230 enthaltene Software 1232 Software umfassen, die zumindest von Teilen der Knoten C.R.s 1216(1)-1216
Teilen der Knoten C.R.s 1216(1)-1216(
Workstation", „Server", „

Also Published As

Publication number Publication date
CN116245593A (zh) 2023-06-09
US20230177583A1 (en) 2023-06-08

Similar Documents

Publication Publication Date Title
DE202017105871U1 (de) Umsetzbare Vorschläge für Aktivitäten
DE102022100521A1 (de) Automatische inhaltserkennung und information im livestreaming geeignet für videospiele
US11511196B2 (en) Predictive data preloading
DE102020103409A1 (de) Unbeaufsichtigte klassifizierung von video mit spielgeschehen unter verwendung maschineller lernmodelle
DE112019007506T5 (de) Bestimmen von dauern von hohem interesse von gameplay-sitzungen aus benutzereingaben
DE112020004107T5 (de) Inhaltsempfehlungen unter verwendung eines oder mehrerer neuronaler netze
US11673050B2 (en) Node based world mapping for finite, depth first search
DE102021125895A1 (de) Latenzbestimmungen für einrichtungen mit menschlicher schnittstelle
DE102021205690A1 (de) Trainieren neuronaler Netze mit begrenzten Daten unter Verwendung invertierbarer Augmentationsoperatoren
DE102022114647A1 (de) Automatisch generierte erweiterte aktivitäts- und ereignis-zu-sammelfassungen für spielsitzungen
DE102023100874A1 (de) Effiziente Synchronisationsbarrieren für mehrere Vorrichtungen durch Multicasting
DE102022121508A1 (de) Extraktion von ereignisinformation aus spielprotokollendurch natursprachenverarbeitung
DE102022132167A1 (de) Spielstilanalyse für Spielempfehlungen
DE102020111653A1 (de) Bestimmen relativer interessenbereiche in bildern unter verwendung von objekterfassung
DE102022107672A1 (de) Cloud-ausführung von audio/video compositing-anwendungen
DE102022106956A1 (de) Konversationelle ki-plattformen mit dialogintegration von geschlossenen domänen und offenen domänen
DE102023125923A1 (de) Generative modelle maschinellen lernens für datenschutzerhaltende synthetische datenerzeugung unter verwendung von diffusion
DE102021105291A1 (de) Gewichtsdemodulation für ein erzeugendes neuronales netz
DE102020122345A1 (de) Domänenübergreifende bildverarbeitung zur objektreidentifikation
US12008057B2 (en) Determining a visual theme in a collection of media items
DE102022126287A1 (de) Speicherung und abruf von unstrukturierten daten in anwendungen konversationeller künstlicher intelligenz
DE102020122028A1 (de) Selbstüberwachtes hierarchisches bewegungslernen für videoaktionserkennung
DE102022121250B4 (de) Entropiebasiertes Vorfiltern unter Verwenden neuronaler Netzwerke für Streaming-Anwendungen
DE102023133023A1 (de) Generieren von abfrageantworten unter verwendung strukturierter und unstrukturierter daten für konversationelle ki-systeme und -anwendungen
DE102023133698A1 (de) Thematisch anpassbare modelle für konversationssysteme und -anwendungen mit künstlicher intelligenz

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication