This commit is contained in:
BohdanBakhlul 2019-12-05 15:39:55 +01:00
commit b3f1f2bd56
42 changed files with 123708 additions and 11 deletions

31
TaskA49/description.txt Normal file
View File

@ -0,0 +1,31 @@
Diachronic morphosyntactic disambiguation challenge
===================================================
The task is to take part in "Diachronic morphosyntactic
disambiguation" challenge:
http://poleval2020.nlp.ipipan.waw.pl/challenge/poleval-diachronic-morpho
Also, apart from submitting a solution you're expected to report any
problems with the web site (including incorrect English, unclear
instructions, software errors).
For an account there, please contact Filip Graliński, but do it only
when you're sure you'll take part in it — the dataset and instructions
are freely available without a need to sign up there:
git://poleval2020.nlp.ipipan.waw.pl/poleval-diachronic-morpho
http://poleval2020.nlp.ipipan.waw.pl/challenge-readme/poleval-diachronic-morpho
http://poleval2020.nlp.ipipan.waw.pl/challenge-how-to/poleval-diachronic-morpho
This is a special task, Jenkins/make won't be used. The task will be
scored manually, according to the following criteria:
* submitting a solution beating a simple baseline along with the
source codes: 4 points
* quality of solution (including the result obtained): 0-8
* quality of usage report (0-6 points)
In Section A (contrary to B/C) points are *added* (it is not the case
the maximum is calculated).
POINTS: 0
DEADLINE: 2019-12-20 23:59

View File

@ -18,5 +18,5 @@ NOTE: Task only for students whose student index number ("numer
indeksu") is divisable by 3.
POINTS: 8
DEADLINE: 2019-11-25 23:59
DEADLINE: 2019-12-09 18:45
REMAINDER: 0/3

View File

@ -16,5 +16,5 @@ NOTE: Task only for students whose student index number ("numer
indeksu") is divisable by 3 with a remainder of 1
POINTS: 8
DEADLINE: 2019-11-25 23:59
DEADLINE: 2019-12-09 18:45
REMAINDER: 1/3

View File

@ -24,5 +24,5 @@ NOTE: Task only for students whose student index number ("numer
indeksu") is divisable by 3 with a remainder of 2
POINTS: 8
DEADLINE: 2019-11-25 23:59
DEADLINE: 2019-12-09 18:45
REMAINDER: 2/3

57
TaskB03/description.txt Normal file
View File

@ -0,0 +1,57 @@
Dictionary
==========
Your program should read a finite-state automaton from standard input.
The automaton is deterministic, you can assume it does not contain
cycles.
Each automaton path is labeled with a symbol sequence of the following form:
<input word>;<description>
e.g.:
biały;ADJ
dom;N
piła;N
piła;V
stali;N
stali;V
stali;ADJ
Next you should read words from the file whose name is given as the
first argument (`*.arg` file). For each word, you should all automaton
paths that begin a given word, the following symbol is ';'
(semicolon), e.g. for the word 'dom' we are looking for paths
beginning with 'dom;'. If there is no such path, the following message
should be printed:
<input word>;OOV
For instance, for the automaton given above and the input:
budynek
dom
piła
we should get:
budynek;OOV
dom;N
piła;N
piła;V
If there is more than one path for a given word, they should be given in alphabetical order.
The program does not have to check whether the automaton is correct
and whether it is deterministic and does not contain cycles.
NOTE 1. In section B for points for your tasks, the maximum (rather
than sum) is taken.
NOTE 2. Task only for students whose student index number ("numer
indeksu") is divisible by 3 with a remainder of 0
POINTS: 14
DEADLINE: 2019-12-16 23:59
REMAINDER: 0/3

1
TaskB03/elem.arg Normal file
View File

@ -0,0 +1 @@
dom

1
TaskB03/elem.exp Normal file
View File

@ -0,0 +1 @@
dom;N

31
TaskB03/elem.in Normal file
View File

@ -0,0 +1,31 @@
0 1 b
0 2 d
0 3 p
0 4 s
1 5 i
2 6 o
3 7 i
4 8 t
5 9 a
6 10 m
7 11 ł
8 12 a
9 13 ł
10 14 ;
11 15 a
12 16 l
13 17 y
14 24 N
15 18 ;
16 19 i
17 20 ;
18 24 N
18 24 V
19 21 ;
20 22 A
21 22 A
21 24 N
21 24 V
22 23 D
23 24 J
24

6
TaskB03/medium.arg Normal file
View File

@ -0,0 +1,6 @@
arbuz
arbuza
arbuzowi
azylant
azylanci
azylantowie

7
TaskB03/medium.exp Normal file
View File

@ -0,0 +1,7 @@
arbuz;N
arbuza;N
arbuzowi;ADJ
arbuzowi;N
azylant;N
azylanci;N
azylantowie;OOV

15125
TaskB03/medium.in Normal file

File diff suppressed because it is too large Load Diff

1
TaskB03/multi.arg Normal file
View File

@ -0,0 +1 @@
piła

2
TaskB03/multi.exp Normal file
View File

@ -0,0 +1,2 @@
piła;N
piła;V

31
TaskB03/multi.in Normal file
View File

@ -0,0 +1,31 @@
0 1 b
0 2 d
0 3 p
0 4 s
1 5 i
2 6 o
3 7 i
4 8 t
5 9 a
6 10 m
7 11 ł
8 12 a
9 13 ł
10 14 ;
11 15 a
12 16 l
13 17 y
14 24 N
15 18 ;
16 19 i
17 20 ;
18 24 N
18 24 V
19 21 ;
20 22 A
21 22 A
21 24 N
21 24 V
22 23 D
23 24 J
24

1
TaskB03/oov.arg Normal file
View File

@ -0,0 +1 @@
budynek

1
TaskB03/oov.exp Normal file
View File

@ -0,0 +1 @@
budynek;OOV

31
TaskB03/oov.in Normal file
View File

@ -0,0 +1,31 @@
0 1 b
0 2 d
0 3 p
0 4 s
1 5 i
2 6 o
3 7 i
4 8 t
5 9 a
6 10 m
7 11 ł
8 12 a
9 13 ł
10 14 ;
11 15 a
12 16 l
13 17 y
14 24 N
15 18 ;
16 19 i
17 20 ;
18 24 N
18 24 V
19 21 ;
20 22 A
21 22 A
21 24 N
21 24 V
22 23 D
23 24 J
24

26
TaskB04/description.txt Normal file
View File

@ -0,0 +1,26 @@
Paths
======
Your program should read a finite-state automaton from standard input.
The automaton is deterministic, you can assume it does not contain
cycles. The automaton alphabet is the set of Polish lower-case letters
(English letters plus: ą, ć, ę, ł, ń, ó, ś, ź and ż).
Your program should print, on standard output, all the paths of the
automaton in alphabetical order. "Print a path" means print a text
line containing all subsequent characters.
The program does not have to check whether the automaton is correct
and whether it is deterministic and does not contain cycles.
Weights (if any) should be disregarded.
NOTE 1. In section B for points for your tasks, the maximum (rather
than sum) is taken.
NOTE 2. Task only for students whose student index number ("numer
indeksu") is divisible by 3 with a remainder of 1
POINTS: 14
DEADLINE: 2019-12-16 23:59
REMAINDER: 1/3

50657
TaskB04/medium.exp Normal file

File diff suppressed because it is too large Load Diff

14774
TaskB04/medium.in Normal file

File diff suppressed because it is too large Load Diff

1
TaskB04/medium2.exp Normal file
View File

@ -0,0 +1 @@
a

13989
TaskB04/medium2.in Normal file

File diff suppressed because it is too large Load Diff

4
TaskB04/small.exp Normal file
View File

@ -0,0 +1,4 @@
biały
dom
piła
stali

18
TaskB04/small.in Normal file
View File

@ -0,0 +1,18 @@
0 1 b
0 2 d
0 3 p
0 4 s
1 5 i
2 6 o
3 7 i
4 8 t
5 9 a
6 14 m
7 10 ł
8 11 a
9 12 ł
10 14 a
11 13 l
12 14 y
13 14 i
14

3
TaskB04/small2.exp Normal file
View File

@ -0,0 +1,3 @@
biały
piła
stali

18
TaskB04/small2.in Normal file
View File

@ -0,0 +1,18 @@
0 1 b
0 2 d
0 3 p
0 4 s
1 5 i
2 6 o
3 7 i
4 8 t
5 9 a
6 15 m
7 10 ł
8 11 a
9 12 ł
10 14 a
11 13 l
12 14 y
13 14 i
14

29
TaskB05/description.txt Normal file
View File

@ -0,0 +1,29 @@
Cycles
======
Your program should read a finite-state automaton (without weights)
from standard input. The automaton can be nondeterministic and can
contain epsilon-transitions.
Your program should check whether the automaton contains a cycle (of any length).
If so, the following line should be written on the standard output:
TAK
otherwise:
NIE
("TAK" and "NIE" are "YES" and "NO" in Polish, these are used for
compatibility with further tasks.)
NOTE 1. In section B for points for your tasks, the maximum (rather
than sum) is taken.
NOTE 2. Task only for students whose student index number ("numer
indeksu") is divisible by 3 with a remainder of 2.
POINTS: 14
DEADLINE: 2019-12-16 23:59
REMAINDER: 2/3

1
TaskB05/medium1.exp Normal file
View File

@ -0,0 +1 @@
NIE

14774
TaskB05/medium1.in Normal file

File diff suppressed because it is too large Load Diff

1
TaskB05/medium2.exp Normal file
View File

@ -0,0 +1 @@
TAK

13989
TaskB05/medium2.in Normal file

File diff suppressed because it is too large Load Diff

1
TaskB05/small1.exp Normal file
View File

@ -0,0 +1 @@
NIE

18
TaskB05/small1.in Normal file
View File

@ -0,0 +1,18 @@
0 1 b
0 2 d
0 3 p
0 4 s
1 5 i
2 6 o
3 7 i
4 8 t
5 9 a
6 14 m
7 10 ł
8 11 a
9 12 ł
10 14 a
11 13 l
12 14 y
13 14 i
14

1
TaskB05/small2.exp Normal file
View File

@ -0,0 +1 @@
TAK

19
TaskB05/small2.in Normal file
View File

@ -0,0 +1,19 @@
0 1 b
0 2 d
0 3 p
0 4 s
1 5 i
2 6 o
3 7 i
4 8 t
5 9 a
6 15 m
7 10 ł
8 11 a
9 12 ł
10 14 a
11 11 l
11 13 l
12 14 y
13 14 i
14

View File

@ -15,4 +15,4 @@ substring composed of an upper-case letter and 2 digits. Write "true"/"false"
on the standard output accordingly.
POINTS: 2
DEADLINE: 2019-11-21 17:00
DEADLINE: 2019-12-05 17:00

View File

@ -15,4 +15,4 @@ phone number (format "NNN-NNN-NNN" or "NNN NNN NNN"), not beginning
with "555". Write "true"/"false" on the standard output accordingly.
POINTS: 3
DEADLINE: 2019-11-21 17:00
DEADLINE: 2019-12-05 17:00

View File

@ -15,4 +15,4 @@ word with exactly one vowel (consider only Latin alphabet). Write
"true"/"false" on the standard output accordingly.
POINTS: 2
DEADLINE: 2019-11-21 17:00
DEADLINE: 2019-12-05 17:00

View File

@ -16,4 +16,4 @@ standard output. If the input string is not an hour, write "<NONE>" on
the standard output.
POINTS: 3
DEADLINE: 2019-11-21 17:00
DEADLINE: 2019-12-05 17:00

View File

@ -2,4 +2,4 @@ Read a specification of an automaton in the AT&T format and write
the number of transitions.
POINTS: 1
DEADLINE: 2019-11-14 23:59
DEADLINE: 2019-11-26 23:59

View File

@ -19,14 +19,14 @@ cp "${PREFIX}/count-points.pl" arena/
cp "${PREFIX}/overrides.txt" arena/
cp "${PREFIX}/Makefile" arena/
for TX in X01 X02 X03 X04 B00 B01 B02 E01 E02 E03 E04 # X05 X06 X07 X08 X09 X10 B03 B04 X10
for TX in X01 X02 X03 X04 B00 B01 B02 B03 B04 B05 E01 E02 E03 E04 # X05 X06 X07 X08 X09 X10 B03 B04 X10
do
mkdir -p arena/Task$TX
done
#cp $PREFIX/TaskA49/Makefile $PREFIX/TaskA49/run arena/TaskA49/
for AX in `seq -w 0 48`
for AX in `seq -w 0 49`
do
mkdir -p arena/TaskA$AX
done

View File

@ -163,7 +163,9 @@ sub check_if_the_right_task {
}
}
return 0 if $task_id =~ m{^TaskE} and $student_id != 148603 and $student_id != 148335 and $student_id != 148521 and $student_id != 148567;
return 0 if $task_id =~ m{^TaskE} and not is_estudent($student_id);
return 0 if $task_id =~ m{^TaskA} and is_estudent($student_id);
return 1;
}
@ -231,3 +233,49 @@ sub get_override_key {
return $id.'+'.$task;
}
sub is_estudent {
my ($id) = @_;
my $suffix = substr($id, 1);
my %estudents = map { $_ => 1 } split/\n/,<<'END_OF_NUMBERS';
16136
30291
30686
32746
32753
32754
32757
32759
32778
32813
32837
34595
34596
34598
34599
34603
34604
34608
34650
34654
39546
40549
42335
42611
42612
42613
42614
50169
50711
52484
84146
END_OF_NUMBERS
if ($estudents{$suffix}) {
return 1;
}
return 0;
}