?>
Führt die Konzeptextraktion unter Verwendung eines Konzeptextraktionsmodells (LI-Datei) durch. Diese Aktion ermöglicht es, vordefinierte linguistische Regeln auf einen Textkorpus anzuwenden, um relevante Konzepte zu identifizieren und zu extrahieren. Sie ist ein wesentlicher Bestandteil der Textanalyse in SAS Viya und wird häufig für Aufgaben wie die Inhaltskategorisierung, die Extraktion von Entitäten und die Stimmungsanalyse verwendet.
| Parameter | Beschreibung |
|---|---|
| casOut | Gibt die Ausgabe-CAS-Tabelle an, die die Informationen zu den Konzeptübereinstimmungen enthält. |
| docId | Gibt den Variablennamen der CAS-Tabelle an, der die Dokument-IDs enthält. |
| dropConcepts | Gibt eine Liste von primären Konzepten an, die aus den CAS-Ausgabetabellen entfernt werden sollen. |
| factOut | Gibt die Ausgabe-CAS-Tabelle an, die die Informationen zu den Faktenübereinstimmungen enthält. |
| language | Gibt die in der Eingabetabelle verwendete Sprache an. Standardmäßig ist dies 'ENGLISH'. |
| litiChunkSize | Gibt die Größe der Chunks an, die bei der Verarbeitung eines Dokuments verwendet werden. Standardmäßig 32K. |
| matchType | Gibt den Wert für den Eingabe-Übereinstimmungstyp an. Mögliche Werte sind 'ALL', 'BEST' oder 'LONGEST'. Standardmäßig 'ALL'. |
| model | Gibt eine Eingabe-CAS-Tabelle an, die das benutzerdefinierte LI-Modell enthält. Wenn nicht angegeben, wird das Basismodell verwendet. |
| parseTableIn | Gibt den Namen der CAS-Tabelle an, die mit dem Parameter parseTableOut in einem vorherigen Aufruf der applyConcept-Aktion erstellt wurde. |
| parseTableOut | Gibt eine CAS-Ausgabetabelle an, die vorverarbeitete Eingabedokumente enthält. |
| ruleMatchOut | Gibt die Ausgabe-CAS-Tabelle an, die die Informationen zu den Regelübereinstimmungen enthält. |
| table | Gibt eine Eingabe-CAS-Tabelle an, die die zu analysierenden Eingabedokumente enthält. |
| text | Gibt den Variablennamen der CAS-Tabelle an, der den zu verarbeitenden Text enthält. |
Dieser SAS-Code erstellt eine CAS-Tabelle namens 'reviews', die Kundenrezensionen enthält. Diese Tabelle wird in den folgenden Beispielen verwendet, um die Konzeptextraktion zu demonstrieren.
data casuser.reviews; infile datalines delimiter='|'; length text $500 docid $100; input text$ docid$; datalines; This is a great product, I love it!|review1 The service was terrible, very slow.|review2 I am very satisfied with the quality.|review3 It broke after one week, very disappointing.|review4 ; run;
Dieses Beispiel wendet das Standard-Konzeptmodell auf die Tabelle 'reviews' an und speichert die Ergebnisse in der Tabelle 'concept_matches'.
| 1 | PROC CAS; |
| 2 | textRuleScore.applyConcept / |
| 3 | TABLE={caslib='casuser', name='reviews'}, |
| 4 | docId='docid', |
| 5 | text='text', |
| 6 | casOut={caslib='casuser', name='concept_matches', replace=true}; |
| 7 | RUN; |
Dieses Beispiel verwendet ein benutzerdefiniertes LITI-Modell (das zuvor in 'my_liti_model' geladen wurde), um Konzepte zu extrahieren. Es gibt drei Ausgabetabellen aus: eine für Konzeptübereinstimmungen ('concept_matches_detailed'), eine für Fakten ('fact_matches') und eine für Regelübereinstimmungen ('rule_matches'). Es wird nur der längste Treffer pro Konzept beibehalten.
| 1 | PROC CAS; |
| 2 | textRuleScore.applyConcept / |
| 3 | TABLE={caslib='casuser', name='reviews'}, |
| 4 | docId='docid', |
| 5 | text='text', |
| 6 | model={caslib='casuser', name='my_liti_model'}, |
| 7 | matchType='LONGEST', |
| 8 | casOut={caslib='casuser', name='concept_matches_detailed', replace=true}, |
| 9 | factOut={caslib='casuser', name='fact_matches', replace=true}, |
| 10 | ruleMatchOut={caslib='casuser', name='rule_matches', replace=true}; |
| 11 | RUN; |
In diesem Beispiel wird die Konzeptextraktion durchgeführt, aber die Ergebnisse für die vordefinierten Konzepte 'nlpPositive' und 'nlpNegative' werden aus der Ausgabetabelle ausgeschlossen. Dies ist nützlich, um die Ausgabe auf spezifische, für die Analyse relevante Konzepte zu konzentrieren.
| 1 | PROC CAS; |
| 2 | textRuleScore.applyConcept / |
| 3 | TABLE={caslib='casuser', name='reviews'}, |
| 4 | docId='docid', |
| 5 | text='text', |
| 6 | dropConcepts={'nlpPositive', 'nlpNegative'}, |
| 7 | casOut={caslib='casuser', name='concept_matches_filtered', replace=true}; |
| 8 | RUN; |