{"id":6116,"date":"2026-05-02T08:52:33","date_gmt":"2026-05-02T11:52:33","guid":{"rendered":"https:\/\/thiagorossi.com.br\/blog\/?p=6116"},"modified":"2026-05-02T09:00:39","modified_gmt":"2026-05-02T12:00:39","slug":"nlp-usando-word2vec-e-glove-com-rubix-ml","status":"publish","type":"post","link":"https:\/\/thiagorossi.com.br\/blog\/nlp-usando-word2vec-e-glove-com-rubix-ml\/","title":{"rendered":"NLP Usando Word2Vec e GloVe com Rubix ML"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Tempo de leitura: <\/span> <span class=\"rt-time\"> 5<\/span> <span class=\"rt-label rt-postfix\">minutos<\/span><\/span>\n<p class=\"has-medium-font-size wp-block-paragraph\">NLP Usando Word2Vec e GloVe com Rubix ML: Chegamos a um momento divisor de \u00e1guas na nossa <strong>Masterclass de Rubix ML<\/strong>. At\u00e9 agora, tratamos o texto como uma cole\u00e7\u00e3o de palavras ou frequ\u00eancias (TF-IDF), mas a linguagem humana \u00e9 muito mais do que contagem estat\u00edstica. Para que suas solu\u00e7\u00f5es entendam que &#8220;PHP&#8221; e &#8220;CakePHP&#8221; ou &#8220;Laravel&#8221; est\u00e3o intimamente ligados, ou que &#8220;Desenvolvedor&#8221; e &#8220;Programador&#8221; s\u00e3o quase sin\u00f4nimos, precisamos de sem\u00e2ntica.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Como desenvolvedor web e especialista em <strong>Rubix ML<\/strong>, preparei este vig\u00e9simo quinto artigo para levar seu processamento de linguagem natural (NLP) ao estado da arte. Vamos aprender a integrar <strong>Embeddings Externos<\/strong>, como <strong>Word2Vec<\/strong> e <strong>GloVe<\/strong>, diretamente no seu ecossistema PHP. Prepare-se para dar ao seu c\u00f3digo a capacidade de entender o contexto, e n\u00e3o apenas as letras.<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">NLP com Embeddings Externos: Usando Word2Vec e GloVe dentro do Ecossistema PHP<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">NLP Usando Word2Vec e GloVe com Rubix ML: No processamento de linguagem tradicional, costumamos usar a representa\u00e7\u00e3o &#8220;Bag-of-Words&#8221;. Nela, cada palavra \u00e9 um \u00edndice em um vetor. O problema? Para o computador, a dist\u00e2ncia entre &#8220;Cachorro&#8221; e &#8220;Gato&#8221; \u00e9 a mesma que entre &#8220;Cachorro&#8221; e &#8220;Geladeira&#8221;. N\u00e3o h\u00e1 conceito de significado.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\" id=\"p-rc_0cd02e78a81f9b5f-25\">Os <strong>Word Embeddings<\/strong> (incorpora\u00e7\u00f5es de palavras) resolvem isso transformando palavras em vetores de n\u00fameros reais em um espa\u00e7o multidimensional. Nesse espa\u00e7o, palavras com significados semelhantes ficam geometricamente pr\u00f3ximas. <strong>Word2Vec<\/strong> (do Google) e <strong>GloVe<\/strong> (de Stanford) s\u00e3o bibliotecas de vetores pr\u00e9-treinados em bilh\u00f5es de documentos, e hoje vamos traz\u00ea-las para o nossa realidade com PHP e Rubix ML.<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">1. O que s\u00e3o Word2Vec e GloVe?<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>Word2Vec:<\/strong> Utiliza redes neurais rasas para aprender associa\u00e7\u00f5es de palavras. Ele pode usar o contexto para prever uma palavra (CBOW) ou usar uma palavra para prever o contexto (Skip-gram).<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>GloVe (Global Vectors):<\/strong> Baseia-se em estat\u00edsticas globais de co-ocorr\u00eancia de palavras em um corpus. Ele foca na rela\u00e7\u00e3o entre as probabilidades de palavras aparecerem juntas.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\" id=\"p-rc_0cd02e78a81f9b5f-26\">Integrar esses modelos externos no <strong>Rubix ML<\/strong> permite que voc\u00ea aproveite o conhecimento &#8220;enciclop\u00e9dico&#8221; que essas IAs j\u00e1 possuem, sem precisar treinar um modelo do zero no seu hardware.<sup><\/sup><\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">2. Por que usar Embeddings Externos no seu projeto?<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Se voc\u00ea est\u00e1 gerenciando um sistema de recrutamento e sele\u00e7\u00e3o, a busca sem\u00e2ntica \u00e9 o seu maior diferencial:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>Busca Inteligente:<\/strong> Se um recrutador busca por &#8220;Engenheiro de Software&#8221;, a IA pode sugerir curr\u00edculos que mencionam &#8220;Desenvolvedor Full-stack&#8221;, pois os vetores dessas palavras s\u00e3o pr\u00f3ximos.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Redu\u00e7\u00e3o de Dimensionalidade:<\/strong> Em vez de ter um vetor de 50.000 posi\u00e7\u00f5es (uma para cada palavra do dicion\u00e1rio), voc\u00ea usa um vetor fixo de 100 ou 300 dimens\u00f5es que captura a ess\u00eancia da frase.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Transfer Learning:<\/strong> Voc\u00ea &#8220;importa&#8221; a intelig\u00eancia treinada por gigantes da tecnologia para dentro da sua aplica\u00e7\u00e3o PHP.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">3. M\u00e3o na Massa: Integrando Vetores GloVe no Rubix ML<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Para este exemplo, assumiremos que voc\u00ea baixou os vetores pr\u00e9-treinados do GloVe (comumente um arquivo <code>.txt<\/code> ou <code>.bin<\/code>). O Rubix ML facilita a convers\u00e3o desses dados para que seus estimadores os compreendam.<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Passo 1: O Word Embedding Transformer<\/h3>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Diferente de um <code>WordCountVectorizer<\/code>, que conta palavras, vamos usar um transformador que traduz palavras para suas coordenadas vetoriais.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">PHP<\/p>\n\n\n\n<pre class=\"wp-block-code has-medium-font-size\"><code>use Rubix\\ML\\Transformers\\WordIterable;\nuse Rubix\\ML\\Transformers\\WordEmbedding;\nuse Rubix\\ML\\Persisters\\Filesystem;\n\n\/**\n * Carregamos os vetores externos.\n * Nota: Em produ\u00e7\u00e3o na Hostinger, prefira formatos bin\u00e1rios para velocidade.\n *\/\n$transformer = new WordEmbedding(300, new Filesystem('glove.6B.300d.txt'));\n\necho \"Mem\u00f3ria sem\u00e2ntica carregada com sucesso!\" . PHP_EOL;\n<\/code><\/pre>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Passo 2: Transformando Descri\u00e7\u00f5es de Vagas<\/h3>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Vamos converter um texto bruto em um vetor num\u00e9rico que representa o &#8220;conceito&#8221; da vaga.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">PHP<\/p>\n\n\n\n<pre class=\"wp-block-code has-medium-font-size\"><code>$vaga = &#91;\n    'Buscamos desenvolvedor PHP com experi\u00eancia em CakePHP e integra\u00e7\u00e3o de APIs.'\n];\n\n\/\/ O transformer converte a frase em uma m\u00e9dia dos vetores das palavras individuais\n$transformer-&gt;fit($dataset); \/\/ Opcional se os vetores j\u00e1 forem fixos\n$dataset-&gt;apply($transformer);\n\nprint_r($dataset-&gt;sample(0)); \n\/\/ Resultado: &#91;0.12, -0.45, 0.88, ...] (Vetor de 300 dimens\u00f5es)\n<\/code><\/pre>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">4. Aplicabilidade Real: Classifica\u00e7\u00e3o de Categorias sem R\u00f3tulos Exatos<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Imagine que um usu\u00e1rio do seu blog escreve um coment\u00e1rio: <em>&#8220;Achei as aulas sobre rubix ml incr\u00edveis!&#8221;<\/em>.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\" id=\"p-rc_0cd02e78a81f9b5f-28\">Mesmo que voc\u00ea nunca tenha treinado o modelo com a palavra &#8220;incr\u00edvel&#8221;, se ele usar os embeddings do <strong>Word2Vec<\/strong>, ele saber\u00e1 que &#8220;incr\u00edvel&#8221; \u00e9 semanticamente pr\u00f3ximo de &#8220;\u00f3timo&#8221; ou &#8220;excelente&#8221;. Isso torna sua <strong>An\u00e1lise de Sentimento<\/strong> muito mais robusta, pois ela entende a inten\u00e7\u00e3o por tr\u00e1s dos adjetivos, mesmo aqueles que n\u00e3o estavam no seu dataset original de treino.<sup><\/sup><\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">5. Desafios T\u00e9cnicos: Mem\u00f3ria e Performance em PHP<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\" id=\"p-rc_0cd02e78a81f9b5f-29\">Trabalhar com arquivos de embeddings externos pode ser desafiador em ambientes compartilhados. O arquivo <code>glove.6B.300d.txt<\/code> pode ter mais de 1GB.<sup><\/sup><\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>Utilize Mem\u00f3ria RAM:<\/strong> Se estiver usando uma VPS da Hostinger, certifique-se de que o <code>memory_limit<\/code> do PHP seja suficiente para carregar os vetores.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Embeddings Espec\u00edficos:<\/strong> Em vez de carregar o dicion\u00e1rio inteiro da l\u00edngua inglesa ou portuguesa, voc\u00ea pode criar um subconjunto apenas com termos t\u00e9cnicos da \u00e1rea de seu interesse.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>HDF5 ou Formatos Bin\u00e1rios:<\/strong> Converta os arquivos <code>.txt<\/code> para formatos de carregamento r\u00e1pido. O Rubix ML lida melhor com fluxos de dados eficientes.<\/li>\n<\/ol>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">6. O Pr\u00f3ximo N\u00edvel: Sentence Embeddings<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Embora o Word2Vec funcione palavra por palavra, o ecossistema PHP est\u00e1 evoluindo para entender frases inteiras (Sentence Embeddings). Ao combinar o <strong>Rubix ML<\/strong> com t\u00e9cnicas de redu\u00e7\u00e3o de dimensionalidade, voc\u00ea pode comparar a similaridade entre dois curr\u00edculos inteiros calculando a &#8220;Dist\u00e2ncia de Cosseno&#8221; entre seus vetores m\u00e9dios. Se a dist\u00e2ncia for curta, o match \u00e9 perfeito!<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">Conclus\u00e3o: A IA que L\u00ea nas Entrelinhas<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">NLP Usando Word2Vec e GloVe com Rubix ML: Integrar <strong>NLP com Embeddings Externos<\/strong> no seu fluxo de trabalho transforma a forma como sua aplica\u00e7\u00e3o interage com o usu\u00e1rio. Voc\u00ea deixou de ser um programador que compara strings para ser um engenheiro que processa significados.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Para uma solu\u00e7\u00e3o de recrutamento e sele\u00e7\u00e3o, isso significa conectar talentos e empresas de forma muito mais humana e precisa. Para um blog, significa uma organiza\u00e7\u00e3o de conte\u00fado que realmente faz sentido para o leitor. O PHP, atrav\u00e9s do <strong>Rubix ML<\/strong>, prova que n\u00e3o deve nada \u00e0s linguagens tradicionalmente associadas \u00e0 ci\u00eancia de dados.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">No pr\u00f3ximo artigo, daremos um salto em performance bruta: <strong>&#8220;Paraleliza\u00e7\u00e3o e Performance: Otimizando o treino em CPUs multicore.&#8221;<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Mas antes de dominar o Rubix ML, se este for o seu caso, entendemos que toda jornada tem um in\u00edcio. Vamos entender quais s\u00e3o os conhecimentos b\u00e1sicos necess\u00e1rios para aproveitar ao m\u00e1ximo esta poderosa biblioteca. Para iniciar seus estudos do Rubix ML, voc\u00ea precisar\u00e1 dominar as seguintes tecnologias e\/ou framework:<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"\/blog\/categoria\/php\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"426\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Capa-PHP.png\" alt=\"Capa Curso PHP\" class=\"wp-image-2835\" srcset=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Capa-PHP.png 758w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Capa-PHP-300x169.png 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/a><figcaption class=\"wp-element-caption\">PHP<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"\/blog\/categoria\/sql\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"426\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/05\/Capa-Artigos-2.webp\" alt=\"SQL\" class=\"wp-image-942\" srcset=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/05\/Capa-Artigos-2.webp 758w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/05\/Capa-Artigos-2-300x169.webp 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/a><figcaption class=\"wp-element-caption\">SQL<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"\/blog\/categoria\/laravel\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"426\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Laravel.webp\" alt=\"Laravel\" class=\"wp-image-1642\" srcset=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Laravel.webp 758w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Laravel-300x169.webp 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/a><figcaption class=\"wp-element-caption\">Laravel<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"\/blog\/categoria\/cakephp\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"426\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/capa-cakephp.png\" alt=\"CakePHP\" class=\"wp-image-5819\" srcset=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/capa-cakephp.png 758w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/capa-cakephp-300x169.png 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/a><figcaption class=\"wp-element-caption\">CakePHP<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">E se voc\u00ea gosta do nosso conte\u00fado, n\u00e3o deixe de contribuir adquirindo os servi\u00e7os e produtos dos nossos apoiadores e empresas que somos associados.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/hostinger.com.br\/?REFERRALCODE=1THIAGO62\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"250\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/03\/hostinger.png\" alt=\"Hospedagem Hostinger\" class=\"wp-image-92\"\/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/amzn.to\/3SNDYlc\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"250\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/08\/ofertas-amazon.webp\" alt=\"Ofertas Amazon\" class=\"wp-image-1308\"\/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/amzn.to\/3SNKmt0\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"250\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/08\/amazonprime.webp\" alt=\"Amazon Prime\" class=\"wp-image-1307\"\/><\/a><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\" id=\"p-rc_0cd02e78a81f9b5f-30\"><strong>Dica de Especialista:<\/strong> Se voc\u00ea estiver trabalhando com dados em portugu\u00eas, procure os embeddings do projeto <strong>NILC<\/strong> (N\u00facleo Interinstitucional de Lingu\u00edstica Computacional). Eles possuem modelos Word2Vec pr\u00e9-treinados especificamente com o nosso vocabul\u00e1rio brasileiro, o que aumentar\u00e1 drasticamente a precis\u00e3o nos projetos locais em S\u00e3o Jos\u00e9 do Rio Preto!<sup><\/sup><\/p>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Tempo de leitura: <\/span> <span class=\"rt-time\"> 5<\/span> <span class=\"rt-label rt-postfix\">minutos<\/span><\/span>NLP Usando Word2Vec e GloVe com Rubix ML: Chegamos a um momento divisor de \u00e1guas&#8230;<\/p>\n","protected":false},"author":1,"featured_media":5935,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[98],"tags":[],"class_list":["post-6116","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-rubix-ml","wpcat-98-id"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>NLP Usando Word2Vec e GloVe com Rubix ML - BLOG THIAGO ROSSI<\/title>\n<meta name=\"description\" content=\"NLP Usando Word2Vec e GloVe com Rubix ML: No processamento de linguagem tradicional, costumamos usar a representa\u00e7\u00e3o &quot;Bag-of-Words&quot;...\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thiagorossi.com.br\/blog\/nlp-usando-word2vec-e-glove-com-rubix-ml\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"NLP Usando Word2Vec e GloVe com Rubix ML - BLOG THIAGO ROSSI\" \/>\n<meta property=\"og:description\" content=\"NLP Usando Word2Vec e GloVe com Rubix ML: No processamento de linguagem tradicional, costumamos usar a representa\u00e7\u00e3o &quot;Bag-of-Words&quot;...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thiagorossi.com.br\/blog\/nlp-usando-word2vec-e-glove-com-rubix-ml\/\" \/>\n<meta property=\"og:site_name\" content=\"BLOG THIAGO ROSSI\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-02T11:52:33+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-02T12:00:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/RubixML.png\" \/>\n\t<meta property=\"og:image:width\" content=\"758\" \/>\n\t<meta property=\"og:image:height\" content=\"426\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Thiago Rossi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Thiago Rossi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/nlp-usando-word2vec-e-glove-com-rubix-ml\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/nlp-usando-word2vec-e-glove-com-rubix-ml\\\/\"},\"author\":{\"name\":\"Thiago Rossi\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/5f28286948ec2afdeb2e044a2196cd87\"},\"headline\":\"NLP Usando Word2Vec e GloVe com Rubix ML\",\"datePublished\":\"2026-05-02T11:52:33+00:00\",\"dateModified\":\"2026-05-02T12:00:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/nlp-usando-word2vec-e-glove-com-rubix-ml\\\/\"},\"wordCount\":1127,\"publisher\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/nlp-usando-word2vec-e-glove-com-rubix-ml\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/RubixML.png\",\"articleSection\":[\"Rubix ML\"],\"inLanguage\":\"pt-BR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/nlp-usando-word2vec-e-glove-com-rubix-ml\\\/\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/nlp-usando-word2vec-e-glove-com-rubix-ml\\\/\",\"name\":\"NLP Usando Word2Vec e GloVe com Rubix ML - BLOG THIAGO ROSSI\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/nlp-usando-word2vec-e-glove-com-rubix-ml\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/nlp-usando-word2vec-e-glove-com-rubix-ml\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/RubixML.png\",\"datePublished\":\"2026-05-02T11:52:33+00:00\",\"dateModified\":\"2026-05-02T12:00:39+00:00\",\"description\":\"NLP Usando Word2Vec e GloVe com Rubix ML: No processamento de linguagem tradicional, costumamos usar a representa\u00e7\u00e3o \\\"Bag-of-Words\\\"...\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/nlp-usando-word2vec-e-glove-com-rubix-ml\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/nlp-usando-word2vec-e-glove-com-rubix-ml\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/nlp-usando-word2vec-e-glove-com-rubix-ml\\\/#primaryimage\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/RubixML.png\",\"contentUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/RubixML.png\",\"width\":758,\"height\":426,\"caption\":\"Rubix ML\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/nlp-usando-word2vec-e-glove-com-rubix-ml\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"NLP Usando Word2Vec e GloVe com Rubix ML\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/\",\"name\":\"THIAGO ROSSI\",\"description\":\"Mais de 20 anos de experi\u00eancia no mercado de TI!\",\"publisher\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#organization\"},\"alternateName\":\"TR | CURSO WEB DEV\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#organization\",\"name\":\"THIAGO ROSSI\",\"alternateName\":\"TR | CURSO WEB DEV\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/new-logo.webp\",\"contentUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/new-logo.webp\",\"width\":300,\"height\":300,\"caption\":\"THIAGO ROSSI\"},\"image\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/linkedin.com\\\/in\\\/thiagox86\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/5f28286948ec2afdeb2e044a2196cd87\",\"name\":\"Thiago Rossi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g\",\"caption\":\"Thiago Rossi\"},\"description\":\"Com mais de 20 anos de jornada na tecnologia, minha trajet\u00f3ria evoluiu do ensino t\u00e9cnico \u00e0 arquitetura de sistemas complexos. Hoje, foco minha expertise no desenvolvimento de solu\u00e7\u00f5es de Intelig\u00eancia Artificial nativa e an\u00e1lise de dados p\u00fablicos, utilizando o ecossistema PHP para transformar dados brutos em transpar\u00eancia e efici\u00eancia. Como autor e desenvolvedor, acredito na democratiza\u00e7\u00e3o do conhecimento. Essa vis\u00e3o resultou em uma biblioteca de mais de 530 artigos gratuitos, cobrindo desde a base do WebDev e Infraestrutura at\u00e9 os bastidores da ind\u00fastria de Jogos e IA. No universo de Game Design, sou autor do livro \\\"GDD \u2013 O Guia Definitivo\\\" e documento ativamente meus processos atrav\u00e9s de DevLogs, unindo rigor t\u00e9cnico e criatividade em projetos desenvolvidos com GDevelop 5. Meu compromisso \u00e9 conectar engenharia de ponta com as reais oportunidades do mercado de tecnologia.\",\"sameAs\":[\"https:\\\/\\\/thiagorossi.com.br\\\/blog\",\"https:\\\/\\\/instagram.com\\\/thiagorossix86\",\"https:\\\/\\\/linkedin.com\\\/in\\\/thiagox86\"],\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/author\\\/thiagorossi\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"NLP Usando Word2Vec e GloVe com Rubix ML - BLOG THIAGO ROSSI","description":"NLP Usando Word2Vec e GloVe com Rubix ML: No processamento de linguagem tradicional, costumamos usar a representa\u00e7\u00e3o \"Bag-of-Words\"...","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thiagorossi.com.br\/blog\/nlp-usando-word2vec-e-glove-com-rubix-ml\/","og_locale":"pt_BR","og_type":"article","og_title":"NLP Usando Word2Vec e GloVe com Rubix ML - BLOG THIAGO ROSSI","og_description":"NLP Usando Word2Vec e GloVe com Rubix ML: No processamento de linguagem tradicional, costumamos usar a representa\u00e7\u00e3o \"Bag-of-Words\"...","og_url":"https:\/\/thiagorossi.com.br\/blog\/nlp-usando-word2vec-e-glove-com-rubix-ml\/","og_site_name":"BLOG THIAGO ROSSI","article_published_time":"2026-05-02T11:52:33+00:00","article_modified_time":"2026-05-02T12:00:39+00:00","og_image":[{"width":758,"height":426,"url":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/RubixML.png","type":"image\/png"}],"author":"Thiago Rossi","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Thiago Rossi","Est. tempo de leitura":"8 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thiagorossi.com.br\/blog\/nlp-usando-word2vec-e-glove-com-rubix-ml\/#article","isPartOf":{"@id":"https:\/\/thiagorossi.com.br\/blog\/nlp-usando-word2vec-e-glove-com-rubix-ml\/"},"author":{"name":"Thiago Rossi","@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/person\/5f28286948ec2afdeb2e044a2196cd87"},"headline":"NLP Usando Word2Vec e GloVe com Rubix ML","datePublished":"2026-05-02T11:52:33+00:00","dateModified":"2026-05-02T12:00:39+00:00","mainEntityOfPage":{"@id":"https:\/\/thiagorossi.com.br\/blog\/nlp-usando-word2vec-e-glove-com-rubix-ml\/"},"wordCount":1127,"publisher":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#organization"},"image":{"@id":"https:\/\/thiagorossi.com.br\/blog\/nlp-usando-word2vec-e-glove-com-rubix-ml\/#primaryimage"},"thumbnailUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/RubixML.png","articleSection":["Rubix ML"],"inLanguage":"pt-BR"},{"@type":"WebPage","@id":"https:\/\/thiagorossi.com.br\/blog\/nlp-usando-word2vec-e-glove-com-rubix-ml\/","url":"https:\/\/thiagorossi.com.br\/blog\/nlp-usando-word2vec-e-glove-com-rubix-ml\/","name":"NLP Usando Word2Vec e GloVe com Rubix ML - BLOG THIAGO ROSSI","isPartOf":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thiagorossi.com.br\/blog\/nlp-usando-word2vec-e-glove-com-rubix-ml\/#primaryimage"},"image":{"@id":"https:\/\/thiagorossi.com.br\/blog\/nlp-usando-word2vec-e-glove-com-rubix-ml\/#primaryimage"},"thumbnailUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/RubixML.png","datePublished":"2026-05-02T11:52:33+00:00","dateModified":"2026-05-02T12:00:39+00:00","description":"NLP Usando Word2Vec e GloVe com Rubix ML: No processamento de linguagem tradicional, costumamos usar a representa\u00e7\u00e3o \"Bag-of-Words\"...","breadcrumb":{"@id":"https:\/\/thiagorossi.com.br\/blog\/nlp-usando-word2vec-e-glove-com-rubix-ml\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thiagorossi.com.br\/blog\/nlp-usando-word2vec-e-glove-com-rubix-ml\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/thiagorossi.com.br\/blog\/nlp-usando-word2vec-e-glove-com-rubix-ml\/#primaryimage","url":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/RubixML.png","contentUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/RubixML.png","width":758,"height":426,"caption":"Rubix ML"},{"@type":"BreadcrumbList","@id":"https:\/\/thiagorossi.com.br\/blog\/nlp-usando-word2vec-e-glove-com-rubix-ml\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thiagorossi.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"NLP Usando Word2Vec e GloVe com Rubix ML"}]},{"@type":"WebSite","@id":"https:\/\/thiagorossi.com.br\/blog\/#website","url":"https:\/\/thiagorossi.com.br\/blog\/","name":"THIAGO ROSSI","description":"Mais de 20 anos de experi\u00eancia no mercado de TI!","publisher":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#organization"},"alternateName":"TR | CURSO WEB DEV","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thiagorossi.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/thiagorossi.com.br\/blog\/#organization","name":"THIAGO ROSSI","alternateName":"TR | CURSO WEB DEV","url":"https:\/\/thiagorossi.com.br\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/new-logo.webp","contentUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/new-logo.webp","width":300,"height":300,"caption":"THIAGO ROSSI"},"image":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/linkedin.com\/in\/thiagox86"]},{"@type":"Person","@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/person\/5f28286948ec2afdeb2e044a2196cd87","name":"Thiago Rossi","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g","caption":"Thiago Rossi"},"description":"Com mais de 20 anos de jornada na tecnologia, minha trajet\u00f3ria evoluiu do ensino t\u00e9cnico \u00e0 arquitetura de sistemas complexos. Hoje, foco minha expertise no desenvolvimento de solu\u00e7\u00f5es de Intelig\u00eancia Artificial nativa e an\u00e1lise de dados p\u00fablicos, utilizando o ecossistema PHP para transformar dados brutos em transpar\u00eancia e efici\u00eancia. Como autor e desenvolvedor, acredito na democratiza\u00e7\u00e3o do conhecimento. Essa vis\u00e3o resultou em uma biblioteca de mais de 530 artigos gratuitos, cobrindo desde a base do WebDev e Infraestrutura at\u00e9 os bastidores da ind\u00fastria de Jogos e IA. No universo de Game Design, sou autor do livro \"GDD \u2013 O Guia Definitivo\" e documento ativamente meus processos atrav\u00e9s de DevLogs, unindo rigor t\u00e9cnico e criatividade em projetos desenvolvidos com GDevelop 5. Meu compromisso \u00e9 conectar engenharia de ponta com as reais oportunidades do mercado de tecnologia.","sameAs":["https:\/\/thiagorossi.com.br\/blog","https:\/\/instagram.com\/thiagorossix86","https:\/\/linkedin.com\/in\/thiagox86"],"url":"https:\/\/thiagorossi.com.br\/blog\/author\/thiagorossi\/"}]}},"_links":{"self":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts\/6116","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/comments?post=6116"}],"version-history":[{"count":13,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts\/6116\/revisions"}],"predecessor-version":[{"id":6130,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts\/6116\/revisions\/6130"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/media\/5935"}],"wp:attachment":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/media?parent=6116"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/categories?post=6116"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/tags?post=6116"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}