Tvoříme model podobný GPT (4.díl): Embedding

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.

Napsat komentář