Usando o word2vec para classificar palavras em categorias

FUNDO

Eu tenho vetores com alguns dados de amostra e cada vetor tem um nome de categoria (Locais, Cores, Nomes).

['john','jay','dan','nathan','bob']  -> 'Names'
['yellow', 'red','green'] -> 'Colors'
['tokyo','bejing','washington','mumbai'] -> 'Places'

Meu objetivo é treinar um modelo que use uma nova string de entrada e preveja a qual categoria pertence. Por exemplo, se uma nova entrada for "roxa", devo poder prever 'Cores' como a categoria correta. Se a nova entrada for "Calgary", ela deverá prever 'Locais' como a categoria correta.

APROXIMAÇÃO

Eu fiz algumas pesquisas e me depareiWord2vec. Esta biblioteca possui uma função "similaridade" e "mostsimilarity" que eu posso usar. Então, uma abordagem de força bruta que pensei é a seguinte:

Receba novas informações.Calcule a semelhança com cada palavra em cada vetor e faça uma média.

Assim, por exemplo, para a entrada "rosa", posso calcular sua semelhança com as palavras nos "nomes" do vetor, faça uma média e faça isso para os outros 2 vetores também. O vetor que me fornece a maior média de similaridade seria o vetor correto para a entrada pertencer.

QUESTÃO

Dado meu conhecimento limitado em PNL e aprendizado de máquina, não tenho certeza se essa é a melhor abordagem e, portanto, estou procurando ajuda e sugestões sobre melhores abordagens para resolver meu problema. Estou aberto a todas as sugestões e também aponte os erros que eu possa ter cometido, pois sou novo no mundo do aprendizado de máquina e da PNL.

questionAnswers(2)

yourAnswerToTheQuestion