nGramCountToLm
Description
L'action langModel.nGramCountToLm (https://documentation.sas.com/doc/fr/pgmsascdc/v_073/casactml/cas-langmodel-ngramcounttolm.htm) est le cerveau qui transforme des statistiques de comptage de mots en un modèleReprésentation mathématique entraînée sur des données pour capturer des tendances, prédire des résultats ou classifier des observations via des algorithmes (Régression, Forêt aléatoire, Gradient Boosting). de langage prêt pour la reconnaissance vocaleTechnologie SAS Viya transformant un signal audio en texte via des modèles de Deep Learning (RNN, CNN) pour l'analyse de conversations, le sous-titrage ou le contrôle par commandes vocales. (Speech-to-Text). Elle calcule les poids des nGrams à partir d'une table de fréquences. C'est l'étape où vos données brutes commencent enfin à 'parler'. Attention toutefois : cette action prépare doucement sa retraite, car elle est dépréciée (https://documentation.sas.com/doc/fr/pgmsascdc/v_073/casactml/cas-langmodel-ngramcounttolm.htm) depuis la version 2026.01. Profitez-en pendant qu'elle est encore là, c'est un peu la 'vieille école' de l'IA !
Paramètres Clés
| Nom du paramètre | Description |
|---|---|
| casOut | Spécifie la table de sortie (https://documentation.sas.com/doc/fr/pgmsascdc/v_073/casactml/cas-langmodel-ngramcounttolm.htm#SAS.cas-langmodel-ngramcounttolm-casout) qui contiendra les nGrams calculés et leurs poids de probabilité pour le modèle. |
| nGramTable | Indique la table d'entrée (https://documentation.sas.com/doc/fr/pgmsascdc/v_073/casactml/cas-langmodel-ngramcounttolm.htm#SAS.cas-langmodel-ngramcounttolm-ngramtable). Elle doit impérativement provenir d'une exécution préalable de l'action nGramCount. |
| minCount | Définit le nombre minimum d'apparitions (https://documentation.sas.com/doc/fr/pgmsascdc/v_073/casactml/cas-langmodel-ngramcounttolm.htm#SAS.cas-langmodel-ngramcounttolm-mincount) requis pour qu'un nGram soit conservé dans le modèle final. En dessous de ce seuil, c'est l'oubli immédiat. |
| unknownGroup | Définit une étiquette textuelle (https://documentation.sas.com/doc/fr/pgmsascdc/v_073/casactml/cas-langmodel-ngramcounttolm.htm#SAS.cas-langmodel-ngramcounttolm-unknowngroup) pour regrouper tous les nGrams qui n'ont pas passé le test du minCount. |
Préparation des données
Préparation des nGrams pour le modèle
Pour créer un modèle de langage, il nous faut d'abord des données textuelles et une table de comptage de nGrams.
| 1 | PROC CAS; LOADACTIONSET "langModel"; caslibinfo; TABLE.loadTable / path="sentences.sashdat" caslib="Public" casout={name="text_data", replace=true}; langModel.nGramCount / TABLE={name="text_data"} casOut={name="ngram_counts", replace=true} nGram=3; RUN; |
Exemples d'utilisation
Génération basique du modèle de langage
On transforme la table de comptage en un modèle avec les paramètres par défaut.
| 1 | PROC CAS; langModel.nGramCountToLm / nGramTable={name="ngram_counts"} casOut={name="my_lang_model", replace=true}; RUN; |
Résultat Attendu :
Modèle de langage filtré avec gestion des inconnus
Dans cet exemple, on ne garde que les séquences de mots qui apparaissent au moins 5 fois et on identifie le reste comme des termes inconnus.
| 1 | PROC CAS; langModel.nGramCountToLm / nGramTable={name="ngram_counts"} casOut={name="filtered_lm", replace=true} minCount=5 unknownGroup="<UNK>"; RUN; QUIT; |