Анисимов Анатолий
Компьютерная лингвистика для всех — Мифы, Алгоритмы, Язык
Эта книга — независимое продолжение предыдущего рассказа об алгоритмах и творчестве. На этот раз речь пойдет о языке и его алгоритмах. В начале было слово… Почему так? Когда-то язык был слабым отражением вещей в сознании человека, прозрачной зыбкой гранью, отделяющей человека от мира неживой материи. Сейчас язык развился настолько, что сам проявляет тенденцию к независимому движению и управляет развитием разума. Он сконцентрировал в себе все тайны Вселенной, в нем скрыты ответы на извечные вопросы бытия. Проникновение в эти тайны — такая же трудная, но увлекательная задача, как познание тайн микромира и космоса. Язык — самое древнее и самое загадочное приобретение человека, а лингвистика, наука о языке, — древнейшая из наук. Первые философы были поэтами, а проницательные философы всегда призывали к изучению языка. Лучшие средневековые трактаты по логике написаны грамматистами, и нет сомнений в том, что а ХХI в. лучшие трактаты по лингвистике напишут программисты. Развиваясь, язык раскрывает методы собственного познания. Об этом будет идти речь в книге. Возможно, когда-нибудь обнаружится, что исследования происхождения мифов предвосхитили изучение тайн гравитации и элементарных частиц. Мифы до конца еще не расшифрованы. Компьютерная лингвистика занимается проблемой компьютерного понимания естественного языка. Язык и мышление человека неразрывно связаны. Поэтому, разгадывая алгоритмы языка, человек тем самым пытается расшифровать алгоритмы разума. Эти многочисленные и настойчивые попытки привели к новому пониманию проблемы. Язык рассматривается как сложная алгоритмическая система. В ней обнаружены свои алгоритмы функционирования и законы развития. Человек — интерпретатор языка, поэтому ему отводится главенствующее положение в этой системе. Такой системный подход требует обобщенного междисциплинарного изучения языка, затрагивающего все пласты его проявлений. Психолингвистика, семиотика, мифология, религия, древняя и современная литература, теория алгоритмов, программирование, оптимальное управление и многие другие направления сконцентрированы в языковой системе. Перед автором стояла задача ввести неподготовленного, но думающего читателя в сложный, загадочный мир. Да и мир этот возник только недавно и отражает представления автора. Поэтому здесь не будет застывших догм и нравоучений, громоздких барьеров грамматики и сложных технических схем. А будет (возможно, оно покажется кому-то рискованным) небольшое путешествие во времени по стране языка. Будут первобытные ночи, притаившиеся охотники и их многоликие жертвы, старинные зеркала, загадочные лабиринты, страшные сны, тексты Борхеса, летящие слова и, конечно, компьютеры, повторяющие путешествие.
— ------------=
(1) Анисимов А. В. Информатика. Творчество. Рекурсия. — Киев: Наук. думка, 1988.- 223 с.
— ------------=
1. АЛГОРИТМЫ И МИР
Мы — дети хаоса, и глубоко в основе каждого изменения скрыт распад. Изначально существует только процесс рассеяния, деградации; все захлестывают волны хаоса, не имеющего причин и объяснений. В этом процессе отсутствует какая-либо изначальная цель, в нем есть только непрерывное движение. Однако, как мы убедились, и в этом движении возможны различные направления, выбор которых диктуется случаем.
П. Эткинс. Порядок и беспорядок в природе
Существует Вселенная, существует человек, объясняющий мир, выражающий эти объяснения колебаниями звука, жестами или письменными знаками. В вечном движении мира действуют свои закономерности, отражающиеся в языке. Поэтому, исследуя структуры языка, человек познает законы мира. Кроме числовых количественных соотношений, изучаемых математикой, в природе существуют универсальные правила, относящиеся к динамической структуре изменений и превращении материи. Они невыразимы количественными соотношениями описываемыми математическими формулами. Это законы развития и взаимодействия, они демонстрируются в языках искусства, в литературе, музыке, живописи. Поиск строгих формальных выразительных средств для выражения и изучения законов развития и взаимодействия начался в давние времена. Об этом думали и Пифагор, потрясенный несоизмеримостью диагонали и сторон квадрата, и Платон, построивший теорию диалогического взаимодействия для поиска истинных суждений, и молодой Галуа, в ночь накануне смертельной дуэли доказавший невозможность решения общих полиномиальных уравнений в радикалах, и Эйнштейн, искавший законы взаимодействия гравитации и вещества. Философы и математики, заметив одинаковые законы развития разнообразных объектов, предложили общее понятие — сложная система. Система — это структурно организованный объект, в котором выделяются состояния, переходы, подструктуры и взаимодействия частей. Системный подход дает возможность анализировать многие сложные объекты с позиций единой общей методологии. Наконец, в 30-е годы нашего столетия логики изобрели математическую теорию алгоритмов. Алгоритм — это сложная информационная система вместе с заданными правилами функционирования. В каждый момент, зная текущее состояние системы, ее правила и доступную ей информацию, можно предсказать множество ее возможных последующих изменений. Одно из важнейших понятий теории алгоритмов — рекурсия. Под рекурсией в общем смысле понимают такой способ организации системы, при котором она в отдельные моменты своего развития, определяемые ее правилами, может создавать (вызывать) собственные измененные копии, взаимодействовать с ними и включать их в свою структуру. Законы изменения копий при вызове также включаются в правила системы и могут зависеть от многих параметров: от состояния системы и других подсистем в момент вызова копии, от информационного наполнения заданных параметров, от правил самой системы. Возможно отсутствие изменения при вызове копии — чистая рекусия (это частный случай). Существует многообразие вариантов поведения копий; они могут существовать и развиваться параллельно с главной системой, исчезать после окончания своего этапа функционирования, по-разному взаимодействовать между собой. Все определяется правилами системы. Рекурсия — важнейшее фундаментальное понятие теории алгоритмов. В этой теории было доказано, что, используя рекурсию, можно из ограниченного количества функциональных единиц получить все многообразие вычислимых функций. Но не математики на самом деле открыли общий принцип рекурсии. Еще в древнейших религиях находим рекурсивные определения богов, а рекурсивные приемы для описания развития встречались во многих древних текстах. Объективный закон рекурсивного развития мира сначала выражался в текстах и только затем, много веков спустя, проявился в теорему алгоритмов. С появлением в конце 40-х годов компьютеров и становлением программирования интерес к рекурсии только усилился. Рекурсивные процедуры и декларативные определения введены в большинство современных языков программирования. Это понятие хорошо известно программистам. Обогатившись в теории алгоритмов и программировании, став привычным методом анализа и синтеза сложных алгоритмических систем, рекурсия возвращается в мир, где она впервые была замечена и всегда существовала, даже неузнанная. Но теперь в ее багаже — мощные развитые алгоритмические методы, теперь она на виду. Оказалось, что язык рекурсивен. Из базового ограниченного набора схем, мифов и сказаний рекурсивным способом получаются все сложные сюжетные построения современных авторов. Анализ предложений показывает, что здесь рекурсия проявляется еще более убедительным способом. Она определяет вложенность комментирующих частей к различным частям предложения. Педложение, остававшееся до сих пор филологической загадкой, получает алгоритмическое определение, и сразу становятся ясными многие проблемные факты традиционного синтаксиса. Рекурсивные