DatalogDatalog est un langage de requête et de règles pour les bases de données déductives. Il correspond à un sous ensemble de Prolog. Ses origines remontent aux débuts de la programmation logique. Datalog a la syntaxe suivante.
Programmation logiqueLa programmation logique est une forme de programmation qui définit les applications à l'aide : d'une base de faits : ensemble de faits élémentaires concernant le domaine visé par l'application, d'une base de règles : règles de logique associant des conséquences plus ou moins directes à ces faits, d'un moteur d'inférence (ou démonstrateur de théorème ) : exploite ces faits et ces règles en réaction à une question ou requête. Cette approche se révèle beaucoup plus souple que la définition d'une succession d'instructions que l'ordinateur exécuterait.
PrologProlog est un langage de programmation logique. Le nom Prolog est un acronyme de PROgrammation en LOGique. Il a été créé par Alain Colmerauer et Philippe Roussel vers 1972 à Luminy, Marseille. Le but était de créer un langage de programmation où seraient définies les règles logiques attendues d'une solution et de laisser le compilateur la transformer en séquence d'instructions. L'un des gains attendus était une facilité accrue de maintenance des applications, l'ajout ou la suppression de règles au cours du temps n'obligeant pas à réexaminer toutes les autres.
Conjunctive queryIn database theory, a conjunctive query is a restricted form of first-order queries using the logical conjunction operator. Many first-order queries can be written as conjunctive queries. In particular, a large part of queries issued on relational databases can be expressed in this way. Conjunctive queries also have a number of desirable theoretical properties that larger classes of queries (e.g., the relational algebra queries) do not share.
Programmation déclarativevignette|Binario cropped. La programmation déclarative est un paradigme de programmation qui consiste à créer des applications sur la base de composants logiciels indépendants du contexte et ne comportant aucun état interne. Autrement dit, l'appel d'un de ces composants avec les mêmes arguments produit exactement le même résultat, quel que soit le moment et le contexte de l'appel. En programmation déclarative, on décrit le quoi, c'est-à-dire le problème.
Deductive databaseA deductive database is a database system that can make deductions (i.e. conclude additional facts) based on rules and facts stored in the (deductive) database. Datalog is the language typically used to specify facts, rules and queries in deductive databases. Deductive databases have grown out of the desire to combine logic programming with relational databases to construct systems that support a powerful formalism and are still fast and able to deal with very large datasets.
Sémantique des modèles stablesLa sémantique des modèles stables est une sémantique déclarative en programmation logique utilisant la négation par l'échec. C'est l'une des nombreuses approches standard pour la signification de la négation dans la programmation logique, au côté de la terminaison de programme et de la sémantique bien fondée. La sémantique du modèle stable est à la base du langage de programmation déclarative Answer Set Programming (ASP).
Programme informatiqueUn programme informatique est un ensemble d'instructions et d’opérations destinées à être exécutées par un ordinateur. Un programme source est un code écrit par un informaticien dans un langage de programmation. Il peut être compilé vers une forme binaire ou directement interprété. Un programme binaire décrit les instructions à exécuter par un microprocesseur sous forme numérique. Ces instructions définissent un langage machine.
Calcul distribuéUn calcul distribué, ou réparti ou encore partagé, est un calcul ou un traitement réparti sur plusieurs microprocesseurs et plus généralement sur plusieurs unités centrales informatiques, et on parle alors d'architecture distribuée ou de système distribué. Le calcul distribué est souvent réalisé sur des clusters de calcul spécialisés, mais peut aussi être réalisé sur des stations informatiques individuelles à plusieurs cœurs. La distribution d'un calcul est un domaine de recherche des sciences mathématiques et informatiques.
Complexité descriptiveEn informatique théorique, la complexité descriptive est une branche de la théorie de la complexité et de la théorie des modèles, qui caractérise les classes de complexité en termes de logique qui permet de décrire les problèmes. La complexité descriptive donne un nouveau point de vue car on définit des classes de complexité sans faire appel à une notion de machines comme les machines de Turing. Par exemple la classe NP correspond à l'ensemble des problèmes exprimables en logique du second ordre existentielle : c'est le théorème de Fagin.
Compréhension du langage naturelvignette|L'apprentissage de la lecture par Sigurður málari, siècle. La compréhension du langage naturel (NLU en anglais) ou linterprétation en langage naturel (NLI) est une sous-rubrique du traitement de la langue naturelle en intelligence artificielle qui traite de la compréhension en lecture automatique. La compréhension du langage naturel est considérée comme un problème difficile en IA. Il existe un intérêt commercial considérable dans ce domaine en raison de son application à la collecte de nouvelles, à la catégorisation des textes, à l'activation vocale, à l'archivage et à l'analyse de contenu à grande échelle.
Mission d'évaluation des politiques publiquesLa Mission d'évaluation des politiques publiques (MEPP) est un service rattaché à la Direction générale de la modernisation de l'État, placé sous l'autorité fonctionnelle du cabinet du Ministère du Budget, des Comptes publics, de la Fonction publique et de la Réforme de l'État et chargé de piloter les structures d'évaluation interne de l'administration. La Mission d’évaluation des politiques publiques doit supporter à l’échelle interministérielle la gouvernance de l'évaluation et la coordination des Comités ministériels d’évaluation (CME).
Inclusion (mathématiques)En mathématiques, l’inclusion est une relation d'ordre entre ensembles. On dit qu'un ensemble A est inclus dans un ensemble B si tous les éléments de A sont aussi éléments de B. On dit dans ce cas que A est un sous-ensemble ou une partie de B, ou encore que B est sur-ensemble de A. Cette relation n'est pas symétrique a priori, car il peut y avoir des éléments du deuxième ensemble qui n'appartiennent pas au premier. Plus précisément, il y a inclusion dans les deux sens entre deux ensembles si et seulement si ces deux ensembles sont égaux.
Ordinateur à programme enregistréUn ordinateur à programme enregistré (ou calculateur à programme enregistré; en anglais stored-program computer) est un ordinateur qui enregistre les instructions des programmes qu'il exécute dans sa mémoire vive. La définition précédente est souvent étendue pour exiger que le traitement des instructions et des données en mémoire doive être interchangeable et uniforme.
Systèmes de questions-réponsesUn système de questions-réponses (question answering system en anglais, ou QA system) est un système informatique permettant de répondre automatiquement à des questions posées par des humains, lors d'un échange fait en langue naturelle (comme le français). La discipline liée appartient aux domaines du traitement automatique de la langue et de la recherche d'information. Elle se démarque de l'interrogation de moteurs de recherche en cela qu'elle vise non seulement à récupérer les documents pertinents d'une collection de textes, mais également à formuler une réponse très ciblée à la question posée.
Consolidation informatiqueLa consolidation est en informatique le regroupement cohérent de données. Elle concerne généralement des données organisées logiquement ou liées entre elles. Plus spécifiquement pour les tableurs, il s’agit du regroupement de plusieurs tableaux issus de feuilles différentes (les feuilles sont des composantes des tableurs) voire de classeurs différents. La consolidation de données consiste à rassembler plusieurs données semblables afin d’obtenir un rapport plus facile à consulter que l’information brute présente sur le serveur, avec le moins de perte d’information possible.
Hello worldvignette|alt=Un carré contient ce qui semble être des pixels multicolores et en son centre une croix de même.|Programme « Hello World » en Piet. « Hello world » (traduit littéralement en français par ) sont les mots traditionnellement écrits par un programme informatique simple dont le but est de faire la démonstration rapide de son exécution sans erreur. Selon leur langage de programmation, certains des programmes imprimant ces mots sont étonnamment complexes, particulièrement dans un contexte d’interface graphique.
Génération automatique de textesLa génération automatique de texte (GAT) est une sous discipline de la linguistique computationnelle qui vise à exprimer sous une forme textuelle, syntaxiquement et sémantiquement correcte, une représentation formelle d'un contenu. Outre ses nombreuses applications existantes ou potentielles - par exemple pour produire automatiquement des bulletins météorologiques, ou des rapports automatisés - elle offre par ailleurs un cadre d'investigation des théories linguistiques, et particulièrement de ses mécanismes de production.
Natural-language user interfaceNatural-language user interface (LUI or NLUI) is a type of computer human interface where linguistic phenomena such as verbs, phrases and clauses act as UI controls for creating, selecting and modifying data in software applications. In interface design, natural-language interfaces are sought after for their speed and ease of use, but most suffer the challenges to understanding wide varieties of ambiguous input. Natural-language interfaces are an active area of study in the field of natural-language processing and computational linguistics.
Traitement automatique du langage naturelLe traitement automatique du langage naturel (TALN), en anglais natural language processing ou NLP, est un domaine multidisciplinaire impliquant la linguistique, l'informatique et l'intelligence artificielle, qui vise à créer des outils de traitement du langage naturel pour diverses applications. Il ne doit pas être confondu avec la linguistique informatique, qui vise à comprendre les langues au moyen d'outils informatiques.