• Устройство поисковых систем: базовый поиск и инвертированный индекс


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

      В статье описано устройство поиска, инвертированного индекса и его оптимизаций с отсылками к теории. В качестве подопытного кролика взят Tantivy — реализация архитектуры Lucene на Rust. Статья получилась концентрированной, математикосодержащей и несовместимой с расслабленным чтением хабра за чашкой кофе, осторожно!
      Читать дальше →
      • +37
      • 8.2k
      • 6
    • Теория инвестиций для начинающих, часть 1

        Эдвард Мэтью Ворд. Пузырь Компании Южных морей. 1847 г. Галерея Тейт, Лондон.

        В какие ценные бумаги вкладывать деньги? Как накопить на пенсию? Кто такие ETF’ы и почему все с ними носятся? Зачем покупать акции, если рынок может упасть? Такие вопросы я слышу от студентов и коллег, когда читаю лекции о деривативах. В принципе, неудивительно. Деривативы — это что-то далёкое из мира больших банков, а личные инвестиции намного ближе к телу.

        Можно было бы ответить коротко: «Покупайте индексные фонды, это хорошо!» К сожалению, такой ответ не объясняет, почему это хорошо. Если бы я услышал его 15 лет назад, когда ещё не интересовался финансами, то он не нашёл бы отклика в моём сердце. Пришлось прослушать не один курс лекций, чтобы осознать, какая экономическая теория стоит за этим советом, и начать применять его на практике.

        Собственно, моя статья — не столько инвестиционный совет (хотя я и расскажу о личном опыте и даже посчитаю свою «альфу»), сколько обзорный курс по теории инвестиций. Полезно знать, какие модели придумали предыдущие поколения, и в каких терминах можно думать об инвестициях. Если из теории следует, что имеет смысл покупать индексные ETF’ы, чтобы копить на пенсию — так и быть, расскажу и об этом.

        Не секрет, что в финансах много математики. Я постарался соблюсти баланс. Я считаю, что интуитивное понимание главных экономических идей важнее, чем конкретная формула. Даже если вы пропустите вообще все формулы, то вы всё равно поймёте суть и получите полезные знания. С другой стороны, если вы хотели бы размять мозги не ахти какой сложной математикой, то у вас будет такая возможность.
        Читать дальше →
      • Ультимативное сравнение embedded платформ для AI

          Нейронные сеточки захватывают мир. Они считают посетителей, контролируют качество, ведут статистику и оценивают безопасность. Куча стартапов, использование в промышленности.
          Замечательные фреймворки. Что PyTorch, что второй TensorFlow. Всё становиться удобнее и удобнее, проще и проще…
          Но есть одна тёмная сторона. Про неё стараются молчать. Там нет ничего радостного, только тьма и отчаяние. Каждый раз когда видишь позитивную статью — грустно вздыхаешь, так как понимаешь что просто человек что-то не понял. Или скрыл.
          Давайте поговорим про продакшн на embedded-устройствах.

          Читать дальше →
        • Международная математическая олимпиада 2020 (решаем в комментах)

            image

            На этой неделе (16-26 сентября) в Санкт-Петербурге (виртуально) стартовала 61-я международная математическая олимпиада, в ней принимают участие 622 школьника из 114 стран.

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

            Россию представляет команда из шести старшеклассников.

            На решение 6 задач школьникам отводится 2 дня по 4,5 часа. Пока идет оценка результатов, предлагаю вам попробовать решить задачи и обсудить в комментах.

            image

            Результаты прошлых лет.

            Читать дальше →
          • YOLOv4 – самая точная real-time нейронная сеть на датасете Microsoft COCO

              Darknet YOLOv4 быстрее и точнее, чем real-time нейронные сети Google TensorFlow EfficientDet и FaceBook Pytorch/Detectron RetinaNet/MaskRCNN.

              Эта же статья на medium: medium
              Код: github.com/AlexeyAB/darknet
              Статья: arxiv.org/abs/2004.10934
              Обсуждение YOLOv4-tiny 1770 FPS: www.reddit.com/r/MachineLearning/comments/hu7lyt/p_yolov4tiny_speed_1770_fps_tensorrtbatch4
              Обсуждение: www.reddit.com/r/MachineLearning/comments/gydxzd/p_yolov4_the_most_accurate_realtime_neural


              Мы покажем некоторые нюансы сравнения и использования нейронных сетей для обнаружения объектов.

              Нашей целью было разработать алгоритм обнаружения объектов для использования в реальных продуктах, а не только двигать науку вперед. Точность нейросети YOLOv4 (608x608) – 43.5% AP / 65.7% AP50 Microsoft-COCO-testdev.

              62 FPS – YOLOv4 (608x608 batch=1) on Tesla V100 – by using Darknet-framework
              400 FPS – YOLOv4 (320x320 batch=4) on RTX 2080 Ti – by using TensorRT+tkDNN
              32 FPS – YOLOv4 (416x416 batch=1) on Jetson AGX Xavier – by using TensorRT+tkDNN


              Читать дальше →
            • Программист из Минска победил в конкурсе Facebook Deepfake Detection Challenge

                В сентябре 2019 года компания Facebook запустила конкурс Deepfake Detection Challenge (DFDC), посвящённый разработке алгоритмов обнаружения дипфейков, с призовым фондом в $1 млн. Итоги конкурса стали известны на прошлой неделе. Первое место занял Селим Сефербеков, инженер по машинному зрению из Минска, работающий в белорусской компании Mapbox. 

                Читать дальше →
              • Web2Text: глубокое структурированное извлечение содержимого web-страницы

                Привет, Хабр! Представляю вашему вниманию перевод статьи "Web2Text: Deep Structured Boilerplate Removal" коллектива авторов Thijs Vogels, Octavian-Eugen Ganea и Carsten Eickhof.


                Веб-страницы являются ценным источником информации для многих задач обработки естественного языка и поиска информации. Эффективное извлечение основного содержимого из этих документов имеет важное значение для производительности производных приложений. Чтобы решить эту проблему, мы представляем новую модель, которая выполняет классификацию и маркировку текстовых блоков на странице HTML как шаблонных блоков, или блоков содержащих основной контент. Наш метод использует Скрытую Марковскую модель поверх потенциалов, полученных из признаков объектной модели HTML-документа (Document Object Model, DOM) с использованием сверточных нейронных сетей (Convolutional Neural Network, CNN). Предложенный метод качественно повышает производительность для извлечения текстовых данных из веб-страниц.

                Читать дальше →
                • +11
                • 3.4k
                • 1
              • Шпаргалка по аббревиатурам C++ и не только. Часть 1: C++

                • Tutorial
                Когда-то я собеседовался на должность C++ разработчика в одну приличную и даже известную контору. Опыт у меня тогда уже кое-какой был, я даже назывался ведущим разработчиком у тогдашнего своего работодателя. Но на вопросы о том, знаком ли я такими вещами, как DRY, KISS, YAGNI, NIH, раз за разом мне приходилось отвечать «Нет».

                Собеседование я с треском провалил, конечно. Но упомянутые аббревиатуры потом загуглил и запомнил. По мере чтения тематических статей и книг, подготовок к собеседованиям и просто общения с коллегами я узнавал больше новых вещей, забывал их, снова гуглил и разбирался. Пару месяцев назад кто-то из коллег небрежно упомянул в рабочем чате IIFE в контексте C++. Я, как тот дед в анекдоте, чуть с печки не свалился и опять полез в гугл.


                Читать дальше →