Алексей Курилов
Говорящий с духами
Часть 1. Утро.
Глава 1
Утро. Утро всегда наступает по-разному, для кого-то, это ранний будильник, который выдергивает тебя из липкого, вязкого сна. Для других утро наступает значительно позже, даже позже, чем встает солнце. Иногда с ватной головой и редкими мыслями – воспоминаниями о странном вчерашнем дне. Для Андрея утро наступило спокойно, он открыл глаза и увидел гладкий, белый потолок. Полежал так некоторое время, пытаясь понять, чего больше хочется: пить, вставать, или укрыться? Пить и укрыться хотелось одинаково, но победило – вставать. Сегодняшний день обещал быть таким же как многие, он пойдет на работу и будет там – разговаривать. У него такая работа разговаривать, и главное не то, что он скажет и даже не то, как он скажет, главное в чём-то другом, что он сам до конца не понимал. Может быть оно и к лучшему.
Очень давно, сразу после института, когда он был обычным программистом, нейронные сети только начали развиваться. Одни распознавали голос, другие работали с фотографиями. Потом сети научились генерировать новые рисунки, они помогали читать текст и как-то незаметно вошли во все жизненные циклы. Андрей тогда работал в мелкой компании. Там было всего то с десяток программистов, но компания представляла себя лидером рынка. Это так принято, причислять себя к чему-то великому: вселенная замков, мир дверей, планета суши. Нельзя же чтобы было чуть-чуть, не может быть просто компания программистов, это обязательно вселенная, галактика, ну как минимум город. Вот и их компания называлась – «Галактика», никак не меньше. Серьезный бизнес не принимал нейронные сети, потому что для любого бизнесмена нейронная сеть это черный ящик, некий механизм, который вроде как работает, но как работает никто не знает. А самое главное, никто не может гарантировать будет ли он работать завтра. Не получится ли так, что он работает только с одними и теми же данными, а какие-нибудь новые данные вызовут у него ступор, или того хуже ложные срабатывания. Поэтому даже в тех отраслях, где нейронные сети допускали к реальным данным, эти данные затем просматривали обычные люди. Конечно, сети очень помогли избавиться от мусора и шума и до живого человека доходило меньше данных, которые нужно было перепроверить, но без человека пока было никуда не деться.
Однажды, Андрей пришел рано утром на работу, как всегда, включил компьютер и ввел логин-пароль. В почту накидали сообщений, и глядя в экран приблизительно отмерил для прочтения почты одну большую чашку кофе. Заблокировал компьютер и пошёл пополнять запасы. По пути ему встретилась Маринка из бухгалтерии:
– Андрюшка, как хорошо, что я тебя встретила, тебя хотел видеть Сергей Анатольевич.
– А, зачем он хотел меня видеть? – Остановившись спросил Андрей.
– Я не знаю, вчера приходили клиенты, они долго-долго разговаривали. Клиенты ушли довольные, а шеф только вышел из кабинета, сказал, чтобы ты к нему зашёл первым делом. – Марина развернулась, показывая, что разговор окончен и зашагала прочь по коридору.
Ну, первым делом всё-таки будет кофе, решил Андрей. Вторым делом, конечно, он зайдёт. Набрав большую чашку кофе и медленно помешивая сахар, Андрей шел обратно и думал, что же его ждёт в самом ближайшем будущем? Вариантов была уйма: это может быть повышение, куча работы, просьба остаться работать в выходные или вопрос об отпуске. И вообще могло быть всё, что угодно.
Дойдя до своего места и открыв-таки почту, Андрей начал лениво просматривать ее, попивая кофе. Быть может, что-то в последних письмах ему подскажет тему предстоящего разговора? Почта была достаточно разнообразна. Несколько напоминаний о том, что перенесли какое-то совещание, спам рассылки, и как они только умудрились прорваться через все эти фильтры и барьеры. Ну, и парочка полезных писем. Одно из них касалось как раз-таки отпуска, который подтвердили. Андрей был безмерно счастлив, что через месяц покинет морозный Питер и отправиться к теплому морю. И второе, от коллеги по цеху, по поводу недавней ошибки, которую они долго не могли поймать. Вроде как было описание, как добиться ошибки со стопроцентной вероятностью. Андрея эти письма очень обрадовали, но он решил не дергать тигра за хвост и сходить к начальству.
Заходя в кабинет Сергея Анатольевича, Андрей заметил, что он был одет абсолютно обычно, в общем-то и сидел он абсолютно обычно, никакой суматохи никаких разрывающихся телефонов, а значит вызвали по какому-то будничному вопросу. Сергей Анатольевич, увидев Андрея обрадовался.
– О, Андрей, заходи-заходи, присаживайся, со вчерашнего дня тебя ждём.
Андрей обернулся, понял, что «ждём» – скорее всего, относилось к вымышленным клиентам, и сел на стул напротив начальника.
– Вчера, мы разговаривали с нашим клиентом, и он высказал пожелание, он хочет чат бота.
Андрей подумал, что ему послышалось.
– Извините Сергей Анатольевич, чат в нашей Галактике? – Прозвучало это, конечно, очень пафосно, но так уж назывался их продукт.
– Да, Андрей, чат-бот, а не просто чат. Они хотят, чтобы этот чат бот отвечал на вопросы клиентов.
Андрей почесал в затылке.
– Извините, но если чат-бот будет отвечать на вопросы клиентов, то что будут делать сотрудники?
– Сотрудники будут учить чат-бота отвечать клиентам.
– А когда научат?
– Ну, скорее всего, их число резко сократится, но это уже не наша проблема, в любом случае. Экономика должна быть экономной.
– Сергей Анатольевич, но ведь вы понимаете, на каком уровне находится искусственный интеллект? Я бы вообще его не называл интеллектом, по большому счёту, и вы знаете, какие вопросы задают клиенты.
– Да, конечно, понимаю. Именно поэтому мы разработаем нейронную сеть, которая научиться отвечать клиентам.
– Сергей Анатольевич, у меня через месяц отпуск. – Сказал Андрей, так и не дождавшись этого вопроса.
– Ну вот, значит, у тебя есть целый месяц.
– А, как быть с другими проектами и задачами? На мне ещё баги, надо же это как-то исправить, клиенты ведь ждут.
– О других задачах не переживай, Андрей, мы их поручим другим людям. Впрочем, решай сам, у нас четких сроков на разработку чат-бота нет, но как ты сам понимаешь, чем быстрее, тем лучше. Тем более, что у нас через полгода новый релиз, хотелось бы уже похвастаться.
Андрей вернулся за свой комп и решил пока не думать об этом. Для начала надо было разобраться с тем, что есть. Прогнал несколько раз последовательность, что прислал ему Федор, и убедившись, что программа падает всегда одинаково, запустил трассировку. Для полного трейса требовалось примерно два часа, и Андрей с удивлением обнаружив, что кофе опять кончился, пошел за очередной порцией.
Мозг жадно схватился за новую идею и начал обдумывать её, как свежую жвачку полную вкуса и сладости. Сначала надо разбить запрос клиента на слова, потом понять смысл сказанного, потом по смыслу составить смысл ответа, потом подобрать слова для ответа. Нет, это сложно, сначала надо избавиться от мусора, всякие “как бы”, “ну”, “подскажите” и прочее, все это нужно людям. Кстати, надо будет потом накидать мусора, чтобы очеловечить ответ. А еще надо распознать вопрос ли это вообще, нет опять сложно. А что, если отдать все это нейронной сети. Нет не сети, сетям, точно! Надо сделать несколько сетей, кто-то будет решать вопрос ли это, кто-то будет разбирать смысл вопроса, кто-то будет как-то это все склеивать. Но надо будет обучить сети по отдельности, и только потом объединить их все вместе.
И тут Андрей понял, что кофе опять кончился, да это не кофе, а прямо мед Вини-Пуха какой-то. Он с удивлением уставился на дно кружки, надо больше кофе, надо на много больше кофе. Трэйс был отправлен Федору вместе с догадкой куда бы смотрел Андрей и что бы стоило проверить. А новая задача теплилась в душе, ярким солнечным зайчиком бликуя с разных сторон, предполагая то одно то другое решение. Мозг приятно кипел, генерируя идею за идеей и придумывая как бы это реализовать в коде.