La acción `compileCategory` construye un modelo de categorías (en formato MCO) a partir de reglas de categorización definidas por el usuario. Estas reglas, escritas en el Lenguaje de Definición de Categorías (CDL), se almacenan en una tabla CAS de entrada. La acción compila estas reglas en un modelo binario que puede ser utilizado posteriormente por la acción `applyCategory` para clasificar documentos.
| Parámetro | Descripción |
|---|---|
| casOut | Especifica la tabla CAS de salida que contendrá el modelo de categorías compilado (MCO). |
| table | Especifica la tabla CAS de entrada que contiene la configuración de las reglas de categorización. |
| config | Especifica el nombre de la variable en la tabla de entrada que contiene la configuración de las reglas. |
| concept | Opcional. Especifica una tabla CAS de entrada que contiene un binario de un modelo de conceptos (LI) para ser utilizado durante la compilación. |
| language | Especifica el idioma para los binarios lingüísticos. El valor predeterminado es 'en' (inglés). |
| ruleId | Especifica el nombre de la variable en la tabla de entrada que contiene los identificadores de las reglas. |
| tokenizer | Especifica el tokenizador a utilizar. 'STANDARD' (predeterminado) usa un tokenizador específico del idioma. 'BASIC' usa un tokenizador simple basado en espacios y puntuación, disponible para chino, japonés y coreano. |
Este código crea una tabla CAS llamada 'my_category_rules' que contiene una regla de categorización simple. La regla, identificada por 'rule1', clasifica un documento en la categoría 'PRODUCT_COMPLAINT' si contiene la palabra 'defectuoso'.
| 1 | DATA my_caslib.my_category_rules; |
| 2 | LENGTH rule_id $20 config $32767; |
| 3 | rule_id = 'rule1'; |
| 4 | config = 'CATEGORY:PRODUCT_COMPLAINT, (SENT, "defectuoso")'; |
| 5 | OUTPUT; |
| 6 | RUN; |
Este ejemplo compila las reglas de la tabla 'my_category_rules' en un modelo de categorías binario y lo guarda en la tabla 'my_category_model'.
| 1 | PROC CAS; |
| 2 | textRuleDevelop.compileCategory |
| 3 | / TABLE={caslib='my_caslib', name='my_category_rules'} |
| 4 | config='config' |
| 5 | ruleId='rule_id' |
| 6 | casOut={caslib='my_caslib', name='my_category_model', replace=true}; |
| 7 | RUN; |
Este ejemplo avanzado compila un modelo de categorías utilizando un modelo de conceptos preexistente ('my_concept_model') para enriquecer la lógica de clasificación. Además, especifica el uso del tokenizador 'BASIC' y establece el idioma en japonés, lo cual es útil para textos que no se segmentan por espacios.
| 1 | PROC CAS; |
| 2 | textRuleDevelop.compileCategory |
| 3 | / TABLE={caslib='my_caslib', name='my_category_rules'} |
| 4 | config='config' |
| 5 | ruleId='rule_id' |
| 6 | concept={caslib='my_caslib', name='my_concept_model'} |
| 7 | language='ja' |
| 8 | tokenizer='BASIC' |
| 9 | casOut={caslib='my_caslib', name='my_advanced_category_model', replace=true}; |
| 10 | RUN; |
Una empresa minorista desea analizar automáticamente los comentarios de los clientes en su sitio web. El objetivo es clasificar los comentarios en categorías como 'Envío', 'Cali...
Una firma financiera global analiza noticias en tiempo real de mercados asiáticos (Japón). Necesitan compilar reglas complejas que manejen la segmentación de caracteres específi...
El departamento de cumplimiento normativo está actualizando sus reglas de detección de fraude. Durante la migración, algunos metadatos de idioma fueron corrompidos. Se debe veri...