वर्ड एंबेडिंग एक भाषा मॉडलिंग तकनीक है जिसका उपयोग शब्दों को वास्तविक संख्याओं के वैक्टर में मैप करने के लिए किया जाता है। यह कई आयामों के साथ वेक्टर स्पेस में शब्दों या वाक्यांशों का प्रतिनिधित्व करता है। तंत्रिका नेटवर्क, सह-घटना मैट्रिक्स, संभाव्य मॉडल आदि जैसे विभिन्न तरीकों का उपयोग करके शब्द एम्बेडिंग उत्पन्न की जा सकती है।
Word2Vec में शब्द एम्बेडिंग उत्पन्न करने के लिए मॉडल होते हैं। ये मॉडल उथले दो-परत तंत्रिका नेटवर्क हैं जिनमें एक इनपुट परत, एक छिपी हुई परत और एक आउटपुट परत होती है।
उदाहरण
# importing all necessary modules from nltk.tokenize import sent_tokenize, word_tokenize import warnings warnings.filterwarnings(action = 'ignore') import gensim from gensim.models import Word2Vec # Reads ‘alice.txt’ file sample = open("C:\\Users\\Vishesh\\Desktop\\alice.txt", "r") s = sample.read() # Replaces escape character with space f = s.replace("\n", " ") data = [] # iterate through each sentence in the file for i in sent_tokenize(f): temp = [] # tokenize the sentence into words for j in word_tokenize(i): temp.append(j.lower()) data.append(temp) # Create CBOW model model1 = gensim.models.Word2Vec(data, min_count = 1, size = 100, window = 5) # Print results print("Cosine similarity between 'alice' " + "and 'wonderland' - CBOW : ", model1.similarity('alice', 'wonderland')) print("Cosine similarity between 'alice' " + "and 'machines' - CBOW : ", model1.similarity('alice', 'machines')) # Create Skip Gram model model2 = gensim.models.Word2Vec(data, min_count = 1, size = 100, window =5, sg = 1) # Print results print("Cosine similarity between 'alice' " + "and 'wonderland' - Skip Gram : ", model2.similarity('alice', 'wonderland')) print("Cosine similarity between 'alice' " + "and 'machines' - Skip Gram : ", model2.similarity('alice', 'machines'))