Giter Site home page Giter Site logo

grameval2020's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

grameval2020's Issues

BibTex статьи организаторов

В телеграм канале дан BibTex статьи организаторов без указания имён авторов:

@inproceedings{grameval2020,
title={{GramEval 2020 Shared Task: Russian Full Morphology and Dependency Parsing}},
author={},
booktitle={Computational Linguistics and Intellectual Technologies: Papers from the Annual Conference ``Dialogue''},
year={2020}, volume = {20}
}

Так и должно быть?

17 century corpus issues

Коллеги, хотелось бы поднять вопрос консистентности исторического подкорпуса сорвевнования.

Нетрудно убедиться, что обучающая выборка состоит из текстов 2 типов:
1.Тексты в исторической орфографии (с 'ъ', 'ѣ' и т. п.), для токенов которых отсутствуют леммы (лемма каждого токена «_»).
2. Тексты в современной орфографии, для токенов которых есть леммы. Стоит отметить, что по какой-то причине все леммы для текстов этого типа записаны в исторической орфографии (с 'ъ', 'ѣ' и т. п.).
При этом, если все тексты dev относятся ко второму классу, то среди train текстов второго класса только порядка 40 процентов.
Ясно, что для любых моделей, которые содержат в себе символьные компоненты (в т. ч. BERT-подобные модели) тексты первого вида практически бесполезны для решения задач на текстах второго вида (в предположении что test так же, как и dev состоит только из текстов второго вида; хотелось бы получить подтверждение оргкомитета, что это действительно так).

Отдельный вопрос вызывает задача лемматизации – кажется, что ни на каком множестве
текстов нет достаточных данных для полноценного решения задачи (на текстах первого вида лемм нет, а на текстах второго вида леммы даны в отличающейся орфографии).

Понятно, что для хоть сколько-нибудь адекватного обучения нужен конвертер из исторической орфографии в современную или наоборот и что именно качеством такого конвертера будут, прежде всего, определяться результаты на историческом корпусе, что, в свою очередь внесет существенный вклад в общие результаты соревнования.
Такое смещение задачи с задачи морфологического и синтаксического анализа на задачу конвертации орфографии вызывает вопросы. Входит ли такая смена фокуса в намерения оргкомитета?

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

разметка пунктуации (см. #13)

Поскольку вопрос из #13 остался без ответа, а пунктуация существенно влияет на качество, продублирую его ещё раз в новой версии: в соответствии с какими правилами определяется вершина для символа пунктуации? Соотносится ли это с чем-нибудь из:

  1. разметкой UD SynTagRus v 2.5
  2. разметкой UD GSD
  3. разметкой одного из файлов обучающей выборки? Какого именно, если да?
  4. Каким-то списком инструкций? Например, верно ли, что если взять накрывающую дугу знака препинания, то он обязательно цепляется к одной из её вершин (это автоматически даёт проективность).

Публикация тестовых данных

Здравствуйте, как вы смотрите на то чтобы выложить в этот репозиторий тестовые данные в дополнение к тренировочным и валидационным?

Можно ли сейчас не участнику соревнования скачать тестовые данные?

#5. Validation of arcs and dep.labels in SynTagRus

UD-SynTagRus не проходит валидацию по правилам для UD v.2.5.

Задача: Запустить validation.py из репозитория UD tools, составить список принципиальных ошибок, сделать скрипт-фикс.

#1 Harmonization of SynTagRus FEATs,LEMMAs,UPOS

Данные для обучения происходят из разных источников, поэтому наборы тегов, допустимые для конкретной формы в словоизменительной парадигме, разнятся, например:
UD-GSD:

которому   который   Case=Dat|Gender=Masc|Number=Sing

UD-SynTagRus:

которому   который   Case=Dat

Задача: написать скрипт, добавляющий/убирающий теги по условию <часть речи, морф. тег, (лексема)> в разметке UD 2.5.
input: файл(ы) UD-SynTagRus v.2.5
output: файл(ы) UD-SynTagRus v.2.6
parameters: файл conversion table (описание ниже)

Одинаковый score разных файлов

Два из трёх отправленных файлов (1 и 2) получили одинаковый score, хотя в них различается 30% строк. Проверьте, пожалуйста, что я делаю не так.

md5sum файл время
a201c578dfaa75dbef78d16e61b310a2 1.conllu (02/24/2020 12:07:33)
af9cdadf4813e76cee34cabab2ff3879 2.conllu (02/24/2020 15:36:48)
c8148e00d1ce4bca526696a37caa2f42 3.conllu (02/24/2020 13:37:37)

Ошибки в разметке social

Насколько можно доверять разметке train-выборки, например, social, если она содержит такие ошибки, как

1	@screened-137	@screened-137	X	_	_	7	vocative	_	_
2	Екатерина	Екатерина	PROPN	_	Animacy=Anim|Case=Nom|Gender=Fem|Number=Sing	7	vocative	_	SpaceAfter=No
3	,	,	PUNCT	_	_	2	punct	_	_
4	да	да	PART	_	_	7	parataxis	_	SpaceAfter=No
5	,	,	PUNCT	_	_	4	punct	_	_
6	это	это	PRON	_	Case=Nom|Gender=Neut|Number=Sing	7	nsubj	_	_
**7	джакузи	**джакузить	NOUN	_	Animacy=Inan|Case=Nom|Gender=Fem|Number=Sing	0	root	_	_
8	на	на	ADP	_	_	10	case	_	_
9	личной	личный	ADJ	_	Case=Loc|Degree=Pos|Gender=Fem|Number=Sing	10	amod	_	_
10	террасе	терраса	NOUN	_	Animacy=Inan|Case=Loc|Gender=Fem|Number=Sing	7	nmod	_	_
11	апартаментов	апартамент	NOUN	_	Animacy=Inan|Case=Gen|Gender=Masc|Number=Plur	10	nmod	_	_
12	🙂	🙂	SYM	_	_	7	discourse	_	_

UAS или LAS?

При оценке public теста в отчёте был UAS. В private приходит LAS.

сломался кодалаб

Пишет вот такое:

WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
Traceback (most recent call last):
File "/tmp/codalab/tmpE1dxDY/run/program/evaluate.py", line 238, in
main()
File "/tmp/codalab/tmpE1dxDY/run/program/evaluate.py", line 119, in main
test_dic = extract_sents(open(os.path.join(test_dir,'GramEval_private_test.conllu'), 'r').read(), index_dic)
IOError: [Errno 2] No such file or directory: '/tmp/codalab/tmpE1dxDY/run/input/res/GramEval_private_test.conllu'

#8. A UDv.2-valid version of SynTagRus

UD_SynTagRus is currently not valid according to UD guidelines and validation.py script.
SynTagRus-GramEval2020 version is
-- UDv2-valid
-- lemmas improved
-- features improved
-- arcs corrected
-- minor tokenisation issues fixed (more tbd)

Расхождения в разметке морфологии.

Уважаемые организаторы, не могли бы вы указать все отличия стандарта разметки соревнования от разметки SynTagRus, потому что большинство систем обучались именно на SynTagRus и тем самым следуют его аннотации. Пока найдены следующие отличия (на примере файла GramEval2020-GSD-train.conllu):

  1. у некоторых прилагательных размечена одушевлённость:
5	за	за	ADP	IN	_	7	case	_	_
**6	новый	новый	ADJ	JJL	**Animacy=Inan|Case=Acc|Degree=Pos|Gender=Masc|Number=Sing	7	amod	_	_
7	клуб

но у некоторых -- нет:

2	изучение	изучение	NOUN	NN	Animacy=Inan|Case=Acc|Gender=Neut|Number=Sing	5	obl	_	_
**3	двойной	двойной	ADJ	JJL	**Case=Gen|Degree=Pos|Gender=Fem|Number=Sing	4	amod	_	_
4	специализации	специализация	NOUN	NN	Animacy=Inan|Case=Gen|Gender=Fem|Number=Sing	2	nmod	_	_
  1. порядковые числительные считаются прилагательными (upos=ADJ) и размечены по признакам прилагательного
**15	7	7	**ADJ	ORD	Case=Gen|Degree=Pos|Gender=Neut|Number=Sing	10	obl	_	_
16	января	январь	NOUN	NN	Animacy=Inan|Case=Gen|Gender=Masc|Number=Sing	15	flat	_	_

в СинТагРусе как минимум часть аналогичных примеров размечена как NUM
3. у количественных числительных размечен падеж и NumType=Card
4. у некоторых глаголов (быть, стать) не размечен залог
5. у местоимений что и который размечены все признаки.

Вопросы о Private Test submission

Когда откроется возможность подавать результаты обработки Private Test?
Сколько времени она будет открыта?
Сколько попыток можно будет сделать?
Которая из попыток будет засчитана (лучшая или последняя)?

Ошибки в разметке синтаксиса:

Является ли ошибкой (по-моему, да), и много ли ошибок вроде

1	Мечта	мечта	NOUN	_	Animacy=Inan|Case=Nom|Gender=Fem|Number=Sing	4	nsubj	_	_
2	Серёжи	Серёжи	NOUN	_	Animacy=Inan|Case=Gen|Gender=Fem|Number=Sing	1	nmod	_	_
3	-	-	PUNCT	_	_	4	punct	_	_
**4	жить	жить	VERB	_	Aspect=Imp|VerbForm=Inf|Voice=Act	0	**root	_	_
5	без	без	ADP	_	_	6	case	_	_
6	боли	боль	NOUN	_	Animacy=Inan|Case=Gen|Gender=Fem|Number=Sing	4	obl	_	SpaceAfter=No
7	😭	😭	SYM	_	_	4	discourse	_	_

См., например SynTagRus:

8	их	их	DET	_	_	10	det	_	_
9	главная	главный	ADJ	_	Case=Nom|Degree=Pos|Gender=Fem|Number=Sing	10	amod	_	_
10	цель	цель	NOUN	_	Animacy=Inan|Case=Nom|Gender=Fem|Number=Sing	0	root	_	_
11	-	-	PUNCT	_	_	12	punct	_	_
12	научиться	научиться	VERB	_	Aspect=Perf|VerbForm=Inf|Voice=Mid	10	csubj	_	_
13	работать	работать	VERB	_	Aspect=Imp|VerbForm=Inf|Voice=Act	12	xcomp	_	_
14	вместе	вместе	ADV	_	Degree=Pos	13	advmod	_	_

#7. Validation script check and update

Текущий скрипт измеряет точность UPOS, LEMMA, FEATures, UAS, LAS и alignment score.
Требуется создать дополнение, измеряющее MLAS (morphology-aware labeled attachment score) и AgreementScore.
Формат ввода/вывода тот же, что у скрипта в репозитории GramEval2020.

Для MLAS можно использовать/адаптировать скрипт https://universaldependencies.org/conll18/conll18_ud_eval.py для MLAS
(собственно, там и содержится описание, как что считается).

AgreementScore учитывает совпадение тегов значений в категориях Animacy, Case, Gender, Number в парах слов, связанных следующими отношениями и со следующими характеристиками:

  • NOUN/PROPN -amod-> ADJ/DET/VERB{VerbForm=Part}
  • NOUN/PROPN -acl-> VERB{VerbForm=Part}
  • NOUN/PROPN/PRON{Case=Nom} <-nsubj- VERB/AUX{VerbForm=Fin/PartRes,Tense=Past}
  • NOUN/PROPN/PRON{Case=Nom} <-nsubj- ADJ{Variant=Short}

Учитывается, что

  • значение тегов совпадает с gold
  • в gold категория Case, Gender, Number присутствует и совпадает у обоих элементов пары
  • значения всех доступных тегов в паре совпадает, пара получает бинарную оценку 0 или 1 (local score)

Все пары, которые включают некоторое слово, подсчитываются отдельно. Согласующиеся пары слов, не связанных синтаксическим отношением, не учитываются.

Пример

новые ADJ Animacy=Inan...Case=Acc...Gender=Masc...Number=Plur
люди  NOUN Animacy=Anim...Case=Nom...Gender=Masc...Number=Plur
# graded: no  yes  yes  yes, isGradedInGold = 1
# output: no + 0 + 1 + 1
# local score:  0

AgreementScore = total score = SUM(local scores) / SUM (isGradedInGold),
т. е. результат учитывается доля позитивных local scores среди всех согласуемых пар в gold.

evaluation script странно считает фичи

Думаю, что evaluation script учитывает совпадение только тех фич, которые есть у токена в gold разметке. Попробовал добавить КО ВСЕМ токенам признаки Abbr и Foreign, и это увеличило оценку. Для токенов, у которых в gold разметке эти признаки есть - засчитано совпадение, для остальных - ничего не произошло.

Наверняка можно придумать и другие глупости, использующие эту особенность, т.е. поднимающие оценку в ответ на бессмысленную разметку.

Please add LICENSE for data

Please add LICENSE.txt for data.
If different data entries have different licenses, please add in the readme.
Thank you.

//by default, no LICENSE means we can't use this data legally for any purpose.

Расхождения в разметке синтаксиса

По аналогии с #12 и опираясь на #11, хотелось бы узнать ответы на следующие вопросы:

  1. Какой алгоритм определения синтаксической вершины символов пунктуации (их много, поэтому ошибка здесь кардинально повлияет на качество системы).
  2. Есть ли систематические отличия от СинТагРуса в разметке синтаксиса.

#4. Lemmatization in SynTagRus

Некоторые глаголы совершенного вида размечаются неправильно.

Задача: Просмотреть частотный список для VERB Aspect=Perf, составить список форма-лемма-фикс.леммы, напустить скрипт.

#3. Harmonization of MWE annotations and other patterns

Мультитокены в UD размечаются как несколько токенов и связаны отношением fixed. Задача: исправить разметку хозяина (HEAD) и типа отношения (DEPREL) в мультитокенах и некоторых других частотных конструкциях.

Список:

  • сравнительные конструкции “VP как X”, “A-ее чем X”: как, чем -- SCONJ, case right:
  • “один из X-ов” один -[nmod]->X-ов right:
  • “вместе с X-ом”, “рядом с X-ом” : вместе -[obl]-> X-ом right:
  • “от 3 до 5 тысяч”, “3-5 тысяч” : 3 -[nmod]-> 5, - <-[punct]- 5 right:
  • “больше/более/менее 60 человек”, “больше чем 60 человек”: более <-[advmod]- 60 , больше -[fixed]-> чем right:
  • “около двух недель”: около <-[case]- двух
  • обороты (MWE): *”но.CONJ и.CONJ”, *”что.PRON ли.PART”, *“хотя.PART бы.AUX”, “так.ADV что.SCONJ” (неправильно в GSD), “так.ADV как.SCONJ” (неправильно в GSD), “прежде.ADV чем.SCONJ” (неправильно в GSD),

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.