From 24b61160f49bf9a417801be25aab0fb4ede06a6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81uaksz=20G=C3=B3reczny?= Date: Fri, 23 Apr 2021 19:12:26 +0200 Subject: [PATCH] =?UTF-8?q?Gotowe=20rozwi=C4=85zanie?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dev-0/out.tsv | 87 ++++++++++++ result.py | 35 +++++ stopwords.txt | 350 +++++++++++++++++++++++++++++++++++++++++++++++++ test-A/out.tsv | 87 ++++++++++++ 4 files changed, 559 insertions(+) create mode 100644 dev-0/out.tsv create mode 100644 result.py create mode 100644 stopwords.txt create mode 100644 test-A/out.tsv diff --git a/dev-0/out.tsv b/dev-0/out.tsv new file mode 100644 index 0000000..8b4aaba --- /dev/null +++ b/dev-0/out.tsv @@ -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 diff --git a/result.py b/result.py new file mode 100644 index 0000000..069d2a7 --- /dev/null +++ b/result.py @@ -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') + diff --git a/stopwords.txt b/stopwords.txt new file mode 100644 index 0000000..2e72387 --- /dev/null +++ b/stopwords.txt @@ -0,0 +1,350 @@ +a +aby +ach +acz +aczkolwiek +aj +albo +ale +alez +ależ +ani +az +aż +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 +iż +ja +jak +jakas +jakaś +jakby +jaki +jakichs +jakichś +jakie +jakis +jakiś +jakiz +jakiż +jakkolwiek +jako +jakos +jakoś +ją +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 +są +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 +zł +znow +znowu +znów +zostal +został +żaden +żadna +żadne +żadnych +że +żeby diff --git a/test-A/out.tsv b/test-A/out.tsv new file mode 100644 index 0000000..a1ed9b7 --- /dev/null +++ b/test-A/out.tsv @@ -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