From 60b27088882089e58d47b48ad4791c3d8a1a9ffd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Kolasin=CC=81ski?= Date: Tue, 13 Apr 2021 20:28:41 +0200 Subject: [PATCH] Use stopwords --- classifier.py | 35 +++-- dev-0/out.tsv | 164 +++++++++++------------ stopwords | 350 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 459 insertions(+), 90 deletions(-) create mode 100644 stopwords diff --git a/classifier.py b/classifier.py index 0be75eb..e766a08 100644 --- a/classifier.py +++ b/classifier.py @@ -1,27 +1,46 @@ from gensim.models.doc2vec import Doc2Vec, TaggedDocument -from nltk.cluster import KMeansClusterer from sklearn.cluster import KMeans - +from collections import Counter +import re sentences = [] path = 'dev-0/' with open(path + 'in.tsv') as f: sentences = [line.rstrip() for line in f] -clusters_no = len(sentences) +clusters_no = 10 + +stopwords = [] +with open('stopwords') as f: + stopwords = [line.rstrip() for line in f] + splited = [] for sentence in sentences: - splited.append(sentence.split(' ')) -documents = [TaggedDocument(doc, [i]) for i, doc in enumerate(sentences)] -model = Doc2Vec(documents, min_count=1) + for w in stopwords: + pattern = r'\b' + w + r'\b' + sentence = re.sub(pattern, '', sentence) + spl = sentence.split(' ') + spl = list(filter(lambda x: x != '', spl)) + spl = [x.lower() for x in spl] + splited.append(spl) +documents = [TaggedDocument(doc, [i]) for i, doc in enumerate(splited)] +model = Doc2Vec(documents, min_count=0, alpha=0.025, epochs=20) +# for epoch in range(10): +# print('Training epoch %s', epoch) +# model.train() +# model.alpha -= 0.002 +# model.min_alpha = model.alpha + + X = model.dv.vectors -kmeans = KMeans(n_clusters=clusters_no).fit(X) +kmeans = KMeans(n_clusters=clusters_no, max_iter=1000).fit(X) labels = kmeans.labels_ centroids = kmeans.cluster_centers_ -print("Cluster id labels for inputted data") print(labels) +ctr = Counter(labels) +print(ctr.values()) with open(path + 'out.tsv', 'w') as file: for label in labels: file.write("%i\n" % label) diff --git a/dev-0/out.tsv b/dev-0/out.tsv index 462d969..1a4bb89 100644 --- a/dev-0/out.tsv +++ b/dev-0/out.tsv @@ -1,87 +1,87 @@ -44 -51 -54 -65 -33 -4 -57 -17 -39 -68 -21 -22 -29 +9 +2 +8 +5 0 -71 -19 -40 -80 -20 -38 -72 -36 -52 -66 +2 +2 +6 +1 5 2 -47 -13 -10 -48 -30 -35 -69 -12 -56 -16 -14 -76 -11 -84 -61 -75 -74 -67 -73 -3 -86 -15 -27 -7 -28 -41 -60 -77 -79 -45 -55 -50 -83 -85 -31 -46 -70 -37 -1 -24 -58 -78 -53 -43 -64 -62 -63 -42 -23 -26 -25 -32 -59 -9 -82 -18 -49 8 +0 +8 +8 +8 +8 +8 +2 +0 +8 +8 +2 +2 +2 +4 +9 +2 +7 +8 +9 +7 +2 +5 +8 +7 +2 +8 +9 +8 +7 +5 +8 +2 +7 +2 +8 +0 +1 +2 +0 +5 +7 +8 +7 +7 +7 6 -81 -34 +2 +8 +7 +2 +2 +2 +7 +8 +7 +8 +8 +2 +8 +2 +0 +0 +9 +3 +6 +7 +2 +6 +5 +4 +5 +7 +4 +5 +9 diff --git a/stopwords b/stopwords new file mode 100644 index 0000000..eee0b22 --- /dev/null +++ b/stopwords @@ -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 \ No newline at end of file