Pull to refresh
1
0

User

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

Reading time 24 min
Views 19K
Search engines *Programming *System Analysis and Design *Algorithms *Rust *

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

В статье описано устройство поиска, инвертированного индекса и его оптимизаций с отсылками к теории. В качестве подопытного кролика взят Tantivy — реализация архитектуры Lucene на Rust. Статья получилась концентрированной, математикосодержащей и несовместимой с расслабленным чтением хабра за чашкой кофе, осторожно!
Читать дальше →
Total votes 37: ↑37 and ↓0 +37
Comments 6

Курс лекций «Стартап». Питер Тиль. Стенфорд 2012. Занятие 7

Reading time 22 min
Views 111K
Research and forecasts in IT *
Tutorial

Этой весной, Питер Тиль (Peter Thiel), один из основателей PayPal и первый инвестор FaceBook, провел курс в Стенфорде — «Стартап». Перед началом Тиль заявил: «Если я сделаю свою работу правильно, это будет последний предмет, который вам придется изучать».

Один из студентов лекции записывал и выложил транскипт. В данном хабратопике SemenOk2 переводит седьмое занятие. Форматирование 9e9names. Редактор Astropilot

Занятие 1: Вызов будущего
Занятие 2: Снова как в 1999?
Занятие 3: Системы ценностей
Занятие 4: Преимущество последнего шага
Занятие 5: Механика мафии
Занятие 6: Закон Тиля
Занятие 7: Следуйте за деньгами
Занятие 8: Презентация идеи (питч)
Занятие 9: Все готово, а придут ли они?
Занятие 10: После Web 2.0
Занятие 11: Секреты
Занятие 12: Война и мир
Занятие 13: Вы — не лотерейный билет
Занятие 14: Экология как мировоззрение
Занятие 15: Назад в будущее
Занятие 16: Разбираясь в себе
Занятие 17: Глубокие мысли
Занятие 18: Основатель — жертва или бог
Занятие 19: Стагнация или сингулярность?
Читать дальше →
Total votes 51: ↑48 and ↓3 +45
Comments 11

Использование разделяемой памяти в Java и off-heap кеширование

Reading time 6 min
Views 56K
Одноклассники corporate blog High performance *Java *
На прошлой неделе состоялся успешный эксперимент по запуску нового решения для download-сервиса. Один достаточно скромный сервер (2 x Intel Xeon E5620, 64 GB RAM) под управлением Java-приложения собственной разработки принял на себя нагрузку восьми Tomcat'ов, обслуживая более 70 тысяч HTTP-запросов в секунду общей пропускной способностью 3000 Mb/s. Таким образом, весь трафик Одноклассников, связанный с пользовательскими смайликами, обрабатывался одним сервером.

Вполне естественно, что высокие нагрузки требовали нестандартных решений. В цикле статей о разработке высоконагруженного сервера на Java я расскажу о проблемах, с которыми нам пришлось столкнуться, и о том, как мы их преодолели. Сегодня речь пойдет о кешировании изображений вне Java Heap и об использовании Shared Memory в Java.
Читать дальше →
Total votes 65: ↑64 and ↓1 +63
Comments 68

Как работает видеокодек. Часть 1. Основы

Reading time 11 min
Views 42K
Edison corporate blog Programming *Algorithms *Data visualization *Studying in IT
Translation

Вторая часть: Принципы работы видеокодека




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

Если рассматривать итоговый цвет как комбинацию т.н. основных цветов (красного, зеленого и синего), в нашей трёхмерной матрице определяем три плоскости: первая для красного цвета, вторая для зеленого и последняя для синего.
3D матрица RGB

Будем называть каждую точку в этой матрице пикселем (элементом изображения). Каждый пиксель содержит информацию об интенсивности (обычно в виде числового значение) каждого цвета. Например, красный пиксель означает, что в нём 0 зеленого цвета, 0 синего и максимум красного. Пиксель розового цвета может быть сформирован с помощью комбинации трех цветов. Используя числовой диапазон от 0 до 255, розовый пиксель определяется как Красный = 255, Зелёный = 192 и Синий = 203.
Total votes 58: ↑58 and ↓0 +58
Comments 13

Быстрое обнаружение контуров в 4К видео: цвет и сложные формы

Reading time 3 min
Views 1.8K
Algorithms *Image processing *
В предыдущей части «Тренировочные наборы из видео — быстро и качественно» речь шла о сложности применения нейронных сетей для любой задачи, связанной с редкими, необычными или попросту сложными объектами. Обязательно посмотрите примеры, они того стоят.


Классические алгоритмы компьютерного зрения, как оказалось, могут сильно помочь с получением качественных тренировочных наборов. Естественно, такой подход применим не во всех случаях, с чем и необходимо разобраться.
Total votes 10: ↑6 and ↓4 +2
Comments 5

Тренировочные наборы из видео — быстро и качественно

Reading time 2 min
Views 1.9K
Image processing *Machine learning *The future is here
Любой, не самый тривиальный (или просто редкий), объект с легкостью создаст массу проблем практически при каждой попытке применения нейронных сетей для решения реальных задач. Очевидно, отсутствие вменяемого тренировочного набора существенно усложняет подавляющее количество сценариев использования нейростевого подхода.

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


Все результаты/примеры получены самостоятельно (и быстро).
Total votes 9: ↑6 and ↓3 +3
Comments 8

Вижу, значит существую: обзор Deep Learning в Computer Vision (часть 2)

Reading time 18 min
Views 30K
Московский физико-технический институт (МФТИ) corporate blog Programming *Image processing *Machine learning *Artificial Intelligence
Продолжаем постигать современную магию (компьютерное зрение). Часть 2 не значит, что нужно сначала читать часть 1. Часть 2 значит, что теперь всё серьёзно — мы хотим понять всю мощь нейросетей в зрении. Детектирование, трекинг, сегментация, оценка позы, распознавание действий… Самые модные и крутые архитектуры, сотни слоёв и десятки гениальных идей уже ждут вас под катом!


Читать дальше →
Total votes 29: ↑28 and ↓1 +27
Comments 15

Вижу, значит существую: обзор Deep Learning в Computer Vision (часть 1)

Reading time 17 min
Views 25K
Московский физико-технический институт (МФТИ) corporate blog Programming *Image processing *Machine learning *Artificial Intelligence
Компьютерное зрение. Сейчас о нём много говорят, оно много где применяется и внедряется. И как-то давненько на Хабре не выходило обзорных статей по CV, с примерами архитектур и современными задачами. А ведь их очень много, и они правда крутые! Если вам интересно, что сейчас происходит в области Computer Vision не только с точки зрения исследований и статей, но и с точки зрения прикладных задач, то милости прошу под кат. Также статья может стать неплохим введением для тех, кто давно хотел начать разбираться во всём этом, но что-то мешало ;)

image
Читать дальше →
Total votes 18: ↑17 and ↓1 +16
Comments 5

Камеры глубины — тихая революция (когда роботы будут видеть) Часть 2

Reading time 15 min
Views 32K
Working with video *Gadgets Smartphones Popular science The future is here


В первой части этого текста мы рассмотрели камеры глубины на основе структурного света и измерения round-trip задержки света, в которых в основном применяется инфракрасная подсветка. Они отлично работают в помещениях на расстояниях от 10 сантиметров до 10 метров, а главное — весьма дешевы. Отсюда массовая волна их текущего применения в смартфонах. Но… Как только мы выходим на улицу, солнце даже сквозь облака засвечивает инфракрасную подсветку и их работа резко ухудшается. 

Как говорит Стив Бланк (по другому поводу, впрочем): «Хотите успеха — выходите из здания». Ниже речь пойдет про камеры глубины, работающие вне помещений. Сегодня эту тему сильно двигают автономные автомобили, но, как мы увидим, не только.


Источник: Innoviz Envisions Mass Produced Self-Driving Cars With Solid State LiDAR

Итак, камеры глубины, т.е. устройства снимающие видео, в каждом пикселе которого расстояние до объекта сцены, работающие при солнечном свете!

Кому интересно — добро пожаловать под кат!
Читать дальше →
Total votes 87: ↑87 and ↓0 +87
Comments 59

Open source tool for intent-based search quality validation

Reading time 2 min
Views 854
IT systems testing *Development for e-commerce *Search engine optimization *
No matter how cool your search solution is, without a reliable way of testing it you will not be able to do any improvement without breaking something valuable.

Even a tiny increase in overall search result quality might have a noticeable effect on conversion rate. Naturally, you can use exit-rate to judge if your search needs improvements and do required adjustments, but will you be able to make sure those changes are safe? What if improved relevancy for a specific category breaks search for several other categories?

image

Moreover, high exit-rate means no matter what you are going to do, the problem has taken place, so dozens of customers already didn’t manage to find what they were up to. Basically, the only way to proceed is to have a reliable search quality validation approach.
Read more →
Total votes 7: ↑6 and ↓1 +5
Comments 0

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

Reading time 2 min
Views 2.1K
Search engines *IT systems testing *Development for e-commerce *Search engine optimization *
В нескольких недавних постах обсуждался многообещающий и достаточно простой способ оценки качества поиска по продуктам с использованием намерений. Спешим представить открытый автоматизированный инструмент для такого рода тестирования — Intent-based Search Quality. Идея сводится к использованию заранее подготовленных «фокусированных» запросов, ценность которых заключается в их прямолинейности и однозначной интерпретации.



Если вас заинтересовал подход, обязательно обратите внимание на пост “Я намереваюсь купить” или самый простой способ оценить качество продуктового поиска. Переход от стандартного A/B тестирования к тестированию с использованием намерений может показаться не совсем очевидным.
Читать дальше →
Total votes 15: ↑15 and ↓0 +15
Comments 5

Эффективная сегментация изображений на графах

Reading time 10 min
Views 39K
Algorithms *

Сегментация изображений и выделение границ объектов (edge detection) играют важную роль в системах Computer Vision и применяются для задач распознавания сцен и выделения (определения) объектов. По большому счету, это такой же инструмент, как, например, сортировка, предназначенный для решения более высокоуровневых задач. И поэтому понимание устройства данного класса алгоритмов не будет лишним при построении подобных систем с учетом предъявляемых требований (в плане качество/производительность) и специфики поставленных задач.

В данной статье кратко описан алгоритм «Efficient Graph-Based Image Segmentation» авторов Pedro F. Felzenszwalb (MIT) и Daniel P. Huttenlocher (Cornell University), опубликованный в 2004 году. Да, алгоритм относительно старенький, но, несмотря на это, он до сих пор остается весьма популярным, демонстрируя неплохие результаты в плане производительности.

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

Мсье хочет знать толк в сегментации
Total votes 164: ↑163 and ↓1 +162
Comments 48

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

Reading time 5 min
Views 34K
Content AI corporate blog Image processing *
В последнее время пользователи все чаще получают изображения документов при помощи фотокамер или мобильных устройств, прибегая к помощи сканера изредка, в особых случаях. В то же время, для изображений, получаемых фотокамерами, характерны следующие недостатки: геометрические искажения (о них мы говорили в статье про автоматическое выделение документа), неравномерность освещения (часто можно видеть тени или засветки при использовании вспышки), падение контраста, расфокусировка, смаз, цифровой шум при недостаточном освещении. Постараемся избавиться от этих недостатков, применяя некоторые преобразования к исходному изображению, чтобы приблизить его вид к отсканированному.
Читать дальше →
Total votes 94: ↑93 and ↓1 +92
Comments 30

Восстанавливаем детальную геометрию объектов для более точной валидации ассортимента

Reading time 2 min
Views 2.2K
Image processing *
Занимаясь вопросами качества поиска, рано или поздно приходится столкнуться с задачей визуальной валидации продуктов. Опустим простые задачи, с которыми справится обычный классификатор, сосредоточившись на случаях, которые требуют более или менее точной геометрии объекта:



Предположим, необходимо отобрать только хорошие фотографии тех или иных объектов, для последующего использования в e-commerce. Под хорошими будем подразумевать фотографии без лишних деталей с доминирующим основным объектом.
Читать дальше →
Total votes 16: ↑11 and ↓5 +6
Comments 3

Бензиновые велосипеды или странный поиск продуктов (e-commerce)

Reading time 3 min
Views 5.5K
Search engines *IT systems testing *Development for e-commerce *Increasing Conversion Rate *Search engine optimization *
Обсуждая качество продуктового поиска и способы его автоматизированного тестирования, в прошлый раз, пришли к пониманию некоторой непрозрачности проблемы. Огромное количество интернет-магазинов часто ставят покупателей в тупик, не находя требуемого по простейшим запросам, а проблемы как бы и нет. Одним словом, смотрим на реальные проблемы не очень релевантного поиска очень популярного интернет-магазина (который очень хочет быть «маркетплейсом»).


Читать дальше →
Total votes 16: ↑14 and ↓2 +12
Comments 25

“Я намереваюсь купить” или самый простой способ оценить качество продуктового поиска

Reading time 3 min
Views 3.9K
Search engines *IT systems testing *Development for e-commerce *Increasing Conversion Rate *Search engine optimization *
“Зачем вам шуруповерт, возьмите лучше этот чудесный самокат”, — наверняка вам знакома похожая ситуация. Современные интернет-магазины (а уж тем более маркетплейсы) озадачивают потенциального покупателя такой горой нерелевантных товаров, что, порой, может возникнуть желание обратиться в старый добрый специализированный магазин с двумя опциями и продавцом-экспертом.


Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Comments 12

Information

Rating
Does not participate
Registered
Activity