Compare commits

...

1 Commits

Author SHA1 Message Date
Hubert Tylkowski b1d0d3c9ee task done 2021-04-26 15:39:52 +02:00
4 changed files with 1170 additions and 0 deletions

87
dev-0/out.tsv Normal file
View File

@ -0,0 +1,87 @@
18
3
0
17
19
13
7
11
13
9
11
13
3
1
5
8
5
19
14
3
0
6
15
12
11
6
2
15
1
3
7
8
8
19
5
8
6
18
2
17
13
16
8
17
18
3
8
3
4
4
11
0
8
6
10
12
3
3
7
6
8
18
8
8
13
6
8
18
0
8
19
14
18
7
3
3
11
10
17
3
9
11
9
19
8
6
3
1 18
2 3
3 0
4 17
5 19
6 13
7 7
8 11
9 13
10 9
11 11
12 13
13 3
14 1
15 5
16 8
17 5
18 19
19 14
20 3
21 0
22 6
23 15
24 12
25 11
26 6
27 2
28 15
29 1
30 3
31 7
32 8
33 8
34 19
35 5
36 8
37 6
38 18
39 2
40 17
41 13
42 16
43 8
44 17
45 18
46 3
47 8
48 3
49 4
50 4
51 11
52 0
53 8
54 6
55 10
56 12
57 3
58 3
59 7
60 6
61 8
62 18
63 8
64 8
65 13
66 6
67 8
68 18
69 0
70 8
71 19
72 14
73 18
74 7
75 3
76 3
77 11
78 10
79 17
80 3
81 9
82 11
83 9
84 19
85 8
86 6
87 3

42
solution.py Normal file
View File

@ -0,0 +1,42 @@
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.cluster import KMeans
def calcDevZero(tfidfVectorizer, stopwords):
with open("dev-0/in.tsv", encoding='utf-8') as input_file:
docs = [" ".join([sword for sword in document.split() if sword not in stopwords]) for document in
input_file.readlines()]
vectors = tfidfVectorizer.fit_transform(docs)
predictions = KMeans(n_clusters=20, max_iter=1000).fit_predict(vectors)
with open("dev-0/out.tsv", "w", encoding='utf-8') as output_file:
for prediction in predictions:
output_file.write(str(prediction) + '\n')
def calcTestA(tfidfVectorizer, stopwords):
with open("test-A/in.tsv", encoding='utf-8') as input_file:
docs = [" ".join([sword for sword in document.split() if sword not in stopwords]) for document in
input_file.readlines()]
vectors = tfidfVectorizer.fit_transform(docs)
predictions = KMeans(n_clusters=20, max_iter=1000).fit_predict(vectors)
with open("test-A/out.tsv", "w", encoding='utf-8') as output_file:
for prediction in predictions:
output_file.write(str(prediction) + '\n')
def setStopWords(filename):
stopwords = []
with open(filename, encoding='utf-8') as stopwords_file:
stopwords = [sWord.strip() for sWord in stopwords_file.readlines()]
return stopwords
def main():
tfidfVectorizer = TfidfVectorizer()
stopwords = setStopWords('stopwords.txt')
calcDevZero(tfidfVectorizer, stopwords)
calcTestA(tfidfVectorizer, stopwords)
if __name__ == '__main__':
main()

350
stopwords.txt Normal file
View File

@ -0,0 +1,350 @@
a
aby
ach
acz
aczkolwiek
aj
albo
ale
alez
ależ
ani
az
bardziej
bardzo
beda
bedzie
bez
deda
będą
bede
będę
będzie
bo
bowiem
by
byc
być
byl
byla
byli
bylo
byly
był
była
było
były
bynajmniej
cala
cali
caly
cała
cały
ci
cie
ciebie
cię
co
cokolwiek
cos
coś
czasami
czasem
czemu
czy
czyli
daleko
dla
dlaczego
dlatego
do
dobrze
dokad
dokąd
dosc
dość
duzo
dużo
dwa
dwaj
dwie
dwoje
dzis
dzisiaj
dziś
gdy
gdyby
gdyz
gdyż
gdzie
gdziekolwiek
gdzies
gdzieś
go
i
ich
ile
im
inna
inne
inny
innych
iz
ja
jak
jakas
jakaś
jakby
jaki
jakichs
jakichś
jakie
jakis
jakiś
jakiz
jakiż
jakkolwiek
jako
jakos
jakoś
je
jeden
jedna
jednak
jednakze
jednakże
jedno
jego
jej
jemu
jesli
jest
jestem
jeszcze
jeśli
jezeli
jeżeli
juz
już
kazdy
każdy
kiedy
kilka
kims
kimś
kto
ktokolwiek
ktora
ktore
ktorego
ktorej
ktory
ktorych
ktorym
ktorzy
ktos
ktoś
która
które
którego
której
który
których
którym
którzy
ku
lat
lecz
lub
ma
mają
mało
mam
mi
miedzy
między
mimo
mna
mną
mnie
moga
mogą
moi
moim
moj
moja
moje
moze
mozliwe
mozna
może
możliwe
można
mój
mu
musi
my
na
nad
nam
nami
nas
nasi
nasz
nasza
nasze
naszego
naszych
natomiast
natychmiast
nawet
nia
nią
nic
nich
nie
niech
niego
niej
niemu
nigdy
nim
nimi
niz
niż
no
o
obok
od
około
on
ona
one
oni
ono
oraz
oto
owszem
pan
pana
pani
po
pod
podczas
pomimo
ponad
poniewaz
ponieważ
powinien
powinna
powinni
powinno
poza
prawie
przeciez
przecież
przed
przede
przedtem
przez
przy
roku
rowniez
również
sam
sama
sie
się
skad
skąd
soba
sobą
sobie
sposob
sposób
swoje
ta
tak
taka
taki
takie
takze
także
tam
te
tego
tej
ten
teraz
też
to
toba
tobą
tobie
totez
toteż
totobą
trzeba
tu
tutaj
twoi
twoim
twoj
twoja
twoje
twój
twym
ty
tych
tylko
tym
u
w
wam
wami
was
wasz
wasza
wasze
we
według
wiele
wielu
więc
więcej
wlasnie
właśnie
wszyscy
wszystkich
wszystkie
wszystkim
wszystko
wtedy
wy
z
za
zaden
zadna
zadne
zadnych
zapewne
zawsze
ze
zeby
zeznowu
znow
znowu
znów
zostal
został
żaden
żadna
żadne
żadnych
że
żeby

691
test-A/out.tsv Normal file
View File

@ -0,0 +1,691 @@
12
13
2
18
14
10
12
19
19
13
6
8
9
3
0
11
11
5
11
0
12
9
10
15
5
3
12
3
0
3
3
9
10
2
16
0
8
4
2
19
18
4
11
9
12
17
12
1
2
14
2
14
4
15
17
4
0
2
0
3
14
11
19
14
3
2
15
10
19
13
17
16
11
14
3
12
17
3
18
3
6
16
7
19
14
8
4
3
13
18
15
17
16
14
11
13
12
12
6
6
3
9
11
1
3
4
3
4
10
13
9
2
0
2
5
14
13
0
3
18
1
19
1
13
12
2
14
4
9
14
3
16
18
4
6
16
10
3
7
19
12
6
1
12
3
6
14
12
14
4
11
11
13
10
15
8
11
11
14
9
15
1
4
1
17
14
7
15
16
16
0
10
15
3
11
7
3
0
4
6
16
1
3
6
5
3
19
7
19
17
12
3
8
4
0
11
12
2
10
12
18
5
12
4
11
11
2
1
13
12
10
1
13
10
1
8
19
10
0
1
14
4
17
6
7
16
15
12
7
8
17
14
4
1
10
3
16
15
5
1
12
4
2
19
3
0
18
17
6
1
4
0
16
9
5
7
9
10
4
1
4
9
10
0
10
19
6
13
5
10
6
0
17
14
10
11
10
9
1
14
3
17
10
12
9
12
18
2
11
10
3
15
3
3
0
17
13
12
11
14
1
17
0
17
4
0
10
17
13
17
13
17
11
14
7
13
17
3
1
3
18
7
9
13
14
18
13
12
3
13
10
19
4
4
4
2
10
11
5
0
6
14
9
0
15
1
19
8
14
3
3
10
17
19
11
5
17
0
12
11
19
10
3
10
17
3
2
9
1
15
13
4
8
11
19
4
4
11
15
3
15
15
6
3
12
9
5
8
11
10
3
2
14
2
10
11
12
14
11
18
6
10
4
10
15
3
12
19
14
9
18
12
19
3
4
17
1
17
3
3
3
3
4
10
14
5
2
14
6
17
5
15
1
17
16
14
4
9
15
10
0
2
18
10
11
0
14
16
19
0
11
6
1
11
15
4
8
1
18
18
3
17
15
13
19
11
2
18
10
18
18
12
18
12
14
18
5
10
11
0
15
7
5
11
3
6
3
17
5
13
17
2
1
4
9
5
9
12
13
1
6
2
13
3
19
11
9
11
9
11
10
15
10
13
5
8
6
11
17
1
9
3
10
12
13
13
17
7
0
9
16
14
18
2
3
9
6
0
17
1
2
12
14
1
10
10
10
9
17
9
14
18
5
13
16
16
12
12
16
2
10
2
0
19
14
6
4
11
19
16
2
2
17
13
18
8
9
3
8
0
4
19
3
10
5
14
16
4
14
17
13
5
3
5
9
10
12
14
14
12
2
0
17
10
4
5
6
1
15
3
8
9
12
1
8
3
1
1
13
13
6
9
14
2
10
7
6
6
11
6
8
1
11
14
5
12
7
15
0
3
0
12
3
4
19
15
10
15
10
0
17
17
16
8
0
4
11
5
8
4
6
10
5
14
13
9
0
17
13
3
9
11
0
6
12
7
11
0
3
10
0
16
10
15
9
2
0
3
12
6
15
1 12
2 13
3 2
4 18
5 14
6 10
7 12
8 19
9 19
10 13
11 6
12 8
13 9
14 3
15 0
16 11
17 11
18 5
19 11
20 0
21 12
22 9
23 10
24 15
25 5
26 3
27 12
28 3
29 0
30 3
31 3
32 9
33 10
34 2
35 16
36 0
37 8
38 4
39 2
40 19
41 18
42 4
43 11
44 9
45 12
46 17
47 12
48 1
49 2
50 14
51 2
52 14
53 4
54 15
55 17
56 4
57 0
58 2
59 0
60 3
61 14
62 11
63 19
64 14
65 3
66 2
67 15
68 10
69 19
70 13
71 17
72 16
73 11
74 14
75 3
76 12
77 17
78 3
79 18
80 3
81 6
82 16
83 7
84 19
85 14
86 8
87 4
88 3
89 13
90 18
91 15
92 17
93 16
94 14
95 11
96 13
97 12
98 12
99 6
100 6
101 3
102 9
103 11
104 1
105 3
106 4
107 3
108 4
109 10
110 13
111 9
112 2
113 0
114 2
115 5
116 14
117 13
118 0
119 3
120 18
121 1
122 19
123 1
124 13
125 12
126 2
127 14
128 4
129 9
130 14
131 3
132 16
133 18
134 4
135 6
136 16
137 10
138 3
139 7
140 19
141 12
142 6
143 1
144 12
145 3
146 6
147 14
148 12
149 14
150 4
151 11
152 11
153 13
154 10
155 15
156 8
157 11
158 11
159 14
160 9
161 15
162 1
163 4
164 1
165 17
166 14
167 7
168 15
169 16
170 16
171 0
172 10
173 15
174 3
175 11
176 7
177 3
178 0
179 4
180 6
181 16
182 1
183 3
184 6
185 5
186 3
187 19
188 7
189 19
190 17
191 12
192 3
193 8
194 4
195 0
196 11
197 12
198 2
199 10
200 12
201 18
202 5
203 12
204 4
205 11
206 11
207 2
208 1
209 13
210 12
211 10
212 1
213 13
214 10
215 1
216 8
217 19
218 10
219 0
220 1
221 14
222 4
223 17
224 6
225 7
226 16
227 15
228 12
229 7
230 8
231 17
232 14
233 4
234 1
235 10
236 3
237 16
238 15
239 5
240 1
241 12
242 4
243 2
244 19
245 3
246 0
247 18
248 17
249 6
250 1
251 4
252 0
253 16
254 9
255 5
256 7
257 9
258 10
259 4
260 1
261 4
262 9
263 10
264 0
265 10
266 19
267 6
268 13
269 5
270 10
271 6
272 0
273 17
274 14
275 10
276 11
277 10
278 9
279 1
280 14
281 3
282 17
283 10
284 12
285 9
286 12
287 18
288 2
289 11
290 10
291 3
292 15
293 3
294 3
295 0
296 17
297 13
298 12
299 11
300 14
301 1
302 17
303 0
304 17
305 4
306 0
307 10
308 17
309 13
310 17
311 13
312 17
313 11
314 14
315 7
316 13
317 17
318 3
319 1
320 3
321 18
322 7
323 9
324 13
325 14
326 18
327 13
328 12
329 3
330 13
331 10
332 19
333 4
334 4
335 4
336 2
337 10
338 11
339 5
340 0
341 6
342 14
343 9
344 0
345 15
346 1
347 19
348 8
349 14
350 3
351 3
352 10
353 17
354 19
355 11
356 5
357 17
358 0
359 12
360 11
361 19
362 10
363 3
364 10
365 17
366 3
367 2
368 9
369 1
370 15
371 13
372 4
373 8
374 11
375 19
376 4
377 4
378 11
379 15
380 3
381 15
382 15
383 6
384 3
385 12
386 9
387 5
388 8
389 11
390 10
391 3
392 2
393 14
394 2
395 10
396 11
397 12
398 14
399 11
400 18
401 6
402 10
403 4
404 10
405 15
406 3
407 12
408 19
409 14
410 9
411 18
412 12
413 19
414 3
415 4
416 17
417 1
418 17
419 3
420 3
421 3
422 3
423 4
424 10
425 14
426 5
427 2
428 14
429 6
430 17
431 5
432 15
433 1
434 17
435 16
436 14
437 4
438 9
439 15
440 10
441 0
442 2
443 18
444 10
445 11
446 0
447 14
448 16
449 19
450 0
451 11
452 6
453 1
454 11
455 15
456 4
457 8
458 1
459 18
460 18
461 3
462 17
463 15
464 13
465 19
466 11
467 2
468 18
469 10
470 18
471 18
472 12
473 18
474 12
475 14
476 18
477 5
478 10
479 11
480 0
481 15
482 7
483 5
484 11
485 3
486 6
487 3
488 17
489 5
490 13
491 17
492 2
493 1
494 4
495 9
496 5
497 9
498 12
499 13
500 1
501 6
502 2
503 13
504 3
505 19
506 11
507 9
508 11
509 9
510 11
511 10
512 15
513 10
514 13
515 5
516 8
517 6
518 11
519 17
520 1
521 9
522 3
523 10
524 12
525 13
526 13
527 17
528 7
529 0
530 9
531 16
532 14
533 18
534 2
535 3
536 9
537 6
538 0
539 17
540 1
541 2
542 12
543 14
544 1
545 10
546 10
547 10
548 9
549 17
550 9
551 14
552 18
553 5
554 13
555 16
556 16
557 12
558 12
559 16
560 2
561 10
562 2
563 0
564 19
565 14
566 6
567 4
568 11
569 19
570 16
571 2
572 2
573 17
574 13
575 18
576 8
577 9
578 3
579 8
580 0
581 4
582 19
583 3
584 10
585 5
586 14
587 16
588 4
589 14
590 17
591 13
592 5
593 3
594 5
595 9
596 10
597 12
598 14
599 14
600 12
601 2
602 0
603 17
604 10
605 4
606 5
607 6
608 1
609 15
610 3
611 8
612 9
613 12
614 1
615 8
616 3
617 1
618 1
619 13
620 13
621 6
622 9
623 14
624 2
625 10
626 7
627 6
628 6
629 11
630 6
631 8
632 1
633 11
634 14
635 5
636 12
637 7
638 15
639 0
640 3
641 0
642 12
643 3
644 4
645 19
646 15
647 10
648 15
649 10
650 0
651 17
652 17
653 16
654 8
655 0
656 4
657 11
658 5
659 8
660 4
661 6
662 10
663 5
664 14
665 13
666 9
667 0
668 17
669 13
670 3
671 9
672 11
673 0
674 6
675 12
676 7
677 11
678 0
679 3
680 10
681 0
682 16
683 10
684 15
685 9
686 2
687 0
688 3
689 12
690 6
691 15