Найти в Дзене
Безумные идеи

Переводчик с эльфийского. Часть 2.

Если вы не читали первую часть, то сделать это будет необходимо - https://zen.yandex.ru/media/id/5d283bde92414d00ac336903/universalnyi-perevodchik-c-podderjkoi-elfiiskogo-iazyka-5d2ca28395aa9f00b1bed6a6

Теория универсального переводчика и хранения текста в виде набора «смысловых кодов» родилась давно, но она будет неполной, если не описать хотя бы часть потенциальных областей применения.

В этой части я хочу описать наиболее интересное для меня применение - «смысловую математику». Идея предельно проста: Если мы записываем наш текст кодами смысловых значений, то результат у нас больше походит на математическое выражение, нежели на формат текста.

Рассмотрим ещё один пример: «Молодой человек вышел во двор в дождь, не взяв с собой зонт, и сел в машину совершенно мокрый».

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

320: Молодой

100: Человек

71: Выходить

112: Двор

90: Дождь

150: Существовать

33: Брать

428: Зонт

99: Сесть

511: Автомобиль

900: Мокрый

Тогда у нас получится вот такая запись: «(100(320)→(71→112(90→150)),(!33→428)),(100(320,900)->99->511)», которую можно рассматривать не только, как последовательность кодов (скобки в записи не для красоты), но и как некую математическую формулу или задачу. Давайте перепишем это в более понятную форму.

(

Объект: Человек (

Свойство: Молодой

)→(

Действие: Выходить→Объект: Двор(

Свойство: Объект: Дождь→Действие: Существовать

)

),

(

Действие: НЕ Брать→Объект: Зонт

)

),

(

Объект: Человек (

Свойство: Молодой,

Свойство: Мокрый

)→Действие: Сесть→Объект: Автомобиль

)

Если переписать более читаемо, то получится - «Человек молодой выйти во двор, где в это время существовать дождь, и человек молодой мокрый сесть автомобиль».

Польза от этой «оцифровки» большая. Теперь мы можем представить нашу запись как абстрактный пример - «100(320)→(71→112(90→150)),(!33→428) = 100(320,900)→99→511».

Теперь перенесём объект из правой части уравнения в левую, с абстрактным знаком «минус» и аналогично выражение из левой части в правую - «100(320) - 100(320,900) = (71→112(90→150)),(!33→428) - (99→511)».

И «посчитаем» это уравнение - «900 = (71→112(90→150)),(!33→428) - (99→511)».

Теперь поменяем местами пару «слагаемых» - «900 = - (99→511) + (71→112(90→150)),(!33→428)».

И «декомпилируем» получившееся выражение: «Получить новое свойство «мокрый» = Исключить действие «сесть в машину», Выполнить действие «выйти во двор с существующим дождём», Выполнить действие «не брать зонт»».

Т.е. машина, даже без использования нейросетей, сможет провести анализ записи и сделать вывод: «Что бы стать мокрым, необходимо выйти во двор, когда идёт дождь, зонт с собой не брать, в машину не садиться».

Пример я привёл уж очень обобщённый но, надеюсь, суть передать смог. Если подобной машине «скормить» много записей одной направленности, а на результатах ещё и «натаскать» нейросеть, то вполне может получиться обучаемый простым текстом «мудрец», который сможет отвечать на вопросы:

- Мудрец, как не промокнуть на улице, если идёт дождь?

- 1. Не выходить на улицу.

2. Взять зонт и сесть в машину.

4. Взять с собой зонт.

5. Сесть в машину.

Безусловно, было бы очень интересно провести собственные эксперименты, по созданию чего-то подобного, но, увы, глобальной базы/списка смысловых значений с уникальными номерами не существует. По крайней мере, в открытом доступе.

Если вам интересна эта тема, или у вас есть по этому вопросу собственное мнение, буду рад прочитать ваши комментарии.