Gotowe rozwiązanie

This commit is contained in:
Łuaksz Góreczny 2021-04-23 19:12:26 +02:00
parent e4adfb04dc
commit 24b61160f4
4 changed files with 559 additions and 0 deletions

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

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

35
result.py Normal file
View File

@ -0,0 +1,35 @@
from sklearn.feature_extraction.text import TfidfVectorizer
import numpy as np
import sklearn.metrics
from sklearn.cluster import KMeans
stopwords = []
with open('./stopwords.txt') as file:
for stopword in file.readlines():
stopwords.append(stopword.strip())
with open("./dev-0/in.tsv") as source:
documents_tmp = [document for document in source.readlines()]
documents = []
for doc in documents_tmp:
documents.append(" ".join([word for word in doc.split() if word not in stopwords]))
model = TfidfVectorizer()
doc_vectors = model.fit_transform(documents)
#przy takim ustawieniu zbliżyłem się do 0.8, średnio przy 10 próbach wyszło mi 0.76, jednak wynik nigdy nie spadł ponizej 0.74
pred = KMeans(n_clusters=20, max_iter=3000).fit_predict(doc_vectors)
with open("./dev-0/out.tsv", "w") as result:
for prediction in pred:
result.write(str(prediction) + '\n')
with open("./test-A/in.tsv") as source:
documents_tmp = [document for document in source.readlines()]
documents = []
for doc in documents_tmp:
documents.append(" ".join([word for word in doc.split() if word not in stopwords]))
model = TfidfVectorizer()
doc_vectors = model.fit_transform(documents)
pred = KMeans(n_clusters=20, max_iter=3000).fit_predict(doc_vectors)
with open("./test-A/out.tsv", "w") as result:
for prediction in pred:
result.write(str(prediction) + '\n')

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

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

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