14 KiB
14 KiB
import pandas as pd
import numpy as np
from gensim.test.utils import common_texts
from gensim.models import Word2Vec
import os.path
import gzip
import shutil
with gzip.open('train/train.tsv.gz', 'rb') as f_in:
with open('train/train.tsv', 'wb') as f_out:
shutil.copyfileobj(f_in, f_out)
data = pd.read_csv('train/train.tsv', sep='\t', names=["Ball","Text"])
data
Ball | Text | |
---|---|---|
0 | 1 | Mindaugas Budzinauskas wierzy w odbudowę formy... |
1 | 1 | Przyjmujący reprezentacji Polski wrócił do PGE... |
2 | 0 | FEN 9: Zapowiedź walki Róża Gumienna vs Katarz... |
3 | 1 | Aleksander Filipiak: Czuję się dobrze w nowym ... |
4 | 0 | Victoria Carl i Aleksiej Czerwotkin mistrzami ... |
... | ... | ... |
98127 | 1 | Kamil Syprzak zaczyna kolekcjonować trofea. FC... |
98128 | 1 | Holandia: dwa gole Piotra Parzyszka Piotr Parz... |
98129 | 1 | Sparingowo: Korona gorsza od Stali. Lettieri s... |
98130 | 1 | Vive - Wisła. Ośmiu debiutantów w tegorocznej ... |
98131 | 1 | WTA Miami: Timea Bacsinszky pokonana, Swietłan... |
98132 rows × 2 columns
model = None
sentences = [x.split() for x in data["Text"]]
if not os.path.isfile('word2vec.model'):
model = Word2Vec(sentences=data["Text"])
model.save("word2vec.model")
model.train(sentences, total_examples=len(sentences), epochs=10)
else:
model = Word2Vec.load("word2vec.model")
prepared_training_data['Text'] = prepared_training_data['Text'].apply(lambda x: model.wv[x.split()])
[1;31m---------------------------------------------------------------------------[0m [1;31mKeyError[0m Traceback (most recent call last) [1;32m<ipython-input-6-dec2e93bf676>[0m in [0;36m<module>[1;34m[0m [1;32m----> 1[1;33m [0mprepared_training_data[0m[1;33m[[0m[1;34m'Text'[0m[1;33m][0m [1;33m=[0m [0mprepared_training_data[0m[1;33m[[0m[1;34m'Text'[0m[1;33m][0m[1;33m.[0m[0mapply[0m[1;33m([0m[1;32mlambda[0m [0mx[0m[1;33m:[0m [0mmodel[0m[1;33m.[0m[0mwv[0m[1;33m[[0m[0mx[0m[1;33m.[0m[0msplit[0m[1;33m([0m[1;33m)[0m[1;33m][0m[1;33m)[0m[1;33m[0m[1;33m[0m[0m [0m [1;32m~\anaconda3\lib\site-packages\pandas\core\series.py[0m in [0;36mapply[1;34m(self, func, convert_dtype, args, **kwds)[0m [0;32m 4198[0m [1;32melse[0m[1;33m:[0m[1;33m[0m[1;33m[0m[0m [0;32m 4199[0m [0mvalues[0m [1;33m=[0m [0mself[0m[1;33m.[0m[0mastype[0m[1;33m([0m[0mobject[0m[1;33m)[0m[1;33m.[0m[0m_values[0m[1;33m[0m[1;33m[0m[0m [1;32m-> 4200[1;33m [0mmapped[0m [1;33m=[0m [0mlib[0m[1;33m.[0m[0mmap_infer[0m[1;33m([0m[0mvalues[0m[1;33m,[0m [0mf[0m[1;33m,[0m [0mconvert[0m[1;33m=[0m[0mconvert_dtype[0m[1;33m)[0m[1;33m[0m[1;33m[0m[0m [0m[0;32m 4201[0m [1;33m[0m[0m [0;32m 4202[0m [1;32mif[0m [0mlen[0m[1;33m([0m[0mmapped[0m[1;33m)[0m [1;32mand[0m [0misinstance[0m[1;33m([0m[0mmapped[0m[1;33m[[0m[1;36m0[0m[1;33m][0m[1;33m,[0m [0mSeries[0m[1;33m)[0m[1;33m:[0m[1;33m[0m[1;33m[0m[0m [1;32mpandas\_libs\lib.pyx[0m in [0;36mpandas._libs.lib.map_infer[1;34m()[0m [1;32m<ipython-input-6-dec2e93bf676>[0m in [0;36m<lambda>[1;34m(x)[0m [1;32m----> 1[1;33m [0mprepared_training_data[0m[1;33m[[0m[1;34m'Text'[0m[1;33m][0m [1;33m=[0m [0mprepared_training_data[0m[1;33m[[0m[1;34m'Text'[0m[1;33m][0m[1;33m.[0m[0mapply[0m[1;33m([0m[1;32mlambda[0m [0mx[0m[1;33m:[0m [0mmodel[0m[1;33m.[0m[0mwv[0m[1;33m[[0m[0mx[0m[1;33m.[0m[0msplit[0m[1;33m([0m[1;33m)[0m[1;33m][0m[1;33m)[0m[1;33m[0m[1;33m[0m[0m [0m [1;32m~\anaconda3\lib\site-packages\gensim\models\keyedvectors.py[0m in [0;36m__getitem__[1;34m(self, entities)[0m [0;32m 353[0m [1;32mreturn[0m [0mself[0m[1;33m.[0m[0mget_vector[0m[1;33m([0m[0mentities[0m[1;33m)[0m[1;33m[0m[1;33m[0m[0m [0;32m 354[0m [1;33m[0m[0m [1;32m--> 355[1;33m [1;32mreturn[0m [0mvstack[0m[1;33m([0m[1;33m[[0m[0mself[0m[1;33m.[0m[0mget_vector[0m[1;33m([0m[0mentity[0m[1;33m)[0m [1;32mfor[0m [0mentity[0m [1;32min[0m [0mentities[0m[1;33m][0m[1;33m)[0m[1;33m[0m[1;33m[0m[0m [0m[0;32m 356[0m [1;33m[0m[0m [0;32m 357[0m [1;32mdef[0m [0m__contains__[0m[1;33m([0m[0mself[0m[1;33m,[0m [0mentity[0m[1;33m)[0m[1;33m:[0m[1;33m[0m[1;33m[0m[0m [1;32m~\anaconda3\lib\site-packages\gensim\models\keyedvectors.py[0m in [0;36m<listcomp>[1;34m(.0)[0m [0;32m 353[0m [1;32mreturn[0m [0mself[0m[1;33m.[0m[0mget_vector[0m[1;33m([0m[0mentities[0m[1;33m)[0m[1;33m[0m[1;33m[0m[0m [0;32m 354[0m [1;33m[0m[0m [1;32m--> 355[1;33m [1;32mreturn[0m [0mvstack[0m[1;33m([0m[1;33m[[0m[0mself[0m[1;33m.[0m[0mget_vector[0m[1;33m([0m[0mentity[0m[1;33m)[0m [1;32mfor[0m [0mentity[0m [1;32min[0m [0mentities[0m[1;33m][0m[1;33m)[0m[1;33m[0m[1;33m[0m[0m [0m[0;32m 356[0m [1;33m[0m[0m [0;32m 357[0m [1;32mdef[0m [0m__contains__[0m[1;33m([0m[0mself[0m[1;33m,[0m [0mentity[0m[1;33m)[0m[1;33m:[0m[1;33m[0m[1;33m[0m[0m [1;32m~\anaconda3\lib\site-packages\gensim\models\keyedvectors.py[0m in [0;36mget_vector[1;34m(self, word)[0m [0;32m 469[0m [1;33m[0m[0m [0;32m 470[0m [1;32mdef[0m [0mget_vector[0m[1;33m([0m[0mself[0m[1;33m,[0m [0mword[0m[1;33m)[0m[1;33m:[0m[1;33m[0m[1;33m[0m[0m [1;32m--> 471[1;33m [1;32mreturn[0m [0mself[0m[1;33m.[0m[0mword_vec[0m[1;33m([0m[0mword[0m[1;33m)[0m[1;33m[0m[1;33m[0m[0m [0m[0;32m 472[0m [1;33m[0m[0m [0;32m 473[0m [1;32mdef[0m [0mwords_closer_than[0m[1;33m([0m[0mself[0m[1;33m,[0m [0mw1[0m[1;33m,[0m [0mw2[0m[1;33m)[0m[1;33m:[0m[1;33m[0m[1;33m[0m[0m [1;32m~\anaconda3\lib\site-packages\gensim\models\keyedvectors.py[0m in [0;36mword_vec[1;34m(self, word, use_norm)[0m [0;32m 466[0m [1;32mreturn[0m [0mresult[0m[1;33m[0m[1;33m[0m[0m [0;32m 467[0m [1;32melse[0m[1;33m:[0m[1;33m[0m[1;33m[0m[0m [1;32m--> 468[1;33m [1;32mraise[0m [0mKeyError[0m[1;33m([0m[1;34m"word '%s' not in vocabulary"[0m [1;33m%[0m [0mword[0m[1;33m)[0m[1;33m[0m[1;33m[0m[0m [0m[0;32m 469[0m [1;33m[0m[0m [0;32m 470[0m [1;32mdef[0m [0mget_vector[0m[1;33m([0m[0mself[0m[1;33m,[0m [0mword[0m[1;33m)[0m[1;33m:[0m[1;33m[0m[1;33m[0m[0m [1;31mKeyError[0m: "word 'Mindaugas' not in vocabulary"