Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
El campo de características en neptune_ml
Los valores y RDF literales de las propiedades vienen en diferentes formatos y tipos de datos. Para lograr un buen rendimiento en el machine learning, es fundamental convertir esos valores en codificaciones numéricas conocidas como características.
Neptune ML realiza la extracción y codificación de características como parte de los pasos de exportación y procesamiento de datos, tal y como se describe en Codificación de características en Neptune ML.
En el caso de los conjuntos de datos de gráficos de propiedades, el proceso de exportación infiere automáticamente las características auto
de las propiedades de cadenas y de las propiedades numéricas que incluyen varios valores. En el caso de las propiedades numéricas que incluyen valores únicos, infiere las características numerical
. En el caso de las propiedades de fecha, infiere las características datetime
.
Si desea anular una especificación de entidad inferida automáticamente o añadir un segmento numérico, TF- o una SBERT especificación para una propiedad IDF FastText, puede controlar la codificación de la entidad mediante el campo de entidades.
nota
Solo puede usar el features
campo para controlar las especificaciones de las entidades para los datos del gráfico de propiedades, no para los datos. RDF
En el caso de textos de formato libre, Neptune ML puede utilizar varios modelos diferentes para convertir la secuencia de tokens de un valor de propiedad de cadena en un vector de valor real de tamaño fijo:
text_fasttext— Utiliza fastText
la codificación. Esta es la codificación recomendada para las funciones que utilizan uno y solo uno de los cinco idiomas fastText compatibles. text_sbert— Utiliza los modelos de codificación Sentence BERT
(SBERT). Esta es la codificación recomendada para el texto que no admite text_fasttext
.text_word2vec: utiliza los algoritmos Word2Vec
publicados originalmente por Google para codificar texto. Word2Vec solo admite inglés. text_tfidf— Utiliza un vectorizador de frecuencia de términos y frecuencia inversa del documento
(TF-IDF) para codificar el texto. La IDF codificación TF- admite funciones estadísticas que las demás codificaciones no admiten.
El features
campo contiene un JSON conjunto de características de propiedades de nodos. Los objetos de la matriz pueden incluir los siguientes campos:
Contenido
El campo de nodos en las características
El campo node
especifica una etiqueta de gráfico de propiedades de un vértice de característica. Por ejemplo:
"node": "Person"
Si un vértice tiene varias etiquetas, utilice una matriz para incluir todas ellas. Por ejemplo:
"node": ["Admin", "Person"]
El campo de borde en las entidades
El campo edge
especifica el tipo de borde del borde de una característica. Un tipo de borde consiste en una matriz que incluye las etiquetas del gráfico de propiedades del vértice de origen, la etiqueta del gráfico de propiedades del borde y las etiquetas del gráfico de propiedades del vértice de destino. Debe proporcionar los tres valores al especificar una característica de borde. Por ejemplo:
"edge": ["User", "reviewed", "Movie"]
Si un vértice de origen o destino de un tipo de borde tiene varias etiquetas, utilice otra matriz para incluir todas ellas. Por ejemplo:
"edge": [["Admin", "Person"]. "edited", "Post"]
El campo de propiedad en las características
Utilice el parámetro de propiedad para especificar una propiedad del vértice identificado por el parámetro node
. Por ejemplo:
"property" : "age"
Valores posibles del campo de tipo para las entidades
El parámetro type
especifica el tipo de característica que se está definiendo. Por ejemplo:
"type": "bucket_numerical"
Valores posibles del parámetro type
-
"auto"
: especifica que Neptune ML debe detectar automáticamente el tipo de propiedad y aplicar una codificación de característica adecuada. Una característicaauto
también puede tener un campo opcionalseparator
.Consulte Codificación automática de características en Neptune ML.
-
"category"
: esta codificación de característica representa el valor de una propiedad como una de varias categorías. Dicho de otro modo, la característica puede tomar uno o varios valores discretos. Una característicacategory
también puede tener un campo opcionalseparator
. -
"numerical"
: esta codificación de característica representa los valores de propiedades numéricas como números en un intervalo continuo en el que los valores “mayor que” y “menor que” tienen relevancia.Una característica
numerical
también puede tener los campos opcionalesnorm
,imputer
yseparator
.Consulte Características numéricas de Neptune ML.
-
"bucket_numerical"
: esta codificación de característica divide los valores de propiedades numéricas en un conjunto de buckets o categorías.Por ejemplo, podrías codificar las edades de las personas en cuatro grupos: niños (0-20), adultos jóvenes (20-40), personas de mediana edad (40-60) y personas mayores (más de 60 años).
Una característica
bucket_numerical
requiere un camporange
y un campobucket_cnt
y, de forma opcional, también puede incluir un campoimputer
oslide_window_size
.Consulte Características numéricas por bucket de Neptune ML.
-
"datetime"
: esta codificación de característica representa el valor de una propiedad de fecha y hora como una matriz de estas características categóricas: año, mes, día de la semana y hora.Se pueden eliminar una o varias de estas cuatro categorías mediante el parámetro
datetime_parts
. -
"text_fasttext"
— Esta codificación de funciones convierte los valores de propiedad que consisten en frases o texto de formato libre en vectores numéricos mediante fastTextmodelos. Es compatible con cinco idiomas: inglés ( en
), chino (zh
), hindi (hi
), español (es
) y francés (fr
). En el caso de los valores de propiedades de texto en cualquiera de esos cinco idiomas, se recomienda la codificacióntext_fasttext
. Sin embargo, no admite casos en los que la misma frase incluya palabras en más de un idioma.Para lenguajes distintos de los fastText compatibles, utilice la
text_sbert
codificación.Si tiene muchas cadenas de texto de valor de propiedad de más de, por ejemplo, 120 caracteres, utilice el campo
max_length
para limitar el número de tokens en cada cadena que"text_fasttext"
codifique.Consulte Codificación fastText de valores de propiedades de texto en Neptune ML.
-
"text_sbert"
— Esta codificación convierte los valores de las propiedades del texto en vectores numéricos mediante modelos SBERTSentence BERT(). Neptune admite dos SBERT métodos, a saber text_sbert128
, cuál es el predeterminado si solo se especificatext_sbert
, y.text_sbert512
La diferencia entre ellos es el número máximo de tokens de una propiedad de texto que se codifica. La codificacióntext_sbert128
solo codifica los primeros 128 tokens, mientras quetext_sbert512
codifica hasta 512 tokens. Como resultado, el uso detext_sbert512
puede requerir más tiempo de procesamiento quetext_sbert128
. Ambos métodos son más lentos quetext_fasttext
.Los métodos
text_sbert
admiten muchos idiomas y pueden codificar una frase que incluya más de un idioma.*
Consulte Codificación de frases BERT (SBERT) de características de texto en Neptune ML.
-
"text_word2vec"
: esta codificación convierte los valores de las propiedades de texto en vectores numéricos mediante los algoritmos Word2Vec. Solo es compatible con el inglés. Consulte Codificación Word2Vec de características de texto en Neptune ML.
-
"text_tfidf"
— Esta codificación convierte los valores de las propiedades del texto en vectores numéricos mediante un vectorizador de frecuencia de términos y frecuencia inversa del documento (TF-). IDF Los parámetros de un codificación de característica
text_tfidf
se definen mediante el campongram_range
, el campomin_df
y el campomax_features
.Consulte Codificación TF-IDF de características de texto en Neptune ML.
-
"none"
: el uso del tiponone
provoca que no se produzca ninguna codificación de características. En cambio, los valores de las propiedades sin procesar se analizan y se guardan.Utilice
none
solo si tiene previsto realizar su propia codificación personalizada de características como parte del entrenamiento con modelos personalizados.
El campo de norma
Este campo es obligatorio para las características numéricas. Especifica un método de normalización para usar en valores numéricos:
"norm": "min-max"
Se admiten los siguientes métodos de normalización:
-
“min-max”: normaliza cada valor restándole el valor mínimo y dividiéndolo por la diferencia entre el valor máximo y el mínimo.
-
“standard”: normaliza cada valor dividiéndolo entre la suma de todos los valores.
-
“none”: no normaliza los valores numéricos durante la codificación.
Consulte Características numéricas de Neptune ML.
El campo del idioma
El campo de idioma especifica el idioma utilizado en los valores de las propiedades de texto. Su uso depende del método de codificación del texto:
-
En el caso de la codificación text_fasttext, este campo es obligatorio y debe especificar uno de los siguientes idiomas:
en
(inglés)zh
(chino)hi
(hindi)es
(español)fr
(francés)
Para la text_sbertcodificación, este campo no se utiliza, ya que la SBERT codificación es multilingüe.
-
En el caso de la codificación text_word2vec, este campo es opcional, ya que
text_word2vec
solo admite el inglés. Si está presente, debe especificar el nombre del modelo en inglés:"language" : "en_core_web_lg"
En el caso de la codificación text_tfidf, este campo no se utiliza.
El campo max_length
El campo max_length
es opcional para las características text_fasttext
, ya que especifica el número máximo de tokens que se codificarán en una característica de texto de entrada. Se truncará el texto de entrada que supere max_length
. Por ejemplo, si se establece max_length en 128, se ignorará cualquier token situado después del 128 en una secuencia de texto:
"max_length": 128
El campo separador
Este campo se usa de forma opcional con las características category
, numerical
y auto
. Especifica un carácter que se puede utilizar para dividir el valor de una propiedad en varios valores categóricos o numéricos:
"separator": ";"
Utilice el campo separator
únicamente cuando la propiedad almacene varios valores delimitados en una única cadena, como, por ejemplo, "Actor;Director"
o "0.1;0.2"
.
Consulte Características categóricas, Características numéricas y Codificación automática.
El campo de rango
Este campo es obligatorio para las características bucket_numerical
. Especifica el rango de valores numéricos que se van a dividir en buckets, en el formato[
:lower-bound
, upper-bound
]
"range" : [20, 100]
Si el valor de una propiedad es menor que el límite inferior, se asigna al primer bucket, o si es mayor que el límite superior, se asigna al último bucket.
Consulte Características numéricas por bucket de Neptune ML.
El campo bucket_cnt
Este campo es obligatorio para las características bucket_numerical
. Especifica el número de buckets en los que debe dividirse el rango numérico definido por el parámetro range
:
"bucket_cnt": 10
Consulte Características numéricas por bucket de Neptune ML.
El campo slide_window_size
Este campo se usa de forma opcional con características bucket_numerical
para asignar valores a más de un bucket:
"slide_window_size": 5
El funcionamiento de una ventana deslizante consiste en que Neptune ML toma el tamaño de la ventana s
y transforma cada valor numérico v
de una propiedad en un rango de v - s/2
a v + s/2
. A continuación, el valor se asigna a cada bucket en el que se superpone el rango.
Consulte Características numéricas por bucket de Neptune ML.
El campo de imputación
Este campo se utiliza de forma opcional con las características numerical
y bucket_numerical
para proporcionar una técnica de imputación y rellenar los valores que faltan:
"imputer": "mean"
Las técnicas de imputación admitidas son:
"mean"
"median"
"most-frequent"
Si no incluye el parámetro de imputación, el preprocesamiento de datos se detiene y finaliza cuando se encuentra con un valor que falta.
Consulte Características numéricas de Neptune ML y Características numéricas por bucket de Neptune ML.
El campo max_features
Las características text_tfidf
utilizan este campo de forma opcional para especificar el número máximo de términos que se van a codificar:
"max_features": 100
Un valor de 100 hace que el IDF vectorizador TF codifique solo los 100 términos más comunes. El valor predeterminado, si no se incluye max_features
, es 5000.
Consulte Codificación TF-IDF de características de texto en Neptune ML.
El campo min_df
Las características text_tfidf
utilizan este campo de forma opcional para especificar la frecuencia mínima de documentos de los términos que se van a codificar:
"min_df": 5
Un valor de 5 indica que un término debe aparecer en al menos 5 valores de propiedad diferentes para codificarse.
El valor predeterminado, si no se incluye el parámetro min_df
, es 2
.
Consulte Codificación TF-IDF de características de texto en Neptune ML.
El campo ngram_range
Las características text_tfidf
utilizan este campo de forma opcional para especificar qué tamaño de las secuencias de palabras o tokens debe considerarse como posibles términos individuales para codificar:
"ngram_range": [2, 4]
El valor [2, 4]
especifica que las secuencias de 2, 3 y 4 palabras deben considerarse posibles términos individuales.
El valor predeterminado, si no establece de forma explícita ngram_range
, es [1, 1]
, lo que significa que solo las palabras o tokens únicos se consideran términos que se van a codificar.
Consulte Codificación TF-IDF de características de texto en Neptune ML.
El campo datetime_parts
Las características datetime
utilizan este campo de forma opcional para especificar qué partes del valor de fecha y hora deben codificarse categóricamente:
"datetime_parts": ["weekday", "hour"]
Si no incluye datetime_parts
, Neptune ML codifica de forma predeterminada las partes de año, mes, día de la semana y hora del valor de fecha y hora. El valor ["weekday", "hour"]
indica que solo los valores de fecha y hora del día de la semana y hora deben codificarse categóricamente en la característica.
Si una de las partes no tiene más de un valor único en el conjunto de entrenamiento, no se ha codificado.
Consulte Características de fecha y hora de Neptune ML.