ajout de commentaires

This commit is contained in:
François Pelletier 2015-11-01 12:06:26 -05:00
parent 9b03b4f66c
commit aefa3ffdba

View file

@ -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),