Яндекс.Толока. Презентация участников
TRANSCRIPT
Динамическое контроль разметкипула
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