• Нейронки «с нуля», или Как мы делали помощника для наших диспетчеров техподдержки

      Привет, Хабр! Меня зовут Александр Соловьев, я программист компании DataLine.

      Хочу поделиться опытом внедрения модных нынче нейронных сетей в нашей компании. Все началось с того, что мы решили строить свой Service Desk. Зачем и почему именно свой, можно почитать моего коллегу Алексея Волкова (cface) тут

      Я же расскажу о недавнем новшестве в системе: нейросеть в помощь диспетчеру первой линии поддержки. Если интересно, добро пожаловать под кат.


      Читать дальше →
      • +15
      • 5.3k
      • 5
    • Перевод книги Эндрю Ына «Страсть к машинному обучению» Главы 1 — 14

      Некоторое время назад в моей ленте в фейсбуке всплыла ссылка на книгу Эндрю Ына (Andrew Ng) "Machine Learning Yearning", которую можно перевести, как "Страсть к машинному обучению" или "Жажда машинного обучения".


      image<img src="<img src="https://habrastorage.org/webt/ds/rc/ct/dsrcctfottkedkf7o1hxbqsoamq.png" />" alt="image"/>


      Людям, интересующимся машинным обучением или работающим в этой сфере представлять Эндрю не нужно. Для непосвященных достаточно сказать, что он является звездой мировой величины в области искусственного интеллекта. Ученый, инженер, предприниматель, один из основателей Coursera. Автор отличного курса по введению в машинное обучение и курсов, составляющих специализацию "Глубокое обучение" (Deep Learning).

      Читать дальше →
      • +40
      • 44.9k
      • 3
    • Визуализация данных для вашего Web-проекта



        Автор: Александр Кашеверов, Senior JavaScript Developer

        Добро пожаловать и приятного чтения!

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

        Цель — осветить предметную область и упростить проблему выбора конкретного решения. Рассмотрим отличия библиотек и остановим взгляд на популярных вариантах, будут примеры и совсем немного теории.

        Для лучшего понимания — необходимо знание JavaScript и общее представление о работе веб.

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

        Моя статья, вероятно, не всеобъемлющая, поэтому пишите комментарии и личные сообщения, я готов выслушать критику и дополнить материал.
        Читать дальше →
      • Построение нейронных сетей в php используя FANN, пример реализации

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

        Поскольку данные для анализа формируются в php и мне этот язык сейчас ближе всего, то искалась библиотека с интерфейсом для php. В связи с этим мне порекомендовали FANN (Fast Artificial Neural Network) — открытое программное обеспечение для построения сетей. У этого решения есть апи для 15 языков, так что почти каждый сможет выбрать что-то для себя.

        Пример. Распознавание языка текста на странице

        Для примера возьмем задачу легкую, но недалекую от нашей реальности и от серьезных задач. Допустим есть 1000 документов, на 3-х разных языках. Пусть это будут французский, английский и польский. Наша задача научить нейронную сеть распознавать язык документа. Для этого мы используем самый простой частотный механизм. Но тем не менее его результаты неплохи. Его суть в том, что у каждого языка с разной частотой в тексте встречаются одни и те же символы. Мы подготавливаем 3 больших куска текста для каждого из языков (английский, французкий, польский), посчитаем для каждого символа частоты. Эти данные мы передадим в нейронную сеть, с указанием какой набор частот принадлежит каждому из языков. Дальше нейронная сеть все сделает сама.
        Читать дальше →
      • Создание веб-приложения на Go в 2017 году. Часть 2

        • Translation
        • Tutorial
        Содержание

        Итак, наше приложение будет иметь две основные части: клиентская и серверная. (Какой сейчас год?). Серверная часть будет на Go, а клиентская — на JS. Давайте сначала поговорим о серверной части.

        Читать дальше →
      • Асинхронное параллельное исполнение в PHP

          Много пик сломано в мире на тему того, можно ли и как создавать многопоточность в PHP. Чаще всего все сводится к тому, что так делать нельзя или дискуссия материализуется в какие-то ужасные костыли (ох, сколько я их уже повидал). Я хочу изложить свою точку зрения на этот вопрос. Легко догадаться, что если бы моя позиция была “так нельзя” или “это зло”, то я бы не писал эту статью. Вот только погодите, не спешите доставать тухлые яйца и вооружаться мелкими бытовыми предметами для рукопашной схватки. Я постараюсь дипломатично изложить тему и максимально объективно раскрыть ситуацию. Так что самые смелые из моих читателей могут прочитать молитву от ереси и открыть статью.


          Читать дальше →
        • Выбираем бесплатный сервер в облаке для тестовых целей, домашних проектов и т.д

            Всегда хотелось познакомиться с облачными сервисами, но на моих работах они либо не использовались, либо не в моём отделе. Платить свои деньги не очень хотелось за такое знакомство, да и всё это казалось довольно сложным. Куча разных тарифов, что-то бесплатно, что-то платно. Но на самом деле каждый может разобраться с этим и самое главное легко. Настолько легко, что вы просто обязаны получить свой собственный бесплатный облачный сервер прямо сейчас. Осталось только выбрать какой.

            Статья будет полезна тем, кто ещё не пользовался облачными серверами.


            Читать дальше →
          • Декларативное программирование в web-е

              image


              Что же такое декларативное программирование? Википедия подскажет нам:


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

              Далее в статье пойдет речь о том, как использовать данную парадигму в современном web-программировании. В частности, я хотел бы затронуть вопрос о валидации/верификации входных данных для веб сервисов. Примеры будут на php, так как это язык мне наиболее близок в профессиональном плане.

              Читать дальше →
            • Нейронные сети для начинающих. Часть 2



                Добро пожаловать во вторую часть руководства по нейронным сетям. Сразу хочу принести извинения всем кто ждал вторую часть намного раньше. По определенным причинам мне пришлось отложить ее написание. На самом деле я не ожидал, что у первой статьи будет такой спрос и что так много людей заинтересует данная тема. Взяв во внимание ваши комментарии, я постараюсь предоставить вам как можно больше информации и в то же время сохранить максимально понятный способ ее изложения. В данной статье, я буду рассказывать о способах обучения/тренировки нейросетей (в частности метод обратного распространения) и если вы, по каким-либо причинам, еще не прочитали первую часть, настоятельно рекомендую начать с нее. В процессе написания этой статьи, я хотел также рассказать о других видах нейросетей и методах тренировки, однако, начав писать про них, я понял что это пойдет вразрез с моим методом изложения. Я понимаю, что вам не терпится получить как можно больше информации, однако эти темы очень обширны и требуют детального анализа, а моей основной задачей является не написать очередную статью с поверхностным объяснением, а донести до вас каждый аспект затронутой темы и сделать статью максимально легкой в освоении. Спешу расстроить любителей “покодить”, так как я все еще не буду прибегать к использованию языка программирования и буду объяснять все “на пальцах”. Достаточно вступления, давайте теперь продолжим изучение нейросетей.
                Читать дальше →
              • Нейронные сети для начинающих. Часть 1

                image

                Привет всем читателям Habrahabr, в этой статье я хочу поделиться с Вами моим опытом в изучении нейронных сетей и, как следствие, их реализации, с помощью языка программирования Java, на платформе Android. Мое знакомство с нейронными сетями произошло, когда вышло приложение Prisma. Оно обрабатывает любую фотографию, с помощью нейронных сетей, и воспроизводит ее с нуля, используя выбранный стиль. Заинтересовавшись этим, я бросился искать статьи и «туториалы», в первую очередь, на Хабре. И к моему великому удивлению, я не нашел ни одну статью, которая четко и поэтапно расписывала алгоритм работы нейронных сетей. Информация была разрознена и в ней отсутствовали ключевые моменты. Также, большинство авторов бросается показывать код на том или ином языке программирования, не прибегая к детальным объяснениям.

                Поэтому сейчас, когда я достаточно хорошо освоил нейронные сети и нашел огромное количество информации с разных иностранных порталов, я хотел бы поделиться этим с людьми в серии публикаций, где я соберу всю информацию, которая потребуется вам, если вы только начинаете знакомство с нейронными сетями. В этой статье, я не буду делать сильный акцент на Java и буду объяснять все на примерах, чтобы вы сами смогли перенести это на любой, нужный вам язык программирования. В последующих статьях, я расскажу о своем приложении, написанном под андроид, которое предсказывает движение акций или валюты. Иными словами, всех желающих окунуться в мир нейронных сетей и жаждущих простого и доступного изложения информации или просто тех, кто что-то не понял и хочет подтянуть, добро пожаловать под кат.
                Читать дальше →
              • Четыре типажа программистов

                  Привет.


                  Я впервые пишу в поток об управлении и найме персонала. Речь пойдет об одном из способов классифицировать ваших будущих или действующих программистов. Мой основной тезис: все разработчики, грубо говоря, делятся на 4 больших типажа и каждому из этих типажей есть своя область применения. Попытка направить неправильный типаж на решение неподходящих для него задач ведет к провалу (неэффективная работа, или сотрудник покидает команду). Хотите знать почему так — добро пожаловать под кат. Приготовьтесь, текста много.

                  Читать дальше →
                • Обучающий проект: ToDo веб приложения на Spring и ReactJS

                    Spring и ReactJS

                    Приложение будет предназначено для людей, нуждающихся в удобном средстве организации личных целей и задач. Типичное приложение типа todo-list, но с одной особенностью, которая впрочем понятна из названия. Организация задач будет возможна не только в виде списка, но и в виде дерева подзадач. Tree > List!


                    Проект будет транслироваться с нуля, то есть вплоть до установки необходимого окружения для разработки (JDK, Eclipse, Atom, Node.js) и подключения необходимых зависимостей (Spring, Hibernate, ReactJS, Redux). Если вы хотели увидеть, как используются следующие технологии: Java, Spring, Hibernate, JavaScript, ReactJS, Redux, то спешу вас обрадовать, у вас будет такая возможность! Конечно, это не весь список, но это то на чем будет делаться акцент.
                    Читать дальше →
                  • Самые популярные «движки» оказались самыми медленными

                      Компания iTrack представила рейтинг систем управления сайтами (CMS), составленный по информации о реальных установках на сайтах. По его результатам самый популярный бесплатный «движок» WordPress, оказался самым медленным, а платный 1С-Битрикс — на третьем месте сзади.
                      Читать дальше →
                    • Игры для веб-камеры

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

                        image

                        В своем топике я расскажу что значит «игра для веб-камеры» и с чем ее едят.
                        __________________________

                        Обновлено

                        Читать дальше →
                      • Подключение Paypal

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

                          Ничего толкового по этой теме на хабре я не нашел. Пришлось разбираться со всем самому. Ниже – результаты этих разбирательств:)
                          Читать дальше →
                        • Сказочка про домашний почтовый сервер

                            Жил да был бедный веб-программист и решил он как-то поставить у себя дома сервер. Да не простой, а чтобы там всё было как у людей: и веб-сервер, и почтовый сервер. К великому счастью этого программиста, вышла новая прошивка с готовым почтовым сервером для уже имеющегося дома железа QNAP 109 Pro II.
                            Сказано — сделано: постоянный IP адрес от Авангарда имеется, доменное имя *.spb.ru давно зарегистрировано, соответствующие записи на DNS сервере от FirstVDS прописаны, почтовый сервер установлен и настроен. Радости программиста не было предела: почта валится прямо домой, отправляется из дома моментально.

                            Но на этом радостная часть сказочки и закончилась.
                            Читать дальше →
                          • Несколько jQuery плагинов, которые вы возможно станете использовать

                              qTip





                              qTip — это бесплатный плагин для jQuery для создания подсказок (tooltip). Данный плагин кроссбраузерный, имеет обширные возможности к настройке и содержит множество функций, таких как: закругленные углы без применения изображений, speech bubbles (изображение речи как в комиксах), а так же эффекты — fade (постепенное исчезновение изображения), slide и возможность создания собственных эффектов. Данный плагин уже включает пять готовых тем, но можно создавать свои темы без особых усилий. Кроме того можно создавать окна диалогов, изменять цвет фона подсказки и места, где она отображается.

                              Скачать | Демо

                              Читать дальше
                            • «Свежий Взгляд онлайн» — сервис для проверки текстов на предмет паронимии

                                Одна из самых распространенных стилистических погрешностей — расположение близко по тексту фонетически и морфологически сходных слов, чей параллелизм никак не мотивирован (так называемая паронимия, или «нечаянная тавтология»). Механический характер этой погрешности подвиг Д. Кирсанова (да, того самого) на написания отличной утилиты, которую он назвал «Свежий взгляд». Однако эта программа давно не обновлялась, да и сам такой функционал логично реализовать в качестве сервиса. И он появился — Sergey Kurakin перевел не новую программу на веб-рельсы в рамках своего проекта quittance.ru тут.
                                Конечно, слепое применение такого сервиса не сделает ваши тексты блестящими. Однако кое-какие грубые ошибки можно легко заметить)