Яндекс.Толока. Презентация участников

Preview:

Citation preview

Динамическое контроль разметкипула

Yandex.Toloka

Маршалкин Никитаруководитель Артем Григорьев (Яндекс)

1 /11

Как это работает

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

2 /11

Терминология

▶ Заказчик - размещает задания▶ Толокер - выполняет задания▶ Пул - набор заданий, которые объединеныобщими свойствами

▶ Перекрытие - количество пользователей,которые выполняют одно и то же задание

▶ Ханипот - задания с правильными ответами.Используются для контроля качества ответов.

3 /11

Разметка спама

ЗадачаРазметить письма на СПАМ/НЕ СПАМ качественно идешево

Решения

▶ Загрузить каждое задание в одном экземпляре

▶ Хорошо: дешево▶ Плохо: неясно, как оценивать качество

▶ Загрузить каждое задание с перекрытием 3

▶ Хорошо: majority vote▶ Плохо: в 3 раза дороже

Можем лучше!

4 /11

Разметка спама

ЗадачаРазметить письма на СПАМ/НЕ СПАМ качественно идешево

Решения▶ Загрузить каждое задание в одном экземпляре

▶ Хорошо: дешево▶ Плохо: неясно, как оценивать качество

▶ Загрузить каждое задание с перекрытием 3

▶ Хорошо: majority vote▶ Плохо: в 3 раза дороже

Можем лучше!

4 /11

Разметка спама

ЗадачаРазметить письма на СПАМ/НЕ СПАМ качественно идешево

Решения▶ Загрузить каждое задание в одном экземпляре

▶ Хорошо: дешево▶ Плохо: неясно, как оценивать качество

▶ Загрузить каждое задание с перекрытием 3

▶ Хорошо: majority vote▶ Плохо: в 3 раза дороже

Можем лучше!

4 /11

Разметка спама

ЗадачаРазметить письма на СПАМ/НЕ СПАМ качественно идешево

Решения▶ Загрузить каждое задание в одном экземпляре

▶ Хорошо: дешево▶ Плохо: неясно, как оценивать качество

▶ Загрузить каждое задание с перекрытием 3

▶ Хорошо: majority vote▶ Плохо: в 3 раза дороже

Можем лучше!

4 /11

Разметка спама

ЗадачаРазметить письма на СПАМ/НЕ СПАМ качественно идешево

Решения▶ Загрузить каждое задание в одном экземпляре

▶ Хорошо: дешево▶ Плохо: неясно, как оценивать качество

▶ Загрузить каждое задание с перекрытием 3▶ Хорошо: majority vote▶ Плохо: в 3 раза дороже

Можем лучше!

4 /11

Разметка спама

ЗадачаРазметить письма на СПАМ/НЕ СПАМ качественно идешево

Решения▶ Загрузить каждое задание в одном экземпляре

▶ Хорошо: дешево▶ Плохо: неясно, как оценивать качество

▶ Загрузить каждое задание с перекрытием 3▶ Хорошо: majority vote▶ Плохо: в 3 раза дороже

Можем лучше!

4 /11

2+1

1. Загружаем с перекрытием 2

2. Если 2 ответа сошлись - закрываем задание3. Если нет - загрузим еще раз4. Majority voteДля этого необходимо on-the-fly следить за пулом иподливать задания

5 /11

2+1

1. Загружаем с перекрытием 22. Если 2 ответа сошлись - закрываем задание

3. Если нет - загрузим еще раз4. Majority voteДля этого необходимо on-the-fly следить за пулом иподливать задания

5 /11

2+1

1. Загружаем с перекрытием 22. Если 2 ответа сошлись - закрываем задание3. Если нет - загрузим еще раз

4. Majority voteДля этого необходимо on-the-fly следить за пулом иподливать задания

5 /11

2+1

1. Загружаем с перекрытием 22. Если 2 ответа сошлись - закрываем задание3. Если нет - загрузим еще раз4. Majority vote

Для этого необходимо on-the-fly следить за пулом иподливать задания

5 /11

2+1

1. Загружаем с перекрытием 22. Если 2 ответа сошлись - закрываем задание3. Если нет - загрузим еще раз4. Majority voteДля этого необходимо on-the-fly следить за пулом иподливать задания

5 /11

Comrade

ЦельСпроектировать и разработать сервис длядинамических операций над пулом

6 /11

Идеи

Основная сущность: скрипт на Groovy

ВходCобытия, произошедшие в Толоке за δtТолокер открыл задание, закрыл, выполнил, выполнилверно (ХП), неверно, пул разметился

ВыходОперации над пуломДозалить задание, изменить перекрытие, закрыть пул,выдать бонус работнику, отправить сообщениеработнику, создать новый пул

7 /11

Идеи

Основная сущность: скрипт на GroovyВходCобытия, произошедшие в Толоке за δtТолокер открыл задание, закрыл, выполнил, выполнилверно (ХП), неверно, пул разметился

ВыходОперации над пуломДозалить задание, изменить перекрытие, закрыть пул,выдать бонус работнику, отправить сообщениеработнику, создать новый пул

7 /11

Идеи

Основная сущность: скрипт на GroovyВходCобытия, произошедшие в Толоке за δtТолокер открыл задание, закрыл, выполнил, выполнилверно (ХП), неверно, пул разметился

ВыходОперации над пуломДозалить задание, изменить перекрытие, закрыть пул,выдать бонус работнику, отправить сообщениеработнику, создать новый пул

7 /11

Псевдокод

1 Operation[] onEvent(TolokaEvent[] events) {2 Operation[] result = new Operation[];3 for (task : events.toTasks) {4 if (not enough information) {5 result.add(new UploadTaskOperation(task));6 } else {7 //таска разметилась, ничегонеделаем8 }9 }

10 return result;11 }

8 /11

Архитектура

Пулов много -> асинхронность

Три независимых очереди:1. Походов в Толоку за новыми событиями2. Выполнения скрипта на новых событиях3. Применения операций над пулом

9 /11

Архитектура

Пулов много -> асинхронностьТри независимых очереди:

1. Походов в Толоку за новыми событиями2. Выполнения скрипта на новых событиях3. Применения операций над пулом

9 /11

Архитектура

Пулов много -> асинхронностьТри независимых очереди:1. Походов в Толоку за новыми событиями

2. Выполнения скрипта на новых событиях3. Применения операций над пулом

9 /11

Архитектура

Пулов много -> асинхронностьТри независимых очереди:1. Походов в Толоку за новыми событиями2. Выполнения скрипта на новых событиях

3. Применения операций над пулом

9 /11

Архитектура

Пулов много -> асинхронностьТри независимых очереди:1. Походов в Толоку за новыми событиями2. Выполнения скрипта на новых событиях3. Применения операций над пулом

9 /11

Стек

▶ Java▶ Spring Framework▶ Apache CXF▶ JOOQ▶ Flyway▶ Maven▶ ...

10 /11

Толока

WikiТоло́ка (новг.-псков., твер. толо́ка; юж.-рус. тало́ка;сев.-рус. по́мочь) — форма деревенскойвзаимопомощи в России, на Украине, в Белоруссии,Эстонии, Латвии и Литве. Её организовывали вдеревне для выполнения срочных работ,требующих большого количества работников: сборурожая, вырубка леса, сооружение домов и т. д.

11 /11

Recommended