?> applyConcept - WeAreCAS
textRuleScore

applyConcept

Beschreibung

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.

textRuleScore.applyConcept { casOut={<casouttable>}, docId="string", dropConcepts={"string-1" <, "string-2", ...>}, factOut={<casouttable>}, language="string", litiChunkSize="string", matchType="ALL" | "BEST" | "LONGEST", model={<castable>}, parseTableIn={<castable>}, parseTableOut={<casouttable>}, ruleMatchOut={<casouttable>}, table={<castable>}, text="string" };
Einstellungen
ParameterBeschreibung
casOutGibt die Ausgabe-CAS-Tabelle an, die die Informationen zu den Konzeptübereinstimmungen enthält.
docIdGibt den Variablennamen der CAS-Tabelle an, der die Dokument-IDs enthält.
dropConceptsGibt eine Liste von primären Konzepten an, die aus den CAS-Ausgabetabellen entfernt werden sollen.
factOutGibt die Ausgabe-CAS-Tabelle an, die die Informationen zu den Faktenübereinstimmungen enthält.
languageGibt die in der Eingabetabelle verwendete Sprache an. Standardmäßig ist dies 'ENGLISH'.
litiChunkSizeGibt die Größe der Chunks an, die bei der Verarbeitung eines Dokuments verwendet werden. Standardmäßig 32K.
matchTypeGibt den Wert für den Eingabe-Übereinstimmungstyp an. Mögliche Werte sind 'ALL', 'BEST' oder 'LONGEST'. Standardmäßig 'ALL'.
modelGibt eine Eingabe-CAS-Tabelle an, die das benutzerdefinierte LI-Modell enthält. Wenn nicht angegeben, wird das Basismodell verwendet.
parseTableInGibt den Namen der CAS-Tabelle an, die mit dem Parameter parseTableOut in einem vorherigen Aufruf der applyConcept-Aktion erstellt wurde.
parseTableOutGibt eine CAS-Ausgabetabelle an, die vorverarbeitete Eingabedokumente enthält.
ruleMatchOutGibt die Ausgabe-CAS-Tabelle an, die die Informationen zu den Regelübereinstimmungen enthält.
tableGibt eine Eingabe-CAS-Tabelle an, die die zu analysierenden Eingabedokumente enthält.
textGibt den Variablennamen der CAS-Tabelle an, der den zu verarbeitenden Text enthält.
Datenaufbereitung
Erstellung von Beispieldaten

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;

Beispiele

Dieses Beispiel wendet das Standard-Konzeptmodell auf die Tabelle 'reviews' an und speichert die Ergebnisse in der Tabelle 'concept_matches'.

SAS® / CAS-Code
Kopiert!
1PROC 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};
7RUN;
Ergebnis :
Eine CAS-Tabelle namens 'concept_matches' wird in der 'casuser'-Bibliothek erstellt. Sie enthält die extrahierten Konzepte aus jeder Rezension, wie z.B. 'great product' oder 'terrible service', zusammen mit ihrer Position im Text.

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.

SAS® / CAS-Code
Kopiert!
1PROC 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};
11RUN;
Ergebnis :
Drei neue CAS-Tabellen werden erstellt: 'concept_matches_detailed' enthält die längsten Konzeptübereinstimmungen gemäß dem benutzerdefinierten Modell. 'fact_matches' enthält alle extrahierten Fakten (Argumente von Prädikaten). 'rule_matches' enthält detaillierte Informationen über die ausgelösten Regeln, die für das Debugging des LITI-Modells nützlich sind.

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.

SAS® / CAS-Code
Kopiert!
1PROC 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};
8RUN;
Ergebnis :
Die Ausgabetabelle 'concept_matches_filtered' wird erstellt. Sie enthält alle extrahierten Konzepte mit Ausnahme derjenigen, die als 'nlpPositive' oder 'nlpNegative' klassifiziert sind, was eine fokussiertere Analyse ermöglicht.

FAQ

Was ist der Hauptzweck der `applyConcept`-Aktion?
Welche Arten von Ausgabetabellen kann die `applyConcept`-Aktion erzeugen?
Was steuert der `matchType`-Parameter?
Wie kann die Leistung bei der Verwendung des CLAUS_n-Operators verbessert werden?
Kann ich bestimmte Konzepte von der Ausgabe ausschließen?