langModel

nGramCountToLm

##set_langmodel

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 !

Syntaxe Officielle
langModel.nGramCountToLm /
casOut={caslib="string", name="table-name", replace=TRUE|FALSE},
nGramTable={caslib="string", name="table-name"},
minCount=64-bit-integer,
unknownGroup="string";

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.

1PROC 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.

1PROC CAS; langModel.nGramCountToLm / nGramTable={name="ngram_counts"} casOut={name="my_lang_model", replace=true}; RUN;
Résultat Attendu :
Une table CAS nommée 'my_lang_model' est créée, contenant les probabilités calculées pour chaque nGram.
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.

1PROC CAS; langModel.nGramCountToLm / nGramTable={name="ngram_counts"} casOut={name="filtered_lm", replace=true} minCount=5 unknownGroup="<UNK>"; RUN; QUIT;
Résultat Attendu :
Le modèle final est plus compact car il exclut les séquences rares, améliorant ainsi les performances du décodeur speech-to-text en se concentrant sur le langage fréquent.