textRuleScore applyCategory

Standardfall: Automatische Kategorisierung von Kundenfeedback

Scénario de test & Cas d'usage

Geschäftskontext

Ein Einzelhandelsunternehmen möchte Kundenrezensionen von seiner Website automatisch in die Kategorien 'Service', 'Produktqualität' und 'Lieferung' einteilen. Ziel ist es, das Feedback schnell an die zuständige Abteilung weiterzuleiten, um die Reaktionszeiten zu verbessern und die Kundenzufriedenheit zu erhöhen.
Über das Set : textRuleScore

Regelbasiertes Scoring von Textdokumenten.

Entdecken Sie alle Aktionen von textRuleScore
Datenaufbereitung

Erstellt eine Tabelle `kunden_reviews` mit Kundenrezensionen. Diese Tabelle enthält eine ID für jede Rezension und den dazugehörigen Text. Einige Texte sind absichtlich leer, um die Robustheit zu testen.

Kopiert!
1DATA mycas.kunden_reviews;
2 LENGTH review_id $10 review_text $500;
3 INFILE DATALINES truncover dsd dlm='|';
4 INPUT review_id $ review_text $;
5 DATALINES;
6KR001|Der Kundenservice war außergewöhnlich! Der Mitarbeiter war sehr hilfsbereit und freundlich.
7KR002|Ich bin von der Qualität des Produkts sehr enttäuscht. Es ist nach nur zwei Wochen kaputt gegangen.
8KR003|Die Lieferung war unglaublich schnell, viel früher als erwartet. Aber die Verpackung war beschädigt.
9KR004|Ein solides Produkt, aber der Preis ist zu hoch.
10KR005|
11KR006|Der Support am Telefon war leider gar nicht zu erreichen.
12;
13RUN;

Étapes de réalisation

1
Erstellung der Kategorieregeln in einer CAS-Tabelle. Diese Regeln definieren die Schlüsselwörter für jede Kategorie.
Kopiert!
1DATA mycas.kategorie_regeln;
2 LENGTH category $32 rule $1024;
3 INFILE DATALINES dsd dlm='|';
4 INPUT category $ rule $;
5 DATALINES;
6Service|MANDATORY(OR("Mitarbeiter", "Kundenservice", "Service", "Support", "hilfsbereit", "freundlich"))
7Produktqualität|MANDATORY(OR("Qualität", "kaputt", "defekt", "gebrochen", "enttäuscht"))
8Lieferung|MANDATORY(OR("Lieferung", "schnell", "Verpackung", "geliefert"))
9;
10RUN;
2
Kompilierung der Regeln in ein binäres Kategoriemodell (MCO-Tabelle) mit der Aktion `textRuleDevelop.compileCategory`.
Kopiert!
1PROC CAS;
2 textRuleDevelop.compileCategory /
3 rules={name='kategorie_regeln', caslib='mycas'}
4 casOut={name='kunden_feedback_modell', caslib='mycas', replace=true};
5RUN;
6QUIT;
3
Anwendung des Modells auf die Rezensionen mit der Aktion `applyCategory`. Verwendet den Standard-Scoring-Algorithmus 'FREQUENCY'.
Kopiert!
1PROC CAS;
2 textRuleScore.applyCategory /
3 TABLE={name='kunden_reviews', caslib='mycas'}
4 model={name='kunden_feedback_modell', caslib='mycas'}
5 docId='review_id'
6 text='review_text'
7 casOut={name='kunden_reviews_kategorisiert', caslib='mycas', replace=true};
8RUN;
9QUIT;

Erwartetes Ergebnis


Eine neue Tabelle `kunden_reviews_kategorisiert` wird erstellt. Jede Rezension mit passendem Inhalt wird einer oder mehreren Kategorien ('Service', 'Produktqualität', 'Lieferung') zugeordnet. Rezensionen ohne Text oder ohne passende Schlüsselwörter erhalten keine Kategorie.