Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
tc_info:2020_cm_textes [2023/11/30 00:02] – [5. Modèles génératifs] edauce | tc_info:2020_cm_textes [2025/04/23 10:59] (Version actuelle) – edauce | ||
---|---|---|---|
Ligne 41: | Ligne 41: | ||
<code java> | <code java> | ||
char x; | char x; | ||
- | x = 'a'; | + | x = 'x'; |
</ | </ | ||
* '' | * '' | ||
- | * '' | + | * '' |
* | * | ||
Ligne 54: | Ligne 54: | ||
* Codage latin-1 (caractères latins étendus) | * Codage latin-1 (caractères latins étendus) | ||
* etc... | * etc... | ||
+ | |||
+ | < | ||
+ | {{ : | ||
+ | </ | ||
Ligne 67: | Ligne 71: | ||
* | * | ||
* affiche la valeur '' | * affiche la valeur '' | ||
- | * La norme UTF-8 encode les caractères sur un nombre d' | ||
- | * Exemple : le smiley ''' | ||
- | <code java> | ||
- | String s = " | ||
- | int code = s.codePointAt(0); | ||
- | System.out.println(code); | ||
- | </ | ||
- | * On peut inversement afficher le caractère à partir de son code entier : | ||
- | <code java> | ||
- | int code1 = 233; | ||
- | int code2 = 119070; | ||
- | |||
- | char char1 = (char) code1; | ||
- | String char2 = new String(Character.toChars(code2)); | ||
- | |||
- | System.out.println(char1); | ||
- | System.out.println(char2); | ||
- | </ | ||
</ | </ | ||
+ | |||
+ | voir aussi : {{https:// | ||
=== 1.3 Codage des mots et du texte === | === 1.3 Codage des mots et du texte === | ||
Ligne 111: | Ligne 99: | ||
Le programme affiche les caractère 1 par 1, c’est une " | Le programme affiche les caractère 1 par 1, c’est une " | ||
+ | |||
+ | <note important> | ||
+ | * La norme UTF-8 encode les caractères sur un nombre d' | ||
+ | * Exemple : le smiley ''' | ||
+ | <code java> | ||
+ | String s = " | ||
+ | int code = s.codePointAt(0); | ||
+ | System.out.println(code); | ||
+ | </ | ||
+ | * On peut inversement afficher le caractère à partir de son code entier : | ||
+ | <code java> | ||
+ | int code1 = 233; | ||
+ | int code2 = 119070; | ||
+ | |||
+ | char char1 = (char) code1; | ||
+ | String char2 = new String(Character.toChars(code2)); | ||
+ | |||
+ | System.out.println(char1); | ||
+ | System.out.println(char2); | ||
+ | </ | ||
+ | </ | ||
**Donnée texte** | **Donnée texte** | ||
Ligne 116: | Ligne 125: | ||
Un texte, au même titre qu'un mot, est une chaîne de caractères (dont la longueur est définie par la longueur de | Un texte, au même titre qu'un mot, est une chaîne de caractères (dont la longueur est définie par la longueur de | ||
la séquence de caractères qui définissent le texte, ponctuations, | la séquence de caractères qui définissent le texte, ponctuations, | ||
- | <note tip> ** Les caractères séparateurs ** | + | |
Par définition les caractères séparateurs définissent la taille des espaces entre les mots, ainsi que les passages à la ligne lors de l' | Par définition les caractères séparateurs définissent la taille des espaces entre les mots, ainsi que les passages à la ligne lors de l' | ||
- | | + | |
- | * '' | + | <note tip> |
- | * ''" | + | * <code java>'' |
- | * ''" | + | * <code java>' ' |
- | * ''" | + | * <code java>' |
+ | * <code java>' | ||
+ | * <code java>' | ||
* etc. | * etc. | ||
</ | </ | ||
Ligne 134: | Ligne 145: | ||
* ainsi, dans le système décimal, la position du chiffre dans le nombre définit à quelle puissance de 10 il appartient (unité, dizaines, centaines, etc...) Le chiffre le plus à gauche a la puissance la plus élevée et celui le plus à droite la puissance la plus faible. | * ainsi, dans le système décimal, la position du chiffre dans le nombre définit à quelle puissance de 10 il appartient (unité, dizaines, centaines, etc...) Le chiffre le plus à gauche a la puissance la plus élevée et celui le plus à droite la puissance la plus faible. | ||
* Si on suppose, pour simplifier, que chaque caractère est codé par un entier entre 0 et 255 (soit le code ASCII " | * Si on suppose, pour simplifier, que chaque caractère est codé par un entier entre 0 et 255 (soit le code ASCII " | ||
- | * Un tel nombre s' | + | * Un tel nombre s' |
* Il existe une fonction '' | * Il existe une fonction '' | ||
* Exemple : | * Exemple : | ||
Ligne 686: | Ligne 697: | ||
{{: | {{: | ||
- | ===== 5. Modèles génératifs | + | ==== 5. Modèles génératifs |
Soit un document d : | Soit un document d : | ||
Ligne 820: | Ligne 831: | ||
* Exemple de pseudo-français (Utilisant une trace (mémoire) de 1 mot): | * Exemple de pseudo-français (Utilisant une trace (mémoire) de 1 mot): | ||
<note tip> | <note tip> | ||
- | j'ai vu parfois des yeux, remonter vers toi bien fatiguée! n'est pas un appel de la terre– je hume à coups mutins les voiles la blafarde lumière puisée au delà les vieux flacon débouché rien ne puis la pourriture les forêts ou bien que vénus par des choses dans les forts des senteurs confondues de ma chère, prêtre orgueilleux danse amoureusement l' | + | //j'ai vu parfois des yeux, remonter vers toi bien fatiguée! n'est pas un appel de la terre– je hume à coups mutins les voiles la blafarde lumière puisée au delà les vieux flacon débouché rien ne puis la pourriture les forêts ou bien que vénus par des choses dans les forts des senteurs confondues de ma chère, prêtre orgueilleux danse amoureusement l' |
</ | </ | ||
Ligne 839: | Ligne 850: | ||
</ | </ | ||
+ | **Word2Vec** est un algorithme d' | ||
+ | |||
+ | * L' | ||
+ | * Word2Vec utilise des modèles de **prédictions** pour apprendre des représentations vectorielles en analysant les contextes d' | ||
+ | |||
+ | Il existe deux architectures principales de Word2Vec : Skip-Gram et CBOW | ||
+ | |||
+ | === 1. Skip-Gram === | ||
+ | Dans l' | ||
+ | |||
+ | maxT∑t=1∑−c≤j≤c,j≠0logP(wt+j∣wt) | ||
+ | |||
+ | où T est la taille du corpus, wt est le mot central, wt+j est le mot contexte, et c est la taille de la fenêtre contextuelle. | ||
+ | |||
+ | === 2. CBOW (Continuous Bag of Words) === | ||
+ | Dans l' | ||
+ | |||
+ | maxT∑t=1logP(wt∣wt−c,…,wt−1,wt+1,…,wt+c) | ||
+ | |||
+ | où T est la taille du corpus, wt est le mot central, et wt−i sont les mots contextuels dans la fenêtre de contexte. | ||
+ | |||
+ | === Fonctionnement Général === | ||
+ | Le processus d' | ||
+ | |||
+ | Une fois l' | ||
+ | Word2Vec a été révolutionnaire en raison de sa capacité à apprendre des représentations de mots utiles à partir de grands volumes de texte non annoté, et ses embeddings sont souvent utilisés comme points de départ pour de nombreuses tâches de traitement du langage naturel (NLP) et d' | ||