Обработка лингвистической информации

Начнем с обсуждения задачи перевода предложений с одного языка на другой. В главе 5 мы изучили основы процесса перевода (лексический анализ, синтаксический анализ и генерацию кода) и рассмотрели выполнение этих шагов при переводе программ с языков высокого уровня на низкоуровневый машинный язык. Умение выполнять перевод создает иллюзию, что машина действительно понимает язык, предложения которого переводит. (Вспомните историю из раздела 5.1, которую рассказала Грейс Хоппер о менеджерах, считающих, что она учит компьютеры немецкому языку.) Действительно, когда в 1940-х годах создавались первые машины для перевода, многие исследователи верили, что буквально через несколько лет станет возможным запрограммировать компьютеры так, чтобы они понимали естественные языки.

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

Например, у сентенций

Норман Роквелл рисовал людей (Norman Rockwell painted people).

и

У Золушки был мяч (Cinderella had a ball).

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

Вы знаете, сколько времени?

может означать «Скажите, пожалуйста, сколько времени?» или, если говорящий долго ждал своего собеседника, оно может значить «Вы сильно опоздали».

Поэтому для понимания предложения на естественном языке необходим многоуровневый анализ. Первый уровень — синтаксический анализ (syntactic analysis), главная задача которого — это грамматический разбор. На этом уровне можно узнать, что подлежащим в предложении Мэри подарила Джону открытку. является слово Мэри, а в предложении Джон получил открытку от Мэри.

подлежащее — это Джон.

Следующий уровень анализа — семантический (semantic analysis). В отличие от грамматического разбора, цель которого заключается в идентификации грамматической роли каждого слова, семантический анализ выполняет задачу определения семантической роли слов в предложении. Семантический анализ пытается определить такие параметры, как описываемое действие, субъект (который может быть или не быть подлежащим предложения) и объект действия. Именно при помощи семантического анализа можно узнать, что предложения «Мэри подарила Джону открытку» и «Джон получил открытку от Мэри» имеют одинаковый смысл.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: