Искусственный голос и синтез речи - 语音合成
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.


语音合成技术和文本语音转换 - Synthetic voice and Text to Speech technology - Синтетический голос и технологии преобразования текста в речь
 
TTS книги  Проверялка  ФорумФорум  Последние изображенияПоследние изображения  RSS  ПоискПоиск  РегистрацияРегистрация  ВходВход  

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

Предыдущая тема Следующая тема Перейти вниз
АвторСообщениеРазработка системы автоматического синтаксического анализа
mia
V.I.P.
mia


Сообщений : 184
Репутация : 7

Разработка системы автоматического синтаксического анализа WAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==
 mia :: Вс Фев 22 2009, 20:51
Разработка системы автоматического синтаксического анализа FT09PX19cfHx+Pj4wAAAAAAAAAAACH+OjxDT1BZPkNvcHlyaWdodCAyMDA0IFRoZSBwaHBCQiBHcm91cCwgQWxsIFJpZ2h0cyBSZXNlcnZlZC4AIfkEAQAADQAsAAAAAAsACQAABCmwNUCpvDNoi4EWVUcQCEIAnaAKDHoBSnIchisBSaEP9mQMgwWvUwk1IgA7Вс Фев 22 2009, 20:51

Разработка системы автоматического синтаксического анализа на основе мягко контекстно-зависимой
унификационной грамматики

А.Перекрестенко

Разрабатываемая автором система автоматического синтаксического анализа предназначена для описания и анализа синтаксических структур при помощи мягко контекстно-зависимой унификационной грамматики. Анализ в данной версии системы осуществляется на уровне выделения составляющих и определения функциональной структуры предложения. Система включает в себя парсер, работающий с правилами структуры составляющих, и позволяющий, в частности, осуществлять анализ структур естественного языка, описываемых более мощными формализмами, чем КС-грамматики, как, например, разрывные составляющие и эллипсис. Парсер дополнен унификационным модулем, выполняющим анализ функциональной структуры предложения и определение морфологических параметров составляющих. Правила, описывающие функциональную структуру предложения и согласование морфологических параметров синтаксических единиц, записываются в нотации, в основу которой положена нотация HPSG. Для удобства и компактности записи в правилах допускается использование дизъюнкции. Разрабатывается также представление отрицания и гибкая система описания сложных значений списочного типа. Система реализована на языке программирования C++ без привязки к конкретным операционным системам.

В моделирование синтаксиса естественных языков для задач автоматического синтаксического анализа наиболее распространёнными являются формальные системы, относящиеся к одному из следующих классов:
  • Регулярные грамматики – используются только для упрощенного анализа (shallow parsing), в общем случае не могут быть задействованы в качестве базового формализма системы полноценного синтаксического парсинга.
  • Контекстно-свободные грамматики – используются достаточно широко, однако в чистом виде также непригодны для полноценного анализа, так как их мощности недостаточно для работы с синтаксическими явлениями, характеризующимися наличием нелокальных связей, как, например, разрывные составляющие и эллипсис ( тем не менее, большинство синтаксических структур естественного языка могут быть описаны при помощи КС-грамматики в слабом смысле, т.е. без приписывания им (корректных) структурных дескрипций, что в сочетании с относительно невысокой временной сложностью парсинга в языках данного типа (n3, где n – длина предложения))
  • Мягко контекстно-зависимые грамматики – будучи несколько более мощными, чем КС-грамматики, грамматики данного класса позволяют анализировать большинство типов синтаксически релевантных нелокальных связей. Наиболее распространенными формальными системами данного класса являются древоприсоединительные грамматики [Joshi 1997].


В рамках работы по созданию системы автоматического синтаксического анализа автором был разработан парсер (parsing engine), работающий с формализмом, относящимся к классу мягко контекстно-зависимых грамматик, позволяющий, в частности, анализировать разрывные составляющие и эллипсис, а также реализован базовый модуль унификационного компонента, предназначенного для представления и анализа морфологических и функциональных характеристик синтаксических структур. Парсер работает со структурой синтаксических составляющих (c-структурой в терминологии лексико-функциональной грамматики), а унификационный компонент с функциональной структурой (f-структурой).
Таким образом, в грамматике разрабатываемой системы используется представление синтаксических структур, аналогичное принятому в лексико-функциональной грамматике Bresnan 1982], при этом парсерный компонент позволяет работать со структурами более сложными, чем те, которые могут быть описаны КС-грамматиками, т.е. с самого начала предполагается возможность более сложного устройства c-структуры, что позволяет компактно описывать структуру составляющих языков со свободным порядком слов. И парсер, и унификационный модуль реализуются на языке C++ без привязки к конкретным операционным системам.

Вернуться к началу Перейти вниз
mia
V.I.P.
mia


Сообщений : 184
Репутация : 7

Разработка системы автоматического синтаксического анализа WAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==
 mia :: Вс Фев 22 2009, 20:52
Разработка системы автоматического синтаксического анализа FT09PX19cfHx+Pj4wAAAAAAAAAAACH+OjxDT1BZPkNvcHlyaWdodCAyMDA0IFRoZSBwaHBCQiBHcm91cCwgQWxsIFJpZ2h0cyBSZXNlcnZlZC4AIfkEAQAADQAsAAAAAAsACQAABCmwNUCpvDNoi4EWVUcQCEIAnaAKDHoBSnIchisBSaEP9mQMgwWvUwk1IgA7Вс Фев 22 2009, 20:52

Парсер
Парсер реализован как парсер Ерли, расширенный функциями для представления разрывных составляющих, эллипсиса, нелокальных связей и т.п. Есть также экспериментальная реализация данного модуля в виде рекурсивного нисходящего LR-парсера с предсказательной эвристикой для решения проблемы левой рекурсии и итерации пустой категории. Нотация записи правил приводится в [Перекрестенко 2003]. Помимо структур, описываемых КС-грамматиками, парсер позволяет анализировать, в частности, следующие синтаксические явления (графическое представление сгенерировано модулем визуализации, встроенным в парсер).

Разработка системы автоматического синтаксического анализа 251-1
Результат анализа

Разрывные составляющие
Для представления разрывных составляющих используется аппарат смещённых категорий [Chomsky 1995]. Так, редложения Машу Петя видит может быть описано следующим множеством правил:
Цитата :
<S>::="<$NP><NP><VP>",
<VP>::="<Verb><_NP>",
<NP>::="<Nom>",
<Nom>::=" *Петя| *Машу",
<Verb>::=" *видит"

Более подробное описание представления разрывных составляющих в парсере, включая пример с представлением грамматически обусловленной непроективности, см. в Перекрестенко 2003].

Эллипсис
Парсер позволяет описывать различные виды эллипсиса, в том числе эллипсис со вставкой. Так, предложение Ваня пьёт тёмное пиво, Петя же светлое может быть описано и проанализировано следующим образом:

Правила:
Цитата :
<Gamma>::="<S _comb>",
<S>::="<SL>,<SL_Ellipted _importstruct="SL">",
<SL>::="<NP><Dummy _hide><VP>",
<VP>::="<V><NP>",
<SL_Ellipted>::="<NP><Ins _elref="Dummy"><AP>",
<NP>::="<Nom>|<AP><NP>",
<AP>::=" *(светлое|тёмное)",
<Nom>::=" *(Ваня|Петя|пиво)",
<V>::=" *пьёт",
<Ins>::=" *же",
<Dummy>::=.

Разработка системы автоматического синтаксического анализа 251-2
Результат анализа

Эллипсис восстанавливается при помощи вычисления нелокальной связи в сочетании с импортом структуры параллельной неэллиптированной категории. В парсере реализован достаточно сложный аппарат представления эллипсиса, позволяющий вводить различные варианты разрешения эллипсиса через восстановление эллиптированных категорий.

(Функция _importstruct в правилах импортирует в данную категорию структуру другой категории.)

Синхронизация повторения. В версии парсера, описанной в вышеупомянутой работе автора, реализована только синхронизация итераторов. В настоящей версии она дополнена синхронизацией с экспликацией нелокальной связи. Так, предложение англ. Pete, John and Serge love Mary, Ann and Cate respectively может описано и проанализировано следующим образом:

Правила:
Цитата :
<S>::="<NP_Conj _comb><VP>",
<VP>::="<Verb><NP_ConjSync>",
<NP_Conj>::="<NP.1>+<Conj><NP.2>",
<NP_ConjSync>::="<NP
_setrelfrom=".1:K">+<Conj><NP
_setrelfrom=".2:K"><AdvSync>",
<NP>::=" *(Pete|John|Serge|Mary|Ann|Cate),?",
<Verb>::=" *love",
<AdvSync>::=" *respectively",
<Conj>::=" *and".

Разработка системы автоматического синтаксического анализа 251-3
Результат анализа

Вернуться к началу Перейти вниз
mia
V.I.P.
mia


Сообщений : 184
Репутация : 7

Разработка системы автоматического синтаксического анализа WAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==
 mia :: Вс Фев 22 2009, 20:52
Разработка системы автоматического синтаксического анализа FT09PX19cfHx+Pj4wAAAAAAAAAAACH+OjxDT1BZPkNvcHlyaWdodCAyMDA0IFRoZSBwaHBCQiBHcm91cCwgQWxsIFJpZ2h0cyBSZXNlcnZlZC4AIfkEAQAADQAsAAAAAAsACQAABCmwNUCpvDNoi4EWVUcQCEIAnaAKDHoBSnIchisBSaEP9mQMgwWvUwk1IgA7Вс Фев 22 2009, 20:52

Модуль унификации
Модуль унификации, работающий с функциональной структурой и морфологическим согласованием синтаксических единиц, реализуется аналогично унификатору HPSG [Pollard 1994, Sag 1997]. Нотация записи правил унификатора основана на нотации, принятой в HPSG, при этом допускается использование дизъюнкции как для простых, так и для сложных значений. Характеристики синтаксической единицы записываются в виде матрицы параметров, представляющий собой множество пар вида Параметр = Значение, заключённое в квадратные скобки, где Значение может быть либо атомом, как, например, Sg (единственное число) или Dat (датив), либо само быть матрицей параметров, как, например в случае Agr=[Gen=M, Num=Sg, Case=Dat]. Значение также может быть объявлено общим для нескольких параметров (structure sharing). Для этого используется ссылка, которая в данном унификаторе записывается как @X, где X – любая последовательность букв и/или цифр. Так, тот факт, что лицо и число глагольной группы – это лицо и число личной формы глагола, находящейся в вершине данной группы, может быть задан следующим образом (частный случай реализации Head-Feature Principle в HPSG):
Цитата :
[SyntClass=VP, Agr=@1, Head=[SyntClass=VerbPer, Agr=@1]]
Данная запись означает, что значение согласовательного параметра Agr глагольной группы (VP) общее со значением этого же параметра вершины группы – личной формы глагола, при этом эксплицитно не указывается, какое именно это значение. В более конкретном случае, например, если у нас есть группа глагола в 3-м лице единственном числе, характеристика этой группы будет выглядеть так:
Цитата :
[SyntClass=VP, Agr=@1, Head=[SyntClass=Verb, Agr=@1[Per=3, Num=Sg]]]
Здесь непринципиально, при каком из параметров Agr записано значение, а при каком стоит только метка. Т.е. матрица параметров представляет собой направленный ациклический граф, как и в HPSG. Циклические ссылки вида [A1=@1[B=@2], A2=@2[C=@1]] не допускаются.

Произвольное значение, если не требуется его согласования с чем-то ещё, записывается как "@". Например, тот факт, словоформа пальто может иметь любые число и падеж, может быть записан в матрице параметров как Agr=@. Однако данной версии унификатора не реализован механизм представления типов значений, что в данном примере означает, что параметр Agr может быть проинтерпретирован как имеющий действительно любое (даже необязательно лингвистически осмысленное) непротиворечивое значение, что требует осторожности при использовании данной конструкции. В следующей версии унификационного модуля планируется ввести типизацию значений.

Помимо значений указанных типов в унификаторе поддерживаются также списочные значения. Так, тот факт, что некоторый глагол требует два дополнения – прямое (а аккузативе) и косвенное (в дативе) – может быть описан в матрице параметров глагола следующим образом:
Цитата :
Comps=<[SyntClass=NP, Agr=[Case=Acc]], [SyntClass=NP, Agr=[Case=Dat]]>
Списочное значение, также как и значения типа атом и матрица, может быть объявлено общим для нескольких параметров.

Допускается дизъюнктивная запись значений. Так, например, факт морфологической омонимии словоформы большой может быть отражён в записи посредством дизъюнкции (логическая связка "или" записывается как вертикальная черта):
Цитата :
Agr=([Num=Sg, Gen=M, Case=Nom]|[Num=Sg, Gen=F, Case=(Dat|Instr|Gen)])
Использование дизъюнкции не накладывает никаких граничений на использование ссылок (помимо общего запрета циклов). Однако следует учитывать, что одноимённые ссылки, содержащиеся в разных дизъюнктах, интерпретируются как разные ссылки. Так, в структуре [A=([X1=@1 x, X2=@1]|[Y1=@1, Y2=@1])] общими являются значения параметров X1, X2 первого дизъюнкта и Y1, Y2 второго, значения же параметров X и Y, принадлежащих разным дизъюнктам одной и той же дизъюнкции, между собой общими не являются. Т.е. указанная выше запись эквивалентна структуре [A=([X1=@1 x, X2=@1]|[Y1=@2, Y2=@2])], где метки эксплицитно записаны как разные. Аналогично рассматриваются структуры, где имеются одноимённые метки в разных дизъюнктах одной и той же дизъюнкции и за пределами этой дизъюнкции. Так, запись [A=([X=@1 x]|[Y=@1]), B=@1] эквивалентна структуре [A=[X=@1 x], B=@1]|[A=[Y=@2], B=@2]].

Работа унификатора со структурами, содержащими дизъюнкции и ссылки, может быть проиллюстрирована следующими абстрактными примерами:

Пример 1
Цитата :
Значение 1:
[A=[X=@1], B=[Y=@1]]
Значение 2:
[A=([X=u]|[X=v]), B=([Y=u]|[Y=v])]
Результат унификации:
([A=[X=@2], B=[Y=@2 u]]|[A=[X=@1], B=[Y=@1 v]])
Пример 2
Цитата :
Значение 1:
[A=(x|@1 y), B=(@1|z)]
Значение 2:
[B=@1, C=@1]
Результат унификации:
([A=x, B=@4(@|z), C=@4]|[A=y, B=@3 z, C=@3]|[A=y, B=@1, C=@1])
В настоящий момент разрабатывается представления логической операции отрицания, а также гибкое представление сложных списочных структур, которое позволит компактно описывать объединение списков, объявлять подсписки общими для нескольких списков и использовать дизъюнкцию в описании списков.

Вернуться к началу Перейти вниз
mia
V.I.P.
mia


Сообщений : 184
Репутация : 7

Разработка системы автоматического синтаксического анализа WAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==
 mia :: Вс Фев 22 2009, 20:52
Разработка системы автоматического синтаксического анализа FT09PX19cfHx+Pj4wAAAAAAAAAAACH+OjxDT1BZPkNvcHlyaWdodCAyMDA0IFRoZSBwaHBCQiBHcm91cCwgQWxsIFJpZ2h0cyBSZXNlcnZlZC4AIfkEAQAADQAsAAAAAAsACQAABCmwNUCpvDNoi4EWVUcQCEIAnaAKDHoBSnIchisBSaEP9mQMgwWvUwk1IgA7Вс Фев 22 2009, 20:52

Технические аспекты
Парсер выполнен без привязки к конкретному типу анализируемых линейных объектов. То, с какими объектами он работает, определяется классом, описывающим терминальные символы.

В приведённых выше примерах был задействован символьный вариант парсера, для работы с реальными лексическими единицами будет создан соответствующий класс.

Унификационный модуль реализован по конструктивной модели, т.е. он работает с сохранением исходных структур. Начальные структуры, по которым осуществляется унификация, порождаются при помощи символьной версии парсера.

Литература
  • [Перекрестенко 2003] Перекрестенко, А.: Создание парсера для некоторых классов контекстно-
    зависимых языков для задач автоматического синтаксического анализа. Сборник трудов конференции
    Диалог 2003.
  • [Bresnan 1982] Bresnan, J. (ed.) The mental representation of grammatical relations. MIT Press, 1982.
  • [Chomsky 1995] Chomsky, N., Lasnik, H.: The Theory of Principles and Parameters. // The Minimalist
    Program, 1995.
  • [Joshi 1997] Joshi, A. K., Schabes, Y.: Thee Adjoining Grammars. // Handbook of Formal Languages, 1997,
    pp. 69-123.
  • [Pollard 1994] Pollard, C., Sag, I.: Head Driven Phrase Structure Grammar. University of Chicago Press, 1994.
  • [Sag 1997] Sag, I., Wasow, Th.: Synactic Theory: a formal introduction. SCLI. 1997

Вернуться к началу Перейти вниз
lev55
Участник «online словари»
lev55


Сообщений : 384
Репутация : 45

Разработка системы автоматического синтаксического анализа WAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==
 lev55 :: Пн Фев 23 2009, 16:30
Разработка системы автоматического синтаксического анализа FT09PX19cfHx+Pj4wAAAAAAAAAAACH+OjxDT1BZPkNvcHlyaWdodCAyMDA0IFRoZSBwaHBCQiBHcm91cCwgQWxsIFJpZ2h0cyBSZXNlcnZlZC4AIfkEAQAADQAsAAAAAAsACQAABCmwNUCpvDNoi4EWVUcQCEIAnaAKDHoBSnIchisBSaEP9mQMgwWvUwk1IgA7Пн Фев 23 2009, 16:30

Было бы интересно пригласить автора, чтобы на пальцах обьяснил такую вещь (и другие, подобные умозаключения)
Цитата :
Результат унификации:
([A=x, B=@4(@|z), C=@4]|[A=y, B=@3 z, C=@3]|[A=y, B=@1, C=@1])
Мы, революционные матросы, сумниваемся, что это веро!
P.S. Природа предпочитает "и,или,не" всё сразу (А в статье автора -Тришькин кафтан получается).
mia
Цитата :
Унификационный модуль реализован по конструктивной модели, т.е. он работает с сохранением исходных структур.
Как его пощупать в *.exe, dll, или ещё как?

Вернуться к началу Перейти вниз
mia
V.I.P.
mia


Сообщений : 184
Репутация : 7

Разработка системы автоматического синтаксического анализа WAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==
 mia :: Пн Фев 23 2009, 17:23
Разработка системы автоматического синтаксического анализа FT09PX19cfHx+Pj4wAAAAAAAAAAACH+OjxDT1BZPkNvcHlyaWdodCAyMDA0IFRoZSBwaHBCQiBHcm91cCwgQWxsIFJpZ2h0cyBSZXNlcnZlZC4AIfkEAQAADQAsAAAAAAsACQAABCmwNUCpvDNoi4EWVUcQCEIAnaAKDHoBSnIchisBSaEP9mQMgwWvUwk1IgA7Пн Фев 23 2009, 17:23

lev55 пишет:
Было бы интересно пригласить автора, чтобы на пальцах обьяснил такую вещь
Тоже интересно посмотреть на парсер но, к сожалению, лично с автором незнакома, хотя есть его координаты, можно написать.

Вернуться к началу Перейти вниз
lev55
Участник «online словари»
lev55


Сообщений : 384
Репутация : 45

Разработка системы автоматического синтаксического анализа WAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==
 lev55 :: Пн Фев 23 2009, 17:28
Разработка системы автоматического синтаксического анализа FT09PX19cfHx+Pj4wAAAAAAAAAAACH+OjxDT1BZPkNvcHlyaWdodCAyMDA0IFRoZSBwaHBCQiBHcm91cCwgQWxsIFJpZ2h0cyBSZXNlcnZlZC4AIfkEAQAADQAsAAAAAAsACQAABCmwNUCpvDNoi4EWVUcQCEIAnaAKDHoBSnIchisBSaEP9mQMgwWvUwk1IgA7Пн Фев 23 2009, 17:28

mia
Цитата :
хотя есть его координаты, можно написать
.
Нпиши.
Если стесняешься, дай координаты.

Вернуться к началу Перейти вниз

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

Предыдущая тема Следующая тема Вернуться к началу
Разработка системы автоматического синтаксического анализа
Страница 1 из 1Страница 1 из 1
      Форма быстрого ответа        Форма быстрого ответа  
Этот сайт не предоставляет электронные версии программного обеспечения и полнотекстовых электронных изданий, а занимается лишь
подборкой и каталогизацией ссылок, присылаемых и публикуемых на форуме нашими читателями.

Создать форум | ©phpBB | Бесплатный форум поддержки | Сообщить о нарушении
Создать форум | ©phpBB | Бесплатный форум поддержки | Сообщить о нарушении | Последние обсуждения