Справочник по построению дерева — документация Lark
Lark автоматически строит дерево на основе структуры грамматики, где каждое совпадающее правило становится ветвью (узлом) в дереве, а его дочерние элементы являются его совпадениями в порядке совпадения.
Например, узел правила : child1 child2
создаст узел дерева с двумя дочерними элементами. Если он соответствует как часть другого правила (т. е. если он не является корнем), узел дерева нового правила станет его родителем.
Использование item+
или item*
приведет к созданию списка элементов, эквивалентного записи item item item ..
.
Используете элемент ?
вернет элемент, если он совпал, или ничего.
Если may_placeholders=True
(по умолчанию), то использование [item]
вернет элемент, если он совпал, или значение None
, если нет.
Если may_placeholders=False
, то []
ведет себя как
.
Клеммы
Терминалы всегда являются значениями в дереве, а не ветвями.
Lark по умолчанию отфильтровывает определенные типы терминалов, учитывая их пунктуацию:
Терминалы, которые не отображаются в дереве:
Терминалы, которые будут отображаться в дереве:
Примечание. Терминалы, состоящие из литералов и других терминалов, всегда включают полное совпадение без фильтрации какой-либо части.
Пример:
начало: PNAME pname ПИМЯ: "("ИМЯ")" pname: "("ИМЯ")" ИМЯ: /\w+/ %игнорировать /\s+/
Lark проанализирует «(Hello) (World)» как:
начало (Привет) псевдоним Мир
Правила с префиксом !
сохранит все свои литералы в любом случае.
Пример:
выражение: "(" выражение ")" | ИМЯ+ ИМЯ: /\w+/ %игнорировать " "
Lark разберет «((hello world))» как:
выражение выражение выражение "привет" "мир"
Скобки не отображаются в дереве по умолчанию. Слова появляются, потому что им соответствует именованный терминал.
Формирование дерева
Пользователи могут изменить автоматическое построение дерева, используя набор грамматических функций.
Пример:
начало: "("_приветствовать")" _greet: /\w+/ /\w+/
Lark разберет «(hello world)» как:
начало "привет" "мир"
Пример:
начало: приветствие приветствие ?приветствовать: "(" /\w+/ ")" | /\ш+/ /\ш+/
Lark будет анализировать «hello world (planet)» как:
начало приветствовать "привет" "мир" "планета"
!выражение: "("выражение ")" | ИМЯ+ ИМЯ: /\w+/ %игнорировать " "
Будет разбирать «((hello world))» как:
выражение ( выражение ( выражение привет мир ) )
Использование ! Префикс
обычно является «запахом кода» и может указывать на недостаток в вашем дизайне грамматики.
Пример:
начало: приветствие приветствие приветствовать: "привет" | "мир" -> планета
Lark будет анализировать «hello world» как:
начало приветствовать планета
Улучшение статистического синтаксического анализатора путем распознавания китайского числа и префикса квантификатора в машинном переводе
Главная Прикладная механика и материалы Прикладная механика и материалы Vols. 427-429 Улучшение статистического анализатора путем признания…
Предварительный просмотр статьи
Резюме:
Изучая префикс числа и квантификатора китайского языка (CNQP) как особый языковой феномен в машинном переводе, в этой статье представлен метод распознавания CNQP, который основан на правилах и не зависит от сегментации слов. В этом методе составы CNQP выражались с использованием формы Бэкуса-Наура (BNF), и в качестве активной информации использовалось числовое значение, а в качестве границ CNQP использовались квантификаторы.
Чтобы избежать шума сегментации слов, для получения композиций CNQP был использован метод прямого максимального сопоставления, который можно передать в статистический синтаксический анализатор для анализа китайских предложений. Экспериментальные результаты показывают, что предлагаемый метод в качестве модуля предварительной обработки может эффективно улучшить результаты синтаксического анализа статистического синтаксического анализатора без переобучения на экспериментальных данных, построенных вручную, что может еще больше повысить качество перевода.Доступ через ваше учреждение
Вас также могут заинтересовать эти электронные книги
Предварительный просмотр* — Автор, ответственный за переписку
Рекомендации
[1] П.
Кишор, Р. Салим, В. Тодд и В. Дж. Чжу: Bleu: метод автоматической оценки машинного перевода, в: Proc. АКЛ’ 02, 2002, стр. 311-318.Академия Google
[2] Р. Леви и К.Д. Мэннинг: Что сложнее анализировать на китайском или на китайском Treebank? в: Учеб. ACL ’03, 2003, стр. 439.-446.
DOI: 10.3115/1075096.1075152
Академия Google
[3] К. Мартин: Грамматика функциональной унификации: формализм для машинного перевода, в: Proc.
Академия Google
[4] П. Браун, Дж. Кок, С. Делла Пьетра, В. Делла Пьетра, Ф. Елинек, Р. Мерсер и П. Руссин: статистический подход к языковому переводу, в: Proc. Колинг ’88, 1988, стр. 71-76.
DOI: 10.3115/991635.991651
Академия Google
[5] К. Дэвид: Иерархическая модель статистического машинного перевода, основанная на фразах, в: Proc. ACL ’05, (2005).
Академия Google
[6] В. Чао, К. Майкл и К. Филипп: китайское синтаксическое переупорядочение для статистического машинного перевода, в: Proc. Совместная конференция 2007 г. по эмпирическим методам обработки естественного языка и компьютерного изучения естественного языка, 2007 г., стр. 737-745.
Академия Google
[7] X. Fei, M. Michael: Улучшение статистической системы машинного перевода с автоматически изученными шаблонами перезаписи, в: Proc. 20-я международная конференция по компьютерной лингвистике, 2004 г., стр. 508-516.
DOI: 10.3115/1220355.1220428
Академия Google
[8] Ю.К. Чжан, З. Ричард, Н. Герман: Переупорядочение предложений исходного языка на уровне фрагментов с автоматически изученными правилами статистического машинного перевода, в: Proc. NAACL-HLT 2007/AMTA Workshop on Syntax and Structure in Statistical Translation, 2007, стр. 1-8.
DOI: 10.3115/1626281.1626282
Академия Google
[9] Ю. Лю, К. Лю, С. Лин: Шаблон выравнивания дерева в строку для статистического машинного перевода, в: Proc. 21-я Международная конференция по компьютерной лингвистике и 44-е ежегодное собрание Ассоциации компьютерной лингвистики. Ассоциация компьютерной лингвистики, 2006 г., стр. 609.-616.
DOI: 10.3115/1220175.1220252
Академия Google
[10] Д. Кляйн и К. Д. Мэннинг: Быстрый точный вывод с факторизованной моделью для синтаксического анализа естественного языка, в: Достижения в системах обработки нейронной информации 15 (2002), 2003, стр. 3-10.
Академия Google
[11] X.