Конкурс по программированию на JS: Классификатор слов (предварительные результаты)

Спасибо за ожидание! Публикуем предварительные результаты конкурса по программированию.

Протестировано 312 решений, из них 50 упало или зависло, ещё 3 оказались слишком медленными, чтобы пройти все тесты. Из оставшихся 259 решений 12 по разным причинам были объявлены «вне конкурса»: решения не работали без поправки типа файла данных (авторы забыли галочку «gzip») или были присланы сотрудниками Hola.

Нынешние результаты — предварительные. Мы надеемся, что не допустили ошибок при подведении итогов, и тогда 20 июня 2016 эти результаты станут окончательными. Тогда же вместо идентификаторов решений будут опубликованы имена или псевдонимы их авторов.

Решение победителя конкурса показало результат в 83.67% правильных ответов. Полные списки решений с результатами тестирования находятся в английской версии поста на GitHub.

Там же мы публикуем «сырые» машиночитаемые результаты тестирования каждого из решений, где разнообразной информации больше, чем в сводных таблицах. На основе этих данных Вы можете провести собственный анализ результатов, чему мы будем очень рады.

О выборе словаря


Многих интересовало, почему мы выбрали такой странный словарь, многие из «слов» которого не назовёшь английскими. Нам было важно, чтобы результат в 100% был недостижим, иначе мы не смогли бы выбрать, какое из решений, достигнувших 100%, лучшее (были бы нужны дополнительные критерии, например, производительность). Обычные словари для проверки правописания содержат от 50 000 до 165 000 слов. Даже словарь объёмом 165 000 слов вполне мог бы быть сжатым до 64 КиБ вместе с кодом для распаковки. С другой стороны, если бы мы решили пропорционально уменьшить квоту (до 16 КиБ, а то и меньше), то стало бы уже ощутимо не хватать места для кода, и конкурс превратился бы в соревнование по минимизации длины кода. В этом направлении идти не хотелось, поэтому мы выбрали самый большой «словарь», который только смогли найти. В него вошли все мыслимые узкоспециальные термины, а также редкие варианты правописания слов и даже некоторые несуществующие слова, сгенерированные в результате ложных срабатываний алгоритма словоизменения (stemming). Таким образом, в выбранном словаре всего четверть слов можно в полной мере назвать словами английского языка. Тем не менее, прочие слова в составе словаря не полностью случайны, а объединены сходством статистических свойств. Поэтому мы решили пойти на такой компромисс и выбрали словарь размера «insane» из предлагаемых проектом SCOWL.

© Habrahabr.ru