Lefeaturesdansneptune_ml - Amazon Neptune

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Lefeaturesdansneptune_ml

Les valeurs des propriétés et les littéraux RDF sont disponibles dans différents formats et types de données. Pour obtenir de bonnes performances en machine learning, il est essentiel de convertir ces valeurs en encodages numériques appelésfonctionnalités.

Neptune ML effectue l'extraction et le codage des entités dans le cadre des étapes d'exportation et de traitement des données, comme décrit dansCodage des fonctionnalités dans Neptune ML.

Pour les jeux de données de graphes de propriétés, le processus d'exportation déduit automatiquementautofonctions pour les propriétés de chaîne et pour les propriétés numériques contenant plusieurs valeurs. Pour les propriétés numériques contenant des valeurs uniques, il déduitnumericalFonctions. Pour les propriétés de date, il déduiradatetimeFonctions.

Si vous souhaitez remplacer une spécification d'entité auto-déduite ou ajouter une spécification numérique de compartiment, TF-IDF, FastText ou SBERT pour une propriété, vous pouvez contrôler le codage des entités à l'aide du champ entités.

Note

Vous pouvez uniquement utiliser lefeaturespour contrôler les spécifications des entités pour les données de graphe de propriétés, et non pour les données RDF.

Pour le texte libre, Neptune ML peut utiliser plusieurs modèles différents pour convertir la séquence de jetons d'une valeur de propriété de chaîne en vecteur de valeur réelle de taille fixe :

  • text_fasttext— UtilisationsfastTextencodage. Il s'agit de l'encodage recommandé pour les fonctionnalités qui utilisent une et une seule des cinq langues prises en charge par fastText.

  • text_sbert— Utilise leBERT(SBERT) des modèles de codage. Il s'agit de l'encodage recommandé pour le texte quitext_fasttextne prend pas en charge.

  • text_word2vec— UtilisationsWord2vecalgorithmes initialement publiés parGooglepour encoder du texte. Word2Vec ne prend en charge que l'anglais.

  • text_tfidf— Utilise unfréquence de terme : fréquence inverse des documents(TF-IDF) vectoriseur pour coder du texte. Le codage TF-IDF prend en charge des fonctionnalités statistiques que les autres encodages ne possèdent pas.

Lefeaturescontient un tableau JSON de fonctionnalités de propriétés de nœuds. Les objets du tableau peuvent contenir les champs suivants :

Lenodedansfeatures

Lenodespécifie une étiquette de graphe de propriétés d'un sommet d'entité. Par exemple :

"node": "Person"

Si un sommet comporte plusieurs étiquettes, utilisez un tableau pour les contenir. Par exemple :

"node": ["Admin", "Person"]

Leedgedansfeatures

Leedgespécifie le type d'arête d'une arête d'entité. Un type d'arête est constitué d'un tableau contenant la ou les étiquettes de graphe de propriétés du sommet source, l'étiquette de graphe de propriétés de l'arête et la ou les étiquettes de graphe de propriétés du sommet de destination. Vous devez fournir les trois valeurs lorsque vous spécifiez une entité Edge. Par exemple :

"edge": ["User", "reviewed", "Movie"]

Si un sommet source ou de destination d'un type de tronçon comporte plusieurs étiquettes, utilisez un autre tableau pour les contenir. Par exemple :

"edge": [["Admin", "Person"]. "edited", "Post"]

Lepropertydansfeatures

Utilisez le paramètre de propriété pour spécifier une propriété du sommet identifié par lenode  Paramètre . Par exemple :

"property" : "age"

Valeurs possibles dutypefield pour les fonctions

Letypespécifie le type d'entité en cours de définition. Par exemple :

"type": "bucket_numerical"

Valeurs possibles dutypeparamètre

  • "auto"— Spécifie que Neptune ML doit automatiquement détecter le type de propriété et appliquer un codage de fonction approprié. Unautofonction peut également avoir une fonction facultativeseparator.

    Consultez Codage automatique des fonctionnalités dans Neptune ML.

  • "category": ce codage d'entité représente une valeur de propriété faisant partie d'un certain nombre de catégories. En d'autres termes, l'entité peut prendre une ou plusieurs valeurs discrètes. UNcategoryfonction peut également avoir une fonction facultativeseparator.

    Consultez Caractéristiques catégoriques de Neptune ML.

  • "numerical"— Ce codage d'entité représente les valeurs de propriétés numériques sous forme de nombres dans un intervalle continu où « supérieur à » et « inférieur à » ont une signification.

    UNnumericalfonction peut également avoir facultatifnorm,imputer, etseparator.

    Consultez Caractéristiques numériques de Neptune ML.

  • "bucket_numerical"— Ce codage d'entité divise les valeurs de propriétés numériques en un ensemble de valeursdes seauxou catégories.

    Par exemple, vous pouvez encoder l'âge des personnes dans 4 seaux : enfants (0-20 ans), jeunes adultes (20-40 ans), d'âge moyen (40-60 ans) et d'aînés (60 ans et plus).

    UNbucket_numericalnécessite une fonctionrangeet unbucket_cnt, et peut également inclure un champimputeret/ouslide_window_size.

    Consultez Fonctionnalités numériques de godets dans Neptune ML.

  • "datetime"— Ce codage d'entité représente une valeur de propriété datetime sous la forme d'un tableau de ces entités catégoriques : année, mois, jour de la semaine et heure.

    Une ou plusieurs de ces quatre catégories peuvent être éliminées à l'aide de ladatetime_parts  Paramètre .

    Consultez Fonctionnalités Datetime dans Neptune ML.

  • "text_fasttext"— Ce codage de fonction convertit les valeurs de propriétés constituées de phrases ou de texte libre en vecteurs numériques à l'aide defastTextmodèles. Il prend en charge cinq langues, à savoir l'anglais (en), Chinois (zh), Hindi (hi), Espagnol (es), et en français (fr). Pour les valeurs de propriété de texte dans l'une de ces cinq langues,text_fasttextest le codage recommandé. Toutefois, il ne peut pas gérer les cas où la même phrase contient des mots dans plusieurs langues.

    Pour d'autres langues que celles prises en charge par fastText, utiliseztext_sbertencodage.

    Si vous possédez de nombreuses chaînes de texte de valeur de propriété plus longues que, par exemple, 120 jetons, utilisez lemax_lengthpour limiter le nombre de jetons dans chaque chaîne"text_fasttext"encode.

    Consultez fastTextencodage des valeurs de propriétés de texte dans Neptune ML.

  • "text_sbert"— Cet encodage convertit les valeurs des propriétés de texte en vecteurs numériques à l'aide deBERT(SBERT). Neptune prend en charge deux méthodes SBERT, à savoirtext_sbert128, qui est la valeur par défaut si vous spécifiez simplementtext_sbert, ettext_sbert512. La différence entre eux est le nombre maximal de jetons dans une propriété de texte codée. Letext_sbert128l'encodage n'encode que les 128 premiers jetons, tandis quetext_sbert512code jusqu'à 512 jetons. En conséquence, en utilisanttext_sbert512peut nécessiter plus de temps de traitement quetext_sbert128. Les deux méthodes sont plus lentes quetext_fasttext.

    Letext_sbert*les méthodes prennent en charge de nombreuses langues et peuvent encoder une phrase contenant plusieurs langues.

    Consultez Encodage de la phrase BERT (SBERT) des entités de texte dans Neptune ML.

  • "text_word2vec"— Cet encodage convertit les valeurs des propriétés de texte en vecteurs numériques à l'aide deWord2vecalgorithmes. Il ne prend en charge que l'anglais.

    Consultez Codage Word2Vec des fonctions de texte dans Neptune ML.

  • "text_tfidf"— Cet encodage convertit les valeurs des propriétés de texte en vecteurs numériques à l'aide d'unfréquence de terme : fréquence inverse des documentsVectorizer (TF-IDF).

    Vous définissez les paramètres d'untext_tfidfencodage des entités à l'aide de langram_range, le champmin_dfet le champmax_features.

    Consultez Codage TF-IDF des fonctions de texte dans Neptune ML.

  • "none"— Utiliser lenonene provoque aucun codage des entités. Les valeurs des propriétés brutes sont analysées et enregistrées à la place.

    Utilisernoneuniquement si vous envisagez d'effectuer votre propre codage d'entités personnalisées dans le cadre d'une formation sur modèle personnalisé.

Lenormchamp

Ce champ est obligatoire pour les fonctions numériques. Il spécifie une méthode de normalisation à utiliser sur des valeurs numériques :

"norm": "min-max"

Les méthodes de normalisation suivantes sont prises en charge :

  • « min-max »— Normalisez chaque valeur en soustrayant la valeur minimale, puis en la divisant par la différence entre la valeur maximale et la valeur minimale.

  • « standard »— Normalisez chaque valeur en la divisant par la somme de toutes les valeurs.

  • « none »— Ne normalisez pas les valeurs numériques pendant le codage.

Consultez Caractéristiques numériques de Neptune ML.

Lelanguagechamp

Le champ de langue spécifie la langue utilisée dans les valeurs des propriétés de texte. Son utilisation dépend de la méthode de codage du texte :

  • Pourtext_fasttextencodage, ce champ est obligatoire et doit spécifier l'une des langues suivantes :

    • en(Anglais)

    • zh(Chinois)

    • hi(hindi)

    • es(Espagnol)

    • fr(Français)

  • Pourtext_sbertencodage, ce champ n'est pas utilisé, car le codage SBERT est multilingue.

  • Pourtext_word2vecEncodage, ce champ est facultatif, cartext_word2vecprend uniquement en charge l'anglais. S'il est présent, il doit spécifier le nom du modèle de langue anglaise :

    "language" : "en_core_web_lg"
  • Pourtext_tfidfencodage, ce champ n'est pas utilisé.

Lemax_lengthchamp

Lemax_lengthest facultatif pourtext_fasttext, où il spécifie le nombre maximal de jetons dans une entité de texte en entrée qui sera codée. Texte de saisie qui est plus long quemax_lengthest tronqué. Par exemple, la définition de max_length sur 128 indique que tous les jetons postérieurs au 128e d'une séquence de texte seront ignorés :

"max_length": 128

Leseparatorchamp

Ce champ est facultatif aveccategory,numericaletautoFonctions. Il spécifie un caractère pouvant être utilisé pour diviser une valeur de propriété en plusieurs valeurs catégoriques ou numériques :

"separator": ";"

N'utilisez que leseparatorlorsque la propriété stocke plusieurs valeurs délimitées dans une seule chaîne, telle que"Actor;Director"ou"0.1;0.2".

VoirFonctions catégoriques,Fonctions numériques, etEncodage automatique.

Lerangechamp

Ce champ est obligatoire pourbucket_numericalFonctions. Il spécifie la plage de valeurs numériques à diviser en compartiments, au format[lower-bound, upper-bound] :

"range" : [20, 100]

Si une valeur de propriété est inférieure à la limite inférieure, elle est affectée au premier compartiment, ou si elle est supérieure à la limite supérieure, elle est affectée au dernier compartiment.

Consultez Fonctionnalités numériques de godets dans Neptune ML.

Lebucket_cntchamp

Ce champ est obligatoire pourbucket_numericalFonctions. Il spécifie le nombre de compartiments que la plage numérique définie par lerangele paramètre doit être divisé en :

"bucket_cnt": 10

Consultez Fonctionnalités numériques de godets dans Neptune ML.

Leslide_window_sizechamp

Ce champ est facultatif avecbucket_numericalfonctions permettant d'attribuer des valeurs à plusieurs compartiments :

"slide_window_size": 5

La façon dont fonctionne une fenêtre coulissante est que Neptune ML prend la taille de la fenêtreset transforme chaque valeur numériquevd'une propriété dans une plage allant de v - s/2 à travers v + s/2 . La valeur est ensuite attribuée à chaque compartiment que la plage chevauche.

Consultez Fonctionnalités numériques de godets dans Neptune ML.

Leimputerchamp

Ce champ est facultatif avecnumericaletbucket_numericalfonctions permettant de fournir une technique d'imputation permettant de remplir les valeurs manquantes :

"imputer": "mean"

Les techniques d'imputation prises en charge sont les suivantes :

  • "mean"

  • "median"

  • "most-frequent"

Si vous n'incluez pas le paramètre d'imputeur, le prétraitement des données s'arrête et se termine lorsqu'une valeur manquante est rencontrée.

Consultez Caractéristiques numériques de Neptune ML et Fonctionnalités numériques de godets dans Neptune ML.

Lemax_featureschamp

Ce champ est facultatif partext_tfidffonctions permettant de spécifier le nombre maximal de termes à encoder :

"max_features": 100

Un paramètre de 100 permet au vecteur TF-IDF d'encoder uniquement les 100 termes les plus courants. La valeur par défaut si vous n'incluez pasmax_featuresest de 5 000.

Consultez Codage TF-IDF des fonctions de texte dans Neptune ML.

Lemin_dfchamp

Ce champ est facultatif partext_tfidffonctions permettant de spécifier la fréquence minimale des termes à encoder :

"min_df": 5

Un paramètre de 5 indique qu'un terme doit apparaître dans au moins 5 valeurs de propriétés différentes pour être codé.

La valeur par défaut si vous n'incluez pas la valeurmin_dfLe paramètre est2.

Consultez Codage TF-IDF des fonctions de texte dans Neptune ML.

Lengram_rangechamp

Ce champ est facultatif partext_tfidffonctions permettant de spécifier la taille des séquences de mots ou de jetons qui doivent être considérées comme des termes individuels potentiels à coder :

"ngram_range": [2, 4]

La valeur[2, 4]précise que les séquences de 2, 3 et 4 mots doivent être considérées comme des termes individuels potentiels.

La valeur par défaut si vous ne définissez pas explicitementngram_rangeest[1, 1], ce qui signifie que seuls des mots ou des jetons sont considérés comme des termes à encoder.

Consultez Codage TF-IDF des fonctions de texte dans Neptune ML.

Ledatetime_partschamp

Ce champ est facultatif pardatetimefonctions permettant de spécifier les parties de la valeur datetime à coder catégoriquement :

"datetime_parts": ["weekday", "hour"]

Si vous n'incluez pasdatetime_parts, par défaut, Neptune ML code les parties année, mois, jour de semaine et heure de la valeur datetime. La valeur["weekday", "hour"]indique que seules les valeurs du jour de la semaine et de l'heure de la date et de l'heure doivent être codées catégoriquement dans l'entité.

Si l'une des pièces ne possède pas plus d'une valeur unique dans le jeu d'entraînement, elle n'est pas codée.

Consultez Fonctionnalités Datetime dans Neptune ML.