Пространство смыслов и его формализация
Мышление человека (и машин) основано на концептуальном/понятийном/ментальном пространстве — многомерном пространстве смыслов. Это абстрактное/умозрительное (не физическое! Математическое! Ментальное!) многомерное пространство. В этом пространстве понятия представляют векторами, поэтому иногда это пространство называют vector space, latent space, feature space и используют для представления каких-то предметов окружающего мира[1]. Представления/representations важны, это способ отображения многообразия физического окружающего мира абстрактными/математическими/ментальными/идеальными объектами. Многомерные пространственные математические представления для самых разных описаний сегодня общеприняты в работах по машинному интеллекту, и есть множество гипотез, что вычисления в человеческом мозге тоже работает с подобным представлением. В лингвистике примерно об этом же говорят как о понятийном пространстве, conceptual space[2].
В этом многомерном пространстве смыслов выделяют какие-то области, обозначающие предметы из предметных областей (domains). Области эти имеют нечёткие границы (хотя в работах по машинному интеллекту их представляют и точками, и распределениями вероятности принадлежности к области, и многими другими хитрыми способами). Знаками/symbols мы обозначаем вот эти области в пространстве смыслов, понятия. Знаки — это представление/presentation понятий в реальном мире. По-русски слово одно и то же, но по-английски representation — это представление абстрактным объектом (понятием, областью в пространстве смыслов) объекта в физическом мире, а presentation ровно наоборот — представление абстрактного объекта-понятия каким-то физическим предметом-символом, знаком (например, представление частицами краски на бумаге букв).
Мы считаем, что все рассуждения в конечном итоге опираются на наши представления о предметах физического мира и их взаимодействия, хотя они и абстрагируются потом на много уровней абстракции. Сама операция абстрагирования может быть устроена очень по-разному (иногда это даже преобразование самого пространства смыслов, иногда переход к другим областям этого пространства, иногда изменение формы и объема областей пространства, иногда выделение новых областей в этом пространстве, вариантов много).
Все эти операции абстрагирования происходят обычно для целей сдвижки вправо по спектру строгости для того, чтобы один и тот же способ рассуждений на достаточно высоком уровне абстракции удовлетворял множеству конкретных ситуаций, был универсален. Вы абстрагируете счётные объекты (бараны, скрепки, листья на дереве) и после этого вы можете их считать. Если вы имеете абстракцию физического объекта, вы можете вычислить его траекторию падения после броска — одинаково для всех случаев, в том числе одинаково учитывая сопротивление воздуха, изменение силы тяжести в зависимости от широты и т.д.
Если речь идёт о массовом означковании разных понятий, чтобы потом строить рассуждения путём манипулирования знаками, а не самими понятиями, то речь идёт о нотации, упорядоченном наборе знаков, выражающих какие-то понятия и отношения между понятиями (эти отношения, конечно, сами по себе понятия). Придумывание удобной нотации — это нотационная инженерия, часто совмещаемая с онтологической инженерией, выявлением в мире удобных для объяснения и коммуникации объектов. Онтологическая инженерия говорит, какие объекты нам важны, стартуя часто с понятизации и задействуя собранность — но чтобы собранность могла быть реализована, надо придумать нотацию для записи, и тут работает нотационная инженерия, которая строится как инженерная дисциплина на основе семиотики[3]. Нотационная инженерия лишь наполовину «инженерия», поскольку знак одной стороной живёт в мире понятий, ментальном мире, и в этой части предмет не инженерии как деятельности по изменению мира к лучшему, но другой стороной знак — это выражаемый на носителе информации паттерн, и вот он-то живёт в мире, может быть предметом инженерии. Нотационная инженерия, совмещённая с онтологической инженерией, важна: попробуйте умножать и делить в римских числах, которые были заменены арабскими не так давно. Из онтологической инженерии там в состав цифр был включён ноль, а вот начертание цифр и правила разрядности — это уже нотационная инженерия. Многие нотации в культуре примерно такие же по неудобству, как и римская нотация: музыкальная классическая нотация 7 знаков для 12 тонов в октаве (остальные обозначаются диезами и бемолями как повышениями-понижениями, решение — 12 знаков для 12 тонов[4]), алфавиты естественных языков (реформы алфавитов регулярны, в том числе реформы иероглифической нотации[5]), танцевальные нотации[6]. Проблема в том, что без онтологического разбирательства (какие понятия надо обозначать знаками и какие отношения между понятиями должны эти знаки удобно выражать) и прагматического разбирательства (зачем это всё писать, какого сорта рассуждения в каких ситуациях с использованием каких моделеров поддерживать) нотационной инженерией заниматься нельзя: семантика (и семиотика), а также онтология и познание/исследования (как непрерывное уточнение онтологии) оказываются более чем тесно связанными.
Если у какого-то объекта или отношения нет имени, то мы не можем на него указать ни себе, ни другим людям, ни другим компьютерам. Да, можно говорить не об «имени», а об «адресе», но и адрес — это имя.
Нужно уметь обращаться с именами. Когда вы видите авиалайнер, то представьте: в нём порядка 6 миллионов индивидуальных деталей, каждая из которых получила своё имя, иначе просто нельзя было бы разным участникам проекта договориться о том, чтобы её спроектировать, изготовить, установить на место в самолёте, проверить работоспособность после установки. Но как же мы называем разные объекты? У одного объекта ведь может быть множество имён! Как не запутаться?
В области именования есть разные виды имён: термины, дескрипторы, десигнаторы, метки, идентификаторы, синонимы, теги, коды. Именование — это само по себе небольшая предметная область внутри семантики (а терминология как отдельная наука[7] — это предметная область внутри предметной области именования). Есть имена для имён (почему бы и нет, например, «вот это имя» с указательным жестом на одно из имён в списке на странице — это тоже имя для имени!).
Когда вы смотрите спектакль, вы видите Принца Гамлета, или Васю Пупкина? Или это разные объекты, каждый из которых имеет разное имя — но как мы догадываемся, что по факту это один и тот же объект? Когда смотрите ролевую игру (примерно то же, что спектакль, только «не для показа, а для участия») или рабочий проект (примерно то же, что ролевая игра живого действия), то вы видите отыгрывающего Принца Гамлета или инженера-электронщика? Как мы догадываемся, что во время отыгрыша это один и тот же объект?
Вот мы имеем какую-то проблему в теле (что-то напрягается в шее, когда сидим больше часа), как мы её называем? По какому имени вспомним завтра? По какому имени расскажем о ней врачу? Если не дать имя, то как вообще вспомнить о проблеме?
Не путаем ли мы термин как имя понятия и понятие, этим термином обозначаемое? Если мы спорим о терминах и понятиях, можем ли мы их различить? О понятиях спорить полезно, а спор о терминах заведомо бесперспективный, и об этом, кстати, тоже нужно знать!
Работе с именами нужно учиться, и сразу таким образом, чтобы справляться с трудовыми ситуациями, где миллионы имён, и может вполне оказаться и так, что вы должны эти имена придумывать. Вы должны это уметь делать! Семантика в интеллект-стеке занимается как раз и проблемами именования бесчисленного числа объектов окружающего мира.
Ещё одно понимание семантики — это понимание из computer science, где семантика (вместе с логикой) назвалась Theory B[8]. В учебнике информатики[9] было два тома, первый касался алгоритмики как обсуждению потребных для вычисления ресурсов (сложность алгоритмов), поэтому она получила назавание Theory A. Второй том получил название Theory B и там шла речь о семантике и логике: что именно означает компьютерное вычисление, какой смысл имеют компьютерные программы. Тамошняя семантика — это главным образом математическая/денотационная семантика[10]. Она очень похожа на то, что делают физики: физики описывают математическими объектами физическую реальность, а информатики (computer scientists) описывают математическими объектами объекты компьютерной памяти и вычисления/операции над ними (вычисления в их самом общем виде — это операции по каким-то правилам над какой-то памятью).
Всё там ещё сложней, ибо computer science оказывается экспериментальной наукой[11], которая обосновывает/объясняет идентичность поведения математических/ментальных объектов поведению физических объектов-вычислителей/компьютеров. Это делается обычно через приравнивание человека-математика или компьютера какой-то физической природы (не только классического электронного, но и квантового компьютера, оптического компьютера, и т.д.) к универсальной по части вычислений машине Тьюринга[12]. Это не так-то просто, ибо физика коварна. Так, сумма углов треугольника в физическом мире всегда немного больше, чем 180 градусов из-за искривления пространства-времени. Настолько больше, что без учёта этого GPS не будет работать, и это не из-за сферической формы Земли, а именно из-за искривлений пространства-времени вблизи массы Земли.
Примерно такие же неожиданности несоответствия простых математических рассуждений и реалий физического мира происходят и в квантовом компьютинге, и в оптическом компьютинге, и это отдельная задача — показывать, что поведение физических объектов-вычислителей/компьютеров как-то соответствует поведению ментальных объектов.
По большому счёту, семантика должна считаться частью компьютерной науки/информатики/computer science. То, что некоторые универсальные вычислители оказываются нейросетями, которые теоретически — универсальные аппроксиматоры[13] (которые тоже могут быть очень по-разному устроены, и даже Вселенная может быть рассмотрена как большая нейросеть[14] — и поэтому можно к ней применять нейросемиотические рассуждения), не меняет этого факта. Семантика и сама активно формализуется, понятия формализации как таковой и моделирования как «сжатого строгого описания мира» в целом тоже могут даваться формально.
Сама математика может тоже рассматриваться «лингвистически», как набор языков. Роман Михайлов рассматривал её как оперирование «гирляндами языков» (вдохновляясь индуистскими эзотерическими традициями)[15], и опять мы попадаем в область семантики — знаки обозначают знаки и операции над знаками, и могут быть длинные цепочки таких обозначений, и затем можно задаваться вопросом физики: чему эти все цепочки соответствуют в реальном мире?
Обучение представлениям (representation learning), https://ailev.livejournal.com/1045081.html ↩︎
«The Geometry of Meaning: Semantics Based on Conceptual Spaces», Peter Gärdenfors, https://www.amazon.com/Geometry-Meaning-Semantics-Conceptual-Spaces/dp/0262533758/ ↩︎
https://www.ruthenia.ru/ruth/contents_semiotica.html — оглавление спецвыпуска 125 журнала Semiotics, 1999 год ↩︎
http://samlib.ru/b/beleckij_s_w/chtenienotnogopisxma.shtml ↩︎
https://en.wikipedia.org/wiki/Chinese_characters — история китайского иероглифического письма ↩︎
https://cstheory.stackexchange.com/questions/1521/origins-and-applications-of-theory-a-vs-theory-b ↩︎
https://www.amazon.com/dp/0262720205, Handbook of Theoretical Computer Science - 2 Vol Set by Jan van Leeuwen, 1994, 2293 pages ↩︎
https://www.litres.ru/devid-doych/nachalo-beskonechnosti-obyasneniya-kotorye-menyaut-mir/ ↩︎
https://arxiv.org/abs/2301.00942, раздел 2.3.1. Universal approximation results ↩︎
https://www.youtube.com/watch?v=p6mUVE6nmGY, https://www.youtube.com/watch?v=RIEtRGfFSGI ↩︎