Le module "L'essentiel de l'actu" est opérationnel. Ce module sélectionne, parmi les phrases du jours de fils rss d'actualités, les n plus représentatives. Ces phrases, assemblées, peuvent être considérées comme une certaine forme de résumé de l'actualité. En effet, du fait de la stratégie de sélection, ces phrases sont centrales et leur agglomération présente non pas une même information, la plus centrale, mais un maximum d'informations parmi les plus centrales, grâce à l'algorithme MMR (J. Goldstein et J. Carbonell, 1998) et la stratégie de score du "Centroïde" (Radev et al, 2004). Je décris ici l'algorithme de ce module.
Calcul du poids des mots
Tout d'abord, les flux rss sont analysés. Des pseudo-documents sont générés, qui contiennent l'actualité des 15 derniers jours par tranche de 24h. Le tf.idf (G. Salton, 1983) des mots contenus dans le pseudo-document le plus récent (celui des 24 dernières heures) est alors calculé. Cette mesure permet de scorer les mots selon leur fréquence d'apparition dans un document et l'inverse de leur probabilité d'apparition dans les autres documents. Un mot qui apparaît beaucoup dans un document donné mais peu dans les autres aura donc un poids fort dans ce document comparé à un mot qui apparaît beaucoup dans tous les documents ou encore à un mot qui apparaît peu dans ce document.
Calcul du résumé
Ici, j'ai choisi une technique simple au regard de LexRank, utilisée dans le démonstrateur de résumé automatique. En effet, la taille des fils rss peut vite devenir problématique pour un algorithme assez gourmand, qui nécessite de calculer les similarités entre chaque paire de phrases. Aujourd'hui par exemple, l'aggrégateur de fils rss recense 373 articles, soit environ 900 phrases, et donc un près 400.000 similarités à calculer. Si cela n'est pas effrayant en soi, surtout dans un environnement idéal (bon processeur, mémoire vive suffisante, et surtout programme compilé), une technique aussi gourmande ne convient pas à une application web avec un serveur dont les ressources sont limitées. J'ai donc choisi d'utiliser la technique du "Centroïde", bien moins gourmande, mais également moins efficace.
Génération d'un centroïde
Cette technique consiste à tout d'abord générer un centroïde. Le centroïde est un vecteur composé des mots les plus représentatifs des documents à résumer, et de leur poids. Ici, j'utilise comme poids le tf.idf, qui est également le moyen de sélection des mots. Dans l'idéal, il faudrait seuiller la sélection des mots selon leur tf.idf, c'est à dire ne sélectionner que les mots au-dessus d'un certain tfidf. Ce seuil est défini empiriquement, c'est-à-dire par l'expérience, en jugeant de la qualité des résumés produits en fonction du seuil. Cependant, à l'heure actuelle, cela fait moins d'une semaine que l'aggrégateur de flux fonctionne. Les valeurs seuils du tfidf valables aujourd'hui ne le seront sûrement plus demain. Par conséquent, en attendant que quinze jours aient passé, j'utilise un centroïde de taille fixe.
Scoring des phrases : centralité
Les phrases à résumer sont ensuite vectorisées, et une similarité est calculée entre chaque phrase et le centroïde. J'utilise ici la similarité cosinus, qui calcule le cosinus de l'angle entre deux vecteurs. Les phrases qui ont la similarité la plus élevée avec le centroïde sont donc les plus centrales vis-à-vis des documents à résumer. Cependant, ces phrases-ci ne peuvent pas constituer un résumé. En effet, leur sélection génèrerait un résumé extrêmement redondant. Il faut donc appliquer un "filtre" pour éviter la redondance.
Scoring des phrases : diversité
L'algorithme MMR permet de sélectionner des phrases en tenant compte à la fois de leur centralité, et de la diversité du résumé qu'elles génèrent. Le principe est simple : la première phrase sélectionnée est celle de score centroïde maximum. Par la suite, une phrase est sélectionnée à chaque étape, qui est de compromis maximum entre le score centroïde et la similarité avec la phrase la plus proche déjà sélectionnée.
Présentation des phrases
Une fois les phrases sélectionnées, celles-ci sont affichées. Pour les recontextualiser, mais également parce que c'est la loi, un survol d'une phrase affiche l'article dont elle est tirée, et la phrase est elle-même un lien vers cet article.