langModel

calculateErrorRate

Descripción

Calcula las tasas de error de caracteres, palabras y frases comparando las transcripciones de hipótesis y de referencia. Esta acción es fundamental para evaluar el rendimiento de los modelos de voz a texto (Speech-to-Text).

langModel.calculateErrorRate / reference={...} table={...} <referenceId="nombre-variable"> <referenceText="nombre-variable"> <tableId="nombre-variable"> <tableText="nombre-variable">;
Parámetros
ParámetroDescripción
referenceEspecifica la tabla que contiene las transcripciones de referencia (la verdad fundamental).
tableEspecifica la tabla que contiene las transcripciones de hipótesis (el resultado del modelo).
referenceIdEspecifica el nombre de la columna en la tabla de referencia que contiene los identificadores. Por defecto, se asume que es la primera columna.
referenceTextEspecifica el nombre de la columna en la tabla de referencia que contiene las secuencias de palabras verdaderas. Por defecto, se asume que es la segunda columna.
tableIdEspecifica el nombre de la columna en la tabla de hipótesis que contiene los identificadores. Por defecto, se asume que es la primera columna.
tableTextEspecifica el nombre de la columna en la tabla de hipótesis que contiene las secuencias de palabras hipotéticas. Por defecto, se asume que es la segunda columna.
Creación de Datos de Ejemplo

Se crean dos tablas en la caslib 'casuser': 'ref_data' para las transcripciones de referencia (la verdad) y 'hyp_data' para las transcripciones de hipótesis (la predicción del modelo). Cada tabla contiene un identificador único y el texto asociado para la comparación.

¡Copiado!
1DATA casuser.ref_data; LENGTH id $ 10 text $ 100; INFILE DATALINES delimiter=','; INPUT id $ text $; DATALINES;
2id1,this is a sample
3id2,another example here
4; RUN;
5DATA casuser.hyp_data; LENGTH id $ 10 text $ 100; INFILE DATALINES delimiter=','; INPUT id $ text $; DATALINES;
6id1,this is sample
7id2,an other example here
8; RUN;

Ejemplos

Este ejemplo realiza un cálculo simple de la tasa de error comparando todas las filas de la tabla de hipótesis ('hyp_data') con la tabla de referencia ('ref_data').

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3langmodel.calculateErrorRate / TABLE={name='hyp_data', caslib='casuser'} reference={name='ref_data', caslib='casuser'};
4 
5RUN;
6 
Resultado :
La acción devuelve una tabla de resultados que resume las tasas de error a nivel de palabra (WER), carácter (CER) y frase (SER), incluyendo el número de sustituciones, inserciones y eliminaciones.

Este ejemplo especifica explícitamente las columnas a utilizar para los identificadores y el texto en ambas tablas, 'hypothesis' y 'reference', asegurando una correspondencia correcta incluso si el orden de las columnas no es el predeterminado.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3langmodel.calculateErrorRate / TABLE={name='hyp_data', caslib='casuser'} reference={name='ref_data', caslib='casuser'} tableId='id' tableText='text' referenceId='id' referenceText='text';
4 
5RUN;
6 
Resultado :
El resultado es una tabla que detalla las métricas de error (WER, CER, SER). Para 'id1', la referencia 'this is a sample' (4 palabras) se compara con la hipótesis 'this is sample' (3 palabras). Esto resulta en 1 eliminación ('a'), llevando a un WER de (1/4) = 25% para esa frase. Para 'id2', la referencia 'another example here' se compara con 'an other example here', resultando en 1 sustitución y 1 inserción, lo que lleva a un WER de (2/3) = 66.7%. La tabla de resultados agregará estos errores para proporcionar una tasa de error global.

FAQ

¿Cuál es el propósito de la acción `calculateErrorRate`?
¿Qué tablas de entrada son necesarias para la acción `calculateErrorRate`?
¿Cómo se especifican las columnas que contienen el texto de referencia y el texto de hipótesis?
¿Es posible especificar las columnas de ID para unir las tablas de referencia e hipótesis?
¿Qué calcula exactamente la acción `calculateErrorRate`?
¿Cuál es el propósito de la acción `langModel.calculateErrorRate`?
¿Cuáles son las tablas de entrada requeridas para la acción `calculateErrorRate`?
¿Qué especifica el parámetro `reference`?
¿Cómo se identifican las columnas de texto e ID en las tablas de entrada?
¿Qué representan las tasas de error calculadas por esta acción?