Empfehlungen in Echtzeit filtern - Amazon Personalize

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Empfehlungen in Echtzeit filtern

Sie können Empfehlungen in Echtzeit mit der Amazon Personalize Personalize-Konsole, AWS Command Line Interface (AWS CLI) oder dem AWS SDKs filtern.

Wenn Sie personalisierte Artikelempfehlungen oder ähnliche Artikel erhalten, können Sie in Ihrer Anfrage eine Werbeaktion angeben. Eine Werbeaktion verwendet einen Filter, um zusätzliche Geschäftsregeln zu definieren, die für eine konfigurierbare Teilmenge empfohlener Artikel gelten. Weitere Informationen finden Sie unter Werbung für Artikel in Echtzeit mit Empfehlungen.

Filtern von Empfehlungen in Echtzeit (Konsole)

Um Empfehlungen in Echtzeit mithilfe der Konsole zu filtern, erstellen Sie einen Filter und wenden Sie ihn dann auf eine Empfehlungsanfrage an.

Anmerkung

Um Empfehlungen mithilfe eines Filters mit Parametern und einer Kampagne zu filtern, die vor dem 10. November 2020 bereitgestellt wurde, müssen Sie die Kampagne mithilfe des UpdateCampaign Vorgangs erneut bereitstellen oder eine neue Kampagne erstellen.

Einen Filter erstellen (Konsole)

Um einen Filter in der Konsole zu erstellen, wählen Sie die Datensatzgruppe aus, die die Kampagne oder den Empfehlungsgeber enthält, den Sie verwenden möchten, um gefilterte Empfehlungen zu erhalten. Geben Sie dann einen Filternamen und einen Filterausdruck ein.

Um einen Filter zu erstellen (Konsole)
  1. Öffnen Sie zu https://console.aws.amazon.com/personalize/Hause die Amazon Personalize Personalize-Konsole und melden Sie sich bei Ihrem Konto an.

  2. Wählen Sie die Datensatzgruppe aus, die die Kampagne oder den Empfehlungsgeber enthält, den Sie verwenden möchten, um gefilterte Empfehlungen zu erhalten.

  3. Wählen Sie im Navigationsbereich Filter und dann Neuen Filter erstellen aus. Die Seite Filter erstellen wird angezeigt.

    Zeigt die Seite „Filter erstellen“ mit den Feldern für den Filternamen und den Ausdruck.
  4. Geben Sie unter Filtername einen Namen für Ihren Filter ein. Sie wählen den Filter anhand dieses Namens aus, wenn Sie ihn auf eine Empfehlungsanfrage anwenden.

  5. Wählen Sie für Ausdruck entweder Ausdruck erstellen oder Ausdruck manuell hinzufügen aus und erstellen Sie Ihren Ausdruck oder fügen Sie ihn ein:

    • Um den Ausdrucks-Generator zu verwenden, wählen Sie Ausdruck erstellen aus. Der Ausdrucks-Generator bietet Struktur, Felder und Richtlinien für die Erstellung korrekt formatierter Filterausdrücke. Weitere Informationen finden Sie unter Verwenden des Generators für Filterausdrücke.

    • Um Ihren eigenen Ausdruck einzugeben, wählen Sie Ausdruck manuell hinzufügen. Weitere Informationen finden Sie unter Ausdruckselemente filtern.

  6. Wählen Sie Finish (Abschließen). Auf der Übersichtsseite des Filters werden der Amazon-Ressourcenname (ARN), der Status und der vollständige Filterausdruck des Filters angezeigt. Um den Filter zu löschen, wählen Sie Löschen. Informationen zum Suchen und Löschen von Filtern, nachdem Sie die Übersichtsseite verlassen haben, finden Sie unterLöschen eines Filters (Konsole).

    Stellt die Filterdetailseite mit den Filtern ARN und dem Ausdruck dar.

Anwenden eines Filters (Konsole)

Um einen Filter anzuwenden, wählen Sie unter Testempfehlung (für Empfehlungen) oder Ergebnisse von Testkampagnen (für benutzerdefinierte Kampagnen) den Filter aus und geben Sie beliebige Filterparameterwerte ein. Holen Sie sich dann Empfehlungen für einen Benutzer.

Wichtig

Für Filterausdrücke, die ein INCLUDE Element verwenden, müssen Sie Werte für alle Parameter angeben, die im Ausdruck definiert sind. Bei Filtern mit Ausdrücken, die ein EXCLUDE Element verwenden, können Sie das filter-values weglassen. In diesem Fall verwendet Amazon Personalize diesen Teil des Ausdrucks nicht zum Filtern von Empfehlungen.

Um einen Filter anzuwenden (Konsole)
  1. Öffnen Sie zu https://console.aws.amazon.com/personalize/Hause die Amazon Personalize Personalize-Konsole und melden Sie sich bei Ihrem Konto an.

  2. Wählen Sie die Datensatzgruppe aus, die die Kampagne oder den Empfehlungsgeber enthält, den Sie verwenden möchten, um gefilterte Empfehlungen zu erhalten.

  3. Führen Sie je nach Dataset-Gruppentyp oder Ressourcentyp einen der folgenden Schritte aus:

    1. Wählen Sie für eine Domain-Datensatzgruppe im Navigationsbereich Empfehlungen aus.

    2. Wählen Sie für eine benutzerdefinierte Datensatzgruppe oder benutzerdefinierte Ressourcen im Navigationsbereich Benutzerdefinierte Ressourcen und dann Kampagnen aus.

  4. Wählen Sie auf der Seite „Empfehlungen“ oder „Kampagnen“ die Zielempfehlung oder Kampagne aus.

  5. Rufen Sie zum Vergleich zunächst Empfehlungen ab, ohne einen Filter anzuwenden. Geben Sie unter Testempfehlung/Ergebnisse der Testkampagne die ID eines Benutzers ein, für den Sie Empfehlungen erhalten möchten, oder die ID des Artikels für verwandte Artikel und wählen Sie Empfehlungen abrufen aus. Eine Tabelle mit den wichtigsten Empfehlungen wird angezeigt.

    Zeigt die Empfehlungsergebnisse ohne Anwendung eines Filters an.
  6. Wählen Sie im Menü Filtername den Filter aus, den Sie erstellt haben. Wenn Ihr Filter Platzhalterparameter enthält, werden die zugehörigen Felder für jeden Parameter angezeigt.

  7. Wenn Sie einen Filter mit Platzhalterparametern verwenden, geben Sie für jeden Parameter den Wert ein, um die Filterkriterien festzulegen. Um mehrere Werte für einen Parameter zu verwenden, trennen Sie jeden Wert durch ein Komma.

  8. Verwenden Sie denselben User ID oder Item ID wie im vorherigen Schritt und wählen Sie Empfehlungen abrufen aus. Die Tabelle mit Empfehlungen wird angezeigt.

    Zeigt Empfehlungsergebnisse mit angewendetem Filter an.

    Wenn der Benutzer beispielsweise bereits einen empfohlenen Artikel gekauft hat, entfernt der Filter ihn aus der Empfehlungsliste. In diesem Beispiel wurden die Artikel 2657, 2985 durch die am besten geeigneten Artikel ersetzt, die der Benutzer nicht gekauft hat (Artikel 2641 und 1573).

Verwenden des Generators für Filterausdrücke

Der Ausdrucks-Generator auf der Seite Filter erstellen bietet Struktur, Felder und Richtlinien für die Erstellung korrekt formatierter Filter.

Stellt die Felder des Ausdrucks-Generators auf der Seite „Filter erstellen“ dar.

Um einen Filterausdruck zu erstellen:

  • Verwenden Sie die Felder Typ, Aktion, Eigenschaft, Operator und Wert, um einen Ausdruck zu erstellen.

    Geben Sie für den Wert einen festen Wert ein, oder geben Sie $ + als Parameternamen ein, um Filterkriterien festzulegen, wenn Sie Empfehlungen erhalten. Beispiel, $GENRES. Wenn Sie Empfehlungen erhalten, geben Sie den Wert oder die Werte an, nach denen gefiltert werden soll. In diesem Beispiel würden Sie ein Genre oder eine Liste von Genres angeben, wenn Sie Empfehlungen erhalten.

    Trennen Sie mehrere Werte, die keine Parameter sind, durch ein Komma. Sie können einem Filter keine durch Kommas getrennten Parameter hinzufügen.

    Anmerkung

    Nachdem Sie eine Eigenschaft (im dataset.field Format) ausgewählt haben, muss der Eigenschaftswert für alle nachfolgenden Zeilen, die durch AND oder OR Bedingungen verkettet sind, denselben Wert verwenden. dataset

  • Verwenden Sie die Schaltflächen + und X, um Ihrem Ausdruck eine Zeile hinzuzufügen oder daraus zu löschen. Sie können die erste Zeile nicht löschen.

  • Verwenden Sie für neue Zeilen die OR Operatoren ANDIF, oder im ANDMenü, um eine Kette von Bedingungen zu erstellen.

    Für IF Bedingungen:

    • Jeder Ausdruck kann nur ein IF Element enthalten. Wenn Sie eine IF-Bedingung entfernen, entfernt der Ausdrucks-Generator alle darauf folgenden AND Bedingungen.

    • Sie können IF Bedingungen nur für Ausdrücke verwenden, die nach dem filternCurrentUser.

  • Wählen Sie die Schaltfläche Ausdruck hinzufügen, um einen zusätzlichen Filterausdruck für eine genauere Filterung hinzuzufügen. Jeder Ausdruck wird zunächst unabhängig ausgewertet, und das Ergebnis ist eine Vereinigung der beiden Ergebnisse.

    Anmerkung

    Um einen Filter zu erstellen, der sowohl Objekt- als auch Artikelinteraktionsdatensätze oder Aktionsinteraktionsdatensätze verwendet, müssen Sie mehrere Ausdrücke verwenden.

Beispiel für einen Ausdrucksersteller

Das folgende Beispiel zeigt, wie Sie einen Filter erstellen, der Artikel mit einem von Ihnen angegebenen Genre ausschließt, wenn Sie Empfehlungen erhalten (beachten Sie den GENRES Platzhalterparameter $). Der Filter schließt auch Elemente mit einem Wert DOWNLOAD_COUNT von mehr als aus200, jedoch nur, wenn das Alter des aktuellen Benutzers höher als ist. 17

Zeigt, wie der Ausdrucks-Generator verwendet wird, um einen Beispielfilterausdruck zu erstellen.

Löschen eines Filters (Konsole)

Durch das Löschen eines Filters wird der Filter aus der Filterliste für eine Datensatzgruppe entfernt.

Wichtig

Sie können einen Filter nicht löschen, während ein Batch-Inferenzjob ausgeführt wird.

Um einen Filter zu löschen (Konsole)
  1. Öffnen Sie zu https://console.aws.amazon.com/personalize/Hause die Amazon Personalize Personalize-Konsole und melden Sie sich bei Ihrem Konto an.

  2. Wählen Sie aus der Liste der Datensatzgruppen die Datensatzgruppe aus, die den Filter enthält, den Sie löschen möchten.

  3. Wählen Sie im Navigationsbereich Filter aus.

  4. Wählen Sie aus der Filterliste den Filter aus, den Sie löschen möchten, und klicken Sie auf Details anzeigen. Die Seite mit den Filterdetails wird angezeigt.

  5. Wählen Sie Löschen und bestätigen Sie den Löschvorgang im Bestätigungsdialogfeld.

Filtern von Empfehlungen in Echtzeit (AWS CLI)

Um Empfehlungen mithilfe von zu filtern AWS CLI, erstellen Sie einen Filter und wenden ihn dann an, indem Sie den Filter ARN in einer GetRecommendations GetPersonalizedRanking Oder-Anfrage angeben.

Wichtig

Um Empfehlungen mithilfe eines Filters mit Parametern und einer Kampagne zu filtern, die Sie vor dem 10. November 2020 bereitgestellt haben, müssen Sie die Kampagne mithilfe des UpdateCampaign Anrufs erneut bereitstellen oder eine neue Kampagne erstellen.

Einen Filter erstellen ()AWS CLI

Verwenden Sie den folgenden create-filter Vorgang, um einen Filter zu erstellen und den Filterausdruck anzugeben.

Ersetzen Sie das Filter name durch den Namen des Filters und das Dataset group ARN durch den Amazon-Ressourcennamen (ARN) der Datensatzgruppe. Ersetzen Sie das Beispiel filter-expression durch Ihren eigenen Filterausdruck.

aws personalize create-filter \ --name Filter name \ --dataset-group-arn dataset group arn \ --filter-expression "EXCLUDE ItemID WHERE Items.CATEGORY IN (\"$CATEGORY\")"

Bei Erfolg ARN wird der Filter angezeigt. Nehmen Sie ihn für die spätere Verwendung auf. Um zu überprüfen, ob der Filter aktiv ist, führen Sie den DescribeFilter Vorgang aus, bevor Sie den Filter verwenden.

Weitere Informationen zu dem finden API Sie unterCreateFilter. Weitere Informationen zu Filterausdrücken, einschließlich Beispielen, finden Sie unterAusdrucksstruktur und Elemente filtern.

Anwenden eines Filters (AWS CLI)

Wenn Sie die get-personalized-ranking Operationen get-action-recommendations oder verwendenget-recommendations, wenden Sie einen Filter an, indem Sie die filter-arn und alle Filterwerte als Parameter übergeben.

Im Folgenden finden Sie ein Beispiel für die get-recommendations Operation. Campaign ARNErsetzen Sie es durch den Amazon-Ressourcennamen (ARN) Ihrer Kampagne User ID durch die ID des Benutzers, für den Sie Empfehlungen erhalten, und Filter ARN durch die ARN Ihres Filters. Wenn Sie Empfehlungen von einem Empfehlungsgeber statt von einer Kampagne erhalten, verwenden Sie recommender-arn anstelle von --campaign-arn und geben Sie das ARN für den Empfehlungsgeber an.

Wenn Ihr Ausdruck Parameter hat, schließen Sie das filter-values Objekt ein. Geben Sie für jeden Parameter in Ihrem Filterausdruck den Parameternamen (Groß- und Kleinschreibung beachten) und die Werte an. Wenn Ihr Filterausdruck beispielsweise einen $GENRE Parameter hat, geben Sie "GENRE" als Schlüssel und ein oder mehrere Genres, wie z. B."Comedy", als Wert an. Trennen Sie mehrere Werte durch ein Komma. Beispiel, "\"comedy\",\"drama\",\"horror"\".

Wichtig

Für Filterausdrücke, die ein INCLUDE Element verwenden, um Elemente einzuschließen, müssen Sie Werte für alle Parameter angeben, die im Ausdruck definiert sind. Bei Filtern mit Ausdrücken, die ein EXCLUDE Element verwenden, um Elemente auszuschließen, können Sie das filter-values weglassen. In diesem Fall verwendet Amazon Personalize diesen Teil des Ausdrucks nicht zum Filtern von Empfehlungen.

aws personalize-runtime get-recommendations \ --campaign-arn Campaign ARN \ --user-id User ID \ --filter-arn Filter ARN \ --filter-values '{ "Parameter name": "\"value\"", "Parameter name": "\"value1\",\"value2\",\"value3\"" }'

Löschen eines Filters ()AWS CLI

Verwenden Sie den folgenden delete-filter Vorgang, um einen Filter zu löschen. filter ARNErsetzen Sie ihn durch den ARN des Filters.

aws personalize delete-filter --filter-arn Filter ARN

Filtern von Empfehlungen in Echtzeit (AWS SDKs)

Um Empfehlungen mithilfe von zu filtern AWS SDKs, erstellen Sie einen Filter und wenden ihn dann an, indem Sie den Filter ARN in einer GetRecommendations GetPersonalizedRanking Oder-Anfrage angeben.

Wichtig

Um Empfehlungen mithilfe eines Filters mit Parametern und einer Kampagne zu filtern, die Sie vor dem 10. November 2020 bereitgestellt haben, müssen Sie die Kampagne mithilfe des UpdateCampaign Anrufs erneut bereitstellen oder eine neue Kampagne erstellen.

Einen Filter erstellen ()AWS SDKs

Erstellen Sie mit der CreateFilter Operation einen neuen Filter. Der folgende Code zeigt, wie Sie einen Filter erstellen. Geben Sie den Filternamen Amazon Resource Name (ARN) Ihrer Datensatzgruppe an und geben Sie Ihren Filterausdruck an.

SDK for Python (Boto3)
import boto3 personalize = boto3.client('personalize') response = personalize.create_filter( name = 'Filter Name', datasetGroupArn = 'Dataset Group ARN', filterExpression = 'EXCLUDE ItemID WHERE Items.CATEGORY IN ($CATEGORY)' ) filter_arn = response["filterArn"] print("Filter ARN: " + filter_arn)
SDK for Java 2.x
public static String createFilter(PersonalizeClient personalizeClient, String filterName, String datasetGroupArn, String filterExpression) { try { CreateFilterRequest request = CreateFilterRequest.builder() .name(filterName) .datasetGroupArn(datasetGroupArn) .filterExpression(filterExpression) .build(); return personalizeClient.createFilter(request).filterArn(); } catch(PersonalizeException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } return ""; }
SDK for JavaScript v3
// Get service clients module and commands using ES6 syntax. import { CreateFilterCommand } from "@aws-sdk/client-personalize"; import { personalizeClient } from "./libs/personalizeClients.js"; // Or, create the client here. // const personalizeClient = new PersonalizeClient({ region: "REGION"}); // Set the filter's parameters. export const createFilterParam = { datasetGroupArn: 'DATASET_GROUP_ARN', /* required */ name: 'NAME', /* required */ filterExpression: 'FILTER_EXPRESSION' /*required */ } export const run = async () => { try { const response = await personalizeClient.send(new CreateFilterCommand(createFilterParam)); console.log("Success", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();

Notieren Sie den Filter ARN für die spätere Verwendung. Um zu überprüfen, ob der Filter aktiv ist, führen Sie den DescribeFilter Vorgang aus, bevor Sie den Filter verwenden. Weitere Informationen zu dem finden API Sie unterCreateFilter. Weitere Informationen zu Filterausdrücken, einschließlich Beispielen, finden Sie unterAusdrucksstruktur und Elemente filtern.

Anwenden eines Filters (AWS SDKs)

Wenn Sie die GetPersonalizedRanking Operationen GetRecommendations, oder verwenden GetActionRecommendations, wenden Sie einen Filter an, indem Sie a filterArn und beliebige Filterwerte als Parameter übergeben.

Der folgende Code zeigt, wie Sie gefilterte Amazon Personalize Personalize-Artikelempfehlungen für einen Benutzer abrufen können. Geben Sie die ID des Benutzers an, für den Sie Empfehlungen erhalten möchten, den Amazon-Ressourcennamen (ARN) Ihrer Kampagne und den ARN Ihres Filters. Wenn Sie Empfehlungen von einem Empfehlungsgeber statt von einer Kampagne erhalten, verwenden Sie recommenderArn statt von campaignArn und geben Sie die ARN für den Empfehlungsgeber an.

Geben Sie für jeden optionalen Parameter in Ihrem Filterausdruck den Parameternamen (Groß- und Kleinschreibung beachten) und den oder die Werte an. filterValues Wenn Ihr Filterausdruck beispielsweise einen $GENRES Parameter hat, geben Sie "GENRES" als Schlüssel und ein oder mehrere Genres, wie z. B."\"Comedy"\", als Wert an. Bei mehreren Werten trennen Sie jeden Wert durch ein Komma. Beispiel, "\"comedy\",\"drama\",\"horror\"".

Wichtig

Für Filterausdrücke, die ein INCLUDE Element verwenden, um Elemente einzuschließen, müssen Sie Werte für alle Parameter angeben, die im Ausdruck definiert sind. Bei Filtern mit Ausdrücken, die ein EXCLUDE Element verwenden, um Elemente auszuschließen, können Sie das filter-values weglassen. In diesem Fall verwendet Amazon Personalize diesen Teil des Ausdrucks nicht zum Filtern von Empfehlungen.

SDK for Python (Boto3)
import boto3 personalize_runtime = boto3.client("personalize-runtime") response = personalize_runtime.get_recommendations( campaignArn = "Campaign ARN", userId = "User ID", filterArn = "Filter ARN", filterValues = { "Parameter name": "\"value1\"", "Parameter name": "\"value1\",\"value2\",\"value3\"" .... } )
SDK for Java 2.x

Im folgenden Beispiel werden zwei Parameter verwendet, einer mit zwei Werten und einer mit einem Wert. Ändern Sie je nach Ihrem Filterausdruck den Code, um parameterValue Felder hinzuzufügen oder parameterName zu entfernen.

public static void getFilteredRecs(PersonalizeRuntimeClient personalizeRuntimeClient, String campaignArn, String userId, String filterArn, String parameter1Name, String parameter1Value1, String parameter1Value2, String parameter2Name, String parameter2Value){ try { Map<String, String> filterValues = new HashMap<>(); filterValues.put(parameter1Name, String.format("\"%1$s\",\"%2$s\"", parameter1Value1, parameter1Value2)); filterValues.put(parameter2Name, String.format("\"%1$s\"", parameter2Value)); GetRecommendationsRequest recommendationsRequest = GetRecommendationsRequest.builder() .campaignArn(campaignArn) .numResults(20) .userId(userId) .filterArn(filterArn) .filterValues(filterValues) .build(); GetRecommendationsResponse recommendationsResponse = personalizeRuntimeClient.getRecommendations(recommendationsRequest); List<PredictedItem> items = recommendationsResponse.itemList(); for (PredictedItem item: items) { System.out.println("Item Id is : "+item.itemId()); System.out.println("Item score is : "+item.score()); } } catch (PersonalizeRuntimeException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }
SDK for JavaScript v3
// Get service clients module and commands using ES6 syntax. import { GetRecommendationsCommand } from "@aws-sdk/client-personalize-runtime"; import { personalizeRuntimeClient } from "./libs/personalizeClients.js"; // Or, create the client here: // const personalizeRuntimeClient = new PersonalizeRuntimeClient({ region: "REGION"}); // Set recommendation request parameters. export const getRecommendationsParam = { campaignArn: 'CAMPAIGN_ARN', /* required */ userId: 'USER_ID', /* required */ numResults: 15, /* optional */ filterArn: 'FILTER_ARN', /* required to filter recommendations */ filterValues: { "PROPERTY": "\"VALUE\"" /* Only required if your filter has a placeholder parameter */ } } export const run = async () => { try { const response = await personalizeRuntimeClient.send(new GetRecommendationsCommand(getRecommendationsParam)); console.log("Success!", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();

Löschen eines Filters (AWS PythonSDK)

Verwenden Sie die folgende delete_filter Methode, um einen Filter zu löschen. filter ARNErsetzen Sie ihn durch den ARN des Filters.

import boto3 personalize = boto3.client("personalize") response = personalize.delete_filter( filterArn = "filter ARN" )