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.
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.

Kopiert!
1DATA casuser.reviews;
2 INFILE DATALINES delimiter='|';
3 LENGTH text $500 docid $100;
4 INPUT text$ docid$;
5 DATALINES;
6This is a great product, I love it!|review1
7The service was terrible, very slow.|review2
8I am very satisfied with the quality.|review3
9It broke after one week, very disappointing.|review4
10;
11RUN;

Beispiele

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

SAS® / CAS-Code Code wartet auf Validierung durch die Community
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 Code wartet auf Validierung durch die Community
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 Code wartet auf Validierung durch die Community
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?

Zugehörige Szenarien

Anwendungsfall
Analyse von Kundenfeedback zur Produktverbesserung

Ein Softwareunternehmen möchte Kundenfeedback aus Online-Foren analysieren, um häufig genannte Produktmerkmale und die damit verbundene Stimmung zu identifizieren. Ziel ist es, ...

Anwendungsfall
Leistungsoptimierung bei der Verarbeitung großer Mengen von Schadensmeldungen

Eine Versicherungsgesellschaft muss täglich Tausende von Schadensmeldungen verarbeiten, um sie schnell an die zuständige Abteilung (z.B. Wasserschaden, Brandschaden) weiterzulei...

Anwendungsfall
Screening von Finanzkommunikation mit Ausschluss von Störkonzepten und Umgang mit unsauberen Daten

Eine Finanzaufsichtsbehörde prüft interne E-Mails auf Verstöße gegen Compliance-Richtlinien. Sie sucht nach Erwähnungen spezifischer, riskanter Finanzprodukte, möchte aber allge...