Scénario de test & Cas d'usage
Génération de 500 000 avis clients synthétiques via une boucle Data Step pour tester la tenue en charge.
| 1 | |
| 2 | DATA casuser.large_reviews; |
| 3 | LENGTH review_text $300; |
| 4 | DO i=1 to 500000; |
| 5 | doc_id=i; |
| 6 | review_text = catx(' ', 'Le produit', put(i, z6.), 'est vraiment décevant au niveau de la batterie.'); |
| 7 | OUTPUT; |
| 8 | END; |
| 9 | |
| 10 | RUN; |
| 11 |
| 1 | |
| 2 | PROC CAS; |
| 3 | conditionalRandomFields.crfScore / TABLE={name='large_reviews', caslib='casuser'} model={ label={name='model_label', caslib='casuser'}, attr={name='model_attr', caslib='casuser'}, feature={name='model_feature', caslib='casuser'}, attrfeature={name='model_attrfeature', caslib='casuser'}, template={name='model_template', caslib='casuser'} } casOut={name='scored_reviews_bulk', caslib='casuser', replace=true} target='ner_tags'; |
| 4 | |
| 5 | RUN; |
| 6 | |
| 7 | QUIT; |
| 8 |
| 1 | |
| 2 | PROC CAS; |
| 3 | TABLE.recordCount / TABLE={name='scored_reviews_bulk', caslib='casuser'}; |
| 4 | |
| 5 | RUN; |
| 6 | |
| 7 | QUIT; |
| 8 |
Le scoring doit traiter les 500 000 lignes dans un temps raisonnable sans erreur mémoire. La table de sortie 'scored_reviews_bulk' doit contenir exactement le même nombre de documents que la table d'entrée.