lynx logo
lynx slogan #00108
Привет! Сегодня у вас особенно незнакомое лицо.
Чтобы исправить это, попробуйте .

А ещё у нас сейчас открыта .




секретный шифр д-ра Тьюринга, O.B.E:

включите эту картинку чтобы увидеть проверочный код

close

Одри Хепбёрн «Завтрак у Тиффани»




   

№7181
3589 просмотров
29 сентября '14
понедельник
9 лет 205 дней назад



Автозамены

Пишу нам сейчас автозамены, вроде всё настроил, даю тестовый прогон, а оно мне и говорит:

людбезразмербельчилиха которые потомущепотомтваегодня — полопотомущепотомтваатенькбезразмербельчилихай жбезразмербельчилихарилилилийшбезразмербельчилихай


Так что, похоже, я создал искусственный интеллект. Только он безумен.


Если что, источником его неожиданного вдохновения был текст из фрагмента частотного словаря: «люди которые сегодня — маленький больший большой» с такими заменами:

маленький → полосатенький
больший → жирнейший
большой → свиной...


Изолировать надо слова. Потому что короткие предлоги. Собельчихалайсобаки. Которые.
  Написали коты Шрёдингера  
33



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


и землеройке упорны — завтраий полопотоматенький полопотоматенькой


Я в благоговении наблюдаю его эволюцию. Оно живёт какой-то совершенно самостоятельной жизнью.

землеройки упорные завтра — полокотоматенький жирнадойший жирнадойшой

Indian › Полокотоматенький — это просто замечательно!
землеройки завтрае жирйш — плавлений полудикий полудикой


Хм, кажется, мы обучаемся.

При том, что анонимные функции для preg_replace_callback в нашей заводской столовой по понедельникам не подают, а preg_replace при попытке добавить на тарелку гарнир регулярных выражений для обработки слов целиком, выкидывает с неё тефтели, заменяя обращение к массиву переменной и создавая тем самым ошибку несоответствия типов. Что решается экранированием их заранее при создании массивов из общей строки. Что крайне неэлегантно.
ликоты или упорныы упорныеткого ликоттвено леа


Мля.

ликоты или ы етского ликоттвенного леса


Тогда так.

ликиты или коты котетского ликиттвенного леса


И наконец.

киты или коты советского лиственного леса


Лошадкыыыы! В смысле, работает как и задумано.

Назло суровой реальности, в которой штатно паттерн границ слов \b с UTF-8 действовать перестаёт. Всё, осталось только разделить вокабулярий на две части: слишком простых, и значит отдельных, несклоняемых; и встраиваемых, с флексиями, но уже значит тогда достаточно сложных, чтоб не путались.
У меня маленький вопрос, как этим пользоваться?
Hare Rama › Всё как я и описывал в феврале:

Вот как раз можно тоже будет настроить автозамены для тех, кто принципиально не озадачивает себя написанием интересных сообщений на главную и интересных, обдуманных комментариев. Я впервые удалил подряд два комментария от разных комментаторов в стиле: «Алоэ?» Нас, гидрометеорологов, это тревожит.

В рамках депортации рептилоидов, опять же. Обещанный февраль наступил, надо будет найти время.


Разделил словарь и привёл функцию к рабочему виду. Теперь вызывается в двух вариантах и для любых, подгружаемых на лету, словарей. Осталось дописать сами словари и проверить автозамены в работе. Потом навешу тем, кто месяцами читает и ничего не пишет.

Думал им ещё рекламу показывать — но где найти в наш скучный век достаточно увлекательную рекламу? Из дореволюционных газет буду брать, но это, в свою очередь, требует поработать отдельно.

Кстати, незашедшим на сайт читателям автозамены показываться не будут. Чтобы не травмировать их нежную. Но недавно я им тоже прищемил хвосты: навесил обфускатор внешних ссылок.

Теперь есть четыре класса в нашем обществе:
    1. те, кто не регистрируются, заходят толпами каждый день, посмотрят и уходят — у них нет ссылок;
    2. те, кто регистрируются, заходят и ничего не пишут — для них есть завтрае жирйш — плавлений полудикий;
    3. те, кто заходит, читает и пишет, хотя бы иногда — для них есть пока почти всё; при желании и автозамены придумаю как включать; хотя бы периодически для всех; в рамках серрвртета;
    4. те, кто пишет не просто иногда, а много и качественно — для вас есть изначально увеличенный вес голоса, Радио Сайгон вот теперь, и будут потом всякие дополнительные блекджеки и шлюхи.

Элита должна чувствовать свою элитарность. И эту, как её?..
Indian › Попердим, что из этого получится.
Kindzarp › Я специально для вас сейчас достал из банки тот надмозг первого выпуска. Пытаюсь его обратно настроить. Есть опасения, что мы его потеряли. Пока что он вам на это отвечает:

Попердим, потом из этого получиткотомя.


То есть, в общем, диалог у вас налажен.
Оригинальное чудовище отмыто от формалина. Теперь и с ним можете поговорить:

Попердбезразмербельчилихам, потомущепотомтвалон безразмербельчилихаз этого получбезразмербельчилихатпотомущепотомтвая.


Я бы его закрыл обратно. По-моему, оно угрожает.
А если ему перемешивать массив ещё... Получится такой Протей, у которого не будет вот этих заметных повторимых особенностей — он всякий раз будет представать уже иным, невиданным раньше. Заметьте, мы не меняем формулу, но всё будет выглядеть, будто там всё переписано заново. Просто изменением каскада подстановок.

Вот смотрите, это просто делается:

Людудоды которые мелкоеотволочьня — маленькудодый большудодый глубокий. Люсобутыльникблачный которые мойевидетьня — высокопоставленныйблачныйй большоблачныйй небольшой. Почесатьвнетнойегодня маленькголовай лететь. Люддикобраз другойевыдругойоконя — маленькдикобразй большдикобразй большой. Старыйегодня большмойй голова люди которые волоокийе. Близко можно тоже. Людлведьцо которые сетоженя маленьклведьцой великийескотня ползти. Мелкийеполудикийня — бельчхорошийха большхорошийй ведь. Люди которые серазмышлятьня — атмосферный она древесно.


И это при никаком основании, тупо собранном из начала частотного словаря, минимальном рабочем тезаурусе пациента, и в меру дурацком алгоритме в четыре строки. Что будет, если поставить задачу написать что-то специально для генерации подобных текстов?

Заметьте, после того, как я его перемешал, оно больше не угрожает. У него даже становится заметна какая-то поэтичность.
Назову его Гантенбайн.
Siesta › Меня больше умиляет развитие полопотоматенький → полокотоматенький. Это при том, что словарь всю дорогу оставался нетронутым, отлаживал только загрузку в массивы и определение границ слов. У него там реально какое-то своё творчество.

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

Сейчас вот придумал, что активных словарей будет не 2, а 4: W, /W/, /W. Где / — граница слова.

W/, думаю пока, не нужен вообще — там же окончания, их наоборот надо беречь, чтобы сохранялась связность текста при всей хаотичности его объектов.

Зато, возможно, четвёртым будет словарь типа /W/ для ручного перечисления всех нужных словоформ — для особых случаев. Потому что он слишком громоздкий, в основной /W/ его лучше не сваливать. Это при том, что подобных наборов словарей может быть сколько угодно, их можно будет как вздумется переподключать. И, разумеется, дописывать, совершенствовать.
Ну и давайте собирать здесь всевозможные годные замены.

Например:
    стар* — жирн*
что даёт нам помимо очевидного (впрочем, оттого не менее способного преобразить обычную фразу):
    старый — жирный
такие кунштюки для ценителей, как
    старейшина — жирнейшина.

Ну там ещё, сходу:
    жен* — кабан*
что даёт:
    жену — кабану
    женщина — кабанщина
    женоненавистник — кабаноненавистник
    многоженец — многокабанец
    сражение — сракабание

Что ещё из частого?
    дет* — утятк*
    дети — утятки
    деторождение — утяткорождение
А нет, не годится, другая форма склонения, если я правильно вспомнил, как это называлось у них на уроках русского языка, где я обычно спал. Впрочем, на каких только уроках я не спал. На физкультуре, возможно. Потому что на физкультуре я отсыпался не выходя из дому, её я прогуливал. Вместе с производственной практикой. И парой-другой столь же незначимых предметов.
Indian › Вот тут насторожился! Теперь надо очень осторожно и, главное, внимательно писать комплименты нашим самым-самым дамам. А то получится какой-нибудь форшмак и — привет. Прощай слава ловеласа и джентльмена!
Elsh › Да и ногущепотомтваатенькбезразмербельчилихай с ней. Главное ж дам позабавить. Чтоб они рассмеялись. Кому они смеются — тому они тем присягают на верность.
Да, надо будет раз в 2–5–10 загрузок страницы всё же выдавать неизменённый вариант. Для особенно упорных. По рандому. Особенно смешно будет, когда подопытный будет читать нормальный вариант, всё же опасаясь подвоха. Потом убедится, что нет, всё чисто, правильная версия, и тут вдруг утятки!

Возможно даже дозировать утяток в зависимости от активности. До 10 сообщений — утятки тучами, до 20 — пореже, от 50 их можно наконец отключить.

Дозировать как шанс их зарождения на загруженной странице, так и их на этой странице плотность. То есть в каждом случае будем кидать кость: меняем на утёнка или пусть живёт.
Дозировать утяток, чтобы не перегружать код и по-прежнему выполнять все автозамены одной строкой, можно, просто скармливая, в зависимости от активности подопытного, для него функции разные словари.

То есть даже один и тот же, лишь по-разному урезанный.

Но можно и изощрённее, если так окажется веселее.
Удаётся реанимировать это чудовище. Тем более, что я, оказывается, вчера периодически бэкапы делал. Так, что у нас там было до лис и сов?

землеройки упорные завтра — полокотоматенький жирнадойший жирнадойшой


Это финальный вариант, ещё не умевший видеть границы слов, но из которого все слишком короткие предлоги были выкинуты в дополнительный словарь v22, здесь отключённый.

и землеройке упорны — завтраий полопотоматенький полопотоматенькой


Угу, это классический вариант, восстановленный со сверкой со вчерашним бэкапом, обращающийся к обоим словарям v21 и v22. То есть, с короткими словами. Идём дальше...
Вот оно!

людбезразмербельчилиха которые потомущепотомтваегодня — полопотомущепотомтваатенькбезразмербельчилихай жбезразмербельчилихарилилилийшбезразмербельчилихай


Это тот же самый классический вариант, но в случае, если ему скормить не обновлённые словари v21 и v22 со смещением основания, а оригинальный словарь из бэкапа. Хотя, казалось бы, что то, что это...
Небольшое разоблачение этой техники, так как мы все как один и за технику, и за её разоблачение. Каскадные замены происходят так:

лисы и совы советского лиственного леса
    и → или
лилисы или совы советского лилиственного леса
    лис → кит
ликиты или совы советского ликиттвенного леса
    сов → кот
ликиты или коты котетского ликиттвенного леса
    ...
У меня от этого голова кружится.
Alenka › Возможно оттого, что здесь надо одновременно задействовать оба полушария: лингвистический и математический подход в равной мере. Чёткий порядок и порождаемый им хаос. Их обоюдная ценность, красота их синтеза. Вот они друг за дружкой и начинают гоняться: голова это и ощущает.

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

Думаю, когда-то примерно таким же образом и жизнь зародилась посреди упорядоченной, объяснимой и предсказуемой физики мёртвого мира. Ядро хаоса. Ошибка в размеренном распорядке, порождённая дремавшим миллиарды лет, но оттого не умершим Ктулху глубинным онтологическим принципом свободы.

I tell you, one must have chaos within oneself, to give birth to a dancing star.

Раз уж мы заговорили про это, в этом плане интересно отметить, что бог (как совершенный идеал человека, альфа и омега его природы и устремлений) — как раз не подразумевает свободы. Как не подразумевает наличия любых произвольных вариантов себя единственно верное решение уравнения. Что получается: жизнь, как продукт хаоса, вытекает из совершенного, самодостаточного состояния и стремится к нему же, впрочем, уже на более высоком, более сложном, принципиально ином уровне мироустройства? Стало быть, она порождена не порядком, несвободой и гармонией?

Тут важно не вспомнить по случаю про гностиков и прочих манихеев. Потому что религии вводят мешающую форму своего мифотворчества, закрывающую от нашего взора предмет, который, напротив, надлежит максимально обособить для чистого осмысления.

Потому что там у них начинается обычная кутерьма: «а не злой ли у нас бог?» и «а не дети ли мы тогда падшего ангела» — в первоначальной эллинской чистой версии: мученика Прометея при верховном Зевесе сомнительных моральных качеств... Это всё, конечно, весело обсуждать, но это уже вопросы мифотворчества радостного, не метафизики.
Alenka › Я вообще еле-еле пару строк осилил. Многое просто пропустил или мозг сам что-то там автозаменил, ничего не запоминая, и прошел мимо.
Это только у меня вместо слов в повествовании «вылезают» — утятки и проч грибы...? Или это стиль?
Feodoro › Перенёс сюда. Из поста про старые бибички, где утятки могут всё разрушить, подобно птеродактилям из мглы хаоса.

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

Кстати, каждая новая итерация добавляет от себя что-то:
людбезразмербельчилиха одутлокультиватые отпустите ногущепотомтваегодня — полоотпустите ногущепотомтваатенькбезразмербельчилихай жбезразмербельчилихарилилилийшбезразмербельчилихай


Indian › Ей Богу, ломается и мозг, и язык. Но, к слову сказать, никаких авто- и прочих замен у меня не выходит, пока пишу.
   


















Рыси — новое сообщество