Vložení slov (word embeddings) jsou vektorové reprezentace slov, které zachovávají sémantické vztahy mezi slovy. Word2Vec a GloVe jsou dvě populární metody pro trénink a použití vložení slov. V následujícím návodu ukážeme, jak použít předtrénovaný model Word2Vec pomocí knihovny gensim
:
Instalace knihovny gensim
Nejprve nainstalujte knihovnu gensim
, pokud ji ještě nemáte, pomocí pip:
pip install gensim
Stáhněte předtrénovaný model
V tomto příkladu použijeme předtrénovaný model Google News Word2Vec. Model můžete stáhnout zde: GoogleNews-vectors-negative300.bin.gz. Extrahujte soubor .bin
z archivu .gz
.
Importujte knihovnu gensim
a načtěte předtrénovaný model
from gensim.models import KeyedVectors
model_path = "path/to/GoogleNews-vectors-negative300.bin"
word_vectors = KeyedVectors.load_word2vec_format(model_path, binary=True)
Vypočítejte vložení slov (embeddings) pro konkrétní slova
word = "apple"
embedding = word_vectors[word]
print(f"Embedding for '{word}':\n{embedding}")
Vypočítejte podobnost mezi slovy
similarity = word_vectors.similarity("apple", "banana")
print(f"Similarity between 'apple' and 'banana': {similarity}")
Najděte nejpodobnější slova
similar_words = word_vectors.most_similar("apple", topn=5)
print("Top 5 most similar words to 'apple':")
for word, similarity in similar_words:
print(f"{word}: {similarity}")
Analogie slov
result = word_vectors.most_similar(positive=["king", "woman"], negative=["man"], topn=1)
print("Result of the analogy 'king - man + woman':")
for word, similarity in result:
print(f"{word}: {similarity}")
Výše uvedený kód ukazuje, jak použít předtrénovaný model Word2Vec s knihovnou gensim
pro získání vložení slov, výpočet podobnosti mezi slovy, hledání nejpodobnějších slov a řešení analogií. Můžete také trénovat vlastní Word2Vec model na svém datasetu pomocí gensim.models.Word2Vec
. Alternativně můžete použít jiné metody, jako je GloVe nebo FastText, které poskytují různé výhody a vlastnosti.