Spelling suggestions: "subject:"apprentissage automatique"" "subject:"dapprentissage automatique""
191 |
Extraction d'information `a partir de documents Web multilingues : une approche d'analyses structurellesNguyen, Tuan Dang 25 September 2006 (has links) (PDF)
Les ressources d'information multilingues sur le Web sont devenues de plus en plus des objets d'études importantes pour différents domaines intervenant au traitement de l'information. Néanmoins, nous constatons que la structure des ressources multilingues est très peu explorée par rapport à l'abondance des méthodes de traitement automatique des langues naturelles. Dans cette thèse, nous abordons l'aspect multilinguisme dans un contexte de catégorisation des sites Web multilingues. Nous apportons quelques connaissances expérimentales portant sur la représentation de documents multilingues, la modélisation des données en une structure homogène, la qualité de la recherche d'information dans un contexte multilingues et enfin sur les notions de frontière et de centre de gravité pour départager des langues dominantes sans puiser dans des connaissances linguistiques.
|
192 |
Structured prediction and generative modeling using neural networksKastner, Kyle 08 1900 (has links)
Cette thèse traite de l'usage des Réseaux de Neurones pour modélisation de données séquentielles. La façon dont l'information a été ordonnée et structurée est cruciale pour la plupart des données. Les mots qui composent ce paragraphe en constituent un exemple. D'autres données de ce type incluent les données audio, visuelles et génomiques. La Prédiction Structurée est l'un des domaines traitant de la modélisation de ces données. Nous allons aussi présenter la Modélisation Générative, qui consiste à générer des points similaires aux données sur lesquelles le modèle a été entraîné.
Dans le chapitre 1, nous utiliserons des données clients afin d'expliquer les concepts et les outils de l'Apprentissage Automatique, incluant les algorithmes standards d'apprentissage ainsi que les choix de fonction de coût et de procédure d'optimisation. Nous donnerons ensuite les composantes fondamentales d'un Réseau de Neurones. Enfin, nous introduirons des concepts plus complexes tels que le partage de paramètres, les Réseaux Convolutionnels et les Réseaux Récurrents. Le reste du document, nous décrirons de plusieurs types de Réseaux de Neurones qui seront à la fois utiles pour la prédiction et la génération et leur application à des jeux de données audio, d'écriture manuelle et d'images.
Le chapitre 2 présentera le Réseau Neuronal Récurrent Variationnel (VRNN pour variational recurrent neural network). Le VRNN a été développé dans le but de générer des échantillons semblables aux exemples de la base d'apprentissage. Nous présenterons des modèles entraînées de manière non-supervisée afin de générer du texte manuscrites, des effets sonores et de la parole. Non seulement ces modèles prouvent leur capacité à apprendre les caractéristiques de chaque type de données mais établissent aussi un standard en terme de performance.
Dans le chapitre 3 sera présenté ReNet, un modèle récemment développé. ReNet utilise les sorties structurées d'un Réseau Neuronal Récurrent pour classifier des objets. Ce modèle atteint des performances compétitives sur plusieurs tâches de reconnaissance d'images, tout en utilisant une architecture conçue dès le départ pour de la Prédiction Structurée. Dans ce cas-ci, les résultats du modèle sont utilisés simplement pour de la classification mais des travaux suivants (non inclus ici) ont utilisé ce modèle pour de la Prédiction Structurée.
Enfin, au Chapitre 4 nous présentons les résultats récents non-publiés en génération acoustique. Dans un premier temps, nous fournissons les concepts musicaux et représentations numériques fondamentaux à la compréhension de notre approche et introduisons ensuite une base de référence et de nouveaux résultats de recherche avec notre modèle, RNN-MADE. Ensuite, nous introduirons le concept de synthèse vocale brute et discuterons de notre recherche en génération. Dans notre dernier Chapitre, nous présenterons enfin un résumé des résultats et proposerons de nouvelles pistes de recherche. / In this thesis we utilize neural networks to effectively model data with sequential structure.
There are many forms of data for which both the order and the structure of the information is incredibly important. The words in this paragraph are one example of this type of data. Other examples include audio, images, and genomes. The work to effectively model this type of ordered data falls within the field of structured prediction. We also present generative models, which attempt to generate data that appears similar to the data which the model was trained on.
In Chapter 1, we provide an introduction to data and machine learning. First, we motivate the need for machine learning by describing an expert system built on a customer database. This leads to a discussion of common algorithms, losses, and optimization choices in machine learning. We then progress to describe the basic building blocks of neural networks. Finally, we add complexity to the models, discussing parameter sharing and convolutional and recurrent layers. In the remainder of the document, we discuss several types of neural networks which find common use in both prediction and generative modeling and present examples of their use with audio, handwriting, and images datasets.
In Chapter 2, we introduce a variational recurrent neural network (VRNN). Our VRNN is developed with to generate new sequential samples that resemble the dataset that is was trained on. We present models that learned in an unsupervised manner how to generate handwriting, sound effects, and human speech setting benchmarks in performance.
Chapter 3 shows a recently developed model called ReNet. In ReNet, intermediate structured outputs from recurrent neural networks are used for object classification. This model shows competitive performance on a number of image recognition tasks, while using an architecture designed to handle structured prediction. In this case, the final model output is only used for simple classification, but follow-up work has expanded to full structured prediction.
Lastly, in Chapter 4 we present recent unpublished experiments in sequential audio generation. First we provide background in musical concepts and digital representation which are fundamental to understanding our approach and then introduce a baseline and new research results using our model, RNN-MADE. Next we introduce the concept of raw speech synthesis and discuss our investigation into generation. In our final chapter, we present a brief summary of results and postulate future research directions.
|
193 |
Réseaux de neurones génératifs avec structureCôté, Marc-Alexandre January 2017 (has links)
Cette thèse porte sur les modèles génératifs en apprentissage automatique. Deux nouveaux modèles basés sur les réseaux de neurones y sont proposés. Le premier modèle possède une représentation interne où une certaine structure a été imposée afin d’ordonner les caractéristiques apprises. Le deuxième modèle parvient à exploiter la structure topologique des données observées, et d’en tenir compte lors de la phase générative.
Cette thèse présente également une des premières applications de l’apprentissage automatique au problème de la tractographie du cerveau. Pour ce faire, un réseau de neurones récurrent est appliqué à des données de diffusion afin d’obtenir une représentation des fibres de la matière blanche sous forme de séquences de points en trois dimensions.
|
194 |
Apprentissage de grammaires catégorielles : transducteurs d’arbres et clustering pour induction de grammaires catégorielles / Learning categorial grammarsSandillon Rezer, Noémie Fleur 09 December 2013 (has links)
De nos jours, il n’est pas rare d’utiliser des logiciels capables d’avoir une conversation, d’interagir avec nous (systèmes questions/réponses pour les SAV, gestion d’interface ou simplement Intelligence Artificielle - IA - de discussion). Ceux-ci doivent comprendre le contexte ou réagir par mot-clefs, mais générer ensuite des réponses cohérentes, aussi bien au niveau du sens de la phrase (sémantique) que de la forme (syntaxe). Si les premières IA se contentaient de phrases toutes faites et réagissaient en fonction de mots-clefs, le processus s’est complexifié avec le temps. Pour améliorer celui-ci, il faut comprendre et étudier la construction des phrases. Nous nous focalisons sur la syntaxe et sa modélisation avec des grammaires catégorielles. L’idée est de pouvoir aussi bien générer des squelettes de phrases syntaxiquement correctes que vérifier l’appartenance d’une phrase à un langage, ici le français (il manque l’aspect sémantique). On note que les grammaires AB peuvent, à l’exception de certains phénomènes comme la quantification et l’extraction, servir de base pour la sémantique en extrayant des λ-termes. Nous couvrons aussi bien l’aspect d’extraction de grammaire à partir de corpus arborés que l’analyse de phrases. Pour ce faire, nous présentons deux méthodes d’extraction et une méthode d’analyse de phrases permettant de tester nos grammaires. La première méthode consiste en la création d’un transducteur d’arbres généralisé, qui transforme les arbres syntaxiques en arbres de dérivation d’une grammaire AB. Appliqué sur les corpus français que nous avons à notre disposition, il permet d’avoir une grammaire assez complète de la langue française, ainsi qu’un vaste lexique. Le transducteur, même s’il s’éloigne peu de la définition usuelle d’un transducteur descendant, a pour particularité d’offrir une nouvelle méthode d’écriture des règles de transduction, permettant une définition compacte de celles-ci. Nous transformons actuellement 92,5% des corpus en arbres de dérivation. Pour notre seconde méthode, nous utilisons un algorithme d’unification en guidant celui-ci avec une étape préliminaire de clustering, qui rassemble les mots en fonction de leur contexte dans la phrase. La comparaison avec les arbres extraits du transducteur donne des résultats encourageants avec 91,3% de similarité. Enfin, nous mettons en place une version probabiliste de l’algorithme CYK pour tester l’efficacité de nos grammaires en analyse de phrases. La couverture obtenue est entre 84,6% et 92,6%, en fonction de l’ensemble de phrases pris en entrée. Les probabilités, appliquées aussi bien sur le type des mots lorsque ceux-ci en ont plusieurs que sur les règles, permettent de sélectionner uniquement le “meilleur” arbre de dérivation.Tous nos logiciels sont disponibles au téléchargement sous licence GNU GPL. / Nowadays, we have become familiar with software interacting with us using natural language (for example in question-answering systems for after-sale services, human-computer interaction or simple discussion bots). These tools have to either react by keyword extraction or, more ambitiously, try to understand the sentence in its context. Though the simplest of these programs only have a set of pre-programmed sentences to react to recognized keywords (these systems include Eliza but also more modern systems like Siri), more sophisticated systems make an effort to understand the structure and the meaning of sentences (these include systems like Watson), allowing them to generate consistent answers, both with respect to the meaning of the sentence (semantics) and with respect to its form (syntax). In this thesis, we focus on syntax and on how to model syntax using categorial grammars. Our goal is to generate syntactically accurate sentences (without the semantic aspect) and to verify that a given sentence belongs to a language - the French language. We note that AB grammars, with the exception of some phenomena like quantification or extraction, are also a good basis for semantic purposes. We cover both grammar extraction from treebanks and parsing using the extracted grammars. On this purpose, we present two extraction methods and test the resulting grammars using standard parsing algorithms. The first method focuses on creating a generalized tree transducer, which transforms syntactic trees into derivation trees corresponding to an AB grammar. Applied on the various French treebanks, the transducer’s output gives us a wide-coverage lexicon and a grammar suitable for parsing. The transducer, even if it differs only slightly from the usual definition of a top-down transducer, offers several new, compact ways to express transduction rules. We currently transduce 92.5% of all sen- tences in the treebanks into derivation trees.For our second method, we use a unification algorithm, guiding it with a preliminary clustering step, which gathers the words according to their context in the sentence. The comparision between the transduced trees and this method gives the promising result of 91.3% of similarity.Finally, we have tested our grammars on sentence analysis with a probabilistic CYK algorithm and a formula assignment step done with a supertagger. The obtained coverage lies between 84.6% and 92.6%, depending on the input corpus. The probabilities, estimated for the type of words and for the rules, enable us to select only the “best” derivation tree. All our software is available for download under GNU GPL licence.
|
195 |
Person re-identification in images with deep learning / Ré-identification de personnes dans des images par apprentissage automatiqueChen, Yiqiang 12 October 2018 (has links)
La vidéosurveillance est d’une grande valeur pour la sécurité publique. En tant que l’un des plus importantes applications de vidéosurveillance, la ré-identification de personnes est définie comme le problème de l’identification d’individus dans des images captées par différentes caméras de surveillance à champs non-recouvrants. Cependant, cette tâche est difficile à cause d’une série de défis liés à l’apparence de la personne, tels que les variations de poses, de point de vue et de l’éclairage etc. Pour régler ces différents problèmes, dans cette thèse, nous proposons plusieurs approches basées sur l’apprentissage profond de sorte d’améliorer de différentes manières la performance de ré-identification. Dans la première approche, nous utilisons les attributs des piétons tels que genre, accessoires et vêtements. Nous proposons un système basé sur un réseau de neurones à convolution(CNN) qui est composé de deux branches : une pour la classification d’identité et l’autre pour la reconnaissance d’attributs. Nous fusionnons ensuite ces deux branches pour la ré-identification. Deuxièmement, nous proposons un CNN prenant en compte différentes orientations du corps humain. Le système fait une estimation de l’orientation et, de plus, combine les caractéristiques de différentes orientations extraites pour être plus robuste au changement de point de vue. Comme troisième contribution de cette thèse, nous proposons une nouvelle fonction de coût basée sur une liste d’exemples. Elle introduit une pondération basée sur le désordre du classement et permet d’optimiser directement les mesures d’évaluation. Enfin, pour un groupe de personnes, nous proposons d’extraire une représentation de caractéristiques visuelles invariante à la position d’un individu dans une image de group. Cette prise en compte de contexte de groupe réduit ainsi l’ambigüité de ré-identification. Pour chacune de ces quatre contributions, nous avons effectué de nombreuses expériences sur les différentes bases de données publiques pour montrer l’efficacité des approches proposées. / Video surveillance systems are of a great value for public safety. As one of the most import surveillance applications, person re-identification is defined as the problem of identifying people across images that have been captured by different surveillance cameras without overlapping fields of view. With the increasing need for automated video analysis, this task is increasingly receiving attention. However, this problem is challenging due to the large variations of lighting, pose, viewpoint and background. To tackle these different difficulties, in this thesis, we propose several deep learning based approaches to obtain a better person re-identification performance in different ways. In the first proposed approach, we use pedestrian attributes to enhance the person re-identification. The attributes are defined as semantic mid-level descriptions of persons, such as gender, accessories, clothing etc. They could be helpful to extract characteristics that are invariant to the pose and viewpoint variations thanks to the descriptor being on a higher semantic level. In order to make use of the attributes, we propose a CNN-based person re-identification framework composed of an identity classification branch and of an attribute recognition branch. At a later stage, these two cues are combined to perform person re-identification. Secondly, among the challenges, one of the most difficult is the variation under different viewpoint. The same person shows very different appearances from different points of view. To deal with this issue, we consider that the images under various orientations are from different domains. We propose an orientation-specific CNN. This framework performs body orientation regression in a gating branch, and in another branch learns separate orientation-specific layers as local experts. The combined orientation-specific CNN feature representations are used for the person re-identification task. Thirdly, learning a similarity metric for person images is a crucial aspect of person re-identification. As the third contribution, we propose a novel listwise loss function taking into account the order in the ranking of gallery images with respect to different probe images. Further, an evaluation gain-based weighting is introduced in the loss function to optimize directly the evaluation measures of person re-identification. At the end, in a large gallery set, many people could have similar clothing. In this case, using only the appearance of single person leads to strong ambiguities. In realistic settings, people often walk in groups rather than alone. As the last contribution, we propose to learn a deep feature representation with displacement invariance for group context and introduce a method to combine the group context and single-person appearance. For all the four contributions of this thesis, we carry out extensive experiments on popular benchmarks and datasets to demonstrate the effectiveness of the proposed systems.
|
196 |
Forage des données et formalisation des connaissances sur un accident : Le cas Deepwater Horizon / Data drilling and formalization of knowledge related to an accident : The Deepwater Horizon caseEude, Thibaut 18 December 2018 (has links)
Le forage de données, méthode et moyens développés dans cette thèse, redéfinit le processus d’extraction de données, de la formalisation de la connaissance et de son enrichissement notamment dans le cadre de l’élucidation d’évènements qui n’ont pas ou peu été documentés. L’accident de la plateforme de forage Deepwater Horizon, opérée pour le compte de BP dans le Golfe du Mexique et victime d’un blowout le 20 avril 2010, sera notre étude de cas pour la mise en place de notre preuve de concept de forage de données. Cet accident est le résultat d’un décalage inédit entre l’état de l’art des heuristiques des ingénieurs de forage et celui des ingénieurs antipollution. La perte de contrôle du puits MC 252-1 est donc une faillite d’ingénierie et il faudra quatre-vingt-sept jours à l’équipe d’intervention pour reprendre le contrôle du puits devenu sauvage et stopper ainsi la pollution. Deepwater Horizon est en ce sens un cas d’ingénierie en situation extrême, tel que défini par Guarnieri et Travadel.Nous proposons d’abord de revenir sur le concept général d’accident au moyen d’une analyse linguistique poussée présentant les espaces sémantiques dans lesquels se situe l’accident. Cela permet d’enrichir son « noyau de sens » et l’élargissement de l’acception commune de sa définition.Puis, nous amenons que la revue de littérature doit être systématiquement appuyée par une assistance algorithmique pour traiter les données compte tenu du volume disponible, de l’hétérogénéité des sources et des impératifs d’exigences de qualité et de pertinence. En effet, plus de huit cent articles scientifiques mentionnant cet accident ont été publiés à ce jour et une vingtaine de rapports d’enquêtes, constituant notre matériau de recherche, ont été produits. Notre méthode montre les limites des modèles d’accidents face à un cas comme Deepwater Horizon et l’impérieuse nécessité de rechercher un moyen de formalisation adéquat de la connaissance.De ce constat, l’utilisation des ontologies de haut niveau doit être encouragée. L’ontologie DOLCE a montré son grand intérêt dans la formalisation des connaissances à propos de cet accident et a permis notamment d’élucider très précisément une prise de décision à un moment critique de l’intervention. La population, la création d’instances, est le coeur de l’exploitation de l’ontologie et son principal intérêt mais le processus est encore très largement manuel et non exempts d’erreurs. Cette thèse propose une réponse partielle à ce problème par un algorithme NER original de population automatique d’une ontologie.Enfin, l’étude des accidents n’échappe pas à la détermination des causes et à la réflexion sur les « faits socialement construits ». Cette thèse propose les plans originaux d’un « pipeline sémantique » construit à l’aide d’une série d’algorithmes qui permet d’extraire la causalité exprimée dans un document et de produire un graphe représentant ainsi le « cheminement causal » sous-jacent au document. On comprend l’intérêt pour la recherche scientifique ou industrielle de la mise en lumière ainsi créée du raisonnement afférent de l’équipe d’enquête. Pour cela, ces travaux exploitent les avancées en Machine Learning et Question Answering et en particulier les outils Natural Language Processing.Cette thèse est un travail d’assembleur, d’architecte, qui amène à la fois un regard premier sur le cas Deepwater Horizon et propose le forage des données, une méthode et des moyens originaux pour aborder un évènement, afin de faire émerger du matériau de recherche des réponses à des questionnements qui échappaient jusqu’alors à la compréhension. / Data drilling, the method and means developed in this thesis, redefines the process of data extraction, the formalization of knowledge and its enrichment, particularly in the context of the elucidation of events that have not or only slightly been documented. The Deepwater Horizon disaster, the drilling platform operated for BP in the Gulf of Mexico that suffered a blowout on April 20, 2010, will be our case study for the implementation of our proof of concept for data drilling. This accident is the result of an unprecedented discrepancy between the state of the art of drilling engineers' heuristics and that of pollution response engineers. The loss of control of the MC 252-1 well is therefore an engineering failure and it will take the response party eighty-seven days to regain control of the wild well and halt the pollution. Deepwater Horizon is in this sense a case of engineering facing extreme situation, as defined by Guarnieri and Travadel.First, we propose to return to the overall concept of accident by means of an in-depth linguistic analysis presenting the semantic spaces in which the accident takes place. This makes it possible to enrich its "core meaning" and broaden the shared acceptance of its definition.Then, we bring that the literature review must be systematically supported by algorithmic assistance to process the data taking into account the available volume, the heterogeneity of the sources and the requirements of quality and relevance standards. In fact, more than eight hundred scientific articles mentioning this accident have been published to date and some twenty investigation reports, constituting our research material, have been produced. Our method demonstrates the limitations of accident models when dealing with a case like Deepwater Horizon and the urgent need to look for an appropriate way to formalize knowledge.As a result, the use of upper-level ontologies should be encouraged. The DOLCE ontology has shown its great interest in formalizing knowledge about this accident and especially in elucidating very accurately a decision-making process at a critical moment of the intervention. The population, the creation of instances, is the heart of the exploitation of ontology and its main interest, but the process is still largely manual and not without mistakes. This thesis proposes a partial answer to this problem by an original NER algorithm for the automatic population of an ontology.Finally, the study of accidents involves determining the causes and examining "socially constructed facts". This thesis presents the original plans of a "semantic pipeline" built with a series of algorithms that extract the expressed causality in a document and produce a graph that represents the "causal path" underlying the document. It is significant for scientific or industrial research to highlight the reasoning behind the findings of the investigation team. To do this, this work leverages developments in Machine Learning and Question Answering and especially the Natural Language Processing tools.As a conclusion, this thesis is a work of a fitter, an architect, which offers both a prime insight into the Deepwater Horizon case and proposes the data drilling, an original method and means to address an event, in order to uncover answers from the research material for questions that had previously escaped understanding.
|
197 |
Modèles de classification en classes empiétantes : cas des modèles arborés / Classification models with class infringement : tree modelsChâtel, Célia 07 December 2018 (has links)
Le but des modèles traditionnels en classification (comme les partitions et les hiérarchies de parties) est de permettre de discriminer sans ambiguïté et donc de produire des classes non empiétantes (i.e. l’intersection de deux classes est vide ou une classe est incluse dans l'autre). Cependant, cette exigence de non ambiguïté peut conduire à occulter de l’information. Dans le cas des plantes hybrides en biologie par exemple ou encore de textes appartenant à plusieurs genres en analyse textuelle. Les modèles généraux comme les hypergraphes ou les treillis permettent de prendre en compte l’empiétance entre les classes. Plus précisément, les modèles dits "totalement équilibrés" autorisent l'empiétance tout en conservant certaines contraintes utiles en classification.En apprentissage automatique, les arbres de décision, très utilisés pour leur simplicité d'utilisation et de compréhension réalisent à chaque étape un partitionnement d'un ensemble en deux sous-ensembles.Nous montrons dans ce travail différents liens entre la classification traditionnelle et l'apprentissage automatique supervisé et montrons certains apports que chacun des deux mondes peut faire à l'autre.Nous proposons deux méthodes de classification mêlant les deux univers puis étendons la notion de binarité, très utilisée dans le cas des arbres, aux hypergraphes et aux treillis. Nous montrons alors l'équivalence entre les systèmes binarisables et les systèmes totalement équilibrés, faisant de ces derniers de parfaits candidats à la réalisation de modèles de classification en classes empiétantes. Nous proposons également diverses approximations de systèmes par des systèmes totalement équilibrés. / Traditionally, classification models (such as partitions and hierarchies) aim at separating without ambiguities and produce non-overlapping clusters (i.e two clusters are either disjoint or one is included in the other). However, this non ambiguity may lead to mask information such as in the case of hybrid plants in biology or of texts which belong to two (or more) different genres in textual analysis for instance. General models like hypergraphs or lattices allow to take into account overlapping clusters. More precisely, "totally balanced" models allows class infringement and presents some useful constraints for classification.In machine learning, decision trees are a widely used model as they are simple to use and understand. They are also based on the idea of partition of sets.We show in this work different links between traditional classification and supervised machine learning and show what each world can bring to the other.We propose two methods of classification which link the two universes. We then extend the notion of binarity, widely-used for trees, to hypergraphs and lattices. We show the equivalence between binarizable systems and totally balanced systems, which makes of totally balanced structures a great candidate for classification models with class infringement. We also propose some approximation methods of any system (lattice, hypergraph, dissimilarity) by a totally balanced one.
|
198 |
Révéler le contenu latent du code source : à la découverte des topoi de programme / Unveiling source code latent knowledge : discovering program topoiIeva, Carlo 23 November 2018 (has links)
Le développement de projets open source à grande échelle implique de nombreux développeurs distincts qui contribuent à la création de référentiels de code volumineux. À titre d'exemple, la version de juillet 2017 du noyau Linux (version 4.12), qui représente près de 20 lignes MLOC (lignes de code), a demandé l'effort de 329 développeurs, marquant une croissance de 1 MLOC par rapport à la version précédente. Ces chiffres montrent que, lorsqu'un nouveau développeur souhaite devenir un contributeur, il fait face au problème de la compréhension d'une énorme quantité de code, organisée sous la forme d'un ensemble non classifié de fichiers et de fonctions.Organiser le code de manière plus abstraite, plus proche de l'homme, est une tentative qui a suscité l'intérêt de la communauté du génie logiciel. Malheureusement, il n’existe pas de recette miracle ou bien d’outil connu pouvant apporter une aide concrète dans la gestion de grands bases de code.Nous proposons une approche efficace à ce problème en extrayant automatiquement des topoi de programmes, c'est à dire des listes ordonnées de noms de fonctions associés à un index de mots pertinents. Comment se passe le tri? Notre approche, nommée FEAT, ne considère pas toutes les fonctions comme égales: certaines d'entre elles sont considérées comme une passerelle vers la compréhension de capacités de haut niveau observables d'un programme. Nous appelons ces fonctions spéciales points d’entrée et le critère de tri est basé sur la distance entre les fonctions du programme et les points d’entrée. Notre approche peut être résumée selon ses trois étapes principales : 1) Preprocessing. Le code source, avec ses commentaires, est analysé pour générer, pour chaque unité de code (un langage procédural ou une méthode orientée objet), un document textuel correspondant. En outre, une représentation graphique de la relation appelant-appelé (graphe d'appel) est également créée à cette étape. 2) Clustering. Les unités de code sont regroupées au moyen d’une classification par clustering hiérarchique par agglomération (HAC). 3) Sélection du point d’entrée. Dans le contexte de chaque cluster, les unités de code sont classées et celles placées à des positions plus élevées constitueront un topos de programme.La contribution de cette thèse est triple: 1) FEAT est une nouvelle approche entièrement automatisée pour l'extraction de topoi de programme, basée sur le regroupement d'unités directement à partir du code source. Pour exploiter HAC, nous proposons une distance hybride originale combinant des éléments structurels et sémantiques du code source. HAC requiert la sélection d’une partition parmi toutes celles produites tout au long du processus de regroupement. Notre approche utilise un critère hybride basé sur la graph modularity et la cohérence textuelle pour sélectionner automatiquement le paramètre approprié. 2) Des groupes d’unités de code doivent être analysés pour extraire le programme topoi. Nous définissons un ensemble d'éléments structurels obtenus à partir du code source et les utilisons pour créer une représentation alternative de clusters d'unités de code. L’analyse en composantes principales, qui permet de traiter des données multidimensionnelles, nous permet de mesurer la distance entre les unités de code et le point d’entrée idéal. Cette distance est la base du classement des unités de code présenté aux utilisateurs finaux. 3) Nous avons implémenté FEAT comme une plate-forme d’analyse logicielle polyvalente et réalisé une étude expérimentale sur une base ouverte de 600 projets logiciels. Au cours de l’évaluation, nous avons analysé FEAT sous plusieurs angles: l’étape de mise en grappe, l’efficacité de la découverte de topoi et l’évolutivité de l’approche. / During the development of long lifespan software systems, specification documents can become outdated or can even disappear due to the turnover of software developers. Implementing new software releases or checking whether some user requirements are still valid thus becomes challenging. The only reliable development artifact in this context is source code but understanding source code of large projects is a time- and effort- consuming activity. This challenging problem can be addressed by extracting high-level (observable) capabilities of software systems. By automatically mining the source code and the available source-level documentation, it becomes possible to provide a significant help to the software developer in his/her program understanding task.This thesis proposes a new method and a tool, called FEAT (FEature As Topoi), to address this problem. Our approach automatically extracts program topoi from source code analysis by using a three steps process: First, FEAT creates a model of a software system capturing both structural and semantic elements of the source code, augmented with code-level comments; Second, it creates groups of closely related functions through hierarchical agglomerative clustering; Third, within the context of every cluster, functions are ranked and selected, according to some structural properties, in order to form program topoi.The contributions of the thesis is three-fold:1) The notion of program topoi is introduced and discussed from a theoretical standpoint with respect to other notions used in program understanding ;2) At the core of the clustering method used in FEAT, we propose a new hybrid distance combining both semantic and structural elements automatically extracted from source code and comments. This distance is parametrized and the impact of the parameter is strongly assessed through a deep experimental evaluation ;3) Our tool FEAT has been assessed in collaboration with Software Heritage (SH), a large-scale ambitious initiative whose aim is to collect, preserve and, share all publicly available source code on earth. We performed a large experimental evaluation of FEAT on 600 open source projects of SH, coming from various domains and amounting to more than 25 MLOC (million lines of code).Our results show that FEAT can handle projects of size up to 4,000 functions and several hundreds of files, which opens the door for its large-scale adoption for program understanding.
|
199 |
Orion, a generic model for data mining : application to video games / Orion, un modèle générique pour la fouille de données : application aux jeux vidéoSoler, Julien 08 September 2015 (has links)
Les besoins de l'industrie des jeux vidéo sont en constante évolution. Dans le domaine de l'intelligence artificielle, nous identifions dans le chapitre 1, les différents besoins de l'industrie dans ce domaine. Nous pensons que la conception d'une solution d'apprentissage de comportements par imitation qui soit fonctionnelle et efficace permettrait de couvrir la plupart de ces besoins. Dans le chapitre 2, nous montrons que les techniques d'extraction de données peuvent être très utiles pour offrir une telle solution. Cependant, ces techniques ne sont pas suffisantes pour construire automatiquement un comportement complet qui serait utilisable dans les jeux vidéo modernes. Dans le chapitre 3, nous proposons un modèle générique pour apprendre des comportements en imitant des joueurs humains : Orion. Ce modèle est composé de deux parties, un modèle structurel et un modèle comportemental. Le modèle structurel propose un framework généraliste d'exploration de données, fournissant une abstraction des différentes méthodes utilisées dans ce domaine de recherche. Ce framework nous permet de construire un outil d'usage général avec de meilleures possibilités de visualisation que les outils d'extraction de données existants. Le modèle comportemental est conçu pour intégrer des techniques d'exploration de données dans une architecture plus générale et repose sur les Behavior Trees. Dans le chapitre 4, nous illustrons comment nous utilisons notre modèle en mettant en oeuvre le comportement des joueurs dans les jeux Pong et UT3 en utilisant Orion. Dans le chapitre 5, nous identifions les améliorations possibles, à la fois de notre outil d'extraction de données et de notre modèle comportemental. / The video game industry's needs are constantly changing. In the field of artificial intelligence, we identify inchapter 1, the different needs of industry in this area. We believe that the design of a learning behavior through imitation solution that is functional and efficient would cover most of these needs. In chapter 2, we show that data mining techniques can be very useful to provide such a solution. However, for now, these techniques are not sufficient to automatically build a comprehensive behavior that would be usable in modern video games. In chapter 3, we propose a generic model to learn behavior by imitating human players: Orion.This model consists of two parts, a structural model and a behavioral model. The structural model provides a general data mining framework, providing an abstraction of the different methods used in this research. This framework allows us to build a general purpose tool with better possibilities for visualizing than existing data mining tools. The behavioral model is designed to integrate data mining techniques in a more general architecture and is based on the Behavior Trees. In chapter 4, we illustrate how we use our model by implementing the behavior of players in the Pong and Unreal Tournament 3 games using Orion. In chapter 5,we identify possible improvements, both of our data mining framework and our behavioral model.
|
200 |
Modélisation des hydrosystèmes par approche systémique / Hydrosystem modelling with a systemic approachBardolle, Frédéric 20 June 2018 (has links)
Dans l'état actuel des connaissances, il est impossible de poser correctement toute la physique permettant de modéliser les hydrosystèmes dans leur ensemble, notamment à cause de la dynamique très contrastée des différents compartiments. Les modèles systémiques simplifient la représentation des hydrosystèmes en ne considérant que leurs flux d’échange. L’objet de ce travail est de proposer un outil de modélisation systémique fournissant des informations sur le fonctionnement physique des hydrosystèmes, tout en étant simple et parcimonieux. Ce modèle nommé MASH (pour Modélisation des Hydrosystèmes par Approche Systémique) est basé sur l’utilisation de fonctions de transfert paramétriques choisies en fonction de leur faible paramétrisation, leur caractère général et leur interprétation physique. Il est versatile, dans le sens que son architecture est modulable et que le nombre d’entrées, le nombre de fonctions de transfert en série et le type de fonctions de transfert utilisé est laissée à la discrétion de l’utilisateur. Ce modèle est inversé en utilisant de récentes avancées en apprentissage automatique grâce à une famille d’heuristiques basée sur l’intelligence en essaim nommé « optimisation par essaim de particule » (ou PSO pour « Particle Swarm Optimization »). Le modèle et ses algorithmes d’inversion sont testés sur un cas d’école synthétique, puis sur un cas d’application réel. / In the light of current knowledge, hydrosystems cannot be modelled as a whole since underlying physical principles are not totally understood. Systemic models simplify hydrosystem representation by considering only water flows. The aim of this work is to provide a systemic modelling tool giving information about hydrosystem physical behavior while being simple and parsimonious. This model, called HMSA (for Hydrosystem Modelling with a Systemic Approach) is based on parametric transfer functions chose for their low parametrization, their general nature and their physical interpretation. It is versatile, since its architecture is modular, and the user can choose the number of inputs, outputs and transfer functions. Inversion is done with recent machine learning heuristic family, based on swarm intelligence called PSO (Particle Swarm Optimization). The model and its inversion algorithms are tested first with a textbook case, and then with a real-world case.
|
Page generated in 0.2505 seconds