Changeset 3060


Ignore:
Timestamp:
Jan 5, 2013, 1:53:12 PM (8 years ago)
Author:
teymour
Message:
  • Petit pb de regexp
  • fonction plus claires
  • un peu de doc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpc/trunk/project/lib/task/tagSeanceTask.class.php

    r3059 r3060  
    1212  }
    1313 
    14   protected function count($interventions, $excludeS = 0, $minsize = 1) {
     14  protected function wordize($interventions, $excludeS = 0, $minsize = 1) {
    1515    foreach($interventions as $i) {
    1616      $i = preg_replace('/\([^\)]+\)/', '', $i);
     
    6868    $exclude_sentences = array('vice-président' => 1, 'sceaux'=>1, 'commissaire' => 1, 'monsieur' => 1, 'madame'=>1, 'professeur' => 1, 'amendement' => 1, 'règlement' => 1, 'rectificative' => 1, 'rapporteur' => 1);
    6969
     70    //On exclue les mots les plus populaires (en plus des stopwords)
    7071    foreach(array_keys($words) as $k) {
    7172      if (!isset($include[$k]))
     
    7677    }
    7778    unset($words);
     79
     80    //Exclusion des noms des parlementaires
    7881    $q = Doctrine_Query::create();
    7982    $q->select('nom as intervention')->from('Parlementaire o');
    8083    $interventions = $q->fetchArray();
    81     $words = $this->count($interventions, 0, $minsize);
     84    $words = $this->wordize($interventions, 0, $minsize);
    8285    foreach(array_keys($words) as $k) {
    8386      $exclude[$k] = 1;
     
    8790    $qs = Doctrine::getTable('Seance')->createQuery()->select('id')->where('tagged IS NULL');
    8891
     92    //Pour chacune des séances
    8993    foreach($qs->fetchArray() as $s) {
    9094      echo "Seance ".$s['id']." ..";
     
    99103        continue;
    100104      }
    101       $words = $this->count($interventions, 1, $minsize);
     105      $words = $this->wordize($interventions, 1, $minsize);
    102106      $cpt = 0;
    103107      $tot = count($words);
    104108      $tags = array();
    105       //Pour les mots le plus populaires non exclus on les gardes
     109      //Pour les mots le plus populaires non exclus on les garde
    106110      foreach(array_keys($words) as $k) {
    107         if (!isset($exclude[$k]) && !preg_match('/-((il|elle)s|on|ci|le|[nv]ous)$/', $k)) {
     111        if (!isset($exclude[$k]) && !preg_match('/-((il|elle)s?|on|ci|le|[nv]ous)$/', $k)) {
    108112          $cpt++;
    109113          $pc = $words[$k]*100/$tot;
     
    116120      $sentences = null;
    117121      $sent2word = null;
    118       //On cherche des groupes de mots commums à partir des tags trouvés
     122      //On cherche des groupes de mots communs à partir des tags trouvés
    119123      foreach ($interventions as $inter) {
    120124        $i = null;
Note: See TracChangeset for help on using the changeset viewer.