1200

Как нейронка за меня таблицы считала (живой пример)

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

Казалось бы обычный кликбейт в стиле "100 нейросетей для улучшения дикпиков" или "50 новых убийц чат-гпт”. Но нет.

Я работаю маркетологом, и помимо того что мне разрешают сидеть рядом с настоящими айтишниками и програмистами, мне иногда дают задачки по обработке данных. Но не тех данных, для которых нужно иметь 3 сертификата по ML и бигдате, а обычные задачки по экселю, которые встречаются у каждого из нас, практически вне зависимости от профессии. Если вы тот самый “опытный пользователь ПК”, скорее всего вы копаетесь в экселе по рабочим нуждам, и обычная задачка со сводной табличкой из-за отсутствия опыта может растянуться на 6 рабочих часов с перекурами. Большинство таких задач довольно однотипные, и более опытный коллега сделает их в 10 раз быстрее, просто потому что он уже на них собаку съел. Но задачка упала вам. Что бы не проваливаться в кроличью нору запросов в гугле про работу экселевских формул, откроем классический chatGPT 3.5.

Нейросеть, вопреки популярному в одноклассниках мнению, довольно глупая сама по себе, и ей необходимо ставить очень четкие, подробные до духоты задачки. В таком случае она выдает грамотный и рабочий (ну почти всегда) результат. Важно говорить нейросети какие проблемы у тебя образовались в процессе, что бы она лучше понимала что происходит и как это исправить. Также, очень важно помнить что чат-гпт (да и другие нейронки) помнят только последние несколько сообщений, поэтому желательно что бы каждый запрос был максимально информативным и с контекстом. Через сообщений 5-7 он начинает отвечать полную чушь, поэтому полезно формулировать задачку заново с учетом всего пройденного пути.

Давайте более конкретно.

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

Файл может и реальный, а может и нет. Да какая разница, мы тут не за этим.

Файл может и реальный, а может и нет. Да какая разница, мы тут не за этим.

Ваша задача довольно простая —

  • Прочекать все поисковые фразы с >20% отказностью;

  • Вычленить из них все наиболее повторяющиеся фразы, посчитать их повторы

  • Вычленить из них все наиболее повторяющиеся слова, посчитать их повторы

  • Выстроить в порядке убывания слова и фразы от большей отказности к меньшей

________________________________________

Часть первая — простая (кто хочет сразу про питон — го во вторую часть)

Первый вариант работы довольно очевидный — мы просим нейросеть (в данном случае обыкновенный чат-гпт) решить нашу задачу через формулы экселя. Для этого просто пишем в чат нашу таску.

Привет! У меня есть задачка. Есть таблица из 20000 строк. Столбцы этой таблицы - "Поисковая фраза (Директ), Визиты, Посетители, Отказы, Глубина просмотра, Время на сайте". Вторая строчка "Итого и среднее" содержит суммы с средние значения моих данных. Потом идет 19.998 строк с данными. Визиты и посетители - целые числа, отказы - в процентах, глубина просмотрах в десятичных числах с тремя знаками после запятой, время формата ЧЧ:ММ:СС.

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

Далее когда нейросеть понимает что у нас за файл, можно ее просить помочь с формулами.

Напиши мне формулу, которая найдет все фразы с отказностью более 20% и добавит их на новый лист в отдельную колонку. Эксель у меня воспринимает англоязычные формулы. (про язык стоит добавлять, а лучше сразу версию указывать, что бы не было ошибок из-за разницы версий)

Нейросеть выдает нужную формулу, с описанием ее работы -

=IF(«Отчет'!D2 > 0.2, 'Отчет'!A2 & " (" & TEXT('Отчет'!D2*100, "0.00%") & ")", »")

«Эта формула проверяет, если значение отказов в ячейке D2 (на листе "Отчет")

больше 20% (0.2 в десятичной форме), и если это условие выполняется,

она объединяет значение в столбце »Поисковая фраза (Директ)" с

отображением отказов в скобках с процентами.

В противном случае, она возвращает пустую строку.”

К сожалению в формуле есть косяк, который мы видим после пробного запуска — она не содержит разделителя для формулы (;). Спросим об этом нейросеть.

Это я в скриншотах такой борзый, обычно я пишу приличнее.

Это я в скриншотах такой борзый, обычно я пишу приличнее.

Итогом этой формулы являются опять косячные данные —

ТЫСЯЧИ ПРОЦЕНТОВ!

ТЫСЯЧИ ПРОЦЕНТОВ!

Видим что он зачем то умножает наши проценты на 100. Исправляем формулу руками до вида (убираем "*100" из формулы) -

"=IF(Отчет!D2 > 0,2; Отчет!A2 & « (" & TEXT(Отчет!D2; "0,00%") & ")"; »"))"

и получаем приемлемый результат.

Мне не нравится что у меня проценты и фраза в одной ячейке, спрошу нейросеть как это исправить, и убрать пустые строки.

Он предлагает сначала скопировать все фразы на новый лист, потом выполнить следующие действия.

Подробное описание всех необходимых действий

Подробное описание всех необходимых действий

По итогу мы получим новый лист с фразами где отказы более 20%.

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

Этот метод подходит тем кто не знает как подступиться к задаче, не очень хорошо разбирается в возможностях экселя (или вообще его первый раз видите), но можете примерно понять где именно ошибка. Очень полезно если вы в душе не чаете какую формулу лучше использовать, и как сделать то что вам нужно. И у вас нет желания использовать что то еще кроме браузера и экселя. И это все равно намного быстрее чем гуглить формулу.

Но я собрал вас тут не для этого.

___________________________________________

Часть 2

Вот бы был способ, что бы не надо было писать, протягивать формулы, самому фильтровать, вставлять, копировать данные и т. д.

Можно попросить написать макрос для экселя, который сделает за нас все самостоятельно, включая создание листов и т. д.

Пример ответа на нашу первоначальную задачку, но с просьбой использовать макросы экселя.

Пример ответа на нашу первоначальную задачку, но с просьбой использовать макросы экселя.

Но мне этот способ не очень нравится, как я ничего не понимаю в VBA, и как то у меня с макросами не срослось. Но если вы в них хоть немного шарите — это может сэкономить вам годы (ну ладно, может не годы, но дни точно) жизни.

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

Я категорически рекомендую всем кто хоть иногда работает с данными освоить самые азы питона (не читая толстенные книжки типа о-райли и прочих, а просто пройдя какой нибудь скидочный курс в любой онлайн-школе) . Но это не обязательно для решения наших задач.

Что нам позволяет делать нейросеть? Писать любой простой код на любом языке программирования, даже если мы в нем ничего не понимаем.

Начнем по порядку, что нам нужно сделать что бы затея сработала?

Для работы с питоном, его (а точнее его интерпретатор) необходимо поставить на свой пк (без этого к сожалению никак). Я использую PyCharm от компании Jetbrains (хотя пофигу что использовать, главное что бы он работал). Инструкция по установке находится в первой ссылке поискового ответа —https://pythonru.com/baza-znanij/poshagovaja-ustanovka-pycha.... Если хочется не отходить от нейросетей — можно спросить у нее, как пошагово установить PyCharm, он подробно расскажет.

Перенесемся сразу в момент когда у нас установлен PyCharm, и мы начали новый проект.

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

Как это выглядит.

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

Вот пример ответа на мой прошлый запрос для экселя, но я попросил его написать код на питоне:

Чуть редактируем код, меняя 20 на 0.20, потому что данные о процентах у нас меньше единицы всегда.

Вставляем код в PyCharm, и получаем сразу новый готовый файл в папке с нашим проектом.

Да, задача решалась просто и через эксель. Но так тоже работает.

Да, задача решалась просто и через эксель. Но так тоже работает.

На решение этой задачки ушло минуты 3. Из которых две — на открытие программы и написание запроса. Результат ок, идем дальше.

Далее просим нейросеть перейти ко второй задачке —

  • Вычленить из полученных запросов все наиболее повторяющиеся фразы, посчитать их повторы”. (более полный запрос будет чуть ниже)

Далее нам нейросеть пишет код посложнее, со всякими сторонними библиотеками и т. д. Я не стал постить сюда этот код, думаю он мало что скажет. (Можно попросить писать объяснение всех действий, она очень подробно пишет комментарии для каждой строчки.) Нам совершенно не нужно вникать какую именно библиотеку она использует, или какой метод. Следуем указаниям умной машины.

Если (точнее "когда") получаем ошибку — не стесняемся копировать ее всю в ответ в чат, она находит причину и говорит решение — вот пример (я обрезал часть ошибки, она была длинная)

Я ему абракадабру, а он мне - четкий план действий.

Я ему абракадабру, а он мне - четкий план действий.

Любую полученную ошибку закидываем в нейросеть и получаем решение. Далее запускаем код. Если есть снова ошибка — кидаем снова в нейросеть. Если нет — смотрим на данные и радуемся результату, или просим переделать в другом виде. Если видите что нейросеть пишет вам ахинею (будто совсем забыла в чем изначально задача) — формулируйте изначальную задачу заново. И так повторяйте до тех пор пока не получите удобоваримый результат.

Вот как выглядел мой итоговый запрос:

Давай создадим новый файл, основываясь на этой задаче — “Есть таблица из 20000 строк. Столбцы этой таблицы — "Поисковая фраза (Директ), Визиты, Посетители, Отказы, Глубина просмотра, Время на сайте". Вторая строчка "Итого и среднее" содержит суммы с средние значения моих данных. Потом идет 19.998 строк с данными. Визиты и посетители — целые числа, отказы — в процентах, глубина просмотрах в десятичных числах с тремя знаками после запятой, время формата ЧЧ:ММ:СС.” (тут я скопировал изначальные условия) Напиши мне формулу, которая найдет все фразы с отказностью более 0.2 (эту часть добавил что бы он не написал 20, как в первый раз) и добавит их на новый лист в две отдельные колонки (фраза и отказность). Мой файл называется context_data.xlsx (что бы он понимал как называется файл) Теперь у меня в полученном мне нужно вычленить из полученных данных все наиболее повторяющиеся фразы или словосочетания и посчитать их повторы (без учета союзов и местоимений) (эти уточнения сильно фильтруют итоговый результат. Потмоу что очевидно что самые частые слова будут союзами). Сделай отдельно лист с результатами повтора словосочетаний (где больше 1 слова), и отдельно лист с самыми часто повторяющимися словами. Важно что каждая строка в целом уникальна, но в ней могут содержаться одинаковые словосочетания или фразы (если это не описать, он просто будет искать одинаковые строки, а их у меня нет). Результаты добавь на новый файл. Код напиши на питоне.

В итоге я получил длинную портянку кода и инструкцию:

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

Алгоритм всегда один и тот же — описали задание, если выполнилось с ошибкой — кидаем ошибку, он ее исправляет. Если без ошибок — усложняем задачку, и заново формируем ее в запросе.

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

По итогу получаем готовую таблицу с нужными нам данными, попутно осваивая питон.

________________ ИТОГ___________________

Зачем я все это пишу и показываю?
Данный метод работы сократил мое время на обработку данных, позволяет мне кинуть в разговоре “да я тут на питоне прикинул”, что резко повышает ценность в глазах других маркетологов и начальства, и вполне обоснованно позволяет писать новый навык на линкедине.

А если более серьезно — нейросеть может сильно ускорить выполнение рутинных и нудных задач. Она как гугл — главное правильно составить запрос. Не “посчитай мне итог по Сыктывкару для прошлого квартала” а “У меня есть таблица А, в ней колонки АБС, содержат данные таких то форматов. В колонке Б у меня города рф, в колонце С у меня оборот, в колонке Е вид материала. Создай новую таблицу где будет сумма всех поставок пургена для областей которые содержат букву Ы в названии и состоят из 9 букв”. Такой запрос очень понятен, его можно разбить на подзадачи и написать алгоритм. А какой в итоге для этого будет использоваться язык программирования — не имеет значения (ну вообще имеет, если язык появился после 21 года, то есть шанс что чат-гпт 3.5 не знает об этом). Нейросеть можно попросить что то объяснить в коде, рассказать о методе или причинах выбора такого способа решения, и писать запросы человеческим языком.

Использование нейросети для работы не напрямую с формулами, а через сторонний язык программирования позволяет работать сразу с нужными нам файлами. Скоро, когда майкрософт внедрит окончательно нейросеть в стандартный пакет офиса — такие задачи можно будет попросить решать нейронку сразу напрямую в экселе. Но пока что это недоступно простым менеджерам.
Поставить IDE питона — элементарно. Запустить скопированный код из чата с нейронкой — дело 2 секунд. Если у вас есть ежедневные (еженедельные, повторяющиеся) задачки с какими то однотипными выгрузками — вы один вечер потратите на написание кода через нейросеть, потом сможете использовать его постоянно. Сэкономленное время можно потратить на срач в комментариях на DTF или пикабу, или поиск новой работы аналитиком.

Если хоть одному человеку это сэкономит больше времени чем я потратил на эту простыню - это будет означать что я писал все не зря.

Спасибо.

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

Больше постов читайте по тегу «Программирование». А если хотите изучить новую профессию, посмотрите актуальные курсы от проверенных школ с реальными отзывами на сайте Пикабу Курсы.

Правила сообщества

Публиковать могут пользователи с любым рейтингом. Однако!


Приветствуется:

• уважение к читателям и авторам

• конструктивность комментариев

• простота и информативность повествования

• тег python2 или python3, если актуально

• код публиковать в виде цитаты, либо ссылкой на специализированный сайт


Не рекомендуется:

• допускать оскорбления и провокации

• распространять вредоносное ПО

• просить решить вашу полноценную задачу за вас

• нарушать правила Пикабу

Вы смотрите срез комментариев. Показать все
54
Автор поста оценил этот комментарий

А проверять правильность окончательных ответов тоже нейросеть будет?


В США некоторых адвокатов, доверившихся нейросети, штрафанули и заставили сообщить всем упомянутым в тексте лицам, что их имена использовались в подлоге.

раскрыть ветку (22)
12
Автор поста оценил этот комментарий
"Компьютеры не лгут". Конечно перед тем как отправлять результаты любой работы, стоит их проверить. Если это большая таблица - смотрим экстремальные значения, смотрим выборочно, смотрим адекватность.
раскрыть ветку (21)
33
Автор поста оценил этот комментарий
"Компьютеры не лгут"

Нейросети основаны на ином принципе.

Иллюстрация к комментарию
раскрыть ветку (19)
7
Автор поста оценил этот комментарий
А я не про нейросеть, а про то что как код написан, так он и работает.
раскрыть ветку (18)
4
Автор поста оценил этот комментарий

Нейронка - безумна, по определению.

Вы предлагаете воспользоваться кодом безумной нейронки.

Вот как и кем чем он написан, так и работает.


Но за результат отвечать тому, что это использует - нейронка никакой ответственности не несёт.


P.S. Речь не про отказ от нейросетей в принципе - они прекрасно подсказывают варианты и наводят на мысль, но сами мыслить - не способны.

Как вспомогательный инструмент - да. Как замена личного мышления - каждый сам себе Буратино.

раскрыть ветку (6)
8
Автор поста оценил этот комментарий
Так код же вы видите. И процесс его выполнения тоже можно смотреть. В отличии от примера выше с "поиском цитат". Собственно поэтому мне этот способ и нравится - я вижу как это работает, и могу с этим играться
ещё комментарии
0
Автор поста оценил этот комментарий
Вы сейчас предлагаете идти трахаться с нейронкой, ставить питон и трахаться с ним, а за тем ещё и с экселем все равно трахаться (ибо, насколько мне помнится, в русскоязычном экселе нет англоязычных формул). А, и ещё PyCharm купить. Ну и питон изучить на перекуре, ибо а как дебажить то?

Да и понимать эти формулы все равно надо, так как один хрен не понимая формулы не поймёшь, валиден ли результат на всей протяженности выборки.
ну и на хуя козе баян? Одна-две вспомогательные таблицы и все.
раскрыть ветку (10)
8
Автор поста оценил этот комментарий
Он может давать формулы на русском или английском. Пайчарм есть на бесплатный. Дебажить я же сказал как - бросать ошибку в нейросеть. Он говорить в чем она состоит.
Пост был не с целью показать как одну таблицу сделать, а показать способ, как можно сделать свою работу быстрее и интереснее. Про понимание формул - попросите его на коммент рование каждой строки. Это не ассемблер, тут можно понять общий смысл даже не зная языка.
В этом примере можно было быстро обойтись табличкой. А если у вас файл экселя на 100к строк, и нужен сложный аанализ? У меня у примеру рабочий ноут плохо тянет работу с такими таблицами и сложными формулами в самом Экселе. Питон делает это намного быстрее и экономнее 🤷
раскрыть ветку (2)
2
Автор поста оценил этот комментарий
Если понимать питон, то можно из экселя сделать csv и обрабатывать его напрямую в питоне. Если задача сделать в таблицах - можно сделать и в самом экселе, даже без макросов, тупо формулы и промежуточные таблицы, так как макросы - автоматизация уже известного алгоритма.
Попытка впихнуть сюда нейронку выглядит очень печальной.
раскрыть ветку (1)
6
Автор поста оценил этот комментарий

Вы вообще статью читали? Видели там фразы "не зная языка программирования" и "сделать без эксель формул и ручного заполнения таблиц"?
Если у вас однотипная задача, которая повторяется раз в какое то время, то намного проще написать один раз скрипт, и его запускать по мере необходимости. Это сильно быстрее и понятнее чем пытаться разобраться что же экселю не нравится при очередном сведении power query. Где у него там дата превратилась в число и наоборот.
+ зачем обрабатывать CSV файл на десятки тысяч строк в голом питоне, когда у него есть прекрасные готовые библиотеки для работы с экселем?

1
Автор поста оценил этот комментарий

Pycharm купить?

1
Автор поста оценил этот комментарий

Не учатся некоторые и учиться не хотят

1
Автор поста оценил этот комментарий
vba. вам в помощь, пишите функции и будут у вас любые формулы. а если не лень то можно и полностью писать скрипт.
0
Автор поста оценил этот комментарий

Это гейткипинг, увожаемый. Вижу анологичное поведение на форумах по ремонту электроники, когда человек приходит с вопросом по починке прибора, а ему начинают тыкать носом что он в схемотехнике не разбирается и катушку индуктивности неправильно называет. И тут вот какой прикол: да, чтобы стать хорошим ремонтником нужно потратить пару лет на изучение матчасти, набить шишки, научиться держать паяльник с нужной стороны. НО в ситуации когда нужно ехать, а не шашечки, когда нужно быстро один раз сделать чтобы работало, точными знаниями, пониманием принципов и умением накатывать идеальные шары можно принебречь. И вот в ситуации когда мне упала задача в экселе, а я с ним не работаю, быстрее и эффективнее будет применить вот такой шорткат, чем разбираться в формулах и VB. Проблема валидации результата безусловно стоит, но это часть задачи и в большинстве подобных ситуаций гораздо важнее валидировать результат, чем выучить инструментарий(который потом может вообще ни разу в жизни не пригодиться). И тут ты мне скажешь - отдай задачу профессионалу! Найди ниндзю экселя и числомолотилок, заплати ему бабок и будет хорошо. А я тебе отвечу, что я лучше потрачу 15 минут и сделаю это все сам, оставив у себя контроль за выполнением. Примера из маркетинга у меня нет, зато есть пример из ремонта электроники: 3 из 5 сервисных центров возвращали мне технику в худшем состоянии чем она была туда отдана, и я тратил дополнительное время чтобы устранить вмешательство "профспецов". И если мне нужно будет ремонтировать технику раз в неделю - я безусловно найду хорошего спеца и отдам на аутсорс, но когда это происходит раз в год - дешевле, быстрее и эффективнее решить вопрос самому, хоть и при помощи костылей, а не точного знания.

раскрыть ветку (3)
0
Автор поста оценил этот комментарий
Сейчас даже профессии уже зарождаются, специалисты по работе с нейросетями. С ними общаться надо уметь. Вам не удастся скипнуть работу за 15 минут, если вы не алле в общении с нейросетями. Те же гуру экселя, тоже не разберутся за 15 минут.

Плюс вся ваша инфа будет храниться на сервере этой самой нейронки, оно вам надо? Не всякую инфу можно отдавать на сторону. Придумать фейковые данные тоже время займет, иначе результат будет заведомо не валиден.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Бгг. Я вот программирововать не умею, например, однако у меня в облаках два бота уже вращается с моими задачами и третий на подходе. Без опыта, без экспертизы, на голом интересе. Да, на первого потратил неделю, но на второго уже ушло часа три. Если ты не можешь в 21 веке составить промпт, то тебе ни какие учебники не помогут. Сейчас важнее быстро находить нужную информацию и решения, чем глубокие знания на периферии специализации. Про инфу - а ты не рассказывай лишнего:)

0
Автор поста оценил этот комментарий

100%. Аналитики стоят дорого, и вы просто не сможете нанять их столько, что бы отдавать им все ваши задачи. Да и платить аналитику просто за то что бы он "посчитал регион" или "быстро выгрузил из 1с" за фуллпрайс тоже странно. Денег ни у кого лишних нет, поэтому приходится делать самим. За зарплату конечно)

2
Автор поста оценил этот комментарий

О да. Эксель с его форматом данных поднасрет)

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку