textRuleDevelop

compileConcept

Descripción

Construye un modelo de concepto utilizando la configuración del concepto y entidades predefinidas. Esta acción es fundamental para transformar reglas lingüísticas legibles por humanos en un formato binario ejecutable que puede ser utilizado por otras acciones de análisis de texto como 'tpParse' y 'tmMine' para la extracción de conceptos y análisis de sentimientos.

proc cas; textRuleDevelop.compileConcept / casOut={caslib="string", name="string", ...} config="string" enablePredefined=TRUE | FALSE language="string" predefinedSentiment=TRUE | FALSE ruleId="string" table={caslib="string", name="string", ...} tokenizer="BASIC" | "STANDARD"; run;
Parámetros
ParámetroDescripción
casOutEspecifica la tabla CAS de salida que contendrá el modelo de concepto en formato binario. Esta tabla es la entrada para otras acciones como 'tpParse' y 'tmMine'.
configEspecifica el nombre de la variable en la tabla CAS de entrada que contiene la información de configuración (reglas LITI) para compilar el modelo de concepto.
enablePredefinedEspecifica si se deben incluir las entidades predefinidas (como nlp:date, nlp:person, etc.) durante la compilación del modelo de concepto. Por defecto es FALSE.
languageEspecifica el idioma para los binarios lingüísticos que se utilizarán. El valor por defecto es 'ENGLISH'.
predefinedSentimentSi se establece en TRUE, el modelo de sentimiento predefinido para el idioma especificado se ampliará con las reglas proporcionadas. Por defecto es FALSE.
ruleIdEspecifica el nombre de la variable en la tabla CAS de entrada que contiene los identificadores de las reglas.
tableEspecifica la tabla CAS de entrada que contiene la configuración del concepto (reglas LITI).
tokenizerEspecifica el tokenizador a utilizar. 'STANDARD' (por defecto) usa un tokenizador específico del idioma. 'BASIC' usa un tokenizador simple basado en espacios y puntuación, útil para chino, japonés y coreano.
Creación de Datos de Ejemplo

El siguiente código crea la tabla 'concepts_table' que contiene las reglas de concepto que se compilarán. Estas reglas definen cómo identificar conceptos como 'PRODUCT' y 'SENTIMENT' en un texto.

¡Copiado!
1DATA concepts_table;
2 LENGTH rule_id $ 20;
3 LENGTH config $ 32767;
4 INFILE DATALINES delimiter='|';
5 INPUT rule_id $ config $;
6 DATALINES;
7concept_rules|concept:PRODUCT,SENTIMENT
8concept_rules|regex:([A-z][a-z]+)
9concept_rules|rule:(1):_cap(1, PRODUCT)
10concept_rules|rule:(2):SENTIMENT(positive):_cap(1, PRODUCT)
11;
12RUN;

Ejemplos

Este ejemplo muestra cómo compilar un modelo de concepto simple a partir de las reglas definidas en la tabla 'concepts_table' y guardar el modelo binario en la tabla 'concept_model'.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2 textRuleDevelop.compileConcept /
3 TABLE={name='concepts_table'},
4 config='config',
5 ruleId='rule_id',
6 casOut={name='concept_model', replace=true};
7RUN;
Resultado :
La acción crea una tabla de salida llamada 'concept_model' en la caslib activa. Esta tabla contiene el modelo de concepto compilado en formato binario, listo para ser usado por otras acciones de análisis de texto.

Este ejemplo compila un modelo de concepto para el idioma japonés, habilitando las entidades predefinidas y utilizando el tokenizador 'BASIC'. Esto es útil para mejorar la extracción de entidades en idiomas asiáticos.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2 textRuleDevelop.compileConcept /
3 TABLE={name='concepts_table'},
4 config='config',
5 ruleId='rule_id',
6 language='JAPANESE',
7 enablePredefined=true,
8 tokenizer='BASIC',
9 casOut={name='concept_model_jp', replace=true};
10RUN;
Resultado :
Se genera una tabla de salida 'concept_model_jp' que contiene un modelo de concepto compilado. Este modelo incluye tanto las reglas personalizadas como las entidades predefinidas de SAS para japonés, y utiliza un tokenizador optimizado para ese idioma.

FAQ

¿Qué es la acción `compileConcept`?
¿Cuál es el propósito del parámetro `casOut`?
¿Qué hace el parámetro `config`?
¿Para qué sirve el parámetro `enablePredefined`?
¿Qué especifica el parámetro `language`?
¿Qué hace el parámetro `predefinedSentiment`?
¿Cuál es la función del parámetro `tokenizer`?