Реализация Word2Vec на языках, отличных от английского?

Можно ли реализовать модели Word2Vec на языках, не основанных на английском алфавите, таких как урду, тамильский и т. д.? Если это так, может кто-нибудь предложить мне путь.


person djokester    schedule 08.03.2017    source источник
comment
просто предварительно обработайте данные и преобразуйте их в числовой формат, создайте словарь (слово, идентификатор). Затем передайте пронумерованный файл в word2vec. Вы будете настроены идти. Просто во время запроса возьмите свой ввод, используйте словарь и преобразуйте его в пронумерованную версию, прежде чем передавать его обученной модели!   -  person user3639557    schedule 15.03.2017


Ответы (1)


Да, я думаю, что это должно быть возможно, если у вас есть токенизатор (т. е. разделитель слов) для вашего языка и, возможно, лемматизатор или стеммер, если у вас небольшие данные и вы хотите заменить флективные словоформы некоторым представлением базовой формы.

Вот базовый пример обучения модели с помощью gensim в Python:

from gensim import models

training_corpus = "corpus.txt"

with open(training_corpus,'r') as f:
    plain_text = f.read()

sentences = plain_text.split("\n")  # Assume one sentence per line
tokenized = []

for sentence in sentences:
    # White-space-based word splitting, replace with a better tokenizer
    tokens = sentence.strip().lower().split(" ")
    tokenized.append(tokens)

# Train your model, see gensim documentation for parameters
model = models.Word2Vec(tokenized, min_count=3, size=50)
person azeldes    schedule 08.03.2017
comment
попробовать. - person djokester; 09.03.2017