Nhúng từ là một kỹ thuật mô hình hóa ngôn ngữ được sử dụng để ánh xạ từ sang vectơ của số thực. Nó đại diện cho các từ hoặc cụm từ trong không gian vectơ với một số chiều. Nhúng từ có thể được tạo bằng nhiều phương pháp khác nhau như mạng nơ-ron, ma trận đồng xuất hiện, mô hình xác suất, v.v.
Word2Vec bao gồm các mô hình để tạo nhúng từ. Các mô hình này là mạng nơ-ron hai lớp nông có một lớp đầu vào, một lớp ẩn và một lớp đầu ra.
Ví dụ
# 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'))