Pull to refresh
1
0

User

Send message

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

Reading time24 min
Views24K

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

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

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

Reading time22 min
Views111K

Этой весной, Питер Тиль (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
Comments11

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

Reading time6 min
Views58K
На прошлой неделе состоялся успешный эксперимент по запуску нового решения для 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
Comments68

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

Reading time11 min
Views45K

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




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

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

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

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

Reading time3 min
Views2K
В предыдущей части «Тренировочные наборы из видео — быстро и качественно» речь шла о сложности применения нейронных сетей для любой задачи, связанной с редкими, необычными или попросту сложными объектами. Обязательно посмотрите примеры, они того стоят.


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

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

Reading time2 min
Views2K
Любой, не самый тривиальный (или просто редкий), объект с легкостью создаст массу проблем практически при каждой попытке применения нейронных сетей для решения реальных задач. Очевидно, отсутствие вменяемого тренировочного набора существенно усложняет подавляющее количество сценариев использования нейростевого подхода.

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


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

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

Reading time18 min
Views37K
Продолжаем постигать современную магию (компьютерное зрение). Часть 2 не значит, что нужно сначала читать часть 1. Часть 2 значит, что теперь всё серьёзно — мы хотим понять всю мощь нейросетей в зрении. Детектирование, трекинг, сегментация, оценка позы, распознавание действий… Самые модные и крутые архитектуры, сотни слоёв и десятки гениальных идей уже ждут вас под катом!


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

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

Reading time17 min
Views28K
Компьютерное зрение. Сейчас о нём много говорят, оно много где применяется и внедряется. И как-то давненько на Хабре не выходило обзорных статей по CV, с примерами архитектур и современными задачами. А ведь их очень много, и они правда крутые! Если вам интересно, что сейчас происходит в области Computer Vision не только с точки зрения исследований и статей, но и с точки зрения прикладных задач, то милости прошу под кат. Также статья может стать неплохим введением для тех, кто давно хотел начать разбираться во всём этом, но что-то мешало ;)

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

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

Reading time15 min
Views33K


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

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


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

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

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

Open source tool for intent-based search quality validation

Reading time2 min
Views958
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
Comments0

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

Reading time2 min
Views2.2K
В нескольких недавних постах обсуждался многообещающий и достаточно простой способ оценки качества поиска по продуктам с использованием намерений. Спешим представить открытый автоматизированный инструмент для такого рода тестирования — Intent-based Search Quality. Идея сводится к использованию заранее подготовленных «фокусированных» запросов, ценность которых заключается в их прямолинейности и однозначной интерпретации.



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

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

Reading time10 min
Views40K

Сегментация изображений и выделение границ объектов (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
Comments48

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

Reading time5 min
Views35K
В последнее время пользователи все чаще получают изображения документов при помощи фотокамер или мобильных устройств, прибегая к помощи сканера изредка, в особых случаях. В то же время, для изображений, получаемых фотокамерами, характерны следующие недостатки: геометрические искажения (о них мы говорили в статье про автоматическое выделение документа), неравномерность освещения (часто можно видеть тени или засветки при использовании вспышки), падение контраста, расфокусировка, смаз, цифровой шум при недостаточном освещении. Постараемся избавиться от этих недостатков, применяя некоторые преобразования к исходному изображению, чтобы приблизить его вид к отсканированному.
Читать дальше →
Total votes 94: ↑93 and ↓1+92
Comments30

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

Reading time2 min
Views2.3K
Занимаясь вопросами качества поиска, рано или поздно приходится столкнуться с задачей визуальной валидации продуктов. Опустим простые задачи, с которыми справится обычный классификатор, сосредоточившись на случаях, которые требуют более или менее точной геометрии объекта:



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

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

Reading time3 min
Views5.6K
Обсуждая качество продуктового поиска и способы его автоматизированного тестирования, в прошлый раз, пришли к пониманию некоторой непрозрачности проблемы. Огромное количество интернет-магазинов часто ставят покупателей в тупик, не находя требуемого по простейшим запросам, а проблемы как бы и нет. Одним словом, смотрим на реальные проблемы не очень релевантного поиска очень популярного интернет-магазина (который очень хочет быть «маркетплейсом»).


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

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

Reading time3 min
Views4K
“Зачем вам шуруповерт, возьмите лучше этот чудесный самокат”, — наверняка вам знакома похожая ситуация. Современные интернет-магазины (а уж тем более маркетплейсы) озадачивают потенциального покупателя такой горой нерелевантных товаров, что, порой, может возникнуть желание обратиться в старый добрый специализированный магазин с двумя опциями и продавцом-экспертом.


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

Information

Rating
Does not participate
Registered
Activity