... | @@ -8,14 +8,23 @@ |
... | @@ -8,14 +8,23 @@ |
|
## Packages python natifs
|
|
## Packages python natifs
|
|
|
|
|
|
* `re` (Expressions régulières en Python) :
|
|
* `re` (Expressions régulières en Python) :
|
|
- Tokénisation des phrases
|
|
- Tokénisation
|
|
* Utilise une expression régulière **`re.findall`** pour extraire les mots du texte
|
|
|
|
- Filtrage des ponctuations, chiffres
|
|
- Filtrage des ponctuations, chiffres
|
|
- Normalisation du texte
|
|
- Normalisation du texte
|
|
* `json `(Conversion en JSON) Utilisé pour convertir les résultats en format JSON avant de les renvoyer à JavaScript
|
|
* `json `(Conversion en JSON) Utilisé pour convertir les résultats en format JSON avant de les renvoyer à JavaScript
|
|
|
|
|
|
## Fonctions TAL
|
|
## Fonctions TAL
|
|
|
|
|
|
|
|
* **Tokénisation des phrases**
|
|
|
|
* Expression régulière **`re.findall`** pour extraire les mots du texte
|
|
|
|
* Exclut les nombres et la ponctuation (`^[\d.,:!?;]+$`).
|
|
|
|
* Pour le français, on utilise l'expression régulière `tokgrm` pour gérer par exemple :
|
|
|
|
* Expressions multi-mots : "pomme de terre"
|
|
|
|
* mots avec apostrophes : "aujourd'hui"
|
|
|
|
* les abréviations courantes en français (etc., p.ex, M. ...)
|
|
|
|
* Exclure les nombres
|
|
|
|
|
|
|
|
|
|
* **Détection de la langue**
|
|
* **Détection de la langue**
|
|
|
|
|
|
**`simplemma.langdetect`** pour analyser le texte et attribuer une langue probable
|
|
**`simplemma.langdetect`** pour analyser le texte et attribuer une langue probable
|
... | @@ -34,18 +43,20 @@ |
... | @@ -34,18 +43,20 @@ |
|
|
|
|
|
`simplemma.lemmatize(token, lang=detected_lang)` pour appliquer la lemmatisation sur chaque mot extrait (`token`) en fonction de la langue détectée
|
|
`simplemma.lemmatize(token, lang=detected_lang)` pour appliquer la lemmatisation sur chaque mot extrait (`token`) en fonction de la langue détectée
|
|
|
|
|
|
>>>
|
|
> lemmatized_tokens = \[simplemma.lemmatize(token,lang=detected_lang) for token in tokens\]
|
|
lemmatized_tokens = \[simplemma.lemmatize(token,lang=detected_lang) for token in tokens\]
|
|
|
|
|
|
* **Calcul des fréquences :** stockage du nombre d'apparitions de chaque mot lemmatisé dans un dictionnaire
|
|
|
|
|
|
>>>
|
|
>>>
|
|
|
|
freq = {}
|
|
|
|
|
|
* **Calcul des fréquences :** stockage du nombre d'apparitions de chaque mot lemmatisé dans un dictionnaire
|
|
```
|
|
|
|
for token in lemmatized_tokens:
|
|
|
|
|
|
> freq = {}
|
|
freq\[token\] = freq.get(token, 0) + 1
|
|
>
|
|
```
|
|
> for token in lemmatized_tokens:
|
|
|
|
>
|
|
>>>
|
|
> freq\[token\] = freq.get(token, 0) + 1
|
|
|
|
* **Filtrage des mots avec une stoplist**
|
|
* **Filtrage des mots avec une stoplist**
|
|
|
|
|
|
> stoplistsByLang\[lang\] = set(words.lower().strip() for words in stoplists\[lang\])
|
|
> stoplistsByLang\[lang\] = set(words.lower().strip() for words in stoplists\[lang\])
|
... | | ... | |