Scénario de test & Cas d'usage
Regelbasiertes Scoring von Textdokumenten.
Entdecken Sie alle Aktionen von textRuleScoreErstellt eine Tabelle `schadensmeldungen` mit Beschreibungen von Versicherungsfällen.
| 1 | DATA mycas.schadensmeldungen; |
| 2 | LENGTH claim_id $10 beschreibung $1000; |
| 3 | INFILE DATALINES truncover dsd dlm='|'; |
| 4 | INPUT claim_id $ beschreibung $; |
| 5 | DATALINES; |
| 6 | C01|Einbrecher haben die Terrassentür aufgehebelt und Schmuck gestohlen. Der Diebstahl war professionell. |
| 7 | C02|Nach starkem Regen stand der Keller unter Wasser. Ein klarer Wasserschaden durch eine Überschwemmung. |
| 8 | C03|Mein Auto wurde gestohlen, während ich im Urlaub war. Es war ein Einbruch in die Garage. |
| 9 | C04|Das Wasserrohr in der Wand ist gebrochen und hat die ganze Küche überflutet. |
| 10 | ; |
| 11 | RUN; |
| 1 | DATA mycas.schaden_regeln_gewichtet; |
| 2 | LENGTH category $32 type $32 rule $1024; |
| 3 | INFILE DATALINES dsd dlm='|'; |
| 4 | INPUT category $ type $ rule $; |
| 5 | DATALINES; |
| 6 | Diebstahl|CONCEPT|OR(WEIGHT(2.5 "Einbruch"), WEIGHT(1.5 "gestohlen"), "Diebstahl") |
| 7 | Wasserschaden|CONCEPT|OR(WEIGHT(3.0 "Überschwemmung"), WEIGHT(2.0 "Rohrbruch"), "Wasser", "überflutet") |
| 8 | ; |
| 9 | RUN; |
| 1 | PROC CAS; |
| 2 | textRuleDevelop.compileCategory / |
| 3 | rules={name='schaden_regeln_gewichtet', caslib='mycas'} |
| 4 | casOut={name='schaden_modell_gewichtet', caslib='mycas', replace=true}; |
| 5 | RUN; |
| 6 | QUIT; |
| 1 | PROC CAS; |
| 2 | textRuleScore.applyCategory / |
| 3 | TABLE={name='schadensmeldungen', caslib='mycas'} |
| 4 | model={name='schaden_modell_gewichtet', caslib='mycas'} |
| 5 | docId='claim_id' |
| 6 | text='beschreibung' |
| 7 | scoringAlgorithm='WEIGHTED' |
| 8 | casOut={name='schaden_kategorisiert_gewichtet', caslib='mycas', replace=true} |
| 9 | matchOut={name='schaden_matches_detail', caslib='mycas', replace=true} |
| 10 | groupedMatchOut={name='schaden_matches_gruppiert', caslib='mycas', replace=true} |
| 11 | matchDelimiter=' // '; |
| 12 | RUN; |
| 13 | QUIT; |
Es werden drei Tabellen erstellt: 1. `schaden_kategorisiert_gewichtet` enthält die gewichteten Scores für jede Kategorie pro Dokument. 2. `schaden_matches_detail` listet jede einzelne Regelübereinstimmung in einer separaten Zeile auf. 3. `schaden_matches_gruppiert` fasst alle übereinstimmenden Begriffe pro Dokument und Kategorie zusammen, getrennt durch ' // '. Dies ermöglicht eine vollständige Nachvollziehbarkeit der Scoring-Ergebnisse.