Автоматическая обработка естественного языка I. Обработка письменного текста
XML язык разметки структурированных (в т. ч. лингвистических) данных а также XSL язык для преобразования данных
Программа Что такое XML Назначение. Синтаксис Что такое XML Назначение. Синтаксис Определение типа документов (DTD) Определение типа документов (DTD) Язык навигации по документу (XPath) Язык навигации по документу (XPath) Пространства имён (Namespaces) Пространства имён (Namespaces) Преобразования документов (XSL) Преобразования документов (XSL) XML, XSL, XYZ...
Что такое XML Где прочитать? стандарты стандарты простые пособия и тесты простые пособия и тесты пособия, статьи и др. (на многих языках) пособия, статьи и др. (на многих языках) русские переводы нескольких пособий со ZVON.org русские переводы нескольких пособий со ZVON.org
XML = eXtensible Markup Language Что такое XML
Что такое XML? eXtensible Markup Language eXtensible Markup Language –Extensible расширяемый. Каждый пользователь приспосабливает его для своей задачи. XML внешне похож на HTML XML внешне похож на HTML –Это тоже язык разметки (HyperText Markup Language) –Синтаксис обоих происходит от SGML (Standard Generalized Markup Language)
Пример HTML Title of this page Title of this page This is my first homepage. This is my first homepage. This text is bold. This text is bold. And this is bold and italic, wow !
...Вот что из этого получается: 1page.htm
Пример XML …
...Вот что он описывает:
Чем XML отличается от HTML? Почти всем. Главное назначением Главное назначением –HTML используется для отображения данных в браузере. В нем смешаны элементы содержания и оформления. –XML используется для хранения данных и описания их структуры. Он задаёт только содержание документа.
Чем XML отличается от HTML? Гибкостью Гибкостью –Тэги HTML и их значение жёстко заданы в спецификации. –В спецификации XML фиксирован только синтаксис. Тэги XML и их значение задаются пользователем. –Фактически, XML это не один язык, а семейство языков, потому что каждый пользователь, придумывая свои тэги, задаёт свой язык.
Чем XML отличается от HTML? Немного синтаксисом Немного синтаксисом Требования к синтаксису более строгие, что делает структуру документа более наглядной и облегчает автоматизацию его проверки и обработки
Применения XML Обработка структурированных данных Обработка структурированных данных –разработка веб-сайтов, системы управления содержанием (CMS); трансляции новостей (RSS) Google XML Sitemaps Google XML Sitemaps Google XML Sitemaps Google XML Sitemaps –базы данных (Native XML DBMS и экспорт-импорт из других БД) –создание и обработка метаданных (см. тж. Semantic Web) Dublin Core; OLAC, IMDI Dublin Core; OLAC, IMDI –ведение технической документации (формат DocBook и др.) –обработка текста и разметка мультимедиа OpenOffice.org 2.0+, MS Office OpenOffice.org 2.0+, MS Office ELAN, Transcriber,… ELAN, Transcriber,…
Применения XML Обработка структурированных данных Обработка структурированных данных –Semantic Web «надстройка» над Webом, с помощью метаданных описывающая свойства и содержание (сетевых) ресурсов и логические связи между ними. Цель осмысленная машинная обработка информации, логические выводы и т. д. –Semantic Web основан на модели RDF (Resource Description Framework), где все отношения описываются тройками «субъект-отношение- объект», а все элементы троек являются идентификаторами ресурсов (URI). Один из двух основных форматов записи RDF RDF-XML.
Применения XML Обмен данными между приложениями Программы, использующие разные внутренние форматы, могут успешно обмениваться данными в XML. Обмен данными между приложениями Программы, использующие разные внутренние форматы, могут успешно обмениваться данными в XML. –промышленная разработка и производство –электронная коммерция (business2business, business2consumer) Amazon Web Services Amazon Web Services –лингвистика: Fieldworks (БД) => XML => ELAN Обмен данными с портативными устройствами Обмен данными с портативными устройствами Некоторые сферы применения XML Некоторые сферы применения XMLсферы применениясферы применения –Scalable Vector Graphics (SVG) (векторная графика); Scalable Vector Graphics (SVG)Scalable Vector Graphics (SVG) –SMIL (Synchronized Multimedia Integration Language); SMIL (Synchronized Multimedia Integration Language)SMIL (Synchronized Multimedia Integration Language) –VoiceXML (команды программ речевого интерфейса); VoiceXML –MusicXML (музыкальные партитуры); MusicXML –ebXML (electronic business XML); ebXML –Chemical Markup Languge; Chemical Markup LangugeChemical Markup Languge –Structured Product Labeling (фармакология);… Structured Product LabelingStructured Product Labeling
Рекомендуемые XML-редакторы foxe firstobject XML editor (.exe в архиве.zip, не требует установки) Очень простой и быстрый редактор. Поддерживает Юникод. Имеется валидатор Exchanger XML Lite V3.2 (требует установки, понадобится для выполнения заданий по XSL) Полнофункциональный редактор XML/XSL с отладчиком для XSL-трансформаций. Увы, давно не обновлялся.
Простой XML-документ А.А. Зализняк А.А. Зализняк Древнерусские энклитики Древнерусские энклитики Москва Москва J.K. Rowling J.K. Rowling Harry Potter and the Secret Chamber Harry Potter and the Secret Chamber New York New York
Основные понятия: Основные понятия: –документ ( файл) –элемент –атрибут.. COLUMN="G".. Синтаксис XML
Каждый документ должен иметь ровно один корневой элемент Каждый документ должен иметь ровно один корневой элемент У каждого открывающего тэга должен быть закрывающий У каждого открывающего тэга должен быть закрывающий Тэги должны быть правильно вложены друг в друга Тэги должны быть правильно вложены друг в друга Значения атрибутов обязательно берутся в кавычки Значения атрибутов обязательно берутся в кавычки Регистр символов в именах важен! Регистр символов в именах важен!
Синтаксис XML Имя элемента может: Имя элемента может: –содержать буквы, цифры, подчеркивание, двоеточие или точку –начинаться с только с буквы или подчеркивания кроме букв xml (в любом регистре) кроме букв xml (в любом регистре) Значения атрибутов могут заключаться в (двойные прямые) кавычки либо апострофы. Одни могут использоваться внутри других: Значения атрибутов могут заключаться в (двойные прямые) кавычки либо апострофы. Одни могут использоваться внутри других:
Специальные символы Entities Entities В тексте элемента не могут использоваться специальные символы разметки: < и &. Они должны заменяться на < и &. Также определены: > > " " ' ' CDATA sections CDATA sections Если необходимо вставить в документ фрагмент текста, содержащий много спецсимволов, используется конструкция CDATA (Character Data). Парсер игнорирует всё до символов ]]>: bb&cc bb&cc
Правильность документов XML-документ, отвечающий требованиям синтаксиса, называется правильно построенным (well-formed). XML-документ, отвечающий требованиям синтаксиса, называется правильно построенным (well-formed). Правильно построенные документы успешно обрабатываются парсером. Правильно построенные документы успешно обрабатываются парсером. Однако, эта характеристика ничего не говорит о содержании документа осмысленно ли оно? Знаем ли мы, что означают его элементы и атрибуты? Однако, эта характеристика ничего не говорит о содержании документа осмысленно ли оно? Знаем ли мы, что означают его элементы и атрибуты?
Определение типа (DTD) DTD Document Type Definition DTD Document Type Definition Задаёт возможную структуру для некоторого типа XML-документов (т. е. задаёт один возможный язык) Задаёт возможную структуру для некоторого типа XML-документов (т. е. задаёт один возможный язык) –как могут называться элементы –как они могут друг в друга вкладываться –какие у каждого элемента могут быть атрибуты Документ, отвечающий некоторому DTD, называется действительным (valid). Этот вид правильности проверяется валидатором. Документ, отвечающий некоторому DTD, называется действительным (valid). Этот вид правильности проверяется валидатором.
Определение типа (DTD)
Определение типа (DTD) Содержимое элементов author, title последовательность author|title выбор (или или) EMPTY пустой элемент ANY любая комбинация допустимых типов #PCDATA текстовое содержание (Parsed Character Data: оно анализируется парсером, так как потенциально может содержать вложенные элементы) СПИСОК ДОЧЕРНИХ ЭЛЕМЕНТОВ
Определение типа (DTD) Количество повторений элемента book 1, обязательный book? 1, необязательный (0 или 1) book+ 1 или больше (сколько угодно) book* 0 или больше (сколько угодно) Добавим в book необязательный элемент publisher? (издательство)Добавим в book необязательный элемент publisher? (издательство)
Определение типа (DTD) Добавляем атрибуты В документ: А.А. Зализняк А.А. Зализняк … В DTD: bookid ID #REQUIRED> имя атрибута
Определение типа (DTD) Типы атрибутов genre (fiction|nonfiction) #IMPLIED> (..|..) одно из перечисленных значений CDATA простой текст (Character Data) ID идентификатор (значение не может повторяться) IDREF ссылка на идентификатор другого элемента …и некоторые другие
Определение типа (DTD) Значения атрибутов по умолчанию genre (fiction|nonfiction) #IMPLIED> либо значение по умолчанию, либо: #IMPLIED атрибут необязателен #REQUIRED атрибут обязателен #FIXED значение значение неизменно
DTD и другие схемы DTD только один из видов схем для описания структуры XML-документов. DTD только один из видов схем для описания структуры XML-документов. +Может встраиваться в описываемый документ. +Компактные размеры. +Поддерживается большинством парсеров. –Синтаксис отличен от XML. –Ограниченные возможности. –Не поддерживает пространства имён. –Не поддерживает типы данных.
DTD и другие схемы В серьезных проектах чаще применяются более сложные и выразительные средства, в особенности два: XML Schema XML Schema –Синтаксис XML. –Развернутая система типов данных, но не расширяемая. –Громоздкая запись. –Легко описать фиксированное число (диапазон) повторений элемента/группы. Relax NG Relax NG –Два варианта синтаксиса: XML и компактный, полностью переводимые друг в друга. –Редуцированная система типов данных, но с возможностями расширения. –Допускает группы с нефиксированным порядком элементов. –Атрибуты могут использоваться при моделировании структуры документа наравне с элементами. Например, наличие дочернего элемента может зависеть от определенного значения атрибута. Например, наличие дочернего элемента может зависеть от определенного значения атрибута.
Продолжение на w3schools.com (и не только) Тест на основные понятия Тест на основные понятия Учебники по XML и другим технологиям (XPath, XSLT и др.) Учебники по XML и другим технологиям (XPath, XSLT и др.)