?> brScore - WeAreCAS
boolRule

brScore

Beschreibung

Die Aktion `brScore` bewertet Textdaten basierend auf einem Satz boolescher Regeln, die typischerweise von der Aktion `brTrain` generiert werden. Sie identifiziert, welche Dokumente in einem Eingabedatensatz die Kriterien der einzelnen Regeln erfüllen, und erstellt eine Ausgabetabelle mit den Übereinstimmungsergebnissen. Diese Aktion ist nützlich, um zuvor extrahierte Regeln auf neue Daten anzuwenden und Dokumente entsprechend zu kategorisieren oder zu filtern.

boolRule.brScore <result=results> <status=rc> / casOut={...} docId="variable-name" nThreads=integer ruleTerms={...} table={...} termId="variable-name" useOldNames=TRUE | FALSE ;
Einstellungen
ParameterBeschreibung
casOutGibt eine Datentabelle an, die die Ergebnisse des Regelabgleichs enthalten soll (ob ein Dokument eine Regel erfüllt).
docIdGibt die Variable in der Eingabedatentabelle an, die die Dokument-ID enthält.
nThreadsGibt die Anzahl der pro Knoten zu verwendenden Threads an. Der Wert muss eine ganze Zahl sein.
ruleTermsGibt eine Datentabelle an, die die Begriffe in jeder Regel enthält, die von der Trainingsaktion generiert wird.
tableGibt die Eingabedatentabelle für das Regel-Scoring an.
termIdGibt die Variable in der Eingabedatentabelle an, die die Begriffs-ID enthält.
useOldNamesGibt an, ob die alten Variablennamen verwendet werden sollen, die in HPBOOLRULE verwendet wurden.
Datenaufbereitung
Erstellung von Beispieldaten

Dieser Code erstellt zwei Beispieldatensätze: `mycas.reviews` enthält die Dokumente (in diesem Fall Filmkritiken) mit einer ID und dem Text. `mycas.rule_terms` definiert die booleschen Regeln, die für das Scoring verwendet werden. Regel 1 wird durch das Vorhandensein von 'schlecht' ODER 'langweilig' ausgelöst, während Regel 2 durch 'großartig' UND 'lustig' ausgelöst wird.

data mycas.reviews;
   infile datalines delimiter='|';
   length text $200.;
   input docId text $;
   datalines;
1|Dieser Film war schlecht und langweilig.
2|Eine großartige Komödie, sehr lustig.
3|Nicht mein Fall, ziemlich langweilig.
4|Absolut großartig, aber nicht lustig.
;
run;

data mycas.rule_terms;
   infile datalines delimiter=',';
   input _RuleId_ $ _Term_ $ _And_; 
   datalines;
1,schlecht,0
1,langweilig,0
2,großartig,1
2,lustig,1
;
run;

Beispiele

Dieses Beispiel zeigt, wie die Aktion `brScore` verwendet wird, um eine Eingabedatentabelle (`reviews_bow`, die aus `tpParse` erstellt wurde) anhand eines Regelsatzes (`rule_terms`) zu bewerten. Die Ergebnisse werden in der Tabelle `review_matches` gespeichert.

SAS® / CAS-Code
Kopiert!
1PROC CAS;
2 textMining.tpParse /
3 documents={{name='reviews'}}
4 docId='docId'
5 text='text'
6 casOut={name='reviews_bow', replace=true}
7 termsOut={name='reviews_terms', replace=true};
8 boolRule.brScore /
9 TABLE={name='reviews_bow'}
10 ruleTerms={name='rule_terms'}
11 docId='_DOCUMENT_'
12 termId='_TERMNUM_'
13 casOut={name='review_matches', replace=true};
14RUN;
Ergebnis :
Die Ausgabetabelle 'review_matches' wird erstellt. Sie enthält die Dokument-IDs und für jede Regel eine Spalte (_Rule_1_, _Rule_2_), die anzeigt, ob das Dokument die Regel erfüllt (Wert 1) oder nicht (Wert 0). Dokument 1 und 3 erfüllen Regel 1. Dokument 2 erfüllt Regel 2.

Dieses Beispiel führt ein Scoring durch und gibt explizit die CAS-Bibliothek für die Ein- und Ausgabetabellen an. Zusätzlich wird die Option `useOldNames` auf 'true' gesetzt, um die Kompatibilität mit älteren Versionen der Aktion sicherzustellen, was zu unterschiedlichen Spaltennamen in der Ausgabe führt.

SAS® / CAS-Code
Kopiert!
1PROC CAS;
2 textMining.tpParse /
3 documents={{name='reviews', caslib='mycas'}}
4 docId='docId'
5 text='text'
6 casOut={name='reviews_bow', caslib='mycas', replace=true}
7 termsOut={name='reviews_terms', caslib='mycas', replace=true};
8 boolRule.brScore /
9 TABLE={name='reviews_bow', caslib='mycas'}
10 ruleTerms={name='rule_terms', caslib='mycas'}
11 docId='_DOCUMENT_'
12 termId='_TERMNUM_'
13 useOldNames=true
14 casOut={name='review_matches_legacy', caslib='mycas', replace=true};
15RUN;
Ergebnis :
Die Ausgabetabelle 'review_matches_legacy' wird in der 'mycas'-Bibliothek erstellt. Die Spaltennamen für die Regeln folgen dem älteren Benennungsschema (z. B. _Rule_1_ anstelle von _Rule_1). Die Ergebnisse des Matchings sind die gleichen wie im einfachen Beispiel.

FAQ

Was ist die `brScore`-Aktion?
Welche Eingabetabellen sind für die `brScore`-Aktion erforderlich?
Was ist die Hauptausgabe der `brScore`-Aktion?
Wie gebe ich die Variable an, die die Dokumenten-ID enthält?
Wie gebe ich die Variable an, die die Begriffs-ID enthält?
Kann ich die Anzahl der für die Verarbeitung verwendeten Threads steuern?
Was ist der Zweck der `brScore`-Aktion?
Welche Eingabetabellen sind für `brScore` erforderlich?
Wie gebe ich die Dokument-ID und die Begriffs-ID in den Eingabedaten an?
Kann die Leistung durch die Anpassung von Threads verbessert werden?
Was bewirkt der Parameter `useOldNames`?