Genera etiquetas para el muestreo de candidatos con una distribución de unigramas aprendida.
Un muestreador de unigramas podría usar una distribución de unigramas fija leída de un archivo o pasada como una matriz en memoria en lugar de construir la distribución a partir de datos sobre la marcha. También existe la opción de sesgar la distribución aplicando un poder de distorsión a los pesos.
El archivo de vocabulario debe estar en formato similar a CSV, siendo el último campo el peso asociado a la palabra.
Para cada lote, esta operación selecciona un único conjunto de etiquetas candidatas de muestra.
Las ventajas de muestrear candidatos por lote son la simplicidad y la posibilidad de una multiplicación eficiente de matrices densas. La desventaja es que los candidatos de la muestra deben elegirse independientemente del contexto y de las etiquetas verdaderas.
Clases anidadas
clase | Se corrigió UnigramCandidateSampler.Options | Atributos opcionales para FixedUnigramCandidateSampler |
Constantes
Cadena | OP_NOMBRE | El nombre de esta operación, como lo conoce el motor central de TensorFlow. |
Métodos públicos
estático FijoUnigramCandidateSampler | crear (alcance alcance , operando < TInt64 > trueClasses, Long numTrue, Long numSampled, booleano único, Long rangeMax, Opciones... opciones) Método de fábrica para crear una clase que envuelve una nueva operación FixedUnigramCandidateSampler. |
estático FijoUnigramCandidateSampler.Options | distorsión (distorsión flotante) |
estático FijoUnigramCandidateSampler.Options | numReservedIds (NúmReservedIds largos) |
estático FijoUnigramCandidateSampler.Options | numShards (numShards largos) |
Salida < TInt64 > | Candidatos muestreados () Un vector de longitud num_sampled, en el que cada elemento es el ID de un candidato muestreado. |
Salida <TFloat32> | sampledExpectedCount () Un vector de longitud num_sampled, para cada candidato muestreado que representa el número de veces que se espera que el candidato aparezca en un lote de candidatos muestreados. |
estático FijoUnigramCandidateSampler.Options | semilla (semilla larga) |
estático FijoUnigramCandidateSampler.Options | semilla2 (semilla larga2) |
estático FijoUnigramCandidateSampler.Options | fragmento (fragmento largo) |
Salida <TFloat32> | verdaderoRecuentoEsperado () Una matriz de tamaño de lote * num_true, que representa el número de veces que se espera que aparezca cada candidato en un lote de candidatos muestreados. |
estático FijoUnigramCandidateSampler.Options | unigramas (List<Float> unigramas) |
estático FijoUnigramCandidateSampler.Options | vocabFile (cadena vocabFile) |
Métodos heredados
Constantes
Cadena final estática pública OP_NAME
El nombre de esta operación, como lo conoce el motor central de TensorFlow.
Métodos públicos
creación pública estática de FixUnigramCandidateSampler (alcance de alcance , operando <TInt64> trueClasses, Long numTrue, Long numSampled, booleano único, Long rangeMax, Opciones... opciones)
Método de fábrica para crear una clase que envuelve una nueva operación FixedUnigramCandidateSampler.
Parámetros
alcance | alcance actual |
---|---|
verdaderas clases | Una matriz de tamaño de lote * num_true, en la que cada fila contiene los ID de num_true target_classes en la etiqueta original correspondiente. |
número Verdadero | Número de etiquetas verdaderas por contexto. |
númMuestreado | Número de candidatos a muestrear aleatoriamente. |
único | Si único es verdadero, tomamos muestras con rechazo, de modo que todos los candidatos muestreados en un lote sean únicos. Esto requiere cierta aproximación para estimar las probabilidades de muestreo posteriores al rechazo. |
rangoMax | El muestreador tomará muestras de números enteros del intervalo [0, rango_max). |
opciones | lleva valores de atributos opcionales |
Devoluciones
- una nueva instancia de FixUnigramCandidateSampler
distorsión estática pública FixUnigramCandidateSampler.Options (distorsión flotante)
Parámetros
distorsión | La distorsión se utiliza para sesgar la distribución de probabilidad unigrama. Cada peso se eleva primero a la potencia de distorsión antes de agregarlo a la distribución interna de unigramas. Como resultado, la distorsión = 1,0 proporciona un muestreo regular de unigramas (como se define en el archivo de vocabulario) y la distorsión = 0,0 proporciona una distribución uniforme. |
---|
público estático FixedUnigramCandidateSampler.Options numReservedIds (NúmReservedIds largos)
Parámetros
númReservedIds | Opcionalmente, los usuarios pueden agregar algunas ID reservadas en el rango [0, ..., num_reserved_ids). Un caso de uso es que se utiliza un token especial de palabra desconocida como ID 0. Estos ID tendrán una probabilidad de muestreo de 0. |
---|
público estático FixUnigramCandidateSampler.Options numShards (Long numShards)
Parámetros
número de fragmentos | Se puede utilizar un muestreador para tomar muestras de un subconjunto del rango original con el fin de acelerar todo el cálculo mediante el paralelismo. Este parámetro (junto con 'shard') indica el número de particiones que se utilizan en el cálculo general. |
---|
Salida pública < TInt64 > candidatos muestreados ()
Un vector de longitud num_sampled, en el que cada elemento es el ID de un candidato muestreado.
Salida pública <TFloat32> sampledExpectedCount ()
Un vector de longitud num_sampled, para cada candidato muestreado que representa el número de veces que se espera que el candidato aparezca en un lote de candidatos muestreados. Si único = verdadero, entonces se trata de una probabilidad.
semilla pública estática FixedUnigramCandidateSampler.Options (semilla larga)
Parámetros
semilla | Si seed o seed2 se configuran como distintos de cero, el generador de números aleatorios se siembra con la semilla dada. De lo contrario, se siembra con una semilla aleatoria. |
---|
público estático FixUnigramCandidateSampler.Options semilla2 (semilla larga2)
Parámetros
semilla2 | Una segunda semilla para evitar la colisión de semillas. |
---|
fragmento público estático FixUnigramCandidateSampler.Options (fragmento largo)
Parámetros
casco | Se puede utilizar un muestreador para tomar muestras de un subconjunto del rango original con el fin de acelerar todo el cálculo mediante el paralelismo. Este parámetro (junto con 'num_shards') indica el número de partición particular de una operación de muestra, cuando se utiliza la partición. |
---|
Salida pública <TFloat32> trueExpectedCount ()
Una matriz de tamaño de lote * num_true, que representa el número de veces que se espera que aparezca cada candidato en un lote de candidatos muestreados. Si único = verdadero, entonces se trata de una probabilidad.
unigramas públicos estáticos FixedUnigramCandidateSampler.Options (List<Float> unigramas)
Parámetros
unigramas | Una lista de recuentos o probabilidades de unigramas, uno por ID en orden secuencial. Se debe pasar exactamente uno de vocab_file y unigramas a esta operación. |
---|
público estático FixUnigramCandidateSampler.Options vocabFile (String vocabFile)
Parámetros
archivovocab | Cada línea válida en este archivo (que debe tener un formato similar a CSV) corresponde a una identificación de palabra válida. Los ID están en orden secuencial, comenzando desde num_reserved_ids. Se espera que la última entrada en cada línea sea un valor correspondiente al recuento o probabilidad relativa. Se debe pasar exactamente uno de vocab_file y unigrams a esta operación. |
---|