[Música] Olá pessoal tudo bem então agora a gente vai fazer a nossa aula prática sobre embeldes né Vamos utilizar como nas outras vezes o google colab para poder realizar Essas atividades tá então eu vou abrir de novo a gente tem feito durante o curso vou abrir aqui o nosso o nosso browser utilizar o collab vou desenvolvendo com vocês né rodando com vocês o passo a passo dos algoritmos as estruturas para que a gente consiga realizar Essas atividades práticas aí então tá bom vamos começar Então pessoal Então pessoal essa nossa aula prática ela tá dividida em duas partes tá na primeira parte a gente vai fazer o download e utilizar o ordem beliens que já são pré treinadas né ou seja já foram construídas e a gente só vai fazer download delas e utilizar Tá e isso é bastante comum né então é importante a gente ver como é que se faz isso na prática tá e na segunda parte da aula a gente vai então criar as nossas próprias ordem beds a partir de um corpos né então a gente vai definir o tamanho todas as ml que a gente vai querer Criar e a gente vai ver isso também com detalhe nessa segunda parte tá bom bom para utilizar então nessa primeira parte as ordens pré treinadas né a gente tem algumas delas já disponíveis aqui para língua portuguesa né então coloquei aqui para vocês algumas opções nessas duas opções aqui né que é o milk ou Muse tá E então os links aqui tudo bem definidos para vocês darem uma olhada tá a gente escolheu essas do neuk né que foram treinadas com Grove né e as instruções estão tudo lá na página do neuk né que estão disponibilizado para vocês se vocês quiserem ver alguns detalhes tá esse primeiro comando aqui pessoal Caso vocês tenham algum problema com um pacote na hora de executar o notebook eu coloquei ele aqui vocês descontem e executem ele que se tiver faltando ele vai instalar os pacotes que a gente precisa aqui para poder rodar Esse notebook tá no meu caso aqui já tá comentado porque já tá tudo instalado eu não vou rodar ele esse notebook inteiro né então eu já deixei aqui o comentário mas depois vocês fiquem à vontade aí para fazer de acordo com a necessidade de vocês tá o comando logo abaixo aqui pessoal então é para fazer o download Dessas ideias aí que eu falei para vocês né que são para treinadas né então aqui é o link né a gente dá um w get aqui com a exclamação na frente ele vai fazer o download para a área de vocês do Colar e tá se vocês já tiverem depois podem comentar também essa linha tá eu só deixei aqui para vocês verem que que acontece quando a gente faz esse download então ele tá fazendo download colocando num arquivo chamado Glove s300. ip tá porque nesse caso especificamente o nome quer dizer algo né que é o tamanho das mblins que a gente tá utilizando aqui né são 300 300 posições tá uma vez que ele fez esse download do arquivo ponto Zip Então a gente vai ter esse arquivo ponto Zip aqui da restrição tá toda detalhada aqui para vocês né na conta do colab de vocês aí vocês podem descompactar usando esse outro comando que eu coloquei aqui que é o zip né então a gente vai descompactar esse cara aqui que é um arquivo ponto Zip e no final das contas a gente vai ter um arquivo ponto TXT que tá aqui né Glove underline s300. txt e aí a gente começa a nossa prática aqui né primeiro a gente vai importar né a nossa biblioteca Jasmim então aqui a gente vai fazer essa leitura né no formato correto né adequado utilizando a função que já tem aqui no próprio Jasmim né e ele vai fazer a leitura adequada do formato desse arquivo para colocar em ordem bens né porque foi utilizado World track aquele método que a gente aprendeu né para poder gerar uma vez que a gente fez isso Beleza a gente vai lá e dá uma olhadinha por exemplo aqui né como é que é a representação da palavra rainha e a gente vai ter aqui um vetor com 300 posições né esses aqui são as ideias dessa palavra aqui tá a gente tá imprimindo né como a gente como Eu mencionei para vocês que a gente tá usando de tamanho 300 então ele vai ter um vetor de 300 posições aqui claro que a gente não vai conseguir olhar uma por uma né mas é importante aqui você sabe o que que significa tá depois vocês podem fazer outros testes com outros em outras palavras para vocês verem que vai mudar esse vetor né então a gente consegue por exemplo também aqui utilizar umas funções que já tem prontas aqui nessa biblioteca né para calcular similaridade por exemplo entre duas palavras e aqui ele tá imprimindo né 0.
64 Essa similaridade aqui entre rei e rainha só para a gente ter uma ideia de como isso pode ser feito tá bom tem outras formas aqui também da gente fazer algumas consultas né não necessariamente fazer um cálculo da similaridade entre duas palavras mas a gente pode também encontrar Qual é a palavra mais próxima né mais similar a uma outra determinada palavra né então aqui por exemplo a gente tá fazendo antes disso a gente tá fazendo uma operação aqui a gente consegue ver lembra que eu falei para vocês na nossa aula que uma das vantagens a gente usar e a gente permitir né possibilidade esse tipo de situação que a gente tá vendo aqui por exemplo se a gente pegar o nosso MB da palavra somar com a impene da palavra rei e diminuir a ideia da palavra homem vai nos vetor mais próximo né utilizando aquela função de mais que Eu mencionei para vocês tentar encontrar o mais próximo a esse cara aí é esse esse essa operação aqui o resultado dessa operação né vai nos retornar aqui a palavra rainha é tem um sentido semântico bem interessante aqui né Porque se é mulher e é rei mas não é homem então a gente o que que sobraria rainha né então é bem interessante esse tipo de operação né porque a gente aplicando aqui o método para tentar encontrar Qual é a palavra mais similar a essa operação que a gente viu aí né somando mulher e rei e diminuindo o homem né então aqui a gente coloca Quais são as palavras que estão positivas né então fazendo a soma né que as negativas né ela é equivalente a gente fazer essa operação aqui que a gente tá vendo né e o resultado aqui vai ser então a palavra rainha né que é bem interessante esse essa esse teste né E aqui se a gente quiser fazer também com isso de forma análoga né somar com adiando e diminuir odiar vai sobrar Amanda né também tem um sentido semântico bem interessante né então é só vocês podem fazer outros testes também naturalmente né vão mudando essas palavras e vendo o que que vocês podem encontrar aí de exemplos né é interessante nesse sentido né a gente pode simplesmente tentar encontrar Quais são as n palavras mais próximas né de um de uma determinada palavra então aqui a gente o nosso n o nosso vetor de fogo é um é de tamanho 10 né importante também que aquele utiliza sempre como padrão né a similaridade de cosseno para vocês anteriormente né mas por padrão aqui o tipo de sinalidade que a gente está calculando é assimilaridade coceira Então se a gente for pegar imprimir as 10 mais próximas a palavra escola ó o que que a gente tem aqui ó alunos escolas ensino Colégio faculdade e assim por diante né Tá na ordem aqui decrescente né de similaridade né a gente vê até que a palavra aluno se ela se encontra mais próxima a palavra escola do que a palavra escolas né é um caso interessante aí né de acordo com essas ideias que foram geradas né e a gente carregou né a gente também pode calcular o valor de sinalidade entre duas palavras né então a gente pode colocar aqui por exemplo quanto essa melhor com essa similaridade entre menino e menina e aqui ele vai nos dar o valor de 0. 7 cosseno que nem eu falei para vocês né a gente pode também verificar qual palavra que destoa de um grupo de outras palavras né no caso aqui quatro né então ele vai ter nesse caso aqui é menino menina cão e garota ele vai lá e disse que diz estou aqui é cão né de fato o menino menina e garota eles têm muito mais relação do que com cão né e é interessante que ele encontra isso também tá bom outra aplicação interessante aqui né a gente verificar similaridade entre sentenças a gente pode fazer isso também utilizando essas ordem belles né então aqui nesse exemplo a gente tá usando três sentenças né A primeira delas que é um menino foi para escola de ônibus né e a gente quer fazer uma comparação dessa sentença com outras duas a primeira seria Ana foi para a escola ontem e a segunda seria a menina foi para casa então a forma que a gente utiliza aqui né vocês vão ver as funções a gente acaba fazendo um split né a gente passa tudo para minúsculo faz split e acaba que essa similaridade calculada aqui é calculada sobre o conjunto de palavras né que a gente tá colocando aqui a gente sabe que cada palavra vai ter uma ideia de tamanho 300 né O que que a gente coloca aqui então né como resultado a similaridade da nossa sentença original lá com essa primeira e com a segunda e a gente vê que a primeira ela é mais próxima a nossa sentença né Ela é mais próxima a essa segunda do que essa primeira que a gente apresentou né então o menino foi para a escola de ônibus é mais próxima a frase a menina foi para casa né do que Ana foi para escola ontem né porque como é que ele o que que ele faz para chegar nesses resultados ele faz na verdade a similaridade entre as palavras que compõem essa sentenças né então tem alguns exemplos aqui para vocês né Vocês podem depois mais uma vez né É reinfatizando aí testar com outra sentenças para ver o que que vai dar bom E aqui por último Então né ainda utilizando as amperes treinadas né a gente vai utilizar fazendo uma carga aqui do modelo treinado com palavras em português né então esse cara aqui é um modelo né o modelo que é utilizado que a gente dá Nossa nosso texto na entrada iremos nos gera as ordens né baseado nisso né então a gente também tá utilizando um já carregando um que já existe né esse modelo para treinar né E aqui estão as instruções para vocês treinar o comando né que vocês treinarem não desculpa para vocês fazerem o download dele né e a forma se faz a carga a gente passa esses parâmetros aqui ele já faz a carga diretamente a partir dos pacotes que a gente tá usando aqui né tá fazendo os downloads e até uma questão importante aqui Pessoal esse device aqui nesse caso aqui a gente tá carregando modelos pré treinados né mas isso aqui é vocês podem utilizar em outras situações também né que é o que se a gente tá ou não utilizando o GPU aqui no nosso no nosso colado isso vocês já sabem mas eu vou só relembrar vocês que a gente se a gente tiver aqui em Run time e escolher o change a gente tem algumas opções aqui né de usar CPU ou GPU no caso meu aqui eu tô usando GPU Mas vocês podem provavelmente vão estar usando GTU nesse caso aqui especificamente não vai mudar muita coisa porque a gente não tá realizando treinamento de depilani mas quando acontecer isso de redes Profundas nas próximas aulas a gente provavelmente vai ver isso aqui vale mais a pena a gente ter o GPU porque é muito mais rápido fazer esse treinamento né dessas redes Profundas né então no caso aquele tá pegando de forma automática né eu mandei imprimir aqui no meu ele tá usando o cu da porque na verdade ele tá um GT1 instalada né Então quando vocês não vai fazer tanta diferença em tempo de execução né Mas pode ser que nas próximas aulas Faça a diferença em tempo de execução para vocês né feito isso a gente já tem nosso modelo aqui carregado né com essas palavras em português tá E aqui que que eu tô fazendo né tô fazendo o seguinte eu vou colocar esse texto aqui na entrada desse modelo né penso Pense por enquanto que é uma caixinha preta que a gente coloca o a sentença na entrada na saída ele vai nos dar usembeddens que representa esse texto né as palavras dessa sentença que a gente tá colocando aqui né então o que que a gente vai ter na saída aqui me passando esse texto eu vou ao banco pagar a conta hoje a gente vê que ela tem nove tokens né contando o ponto aqui a gente não tava fazendo remoção de Stop Words nada então a gente vai pegar esses Nove essa sentença com essas nobres palavras aí vamos colocar esse cara na entrada do nosso modelo e na saída ele vai nos dar aqui né Se vocês forem ver uma matriz 9 por 1024 porque porque esse modelo para é treinado aqui ele gera em banner de tamanho 1024 né lembra que a gente carregou anteriormente ali em Belém já geradas de tamanho 300 nesse caso aqui ele gera para nós nesse modelo de tamanho 24 então aqui eu vou ter essa Matriz né 24 sendo que cada essas linhas cada uma dessas nove linhas é o embene de uma daquelas palavras né daqueles tokens daquela frase que a gente colocou como entrada Tá bom então só para vocês terem ciência do que que está sendo feito aqui tá já na segunda parte da dessa na sala prática pessoal a gente vai gerar nossas próprias worlding balens tá então aqui a gente vai precisar de um corpos né então a gente vai utilizar a gente vai ter uma semana inteira só para tratar de análise de sentimentos né mas só para antecipar para vocês né esse daí tá certo que eu tô fazendo download aqui é o data 7 de tweets né que tem como resultado para cada Twitch que foi que foi colocado nessa base de dados né Tem uma análise de sentimentos como um sentimento como positivo ou negativo né então aqui a gente tá fazendo download né desse desse arquivo mesmo esquema que anteriormente fazendo download aí descompactando esse arquivo quando a gente descompacta esse arquivo que que a gente vai ter aqui no final né vai ter um arquivo ponto csv aqui no caso tá e aqui a gente vai utilizar o pandas né que vocês já viram também que é bem útil né Para a gente mostrar esses nossos dados carregar esse nosso csv não deita frame aqui né e aqui eu tô colocando para vocês os 10 primeiros linhas Desse nosso arquivo né mostrando o que que tem né para ter o conteúdo desse arquivo então a gente para cada Twitch a gente vai ter um identificador vai ter a data daquele daquela postagem né E qual é o sentimento se é positivo ou negativo etc tá o que que nos interessa aqui nesse caso agora pessoal não é nem o resultado que a gente só quer analisar os tweets né quer pegar esses caras que estão aqui são é o nosso corpos né são esses textos né Essa sentenças cada uma delas é um Twitch né então só para a gente ter uma ideia aqui se a gente quiser pegar a terceira linha né que é o de posição dois daquela daquele nosso conjunto de dados ali a gente vai ter aqui né só queria conseguir comer alguma coisa para poder dormir sorrisinho né É bem típico dos tweets né então depois disso eu vou passar aqui um pouco mais rápido porque a gente já trabalhou bastante e isso em outras aulas né a gente vai utilizar o nltk para fazer o pré-processamento Então a gente vai ler né e armazenar todas essas sentenças no nosso corpo a gente está criando ele a partir daquele daquele conjunto de dados que a gente Carregou agora né então vamos transformar tudo para minúscula remover Stop Words e os tokens que não tem letras nem números e tal e nisso a gente vai ter um total aqui de 7 mil 785 mil e 814 sentenças né bem grande tá então feito isso após o que a gente o que a gente essa nossa todo esse processamento né a terceira sentença por exemplo ficou dessa forma aqui né aquela mesma frase que eu tinha colocado agora tá tudo em minúscula e algumas coisas saíram aqui né ponto por exemplo né tá feito isso pessoal a gente já tem o nosso corpos agora que a gente vai fazer a gente vai gerar nossas ordens como é que a gente gera essas nossa ordem média e assim a gente vai usar aqui um dos algoritmos que a gente viu né que é o Word Truck a gente viu que esse algoritmo é um algoritmo de é uma rede neural artificial né que é utilizada para poder gerar essas ordenadas e etc né então o que que a gente tá fazendo aqui nesse caso especificamente a gente tá treinando mesmo a gente tá passando corpos Como que essa nossa variável sentenças aqui como parâmetro mas outros parâmetros das raízes reais artificiais que a gente vai trabalhar vocês vão entender melhor às vezes artificiais nas próximas semanas tá E aí a gente vocês vão entender um pouco mais sobre o que que significa cada um desses parâmetros mas basicamente O que que significa a gente tá passando para para esse nosso é World aqui o Corpus que a gente quer utilizar no treinamento e essa rede neural então ela vai ajustar os pesos dela vai se modelar né Durante algum tempo vai realizar esse treinamento para que a partir dessas nossas sentenças ela aprenda né Essas ordens que a gente tá gerando então ela vai gerar essas ordens para nós certo feito isso a gente vai ver aqui a quantidade de palavras que foram geradas né com essas ordem bens né a gente imprimindo esse atributo aqui do método do nosso objeto né do nosso modelo a gente vai ver que ele gerou 83.