"Neo4j - это ChatGPT (GPT-3), Excel и SQL в одном котле или на чем сейчас строить бизнесу искусственный интеллект

Всем привет! Я программист, занимаюсь автоматизацией бизнес процессов. Я тоже, как и все, восхищаюсь возможностями ChatGPT но в моей личной системе ценностей сейчас происходит далеко не менее серьезный рывок в очень близкой, но все-таки в другой области: в области доступности искусственного интеллекта для бизнеса. В этой статье я расскажу максимально просто и доступно про решение Neo4j и постараюсь объяснить в чем его крутость для бизнеса в качестве основы для искусственного интеллекта.

Но начну с плохих новостей...

Возможно, вы уже поняли, что чтобы получить нужный результат от нейросетей, то очень важно "правильно составить запрос". Так вот: чем дальше искусственный интеллект будет внедряться в нашу жизнь, тем сильнее будет востребован данный навык, потому что все больше и больше процессов будут передаваться ИИ, а задача человека будет, в первую очередь, "правильно написать запрос".

И эта проблема никуда не денется, потому что какие бы проявления разума не показывал ChatGPT и подобные чудеса программирования, никакого разума там нет: это всего лишь очень мощный калькулятор, который дожил до возможности собрать все данные из интернета и обработать их. Т.е. бездумная интеграция подобных решений в реальные жизни и в бизнесе может привести к самым непредсказуемым последствиям. Собственно, очень многие собственники бизнеса не спешат применять искусственный интеллект в бизнесе как раз ввиду синдрома "черного ящика", не понимая как это работает.

На самом деле, вряд ли кто понимает до конца как работает обычный принтер, или мышка, или 1С - но это уже стало привычным и используется повсеместно.

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

А теперь новости хорошие!

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

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

Neo4j - создан не для программистов

На самом деле, Neo4j вряд ли впечатлит бывалых программистов, которые привыкли все тоже самое делать самостоятельно, своими руками. Крутость Neo4j именно в простоте в изучении для обычного человека. Например, многие финансисты знают и используют SQL на практике, и, вероятно, получают за это хорошую надбавку. Изучить аналогичный язык запросов для Neo4j (Cypher) проще, чем SQL: далеко не каждый сможет писать сложные запросы на SQL, а на Cypher в принципе нет ничего сложного: надо лишь не спеша понять базовые принципы и прочитать хотя бы раз инструкцию от начала до конца.

Если вы решили сделать карьеру программиста, то тоже советую тоже посмотреть в сторону Neo4j: такое решение пригодится любому бизнесу, а освоить его можно гораздо быстрее, чем любую другую технологию.

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

Что общего у ChatGPT и Neo4j?

Для начала, давайте разберемся как работает ChatGPT а точнее: за счет чего мы можем видеть такие чудесные результаты:

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

Но принципиально ничего не поменялось:

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

Так вот, еще раз:

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

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

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

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

Немного о графа

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

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

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

Neo4j меняет правила:

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

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

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

Разберем из чего граф состоит:

  1. Кружки - это вершины. В Neo4j их называют узлами, нодами.
  2. Палочки - это ребра, в данном случае - ориентированные. В математическом графе ребра могут и не иметь ориентации, т.е. будут без стрелочки, характеризуя равнозначность связи. В Neo4j все ребра могут быть только направленными, а идея равнозначности связей создаются, собственно, созданием двух противоположных связей.
  3. У ребер математического графа есть веса. В Neo4j они тоже есть, но реализованы как возможность задать произвольное свойство в качестве весов связей, а по умолчанию вес ребер равен единице.

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

Более того, структура графов предполагает гибкость при развитии данных: не стоит бояться как-то не так или не правильно описать в Neo4j. В отличии от классических "табличных" баз данных, графы не требовательны к четкой структуре, поэтому вносить изменения и перерисовывать связи можно как угодно.

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

Кстати, Neo4j включает в себя уже готовые алгоритмы для работы с графами, а также модуль Data Science, в котором также разобраться очень просто. Более того, именно изучив как работает ИИ на базе Neo4j, вам легче будет шагать дальше в программировании и развивать свои навыки.

Подытожим

По заявлениям Neo4j, опубликованным на их сайте, 75 % компаний из Fortune 100. И оно не удивительно: Neo4j обеспечивает мощную интеграцию между знаниями ваших сотрудников о процессах в компании и компьютером.

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

Как учить Neo4j:

У Neo4j отличная документация. Проблема лишь одна - английский язык. Однако, гугл-переводчик в помощь - тема не такая уж сложная, поэтому и в техническом переводе можно разобраться.

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

Далее можете скачать версию Neo4j для Десктопа, указав свои данные (лучше через VPN) и скачав дистрибутив -

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

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

П.С. Если тема для вас оказалось интересной, и вы хотите больше информации, то напишите, пожалуйста, в комментариях, желательно сформулировав конкретный вопрос. Это послужит мне ориентиром для новых статей, благодарю!

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

0
10 комментариев
Написать комментарий...
Toh

Таки может ChatGPT, а не ChatGTP?

Ответить
Развернуть ветку
Про программирование просто
Автор

Спасибо, что указали на опечатку)))

Ответить
Развернуть ветку
Илья С

Напишите, пожалуйста, про прикладное применение Neo4j. Какой бизнес процесс удалось автоматизировать на практике? Контроль остатков склада, какую-то управленческую или бухгалтерскую отчётность или что-то в этом роде?

Ответить
Развернуть ветку
Степан Капуста

Простата уже есть у нейросетей?) Исправьте ошибку в тексте.

Ответить
Развернуть ветку
Alex Hasselbach

Идея отличная, сам думал о таком. Изучать язык запросов необязательно, ведь сам чатгпт (или другая досутпная языковая модель) может генерировать запросы к neo4j. Для этого можно собрать онтологию графа и попросить его придумать запрос:

Ответить
Развернуть ветку
Про программирование просто
Автор

Да, не обязательно!

Ответить
Развернуть ветку
Дмитрий Ходаков

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

Ответить
Развернуть ветку
Roman Konstantinovich

А с помощью этого можно сделать в телеграмм бота, который вежливо будет посылать на три буквы?

Ответить
Развернуть ветку
Рама

Я тоже не понял. Можно хотя бы один рабочий пример использования в жизни?

Ответить
Развернуть ветку
AlexMn

пример дайте пожалуйста!

Ответить
Развернуть ветку
7 комментариев
Раскрывать всегда