Natural language processing

Архив со всем необходимым
Вход на контест

Инструкции

Ваша задача - выделить названия генов в биологическом тексте. Здесь только один вид объектов - ген (GENE). Набор данных адаптирован из BioCreAtIvE II открытой задачи(http://biocreative.sourceforge.net/biocreative_2.html).
Файлы для задания доступны в архиве по ссылке выше. Там вы найдете тренировочный корпус с расставленными пометками tagger.train и неразмеченный набор данных для проверки tagger.test. В файле с пометками каждое слово вместе с меткой идет на отдельной строке, например:

Comparison O
with O
alkaline I-GENE
phosphatases I-GENE
and O

Файл tagger.test содержит только слова из текста, по одному на строке; он будет использоваться для оценки вашей модели.

Подсчет количеств вхождений

В архиве вы можете найти скрипт count_freqs.py, который помогает считать количество вхождений. Он принимает тренировочный корпус как ввод, и выводит количество всех триграмов, биграмов, а также количество соотвествий слова тэгу.
Каждая строка выхода содержит количество вхождений для одного из объектов. Встречаются два вида:

Оценка

Для оценки эффективности вашего таггера будет использоваться F1-Score. Пусть A - множество позиций, которые ваш таггер пометил как GENE, и B - множество позиций, которые на самом деле являются GENE сущностями. Тогда определим точность как размер пересечения A и B делить на размер A (как часто метка была поставлена справедливо), и покрытие как размер пересечения A и B делить на размер B (какая часть всех нужных сущностей оказалась угадана). F1-Score - среднее гармоническое точности и покрытия.
Для каждой из частей ответ засчитывается, если F1-Score оказался не меньше указанного.

Часть 1 (20 баллов)

Ожидаемый F1-Score - 0.25.

Часть 2 (30 баллов)

Ожидаемый F1-Score - 0.39.

Часть 3 (10 баллов)

Здесь вам предлагается улучшить ваш таггер, разделив один класс редких слов на несколько более информативных, например, можно выделить класс редких слов, начинающихся на заглавную букву.
Ожидаемый F1-Score - 0.42.