FR2952203A1 - Procede de generation d'un flux web et un systeme associe - Google Patents

Procede de generation d'un flux web et un systeme associe Download PDF

Info

Publication number
FR2952203A1
FR2952203A1 FR0957849A FR0957849A FR2952203A1 FR 2952203 A1 FR2952203 A1 FR 2952203A1 FR 0957849 A FR0957849 A FR 0957849A FR 0957849 A FR0957849 A FR 0957849A FR 2952203 A1 FR2952203 A1 FR 2952203A1
Authority
FR
France
Prior art keywords
similarity
entry
input
content
class
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0957849A
Other languages
English (en)
Other versions
FR2952203B1 (fr
Inventor
Youenn Fablet
Romain Bellessort
Herve Ruellan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to FR0957849A priority Critical patent/FR2952203B1/fr
Priority to US12/940,545 priority patent/US8751678B2/en
Publication of FR2952203A1 publication Critical patent/FR2952203A1/fr
Application granted granted Critical
Publication of FR2952203B1 publication Critical patent/FR2952203B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Abstract

La présente invention concerne un procédé de génération d'un flux web (10) composé d'entrées (12) correspondant à des éléments de contenu, et un système associé. Le procédé comprend les étapes consistant à : - déterminer (E110, E221, E300) au moins un paramètre d'activité (A) représentatif d'une fréquence d'obtention d'éléments de contenu à publier; - calculer (E620, E770) au moins une valeur de similarité (SI) entre un élément de contenu (IT) à publier dans le flux web (10) et au moins une entrée (E) dudit flux web; - sélectionner (E130, E640) une entrée (EP) dudit flux web à partir desdits au moins une valeur de similarité (SI) et un paramètre d'activité (A); - ajouter (E140) ledit élément de contenu à publier (IT) à ladite entrée sélectionnée.

Description

La présente invention concerne un procédé de génération d'un flux web et un système associé. Les flux web notamment de syndication, ou "Web Feecf' selon la terminologie anglo-saxonne, sont largement utilisés sur l'Internet notamment, pour informer des utilisateurs sur des contenus disponibles (résumé d'articles publiés sur le site web), pour les avertir de la mise à jour de contenus (photos, mise à jour de logiciels, etc.) sur un site web ou encore pour délivrer des informations structurées telle que la météo. Ces flux sont généralement publiés par le site web en question et accessibles par les utilisateurs s'étant abonné à ces flux, au travers notamment d'un agrégateur de flux web ou d'un lecteur de flux web. Les flux web prennent la forme d'un document, généralement basé sur le format XML ("eXtensible Markup Language"), définissant dans une première partie, un ensemble de propriétés relatives à ce flux (par exemple son nom, l'adresse à laquelle il peut être trouvé, ou la date de la dernière mise à jour), puis, dans une seconde partie, un ensemble d'entrées associées aux contenus. Chaque entrée du flux web décrit des éléments de contenu (ou "items") au moyen d'un identifiant unique au sein du flux web et d'informations relatives au contenu: par exemple, une date de publication, un titre, éventuellement un résumé et d'autres détails. Ainsi, chaque entrée représente un ou des éléments de contenu (article, photo,...) publiés sur un ou plusieurs serveurs web. Du fait que ces flux web sont écrits dans un format XML standard destiné à décrire la publication d'un contenu, les flux web peuvent facilement être traités par des applications, contrairement aux fichiers HTML ("HyperText Markup Language") que l'on visualise dans un navigateur web lorsque l'on consulte un site internet.
Des applications ont pu ainsi voir le jour, par exemple celle par laquelle un site Internet affiche automatiquement, sur ses propres pages, un résumé des contenus publiés sur un autre site web. Grâce au flux web, cette application est devenue aisée à mettre en place, puisqu'elle consiste, pour le premier site Internet, à simplement récupérer le flux web de l'autre site par un abonnement classique et ainsi obtenir un résumé des contenus de l'autre site. Egalement, la mise en place de lecteurs de flux ("Feed Reader" selon la terminologie anglo-saxonne) offre de multiples possibilités pour un utilisateur. Un lecteur de flux est un programme auquel l'utilisateur va indiquer certains flux web à surveiller. C'est ce que l'on appelle s'abonner à un flux web. Le lecteur se charge alors de récupérer périodiquement le flux web dans le but de déterminer si des mises à jour ont été effectuées. Le cas échéant, le lecteur de flux peut indiquer à l'utilisateur, par exemple au moyen d'un affichage spécifique, que de nouvelles données sont disponibles.
Le lecteur peut également afficher directement le flux web tel que périodiquement récupéré, offrant ainsi des applications de type météo, bourse, dernières nouvelles, etc. Un avantage notable du flux web est qu'en s'abonnant, l'utilisateur n'a plus besoin d'aller sur chaque site pour vérifier si des mises à jour ont été effectuées. En effet, il lui suffit de consulter son lecteur de flux, et si certaines mises à jour l'intéressent, il peut alors se rendre sur le site concerné afin d'obtenir plus de détails, éventuellement via un lien directement intégré dans les entrées du flux web. Les standards principaux de flux web sont connus sous les 25 terminologies RSS, pour "Really Simple Syndication" (Syndication Vraiment Simple) dans la version RSS 2.0, et Atom (RFC 4287 de l'IETF). La figure la montre un exemple de flux RSS, dans lequel une entrée <item> (correspondant à un élément de contenu) comprend un titre <title>, un lien <link> (adresse à laquelle la ressource peut être consultée), une 30 description <description>, une date de publication <pubDate> et un identifiant <guid>.
La figure lb montre un exemple de flux web selon le format concurrent Atom, dans lequel on observe la présence, au sein d'une entrée <entry>, d'un titre <title>, d'un lien <link>, d'un identifiant <id>, d'une date de mise à jour <updated> et d'un résumé <summary>. Le format Atom a été développé pour résoudre certains problèmes inhérents au format RSS, notamment concernant les données contenues dont le type peut être indiqué avec Atom, ou encore vis-à-vis de la gestion de contenu en plusieurs langues. Afin de garantir une consultation efficace des entrées des flux et de ne pas surcharger les utilisateurs avec un trop grand nombre d'informations, ces flux web contiennent généralement un nombre limité d'entrées. Par exemple, avec une limite de 20 entrées, le flux web en question contient les 20 derniers éléments de contenus publiés. Dans les mécanismes actuellement mis en oeuvre, la mise à jour des flux web consiste à ajouter de nouvelles entrées correspondant aux éléments de contenu à publier (ceux qui n'ont jamais été insérés dans le flux web) dès que ceux-ci sont disponibles. Cela pose un problème lorsque des éléments de contenus à publier arrivent en grand nombre, car les entrées correspondantes ne sont alors pas destinées à rester longtemps dans le flux web. La visibilité des éléments de contenu à publier pour les abonnés est alors sérieusement dégradée. Par exemple, si l'on a 100 éléments de contenu à publier, seuls les 20 derniers sont ajoutés au flux web avec les mécanismes classiques. De même, si l'on obtient successivement 100 contenus à publier, chaque nouveau contenu à publier étant obtenu après un court intervalle de temps (par exemple 1 minute), alors les 80 premières entrées correspondant aux 80 premiers contenus à publier ne seront que brièvement présentes dans le flux (si une nouvelle entrée est obtenue à chaque minute, alors les 80 premières entrées ne seront visibles que pendant 20 minutes). En conséquence, dans les deux cas, on peut estimer que 80 entrées ne bénéficient pas d'une visibilité suffisante. En effet, la période de consultation d'un flux web par un utilisateur est généralement supérieure à cette période de visibilité.
On connaît par ailleurs des mécanismes permettant de s'affranchir de cette barrière de 20 entrées pour diffuser des informations relatives à un plus grand nombre de contenus, notamment en groupant plusieurs éléments de contenu dans une seule entrée, ou bien plusieurs entrées dans une seule entrée. C'est le cas des agrégateurs de flux qui regroupent plusieurs flux web en un seul flux. De façon similaire, le site FeedStomper.com génère, à partir d'un flux web donné, un autre flux web contenant, pour chaque jour, l'ensemble des nouveaux contenus à publier du jour. Ces approches sont toutefois définies de façon statique et ne permettent pas de tenir compte de la dynamique de création de nouveaux contenus à publier pour s'y adapter notamment. La présente invention vise à pallier les inconvénients de l'art antérieur, en particulier pour favoriser la publication rapide et visible des contenus dans un flux web. A cet effet, l'invention concerne notamment un procédé de génération d'un flux web composé d'entrées correspondant à des éléments de contenu, le procédé comprenant les étapes consistant à : - déterminer au moins un paramètre d'activité représentatif d'une fréquence d'obtention de éléments de contenu à publier ; - calculer au moins une valeur de similarité entre un élément de contenu à publier dans le flux web et au moins une entrée dudit flux web ; - sélectionner une entrée dudit flux web à partir desdits au moins une valeur de similarité et un paramètre d'activité ; - ajouter ledit élément de contenu à publier à ladite entrée sélectionnée. On voit ainsi que, selon l'invention, des éléments de contenu peuvent être groupés dans une même entrée du flux web. Un nombre plus élevé d'éléments peut ainsi être inclus dans le flux sans pour autant nuire à sa lisibilité.
Selon l'invention, une similarité entre les contenus des entrées et de l'élément de contenu à publier est calculée pour identifier une entrée particulièrement pertinente au regard de l'homogénéité des contenus qu'elle comprendra in fine après groupement. Il en résulte une meilleure visibilité des contenus du flux pour l'abonné. Par ailleurs, l'invention permet d'adapter la stratégie de groupement en fonction de l'activité d'obtention de nouveaux éléments de contenu à publier afin, par exemple, de favoriser les groupements en période de forte activité et de permettre plus facilement la création de nouvelles entrées en période de faible activité. L'invention offre ainsi une publication immédiate de nouveaux contenus, tout en assurant que les contenus restent consultables et donc visibles dans le flux web malgré l'arrivée massive d'éléments de contenu à publier.
Selon une réalisation de l'invention, on peut prévoir que le procédé comprend l'identification d'une entrée à partir desdites valeurs de similarité, par exemple l'entrée ayant la plus grande similarité avec le nouvel élément, puis la détermination, en fonction de l'au moins un paramètre d'activité, de l'opportunité de grouper ledit élément à publier avec ladite entrée identifiée, pour par exemple effectuer le groupement en cas d'activité importante. Cette réalisation présente l'avantage d'être de complexité simple avec notamment l'application du paramètre d'activité uniquement à une seule entrée, celle identifiée. En variante, ladite sélection comprend la détermination de l'entrée ayant la plus grande valeur de similarité avec l'élément de contenu à publier, cette plus grande valeur de similarité étant supérieure à au moins un seuil de similarité lié au moins à cette entrée. Cette réalisation, plus complexe car nécessitant de confronter (éventuellement indirectement) chaque entrée au(x) paramètre(s) d'activité, présente l'avantage de cibler la sélection, pas nécessairement sur l'entrée dotée de la meilleure similarité, mais sur celle qui offre le meilleur compromis entre similarité et activité liée. Elle s'applique en particulier au cas où l'étape consistant à sélectionner comprend la comparaison de la valeur de similarité avec au moins un seuil de similarité fonction dudit paramètre d'activité. Dans un mode de réalisation de l'invention, on associe, à chaque entrée du flux web, un seuil propre de similarité, et ladite sélection comprend la comparaison d'au moins une dite valeur de similarité calculée pour une entrée avec ledit seuil propre associé à cette entrée. Cette disposition permet de tenir compte de l'homogénéité des contenus décrits par chaque entrée (correspondant au seuil propre) de sorte à ne pas ajouter un nouvel élément peu similaire à cette entrée lorsque les contenus déjà présents dans cette entrée ont une similarité élevée. Selon une caractéristique de l'invention, lesdits éléments de contenu sont organisés par classes et au moins une dite classe est associée à chaque entrée du flux web en fonction des éléments de contenu correspondant à cette entrée. En outre, on associe, à chaque classe, un seuil de similarité qui dépend d'un paramètre d'activité relatif à ladite classe, et ladite sélection d'une entrée est fonction des seuils de similarité de classe. A titre illustratif, une classe peut être une catégorie qualifiant un contenu (par exemple une photo/un article), une sous-catégorie d'une telle catégorie (par exemple, un éditorial/une brève/un dossier), ou tout autre attribut des éléments de contenu (par exemple l'adresse de la ressource correspondant à l'élément). En ajustant les seuils en fonction de l'activité de chaque classe de contenus, cette approche permet de contrôler le groupement de contenus de sorte à éviter de grouper un élément appartenant à des classes de faible activité avec une entrée ne contenant que des contenus appartenant à des classes de forte activité. On maintient ainsi une similarité suffisante entre les éléments d'une même entrée. En particulier, le seuil de similarité associé à une classe est mis à jour en fonction d'un rapport entre le paramètre d'activité relatif à ladite classe et un paramètre d'activité moyenne relatif à une activité moyenne de l'ensemble des classes. Cela permet notamment de plus ou moins favoriser le groupement dans certaines classes en fonction de leurs activités respectives. Notamment, en abaissant un seuil de similarité, on peut rendre les groupements au sein de cette classe plus fréquents, par exemple si des contenus de cette classe sont moins fréquemment obtenus. Selon une caractéristique particulière de l'invention, le procédé comprend le groupement d'entrées associées à une classe en une même entrée lorsque le seuil de similarité associé à cette classe diminue. En effet, puisque le seuil baisse, les éléments de contenu correspondant aux entrées à grouper peuvent être désormais suffisamment similaires eu égard au nouveau seuil. Généralement la baisse du seuil résulte d'une baisse de l'activité liée à la classe associée. Ainsi, puisque la proportion de nouveaux éléments de contenu à publier de cette classe tend à baisser, ils peuvent être groupés en un plus petit nombre d'entrées. Selon une autre caractéristique particulière, le procédé comprend la séparation d'une entrée associée à une classe en une pluralité d'entrées lorsque le seuil de similarité associé à cette classe augmente. Il s'agit ici de l'effet inverse qui permet de rendre des groupements plus fins, alors que l'activité d'une classe augmente. En particulier, on sépare les éléments de contenu correspondant à ladite entrée à séparer en un premier groupe d'éléments de contenu dont la valeur de similarité avec ladite entrée est supérieure ou égale au nouveau seuil de similarité, et un deuxième groupe d'éléments de contenu dont la valeur de similarité est inférieure au nouveau seuil de similarité. Cela permet de conserver une entrée fortement homogène. Différents traitements peuvent par ailleurs être réalisés sur le deuxième groupe d'éléments afin de former d'autres entrées ou de compléter d'autres entrées déjà existantes. Notamment, on sélectionne une autre entrée du flux web à partir de valeurs de similarité entre les entrées du flux web et un élément dudit deuxième groupe et à partir de seuils de similarité associés auxdites entrées du flux web. Ainsi, on tente de réintégrer les éléments de contenu du deuxième groupe dans les autres entrées existantes du flux selon toujours une approche de similitude. Selon une autre caractéristique particulière, le procédé comprend le regroupement, en une même entrée du flux web, de plusieurs entrées dont les paramètres d'activité associés sont les plus faibles. On considère ici les classes les moins actives comme formant une seule classe. Ainsi, on limite le nombre d'entrées du flux utilisées pour ces différentes classes, et on augmente donc le nombre d'entrées disponibles pour les classes les plus actives, de sorte à obtenir une meilleure visibilité des contenus. Dans un mode de réalisation, ledit au moins un seuil de similarité augmente lorsque une fréquence d'obtention des éléments de contenu à publier diminue. En effet, en l'absence d'activité, les entrées sont présentes dans le flux depuis plus longtemps, et donc leur suppression par l'insertion d'une nouvelle entrée n'est pas pénalisante au regard de la visibilité du contenu pour les abonnés. Il apparaît donc qu'une similarité plus forte peut être mise en oeuvre pour identifier une entrée et procéder à un éventuel groupement avec un nouvel élément de contenu à publier. Dans un mode de réalisation de l'invention, ladite au moins une valeur de similarité est calculée à partir d'au moins un attribut d'élément de contenu choisi parmi l'ensemble constitué d'un titre, d'une adresse web à laquelle l'élément de contenu est consultable, d'un mot clé, d'une catégorie de contenu, d'une information de provenance de l'élément de contenu. Notamment, le calcul d'une valeur de similarité avec une entrée comprend la comparaison d'au moins un attribut de l'élément de contenu à publier avec l'attribut correspondant de chacun des éléments de contenu correspondant à ladite entrée. On peut par exemple comptabiliser le nombre moyen de comparaisons positives. Cette mise en oeuvre reste relativement simple.
Selon une caractéristique particulière, les éléments de contenu sont organisés en catégories hiérarchisées, et ladite valeur de similarité avec une entrée correspond au nombre de niveaux hiérarchiques en commun entre l'élément de contenu à publier et au moins un élément de contenu correspondant à ladite entrée.
Dans un mode de réalisation de l'invention, ladite sélection d'une entrée est fonction d'une indication d'ancienneté des entrées dudit flux. Cette indication peut notamment être la durée écoulée depuis la publication du plus ancien élément décrit par l'entrée considérée. Ainsi, il devient aisé de mettre en place une stratégie interdisant le groupement sur des entrées "anciennes" aux fins d'éviter de grouper indéfiniment sur une entrée donnée. De façon symétrique, lorsque aucune entrée n'est sélectionnée, le procédé comprend l'ajout, dans le flux web, d'une nouvelle entrée correspondant audit élément de contenu à publier. Dans ce cas, cet ajout peut consister en la substitution de l'entrée la plus ancienne du flux web (généralement en fonction de la durée écoulée depuis la publication du plus récent élément décrit par l'entrée) par cette nouvelle entrée.
Corrélativement, l'invention concerne un dispositif de génération d'un flux web composé d'entrées correspondant à des éléments de contenu, le dispositif comprenant : - un moyen de détermination apte à déterminer au moins un paramètre d'activité représentatif d'une fréquence d'obtention d'éléments de contenu à publier ; - un moyen de calcul apte à calculer au moins une valeur de similarité entre un élément de contenu à publier dans le flux web et au moins une entrée dudit flux web ; - un moyen de sélection apte à sélectionner une entrée dudit flux web à partir desdits au moins une valeur de similarité et un paramètre d'activité ; - un moyen d'ajout apte à ajouter ledit élément de contenu à publier à ladite entrée sélectionnée. Le dispositif de génération de flux web présente des caractéristiques et avantages analogues au procédé de génération selon l'invention. De façon optionnelle, le dispositif peut comprendre des moyens se rapportant aux caractéristiques du procédé de génération exposé précédemment. Un moyen de stockage d'informations, éventuellement totalement ou partiellement amovible, lisible par un système informatique, comprend des instructions pour un programme informatique adapté à mettre en oeuvre le procédé de génération conforme à l'invention lorsque ce programme est chargé et exécuté par le système informatique. Un programme d'ordinateur lisible par un microprocesseur, comprend des portions de code logiciel adaptées à mettre en oeuvre le procédé de génération conforme à l'invention, lorsqu'il est chargé et exécuté par le microprocesseur. Les moyens de stockage d'information et programme d'ordinateur présentent des caractéristiques et avantages analogues aux procédés qu'ils mettent en oeuvre.
D'autres particularités et avantages de l'invention apparaîtront encore dans la description ci-après, illustrée par les dessins ci-joints, dans lesquels : - les figures la et lb représentent deux exemples de flux web respectivement selon le format RSS et selon le format Atom ; - la figure 2 illustre un exemple de mise en oeuvre de la présente invention ; - la figure 3 représente, sous forme d'ordinogramme, des étapes générales de génération d'un flux web selon l'invention ; - la figure 4 représente, sous forme d'ordinogramme, des étapes de mise à jour de paramètres liés à l'activité de réception de nouveaux éléments de contenu à ajouter au flux, mise en oeuvre lors de la génération de la figure 3 ; - la figure 5 représente, sous forme d'ordinogramme, des étapes de mise à jour de seuils de similarité, mise en oeuvre lors des traitements de la figure 4 ; - la figure 6 représente, sous forme d'ordinogramme, des étapes de groupement d'entrées, mis en oeuvre lors des traitements de la figure 4 ; - la figure 7 représente, sous forme d'ordinogramme, des étapes de séparation d'une entrée, mise en oeuvre lors des traitements de la figure 4 ; - la figure 8 représente, sous forme d'ordinogramme, des étapes de détermination de l'entrée la plus proche d'un élément de contenu à ajouter, mise en oeuvre lors de la génération de la figure 3 ; - la figure 9 représente, sous forme d'ordinogramme, des étapes de mesure d'une valeur de similarité entre un élément de contenu et une entrée, mise en oeuvre lors de la détermination de la figure 8 ; - la figure 10 représente, sous forme d'ordinogramme, des étapes d'insertion du nouvel élément de contenu au flux web, mise en oeuvre lors de la génération de la figure 3 ; - la figure 11 illustre l'utilisation de l'invention dans le cadre du format FeedSync de synchronisation de différentes versions d'un flux web ; et - la figure 12 montre une configuration matérielle particulière d'un dispositif de génération de flux web apte à une mise en oeuvre du procédé selon l'invention. En référence à la figure 2, on illustre tout d'abord l'invention par un exemple dans lequel un flux web 10 est limité à 25 entrées (représentation partielle) et ses entrées décrivent des articles de publication.
Pour le présent exemple, les articles sont organisés selon un système hiérarchique de catégories, défini par deux niveaux hiérarchiques : - soit l'article est une brève (premier niveau hiérarchique), chaque brève pouvant être relative à l'actualité française, à l'actualité internationale, ou à l'actualité sportive (trois sous-catégories ù deuxième niveau hiérarchique) ; - soit l'article est un dossier (premier niveau), chaque dossier étant lui aussi caractérisé par l'une des sous-catégories "actualité française", "internationale" ou "sportive". On définit alors une mesure de similarité entre deux articles, qui reflète la concordance hiérarchique entre ces deux articles, par exemple : - deux articles n'ayant pas la même catégorie principale (une brève et un dossier) ont une similarité de 0 ; - deux articles ayant la même catégorie principale (deux brèves ou deux dossiers) mais des sous-catégories différentes ont une similarité de 0,5 ; - deux articles ayant la même catégorie principale et la même sous- catégorie ont une similarité de 1. Initialement, on suppose que le flux web 10 généré par un serveur est vide. Les articles de chaque catégorie ne sont pas tous publiés à la même fréquence. Dans notre exemple, le deuxième niveau hiérarchique (au sein d'une catégorie, les sous-catégories) est équitablement réparti pour chaque catégorie ; en revanche, la répartition au sein du premier niveau hiérarchique est déséquilibrée: pour cinq articles, quatre sont des brèves, et un seul un dossier. Le serveur reçoit alors un premier article à publier, notamment une brève relative à l'actualité française. Puisqu'il n'existe aucune entrée dans le flux, il crée une nouvelle entrée 12, dans le flux web 10, pour décrire la brève (figure 2a).
Dans les entrées représentées sur la figure 2, certains détails des standards RSS ou Atom ont pu être omis aux fins de clarté des explications. Ensuite, le serveur reçoit une seconde brève, relative, cette fois-ci, à l'actualité internationale. On calcule alors une valeur de similarité entre ce nouvel élément de contenu à publier dans le flux web 10 et l'entrée déjà existante dudit flux web. Par comparaison avec la première brève reçue, la mesure de similarité déterminée vaut 0,5. On détermine également un paramètre d'activité (A) représentatif de la fréquence d'obtention des éléments de contenu à publier, ici relativement aux catégories. Ainsi, l'activité relative à la catégorie "Brève internationale" vaut 1 (un seul article de cette catégorie a été reçu pendant la période d'analyse), ce qui est égal à l'activité moyenne (deux articles reçus pour deux catégories). Par conséquent, l'activité de "Brève internationale" n'étant pas sensiblement plus faible que l'activité moyenne, il n'y a pas lieu de grouper la nouvelle brève avec la brève existante, leur similarité n'étant que de 0,5. On ajoute donc une nouvelle entrée décrivant cette brève. Par la suite, un troisième contenu, ici une brève sportive, est publié, puis un quatrième, ici un dossier international. De même que pour l'ajout de la deuxième brève, on a à chaque fois au moins une catégorie différente (mesure de similitude 0,5) et l'activité de chaque catégorie est égale à 1, valant d'ailleurs dans ce cas l'activité moyenne.
On créé donc de nouvelles entrées 12 pour chacun de ces nouveaux articles (figure 2b). Par la suite, de nouvelles brèves à publier sont reçues: il existe nécessairement une entrée pour laquelle la mesure de similarité vaut 1 puisqu'il 5 existe une entrée pour chaque sous-catégorie de brève. Toutefois, pour savoir si l'on groupe ou pas les différentes brèves de même sous-catégorie, le critère de l'activité intervient. En effet, on opère un groupement seulement si l'activité est suffisamment importante (sinon, l'utilisation basique du flux, avec une entrée 10 par article, permet de stocker les articles pendant une période jugée suffisamment longue). C'est-à-dire que si l'activité générale de réception est inférieure à une valeur seuil, on peut bloquer les groupements: par exemple en recevant 20 contenus à publier par jour, il n'est pas nécessaire de procéder à un groupement pour un flux web quotidien ayant 20 entrées. 15 Ici, on suppose que les différents articles sont soumis dans un intervalle de temps restreint (par exemple, en moyenne, un article toutes les 10 minutes constituant pour l'exemple une activité importante), de sorte que si l'on avait une entrée par article, le flux ne correspondrait qu'à une fraction de la journée en cours, ce que l'on estime insuffisant. 20 Par conséquent, si l'on reçoit une nouvelle brève internationale, elle est groupée avec la brève internationale existante (figure 2c). Pour cela, on sélectionne une entrée dudit flux web à partir des mesures de similarité (vaut 1 pour la "brève internationale") et du paramètre d'activité (vaut 1 pour chacune des entrées). 25 Le groupement, comme illustré sur la figure 2c, consiste à ajouter l'élément de contenu à publier à l'entrée sélectionnée, ici l'entrée existante de "brève internationale", notamment à décrire les deux articles dans une seule entrée. Il est particulièrement intéressant de choisir le dernier article ajouté 30 comme article principal du groupement (utilisation du titre, notamment, comme élément du titre de l'entrée), et la balise <content> dans le cas d'un flux Atom (<description> dans le cas d'un flux RSS) pour décrire les autres articles (déjà présents dans l'entrée 12 modifiée). Dans cet exemple, l'autre article est décrit en utilisant le format XHTML, qui permet notamment d'afficher le texte du titre ainsi qu'un lien vers l'article. De manière avantageuse, on inclut dans le titre le nombre d'autres articles groupés dans cette entrée. Sur la base du rythme et de la répartition évoqués ci-dessus (un article toutes les 10 minutes, quatre brèves pour un dossier), on ajoute donc les nouveaux articles reçus. Le calcul des paramètres d'activité des catégories montre alors rapidement que l'activité propre à chaque catégorie de dossier est nettement inférieure à l'activité moyenne. On procède dans ce cas à une diminution du seuil de similarité associé par lequel on autorise ou non le groupement dans une catégorie, par exemple en prenant désormais 0,5 comme seuil. En choisissant une telle valeur comme seuil de similarité pour grouper un nouvel article et une entrée existante, on décide que tous les articles de la catégorie "Dossier" seront groupés ensemble (indifféremment des sous-catégories). De cette manière, on distingue, dans le flux 10, quatre types d'entrées : un pour chaque sous-catégorie de brève, et un pour les trois sous- catégories de dossier. Bien entendu, si l'activité et la répartition des nouveaux articles arrivant changeaient, les seuils seraient modifiés pour s'adapter à cette nouvelle activité. Compte tenu de la répartition des articles, chaque entrée contient sensiblement le même nombre d'articles. A titre illustratif, la figure 2d montre uniquement une entrée pour plusieurs brèves internationales et une entrée pour plusieurs dossiers. On note ainsi que le paramètre d'activité permet d'ajuster les seuils de similarité utilisés lors de la sélection de l'entrée la "plus représentative" (ou "plus proche") du nouvel article à ajouter au flux web 10. Dans cet exemple, on peut par ailleurs ajouter une gestion des entrées les plus anciennes afin d'éviter de les modifier indéfiniment. On définit alors, pour chaque entrée 12, un âge maximal (l'âge d'une entrée pouvant notamment être défini comme la durée écoulée depuis la publication du plus ancien élément décrit par cette entrée), par exemple 6h, au-delà duquel on empêche les groupements. On s'assure ainsi que l'on ne groupe pas indéfiniment tous les articles d'une catégorie dans une entrée donnée. Sans cet "âge maximal", un risque serait que l'on ajoute les nouveaux articles dans les quatre entrées créées sans jamais créer de nouvelles entrées ni en supprimer. Or ce comportement n'est pas efficace au regard de la finalité des flux web, pour lesquels il est principalement recherché de représenter uniquement les articles publiés dans un passé récent (par exemple les dernières 24h ou 48h). Au vu de cet exemple (figure 2d par exemple), malgré un nombre fixé d'entrées 12 dans le flux web 10, l'invention permet de répondre à une fréquence élevée de réception de nouveaux contenus en décrivant davantage de contenus qu'un flux classique, tout en les groupant par similarité et en ajustant la manière de grouper à l'activité de différentes catégories. Pour l'utilisateur, cette approche se matérialise par davantage de chances de voir apparaître chaque contenu dans le flux, et par une visibilité meilleure pour distinguer les contenus qui l'intéressent de ceux qui ne l'intéressent pas.
Cet exemple permet de préciser, maintenant, quelques notions mises en oeuvre par la présente invention. On a pu définir des catégories d'articles: brève/dossier, actualité française/international/sport. Pour la suite de la description, on parlera de "classes" pour définir des catégories basées sur de tels critères (si les éléments sont des articles, on peut avoir des éditoriaux, des brèves, des dossiers..., soit autant de catégories différentes), ou sur tout autre attribut ou propriété des éléments de contenu (par exemple à partir de l'adresse de la ressource correspondant à l'élément; photo ou article). Ces classes définissent ainsi les catégories ou propriétés qui interviennent dans l'analyse de la similarité (via des seuils) et sur la base desquelles les groupements d'éléments de contenu sont opérés comme décrit par la suite.
Les classes peuvent être organisées de façon hiérarchique, comme montré précédemment pour les catégories. Par ailleurs, un élément de contenu peut appartenir à différentes classes. Le seuil de similarité de cet élément, tel que décrit par la suite, est alors le maximum des seuils des classes auxquelles l'élément appartient (de cette manière, une entrée vérifiant le seuil de similarité pour l'élément considéré vérifiera tous les seuils des classes associées à l'élément). Dans le cas le plus simple, on considère une unique classe, et donc une unique activité et un unique seuil de similarité pour l'ensemble des éléments de contenu. Cependant, s'il existe plusieurs classes d'éléments, on distingue une activité par classe, ainsi qu'un seuil de similarité par classe. Ainsi, en comparant l'activité d'une classe avec l'activité des autres classes, on peut déterminer si le seuil doit être modifié. L'activité est, quant à elle, une mesure représentative de la quantité 15 de nouveaux éléments de contenu à publier qui arrivent, notamment par classes telles que définies ci-dessus. Dans un schéma de réalisation simple, on peut la voir comme étant une mesure du nombre d'éléments de contenu ajoutés au flux pendant une certaine période T, il s'agit donc d'une fréquence (ou taux) d'obtention 20 d'éléments de contenu à publier. Si l'on prend une période de 24h, alors l'activité est le nombre d'éléments de contenu ajoutés au flux durant les dernières 24h. Ainsi, à chaque fois que l'on obtient un nouvel élément à publier, on peut calculer l'activité sur la période d'analyse T en calculant le nombre d'éléments reçus entre l'instant présent (t) et l'instant tûT. 25 De manière basique, on a donc une activité décrivant l'ensemble du flux, mais il est aussi possible, si l'on définit des classes d'éléments, d'avoir une activité propre à chaque classe. Dans ce cas, cette activité mesure le nombre d'éléments de la classe reçus entre l'instant présent (t) et l'instant tûT. Le choix de la période T permet d'ajuster la réactivité à l'arrivée des 30 éléments de contenu à publier. En effet, le flux web 10 généré par l'invention peut varier de manière sensible suivant le choix de la période T. Ainsi, pour une période courte (par exemple 1 h), l'algorithme est relativement réactif puisqu'il ne prend en compte que des données relativement récentes: on a donc plus de chances d'observer des variations d'activité, lesquelles modifient la manière dont les éléments sont groupés. A l'inverse, avec une période longue (par exemple 24h), l'algorithme est moins réactif, ce qui permet d'avoir moins de variations dans la mesure de l'activité. Par exemple, pour un flux pour lequel, entre 9h et 19h, il y aurait dix nouveaux éléments à publier arrivant par heure, mais aucun le reste du temps, alors, avec une période T d'une heure, on passerait d'une activité de 10 à 19h à une activité nulle à partir de 20h. En revanche, avec une période de 24h, l'activité varierait moins. Dans un schéma moins minimaliste, la mesure de l'activité est plus complexe. Par exemple, une mesure complémentaire peut être effectuée sur une fraction de la période T pour prendre en compte à la fois une activité récente et une activité à plus long terme. Dans ce cas, on peut alors calculer une activité moyenne à partir de ces deux activités, éventuellement en les pondérant pour accorder plus d'importance à l'une ou à l'autre. En particulier, on peut utiliser l'activité récente comme un indicateur de l'activité à venir, et donc par exemple la compter pour trois quart dans la mesure de l'activité, contre un quart pour l'activité à plus long terme (qui introduit une degré de fiabilité). Une autre possibilité est d'utiliser des statistiques pour obtenir des valeurs d'activité plus pertinentes : ainsi des statistiques permettront de prendre en compte et d'anticiper une baisse d'activité à certaines périodes (par exemple la nuit ou le week-end). On a pu également voir, dans notre exemple de la figure 2, qu'une mesure de la similarité est réalisée entre un élément de contenu à publier (une brève par exemple) et une entrée 12 du flux web 10. Dans les illustrations qui vont suivre, la mesure de similarité est réalisée sur des propriétés des éléments de contenu. Par exemple, si les éléments possèdent une propriété "mots clés" contenant une liste de mots clés caractérisant cet élément, alors la mesure de similarité peut être effectuée par comparaison de ces mots clés. Entre deux éléments, la mesure de la similarité se fait par comparaison des propriétés entrant en compte dans la mesure. Typiquement, si pour chaque propriété considérée, les deux éléments ont la même valeur, alors la similarité vaut "1". A l'opposé, si les deux éléments n'ont aucune valeur commune parmi ces propriétés, la similarité vaut "0". Enfin, dans les autres cas, la similarité est comprise entre ces deux valeurs (par exemple 0,4 pour caractériser le cas où deux éléments ont 40% de mots clés en commun et qu'on utilise uniquement les mots clés pour mesurer la similarité). On peut ainsi définir la similarité entre un élément de contenu et une entrée 12 du flux web 10, comme étant la moyenne des similarités entre cet élément et chacun des éléments décrits par cette entrée 12. En d'autres termes, pour qu'un élément ait une similarité de "1" avec une entrée 12, il faut que cet élément ait exactement les mêmes valeurs pour toutes les propriétés intervenant dans les mesures de la similarité que celles de chacun des éléments décrits par l'entrée. A l'opposé, pour avoir une similarité de "0", il faut que l'élément ait une similarité de 0 avec chacun des éléments décrits par l'entrée.
Dans les autres situations intermédiaires, la mesure de similarité sera comprise entre 0 et 1. A titre illustratif, on indique maintenant quelques exemples de mesures de similarité. Dans le cas où les éléments considérés possèdent des mots clés et où cette propriété est utilisée pour mesurer la similarité, la similarité d'un élément et d'une entrée 12 est nulle si un élément à ajouter et les éléments décrits dans une entrée ne partagent aucun mot clé. En revanche, si l'élément à ajouter possède exactement les mêmes mots clés que ceux apparaissant dans chaque élément de l'entrée, alors la similarité vaut 1. Sinon, l'élément a une similarité fonction du nombre de mots clés communs entre l'élément à ajouter et les éléments de l'entrée.
Selon un autre exemple, dans le cas où les éléments sont organisés selon des catégories hiérarchiques, deux éléments dont la catégorie de plus haut niveau est différente ont une similarité nulle. En revanche, plus l'on a de catégories communes en descendant dans la hiérarchie, plus la similarité est élevée. Au final, si l'élément et ceux de l'entrée appartiennent à la même catégorie jusqu'au plus bas niveau, alors la similarité vaut 1. Un cas particulier de catégories est l'utilisation de descriptions sémantiques des éléments. Ces descriptions peuvent être réalisées à l'aide de la syntaxe RDF et publiées à l'aide de POWDER ("Protocol for Web Description Resources", Protocole des ressources de description du Web). Enfin, selon un troisième exemple, on compare les adresses de la ressource correspondant aux éléments. En effet, l'adresse de la ressource correspondant à un élément de contenu peut aussi fournir des indications sur sa nature, et donc être pertinente comme élément d'évaluation de la similarité.
A titre illustratif, en ayant comme adresse d'une photo http://www.exemple.org/photo/123.jpg, et comme adresse d'un article http://www.exemple.org/article/l, le préfixe http://www.exemple.org/photo/ permet d'identifier une photo, tandis que dans le second le préfixe http://www.exemple.org/article/ permet d'identifier un article. On peut donc établir une mesure de similitude restituant la similarité des adresses de ressource en partant du début de celles-ci. Lors de la sélection de l'entrée servant au groupement avec l'élément de contenu à publier, on fait intervenir un seuil de similarité auquel on compare les mesures de similarité ainsi effectuées. Pour la mise en oeuvre de l'invention, ce seuil de similarité est fonction de l'activité (éventuellement selon une approche par classe). Selon une approche simple de l'invention, si la similarité entre un nouvel élément à publier et une entrée est inférieure à ce seuil, alors l'élément et l'entrée ne pourront pas être décrits dans une même entrée. En revanche, si la similarité est supérieure à ce seuil, alors l'élément et l'entrée, jugés "suffisamment" similaires, pourront être décrits dans une même entrée. C'est d'ailleurs l'ajustement de ces seuils qui permet de s'adapter à la variation de la fréquence d'obtention de nouveaux contenus à publier. De manière plus évoluée, on distingue un seuil de similarité propre aux classes d'éléments et éventuellement un seuil de similarité propre à chaque entrée. Le fait d'avoir un seuil par classe d'éléments permet d'imposer, pour une classe ayant une activité donnée, de ne pas ajouter un élément de cette classe à une entrée dont les éléments sont insuffisamment similaires à l'élément à ajouter.
Réciproquement, le fait de considérer un seuil propre à chaque entrée permet d'empêcher l'ajout d'un élément faiblement similaire à une entrée dans le cas où les éléments de cette entrée sont très similaires entre eux. A titre d'exemple, si l'on considère un élément appartenant à une classe dont l'activité est très faible, le seuil de similarité exigé pour cette classe sera lui aussi faible. Il se peut donc que, du point de vue de l'élément, l'entrée la plus proche soit une entrée faiblement similaire. Toutefois, si les éléments contenus dans cette entrée sont très similaires entre eux, du point de vue de l'entrée, il n'est pas intéressant d'inclure ce nouvel élément faiblement similaire, car cela revient à réduire la cohérence des éléments contenus. Par conséquent, dans ce cas, la distinction de deux types de seuil de similarité permet de considérer, comme proches, un élément et une entrée uniquement si la similarité est suffisante aussi bien du point de vue de l'élément que de l'entrée. On décrit maintenant, en référence aux figures 3 à 10, une réalisation de différents traitements pour la génération d'un flux web 10 selon l'invention. La figure 3 décrit l'ajout d'un ensemble d'éléments El au flux web 10 d'entrées 12. Cet ajout débute à l'étape E100 par l'obtention de l'ensemble El des éléments de contenu à publier qui sont disponibles et par l'obtention du flux 10.
A l'étape E110, on procède à la mise à jour des paramètres liés à l'activité (A), c'est-à-dire de paramètres décrivant l'activité du flux, mais aussi de paramètres qui dépendent de l'activité, en particulier les seuils de similarité utilisés lors de la détermination et de la sélection de l'entrée la "plus proche" d'un élément à ajouter. Cette étape est décrite plus en détail en référence à la figure 4. A l'étape E120, on teste s'il reste un élément de contenu IT de l'ensemble El qui est non traité. Dans l'affirmative, on détermine l'entrée EP la "plus proche" de l'élément IT, à l'étape E130. Cette dernière est décrite ci-après en référence à la figure 8. Dans l'exemple présenté ci-dessus, on a pu noter que la détermination de l'entrée EP dépend d'un paramètre d'activité (A) du flux (lui-même faisant varier les seuils de similarité), cette activité pouvant être générale (activité de l'ensemble du flux) ou bien propre à une classe d'éléments (activité de la classe). En particulier, une même entrée peut, pour deux valeurs différentes de l'activité considérée, être, dans un cas, l'entrée la plus proche (meilleure valeur de similarité), et dans l'autre, ne pas l'être du fait que sa similarité avec l'élément IT n'atteint pas le seuil de similarité correspondant. Le traitement se poursuit à l'étape E140 où l'élément IT est inséré dans le flux web 10, en fonction notamment de l'entrée EP déterminée précédemment.
Cette insertion se fait soit par création d'une nouvelle entrée décrivant l'élément de contenu IT, ou bien par le groupement de cet élément IT avec l'entrée EP déterminée (ce groupement pouvant faire intervenir la création d'une nouvelle entrée remplaçant EP, ou la modification directe de l'entrée EP pour y insérer les informations de l'élément IT). Ces différents cas sont décrits par la suite en référence à la figure 10, qui détaille l'étape E140. A l'issue de l'étape E140, on retourne à l'étape E120 pour traiter un élément de contenu suivant. Quand il n'en reste plus à traiter, le traitement prend fin (étape E190). Le suivi de l'activité relative à la réception de nouveaux éléments de contenu à publier et la mise à jour de paramètres liés est maintenant décrit en référence à la figure 4. Il s'agit notamment de l'étape E110 précédemment évoquée.
Cette mise à jour a pour objectif principal d'adapter les seuils de similarité auxquels on compare les mesures de similarité afin d'identifier l'entrée du flux web "la plus proche" de l'élément à ajouter. Selon l'invention, cette adaptation tient compte de l'activité de réception de nouveaux éléments de contenu à publier car on souhaite pouvoir ajuster l'insertion de ces éléments dans le flux web en fonction de cette activité. Par ailleurs, l'ajustement de ces seuils peut conduire certaines entrées du flux web à ne plus les satisfaire, auquel cas un traitement sur ces entrées est réalisé: groupement ou séparation d'entrées.
En détail, le traitement correspondant commence à l'étape E200 par l'obtention de l'ensemble El d'éléments de contenu à publier. A l'étape E210, on évalue s'il reste un élément IT non traité dans l'ensemble El. Dans l'affirmative, on obtient les classes associées à l'élément IT lors de l'étape E220, puis on calcule leur activité respective (A), lors de l'étape E221. On a donné précédemment quelques exemples de mesures d'activité (par exemple, nombre d'éléments de la classe considérée reçus pendant une période d'analyse T = fréquence ou taux d'obtention des contenus à publier). On met alors à jour le seuil propre de chacune de ces classes lors de l'étape E222, dont une description plus détaillée est fournie ci-après en référence à la figure 5. A noter que, dans le cas où l'on considère une seule classe d'éléments, il n'est pas nécessaire d'obtenir les classes de l'élément IT puisque l'on considère alors une seule activité et un seul seuil de similarité.
A l'issue de l'étape E222, on retourne à l'étape E210 pour traiter un élément de contenu suivant. Quand il ne reste plus d'élément non traité (négative du test E210), on obtient l'ensemble des classes d'éléments à l'étape E230. Puis à l'étape E240, on teste s'il reste une classe non traitée.
Dans l'affirmative, on détermine à l'étape E250 si le seuil de similarité propre à cette classe a diminué. Si c'est le cas, on identifie les entrées existantes du flux web 10 auxquelles est associée cette classe, et on procède au groupement de ces entrées de la classe lors de l'étape E270. Ce groupement est illustré ci-après en référence à la figure 6. Après ce groupement, on retourne à l'étape E240 pour traiter une classe suivante. En revanche, si le seuil de similarité propre n'a pas diminué, on détermine, à l'étape E260, si ce seuil a augmenté. Si tel est le cas, on identifie les entrées existantes du flux web 10 auxquelles est associée cette classe, et on sépare tout ou partie de ces entrées de la classe lors de l'étape E280, décrite ci-après en référence à la figure 7. Après cette séparation, on retourne à l'étape E240 pour traiter une classe suivante.
Enfin, si le seuil de similarité propre est resté constant (sortie non de l'étape E260), on retourne directement à l'étape E240. Lorsqu'il ne reste plus de classe non traitée (négative de l'étape E240), le traitement prend fin (étape E290). Dans une variante, le traitement de la figure 4 prend fin suite à la négative de l'étape E210. En effet, les opérations de groupement d'entrées existantes ou de séparation des éléments d'une entrée existante impliquent de modifier des entrées existantes sans ajouter de nouvel élément de contenu à publier. Or cela peut troubler l'utilisateur habituel qui, par exemple, voyant des anciens (déjà vus) éléments répartis dans deux entrées, peut se demander si des nouveaux contenus ont été ajoutés, ou bien si certains contenus qu'il a déjà consultés ont été mis à jour, alors que ce n'est pas le cas. La présentation des données peut donc s'avérer peu intelligible pour l'utilisateur. Comme un lecteur de flux propose un affichage spécial de toute entrée modifiée (c'est-à-dire généralement décrivant un nouvel élément), on veillera à mettre en oeuvre les étapes E230-E280 dans le cas où l'on connaît précisément le lecteur de flux qui est utilisé (dans ce cas, il est possible de vérifier le résultat produit au niveau de l'interface lors des opérations de groupement ou de séparation).
En référence maintenant à la figure 5, la mise à jour E222 du seuil de similarité propre à chaque classe débute à l'étape E300 par l'obtention de l'ensemble desdites classes. Ensuite, à l'étape E310, on détermine s'il reste une classe C non traitée. Dans l'affirmative, on calcule à l'étape E320 le rapport R entre l'activité de la classe considérée et l'activité moyenne pour les différentes classes (notamment la fréquence d'obtention des contenus à publier déterminée sur la période T).
Si ce rapport R est supérieur à 1, cela signifie que la classe en question est caractérisée par une activité plus élevée que la moyenne, et inversement si le rapport est inférieur à 1, une activité plus faible que la moyenne. A l'étape E330, on détermine alors un seuil de similarité S associé au rapport R. Dans une réalisation, on peut disposer d'une table de correspondances qui associe, à plusieurs plages de valeurs du rapport R, une valeur de seuil de similarité S. A titre d'exemple, si la valeur de R est élevée (par exemple supérieure à 0,95), on peut choisir un seuil de similarité S associé égal à 1 afin de grouper uniquement des éléments très semblables, puisqu'il y a beaucoup d'éléments reçus pour cette classe (le seuil est donc conservé élevé). En revanche, si le rapport R est plus faible (par exemple entre 0,7 et 0,95), le seuil S associé est défini plus faible (par exemple 0,75).
A titre illustratif, si l'on considère que la similarité est évaluée à partir d'une propriété de catégorie de l'élément à ajouter, et que les catégories sont hiérarchiques, selon trois niveaux, on peut définir les plages R et les seuils associés S suivants : R S R 0,95 1 0,50 R < 0,95 0,67 0 <_ R < 0,50 0,33 Dans cet exemple, puisque l'on a trois niveaux de hiérarchie, on peut considérer que chaque niveau en commun vaut pour 1/3 dans la similarité. Ainsi, deux éléments de contenu partageant uniquement le premier niveau de catégorie ont une similarité de 0,33, tandis que deux éléments partageant les deux premiers niveaux de catégorie ont une similarité de 0,67. Enfin, deux éléments partageant les trois niveaux de catégorie ont une similarité de 1. Les seuils associés à R correspondent alors à ces différents cas (1, 2 ou 3 niveaux de catégorie communs), et diminuer le seuil revient à exiger un niveau de moins pour pouvoir grouper un élément avec une entrée. De manière plus générale, si l'on a N niveaux de classes hiérarchisées, on peut prendre une répartition de la forme suivante, dans le cas où l'on découpe l'intervalle [P_MIN ; P_MAX[ en N ù 2 intervalles de longueur L = (P_MAX ù P_MIN)/(N ù 2), avec P_MAX et P_MIN (< P_MAX) deux valeurs limites du rapport R, fixées par exemple à P_MAX = 0,95 et P_MIN = 0,50 dans l'exemple précédent : R S RP MAX 1 P MIN+k*LR< (k+2)/N P_MIN + (k+1)*L k entier e [0; N-3] 0R<P MIN 1/N Dans le cas où il n'existe que deux catégories, on se contente de fixer P MIN et P MAX.
Une fois le seuil S déterminé pour le paramètre d'activité courant R, on adopte cette valeur comme nouveau seuil pour la classe, et l'on retourne à l'étape E310 pour vérifier s'il reste une classe C non traitée. Lorsque toutes les classes ont été traitées (négative de l'étape E310), on détermine s'il reste une entrée E non traitée à l'étape E340. Dans l'affirmative, on obtient l'ensemble des classes liées à E (étape E350), puis l'on détermine la valeur maximale S parmi les seuils de similarité de ces classes (étape E360) ; en effet, les valeurs de ces seuils ont pu évoluer à l'étape E330, et l'on souhaite prendre en compte ces éventuelles évolutions. Si la valeur S est inférieure au seuil de similarité associé à l'entrée E courante (évalué à l'étape E370), alors on adopte cette valeur S comme nouveau seuil de l'entrée E ; en effet, de la sorte, on est certain que tous les éléments de cette entrée E respectent la valeur du seuil. En revanche, si ce n'est pas le cas (négative de l'étape E370), le traitement se poursuit à l'étape E340, où l'on détermine s'il reste une entrée E non traitée. Quand toutes les entrées ont été traitées (négative de l'étape E340), le traitement prend fin à l'étape E390. Dans le cas où l'on considère une seule classe d'éléments, au lieu de calculer un rapport R, on se base sur la valeur de l'activité pendant la période T pour déterminer un seuil de similarité associé S. En variante, dans le cas où aucun seuil de similarité associé à une entrée n'est pris en compte mais que les traitements tiennent compte simplement d'un seuil propre par classe, on adopte la valeur S associée au rapport R comme nouvelle valeur du seuil de la classe uniquement si le seuil courant de la classe est supérieur au seuil déterminé S (on diminue donc la valeur du seuil de classe). De la sorte, on est certain que tous les éléments ont une similarité supérieure à S. Dans ce cas, afin de pouvoir augmenter la valeur du seuil de similarité de chaque classe, on peut décider, lorsqu'une nouvelle entrée est créée (notamment lors de l'étape E850 décrite ci-après en lien avec la figure 10), de calculer la valeur du rapport R sur la base des entrées du flux 10, d'en déduire le seuil S, et de prendre cette valeur de seuil S comme seuil de similarité de la classe. En effet, pour une nouvelle entrée, le problème de préserver la cohérence des données (tous les éléments correspondants de l'entrée doivent vérifier le seuil de similarité de l'entrée) ne se pose pas puisqu'il n'existe, à ce stade, qu'un seul élément dans l'entrée. On observe que ces différents traitements de mise à jour des seuils propres aux classes permettent principalement de réduire le seuil de similarité des entrées considérées. Cette limitation permet d'assurer une forme de cohérence des données au sein de chaque entrée. En effet, si l'on considère que l'on a un seuil donné pour une entrée, on peut souhaiter que tous les éléments de cette entrée respectent ce seuil de similarité de l'entrée. Si l'on diminue le seuil, alors tout élément déjà présent dans l'entrée a nécessairement une similarité supérieure ou égale au seuil de similarité des futurs éléments ajoutés à l'entrée. En revanche, en augmentant le seuil de similarité, il se pourrait que l'on ajoute un élément à une entrée alors que le seuil de similarité est faible.
Ainsi, ultérieurement, alors que ce seuil augmente, l'élément en question ne vérifierait plus le seuil de similarité courant. C'est pourquoi, dans un mode dégradé de l'invention (si l'on ne se soucie pas de cette forme de cohérence des données), on peut augmenter le seuil de similarité d'une entrée 12, par exemple en prenant le nouveau seuil déterminé S même s'il n'est pas inférieur au seuil courant de l'entrée E (on supprime le test E370). Dans le cas où un seuil est augmenté, on prévoit de séparer et répartir les éléments d'une entrée en plusieurs entrées, de façon similaire à l'étape E280 et comme décrit par la suite en référence à la figure 7. Comme évoqué précédemment en lien avec la figure 2, une fois les seuils mis à jour, un groupement E270 ou une séparation E280 des entrées de la classe courante peut être mené. La figure 6 illustre un tel groupement, alors que la figure 7 illustre une séparation. Le groupement des entrées comprend tout d'abord la détermination des entrées à grouper avec une entrée E donnée (figure 6a) puis le groupement de chaque entrée ainsi déterminée avec l'entrée E (figure 6b). La détermination des entrées à grouper avec une entrée E débute par l'obtention d'une telle entrée E lors de l'étape E400. A l'étape E410, on évalue s'il reste, dans le flux web 10, une entrée, notée E', non traitée.
Dans l'affirmative, on calcule la similarité entre E et E' à l'étape E420 par exemple à l'aide des critères tels qu'évoqués par la suite plus en détail. La similarité entre deux entrées est par exemple déterminée en calculant la similarité de chaque élément correspondant à chaque entrée avec l'autre entrée, puis en faisant la moyenne pour obtenir la similarité des deux entrées.
Une fois cette similarité entre deux entrées E et E' obtenue, on détermine, à l'étape E430, si les entrées E et E' ont une similarité suffisante par rapport aux seuils de similarité respectifs de E et E'.
Dans l'affirmative, cela signifie que E et E' sont suffisamment similaires pour être groupés, aussi bien du point de vue de E que du point de vue de E', et l'on procède alors au groupement lors de l'étape E440 (voir figure 6b).
D'autres variantes peuvent être utilisées pour calculer la similarité entre deux entrées, à partir des similarités entre les éléments correspondants de ces entrées : on peut prendre le minimum, le maximum, ou une moyenne pondérée de ces similarités. Le groupement effectif de deux entrées (figure 6b) débute à l'étape E460 par l'obtention de deux entrées El et E2 à grouper. On détermine, à l'étape E461, les NI éléments décrits par El et E2. A l'étape E462, on choisit une entrée principale E entre El et E2, typiquement l'entrée contenant le plus d'éléments. Ensuite, en fonction de la valeur de NI, on sélectionne les détails à représenter dans l'entrée E pour chacun des NI éléments (étape E463). Cette étape est similaire à l'étape E830 décrite ci-après en lien avec la figure 10. On peut alors réécrire l'entrée E avec le niveau de détail adéquat en incluant les éléments des deux entrées El et E2 (étape E464), puis supprimer l'entrée non principale (étape E465), suite à quoi le traitement prend fin (étape E490). Pour sa part, le traitement de séparation des éléments correspondant à une entrée 12 débute par l'obtention d'une entrée E à l'étape E500 (figure 7). Il se poursuit à l'étape E510 par la détermination de deux ensembles : un premier ensemble, noté ILS, regroupant les éléments de contenu de l'entrée E respectant la nouvelle valeur du seuil de similarité d'une classe associée à l'entrée E ou de l'entrée E elle-même, et un deuxième ensemble, noté IL NS, contenant les autres éléments de l'entrée. Pour réaliser cette étape E510, on calcule la similarité de chacun des éléments correspondants à l'entrée E avec l'entrée E elle-même : si cette similarité est supérieure à la valeur du seuil de similarité (généralement nouvellement obtenue), l'élément est ajouté à l'ensemble IT_S, sinon, il est ajouté à l'ensemble IT NS. Ensuite, à l'étape E520, on supprime les éléments appartenant à IT_NS de l'entrée E. En effet, puisque la valeur du seuil pour l'entrée a été augmentée, ces éléments ne vérifient plus la condition de similarité. L'entrée E ne conserve ainsi que les éléments de IT_S. On procède ensuite au traitement des éléments supprimés, pour notamment les insérer dans d'autres entrées ou créer de nouvelles entrées le cas échéant. Ainsi, on détermine s'il reste un élément appartenant à IT NS non traité (étape E530). S'il reste un tel élément de contenu non traité (affirmative de l'étape E540), on détermine s'il existe une entrée la "plus proche" non nulle (étape E540 dont une description est fournie ci-après en lien avec la figure 8). Si tel est le cas, on groupe l'élément considéré avec cette entrée (étape E550), sinon, on l'ajoute à une liste d'éléments non groupés (étape E560). Suite aux étapes E550 et E560, on retourne à l'étape E530. Quand il ne reste plus d'élément appartenant à IT NS à traiter, on détermine s'il existe des éléments non groupés dans la liste du même nom (étape E570). Si tel est le cas, on crée une nouvelle entrée décrivant les éléments non groupés (étape E580). Dans la négative de l'étape E570 ou à la suite de l'étape E580, le traitement prend fin (étape E590). Suite à ces groupement et séparation, la mise à jour E110 des paramètres liés à l'activité de réception de nouveaux éléments de contenu à publier prend fin. Un traitement ultérieur concerne la détermination E130 de l'entrée EP la plus proche de l'élément à publier IT. Cette détermination peut également être mise en oeuvre à d'autres moments, par exemple à l'étape E540. Ce traitement est maintenant décrit en lien avec la figure 8.
Il débute à l'étape E600 par l'obtention de l'ensemble des entrées du flux web 10 et par l'initialisation à 0 d'une variable, noté Slmax, représentant la plus grande similarité rencontrée.
A l'étape E610, on détermine s'il reste une entrée E non traitée. Dans l'affirmative, on mesure la similarité SI de l'élément à publier IT avec l'entrée E (étape E620) comme décrit maintenant en référence à la figure 9.
Cette mesure commence à l'étape E700 par l'obtention des critères intervenant dans la mesure de la similarité et par l'initialisation à 0 d'une variable, notée SI (résultat au final de l'étape E620), représentant la similarité de l'élément IT avec l'entrée E étudiés. Des exemples de critères (mots clés, catégorie, etc.) ont été cités précédemment.
A l'étape E710, on détermine l'âge AE de l'entrée E. Une définition possible pour l'âge d'une entrée consiste à dire que cet âge est égal à la durée écoulée depuis la création du plus ancien élément décrit par l'entrée. A l'étape E720, on détermine si l'âge de l'entrée est inférieur ou égal à un âge maximal accepté pour une entrée. En effet, il peut être pertinent de définir un âge maximal afin de ne pas décrire au sein d'une même entrée des éléments ayant été créés à des instants trop éloignés. La valeur de cet âge maximal peut dépendre de la période T d'évaluation de l'activité. Notamment, on peut prendre par exemple un âge maximal valant T/2 ou T/3. Si l'on considère par exemple que T vaut 24 heures, on pourra prendre un âge maximal de 8 ou 12h par exemple, ceci afin d'assurer un fractionnement minimal de la journée (si l'on prenait T=24h, on créerait rarement de nouvelles entrées, et chaque entrée contiendrait davantage d'éléments). Ainsi, le choix de l'âge maximal dépend de la façon dont on veut regrouper les entrées. Un âge maximal plus important (c'est-à-dire proche de T) favorise le regroupement d'entrées sur une période de temps importante. Au contraire, un âge maximal peu important (c'est-à-dire proche de 0) favorise le regroupement d'entrées sur des périodes de temps courtes et donc la suppression efficace des entrées décrivant des éléments "anciens" après un temps de disponibilité dans le flux web 10. En effet, si l'on prend un âge maximal peu important, on favorise la création de nouvelles entrées puisque l'intervalle de temps durant lequel un élément pourra être ajouté à une entrée existante est de courte durée. Pour prendre un exemple, si l'on ajoute un élément de contenu toutes les minutes et que l'on a 25 entrées dans un flux, le flux (sans l'invention) décrit une période de 25 minutes.
Avec l'invention, si l'on suppose que l'on distingue 5 catégories d'éléments et que l'on fixe l'âge maximal à 10 minutes, on peut estimer que l'on a en moyenne 2 éléments par entrée (ajout de 10 éléments en 10 minutes, pour 5 catégories). Et, comme le flux contient 25 entrées, on a donc 5 entrées pour chaque catégorie, soit 50 éléments décrits, pour une période de 50 minutes.
Avec une période de 1h, on passe à 12 éléments par entrée et à une période de 5h décrite dans le flux. On choisit donc la valeur de l'âge maximal en fonction du comportement souhaité, de sorte à exclure, de tout calcul de similarité, les entrées trop "anciennes".
De retour au traitement, dans l'affirmative de l'étape E720 (entrée ayant un âge inférieur à l'âge maximal autorisé), on procède au calcul concret de la mesure de similarité en déterminant tout d'abord, à l'étape E730, s'il reste un élément ITE correspondant à cette entrée E non traité. Dans l'affirmative, on initialise la similarité entre l'élément de contenu à publier IT et l'élément courant ITE de cette entrée E, notée SI(ITE), à 0 (étape E740). On teste alors, à l'étape E750, s'il reste un critère C non traité parmi les critères intervenant dans la mesure de la similarité. Si c'est le cas, on ajoute à la valeur SI(ITE) la similarité constatée pour le critère C entre l'élément IT et l'élément ITE de l'entrée E (étape E760). Comme évoqué précédemment, cette similarité constatée peut consister en une simple comparaison entre deux propriétés correspondantes des deux éléments. Toutefois, lorsque l'on définit les critères intervenant dans la mesure, on peut également définir leur part relative de sorte qu'au maximum, la somme des critères vaille 1. Comme décrit précédemment, si l'on utilise un critère basé sur des catégories hiérarchiques à N niveaux, on peut attribuer une importance de 1/N pour chaque niveau, et commencer par comparer le premier niveau, puis continuer tant que les catégories sont identiques. Selon un autre exemple, on peut mesurer la similarité des mots clés associés en calculant le rapport égal au nombre de mots clés communs à IT et à ITE, divisé par le nombre de mots clés distincts associés à IT ou ITE. Enfin, selon un dernier exemple, on peut considérer un critère basé sur les adresses des ressources correspondant aux éléments (qui vaudra par exemple pour 0,7 au maximum), et un critère basé sur la similarité des titres (qui lui vaudra pour 0,3).
Une fois la mesure de similarité SI(ITE) mise à jour à l'issue de l'étape E760, on retourne à l'étape E750 pour traiter le critère suivant pour les deux éléments IT et ITE courant. Quand il ne reste plus de critère C non traité, on retourne à l'étape E730, pour traiter un élément ITE suivant de l'entrée E courante.
Lorsque tous les éléments ITE ont été traités (négative de l'étape E730), on affecte la moyenne des mesures de similarité SI(ITE) à la mesure de similarité SI entre l'élément IT et l'entrée E (étape E770). Si l'âge de l'entrée est supérieur à l'âge maximal (négative de l'étape E720) ou suite à l'affectation de la valeur SI (étape E770), le traitement prend fin (étape E790). De retour à la figure 8, une fois la mesure de similarité SI entre l'élément IT et l'entrée E calculée, on évalue, à l'étape E630, si la similarité SI obtenue est supérieure à la valeur Slmax, au seuil de similarité pour l'entrée E, et au seuil de similarité pour l'élément IT (c'est-à-dire au seuil maximal parmi les seuils propres des classes auxquelles appartient cet élément IT). En effet, si le seuil SI calculé n'est pas supérieur à Slmax, alors cela signifie qu'une autre entrée est davantage similaire à l'élément IT. De plus, si le seuil SI calculé n'est pas supérieur au seuil de similarité de l'entrée, alors on ne peut pas ajouter l'élément IT à l'entrée E car il n'est pas suffisamment similaire aux éléments décrits par cette entrée. Enfin, si le seuil SI calculé n'est pas supérieur au seuil de similarité des classes auxquelles il appartient, alors cela signifie que pour l'une de ces classes, l'activité est suffisamment grande pour que l'on exige une similarité plus élevée. Dans l'affirmative de l'étape E630, on met à jour (étape E640) la valeur Slmax avec SI et on mémorise l'entrée courante E comme étant l'entrée la plus proche EP. Puis, on retourne à l'étape E610 pour traiter l'entrée E suivante. Dans la négative de l'étape E630, on retourne directement à l'étape E610. Lorsqu'il ne reste plus d'entrée E non traitée (négative de l'étape E610), le traitement prend fin (étape E690). En variante, si l'on ne considère pas de seuil propre à chaque entrée, on se contente de vérifier que SI est supérieur à Slmax ainsi qu'au seuil de l'élément (seuil maximal des seuils propres aux classes associées). Une réalisation plus simple de ce traitement peut consister à sélectionner la meilleure entrée à l'aide de l'étape E620 appliquée à chacune des entrées E, puis à appliquer le test E630 sur cette unique entrée sélectionnée pour retourner une entrée EP la plus proche. Dans ce cas, si le test E630 est négatif, aucune entrée EP n'est alors retournée. On voit ici que les traitements sont simplifiés, du fait notamment que l'étape E630 n'est appliquée qu'une seule fois. On décrit maintenant, en référence à la figure 10, l'insertion finale de l'élément de contenu IT au flux web 10. Cette insertion débute à l'étape E800 par l'obtention de l'élément IT et de l'entrée la plus proche EP obtenue précédemment.
Si l'entrée EP est non nulle (testé à l'étape E810), on détermine à l'étape E820 le nombre NI d'éléments décrits par cette entrée EP. Puis, on sélectionne, à l'étape E830, les détails à représenter en fonction de la valeur de NI. Cette sélection des détails se justifie par le besoin de ne pas produire un flux web 10 d'une taille trop importante, au vu de sa finalité. On adapte donc le niveau de détails au nombre d'éléments à représenter.
De manière générale, il est avantageux de supprimer les propriétés volumineuses (un résumé, une image...). Concernant les propriétés peu volumineuses (titre, catégorie, date de création, mots clés associés,...), il peut être intéressant d'en conserver un maximum car elles sont susceptibles de rendre la lecture du flux plus aisée à un utilisateur. A titre d'exemple, on peut, dans le cas où NI est inférieur à une première valeur (par exemple à 3), préserver la plupart des détails de chaque élément, notamment son titre, l'adresse à laquelle la ressource correspondante est consultable, la catégorie de cet élément ou les mots clés associés s'il existe de telles propriétés, ou encore un résumé. En revanche, s'il existe au moins trois éléments déjà décrits par l'entrée, on peut opter pour un moindre niveau de détails, en supprimant par exemple le résumé. Si l'on souhaite produire un flux vraiment compact, on peut éventuellement se limiter à ne conserver que le titre et l'adresse de la ressource correspondante. Une fois les détails à représenter sélectionnés, on crée, à l'étape E840, une nouvelle entrée décrivant le nouvel élément IT à publier et les NI éléments de EP. Pour cela, on peut notamment choisir, comme titre de l'entrée, le titre de l'élément IT que l'on complète par le nombre d'éléments décrits dans l'entrée. Par exemple, si on considère que les éléments sont des articles, que le titre de l'élément IT est "Nouveau titre", et que l'entrée EP décrit déjà 5 éléments, on peut avoir un titre de la forme "Nouveau titre [+5 autres articles]". On peut aussi avantageusement ajouter une information temporelle à ce titre (par exemple la date d'ajout de l'élément le plus récent), voire des informations de catégorie ou de mots clés associés. En effet, toutes ces informations sont susceptibles d'améliorer la lisibilité du flux, et donc d'aider les utilisateurs à identifier les contenus qui les intéressent. En particulier, dans le cas où tous les éléments décrits par une entrée ont des propriétés communes (par exemple l'appartenance à une même catégorie, ou bien un mot clé commun), on peut ajouter cette information dans le titre de la nouvelle entrée. Toutes ces informations peuvent notamment être incluses dans un élément <content> (cas d'un flux Atom) ou <description> (cas d'un flux RSS). La création de la nouvelle entrée réalisée à l'étape E840 s'accompagne de la suppression de l'entrée EP, suite à quoi le traitement prend fin (étape E890). Il s'agit en particulier d'une substitution de l'entrée EP par la nouvelle entrée créée. Si l'entrée EP obtenue est nulle (négative de l'étape E810), cela signifie que l'élément IT ne peut être ajouté à une entrée déjà existante. On crée alors une nouvelle entrée décrivant cet élément IT lors de l'étape E850.
Cette création est analogue à la création classique d'une entrée à partir d'un élément de contenu. On utilise par exemple le titre de l'élément comme titre de l'entrée. Cette nouvelle entrée est alors insérée soit dans une entrée disponible, soit à la place d'une entrée déjà existante, par exemple la plus ancienne si elle a été publiée pendant au moins une période T de consultation.
Par ailleurs, dans le cas où l'on prévoit un seuil de similarité propre à chaque entrée, le seuil de cette nouvelle entrée est égal au seuil de l'élément IT, c'est-à-dire le maximum des seuils des classes auxquelles appartient cet élément IT. Suite à cette étape, le traitement prend fin (étape E890).
Bien que l'on ait prévu ci-dessus, que lorsque l'entrée EP est non nulle, on crée une nouvelle entrée décrivant à la fois l'élément IT et l'entrée EP, cet élément IT peut toutefois être ajouté directement dans l'entrée EP lors de l'étape E840, sans création d'une nouvelle entrée prenant la place de l'entrée EP dans le flux 10. En effet, puisque l'entrée EP existe, il peut sembler plus logique de simplement ajouter l'élément IT à cette entrée. Cependant, cette solution peut présenter un inconvénient dans la manière dont le flux est présenté à l'utilisateur. Suivant le lecteur de flux utilisé, le traitement des entrées mises à jour peut varier : dans certains cas, de telles entrées sont détectées et affichées d'une manière spécifique, ce qui permet à l'utilisateur de voir qu'un nouvel élément a été ajouté; dans d'autres cas, la mise à jour de ces entrées n'est pas détectée, et l'utilisateur ne voit donc pas (à moins qu'il se souvienne que le titre précédent était différent) que l'entrée a été mise à jour. Par conséquent, dans le cas général, on préfère créer une nouvelle entrée (avec un nouvel identifiant propre) car les lecteurs de flux proposent, quasiment tous, un affichage spécifique pour les nouvelles entrées, ce qui garantit aux utilisateurs d'identifier aisément les nouveaux contenus.
Dans une autre variante, si l'entrée sélectionnée comme étant la plus proche EP est une entrée vide (ou non utilisée), au lieu de la créer selon l'art antérieur, on peut la créer comme décrit par les étapes E820, E830 et E840. Ainsi, même si l'entrée EP ne contient qu'un seul élément, son format sera similaire à celui d'une entrée contenant plusieurs éléments, améliorant la lisibilité du flux. On présente maintenant un exemple d'application de la régulation selon l'invention, et notamment son utilisation dans le cadre des extensions FeedSync prévues pour les formats RSS et Atom. Les extensions FeedSync permettent la synchronisation de différentes versions d'un flux représentant les mêmes informations. Ainsi, si l'on utilise un flux Atom pour décrire une collection de photos, il se peut que l'on télécharge le flux sur son ordinateur portable ou son téléphone. Une fois ce flux téléchargé, certaines applications permettent, depuis un terminal donné, de visualiser la collection de photos sans être connecté à Internet, ainsi que de modifier la collection par l'ajout ou la suppression de photos par exemple. Dans ce cas, l'application va modifier le flux en local, et FeedSync propose une manière de décrire les modifications réalisées afin de permettre une éventuelle synchronisation ultérieure avec le flux web sur le serveur source.
Dans le même temps, il se peut que le flux présent sur le serveur soit lui aussi modifié, les modifications étant elles aussi décrites avec la syntaxe FeedSync, de telle manière qu'il est possible de synchroniser la version du flux présente sur le terminal de l'utilisateur et la version présente sur le serveur. En revanche, si l'on a modifié la version locale et la version sur le serveur sans utiliser un standard commun tel que FeedSync, alors il est particulièrement difficile, voire impossible, de synchroniser les données.
FeedSync permettant de décrire les modifications réalisées sur des entrées d'un flux, on peut l'utiliser pour indiquer les changements effectués dans le cadre de l'invention. Dans ce cas, puisque l'on dispose d'un standard permettant d'exprimer ces changements, on réduit les problèmes liés à l'interprétation par le lecteur de flux du flux mis à jour. Par conséquent, dans le cas où le flux considéré supporte FeedSync, il est possible d'utiliser la mise à jour d'entrées au lieu de la création de nouvelles entrées lors de l'insertion d'un nouvel élément à publier (figure 10), le groupement d'entrées existantes (figure 6) et de la séparation des éléments d'une entrée (figure 7).
La figure 11 montre cette application par la représentation d'une entrée fournie dans l'exemple de la figure 2d, et pour laquelle les mises à jour ont été faites en respectant le format proposé par FeedSync. En particulier, on remarque que chaque mise à jour (y compris la création de l'entrée) est indiquée par un élément "sx:history", lequel est caractérisé par un numéro de séquence, une date de mise à jour et un identifiant du point final ("end point" en anglais) ayant effectué la mise à jour. De plus, il convient de souligner que ces données sont contenues dans un élément "sx:sync" dont l'identifiant (ici, EN001) ne doit pas évoluer au fur et à mesure des mises à jour, ce qui n'empêche toutefois pas l'identifiant de l'entrée Atom d'évoluer. En référence maintenant à la figure 12, il est décrit à titre d'exemple une configuration matérielle particulière d'un dispositif ou système de génération d'un flux web apte à une mise en oeuvre du procédé selon l'invention.
Un dispositif de traitement d'information mettant en oeuvre l'invention est par exemple un micro-ordinateur 50, une station de travail, un assistant personnel, ou un téléphone mobile connecté à différents périphériques. Selon encore un autre mode de réalisation de l'invention, le dispositif se présente sous la forme d'un appareil photographique muni d'une interface de communication pour autoriser une connexion à un réseau. Les périphériques reliés au dispositif selon l'invention comprennent par exemple une caméra numérique 64, ou un scanner ou tout autre moyen d'acquisition ou de stockage d'images, relié à une carte d'entrée/sortie (non représentée) et fournissant au dispositif des données. Le dispositif 50 comporte un bus de communication 51 auquel sont reliés : - une unité centrale de traitement CPU 52 se présentant par exemple sous la forme d'un microprocesseur ; - une mémoire morte 53 dans laquelle peuvent être contenus les programmes dont l'exécution permet la mise en oeuvre du procédé selon l'invention. Il peut s'agir d'une mémoire flash ou EEPROM ; - une mémoire vive 54 qui, après la mise sous tension du dispositif 50, contient le code exécutable des programmes de l'invention nécessaires à la mise en oeuvre de l'invention. Cette mémoire vive 54 est de type RAM (à accès aléatoire), ce qui offre des accès rapide comparés à la mémoire morte 53 ; - un écran 55 permettant de visualiser des données notamment vidéo et/ou de servir d'interface graphique avec l'utilisateur qui peut ainsi interagir avec les programmes de l'invention, à l'aide d'un clavier 56 ou de tout autre moyen tel qu'un dispositif de pointage, comme par exemple une souris 57 ou un crayon optique ; - un disque dur 58 ou une mémoire de stockage, telle qu'une mémoire de type compact flash, pouvant comporter les programmes de l'invention ainsi que des données utilisées ou produites lors de la mise en oeuvre de l'invention ; - un lecteur de disquettes 59 optionnel, ou un autre lecteur de support de données amovible, adapté à recevoir une disquette 63 et à y lire / écrire des données traitées ou à traiter conformément à l'invention ; et - une interface de communication 60 reliée au réseau de télécommunications 61, l'interface 60 étant apte à transmettre et à recevoir des données, notamment pour transmettre le flux web généré par l'invention. Le bus de communication 51 autorise une communication et une interopérabilité entre les différents éléments inclus dans le dispositif 50 ou reliés à celui-ci. La représentation du bus 51 n'est pas limitative et, notamment, l'unité centrale 52 est susceptible de communiquer des instructions à tout élément du dispositif 50 directement ou par l'intermédiaire d'un autre élément du dispositif 50. Les disquettes 63 peuvent être remplacées par tout support d'information tel que, par exemple, un disque compact (CD-ROM) réinscriptible ou non, un disque ZIP ou une carte mémoire. D'une manière générale, un moyen de stockage d'information, lisible par un micro-ordinateur ou par un microprocesseur, intégré ou non au dispositif de génération de flux web, éventuellement amovible, est adapté à mémoriser un ou plusieurs programmes dont l'exécution permet la mise en oeuvre du procédé selon l'invention.
Le code exécutable permettant au dispositif de génération de flux web la mise en oeuvre de l'invention peut être indifféremment stocké en mémoire morte 53, sur le disque dur 58 ou sur un support numérique amovible tel que par exemple une disquette 63 comme décrite précédemment. Selon une variante, le code exécutable des programmes est reçu par l'intermédiaire du réseau de télécommunications 61, via l'interface 60, pour être stocké dans un des moyens de stockage du dispositif 50 (tel que le disque dur 58 par exemple) avant d'être exécuté. L'unité centrale 52 commande et dirige l'exécution des instructions ou portions de code logiciel du ou des programmes de l'invention, les instructions ou portions de code logiciel étant stockées dans l'un des moyens de stockage précités. Lors de la mise sous tension du dispositif 50, le ou les programmes qui sont stockés dans une mémoire non volatile, par exemple le disque dur 58 ou la mémoire morte 53, sont transférés dans la mémoire vive 54 qui contient alors le code exécutable du ou des programmes de l'invention, ainsi que des registres pour mémoriser les variables et paramètres nécessaires à la mise en oeuvre de l'invention. On notera également que le dispositif mettant en oeuvre l'invention ou incorporant celle-ci est réalisable aussi sous la forme d'un appareil programmé. Par exemple, un tel dispositif peut alors contenir le code du ou des programmes informatiques sous une forme figée dans un circuit intégré à application spécifique (ASIC).
Le dispositif ou système décrit ici et, particulièrement, l'unité centrale 52, sont susceptibles de mettre en oeuvre tout ou partie des traitements décrits en lien avec les figures 2 à 11, pour mettre en oeuvre les procédés objets de la présente invention et constituer tout ou partie des systèmes objets de la présente invention. Les exemples qui précèdent ne sont que des modes de réalisation de l'invention qui ne s'y limite pas. Notamment, si on a pu présenter l'invention en appréhendant les éléments de contenu classe par classe, il se peut que les activités relatives à certaines classes distinctes demeurent très faibles malgré la diminution du seuil de similarité lié à chacune de ces classes. On peut alors envisager une amélioration visant à réduire le nombre d'entrées 12 utilisées pour ces différentes classes, notamment en considérant ces classes les plus faibles (par exemple les deux plus faibles, ou celles en dessous d'une valeur seuil minimale) comme étant une seule classe. Ainsi, les éléments de contenu de ces différentes classes sont regroupés dans un même type d'entrée 12. Par ailleurs, en référence à la figure 9, on a évoqué une contribution additive des différents critères de similarité (addition de l'étape E760). En variante, cette contribution peut être une multiplication entre les différentes similarités partielles. Dans un tel cas, la similarité partielle pour chaque critère est mesurée par une valeur entre 0 et 1 et ces différentes valeurs sont multipliées pour obtenir SI. Par ailleurs, à l'étape E700, la valeur SI est alors initialisée à 1, et à l'étape E760, l'opération est une multiplication "*" et non une addition "+".
Cette variante est intéressante si deux critères indépendants sont utilisés simultanément : par exemple un critère basé sur des mots clés et un critère basé sur l'adresse des ressources.

Claims (15)

  1. REVENDICATIONS1. Procédé de génération d'un flux web (10) composé d'entrées (12) correspondant à des éléments de contenu, caractérisé en ce qu'il 5 comprend les étapes consistant à : - déterminer (E110, E221, E300) au moins un paramètre d'activité (A) représentatif d'une fréquence d'obtention d'éléments de contenu à publier; - calculer (E620, E770) au moins une valeur de similarité (SI) entre un élément de contenu (IT) à publier dans le flux web (10) et au moins une 10 entrée (E) dudit flux web; - sélectionner (E130, E640) une entrée (EP) dudit flux web à partir desdits au moins une valeur de similarité (SI) et un paramètre d'activité (A); - ajouter (E140) ledit élément de contenu à publier (IT) à ladite entrée sélectionnée. 15
  2. 2. Procédé selon la revendication 1, dans lequel l'étape consistant à sélectionner (E130, E640) comprend la comparaison (E630) de la valeur de similarité (SI) avec au moins un seuil de similarité fonction dudit paramètre d'activité (A).
  3. 3. Procédé selon la revendication précédente, dans lequel ladite 20 sélection comprend la détermination de l'entrée (EP) ayant la plus grande valeur de similarité (Slmax) avec l'élément de contenu à publier (IT), cette plus grande valeur de similarité étant supérieure à au moins un seuil de similarité lié au moins à cette entrée.
  4. 4. Procédé selon l'une des revendications précédentes, dans 25 lequel on associe, à chaque entrée (12, E) du flux web (10), un seuil propre de similarité, et ladite sélection (E130, E640) comprend la comparaison (E630) d'au moins une dite valeur de similarité (SI) calculée pour une entrée, avec ledit seuil propre associé à cette entrée.
  5. 5. Procédé selon l'une des revendications précédentes, dans 30 lequel lesdits éléments de contenu sont organisés par classes et au moins une dite classe est associée à chaque entrée du flux web en fonction des éléments de contenu correspondant à cette entrée,dans lequel on associe, à chaque classe, un seuil de similarité qui dépend d'un paramètre d'activité relatif à ladite classe, et dans lequel ladite sélection (E130, E640) d'une entrée (EP) est fonction des seuils de similarité de classe.
  6. 6. Procédé selon la revendication précédente, dans lequel le seuil de similarité associé à une classe est mis à jour (E370) en fonction d'un rapport (R) entre le paramètre d'activité relatif à ladite classe et un paramètre d'activité moyenne relatif à une activité moyenne de l'ensemble des classes.
  7. 7. Procédé selon la revendication 5 ou 6, comprenant le groupement d'entrées associées à une classe en une même entrée lorsque le seuil de similarité associé à cette classe diminue.
  8. 8. Procédé selon la revendication 5 ou 6, comprenant la séparation d'une entrée associée à une classe en une pluralité d'entrées lorsque le seuil de similarité associé à cette classe augmente.
  9. 9. Procédé selon la revendication précédente, dans lequel on sépare les éléments de contenu correspondant à ladite entrée à séparer en un premier groupe (IT_S) d'éléments de contenu dont la valeur de similarité avec ladite entrée est supérieure ou égale au nouveau seuil de similarité, et un deuxième groupe (IT_NS) d'éléments de contenu dont la valeur de similarité est inférieure au nouveau seuil de similarité.
  10. 10. Procédé selon l'une des revendications 5 à 9, comprenant le regroupement, en une même entrée du flux web, de plusieurs entrées dont les paramètres d'activité associés sont les plus faibles.
  11. 11. Procédé selon l'une des revendications 2 à 10, dans lequel ledit au moins un seuil de similarité augmente lorsque une fréquence d'obtention des éléments de contenu à publier diminue.
  12. 12. Procédé selon l'une des revendications 2 à 11, dans lequel ladite au moins une valeur de similarité est calculée à partir d'au moins un attribut (C) d'élément de contenu choisi parmi l'ensemble constitué d'un titre, d'une adresse web à laquelle l'élément de contenu est consultable, d'un mot clé, d'une catégorie de contenu, d'une information de provenance de l'élément de contenu.
  13. 13. Procédé selon l'une des revendications précédentes, dans lequel les éléments de contenu sont organisés en catégories hiérarchisées, et ladite valeur de similarité avec une entrée correspond au nombre de niveaux hiérarchiques en commun entre le nouvel élément de contenu et au moins un élément de contenu correspondant à ladite entrée.
  14. 14. Procédé selon l'une des revendications précédentes, dans lequel ladite sélection d'une entrée est fonction d'une indication d'ancienneté (AE) des entrées dudit flux.
  15. 15. Dispositif de génération d'un flux web (10) composé d'entrées (12) correspondant à des éléments de contenu, caractérisé en ce qu'il comprend : - un moyen de détermination apte à déterminer au moins un paramètre d'activité (A) représentatif d'une fréquence d'obtention d'éléments de contenu à publier; - un moyen de calcul apte à calculer au moins une valeur de similarité (SI) entre un élément de contenu (IT) à publier dans le flux web (10) et au moins une entrée (E) dudit flux web; - un moyen de sélection apte à sélectionner une entrée (EP) dudit flux web à partir desdits au moins une valeur de similarité (SI) et un paramètre d'activité (A); - un moyen d'ajout apte à ajouter ledit élément de contenu à publier (IT) à ladite entrée sélectionnée. 19. Moyen de stockage d'informations, éventuellement totalement ou partiellement amovible, lisible par un système informatique, comprenant des instructions pour un programme informatique adapté à mettre en oeuvre le procédé conforme à l'une quelconque des revendications 1 à 14 lorsque le programme est chargé et exécuté par le système informatique. 20. Produit programme d'ordinateur lisible par un microprocesseur, comprenant des portions de code logiciel adaptées à mettre en oeuvre le procédé selon l'une quelconque des revendications 1 à 14, lorsqu'il est chargé et exécuté par le microprocesseur.
FR0957849A 2009-11-05 2009-11-05 Procede de generation d'un flux web et un systeme associe Expired - Fee Related FR2952203B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0957849A FR2952203B1 (fr) 2009-11-05 2009-11-05 Procede de generation d'un flux web et un systeme associe
US12/940,545 US8751678B2 (en) 2009-11-05 2010-11-05 Method of generating a web feed and an associated system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0957849A FR2952203B1 (fr) 2009-11-05 2009-11-05 Procede de generation d'un flux web et un systeme associe

Publications (2)

Publication Number Publication Date
FR2952203A1 true FR2952203A1 (fr) 2011-05-06
FR2952203B1 FR2952203B1 (fr) 2012-08-17

Family

ID=42136182

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0957849A Expired - Fee Related FR2952203B1 (fr) 2009-11-05 2009-11-05 Procede de generation d'un flux web et un systeme associe

Country Status (2)

Country Link
US (1) US8751678B2 (fr)
FR (1) FR2952203B1 (fr)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5785688B2 (ja) * 2007-01-05 2015-09-30 トムソン ライセンシングThomson Licensing シンジケーテッドデータフィードをカスタマイズするための方法及び装置
US9098311B2 (en) 2010-07-01 2015-08-04 Sap Se User interface element for data rating and validation
US8443003B2 (en) * 2011-08-10 2013-05-14 Business Objects Software Limited Content-based information aggregation
CN106897456B (zh) * 2017-03-09 2020-10-16 腾讯科技(深圳)有限公司 活动信息发布方法、活动信息驱动方法、相关设备及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060026113A1 (en) * 2001-06-22 2006-02-02 Nosa Omoigui Information nervous system
US20070260586A1 (en) * 2006-05-03 2007-11-08 Antonio Savona Systems and methods for selecting and organizing information using temporal clustering
EP2110760A1 (fr) * 2008-04-14 2009-10-21 Alcatel Lucent Procédé pour regrouper les alimentations de toile en minimisant les redondances

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8700738B2 (en) * 2005-02-01 2014-04-15 Newsilike Media Group, Inc. Dynamic feed generation
US8255521B1 (en) * 2008-02-28 2012-08-28 Attensa, Inc. Predictive publishing of RSS articles
US7958125B2 (en) * 2008-06-26 2011-06-07 Microsoft Corporation Clustering aggregator for RSS feeds
US8977673B2 (en) * 2008-08-29 2015-03-10 Red Hat, Inc. Information on availability of services provided by publish-subscribe service
WO2010037031A2 (fr) * 2008-09-26 2010-04-01 Fwix, Inc. Système et procédé adaptés pour agréger des fils de syndication associés à des paramètres de lieu géographique et provenant d'une pluralité de sources

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060026113A1 (en) * 2001-06-22 2006-02-02 Nosa Omoigui Information nervous system
US20070260586A1 (en) * 2006-05-03 2007-11-08 Antonio Savona Systems and methods for selecting and organizing information using temporal clustering
EP2110760A1 (fr) * 2008-04-14 2009-10-21 Alcatel Lucent Procédé pour regrouper les alimentations de toile en minimisant les redondances

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IAN GARCIA ET AL: "Eliminating Redundant and Less-Informative RSS News Articles Based on Word Similarity and a Fuzzy Equivalence Relation", TOOLS WITH ARTIFICIAL INTELLIGENCE, 18TH IEEE INTERNATIONAL CONFERENCE ON, IEEE, PI, 1 November 2006 (2006-11-01), pages 465 - 473, XP031031473, ISBN: 978-0-7695-2728-4 *

Also Published As

Publication number Publication date
US8751678B2 (en) 2014-06-10
US20110106967A1 (en) 2011-05-05
FR2952203B1 (fr) 2012-08-17

Similar Documents

Publication Publication Date Title
CN110462609B (zh) 媒体内容元数据的临时修改
EP1943638A1 (fr) Procede de gestion de polices de caracteres a l&#39;interieur de scenes multimedia, programme d&#39;ordinateur et terminal correspondants
WO2003057648A2 (fr) Procedes et systemes de recherche et d&#39;association de ressources d&#39;information telles que des pages web
FR2762460A1 (fr) Systeme destine a fournir un environnement et une interface utilisateur ameliores pour des technologies de discussion en ligne
FR2863127A1 (fr) Procedes et dispositifs pour la delivrance asynchrone de donnees numeriques
EP2695098A1 (fr) Procédé de paramétrage de règles de diffusion de données personnelles
FR2851389A1 (fr) Procede et dispositif de gestion de requetes dans une architecture du type client-serveur
FR2952203A1 (fr) Procede de generation d&#39;un flux web et un systeme associe
FR2895813A1 (fr) Procede et dispositif d&#39;aide a la construction d&#39;une arborescence de groupe de documents electroniques
WO2009121808A1 (fr) Procede de gestion de messages electroniques a partir d&#39;un client de messagerie et systeme pour mettre en oeuvre le procede
FR2893470A1 (fr) Procede et dispositif de creation d&#39;une sequence video representative d&#39;une sequence video numerique et procedes et dispositifs de transmission et reception de donnees video associes
FR2952204A1 (fr) Procede de generation d&#39;un flux web et un systeme associe
WO2016092218A1 (fr) Moyens pour déterminer un niveau de pertinence d&#39;une ressource dans un système de traitement d&#39;informations
EP2556447B1 (fr) Gestion de partage de fichiers informatiques entre au moins deux dispositifs
EP1997040A1 (fr) Procédé, dispositif et système de gestion d&#39;informations structurées au sein d&#39;une scène graphique
FR3014218A1 (fr) Adaptation d&#39;un menu a un contexte d&#39;utilisation et generateur de menu adaptable
FR2973133A1 (fr) Procedes d’actualisation et de creation de profils d&#39;utilisateur, de recommandation de contenu et de construction d&#39;une liste de contenus
EP3080968A1 (fr) Procédé de synchronisation de données entre un ensemble de terminaux
FR2853788A1 (fr) Procede et dispositif d&#39;acces a un document numerique dans un reseau de communication du type poste a poste
Li et al. Newcomer Proactive Personality and Creative Behavior
WO2021198611A1 (fr) Procede et dispositif de personnalisation de contenu multimedia generique
FR2994494A1 (fr) Dispositif d&#39;aide a la gestion d&#39;objets de visualisation
Gérard et al. Ziusudra, de la nomenclature à l'informatique: l'exemple des Amphibiens1
FR3110793A1 (fr) Procédé de gestion de la transmission d’un message depuis un premier dispositif à destination d’un deuxième dispositif, procédé de gestion de la réception d’un tel message.
FR3038092A1 (fr) Procede de telechargement accelere d&#39;une page web vers un terminal de communication

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12

ST Notification of lapse

Effective date: 20220705