33
Автоматическая Автоматическая обработка обработка естественного естественного языка языка I. I. Обработка Обработка письменного текста письменного текста

Автоматическая обработка естественного языка

  • Upload
    elie

  • View
    79

  • Download
    5

Embed Size (px)

DESCRIPTION

Автоматическая обработка естественного языка. I. Обработка письменного текста. XML — язык разметки структурированных (в т. ч. лингвистических) данных. а также XSL — язык для преобразования данных. XML, XSL, XYZ. Программа Что такое XML Назначение. Синтаксис - PowerPoint PPT Presentation

Citation preview

Page 1: Автоматическая обработка естественного языка

Автоматическая Автоматическая обработка обработка

естественного языкаестественного языка

I. I. Обработка Обработка письменного текстаписьменного текста

Page 2: Автоматическая обработка естественного языка

XMLXML — язык разметки — язык разметки структурированных структурированных (в т. ч. лингвистических)(в т. ч. лингвистических)

данныхданныха также а также XSLXSL — язык для — язык для преобразования данныхпреобразования данных

Page 3: Автоматическая обработка естественного языка

ПрограммаПрограмма Что такое Что такое XMLXML

Назначение. СинтаксисНазначение. Синтаксис Определение типа Определение типа

документов документов ((DTDDTD)) Язык навигации по документу Язык навигации по документу

((XPathXPath)) Пространства имён Пространства имён

((NamespacesNamespaces)) Преобразования документов Преобразования документов

((XSLXSL))

XML,XML, XSL, XYZ...XSL, XYZ...

Page 4: Автоматическая обработка естественного языка

Что такое Что такое XMLXML

Где прочитать?Где прочитать? http://en.wikipedia.org/wiki/Xmlhttp://en.wikipedia.org/wiki/Xml http://www.w3.org/XML/http://www.w3.org/XML/ — стандарты — стандарты http://w3schools.comhttp://w3schools.com

— простые пособия и тесты— простые пособия и тесты http://www.zvon.org/http://www.zvon.org/ — пособия, — пособия,

статьи и др. (на многих языках)статьи и др. (на многих языках) http://www.raleigh.ru/tutorials/http://www.raleigh.ru/tutorials/

— русские переводы нескольких — русские переводы нескольких пособий со пособий со ZVON.orgZVON.org

Page 5: Автоматическая обработка естественного языка

XMLXML = = eeXXtensible tensible

MMarkup arkup LLanguageanguage

Что такое Что такое XMLXML

Page 6: Автоматическая обработка естественного языка

Что такое Что такое XML?XML?

eeXXtensible tensible MMarkup arkup LLanguageanguage– ExtensibleExtensible — расширяемый. — расширяемый. Каждый Каждый

пользователь приспосабливает его для пользователь приспосабливает его для своей задачи.своей задачи.

XML XML внешне похож на внешне похож на HTMLHTML– Это тоже Это тоже язык разметкиязык разметки

(HyperText Markup Language)(HyperText Markup Language)– Синтаксис обоих Синтаксис обоих происходит от происходит от SGMLSGML

(Standard Generalized Markup Language)(Standard Generalized Markup Language)

Page 7: Автоматическая обработка естественного языка

Пример Пример HTMLHTML

<html> <html> <head> <head>

<title>Title of this page</title><title>Title of this page</title></head></head><body> <body>

<p>This is my first homepage.<br><p>This is my first homepage.<br><b>This text is bold.</b> <b>This text is bold.</b> And this is <b>bold <i>and italic</b>, And this is <b>bold <i>and italic</b>,

wow</i>!wow</i>!</p></p>

</body> </body> </html> </html>

Page 8: Автоматическая обработка естественного языка

...Вот что из этого получается:...Вот что из этого получается:

1page.htm1page.htm

Page 9: Автоматическая обработка естественного языка

Пример Пример XMLXML<?xml version="1.0" encoding="ISO-8859-1"?><?xml version="1.0" encoding="ISO-8859-1"?><CHESSBOARD> <CHESSBOARD> <WHITEPIECES> <WHITEPIECES>

<KING><POSITION COLUMN="G" ROW="1"/></KING><KING><POSITION COLUMN="G" ROW="1"/></KING><BISHOP><POSITION COLUMN="D" ROW="6"/></BISHOP><BISHOP><POSITION COLUMN="D" ROW="6"/></BISHOP><ROOK><POSITION COLUMN="E" ROW="1"/></ROOK><ROOK><POSITION COLUMN="E" ROW="1"/></ROOK><PAWN><POSITION COLUMN="A" ROW="4"/></PAWN><PAWN><POSITION COLUMN="A" ROW="4"/></PAWN><PAWN><POSITION COLUMN="B" ROW="3"/></PAWN><PAWN><POSITION COLUMN="B" ROW="3"/></PAWN>

……</WHITEPIECES></WHITEPIECES><BLACKPIECES><BLACKPIECES>

<KING><POSITION COLUMN="B" ROW="6"/></KING><KING><POSITION COLUMN="B" ROW="6"/></KING><QUEEN><POSITION COLUMN="A" ROW="7"/></QUEEN><QUEEN><POSITION COLUMN="A" ROW="7"/></QUEEN><PAWN><POSITION COLUMN="A" ROW="5"/></PAWN><PAWN><POSITION COLUMN="A" ROW="5"/></PAWN><PAWN><POSITION COLUMN="D" ROW="4"/></PAWN><PAWN><POSITION COLUMN="D" ROW="4"/></PAWN>

</BLACKPIECES></BLACKPIECES></CHESSBOARD> </CHESSBOARD>

Page 10: Автоматическая обработка естественного языка

...Вот что он описывает:...Вот что он описывает:

Page 11: Автоматическая обработка естественного языка

Чем Чем XML XML отличается от отличается от HTML?HTML?

Почти всем.Почти всем. Главное — назначениемГлавное — назначением

– HTMLHTML используется для отображения используется для отображения данных в браузере. В нем смешаны данных в браузере. В нем смешаны элементы элементы содержаниясодержания и и оформленияоформления..

– XMLXML используется для хранения используется для хранения данных и описания их структуры. Он данных и описания их структуры. Он задаёт только задаёт только содержаниесодержание документа.документа.

Page 12: Автоматическая обработка естественного языка

Чем Чем XML XML отличается от отличается от HTML?HTML?

ГибкостьюГибкостью– Тэги Тэги HTML HTML и их значение жёстко и их значение жёстко

заданы в спецификации.заданы в спецификации.– В спецификации В спецификации XML XML фиксирован фиксирован

только синтаксис. только синтаксис. Тэги Тэги XML XML и их и их значение задаются пользователемзначение задаются пользователем..

– Фактически, Фактически, XMLXML — это не один язык, — это не один язык, а а семейство языковсемейство языков, потому что , потому что каждый пользователь, придумывая каждый пользователь, придумывая свои тэги, задаёт свой язык.свои тэги, задаёт свой язык.

Page 13: Автоматическая обработка естественного языка

Чем Чем XML XML отличается от отличается от HTML?HTML?

Немного — синтаксисомНемного — синтаксисом

Требования к синтаксису более Требования к синтаксису более строгие, что делает структуру строгие, что делает структуру документа более наглядной и документа более наглядной и облегчает автоматизацию его облегчает автоматизацию его проверки и обработкипроверки и обработки

Page 14: Автоматическая обработка естественного языка

Применения Применения XMLXML

Обработка структурированных данныхОбработка структурированных данных– разработка веб-сайтов, системы управления разработка веб-сайтов, системы управления

содержанием содержанием (CMS)(CMS); трансляции новостей; трансляции новостей (RSS) (RSS) Google XML SitemapsGoogle XML Sitemaps

– базы данных (базы данных (Native XML DBMSNative XML DBMS и экспорт- и экспорт-импорт импорт из других БД)из других БД)

– создание и обработка метаданных создание и обработка метаданных (см. тж. (см. тж. Semantic Web)Semantic Web)

Dublin Core; OLAC, IMDIDublin Core; OLAC, IMDI

– ведение технической документации ведение технической документации (формат (формат DocBook DocBook и др.и др.))

– обработка текста и разметка мультимедиаобработка текста и разметка мультимедиа OpenOffice.org 2.0+, MS Office 2007+OpenOffice.org 2.0+, MS Office 2007+ ELAN, TranscriberELAN, Transcriber,…,…

Page 15: Автоматическая обработка естественного языка

Применения Применения XMLXML Обработка структурированных данныхОбработка структурированных данных

– Semantic WebSemantic Web — «надстройка» над — «надстройка» над Web’Web’ом, ом, с помощью с помощью метаданных метаданных описывающая описывающая свойства и содержание (сетевых) ресурсов и свойства и содержание (сетевых) ресурсов и логические связи между ними. логические связи между ними. Цель — осмысленная машинная обработка Цель — осмысленная машинная обработка информации, логические выводы и т. д.информации, логические выводы и т. д.

– Semantic Web Semantic Web основан на модели основан на модели RDFRDF (Resource Description Framework)(Resource Description Framework), где все , где все отношения описываются тройками «субъект-отношения описываются тройками «субъект-отношение-объект», а все элементы троек отношение-объект», а все элементы троек являются идентификаторами ресурсов являются идентификаторами ресурсов ((URIURI).).Один из двух основных форматов Один из двух основных форматов записи записи RDFRDF — — RDF-XML.RDF-XML.

Page 16: Автоматическая обработка естественного языка

Применения Применения XMLXML Обмен данными между приложениямиОбмен данными между приложениями

Программы, использующие разные внутренние форматы, Программы, использующие разные внутренние форматы, могут успешно обмениваться данными в могут успешно обмениваться данными в XML.XML.– промышленная разработка и производствопромышленная разработка и производство– электронная коммерция (электронная коммерция (business2business, business2business,

business2consumer)business2consumer) Amazon Web Services Amazon Web Services

– лингвистика: лингвистика: Fieldworks (Fieldworks (БД) =БД) => XML => ELAN> XML => ELAN Обмен данными с портативными устройствамиОбмен данными с портативными устройствами Некоторые сферы примененияНекоторые сферы применения XML XML

– Scalable Vector Graphics (SVG) (векторная графика)Scalable Vector Graphics (SVG) (векторная графика); ; – SMIL (SMIL (Synchronized Multimedia Integration LanguageSynchronized Multimedia Integration Language););– VoiceXMLVoiceXML (команды программ речевого интерфейса); (команды программ речевого интерфейса);– MusicXMLMusicXML (музыкальные партитуры); (музыкальные партитуры); – ebXML (electronic business XML);ebXML (electronic business XML);– Chemical Markup Languge; Chemical Markup Languge; – Structured Product Labeling Structured Product Labeling (фармакология);…(фармакология);…

Page 17: Автоматическая обработка естественного языка

Рекомендуемые Рекомендуемые XML-XML-редакторыредакторы

http://www.firstobject.comhttp://www.firstobject.comfoxe foxe — — firstobjectfirstobject XML editor XML editor ((.exe .exe в архиве в архиве .zip.zip, не требует установки, не требует установки))Очень простой и быстрый редактор. Очень простой и быстрый редактор. Поддерживает Юникод. Имеется валидатор.Поддерживает Юникод. Имеется валидатор.

http://www.freexmleditor.com/http://www.freexmleditor.com/Exchanger XML Lite V3.2Exchanger XML Lite V3.2((требует установки, понадобится для требует установки, понадобится для выполнения заданий по выполнения заданий по XSL)XSL)Полнофункциональный редактор Полнофункциональный редактор XML/XSL XML/XSL с отладчиком для с отладчиком для XSL-XSL-трансформаций. трансформаций. Увы, давно не обновлялся.Увы, давно не обновлялся.

Page 18: Автоматическая обработка естественного языка

Простой Простой XML-XML-документдокумент<?xml version="1.0" encoding="UTF-8"?><?xml version="1.0" encoding="UTF-8"?><!DOCTYPE booklist SYSTEM "books-1.dtd"><!DOCTYPE booklist SYSTEM "books-1.dtd"><booklist><booklist> <book><book> <author><author>А.А. ЗализнякА.А. Зализняк</author></author> <title><title>Древнерусские энклитикиДревнерусские энклитики</title></title> <city><city>МоскваМосква</city></city> <year><year>20082008</year></year> </book></book> <book><book> <author><author>J.K. RowlingJ.K. Rowling</author></author> <title><title>Harry Potter and the Secret ChamberHarry Potter and the Secret Chamber</title></title> <city><city>New YorkNew York</city></city> <year><year>20052005</year></year> </book></book></booklist></booklist>

Page 19: Автоматическая обработка естественного языка

Основные понятия:Основные понятия:– документ (документ (≈ файл)≈ файл)– элементэлемент

<<KINGKING>>

<<POSITIONPOSITION COLUMN="G" ROW="1"/> COLUMN="G" ROW="1"/>

</</KINGKING>>– атрибутатрибут

.. .. COLUMNCOLUMN="G"="G" .. ..

Синтаксис Синтаксис XMLXML

Page 20: Автоматическая обработка естественного языка

Синтаксис Синтаксис XMLXML

Каждый документ должен иметь Каждый документ должен иметь ровно один корневой элементровно один корневой элемент

У каждого открывающего тэга У каждого открывающего тэга должен быть закрывающийдолжен быть закрывающий

Тэги должны быть правильно Тэги должны быть правильно вложены друг в другавложены друг в друга

Значения атрибутов обязательно Значения атрибутов обязательно берутся в кавычкиберутся в кавычки

Регистр символов в именах важен!Регистр символов в именах важен!

Page 21: Автоматическая обработка естественного языка

Синтаксис Синтаксис XMLXML Имя элемента может:Имя элемента может:

– содержать буквы, цифры, подчеркивание, содержать буквы, цифры, подчеркивание, двоеточие или точкудвоеточие или точку

– начинаться с только с буквы или начинаться с только с буквы или подчеркиванияподчеркиваниякроме букв кроме букв ““xmlxml”” (в (в любом регистре)любом регистре)

Значения атрибутов могут заключаться в Значения атрибутов могут заключаться в (двойные прямые) кавычки либо апострофы. (двойные прямые) кавычки либо апострофы. Одни могут использоваться внутри других:Одни могут использоваться внутри других:

<xsl:param name=<xsl:param name=""filefile"" select=select=""''books.xmlbooks.xml''""/>/>

<xsl:param name=<xsl:param name=''filefile'' select= select=''""books.xmlbooks.xml""''/>/>

Page 22: Автоматическая обработка естественного языка

Специальные символыСпециальные символы

EntitiesEntitiesВ тексте элемента не могут использоваться В тексте элемента не могут использоваться специальные символы разметки: специальные символы разметки: << и и &&. . Они Они должныдолжны заменяться на заменяться на &lt;&lt; и и &amp;&amp;..Также определены: Также определены: &gt;&gt; >> &quot;&quot; "" &apos;&apos; ''

CDATA sectionsCDATA sectionsЕсли необходимо вставить в документ фрагмент Если необходимо вставить в документ фрагмент текста, содержащий много спецсимволов, текста, содержащий много спецсимволов, используется конструкция используется конструкция CDATACDATA ( (Character Data).Character Data). Парсер игнорирует всё до символов Парсер игнорирует всё до символов ]]>]]>::

<example> <example>         <![CDATA[<![CDATA[ < <%%aaaaaa%%>bb&cc<<>bb&cc<<dd dd ]]>]]></example></example>

Page 23: Автоматическая обработка естественного языка

Правильность документовПравильность документов

XML-XML-документ, отвечающий документ, отвечающий требованиям синтаксиса, называется требованиям синтаксиса, называется правильно построеннымправильно построенным ((well-well-formedformed).).

Правильно построенные документы Правильно построенные документы успешно обрабатываются успешно обрабатываются парсеромпарсером..

Однако, эта характеристика ничего не Однако, эта характеристика ничего не говорит о содержании документа — говорит о содержании документа — осмысленно ли оно? Знаем ли мы, что осмысленно ли оно? Знаем ли мы, что означают его элементы и атрибуты?означают его элементы и атрибуты?

Page 24: Автоматическая обработка естественного языка

Определение типа (Определение типа (DTD)DTD)

DTD — Document Type DefinitionDTD — Document Type Definition Задаёт возможную структуру для Задаёт возможную структуру для

некоторого типа некоторого типа XML-XML-документовдокументов(т. е. задаёт один возможный язык)(т. е. задаёт один возможный язык)– как могут называться элементыкак могут называться элементы– как они могут друг в друга вкладыватьсякак они могут друг в друга вкладываться– какие у каждого элемента могут быть какие у каждого элемента могут быть

атрибутыатрибуты Документ, отвечающий некоторому Документ, отвечающий некоторому

DTDDTD, называется , называется действительнымдействительным ((validvalid). ). Этот вид правильности Этот вид правильности проверяется проверяется валидаторомвалидатором..

Page 25: Автоматическая обработка естественного языка

Определение типа (Определение типа (DTD)DTD)

<?xml version="1.0" encoding="UTF-8"?><?xml version="1.0" encoding="UTF-8"?>

<!ELEMENT <!ELEMENT booklistbooklist ( (bookbook**) >) >

<!ELEMENT <!ELEMENT bookbook ( (authorauthor, , titletitle, , citycity, , yearyear)>)>

<!ELEMENT <!ELEMENT authorauthor ( (#PCDATA#PCDATA)>)>

<!ELEMENT <!ELEMENT titletitle ( (#PCDATA#PCDATA)>)>

<!ELEMENT <!ELEMENT citycity ( (#PCDATA#PCDATA)>)>

<!ELEMENT <!ELEMENT yearyear ( (#PCDATA#PCDATA)>)>

Page 26: Автоматическая обработка естественного языка

Определение типа (Определение типа (DTD)DTD)

Содержимое элементовСодержимое элементов

<!ELEMENT book (<!ELEMENT book (author, title, city, yearauthor, title, city, year)>)>

author, title author, title — последовательность— последовательностьauthor|title author|title — выбор (или — или)— выбор (или — или)

EMPTYEMPTY — пустой элемент — пустой элементANYANY — любая комбинация допустимых типов— любая комбинация допустимых типов#PCDATA#PCDATA — текстовое содержание — текстовое содержание

((ParsedParsed Character Data Character Data: оно анализируется : оно анализируется парсером, так как потенциально может парсером, так как потенциально может содержать вложенные элементы)содержать вложенные элементы)

СПИСОК ДОЧЕРНИХ ЭЛЕМЕНТОВ

Page 27: Автоматическая обработка естественного языка

Определение типа (Определение типа (DTD)DTD)

Количество повторенийКоличество повторений элементаэлемента

<!ELEMENT booklist (book<!ELEMENT booklist (book**)) >>bookbook — — 11, обязательный, обязательныйbookbook?? — — 11, необязательный (0 или 1), необязательный (0 или 1)book+book+ — 1 или больше (сколько угодно) — 1 или больше (сколько угодно)book*book* — 0 или больше (сколько угодно) — 0 или больше (сколько угодно)

Добавим в Добавим в bookbook необязательный необязательный элемент элемент publisher?publisher? (издательство)(издательство)

Page 28: Автоматическая обработка естественного языка

Определение типа (Определение типа (DTD)DTD)

Добавляем атрибутыДобавляем атрибуты

В документ:В документ:

<book<book lang="rus" lang="rus" bookid="AAZ01"bookid="AAZ01">><author>А.А. Зализняк</author><author>А.А. Зализняк</author>……

</book></book>В В DTDDTD::

<!<!ATTLISTATTLIST book book lang lang CDATA #IMPLIEDCDATA #IMPLIED bookid bookid ID #REQUIREDID #REQUIRED>>

имя атрибута

Page 29: Автоматическая обработка естественного языка

Определение типа (Определение типа (DTD)DTD)

Типы атрибутовТипы атрибутов

<!ATTLIST book<!ATTLIST book lang lang CDATACDATA #IMPLIED #IMPLIED bookid bookid ID ID #REQUIRED#REQUIRED genre genre ((fictionfiction||nonfictionnonfiction)) #IMPLIED> #IMPLIED>

((....||....)) — одно из перечисленных значений— одно из перечисленных значенийCDATACDATA — простой текст — простой текст (Character Data)(Character Data)IDID — идентификатор (значение не может — идентификатор (значение не может

повторяться)повторяться)IDREFIDREF — ссылка на идентификатор другого элемента— ссылка на идентификатор другого элемента

……и некоторые другиеи некоторые другие

Page 30: Автоматическая обработка естественного языка

Определение типа (Определение типа (DTD)DTD)

Значения атрибутов по умолчаниюЗначения атрибутов по умолчанию

<!ATTLIST book<!ATTLIST book lang CDATAlang CDATA ""engeng"" bookid IDbookid ID #REQUIRED #REQUIRED genre (fiction|nonfiction) genre (fiction|nonfiction) #IMPLIED#IMPLIED>>

либо либо значениезначение по умолчаниюпо умолчанию, либо:, либо:#IMPLIED#IMPLIED — атрибут необязателен— атрибут необязателен#REQUIRED#REQUIRED — атрибут обязателен— атрибут обязателен#FIXED#FIXED значениезначение — значение неизменно — значение неизменно

Page 31: Автоматическая обработка естественного языка

DTD DTD и другие схемыи другие схемы

DTD DTD — только один из видов схем для — только один из видов схем для описания структуры описания структуры XMLXML-документов.-документов. +Может встраиваться в описываемый Может встраиваться в описываемый

документдокумент.. +Компактные размеры. Компактные размеры. +Поддерживается большинством парсеров.Поддерживается большинством парсеров.

– Синтаксис отличен от Синтаксис отличен от XML.XML. – Ограниченные возможности. Ограниченные возможности. – Не поддерживает пространства имён.Не поддерживает пространства имён.– Не поддерживает типы данных.Не поддерживает типы данных.

Page 32: Автоматическая обработка естественного языка

DTD DTD и другие схемыи другие схемы

В серьезных проектах чаще применяются более сложные и В серьезных проектах чаще применяются более сложные и выразительные средства, в особенности два:выразительные средства, в особенности два:

XML SchemaXML Schema– Синтаксис Синтаксис XML.XML.– Развернутая система типов данных, но не расширяемая.Развернутая система типов данных, но не расширяемая.– Громоздкая запись.Громоздкая запись.– Легко описать фиксированное число (диапазон) Легко описать фиксированное число (диапазон)

повторений элемента/группы.повторений элемента/группы.

Relax NGRelax NG– Два варианта синтаксиса: Два варианта синтаксиса: XML XML и компактный, полностью и компактный, полностью

переводимые друг в друга.переводимые друг в друга.– Редуцированная система типов данных, Редуцированная система типов данных,

но с возможностями расширения.но с возможностями расширения.– Допускает группы с нефиксированным порядком Допускает группы с нефиксированным порядком

элементов.элементов.– Атрибуты могут использоваться при моделировании Атрибуты могут использоваться при моделировании

структуры документа наравне с элементами.структуры документа наравне с элементами. Например, наличие дочернего элемента может зависеть от Например, наличие дочернего элемента может зависеть от

определенного значения атрибута.определенного значения атрибута.

Page 33: Автоматическая обработка естественного языка

Продолжение — на Продолжение — на w3schools.com w3schools.com (и не только)(и не только)

Тест на основные понятияТест на основные понятияhttp://w3schools.com/xml/xml_quiz.asphttp://w3schools.com/xml/xml_quiz.asp

Учебники по Учебники по XMLXML и другим и другим технологиям технологиям (XPath, XSLT (XPath, XSLT и др.)и др.)