Приемы для обработки текста на естественном языке

Автор: Tan Chin Tuck

Первоисточник: http://www.doc.ic.ac.uk/~nd/surprise_97/journal/vol2/ctt

Перевод: Кононенко С.В.

Введение

В первой статье мы кратко описали некоторые методы, используемые нами в обработке текста на естественном языке(ОЕЯ). Однако эти простые техники являются как, и неэффективными так и упрощенными. Поэтому они редко используются в действующих системах.

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

Синтаксический разбор

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

Как уже обсуждалось в первой статье, простой формой синтаксического анализа является создание структурного дерева на основе контекстно-свободной грамматики. Однако, как уже указывалось, эта форма анализа сталкивается с рядом серьезных проблем: множественное число или пассивное предложение. Следующие техники были разработаны в ответ на некоторые из этих проблем.

Трансформационная грамматика

Трансформационная грамматика фактически является продолжением контекстно-свободной грамматики. Сначала создается структурное дерево на основе CFG, а затем используется ряд трансформирующих правил для того, чтобы нанести на карту это синтаксическое дерево в виде соответствующего структурного дерева.

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

Расширенная переходная сеть (ATN)

Переходная сеть – это сеть, состоящая из узлов и маркировочных дуг. Узлы представляют собой разные состояния процесса, а дуги представляют собой переходы от одного состояния к другому. При этом ярлыки относятся к категориям слов ОЕЯ. Рекурсивно-переходная сеть (RTN) - это переходная сеть, которая позволяет ярлыкам дуг относиться как к категориям слов, так и к другим сетям. Это имеет похожие описательные возможности, как и у контекстно-свободных грамматик.

Для расширения возможностей RTN, транформационных грамматик, расширенных переходных сетей был разработан метод выражения синтаксической грамматики, который мог бы быть вычислительно прослежен и мог бы кратко охватывать лингвистические обобщения.

В основном ATN состоит из RTN, расширенного рядом тесто, которые должны быть сделаны до того, как будет нарисована/пройдена дуга; и набором регистров, который мы будем использовать для сохранения промежуточных результатов или глобальных состояний. Чтобы продемонстрировать возможности ATN, давайте рассмотрим тот же пример из первой статьи, который CFG не мог решить: The rice was eaten by the cat.

«The rice»
Чтобы структурировать приведенное предложение, мы начнем с самого первого узла в ATN. Отсюда есть два пути, которые можно провести: дуга1 и дуга2. Однако первая часть предложения «the rice» является фразой с существительным, выбирается вторая дуга. Но до того, как она будет проведена, проверяется Таблица1 по дополнительным тестам и действиям, которые необходимо провести. В этом случае «T» на входе означает, что дополнительные тесты не нужны. Мы должны установить регистр подлежащего (SUBJ) с тем, что структурируется – а именно «rice», а регистр TYPE – на DECLARATIVE.

Следующее слово «was» - рассматриваем как глагол и структурируем с помощью дуги 3 к узлу D. Дополнительным тестом является проверка того, что глагол согласуется с подлежащим «rice». Таким образом, согласование устанавливается в ATN. После теста устанавливается регистр глагола (V). Помните, что узел D имеет линию, проходящую через него и, указывающую на то, что может быть концом структурирования, если больше нет входных данных. Таким предложением могло бы быть следующее: «The cat eats».

Если еще есть входные данные, то структурирование продолжается.

«eaten». Из узла D опять есть два пути для выбора: была выбрана дуга 4, так как это глагол. Дополнительный тест над дугой 5 требуется, чтобы входные данные соответствовали past participle. Поэтому с «eaten» удовлетворяет этому условию. Второй тест требует, чтобы содержанием регистра был глагол «to be». Это условие тоже выполняется, так как это форма глагола «to be». Здесь выполняется четыре набора действий. Во-первых содержание регистра дополнения (OBJ) – заменяется на содержание регистра подлежащего (SUBJ). Затем содержание регистра глагол перезаписывается с помощью форм past participle, а именно «was eaten». Флаг, который указывает, что предложение в пассиве установлен на значение «TRUE», а значение SOMEONE помещается в регистр (SUBJ).

«by». Из узла Е выбирается дуга 7. Флаг пассива заново проверяется и устанавливается в значение False перед проведением дуги к узлу F.

«the cat» - последняя часть предложения. Она является просто другим существительным. Таким образом, дуга 8 проводится, делая «the cat» полдлежащим. Так как больше нет входных данных, то процесс окончательно останавливается в узле Е. Этот простой пример иллюстрирует возможности ATN и способность схватывать закономерности языка просто и элегантно. Примером системы, основанной на грамматике ATN, является система RUS, созданная Боброу и Веббером в 1980г.


© Кононенко С.В.