ajout de commentaires
This commit is contained in:
parent
9b03b4f66c
commit
aefa3ffdba
1 changed files with 18 additions and 4 deletions
22
Analyse.Rmd
22
Analyse.Rmd
|
@ -22,12 +22,13 @@ library(topicmodels)
|
|||
|
||||
## Nom de l'organisme
|
||||
|
||||
On remarque, en calculant la fréquence des noms des organismes, que certains d'entre eux présentent des variations dans leur nom. Nous allons corriger ceci en utilisant un algorithme de similarité de la famille Latent Dirichlet Allocation.
|
||||
On remarque, en calculant la fréquence des noms des organismes, que certains d'entre eux présentent des variations dans leur nom. Nous allons corriger ceci en utilisant un algorithme de similarité de la famille Latent Dirichlet Allocation. Cet algorithme d'apprentissage non supervisé attribue un numéro de sujet à chaque texte du corpus. Il est généralement utilisé par les aggrégateurs de textes afin de créer des catégories. Par exemple, Google News utilise ce genre d'algorithmes pour regrouper les nouvelles similaires provenant de différents médias.
|
||||
|
||||
```{r}
|
||||
(freq_nom_organisme <- as.data.frame(table(rawdata2$nom_organisme)))
|
||||
colnames(freq_nom_organisme) <- c("nom_organisme","frequence")
|
||||
|
||||
|
||||
# Extraction des noms uniques d'organismes
|
||||
unique_nom_organisme <- unique(rawdata2$nom_organisme)
|
||||
|
||||
organisme_matrix <- create_matrix(as.vector(unique_nom_organisme),
|
||||
|
@ -36,15 +37,26 @@ organisme_matrix <- create_matrix(as.vector(unique_nom_organisme),
|
|||
stemWords = TRUE,
|
||||
weighting = weightTf)
|
||||
|
||||
|
||||
lda_organisme <- LDA(organisme_matrix, 154 , method = "VEM", control = list(alpha = 0.75))
|
||||
|
||||
```
|
||||
Regardons comment l'algorithme a attribué les différents sujets:
|
||||
```{r}
|
||||
nom_topic <- data.frame(nom_organisme = unique_nom_organisme,
|
||||
organisme = as.integer(topics(lda_organisme)))
|
||||
```
|
||||
|
||||
Joignons les sujets attribués à chacunes des entrées de notre table.
|
||||
```{r}
|
||||
nom_topic_merged <- merge(nom_topic,freq_nom_organisme,by = "nom_organisme")
|
||||
nom_topic_sorted <- nom_topic_merged[order(nom_topic_merged$organisme,-nom_topic_merged$frequence),]
|
||||
```
|
||||
On remarque que le sujet "Sécurité publique" est associé avec "Commission de la santé et de la sécurité du travail". On attribue donc un snouveau sujet a "Sécurité publique".
|
||||
```{r}
|
||||
nom_topic_sorted$organisme[nom_topic_sorted$nom_organisme=="Sécurité publique"] <- 53
|
||||
|
||||
```
|
||||
Nous conservons ici le nom de l'organisme le plus fréquent dans chaque sujet l'attribuons à chacunes des entrées de la table.
|
||||
```{r}
|
||||
nom_topic_unique <- ddply(nom_topic_sorted,
|
||||
.(organisme),
|
||||
summarize,
|
||||
|
@ -56,6 +68,8 @@ colnames(rawdata3)[which(names(rawdata3) == "nom_organisme.y")] <- "nom_organism
|
|||
|
||||
## Description du projet
|
||||
|
||||
Dans cette section, on essaie de regrouper les descriptions de projets similaires afin de ressortir les différents types de projets.
|
||||
|
||||
```{r}
|
||||
unique_description <- unique(rawdata2$description_du_projet)
|
||||
description_matrix <- create_matrix(as.vector(unique_description),
|
||||
|
|
Loading…
Reference in a new issue