Erstellt ein Kategoriemodell. Diese Aktion kompiliert kategoriale Regeln in ein binäres Modell (MCO-Datei), das von der Aktion `category.applyCategory` verwendet werden kann. Sie verwendet eine Konfigurationstabelle, die die Regeln definiert, und kann optional ein Konzeptmodell (LI-Binärdatei) zur Unterstützung des Kompilierungsprozesses einbeziehen.
| Parameter | Beschreibung |
|---|---|
| casOut | Gibt die CAS-Ausgabetabelle an, die das Kategoriemodell (MCO) enthält. |
| concept | Gibt eine CAS-Eingabetabelle an, die die LI-Binärdatei enthält. Die LI-Binärdatei ist optional und kann zum Kompilieren des Kategoriemodells (MCO) verwendet werden. |
| config | Gibt den Variablennamen der Eingabetabelle an, die die Konfiguration enthält. |
| language | Gibt die Sprache an, die beim Festlegen der linguistischen Binärdateien verwendet wird. Der Standardwert ist 'en'. Wenn der Wert ungültig ist, wird eine Fehlermeldung angezeigt. |
| ruleId | Gibt den Variablennamen der CAS-Tabelle an, der die Regel-IDs enthält. |
| table | Gibt den Namen der CAS-Tabelle an, die die Konfiguration enthält. |
| tokenizer | Gibt an, welcher Tokenizer im Kategoriemodell verwendet werden soll. Wenn der Tokenizer-Parameter auf den Standardwert 'STANDARD' gesetzt ist, wird ein sprachspezifischer Tokenizer angewendet. Alle lizenzierten Sprachen unterstützen den Standardwert 'STANDARD'. Wenn der Tokenizer-Parameter auf den Wert 'BASIC' gesetzt ist, wird ein einfacher Tokenizer angewendet. Der einfache Tokenizer trennt Wörter nach Leerzeichen, Satzzeichen und chinesischen, japanischen, koreanischen und thailändischen Zeichen. Der Wert 'BASIC' des Tokenizer-Parameters ist nur verfügbar, wenn der Sprachparameter auf Chinesisch, Japanisch oder Koreanisch eingestellt ist. Diese Methode kann die Anforderungen der Analyse spezifischer Texte besser erfüllen und die Regelübereinstimmung für diese Sprachen verbessern. |
Dieser Schritt erstellt die Tabelle `category_rules_table`, die die Regeln für die Kategorisierung enthält. Jede Zeile definiert eine Regel für eine Kategorie.
| 1 | DATA mycas.category_rules_table; LENGTH rule_id $ 20 config $ 32767; INFILE DATALINES delimiter='|'; INPUT rule_id $ config $; DATALINES; |
| 2 | CAT_A|CLASSIFIER:cat_a_term1 |
| 3 | CAT_A|CLASSIFIER:cat_a_term2 |
| 4 | CAT_B|CONCEPT_RULE:(OR, (AND, "cat_b_term1", "cat_b_term2"), (AND, "cat_b_term3", (NOT, "excluded_term"))) |
| 5 | ; |
| 6 | RUN; |
Dieses Beispiel zeigt, wie man ein Kategoriemodell aus einer Regeltabelle kompiliert. Das resultierende Modell wird in der Tabelle `mycas.mco_model` gespeichert.
| 1 | |
| 2 | PROC CAS; |
| 3 | textRuleDevelop.compileCategory / TABLE={name='category_rules_table'} casOut={name='mco_model', replace=true} ruleId='rule_id' config='config'; |
| 4 | |
| 5 | RUN; |
| 6 |
Dieses Beispiel kompiliert ein Kategoriemodell unter Verwendung eines vordefinierten Konzeptmodells (`mycas.li_model`) und gibt die Sprache als Japanisch an. Es verwendet den 'BASIC'-Tokenizer für eine spezifische Textverarbeitung.
| 1 | |
| 2 | PROC CAS; |
| 3 | textRuleDevelop.compileCategory / TABLE={name='category_rules_table'} concept={name='li_model'} casOut={name='mco_model_jp', replace=true} ruleId='rule_id' config='config' language='ja' tokenizer='BASIC'; |
| 4 | |
| 5 | RUN; |
| 6 |