Maison  >  Article  >  développement back-end  >  Sémantique des balises XML

Sémantique des balises XML

黄舟
黄舟original
2017-02-25 14:11:072315parcourir

[Résumé] Bien que la définition du type de document XML fournisse un mécanisme capable de décrire la syntaxe du langage XML sous une forme lisible par machine, il n'existe actuellement aucun mécanisme similaire pour spécifier la sémantique spécifique du vocabulaire XML. Cela signifie qu'il n'existe aucun moyen d'expliquer la signification des balises XML, et que les faits et les relations représentés par XML ne peuvent pas être définis de manière claire, exhaustive et normative. Cela a de graves conséquences pratiques et théoriques. Du côté positif, les structures XML peuvent recevoir une sémantique arbitraire et être utilisées dans des domaines imprévus par leurs concepteurs d'origine. Du côté le moins positif, les développeurs de contenu et les ingénieurs logiciels doivent s'appuyer sur une documentation fade ou, pire encore, devoir deviner l'intention du concepteur du langage de balisage. Ce processus prend du temps, est sujet aux erreurs et ne peut pas être vérifié. Même si le travail de documentation original du concepteur est parfaitement réalisé, des situations insatisfaisantes continueront à se produire. En outre, le manque de recherche sur la nature sémantique du balisage signifie également que le traitement des documents numériques, qui appartient au domaine des applications techniques, n'a aucune théorie. Bien que certains projets en cours (XML Schema, RDF, Semantic Web) aient obtenu certains résultats, aucun de ces projets ne résout directement et complètement les problèmes fondamentaux de la sémantique du balisage XML. Cet article passe en revue l'histoire du développement du concept de signification de balisage, clarifie la motivation pour interpréter la sémantique formelle de XML et présente un projet de recherche scientifique sur la sémantique - le projet BECHAMEL Markup Semantics.
[Mots clés] SGML | Les systèmes de balisage de texte tels que le langage de balisage généralisé standard (SGML) et le langage de balisage extensible (XML) ont commencé à être appliqués dans tous les aspects de la société, des affaires, de la culture et de la vie. SGML/XML est une technologie lisible par machine qui définit un langage de balisage descriptif. À l'exception de certaines parties qui nécessitent un traitement particulier, ce langage définit clairement la structure du document et sa signification sous-jacente. SGML/XML se développe rapidement et l'utilisation généralisée de cette technologie peut prendre en charge un traitement et une publication d'interopérabilité de documents hautes performances.
Ce bon souhait s'est partiellement réalisé. La supériorité du SGML/XML a dépassé les attentes des gens. Cependant, la fonctionnalité, l'interopérabilité, la diversité et l'accessibilité du système documentaire SGML/XML doivent encore être améliorées. Si cette opportunité n'est pas saisie, les conséquences seront très graves : l'industrie a dépensé des coûts financiers élevés et a perdu de nombreuses opportunités ; cela pourrait également conduire à des désastres dans les applications critiques en matière de sécurité pour les personnes handicapées, ce qui les empêchera d'avoir un accès égal ; aux bénéfices culturels et commerciaux de la société contemporaine. De plus, des problèmes de longue date continuent de nous rappeler que les meilleurs modèles de documents numériques actuels sont encore imparfaits, ou du moins incomplets.
La racine de ces problèmes est que, bien que SGML/XML puisse fournir une structure significative pour les documents, SGML/XML ne peut pas représenter les relations sémantiques de base entre les composants et les sujets du document de manière systématique et traitable par machine. SGML/XML prend en charge la description d'une « grammaire » lisible par machine, mais il ne fournit pas de mécanisme pour expliquer la connotation sémantique d'une certaine grammaire. Par conséquent, il n'existe aucun moyen d'exprimer formellement la signification potentielle d'un vocabulaire SGML/XML. Le SGML/XML actuel ne peut même pas exprimer des faits sémantiques de base très simples sur les systèmes d'annotation de documents. Ces faits sont généralement pré-conçus par les concepteurs de langages de balisage, mais la mise en œuvre spécifique dépend toujours des utilisateurs et des logiciels du langage de balisage.
Ce manque de capacités expressives oblige les utilisateurs de SGML/XML à deviner les relations sémantiques auxquelles les concepteurs de langages de balisage pensaient mais n'exprimaient pas formellement. Les développeurs de contenu doivent deviner l'intention et le travail du concepteur sur la base de ces inférences lors de l'encodage du contenu, sans être en mesure d'exprimer clairement leurs inférences et intentions à d'autres ou aux applications qui traitent le contenu encodé. Les concepteurs de logiciels doivent également deviner les intentions possibles des concepteurs de langages de balisage et intégrer cette hypothèse dans les outils logiciels et les systèmes d'application. Parfois, des conjectures de second ordre sont nécessaires : ​​le concepteur du logiciel devine l'inférence du développeur de contenu sur l'intention du concepteur du langage de balisage.
De toute évidence, ces spéculations sont incomplètes, faillibles et non vérifiées. De plus, les processus de production et de mise en œuvre prennent du temps et demandent beaucoup de main d’œuvre, et la fonctionnalité et l’interopérabilité sont également médiocres. Equiper un document général en langage naturel d'une spécification SGML/XML ne résout pas parfaitement ce problème. Bien sûr, les documents ordinaires en langage naturel peuvent fournir quelques indications aux fournisseurs de contenu et aux ingénieurs logiciels, mais il n'existe actuellement aucune règle générale pour les documents SGML/XML. Dans tous les cas, les documents ordinaires en langage naturel ne sont pas sous une forme lisible par machine, et c'est le problème dont nous parlons avec le système de balisage SGML/XML.
L'idée d'une description sémantique traitable par machine liée à SGML et XML n'a pas encore été formée. C'est la source des problèmes actuels dans le domaine de l'ingénierie et des obstacles au développement futur. Il existe également peu d'études sémantiques connexes, mais de nombreux chercheurs l'ont fait. commencé à prêter attention à cette question. Le travail sur W3CSchema est lié à cela, mais ne couvre qu'une petite partie de ce problème (comme les types de données). Le projet « Web sémantique » du W3C est également lié à ce sujet, mais il vise à développer une technologie commune de représentation des connaissances basée sur XML. Nos recherches se concentrent sur la sémantique du balisage des documents, qui est cachée dans les systèmes de traitement de documents réels. On peut dire que l’essence du Web sémantique est de concevoir des balises sémantiques. Cependant, dans cet article, nous pensons que pour résoudre les problèmes ci-dessus, nous devons également considérer en profondeur la signification essentielle des balises.
Ensuite, cet article explique d'abord la signification du balisage à partir du contexte historique (les marqueurs jouent un rôle intéressant dans le développement des méthodes de traitement de texte) ; deuxièmement, il décrit en détail quels facteurs créent le besoin d'un balisage sémantique formel et quels facteurs ; déterminer les besoins sémantiques; enfin, une brève introduction est donnée à un projet de recherche auquel plusieurs institutions participent à la mise en œuvre - le projet BECHAMEL Markup Semantics, qui travaille dur pour résoudre le problème sémantique des marques.
2. Contexte historique
Les « marques » documentaires peuvent probablement être considérées comme faisant partie du système de communication, y compris les premiers écrits, copies, publications et impressions. Cependant, avec le développement du traitement et de la composition de textes numériques, l'utilisation de. les marques sont devenues conscientes et C'est courant et est devenu un domaine d'innovation important dans le développement de systèmes. La période des années 1960 aux années 1980 a été une période de développement complet et systématique des systèmes de balisage de documents, l'accent étant mis sur l'amélioration de l'efficacité et de la fonctionnalité de la composition numérique et du traitement de texte. Au début des années 1980, on travaillait encore sur un cadre théorique de marquage et on l’utilisait pour soutenir le développement de systèmes hautes performances. Certains résultats dans ce domaine ont été publiés, mais la plupart d'entre eux ne sont consignés que dans des documents de travail et des produits sous diverses formes standard.
Un point de vue qui a émergé à ce stade est que le document, en tant que réalisation intellectuelle, est plus approprié pour être résumé dans un modèle de structure hiérarchique ordonnée d'une série d'objets (tels que des chapitres, des paragraphes, des formules, etc.) plutôt que que le texte unidimensionnel Modèle de flux de caractères. Le flux de caractères est souvent mélangé à un grand nombre d'encodages qui définissent le format, des structures décrivant la mise en page (telles que les numéros de page, les colonnes, les lignes d'impression), des matrices de valeurs de pixels et d'autres expressions potentielles dans différents systèmes de traitement et de stockage de documents. . Le modèle de structure hiérarchique ordonnée résume deux annotations essentiellement différentes, à savoir les annotations qui identifient les objets de texte d'édition (titres, chapitres, etc.) et les annotations qui décrivent les exigences de mise en page. L'application de la première a donné certains résultats. Les éléments pertinents du document tels que les titres, les chapitres, les paragraphes, les équations, les citations, etc. peuvent être clairement marqués par des balises délimitatrices, et les éléments peuvent ensuite être traités indirectement via des règles mappées au type d'élément. Cette séparation du contenu et de la forme permet l’indirection et l’abstraction au niveau de base dans une économie combinatoire commune. Cette forme de séparation a une valeur pratique énorme et variée dans tous les aspects du traitement des documents et, plus important encore, elle semble éclairer la question de savoir ce qu'est exactement un document. Le balisage descriptif utilisé pour ce faire marque non seulement la portée de l'élément, mais porte également le sens que le modèle de document veut révéler (par exemple, ce texte est un chapitre).
Au début des années 1980, l'Institut national américain de normalisation (ANSI/ISO) a publié l'influente métagrammaire de balisage de documents SGML et a trié les travaux théoriques et analytiques antérieurs sur le balisage et la structure des documents. SGML fournit un formulaire lisible par machine pour définir un langage de balisage descriptif. En tant que méta-grammaire, SGML ne définit pas de langage de balisage, mais détaille les techniques de développement de langages de balisage lisibles par machine. Le cœur de cette définition est un mécanisme d'expression formelle similaire à la forme Backus-Naur (BNF). Ce mécanisme contient des règles pour définir les propriétés typées et leurs valeurs, ainsi que d'autres conceptions pour une abstraction et une indirection plus poussées (voir les commentaires sur les définitions de types de documents (DTD) et Backus-Noel Un résumé du degré de similarité des paradigmes). Structurellement, un document SGML est un arbre avec des branches ordonnées et des nœuds étiquetés, qui est le produit formel de sa DTD correspondante.
Après des années d'analyse et de pratique, les idées de base derrière SGML sont devenues bien connues. Tirant parti des normes industrielles au niveau de la méta-syntaxe et de l'innovation localisée au niveau du vocabulaire, les mécanismes uniques de SGML (méta-syntaxe de type paradigme backus-norr, paires attribut typé/valeur d'attribut, références d'entité, etc.) sont appliqués. Les programmes et les outils sont mis en œuvre efficacement. Le langage de balisage SGML lui-même semble évoluer tout en prenant en charge et en optimisant les flux de travail idéaux pour la conception, la mise en œuvre et l'utilisation du système documentaire. Du milieu des années 1980 au début des années 1990, un grand nombre de systèmes d’annotation basés sur SGML ont été développés.
Bien que le développement de SGML ait reçu beaucoup d'attention, l'idée était bonne et elle a été mise en œuvre avec succès dans de nombreux domaines. Au cours des dix premières années, presque personne ne l'a utilisé. De nombreux facteurs conduisent à ce résultat, mais le plus important est que SGML lui-même est trop complexe. En particulier, SGML contient de nombreux attributs facultatifs complexes, et le logiciel correspondant peut ne pas avoir à les implémenter du tout, ce qui entraîne un développement très lent. du logiciel SGML. Pire encore, si le document n'est pas validé avec une DTD, une analyse plus approfondie est impossible. Le contrôle des abréviations signifie que les limites des éléments ne peuvent pas être déterminées sans tenir compte de la syntaxe du document. De plus, SGML contient également d'autres attributs, qui rendront les outils d'analyse syntaxique existants inapplicables à la grammaire formelle et incapables d'effectuer une analyse syntaxique efficace.
En termes de publication et de communication en ligne, le système SGML peut être appliqué au HTML (Hypertext Markup Language). La version originale de HTML était vaguement définie et manquait d'instructions de syntaxe formelles. Plus tard, le SGMLDTD de HTML a suscité un intérêt, et il s'est avéré difficile de concevoir une DTD pour quelque chose qui était devenu la pratique « correcte ». Plus important encore, parce que dans la spécification HTML d'origine, les fournisseurs ont arbitrairement ajouté des balises programmatiques (telles que

) aux balises descriptives clés (telles que ), ce qui a amené les développeurs et les utilisateurs à ignorer également la distinction entre le balisage descriptif et procédural. La partie descriptive du HTML ne reflète même pas très bien la structure hiérarchique du document, et la spécification ne fournit pas de langage de feuille de style pour prendre en charge l'indirection. Enfin, le mécanisme de SGML ne peut pas étendre l'ensemble d'éléments et utiliser l'ensemble d'éléments de remplacement. Il semble que le document HTML ne puisse pas être traité par le processeur général SGML (qui permet l'extension et le remplacement des DTD), mais ne puisse être traité que par un processeur SGML. un formateur HTML spécifique, qui coopère avec le processeur. Les règles de formatage codées en dur gèrent les balises HTML. <br>Le développement ultérieur du HTML peut être considéré comme le processus de transformation du langage HTML libre d'origine en séquence de langage SGML. Cette transformation est réalisable avec suffisamment de temps et de ressources pour appliquer ces règles éprouvées de conception de systèmes documentaires. Cependant, l'organisation W3C nouvellement créée fait face à une forte pression pour adopter de nouvelles collections d'éléments et appliquer SGML sur le Web. Les défauts de SGML rendent difficile l'exploitation de SGML et du balisage descriptif sur le Web. Le principal problème est qu'il existe un grand nombre de fonctionnalités à sélection multiple, une grammaire formelle complexe et la nécessité de s'appuyer sur la DTD pour déterminer les éléments dans SGML. <br>Pour garantir que HTML et autres technologies associées puissent tirer pleinement parti de la métasyntaxe, les utilisateurs peuvent développer et partager plus facilement de nouveaux éléments spécifiques à un domaine, les documents peuvent être analysés en arborescences d'éléments sans indexation DTD, les outils et applications SGML peuvent évoluer harmonieusement, et le W3C a créé un sous-ensemble de SGML qui espère fournir un standard relativement simple (sans nécessité de sélection), une syntaxe relativement simple et un moyen de gérer les formats de documents non validés sans DTD. Ainsi, XML a vu le jour. Après un an et demi de développement, XML a été officiellement lancé en 1998 comme standard recommandé par le W3C. <br>Depuis 1998, le nouveau langage de balisage XML a connu une croissance explosive, et cette dynamique de développement rapide se poursuit encore aujourd'hui. Les raisons de ce développement explosif sont : <br> (1) Le besoin de nouveaux systèmes d'annotation dans des domaines spécifiques. À mesure que les applications de publication électronique en réseau se développent dans les domaines de la science, de la médecine, des affaires, du droit, de l'ingénierie et dans des domaines spécifiques de ces vastes disciplines, de nouveaux systèmes d'annotation doivent être développés. <br> (2) Réduire le coût et la complexité du développement de nouveaux outils et de leurs applications. L'analyse XML est plus simple que SGML. <br> (3) Les balises XML prennent en charge les processus de traitement et de diffusion de l'information liés à la publication, ainsi que les applications non liées à la publication. <br>Heureusement, nous avons enfin développé une technologie efficace et facile à mettre en œuvre pour créer des langages de balisage, des documents numériques et des systèmes de traitement et de publication de documents hautes performances qui s'intègrent à d'autres programmes de gestion de l'information. En particulier, il convient de souligner que la nécessité de traiter en profondeur l'intention sous-jacente dans la structure du document a favorisé l'émergence de nouvelles fonctions du système, et a également soulevé la nécessité d'un traitement automatique de l'information, au moins de nouveaux besoins qui ne nécessitent pas de beaucoup d'intervention manuelle. <br> 3. Question <br>Malheureusement, certaines expériences et retours existants nous ont fait sobrement prendre conscience que notre compréhension de la signification du balisage descriptif et la technologie actuelle ne peuvent tout simplement pas répondre à nos attentes. <br>Dans les années 1980, le travail de systématisation et de systématique du balisage des documents s'est principalement concentré sur trois aspects. <br>(1) Conceptualisation du modèle de document universel. <br> (2) Développement de spécifications formelles, de technologies liées au vocabulaire et à la grammaire liées aux langages de balisage de documents. Ce langage de balisage de document peut définir des classes de documents spécifiques et instancier et présenter le modèle. <br> (3) Développement de langages de balisage (tels que CALS, AAP, TEI, HTML, etc.). <br>L'utilisation de langages de balisage descriptif pour identifier et annoter les parties logiques d'un document peut clairement transmettre un « sens » qui ne pouvait auparavant exister que sous forme latente. Au moins, la signification des marqueurs procéduraux peut être claire, sans ambiguïté et adaptée au traitement mécanique. <br>De nombreuses personnes qualifient les documents XML de « données auto-descriptives ». Bien qu'il y ait eu quelques voix dissidentes au début (voir Mamrak et, plus important encore, les opinions de Raymond et Tompa), au cours des premières étapes du développement du balisage descriptif, l'enthousiasme parmi les chercheurs en documents s'est estompé, et il semblait que la plupart ne ressentaient pas le besoin d'explorer Représentation laborieuse des documents. Le langage de balisage SGML clairement défini exprime la signification sous-jacente de la structure du document afin qu'il puisse être utilisé pleinement et efficacement pour le traitement automatique. L'un des auteurs de cet article a un jour participé à la rédaction de cette phrase : « Enfin, il devrait être clair que pour les systèmes de balisage concurrents, le balisage descriptif n'est pas seulement la meilleure méthode, mais aussi la meilleure méthode à laquelle on puisse penser. <br>L'expérience des années 1990 montre que cette confiance est quelque peu aveugle. D'un point de vue pratique, la situation s'est beaucoup améliorée aujourd'hui, mais des échecs répétés en termes d'interopérabilité et de fonctionnalité indiquent que SGML/XML n'a pas vraiment réussi à fournir aux documents une signification sous-jacente et une forme exploitable par ordinateur. Dans SGML/XMLDTD, la précision des éléments et des attributs ne correspond pas à la précision d'autres définitions de types de documents similaires, certaines parties du contenu ne sont pas formelles et il n'y a pas de réponse unique et définitive où des inférences doivent être faites. Mais qualitativement parlant, la compréhension des documents est différente de celle d'avant l'émergence de SGML. À cette époque, la compréhension de la signification de la structure des documents provenait d'une réflexion sur des indices relativement obscurs. <br>Les attributs essentiels de DTD expliquent les raisons de la situation ci-dessus : DTD affiche uniquement un vocabulaire et sa grammaire correspondante, et ne représente pas la relation sémantique entre les mots. La DTD ne peut pas déterminer si l'élément "titre" au sens général est représenté par <title> et si <title> est similaire au concept de "titre" que nous appelons habituellement. La DTD peut uniquement indiquer qu'il existe un élément spécifique dont le label est la chaîne "title". Ce label peut être utilisé avec d'autres éléments, qui sont tous définis de la même manière. Par conséquent, les développeurs de contenu et les concepteurs de logiciels qui utilisent des langages de balisage pour annoter des documents doivent simplement déduire la signification de la balise <title> à partir du langage naturel associé au « titre » dans le texte et comment elle est utilisée dans le contexte. Peut-être que les concepteurs du langage d'origine n'ont pas été en mesure de définir systématiquement et strictement la signification de <title>. <br>Bien sûr, cela exagère la situation réelle. Dans un sens, la signification de chaque marque peut être exprimée clairement dans le document en langage purement naturel fourni par le développeur du langage de balisage. Cependant, même les documents DTD les mieux notés dans les domaines industriels et académiques ne résolvent pas fondamentalement le problème. <br>Lors de la conception d'un logiciel qui reflète les relations sémantiques dans un langage de balisage, le concepteur du langage doit être capable d'exprimer clairement la relation entre les différentes parties du document ; puis l'ingénieur logiciel doit être capable de (rechercher, trouver, ouvrir) ; ) utilisez ce document en langage de balisage et concevez des applications pour démontrer ses avantages. Les deux étapes ne peuvent pas être vérifiées par machine et leur crédibilité ne peut être garantie. Si une participation manuelle est requise, cela entravera le développement de systèmes de traitement et de publication de documents en réseau hautes performances. Par conséquent, nous avons besoin d'un mécanisme pour garantir que les concepteurs de langages de balisage peuvent spécifier les relations sémantiques de manière détaillée et formelle, et qu'elles peuvent également être lues et traitées par les applications et complètes leur auto-configuration sans intervention manuelle une par une. <br>Regardons quelques relations sémantiques spécifiques. Ces relations ont plus ou moins une valeur pratique potentielle, mais à l'heure actuelle, elles ne peuvent pas être exploitées facilement et systématiquement car il n'existe pas de représentation standard traitable par machine. En fait, de nombreuses relations sont si importantes que les concepteurs de logiciels déduisent leur présence dans les documents de manière spécifique et construisent des systèmes spécifiques pour les exploiter. <br>Relation de classe. SGML/XML ne contient pas de structure générale pour exprimer la structure hiérarchique ou l'appartenance de classes dans des éléments, des caractéristiques ou des valeurs de caractéristiques. Le cours est le module le plus basique et le plus pratique de la structure actuelle du génie logiciel. On ne peut pas dire qu'un paragraphe est un élément structurel (relation isa), ou que tous les éléments structurels sont des éléments modifiables (relation ako). Deux conceptions SGML/XML de base peuvent parfois implémenter une classification de base par attribut/valeur (en utilisant spécifiquement les attributs « type » et « class »). Cette technologie de classification n'est pas encore suffisamment mature et SGML et XML ne parviennent pas à fournir de meilleurs mécanismes pour contrôler et restreindre son utilisation. Dans les applications pratiques, de nombreux concepteurs de types de documents adoptent la structure hiérarchique des classes pour la conception. XML Schema fournit une déclaration claire des relations de classe, mais il n'explique pas sémantiquement les différences entre ces types complexes et d'autres types complexes. <br>relation d'héritage. Dans de nombreux langages de balisage (tels que TEI et HTML4.0), certains attributs sont hérités par l'élément conteneur et, dans certains cas, le contenu textuel inclus hérite également de ces attributs. Par exemple, si la notation attribut/valeur d'un élément est "lang="de"", ce qui indique que le texte est en allemand, cela signifie que tous ses attributs d'élément enfant sont en allemand. Mais la DTD ne fournit pas d’instructions formelles pour préciser quelles caractéristiques peuvent être héritées. De plus, ces relations d'héritage ne sont pas fixes et peuvent parfois changer en raison de définitions secondaires des éléments inclus. Il existe de nombreuses façons d'hériter, certaines impliquent des attributs d'éléments, d'autres impliquent des attributs d'attributs et d'autres encore impliquent du texte et du contenu d'éléments. Par exemple, si une balise indique qu’une phrase est allemande, cela signifie que tous les mots de la phrase (sauf circonstances particulières) sont allemands. De même, tous les mots et expressions marqués avec l'attribut de suppression seront supprimés, et ceux marqués avec l'attribut clé seront soulignés. Marquer une partie du contenu comme paragraphe signifie que tous les mots (ou éléments) de cette partie du contenu appartiennent. à ce paragraphe. Il n'est pas possible de spécifier de quelles propriétés une DTD hérite, ni sa logique d'héritage (y compris les erreurs de règles). Les concepteurs de logiciels raisonnent souvent sur ces relations dans un langage de balisage spécifique, puis les implémentent dans les outils et applications qu'ils développent. <br>Relation contextuelle et relation de référence. Dans de nombreux langages de balisage, même si un élément a une signification fixe et est utilisé pour marquer le même type d'élément, cet élément peut avoir des significations différentes en raison de contextes différents. Par exemple, certains textes sont marqués comme « <titre> » et leur signification spécifique dépend de la position structurelle du texte. Le "<titre>" sous "" fait référence au titre de l'objet "<document>", tandis que le "<titre>" sous "<chapitre>" partie . Il n’existe aucun critère pour déterminer de quel type de titre il s’agit. La situation est plus compliquée lorsqu'une référence contient un élément "<title>", où le titre est une entité externe à l'article. De telles relations ne peuvent pas être représentées par une DTD, mais peuvent être déduites par les concepteurs de logiciels, ce qui est nécessaire pour un traitement automatisé efficace du texte (si chaque signification est représentée par un identifiant universel différent, seule une petite partie du problème peut être résolue). un problème. Car il faut encore clarifier les caractéristiques binaires de l’attribut et fournir une expression analysable pour localiser l’objet auquel l’attribut s’applique). <br>Le changement essentiel du référent. Une situation similaire mais plus ambiguë existe où le même objet possède plusieurs attributs, dont chacun fait référence au même référent dans le même format, mais qui doivent être interprétés avec précaution pour garantir l'unicité de son référent. Par exemple, une instance d’élément particulière possède les trois propriétés suivantes : c’est un théorème, il est écrit en allemand et il est illisible. De telles descriptions de prédicats simples et directes représentent-elles la même chose (ou instance d'élément) ? Cette représentation de la connaissance est-elle suffisamment robuste ? Cela signifie en réalité que ces phrases abstraites sont écrites en allemand, que les propositions qu’elles expriment sont des théorèmes et que leurs modèles d’expression spécifiques sont vagues. À proprement parler, aucun objet ne possède toutes ces propriétés. <br>Synonymes complets et synonymes partiels. La synonymie complète ou partielle d'un langage de balisage est une relation sémantique extrêmement importante, et l'absence d'un mécanisme pour décrire cette relation synonyme crée de sérieux problèmes d'hétérogénéité. L'utilisation d'un seul langage de balisage peut éliminer les synonymes complets, mais à mesure que les types de langages de balisage augmentent, les synonymes complets et partiels sont toujours difficiles à exprimer mais il existe des relations importantes entre les langages de balisage. Actuellement, nous ne disposons pas d'une méthode formelle appropriée, traitable par ordinateur, pour documenter les synonymes d'éléments, d'attributs et de valeurs d'attribut dans différents langages de balisage. La forme constructive (voir ci-dessous) peut enregistrer la plupart des synonymes complets, mais les synonymes partiels sont difficiles à enregistrer et les synonymes partiels sont plus courants dans les applications pratiques. Le problème de synonymie partielle représenté par les relations d’inclusion de classe contribue encore largement à résoudre le problème de l’hétérogénéité. <br> 4. Projet BECHAMEL <br> Le projet BECHAMEL Markup Semantics est né à la fin des années 1990 et a été réalisé par des chercheurs de Sperberg-Mcqueen (W3C/MIT) et d'autres institutions. Ils venaient du ministère des Affaires culturelles, des langues et de l'information. Institution technologique, Fondation de recherche de l'Université de Bergen, Groupe de recherche sur l'édition électronique, École supérieure de bibliothéconomie et de sciences de l'information, Université de l'Illinois à Urbana-Champaign. Le nom du projet est formé des abréviations des villes où se trouvent tous les collaborateurs (Bergen, Norvège ; Champaign, Illinois ; Espñola, Nouveau-Mexique). <br>Les objectifs de recherche du projet BECHAMEL sont les suivants. <br> (1) Définir les problèmes de représentation et d'inférence étroitement liés à la sémantique du balisage des documents, et développer une taxonomie et une description des problèmes que tous les systèmes de traitement de documents sémantiques doivent résoudre ou affronter. <br> (2) Étudier les propriétés et les relations sémantiques des langages de balisage courants et évaluer l'applicabilité des technologies de représentation des connaissances standardisées (telles que les réseaux sémantiques, les cadres, la logique, la grammaire formelle et les règles de production). Afin de modéliser ces relations et attributs, leur adéquation, leur élégance, leur simplicité et leur efficacité informatique dans la représentation des connaissances doivent également être prises en compte. <br>(3) Développer et tester des cadres de représentation formels et lisibles par machine qui peuvent représenter la sémantique des langages de balisage. <br> (4) Explorez les formes d'application de la technologie de représentation sémantique, telles que la prise en charge du transcodage, la récupération d'informations, l'amélioration de l'accessibilité, etc. Notre objectif actuel est de prendre en charge le raisonnement sémantique pour les instances de bases de données de documents, car nous pensons que c'est le meilleur objectif pour appliquer la technologie de représentation des connaissances. <br> (5) Coopérer avec le projet d'encodage de contenu de bibliothèque numérique dans le domaine de la recherche en informatique en sciences humaines et unir les développeurs d'outils logiciels pour mener des tests à grande échelle de solutions de représentation sémantique. <br>Le premier banc expérimental Prolog a été entièrement développé en une plate-forme prototype de représentation des connaissances permettant de représenter des faits et des règles de raisonnement dans des documents structurés. Le système permet aux analystes de spécifier certains faits (tels que les identifiants universels et les valeurs d'attribut) et de les séparer des faits d'inférence sur les entités et attributs sémantiques. <br>Le système fournit également une couche d'abstraction qui permet d'exprimer clairement la signification du balisage sous une forme lisible et exécutable par machine. Sur cette base, des déductions peuvent être faites sur la base des composants du document, y compris ceux dont les structures sont ambiguës, telles que les composants qui se chevauchent hiérarchiquement. Nous avons développé un ensemble de prédicats qui imitent les méthodes utilisées dans le modèle objet de document du W3C pour la navigation dans la hiérarchie des nœuds et peuvent récupérer diverses valeurs de propriété et informations associées dans la définition du type de document. Cela permet une distinction claire entre les informations grammaticales analysées par l'analyseur et la sémantique du document exprimée par l'analyste. <br>Les résultats préliminaires de la recherche montrent la complexité de la reconnaissance du raisonnement sémantique et la complexité de la compréhension de l'incertitude contextuelle. Ce prototype de système de raisonnement prouve que le raisonnement automatique sur les balises est réalisable et que les règles de Prolog peuvent gérer des situations complexes telles que la non-monotonicité et l'ambiguïté de situation. Des recherches plus approfondies peuvent se référer aux citations. <br> 5. Modélisation sémantique des balises <br>La sémantique des balises de document sont des structures abstraites, des attributs et des relations qui peuvent être comprises par les utilisateurs du langage de balisage. Les balises et leur syntaxe impliquent cet indice sémantique. La sémantique des balises peut utiliser la technologie de représentation des connaissances pour créer des modèles informatiques correspondants en clarifiant les structures, les relations et les attributs. <br><p>Référez-vous au fragment suivant du document de balisage XML</p> <p><img src="https://img.php.cn//upload/image/197/946/771/1488002955228879.jpg" title="1488002955228879.jpg" alt="Sémantique des balises XML"></p> <p>Les lecteurs qui sont familiers avec la structure du </p> <p> le balisage XML le feront connaître naturellement les balises dans les éléments du document P signifie paragraphe, qui a un titre. Le contenu du paragraphe après l'élément de titre forme le corps du texte. Il commence après l'élément de titre et se termine avant la balise de fermeture du paragraphe. La signification et l'utilisation des balises ne sont pas immédiatement évidentes, les auteurs ou les lecteurs peuvent donc se référer à la documentation de la collection de balises </p> <p><img src="https://img.php.cn//upload/image/526/100/980/1488002987952563.jpg" title="1488002987952563.jpg" alt="Sémantique des balises XML"></p> <p>Les balises évidentes sont conçues pour la commodité des lecteurs humains. Ces balises ne peuvent pas être extraites de la structure de données à l'aide d'un analyseur de documents. Comme le montre la figure 1, l'arbre d'analyse (utilisé par les programmeurs de feuilles de style) affiche l'en-tête, la citation et le texte avant et après la citation, chacun étant un nœud enfant distinct du paragraphe, mais l'arbre d'analyse ne peut pas afficher le caractéristiques suivantes : Le titre C'est un attribut du paragraphe entier, le texte est constitué de deux parties dans la structure du contenu et la citation est intégrée à l'intérieur du texte. <br>En fait, la structure des données elle-même n'a aucune distinction entre les paragraphes et les citations ou tout ce qui s'y rapporte. Une structure de données est simplement une structure graphique d'informations associées, comme un identifiant universel avec une valeur de « paragraphe ». Le programme doit être capable de déduire la cohérence entre le sens du document et les balises utilisées, et d'exploiter cette connaissance lorsque la structure arborescente est convertie d'une forme à une autre. Cependant, cette transformation (par exemple via XSLT, DSSSL ou un langage de programmation comme C) repose sur un raisonnement sémantique plutôt que sur un codage explicite </p> <p><img src="https://img.php.cn//upload/image/767/427/454/1488003021428176.jpg" title="1488003021428176.jpg" alt="Sémantique des balises XML"></p> <p>La figure 2 montre comment enrichir et améliorer l'arbre syntaxique en tirant parti des connaissances sémantiques. L'utilisation de la technologie de représentation des connaissances peut coder la relation entre le tout et les parties à un niveau supérieur, ce qui est plus adapté au traitement informatique. Cette figure montre une méthode traditionnelle de représentation de réseau sémantique. Bien entendu, d'autres méthodes sont également en cours de développement, notamment la représentation de cadre, la représentation de règles, la grammaire formelle et la représentation basée sur la logique. Le développement du projet Web sémantique (partie 8 de cet article) pourrait même fournir des méthodes de représentation adaptées aux langages de balisage eux-mêmes. Le nœud du problème est d’établir une hiérarchie d’abstractions, de relations et de contraintes qui ne peuvent pas être modélisées et appliquées par les analyseurs XML/SGML traditionnels. <br>Les connaissances en codage dans des fichiers lisibles par machine (tels que les DTD ou les structures syntaxiques) peuvent être utilisées pour vérifier les contraintes sémantiques du document, fournissant ainsi un modèle de document plus puissant pour les applications. Ces méthodes de représentation plus expressives apportent un soutien important à la conception et à la mise en œuvre de meilleurs systèmes de traitement de documents. <br> 6 Application <br>Ces dernières années, le développement de nombreuses nouvelles technologies a rendu l'annotation structurée conventionnelle de plus en plus populaire. Ces technologies mettent principalement l'accent sur les aspects suivants de la gestion de l'information. <br>Conversions et unions. Pour les développeurs SGML/XML, la tâche la plus courante consiste à concevoir des formulaires de transformation permettant de passer d'une syntaxe d'application à une autre. Ceci est fait pour créer de nouveaux types de représentations de fichiers ou pour faciliter leur stockage dans une base de données. Parfois, les développeurs doivent intégrer ou adapter de grandes collections de documents numériques, chacun représenté par un langage de balisage non interopérable. Quelle que soit la taille de la conversion, la solution conventionnelle consiste à utiliser un langage de programmation de conversion qui agit directement sur l’arbre d’analyse. La structure arborescente générée lors de l'analyse du fichier source est convertie en une instance de structure arborescente dans la langue cible. L'arborescence convertie est sérialisée en nouvelles instances de document, graphiques ou audio. <br>Îles d'information. Ce problème est très similaire au problème de conversion ci-dessus, mais l'objectif n'est pas de convertir une forme de document en une autre forme de document, mais de permettre un stockage distribué de documents ou de fragments de documents afin de fournir une interface d'accès transparente commune aux utilisateurs du système. Bien qu'il ne soit pas nécessaire de convertir textuellement un document d'un langage de balisage à un autre, le système doit être capable de garantir que le contenu du document semble se fondre de manière transparente, même si l'encodage du document peut varier considérablement. <br>Disponibilité. Les outils de création adoptent de plus en plus le balisage structuré, qui est devenu une aubaine pour les utilisateurs malvoyants souhaitant accéder aux documents numériques. Le balisage déclaratif permet aux gens de lire à l'aide d'un lecteur d'écran ou d'un afficheur braille et de faire des inférences à l'aide de mnémoniques plutôt que de s'appuyer sur des indices graphiques. Cependant, à l'heure actuelle, de telles applications doivent s'appuyer sur les propres capacités ou logiciels d'interface de l'utilisateur, ainsi que sur des inférences structurelles basées sur le contenu ou la grammaire des balises indépendantes. Comme décrit dans la documentation sur l'ensemble de balises, les contraintes de syntaxe des balises ainsi que la signification et l'utilisation des balises dépendent strictement de la crédibilité de l'auteur du document. Malheureusement, les auteurs abusent souvent des balises. Le pire exemple est l'utilisation de balises « head » pour marquer certaines mises en page sur les pages Web. <br>Manipulation sûre. Une partie de l'impulsion en faveur du développement de langages de schéma de balisage plus expressifs (tels que le langage de schéma XML du W3C) réside dans la reconnaissance du fait que les erreurs de balisage, les utilisations abusives et les abus ont des conséquences bien plus graves qu'une sortie mal formatée. Le balisage déclaratif est utilisé non seulement dans le commerce électronique, mais également dans des domaines d'information sécurisés tels que les dossiers médicaux et l'industrie aéronautique. Les développeurs dans ces domaines doivent non seulement s'assurer que la structure grammaticale des documents numériques est standardisée, mais également s'assurer qu'ils respectent certains protocoles de sécurité pour assurer la sécurité du traitement, du stockage, de la transmission et de la présentation des documents. <br> 7. Avantages de la sémantique du balisage <br>Les résultats de l'enquête actuelle du projet BECHAMEL montrent que la sémantique du balisage peut résoudre les problèmes ci-dessus des manières suivantes. <br>Description sémantique déclarative et lisible par machine. En ce qui concerne la situation actuelle, les concepteurs de langages de balisage structurés utilisent du texte en langage naturel pour exprimer la signification des balises et clarifier leur utilisation appropriée. Le système sémantique de balisage formel permet aux relations entre les ontologies d'être clairement exprimées par des programmes informatiques et permet un traitement automatisé. <br>Vérification de l'hypothèse. Dans un environnement documentaire sans ensemble formel de balises, un système capable d'interpréter la sémantique des balises fournit un environnement permettant de tester des suppositions et de valider des hypothèses. Dans cet environnement, un utilisateur anonyme d'un langage de balisage spéculera sur les propriétés et les règles qui, selon lui, sont appliquées de manière cohérente dans la base de données documentaire. Le logiciel de traitement de documents récupère ensuite les éléments du document qui sont ou non compatibles avec les règles supposées. <br>Amélioration des contraintes sémantiques. Un analyseur qui prend en charge la vérification de la validité peut non seulement effectuer une vérification syntaxique comme un analyseur sémantique conventionnel, mais également vérifier la supposition lors de la découverte ou de l'écriture de la sémantique. Un tel analyseur peut également appliquer des contraintes sémantiques. Cette opération est cohérente avec la vérification d'hypothèses, mais dans ce cas les contraintes sémantiques sont connues et standardisées. <br>API optimisées et plus expressives. La sémantique de balisage est utilisée lorsque des documents numériques sont transformés ou représentés à l'aide d'applications SGML et XML. Mais les propriétés et associations de niveau supérieur ne sont révélées que lorsque le programme est exécuté. Une sémantique formelle et lisible par machine enrichira les interfaces d'application et accélérera la conception des logiciels. Avec le développement et les modifications des langages de balisage, ces logiciels seront plus pratiques et plus sûrs à maintenir. <br> 8. Travaux connexes <br>En réponse aux défis et problèmes ci-dessus, il existe de nombreuses autres technologies, normes et plans de recherche de traitement de documents. Nous passons ensuite en revue les idées existantes qui tentent de résoudre ces problèmes. <br>Web sémantique. Le Web sémantique fait référence à un certain nombre d’efforts de recherche et de normalisation interconnectés, comme certaines des idées actuelles autour des technologies de balisage et de représentation des connaissances. Le principal est le cadre de description des ressources du W3C, et bien sûr, il inclut également d'autres technologies, telles que la technologie de carte thématique de l'ISO. Le Web sémantique a une vaste portée et des objectifs ambitieux, visant à utiliser la technologie universelle de représentation des connaissances pour améliorer les langages de balisage, « favorisant ainsi le développement global des connaissances humaines ». La recherche et la standardisation du Web sémantique sont différentes de la pensée actuelle : au lieu d'une description sémantique d'un domaine spécifique, elle vise à réaliser une annotation sémantique des connaissances dans tous les domaines. L'objectif de recherche actuel est spécifiquement axé sur la « sémantique du balisage des documents » plutôt que sur le « balisage sémantique général ». Les progrès de la technologie du Web sémantique nous permettront d'utiliser les langages de balisage du Web sémantique pour encoder la sémantique des balises. <br>Modèle objet de document du W3C. Le modèle objet de document est une interface de programmation d'application qui est une structure de données hiérarchique générée après l'analyse de documents XML. Les gens souhaitent concevoir un système capable de fournir diverses interfaces pour la sémantique du balisage, similaires aux formulaires liés à la syntaxe du balisage fournis par le DOM, et finalement former un « DOM sémantique » pour compléter le DOM de la syntaxe du W3C. <br>Schéma W3C. XML Schema est un langage basé sur XML qui peut remplacer les DTD traditionnelles et être utilisé pour contraindre les documents XML. Le développement de ce langage a été motivé par les limitations des DTD, qui sont similaires aux problèmes auxquels nous avons été confrontés dans le projet BECHAMEL. Schema permet aux concepteurs de classes de documents de définir des types de données complexes, tout comme dans les langages de programmation de haut niveau. Cependant, afin d'encoder toutes les relations et contraintes dans la documentation des jeux de balises, nous avons également besoin d'une forme d'expression plus puissante que le schéma XML actuel. La forme architecturale du langage de structuration hypermédia/temporel (HyTime). Les techniques architecturales adaptables proviennent de la reconnaissance du fait que différentes applications de langage de balisage sont souvent codées avec des structures dont le style varie mais qui sont sémantiquement équivalentes. Les formulaires de schéma permettent aux concepteurs de classes de documents de mapper leurs propres instances d'éléments spécifiques à des instances de schéma plus générales qui sont plus faciles à mapper entre différentes applications. Ces mappages représentent en effet des formes contraintes de connaissances sémantiques et sont utiles pour résoudre les défis de transformation et d’intégration ci-dessus. Le projet BECHAMEL consiste, en partie, à construire un modèle qui exprime plus de relations sémantiques que de formes architecturales. <br></p> <p> Ce qui précède est le contenu de la sémantique des balises XML. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) ! <br></p> <p><br></p> <p><br></p>
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Analyse XMLArticle suivant:Analyse XML