В чем заключается процесс формализации языка кратко
Язык формализованный
Формализованный язык — это искусственная знаковая система, предназначенная для представления некоторой научной теории или логической системы. Формализованный язык отличается от естественных языков человеческого общения и мышления, от искусственных языков общения типа Эсперанто, от «технических» языков науки, сочетающих средства определённой части естественного языка с соответствующей научной символикой (язык химии, язык математики и другие), от алгоритмического языка программирования и тому подобных прежде всего тем, что его задача — служить средством фиксации (формализации — см. Формализация) определённого логического содержания, позволяющего вводить отношение логического следования (см. Логическое следование) и понятие доказуемости (либо их аналоги).
Исторически первым формализованным языком была силлогистика Аристотеля (см. Силлогистика), реализованная с помощью стандартизованного фрагмента естественного (греческого) языка. Общую идею формализованного языка сформулировал Г. В. Лейбниц (characteristica universalis), предусматривавший его расширение до «исчисления умозаключений» — calculus ratiocinator. В Новое время различные варианты формализованных языков разрабатывались на основе аналогии между логикой (см. Логика) и алгеброй. Решающее значение здесь имели труды О. де Моргана, Дж. Буля и их последователей, в особенности Э. Шрёдера и П. С. Порецкого. Современные формализованные языки — в их наиболее распространённых формах — восходят к труду Г. Фреге «Begriffsschrift» — «Запись в понятиях» (1879), от которого идёт главная линия развития языка логики высказываний (см. Логика высказываний) и [объемлющей её] логики [многоместных] предикатов (см. Логика предикатов), а также применение этих логических языковых средств к задачам обоснования математики.
Характерная структура формализованных языков включает следующее:
Добавление правил преобразования превращает формализованный язык в логическое исчисление. Существует множество видов формализованных языков: это, прежде всего, языки дедуктивно-аксиоматических построений, систем натурального («естественного») вывода и секвенциальных построений, аналитических таблиц, систем «логики спора» и многих других.
Формализованные языки различаются по своей логической силе, начиная с «классических» языков (в которых в полной мере действуют аристотелевские законы тождества, противоречия и исключённого третьего, а также принцип логической двузначности — см. Законы логики) и заканчивая многочисленными языками неклассических логик (см. Логики неклассические), позволяющих ослаблять те или иные принципы, вводить многозначность оценок формул либо их модальности. Разработаны языки, в которых логические средства в том или ином смысле минимизируются. Таковы языки минимальной и положительной логик или язык логики высказываний, использующий единственную логическую операцию, например штрих Шеффера.
Формализованные языки обычно характеризуют в терминах синтактики (см. Синтактика) и семантики (см. Семантика). Но самым существенным является та логическая характеристика его формул, которая сохраняется правилами вывода (истинность, доказуемость, подтверждаемость, вероятность и прочие). Для любого формализованного языка фундаментальными являются проблемы полноты выражаемой в нём логики, её разрешимости и непротиворечивости; например, язык классической логики высказываний полон, разрешим и непротиворечив, а классической логики предикатов (многоместных) хотя и полон, но неразрешим; язык же расширенного исчисления предикатов — с кванторами по предикатам и неограниченным применением принципа абстракции — противоречив (такой была логико-арифметическая система Г. Фреге, в которой Б. Рассел обнаружил антиномию, названную его именем).
Формализованный язык может быть «чистой формой», то есть не нести никакой внелогической информации; если же он её несёт, то становится прикладным формализованным языком, специфика которого — наличие постоянных предикатов и термов (дескрипций) — например арифметических, — отражающих свойства прикладной области. Для формализации теорий высокого уровня абстракции формализованный язык может по-разному видоизменяться, расширяться либо «надстраиваться»; пример: формализация классического математического анализа как арифметики второго порядка (то есть с кванторами по предикатным переменным). В ряде случаев формализованный язык содержит логические структуры многих — даже бесконечно многих — порядков (такова, например, «башня языков» А. А. Маркова, служащая формализации конструктивной математики, или интерпретация модальностей в виде иерархии «возможных миров»). Семантическая база формализованного языка логики может быть теоретико-множественной, алгебраической, вероятностной, теоретико-игровой и другой. Возможны и такие её «ослабления», которые лишь родственны вероятностной семантике — так возникает, например, формализованный язык «нечёткой логики» (в смысле Л. Заде). Тогда язык приобретает специфическую прагматику, принимающую во внимание фактор носителя языка (дающего оценку «функции принадлежности» предмета объёму данного понятия). Здесь проявляется укрепляющаяся ныне тенденция учёта в формализованных языках «человеческого фактора» — в том или ином его виде, что явно проявляется, например, в некоторых формализованных языках логики квантовой механики. В другом направлении идёт разработка формализованных языков, семантика которых предполагает отказ от экзистенциальных допущений либо те или иные онтологические предпосылки — о допустимости правил с бесконечным числом посылок, «многосортности» предметных областей, даже противоречивых, и так далее.
Непременной особенностью формализованного языка является «возможностное» истолкование правил вывода; например, на определённом шаге мы вольны использовать либо не использовать, скажем, правило modus ponens. Этой черты лишены алгоритмические языки, носящие «предписывающий» характер. Но по мере развития компьютерной логики и разработки программ «описывающего» типа это различие начинает сглаживаться. В этом же направлении действует и разработка формализованных языков, ориентированных на решения задач эвристики.
Формализация речи. Некоторые соображения
В чем основная сложность формализации естественного языка? В том, что нам привычней формализовывать его с помощью языка же, что приводит к дурной бесконечности. Язык – сам по себе средство формализации, которым человечество давно и небезуспешно пользуется.
Берем первое попавшееся определение:
Полет – самостоятельное перемещение объекта в газообразной среде или вакууме.
В нем шесть терминов, которые в свою очередь требуют определения:
Из этого можно сделать вывод, что останавливаться в процессе выдачи дефиниций необходимо на терминах, обозначающих физические объекты. Принцип таков: о чем видим, о том сообщаем.
Логическая ловушка подстерегает и тут: для понимания того, о чем пытаемся сообщить, необходимо дать термину определение.
Допустим, кто-то, указывая пальцем, изумленно восклицает:
– Заяц!
«Заяц» требует либо предметного знания, либо дефиниции – мы оказываемся все в том же незавидном положении. Но незавидное положение исчезнет, если взять что-нибудь элементарное – к примеру, крикнуть:
– Нечто белое!
Что такое «белое»? Не предмет, конечно, но его характеристика – цвет. Термин, не требующий дефиниции: белый он и есть белый. Количество цветов, доступных для человеческого глаза, ограничено – соответственно, ограничено и количество терминов, не требующих дефиниции.
Считается, что человек обладает пятью органами чувств (иногда называют больше, но это не принципиально):
Спрашивается, какие элементы окружающей действительности могут быть охарактеризованы в качестве простой совокупности пяти ощущений? Элементарные же объекты! Идея состоит в том, чтобы сложный объект – того же «зайца» – разложить на элементарные составные части, каждую из которых охарактеризовать ощущениями. Сложив составные части обратно, получим «зайца» в сборе: объект, имеющий формальное и, главное, завершенное вербальное определение.
Давайте посмотрим, как это возможно.
Вот наблюдается физический объект. Обратите внимание, что наблюдать (точнее, ощущать, потому что воспринимать объект можно не только зрительно, но и с помощью других органов чувств) доступно исключительно конкретный, то есть индивидуализированный объект. Когда я вижу зайца, это очень конкретный заяц – вот именно этот, – а не вообще какой-то из зайцев.
Как правило, индивидуализация объекта происходит посредством его именования, но, как в случае с зайцем, далеко не всегда (только в том случае, если в этом есть необходимость). Таким образом, в зависимости от ситуации термин «заяц» может означать:
Заяц(i).
Текстовый аналог: заяц – личное имя;
Заяц(s).
Текстовый аналог: заяц – название класса;
Если бы заяц имел уникальное имя, стало бы очевидней:
Степашка(i).
«Степашка» не может быть названием класса, зато требует указания на принадлежность к тому или иному классу. Мало ли кого так обозвали?! Приходится обозначать принадлежность к классу. Используем для этого символ «∈»:
Степашка(i) ∈ заяц(s).
Теперь определено, что Степашка – один из зайцев, но не определено, что такое зайцы. Как было сказано ранее, «зайца» необходимо разложить на составные части, каждой из которых дать характеристики, соответствующие воспринимаемым человеком ощущениям.
Это весьма сложно, в основном в связи с трехмерностью составных частей объекта, поэтому может быть выполнено лишь условно. Но в принципе может.
Предположим, что заяц состоит из головы, туловища, лап и хвоста, и что перечисленные объекты являются элементарными (на самом деле нет, конечно). Тогда, используя символ «⊂» для обозначения вхождения составной части в материальное целое, получим:
голова(s) && туловище(s) && 4*лапа(s) && хвост(s) ⊂ заяц(s).
Текстовый аналог: голова, и туловища, и 4 лапы, и хвост составляют зайца.
Так как объекты предполагаются элементарными, для них можно указать характеристики по каждому из ощущений. Ввиду комбинированного воздействия ощущений на человека, могут потребоваться определения в пространстве и времени.
Получаем приблизительный набор характеристик:
• цвет,
• форма,
• запах,
• вкус,
• поверхность (результат осязания),
• звучание,
• местоположение (пространственная координата),
• перемещение (как разница между двумя местоположениями),
• момент времени,
• продолжительность (как разница между двумя моментами времени),
• скорость (как частное между перемещением и продолжительностью).
Набор, как я сказал, приблизительный: безусловными являются только характеристики, соответствующие ощущениям, остальное обсуждаемо. Например, ясно, что время как таковое человек не воспринимает: его можно определить по символам на гаджете или по положению солнца на небе, но не непосредственно ощущением. Точно так же местоположение устанавливается не абсолютно, а относительно других объектов.
Теперь попробую охарактеризовать «голову»:
То есть голова, если условно рассматривать ее в качестве элементарного объекта – это нечто круглое и твердое. Условно, конечно, исключительно условно. Язык как средство формализации тоже ведь дает приблизительные результаты: как, к примеру, вербально описать пятно сложной геометрической формы? Никак: точно не опишешь. Поэтому в условном примере голова примерно круглая и примерно твердая – и точка на этом.
Если согласны, так и запишем, в фигурных скобках:
голова(s) <форма: круглая; поверхность: твердая>.
То есть указанный объект обладает указанными характеристиками.
Разумеется-разумеется, головы могут быть не только круглыми, но и иными: например, у Вовочки из бородатого анекдота советского периода голова квадратная. Ничто не мешает ввести в нашу систему обозначений логические операнды, в частности операнд «или»:
голова(s) <форма: круглая II квадратная; поверхность: твердая>.
Но у зайца-то голова круглая, а не квадратная, как у Вовочки! Ну и черт с ними обоими, введем импликацию:
голова(s) <форма: круглая>if голова(s) ⊂ заяц(s).
Вместо зайца можно было указать конкретного зайца Степашку, задавая тем самым его индивидуальные характеристики:
голова(s) <форма: круглая>if голова(s) ⊂ Степашка(i).
Термины, использованные в характеристиках («круглый», «квадратный», «твердый» и т.п.) – неопределяемые: мы их непосредственно ощущаем, посему никакого вербального определения не требуется.
Обозначу данный тип слов символом «a» – от «attribute», вот так:
круглый(a).
Обращаю внимание, что индивидуальные объекты и классы являются существительными (это же сущности!), тогда как характеристики являются прилагательными (на то они и характеристики!). С точки зрения соответствия типов частям речи все совершенно законно.
Прилагательное «круглый» – неопределяемая характеристика, но, допустим, прилагательное «заячий», не соответствуя ни одному из имеющихся у человека ощущений, под attribute никак не подходит.
Очевидно, что определять «заячий» следует через «зайца», что мной уже проделано (посредством разложения «зайца» на составные части). То есть сначала появился термин «заяц», а затем уже от него образовалось прилагательное «заячий», обозначающее: относящееся к зайцу, похожее на зайца.
Получаем новый тип, обозначаемый символом «d» – от «dependence». Указания типа, конечно, недостаточно – необходима ссылка на родительский термин. Вводим новое обозначение, используя символ «=>» для обозначения зависимости:
заячий(d) => заяц(s).
Теперь термин «заячий» определен – через родительское существительное «заяц».
Мы определили зависимое прилагательное через родительское существительное. Случается и наоборот: когда от родительского прилагательного образуется зависимое существительное. Например, «квадратный» – прилагательное, обозначающее форму объекта. В свете вышесказанного становится ясным, что «квадрат» произошел от «квадратного», но не «квадратный» от «квадрата».
квадрат(d) => квадратный(a).
Таким образом, в каждой группе однокоренных терминов имеется родительский термин, от которого ведут происхождение все остальные.
Теперь-то мне удалось вывести все термины из первоначальных неопределяемых? По-прежнему нет – остается значительная терминологическая группа, пока не охваченная: те понятия, которые могут быть выведены посредством формул.
Возьмем глагол – к примеру, «передвигать»: с глаголами мы пока не сталкивались. Что такое «передвигать»? Использую не академическое определение, а то, которое, с моей точки зрения, отражает суть дела:
«Передвигать» – это когда предмет меняет свое местоположение под воздействием другого предмета.
Спешу дать необходимые пояснения.
Формула состоит из трех частей, обозначающих субъекта, действие и объект:
Нужные элементы замещаются конкретными терминами, указываются характеристики, определяемый элемент помечается решеткой, при необходимости используются логические операнды.
Давайте немного поупражняемся, например с наречиями, которыми также могут быть выражены формульные понятия.
Возьмем наречие «бережно» – с моей точки зрение, родительское в группе однокоренных слов («бережность», «бережный», «бережно», «беречь»). Слово обозначает характеристику, но не предмета, а действия. Дам такое условно-примитивное определение:
«Бережно» – это когда кто-то передвигает какую-либо вещь медленно.
Вещи определены, «медленно» – зависимое от «медленный», которое является характеристикой предметов по скорости.
медленно(d) => медленный(a).
И термин «передвигать» уже обработан. Тем самым имеется все необходимое для определения термина «бережно»:
X(i)1 передвигать(f) <#бережно(f)>X(i)3 <скорость: медленный(a)>.
Здесь «бережно» определено через «передвигать» и «медленно» и, как всякое наречие, относится к действию.
По таким правилам возможно определять новые формульные понятия по ранее полученным, и так далее, в том числе с использованием импликаций, а возможно, и других логических методов. Чем сложнее абстрактное понятие, тем сложнее и глубже по структуре получится формула. Мы сможем получить формальное определение любого термина, а уж насколько оно окажется корректным, зависит от нас.
Естественно, предложенный язык можно расширять – возможностей хоть отбавляй. Например, напрашивается обозначение синонимов:
Не говорится о других частях речи: тех, которые используются для эмоциональной окраски предложения (междометия) или разных технических надобностей (союзы).
Да мало ли что еще! Важно, однако, направление мысли, тогда как синтаксис подобного языка – вопрос сугубо вторичный и прикладной.
Имеем следующие типы слов:
Я столкнулся с данной проблемой, ваяя чат-бота. Тестировщики, которых удалось привлечь – всего-то несколько человек! – вели себя, с моей точки зрения, одинаково безумно: задавали вопросы, желая получить на них ответы. Наивные! Они будто не ведали, что прежде, чем задавать вопросы, следует ввести информацию в базу. Но даже при успешном преодолении этого препятствия оказалось весьма проблематично, ввиду инвариантности человеческой речи, предвидеть форму вопроса.
Ничего не стоит ввести в базу текст:
«Птицы летают».
Тогда ответ на вопрос может быть получен. Сложно дождаться ответа на более замысловатый вопрос, по сути являющийся вариацией первого:
«Машут ли какаду при полете крыльями?».
Для этого нужно знать многие взаимосвязи между словами, а именно:
Вот я и задался вопросом: как формализовать речь, с тем чтобы на основе неопределяемых терминов дать дефиниции остальным, чтобы стало возможным составить полноценный Словарь лексических связей. В случае успеха чат-бот сможет ответить на вопрос, машут ли какаду в полете крыльями.
Указать путь – единственное, что посильно мне на текущем жизненном этапе. При этом не уверен, что высказанные здесь соображения абсолютно оригинальны: попытки формализовать речь при разработке ИИ имели место, и уж точно неоднократные. Однако, фишка моего предложения — не просто в заполнении базы фразами на естественном или искусственном языке (содержательное заполнение базы к обсуждаемой теме не относится), а в определении любых последующих терминов из ограниченного числа неопределяемых понятий. О попытках реализации данной идеи мне ничего не известно.
[ joke ]
Не подскажете, нобелевскую премию выдают чеком, безналичным перечислением или налом?
[ / joke ]
В чем заключается процесс формализации языка кратко
ФОРМАЛИЗОВАННЫЙ ЯЗЫК
ФОРМАЛИЗОВАННЫЙ ЯЗЫК – искусственная знаковая система, предназначенная для представления некоторой теории. Формализованный язык отличается от естественных (национальных) языков человеческого общения и мышления, от искусственных языков типа Эсперанто, от «технических» языков науки, сочетающих средства определенной части естественного языка с соответствующей научной символикой (язык химии, язык обычной математики и др.), от алгоритмического языка типа обобщенного программирования и т.п. прежде всего тем, что его задача – служить средством фиксации (формализации) определенного логического содержания, позволяющего вводить отношение логического следования и понятие доказуемости (либо их аналоги). Исторически первым формализованным языком была силлогистика Аристотеля, реализованная с помощью стандартизованного фрагмента естественного (греческого) языка. Общую идею формализованного языка сформулировал Лейбниц (characteristica universalis), предусматривавший его расширение до «исчисления умозаключений» – calculus ratiocinator. В Новое время различные варианты формализованных языков разрабатывались на основе аналогии между логикой и алгеброй. Вехой здесь явились труды Моргана, Буля и их последователей, в особенности Шрёдера и Порецкого. Современные формализованные языки – в их наиболее распространенных формах – восходят к труду Фреге «Begriffsschrift» – «Запись в понятиях» (1879), от которого идет главная линия развития языка логики высказываний и (объемлющей ее) логики (многоместных) предикатов, а также применение этих логических языковых средств к задачам обоснования математики.
Характерная структура таких формализованных языков: задание алфавита исходных знаков, индуктивное определение (правильно построенной) формулы языка, т.н. задание правил образования, задание правил вывода, т.н. правил преобразования, которые сохраняют выделенную логическую характеристику формул (истинность, доказуемость и др.). Добавление правил преобразования превращает формализованный язык в логическое исчисление. Существует много видов формализованных языков: это прежде всего языки дедуктивно-аксиоматических построений, систем натурального («естественного») вывода и секвенциальных построений, аналитических таблиц, систем «логики спора» и многих других.
Формализованные языки различаются по своей логической силе, начиная с «классических» языков (в которых в полной мере действуют аристотелевские законы тождества, противоречия и исключенного третьего, а также принцип логической двузначности) и кончая многочисленными языками неклассических логик, позволяющих ослаблять те или иные принципы, вводить многозначность оценок формул либо их модальности. Разработаны языки, в которых логические средства в том или ином смысле минимизируются. Таковы языки минимальной и положительной логик или язык логики высказываний, использующий единственную логическую операцию, напр. штрих Шеффера (см. Логические связки).
Формализованные языки обычно характеризуют в терминах синтактики и семантики. Но самым существенным является та логическая характеристика его формул, которая сохраняется правилами вывода (истинность, доказуемость, подтверждаемость, вероятность и пр.). Для любого формализованного языка фундаментальными являются проблемы полноты выражаемой в нем логики, ее разрешимости и непротиворечивости; напр., язык классической логики высказываний полон, разрешим и непротиворечив, а классической логики предикатов (многоместных) хотя и полон, но неразрешим; язык же расширенного исчисления предикатов – с кванторами по предикатам и неограниченным применением принципа абстракции – противоречив (такой была логико-арифметическая система Фреге, в которой Рассел обнаружил антиномию, названную его именем).
Формализованный язык может быть «чистой формой», т.е. не нести никакой внелогической информации; если же он ее несет, то становится прикладным формализованным языком, специфика которого – наличие постоянных предикатов и термов (дескрипций) – напр. арифметических, – отражающих свойства прикладной области. Для формализации теорий высокого уровня абстракции формализованный язык может по-разному видоизменяться, расширяться либо «надстраиваться»; пример: формализация классического математического анализа как арифметики второго порядка (т.е. с кванторами по предикатным переменным). В ряде случаев формализованный язык содержит логические структуры многих – даже бесконечно многих – порядков (такова, напр., «башня языков» А.А.Маркова, служащая формализации конструктивной математики, или интерпретация модальностей в виде иерархии «возможных миров»). Семантическая база формализованного языка логики может быть теоретико-множественной, алгебраической, вероятностной, теоретико-игровой и др. Возможны и такие ее «ослабления», которые лишь родственны вероятностной семантике – так возникает, напр., формализованный язык «расплывчатой логики» (в смысле Заде). Тогда язык приобретает специфическую прагматику, принимающую во внимание фактор носителя языка (дающего оценку «функции принадлежности» предмета объему данного понятия). Здесь проявляется крепнущая ныне тенденция учета в формализованных языках «человеческого фактора» – в том или ином его виде, что явно проявляется в некоторых формализованных языках логики квантовой механики. В другом направлении идет разработка формализованных языков, семантика которых предполагает отказ от экзистенциальных допущений либо те или иные онтологические предпосылки – о допустимости правил с бесконечным числом посылок, «многосортности» предметных областей, даже противоречивых, и т.д.
Непременной чертой формализованного языка является «возможностное» истолкование правил вывода; напр., на определенном шаге мы вольны использовать либо не использовать, скажем, правило modus ponens. Этой черты лишены алгоритмические языки, носящие «предписывающий» характер. Но по мере развития компьютерной логики и разработки программ «описывающего» типа это различие начинает сглаживаться. В этом же направлении действует и разработка формализованных языков, ориентированных на решения задач эвристики.
1. Черч А. Введение в математическую логику, т. 1. М., 1960;
2. Клини С.К. Введение в метаматематику. М., 1957;
3. Карри Х. Основания математической логики. М., 1969;
4. Фрейденталь Х. Язык логики. М., 1969;
5. Смирнова Е.Д. Формализованные языки и проблемы логической семантики. М., 1982.