• Наташа — библиотека для извлечения структурированной информации из текстов на русском языке

      Есть стандартная задача извлечения именованных сущностей из текста (NER). На входе текст, на выходе структурированные, нормализованные объекты, например, с именами, адресами, датами:



      Задача старая и хорошо изученная, для английского языка существует масса коммерческих и открытых решений: Spacy, Stanford NER, OpenNLP, NLTK, MITIE, Google Natural Language API, ParallelDots, Aylien, Rosette, TextRazor. Для русского тоже есть хорошие решения, но они в основном закрытые: DaData, Pullenti, Abbyy Infoextractor, Dictum, Eureka, Promt, RCO, AOT, Ahunter. Из открытого мне известен только Томита-парсер и свежий Deepmipt NER.

      Я занимаюсь анализом данных, задача обработки текстов одна из самых частых. На практике оказывается, что, например, извлечь имена из русского текста совсем непросто. Есть готовое решение в Томита-парсере, но там неудобная интеграция с Питоном. Недавно появилось решение от ребят из iPavlov, но там имена не приводятся к нормальной форме. Для извлечения, например, адресов («ул. 8 Марта, д.4», «Ленинский проезд, 15») открытых решений мне не известно, есть pypostal, но он чтобы парсить адреса, а не искать их в тексте. C нестандартными задачами типа извлечения ссылок на нормативные акты («ст. 11 ГК РФ», «п. 1 ст. 6 Закона № 122-ФЗ») вообще непонятно, что делать.

      Год назад Дима Веселов начал проект Наташа. С тех пор код был значительно доработан. Наташа была использована в нескольких крупных проектах. Сейчас мы готовы рассказать о ней пользователям Хабра.
      Наташа — это аналог Томита-парсера для Питона (Yargy-парсер) плюс набор готовых правил для извлечения имён, адресов, дат, сумм денег и других сущностей.
      В статье показано, как использовать готовые правила Наташи и, самое главное, как добавлять свои с помощью Yargy-парсера.
      Читать дальше →
    • One-cloud — ОС уровня дата-центра в Одноклассниках


        Алоха, пипл! Меня зовут Олег Анастасьев, я работаю в Одноклассниках в команде Платформы. А кроме меня, в Одноклассниках работает куча железа. У нас есть четыре ЦОДа, в них около 500 стоек более чем с 8 тысячами серверов. В определенный момент мы поняли, что внедрение новой системы управления позволит нам более эффективно загрузить технику, облегчить управление доступами, автоматизировать (пере)распределение вычислительных ресурсов, ускорить запуск новых сервисов, ускорить реакции на масштабные аварии.


        Что же из этого получилось?

        Читать дальше →
        • +40
        • 12.4k
        • 7
      • Предсказываем отток с помощью нейросети

          image

          Проблема предсказания оттока клиентов — одна из самых распространенных в практике Data Science (так теперь называется применение статистики и машинного обучения к бизнес-задачам, уже все знают?). Проблема достаточно универсальна: она актуальна для многих отраслей — телеком, банки, игры, стриминг-сервисы, ритейл и пр. Необходимость ее решения довольно легко обосновать с экономической точки зрения: есть куча статей в бизнес-журналах о том, что привлечь нового клиента в N раз дороже, чем удержать старого. И ее базовая постановка проста для понимания так, что на ее примере часто объясняют основы машинного обучения.

          Для нас в Plarium-South, как и для любой игровой компании, эта проблема также актуальна. Мы прошли длинный путь через разные постановки и модели и пришли к достаточно оригинальному, на наш взгляд, решению. Все ли так просто, как кажется, как правильно определить отток и зачем тут нейросеть, расскажем под катом.
          Читать дальше →
          • +16
          • 9.5k
          • 3
        • Эксфильтрация в Metasploit: DNS туннель для Meterpreter

            Тема DNS туннеля для организации скрытного канала связи c командным сервером — (С2 или С&C) не нова, но мне многие годы не давало покоя одна вещь — отсутствовала реализация полнофункционального решения с пентестерской(хакерской) точки зрения (не считая кастомные вещи для себя). Не было удобного пути загрузки пейлода и контроля удаленного агента (трояна) в одном флаконе без использования сторонних сервисов типа Iodine или DNSCat2, которые не были созданы для скрытного прибывания в системе и делали много локального шума: открывали TCP порты, открывали активные соединения самостоятельно и вообще висели отдельным процессом, и все это характеризуется одним словом — «палево».

            Год назад, мы в рамках нашей DEF CON группы DC7812, чисто ради «fun and profit» и для пользы сообщества, задались задачей решить эту проблему, и сделать нормальный DNS туннель в транспорте Metasploit для Meterpreter агента (пока только для MS Windows). Другими словами, что бы Meterpreter сам использовал этот туннель, нативным образом. Очевидно, что это же подразумевало и создание stager нагрузки (шеллкодов), что бы этот самый meterpreter (или иной другой пейлод MSF) грузить по тому же DNS прям из засплойченого процесса. Таким образом мы будем иметь стандартную нативную поддержку транспорта, что добавит дополнительные возможности пентестерам. Ну и я рад сообщить, что мы закончили разработку и теперь любой может это использовать или хотя бы потестить. Под катом можно почитать про интересные фичи и возможности нашей разработки (о чем мы рассказывали на конференции ZeroNights прошедшей в Москве в Ноябре).

            Читать дальше →
            • +21
            • 7.7k
            • 5
          • Две крупнейших CRM — Salesforce и Zoho — сравнение телефонных интеграций


              Недавно мы интегрировали облачную телефонию Zadarma с двумя крупнейшими мировыми CRM системами — Salesforce и Zoho CRM. Интеграция традиционно бесплатна. Но функционал интеграций значительно отличается, как и функционал самих CRM систем. Через что пришлось пройти для каждой интеграции, и что в итоге получилось, опишем подробнее.
              Читать дальше →
            • Видеонаблюдение в подъезде своими силами



              Прочитал относительно недавнюю публикацию о видеонаблюдении и решил описать свой опыт. Считаю мое решение оптимальным по соотношению цена/функциональность, но с удовольствием выслушаю критику более опытных людей.

              Итак, задача — минимальными материальными и временными ресурсами сделать видеонаблюдение в подъезде перед входной (в квартиру) дверью. Желательно не записывать круглые сутки “пустые” картинки, т.е. необходимо детектирование движения. Также хорошо бы иметь удаленный доступ к записям.
              Читать дальше →
            • Сервис оповещения миллиона пользователей с помощью RabbitMQ

                Почти в самом начале создания платформы (некоего фундамента, фреймворка на котором базируются все прикладные решения) нашего облачного веб-приложения СБИС мы поняли, что без инструмента, позволяющего сообщить пользователю о каком-либо событии с сервера, жить будет довольно-таки трудно. Все мы хотим мгновенно видеть новое сообщение от коллеги (которому лень пройти 10 метров), поднимающую корпоративный дух новость от руководства, очень важную задачу от отдела тестирования или получение поощрения (особенно денежного). Но путь становления был тернист, поэтому расскажем немного про трудности, которые мы встретили при взрослении от 5.0e3 до 1.0e6 одновременных подключений от пользователей.


                Читать дальше →
              • Телефония в офис за палку колбасы



                  Многие представители бизнеса еще живут в предрассудках, мол телефония для офиса — это дорого. Мы хотим избавить от разочарований и показать пример, как можно телефонизировать свой офис любых размеров: подключить облачную АТС, да еще и привязать телефонию к бесплатной CRM-системе и тратить на всё про всё 300-500 рублей в месяц. Кстати палку сырокопченой колбасы за такие деньги найти очень сложно.
                  Читать дальше →
                • Выводим бизнес на международный рынок за 5 минут

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

                    Zadarma
                    Читать дальше →
                  • Кластер Asterisk. Централизация информации о регистрации

                    У большинства администраторов, работающих с телефонией на базе Asterisk, в компаниях, где штат превышает 500+ сотрудников, рано или поздно встает вопрос о полноценной кластеризации Active/Active. Предпосылками к этому может быть и наличие региональных ответвлений, и желание сделать систему надежнее. Тема обширная и не является целью данной статьи в полном объеме, которая написана с целью показать один из самых быстрых и надежных способов добыть информацию о регистрации устройств на серверах в кластере, с целью последующей централизации или/и дистрибуции внутри кластера. Логично предположить, что самый производительный способ — это быть частью самого Asterisk.
                    Читать дальше →
                  • Управление компанией-разработчиком: оно вам надо?

                      На Гайдаровском форуме Герман Греф заявил, что Сбербанк будет переходить на новые информационные технологии, выбрав в качестве основного партнёра российско-американскую компанию с численностью 60 чел. При этом Сбербанк потратил 65 млрд. руб. на амбициозный и сложный проект централизации ИТ- структуры и на сегодняшний день у него более 22 000 ИТ-сотрудников, включая 6 тыс. человек в Сбертехе. Основная причина перехода — скорость внесения изменений в ИТ, которая была низка и привела к отставанию ИТ Сбербанка от лидеров по развитию и гибкости ИТ-инфраструктуры. А насколько важна скорость внесения изменений в разработке? На что нужно обратить внимание в управлении процессом разработки? Стоит ли использовать модели и методологии? Попробуем разобраться.

                      Читать дальше →
                    • KPI, или пособие по командному самоубийству

                        Для написания этой заметки  было затрачено:

                        • 68338 километров на поездки.
                        • 72 человеко-часа на почтовую переписку.
                        • 423 человеко-часа на эксперименты с коллективом в 30 человек.
                        • 88 часов на подготовку докладов и выступления на конференциях.
                        • 17 чашек кофе на беседу с мудрыми людьми на афтепати.
                        • Порядка 25 часов на набор этого текста и правку багов в нем :).
                        • До смерти замученный копирайтер, который был вынужден разбирать мои черновики, аудиозаписи и вообще ему спасибо.


                        Много денег и времени. Пожалуй, самым затратным (по нервам, времени и деньгам) был эксперимент над собственной командой, о котором мне безумно неловко вспоминать. Но об этом — ниже.

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

                        Смысл такого подхода: платить по справедливости. На сколько наработал — столько и получил. Это честно, это логично, это — прекрасно!



                        Ну, логично же, что:

                        • Продажникам  нужно назначать процент с оборота. Волки должны быть голодными. (Да, есть альтернативное мнение, что применить такой подход — значит «обложить себя дополнительным налогом». Но как по мне — тут все справедливо :-)).
                        • Офисному планктону — ставить оклад. Стабильность для них — ооочень важное условие существования.


                        А вот с творческими единицами (дизайнерами, программистами) — все значительно сложнее.

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



                        Некоторые компании (15%) применяют KPI для оценки эффективности труда программистов и дизайнеров.
                        Читать дальше →
                      • Хватит работать, давайте лениться

                          Если я попрошу вас назвать факторы личной продуктивности, то, скорее всего, услышу слова типа «целеполагание», «тайм-менеджмент», «упорство». Найдется ли в этом списке место лени? Да-да, обычной, такой близкой, знакомой всем и тщательно скрываемой? Позвольте сделать, на первый взгляд, абсурдное заявление: лень – один из факторов продуктивной работы!

                          Читать дальше →
                          • +18
                          • 20.4k
                          • 8
                        • Шпаргалка по Redis

                          • Tutorial
                          Про Redis (официальный сайт, материалы на Хабре) написано много, но мне до сего дня не хватало материала, который послужил бы шпаргалкой по его практическому использованию, а так же справочником по базовым теоретическим моментам. Постараюсь заполнить этот пробел в богатой базе знаний Хабра.

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

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

                          Ключи


                          Redis — хранилище данных в формате «ключ-значение». Факты о ключах:
                          • Ключи в Redis — бинарно-безопасные (binary safe) строки.
                          • Слишком длинные ключи — плохая идея, не только из-за занимаемой памяти, но так же и в связи с увеличением времени поиска определенного ключа в множестве в связи с дорогостоящим сравнением.
                          • Хорошая идея — придерживаться схемы при построении ключей: «object-type:id:field».


                          Типы данных Redis


                          • Строки (strings). Базовый тип данных Redis. Строки в Redis бинарно-безопасны, могут использоваться так же как числа, ограничены размером 512 Мб.
                          • Списки (lists). Классические списки строк, упорядоченные в порядке вставки, которая возможна как со стороны головы, так и со стороны хвоста списка. Максимальное количество элементов — 232 — 1.
                          • Множества (sets). Множества строк в математическом понимании: не упорядочены, поддерживают операции вставки, проверки вхождения элемента, пересечения и разницы множеств. Максимальное количество элементов — 232 — 1.
                          • Хеш-таблицы (hashes). Классические хеш-таблицы или ассоциативные массивы. Максимальное количество пар «ключ-значение» — 232 — 1.
                          • Упорядоченные множества (sorted sets). Упорядоченное множество отличается от обычного тем, что его элементы упорядочены по особому параметру «score».

                          Про типы данных Redis есть отдельная хорошая статья: «Структуры данных, используемые в Redis».
                          Читать дальше →
                        • Анализ логов с помощью Hadoop/Python

                            Привет, Хабр! В этом посте я хотел бы рассказать вам о том, как мы, Лаборатория новых профессий, вместе с компанией Data-centric Alliance смогли сконструировать несколько лабораторных работ, посвящённых обработке и анализу веб-логов. Эти лабораторные работы являются ключевыми в рамках первого кейса нашей образовательной программы «Специалист по большим данным» и выполняются на основе аудиторных данных DMP Facetz.DCA. Меня зовут Артем Пичугин, и я являюсь её координатором.



                            Задача


                            Представьте, что вы компания, продающая автомобили. Кому показать рекламу автомобиля? На каких сайтах? Так, чтобы недорого и эффективно? Казалось бы, ответ очевиден: пользователям, которые заходят на страницы покупки автомобилей на сайтах компаний, а также на досках объявлений типа Avito и т д.
                            Читать дальше →
                          • Собираем и анализируем логи с помощью Lumberjack+Logstash+Elasticsearch+RabbitMQ

                              Добрый день.

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

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

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

                              Почему? Maxifier представляет собой SaaS-продукт с клиентами в США, Бразилии, в нескольких странах Европы и в Японии, так что у нас около сотни серверов, раскиданных по всему миру. Для оперативной работы нам необходимо иметь удобный доступ к логам наших приложений и быстрый поиск ошибок в них в случае проблем на сторонних сервисах/api, появления некорректных данных т.д. Кстати, похожей системой сборки логов пользуются The Guardian (одни из наших клиентов).

                              После нескольких случаев сборки логов Rsync-ом со множества серверов мы задумались над альтернативой, менее долгой и трудоемкой. И недавно мы разработали свою систему сборки логов для разных приложений. Поделюсь собственным опытом и описанием, как это работает.
                              image
                              Читать дальше →
                            • Shodan – самый страшный поисковик Интернета

                              • Translation


                              «Если люди не могут найти что-то в Google, они думают, что это не сможет найти никто. Это не так», – утверждает Джон Мэзерли, создатель Shodan, самого страшного поискового движка Интернета.

                              В отличие от Google, который ищет в Сети простые сайты, Shodan работает с теневыми каналами Интернета. Это своего рода «черный» Google, позволяющий искать серверы, веб-камеры, принтеры, роутеры и самую разную технику, которая подключена к Интернету и составляет его часть.

                              Читать дальше →
                            • Всё о версиях Windows 8.1 и о том, как легально загрузить последний образ без подписки

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

                                Недавно я писал о том, как можно совершенно легально загрузить самый последний Microsoft Office с сайта Microsoft — как корпоративную версию, так и коробочную Retail — любые языки и продукты, со всеми интегрированными обновлениями. Сегодня я расскажу, как сделать то же самое и с операционной системой — средствами предоставляемыми самой Microsoft.

                                Но для начала я хочу рассказать о версиях Windows 8.1. Не об изданиях — этого добра в сети много, а именно о публичных версиях сборок ОС. Ведь для любого администратора удобно загрузить образ со всеми интегрированными обновлениями, чем устанавливать сотню самостоятельно. Причём загрузить образ с сайта Microsoft, а не самодельную сборку с торрентов. Всё что я буду рассказывать о версиях ОС Windows 8.1 применимо и к Windows Server 2012 R2, за исключением канала для бесплатной загрузки образов для переустановки ОС. Но давайте всё по порядку.
                                Читать дальше →
                              • Почему вас все равно взломают

                                  Тему этой небольшой статьи навеяла небольшая дискуссия на хабре, свидетелем которой я стал. Один участник дискуссии был ярым сторонником ОС Linux и утверждал, что если всех простых пользователей перевести на Linux, то все будет просто зашибись – и не взломают и данные не украдут.
                                  Читать дальше →
                                • Создание плагина для логической репликации в PostgreSQL 9.4+

                                  • Tutorial
                                  Как многие интересующися знают, в PostgreSQL в версии 9.4 появилось (наконец-то) логическое декодирование (logical decoding). Теперь, чтобы сделать свою репликацию, необязательно разбираться с форматом бинарных wal файлов или писать триггеры (может были еще способы), а преобразовать данные в удобный для себя формат. Для этого достаточно написать плагин к PostgreSQL, который будет этим заниматься. В статье описывается плагин, который преобразует данные в JSON.
                                  Читать дальше →
                                  • +22
                                  • 10.3k
                                  • 6