FR 2922338 A1 20090417 FR 0707100 A 20071010 PROCEDE ET SYSTEME D'ANNOTATION DE DOCUMENTS MULTIMEDIA. La présente invention concerne un procédé et un système d'annotation de documents multimédia ainsi qu'un produit programme d'ordinateur pour mettre en oeuvre le procédé. Un système d'annotation est un système qui permet d'ajouter de l'information de haut niveau appelée métadonnées sur un document multimédia, c'est-à-dire un document textuel, d'image, audio et/ou vidéo. Les annotations sont de granularités diverses et s'appliquent à un document complet comme à une section quelconque d'un document. Elles sont aussi de nature variée. Par exemple, les annotations sont de type temporel, spatial, sémantique, etc. et s'appliquent soit à une section de document, soit à plusieurs sections dans le cas de l'extraction de relation. L'annotation permet ensuite des traitements avancés sur les documents. Par exemple, elle permet le filtrage par rapport aux annotations, des raisonnements, ou des recherches avancées sur les annotations. L'annotation est généralement réalisée de façon manuelle par une personne chargée de la lecture des documents. L'annotation manuelle de documents est cependant une tâche particulièrement chronophage. Aussi, dans certains cas, l'annotation est réalisée de façon complètement automatique mais alors aucune amélioration du système au cours du temps n'est possible, sauf à changer de version du moteur d'annotation. Tous les systèmes automatiques sont basés sur un modèle d'annotation qui contient les relations entre les annotations et les caractéristiques du document, ou d'une partie/section du document. Ainsi quand un nouveau document est à annoter, le système recherche des caractéristiques identiques à celles contenues dans le modèle pour appliquer au document les annotations correspondantes. De façon générale, une plateforme d'annotation sémantique se base sur la mise en relation (en anglais � matching �) des instances d'une ontologie de domaine avec le contenu d'un document, avec généralement une étape de désambiguïsation sémantique permettant de trouver la meilleure instance de l'ontologie en fonction du contexte de la section à annoter. Certaines plateformes d'annotation permettent l'apprentissage d'un modèle d'annotation à partir d'exemples. Dans ce cas, les modèles générés sont souvent peu compréhensibles d'un utilisateur non expert et ne peuvent pas être validés facilement par lui. II serait ainsi souhaitable de définir un procédé et un système d'annotation qui combinent l'efficacité des systèmes automatiques avec la souplesse et la versatilité des systèmes manuels. Pour résoudre un ou plusieurs des inconvénients cités précédemment, un procédé d'annotation d'une pluralité de documents multimédia, chaque document multimédia comportant au moins une section, et chaque section comportant au moins une caractéristique, comporte les étapes de : • annotation manuelle d'au moins un document de la pluralité de documents par affectation à chaque section dudit document d'au moins une classe d'annotation, • création automatique d'un modèle d'annotation définissant des relations entre les classes d'annotation et les caractéristiques des sections, ladite création automatique étant réalisée par un apprentissage itératif basé sur la sélection de sections pertinentes, • annotation automatique d'un document non annoté de la pluralité de documents multimédia par application du modèle d'annotation. Ainsi, le procédé d'annotation crée avantageusement un modèle basé sur un ensemble d'annotations fournies par l'utilisateur. On comprend donc que, par une sélection adaptée des documents annotés manuellement, l'utilisateur a une influence déterminante sur la qualité de ce modèle. Des caractéristiques ou des modes de réalisation particuliers de ce procédé sont : • il comporte en outre une étape de validation manuelle de l'annotation automatique, suivi d'une itération d'au moins l'étape de création automatique de modèle afin de remplacer le modèle d'annotation pour tenir compte des annotations validées, les étapes de création automatique, d'annotation automatique et de validation manuelle formant ainsi une boucle itérative d'amélioration du modèle d'annotation. • l'étape de création automatique comporte les sous-étapes : • sélection de la section de document la plus représentative de l'ensemble des sections annotées et la plus éloignée des sections précédemment sélectionnées, • ajustement de pondérations associées aux différentes sections, • suppression des sections ayant des pondérations inférieures à une valeur prédéterminée ou des sections sensiblement identiques aux sections sélectionnées. • une relation entre un graphe représentatif des classes d'annotation et un graphe représentatif des caractéristiques des documents est définie comme le produit de familles exponentielles basées sur les sections, et une fonction de coût est définie comme la log vraisemblance d'au moins une partie des sections de telle sorte que la création automatique du modèle consiste à minimiser la fonction de coût par sélection des sections les plus représentatives et ajustement des pondérations. • la minimisation du coût comporte les étapes itératives suivantes : • création d'un ensemble de sections actives initialisé à vide, • itération tant que la fonction de coût diminue des sous-étapes : • génération de l'ensemble des sections possibles sur les documents annotés, • calcul, pour chaque section sélectionnée, d'un gradient de la fonction de coût pour une pondération nulle, • ajout à l'ensemble des sections actives, de la ou les sections dont le gradient est maximum, • itération tant que les pondérations des sections de l'ensemble des sections actives évoluent des sous-étapes : o calcul de la fonction de coût et des gradients associés, o calcul des pondérations des sections de l'ensemble des sections actives par une méthode de descente de gradient. Ainsi, le procédé permet avantageusement de créer une boucle itérative d'amélioration du modèle d'annotation car la validation et la correction éventuelle des annotations générées automatiquement permet d'une part de fournir de nouvelles données en entrée de la création automatique du modèle et d'autre part de valider la qualité du modèle par le nombre de corrections à apporter. Le procédé de création automatique du modèle permet également avantageusement de limiter au maximum le nombre de sections utilisées par celui-ci en ne conservant que celles qui sont les plus représentatives des liaisons du modèle. Il se base sur les modèles CRF décrits dans John Lafferty, Andrew McCallum et Fernando Pereira, "Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data", Proceedings of the International Conference on Machine Learning (ICML-2001), 2001. Il se base également sur les modèles KCRF décrits dans John Lafferty, Xiaojin Zhu et Yan Liu, � Kernel conditional random fields: representation and clique selection", ICML '04: Proceedings of the twenty-first international conference on Machine learning. Cependant le procédé permet avantageusement de rendre ces modèles itératifs et incrémentaux. Dans un deuxième aspect de l'invention, un produit programme d'ordinateur comprend des instructions de code de programme enregistrées sur un support lisible par un ordinateur, pour mettre en oeuvre les étapes du procédé précédent lorsque ledit programme fonctionne sur un ordinateur. Dans un troisième aspect de l'invention, un système d'annotation d'une pluralité de documents multimédia, chaque document multimédia comportant au moins une section, et chaque section comportant au moins une caractéristique, comporte : • des moyens d'interface avec un utilisateur adaptés pour annoter manuellement d'au moins un document de la pluralité de documents par affectation à chaque section dudit document d'au moins une classe d'annotation, • des moyens de création automatique d'un modèle d'annotation définissant des relations entre les classes d'annotation et les caractéristiques des sections, lesdits moyens de création automatique comportant des moyens d'apprentissage itératif basé sur la sélection de sections pertinentes, • des moyens d'annotation automatique d'un document non annoté de la pluralité de documents multimédia par application du modèle d'annotation. Des caractéristiques ou des modes de réalisation particuliers de ce 5 système sont : • les moyens d'interface sont adaptés en outre pour valider manuellement l'annotation automatique, et en ce que les moyens de création automatique de modèle sont adaptés pour tenir compte des annotations validées. 10 • les moyens de création automatique comporte des moyens de : • sélection de la section de document la plus représentative de l'ensemble des sections existantes et la plus éloignée des sections précédemment sélectionnées, • ajustement de pondérations associées aux différentes sections, 15 • suppression des sections ayant des pondérations inférieures à une valeur prédéterminée ou des sections sensiblement identiques aux sections sélectionnées. • une relation entre un graphe représentatif des classes d'annotation et un graphe représentatif des caractéristiques des documents est définie 20 comme le produit de familles exponentielles basées sur les sections, et une fonction de coût est définie comme la log vraisemblance d'au moins une partie des sections de telle sorte que la création automatique du modèle consiste à minimiser la fonction de coût par sélection des sections les plus représentatives et ajustement des pondérations. 25 L'invention sera mieux comprise à la lecture de la description qui suit, faite uniquement à titre d'exemple, et en référence aux figures en annexe dans lesquelles : - la figure 1 est une vue schématique d'un système d'annotation selon un mode de réalisation de l'invention ; et 30 - la figure 2 est un ordinogramme d'un procédé d'annotation selon un mode de réalisation de l'invention. En référence à la figure 1, un système d'annotation comporte un terminal 1 ayant une interface homme/machine 3. Cette interface 3 est adaptée pour annoter manuellement un document. Il est basé classiquement sur une interface matérielle de présentation d'information composée, par exemple, d'un écran, et sur des moyens de saisie d'information composés, par exemple, d'un clavier et d'une souris. Cette interface 3 permet différentes opérations élémentaires liées à l'annotation manuelle de document. Elle permet ainsi de découper le document en une ou plusieurs sections homogènes sur lesquelles seront basées les annotations. Suivant le type de document, une section correspond à une granularité variable représentant une certaine homogénéité. Par exemple, une section correspond à un mot dans un texte ou à une séquence d'images dans une vidéo. Le découpage en sections est soit automatique, c'est-à-dire que le système effectue seul celui-ci, soit manuel et donc réalisé par l'opérateur au moyen de l'interface, soit semi-automatique permettant à l'opérateur de modifier un découpage préparé par le système. Une fois le document découpé en sections, l'interface 3 permet à l'utilisateur d'affecter à chaque section au moins une classe, ou type, d'annotation. Par exemple, l'utilisateur affecte des annotations syntaxiques à un texte et/ou des annotations sémantiques sous forme de classe d'une ontologie. Pour aider à cette affectation, l'interface comporte des outils d'aide à la sélection. Dans une forme relativement simple, ces outils peuvent n'être que des formulaires de liste permettant un choix d'annotation parmi une liste prédéfinie. Dans des formes plus sophistiquées, ces outils peuvent proposer des annotations en se basant sur une première analyse automatique du document ou de la section concernée, par exemple en utilisant un modèle d'annotation préexistant. L'interface homme/machine 3 comporte ainsi un éditeur spécialisé permettant d'ajouter, modifier ou supprimer des annotations à un document multimédia. Le terminal 1 est connecté à un serveur d'apprentissage 5 par une liaison de données 6. Le serveur d'apprentissage 5 comporte des moyens 7 de création automatique d'un modèle d'annotation définissant des relations entre les classes d'annotation et les caractéristiques des sections. Les moyens 7 de création automatique utilisent les documents annotés manuellement en provenance du terminal 1 comme paramètres d'entrée. Le serveur d'apprentissage 5 comporte également des moyens 9 d'annotation automatique d'un document non annoté par application du modèle d'annotation créé. Le fonctionnement du système va maintenant être décrit en relation avec la figure 2. Dans une étape 11, un utilisateur annote un document multimédia en utilisant le terminal 1 et l'interface homme-machine 3 adaptée. Le document annoté est envoyé en 13 au serveur d'apprentissage 5. Le serveur d'apprentissage 5 lance alors, étape 15, l'exécution des moyens 7 de création automatique de modèle. Ceux-ci exécutent de façon itérative les étapes suivantes : • sélection, étape 17, de la section du document la plus représentative de l'ensemble et la plus éloignée des sections ayant déjà été éventuellement sélectionnées. Par section éloignée, ou proche, d'une autre section, il faut entendre une distance au sens mathématique du terme définie dans une métrique des sections. Ainsi, une section proche est une section qui comporte pratiquement les mêmes caractéristiques ou des caractéristiques très similaires d'autres sections. • ajustement, étape 19, des pondérations associées aux différentes sections sélectionnées, • suppression, étape 21, éventuelle des sections les moins représentatives de l'ensemble des documents ou des sections les plus proches des sections sélectionnées. Ces trois étapes 17, 19 et 21 de sélection, ajustement et suppression sont itérées jusqu'à obtenir un modèle satisfaisant, ce qui correspond, par exemple, à une minimisation d'une fonction de coût comme expliqué ci-dessous. Le modèle étant créé, un nouveau document est annoté, étape 23, automatiquement soit à la demande de l'utilisateur, soit dans le cadre d'un traitement par lots. A l'étape 25, le document annoté automatiquement est envoyé sur le terminal 1 pour que l'utilisateur puisse étudier, et éventuellement modifier, à l'étape 27, les annotations proposées par le système. En particulier dans le cas où l'utilisateur modifie les annotations, l'étape 15 de lancement de la création de modèle est de nouveau exécutée en intégrant dans les données d'entrée de cette création le nouveau document avec ses annotations modifiées par l'utilisateur. Ainsi, par itérations successives alternant étape automatique de création de modèle, application du modèle sur un nouveau document et correction des annotations proposées par le modèle, le modèle est raffiné pour atteindre un niveau de qualité tel qu'aucune intervention de l'utilisateur n'est plus nécessaire. Un algorithme de création de modèle, ou d'apprentissage, particulièrement bien adapté au système d'annotation décrit ci-dessus va 15 maintenant être décrit. Mathématiquement, on considère un modèle comme exprimant la loi conditionnelle d'un graphe d'étiquettes Y (les annotations) en fonction d'un graphe d'observation X (les caractéristiques des documents multimédia). Cette loi conditionnelle s'exprime comme le produit de familles exponentielles 20 faisant intervenir des noyaux ou distances entre graphes, soit : 1 K P(YIX) = Z-exp E akK((x,}= k=1 La création du modèle consiste alors à minimiser la log vraisemblance d'un échantillon tout en limitant le nombre de noyaux à utiliser. Cette log vraisemblance, qui apparaît comme une fonction de coût, T K K f - 1og[Pä(vr,xr)]+ /2LLaiail�. ,xj)tS(yi, r=1 i=1 j La sélection des noyaux et le réglage des pondérations a; se fait selon l'algorithme itératif ci-dessous. Les noyaux sélectionnés sont alors ceux qui minimisent le gradient : 25 s'écrit : `eK(Y,x) = aiK(xi,xk)S(y1.yk)+ K(xt,xk)(f)(y'kIxt) ù 5(y}t,Yk)) .i= L'algorithme itératif de sélection des noyaux et de réglage des pondérations s'exprime en pseudo-langage : • générer l'ensemble des noyaux possibles sur l'ensemble des documents annotés, • initialiser l'ensemble A des noyaux actifs à vide, • tant que le coût C continue à diminuer faire : o sélectionner R noyaux aléatoirement parmi les M noyaux existants, R pouvant être égale à m ce qui correspond à la sélection de l'ensemble des noyaux, o calculer le gradient aC au point a; = 0 de chacun des R aa, noyaux sélectionnés, o ajouter le ou les noyaux dont le gradient aC est aa, maximum à l'ensemble des noyaux actifs A, o tant que les pondérations a; des noyaux de l'ensemble des noyaux actifs A continuent à évoluer faire ^ calculer le coût C et les gradients DC aa, ^ recalculer les valeurs des pondérations a; pour k E [A] par une méthode de descente de gradient, telle que, par exemple, la méthode de quasi- newton, o fin tant que • fin tant que II est à noter que les noyaux correspondent aux sections de 25 documents annotés et constituent donc le modèle d'annotation. L'invention a été illustrée et décrite en détail dans les dessins et la description précédente. Celle-ci doit être considérée comme illustrative et donnée à titre d'exemple et non comme limitant l'invention à cette seule description. 9 k 2. De nombreuses variantes de réalisation sont possibles. Par exemple, la répartition entre terminal et serveur d'apprentissage peut correspondre en fait à une répartition fonctionnelle, toutes les fonctions du système se réalisant sur une station de travail programmée en conséquence. On comprend également qu'un mode de réalisation correspond à une implémentation logicielle du procédé d'annotation et qu'ainsi un produit programme d'ordinateur comprend des instructions telles que, exécutées sur un ordinateur, le procédé d'annotation est mis en oeuvre. Cependant, il peut apparaître que pour des raisons techniques, telles que, par exemple, une recherche de rapidité d'exécution, le procédé peut également être mis en oeuvre sous forme matérielle, par exemple, par programmation d'un réseau de portes de type FPGA ( réseau de portes programmable par l'utilisateur) ou sous une forme combinée matérielle-logicielle selon les règles de conception bien connues de l'homme du métier. Dans les revendications, le mot � comprenant � n'exclue pas d'autres éléments et l'article indéfini � un/une � n'exclut pas une pluralité. REVENDICATIONS 1. Procédé d'annotation d'une pluralité de documents multimédia, chaque document multimédia comportant au moins une section, et chaque section comportant au moins une caractéristique, caractérisé en ce qu'il comporte les étapes de : • annotation manuelle (11) d'au moins un document de la pluralité de documents par affectation à chaque section dudit document d'au moins une classe d'annotation, • création automatique (15) d'un modèle d'annotation définissant des relations entre les classes d'annotation et les caractéristiques des sections, ladite création automatique étant réalisée par un apprentissage itératif basé sur la sélection de sections pertinentes, • annotation automatique (23) d'un document non annoté de la pluralité de documents multimédia par application du modèle d'annotation. 2. Procédé selon la revendication 1, caractérisé en ce qu'il comporte en outre une étape de validation manuelle (27) de l'annotation automatique, suivi d'une itération d'au moins l'étape de création automatique de modèle afin de remplacer le modèle d'annotation pour tenir compte des annotations validées, les étapes de création automatique, d'annotation automatique et de validation manuelle formant ainsi une boucle itérative d'amélioration du modèle d'annotation. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que l'étape de création automatique (15) comporte les sous-étapes : • sélection (17) de la section de document la plus représentative de l'ensemble des sections annotées et la plus éloignée des sections précédemment sélectionnées, • ajustement (19) de pondérations associées aux différentes sections, • suppression (21) des sections ayant des pondérations inférieures à une valeur prédéterminée ou des sections sensiblement identiques aux sections sélectionnées. 4. Procédé selon la revendication 3, caractérisé en ce qu'une relation entre un graphe représentatif des classes d'annotation et un graphe représentatif des caractéristiques des documents est définie comme le produit de familles exponentielles basées sur les sections, et une fonction de coût est définie comme la log vraisemblance d'au moins une partie des sections de telle sorte que la création automatique du modèle consiste à minimiser la fonction de coût par sélection des sections les plus représentatives et ajustement des pondérations. 5. Procédé selon la revendication 4, caractérisé en ce que la minimisation du coût comporte les étapes itératives suivantes : • création d'un ensemble de sections actives initialisé à vide, • itération tant que la fonction de coût diminue des sous-étapes : • génération de l'ensemble des sections possibles sur les documents annotés, • calcul, pour chaque section sélectionnée, d'un gradient de la fonction de coût pour une pondération nulle, • ajout à l'ensemble des sections actives, de la ou les sections dont le 20 gradient est maximum, • itération tant que les pondérations des sections de l'ensemble des sections actives évoluent des sous-étapes : o calcul de la fonction de coût et des gradients associés, o calcul des pondérations des sections de l'ensemble des 25 sections actives par une méthode de descente de gradient. 6. Produit programme d'ordinateur comprenant des instructions de code de programme enregistrées sur un support lisible par un ordinateur, pour 30 mettre en oeuvre les étapes du procédé selon l'une quelconque des revendications 1 à 5 lorsque ledit programme fonctionne sur un ordinateur. 7. Système d'annotation d'une pluralité de documents multimédia, chaque document multimédia comportant au moins une section, et chaque section comportant au moins une caractéristique, caractérisé en ce qu'il comporte : • des moyens (3) d'interface avec un utilisateur adaptés pour annoter manuellement d'au moins un document de la pluralité de documents par affectation à chaque section dudit document d'au moins une classe d'annotation, • des moyens (7) de création automatique d'un modèle d'annotation définissant des relations entre les classes d'annotation et les caractéristiques des sections, lesdits moyens de création automatique comportant des moyens d'apprentissage itératif basé sur la sélection de sections pertinentes, • des moyens (9) d'annotation automatique d'un document non annoté de 15 la pluralité de documents multimédia par application du modèle d'annotation. 8. Système selon la revendication 7, caractérisé en ce que les moyens d'interface sont adaptés en outre pour valider manuellement l'annotation 20 automatique, et en ce que les moyens de création automatique de modèle sont adaptés pour tenir compte des annotations validées. 9. Système selon la revendication 7 ou 8, caractérisé en ce que les moyens de création automatique comporte des moyens de : 25 • sélection de la section de document la plus représentative de l'ensemble des sections existantes et la plus éloignée des sections précédemment sélectionnées, • ajustement de pondérations associées aux différentes sections, • suppression des sections ayant des pondérations inférieures à une 30 valeur prédéterminée ou des sections sensiblement identiques aux sections sélectionnées. 10. Système selon la revendication 9, caractérisé en qu'une relation entre un graphe représentatif des classes d'annotation et un graphe représentatif des caractéristiques des documents est définie comme le produit de familles exponentielles basées sur les sections, et une fonction de coût est définie comme la log vraisemblance d'au moins une partie des sections de telle sorte que la création automatique du modèle consiste à minimiser la fonction de coût par sélection des sections les plus représentatives et ajustement des pondérations.