Lda #44

Merged leog merged 22 commits into tdm:master from tdm:lda on 10 Oct
@leog leog commented on 25 Sep

Changed "lda.py" into a first version of a lda W.S.
Added doc in "REAME.MD"
Added requirements in "requirements.txt"

data-computer/README.md
159159
160...
160Créer pour l'ensemble des documents un champ "lda" d'un ensemble de 5 topics. Chaque topic contient un champ "word", qui est composé une liste de 10 mots qui sont les plus caractéristiques du topic, ainsi que d'un champ "weight" qui donne la probabilité que le document soit classé dans le topic.
161
@parmentf parmentf on 25 Sep

Préciser que ça marche mieux sur de l'anglais ou du français (d'après la liste de mots-vides qui est dans le programme).

@parmentf parmentf add the enhancement label on 26 Sep
@leog leog commented on 28 Sep

Modification : disponible à présent que pour du texte anglais. Utilise une liste de mot vides provenant https://countwordsfree.com/ . Une liste de mot vide est déjà disponible anticipant l'arrivée d'une route pour le français. Utilise un lemmatiseur.

Voici des pistes d'améliorations pour le service web :

  • vérifier les listes de mots-vides (851 éléments pour l'anglais ; 496 pour le français ) ;
  • revoir le paramètre "num_iterations" et le faire dépendre de la taille du corpus ? Par exemple min(...,max(...,f(size_corpus)) ? ;
  • changer éventuellement le nombre de topic par défauts / le nombre de mots caractérisant le topic par défaut ; voir pouvoir adapter le nb de topics et de mot par un paramètre dans l'URL. Par exemple /v1/lda/3/8 pour obtenir 3 topics de 8 mots ;
  • pouvoir retourner la liste des documents dans chaque topic.

Pour paramétrer le nombre de topic, il est possible de s'inspirer de teeft avec un paramètre nb=
après multiplier les paramètres c'est déporter le problème du choix de leurs *valeurs

@cuxac cuxac commented on 28 Sep

Je suis pas un fan des paramètres donnés à l'utilisateur , surtout quand il n'est pas spécialiste. Je suis plutot pour des méthodes d'ajustement automatique. Mais dans un premier temps le nb de topic peut bêtement être imposé, ou au plus être dépendant de la taille du corpus.

@cuxac cuxac commented on 28 Sep

juste une remarque:
Chaque topic contient un champ "word", qui est composé une liste de 10 mots qui sont les plus caractéristiques du topic, ainsi que d'un champ "weight" qui donne la probabilité que le document soit classé dans le topic.

Je ne suis pas du tout certain que "weight" soit cette proba !

@leog leog commented on 29 Sep

Tu as raison, dans la doc ce n'est pas précisé quelle proba c'est. C'est simplement écrit The topics are returned as a list [...] of (word, probability) 2-tuples.

@cuxac cuxac commented on 29 Sep

c'est la probabilité du mot dans le topic

@leog leog deleted the comment on 29 Sep
@leog leog commented on 29 Sep

Pourtant j'ai un poids par topic et pas par mot :

[...]
    for topic_id, topic_weight in topics:
[...]

J'essaie de voir avant le daily

@leog leog commented on 10 Oct

Fonctionne en VI, tags créés. à merge

@leog leog referenced the pull request on 10 Oct

Lda

@leog leog merged commit 774b7f1 into master from lda on 10 Oct
@leog leog closed this pull request on 10 Oct
Labels

Priority
default
Milestone
No milestone
Assignee
No one
4 participants
@leog @parmentf @thouveni @cuxac