Skip to content

Compartilhando algumas dicas e estudos de IA e ML usando ElasticSearch, SingleStore/MemSQL, Python e ferramentas/framework de IA/ML para facilitar o trabalho de quem está iniciando nessa área. Divirta-se!

Notifications You must be signed in to change notification settings

luizanisio/estudando-ia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 

Repository files navigation

estudando-ia

Consolidando algumas dicas e estudos de IA e ML

Resolvi consolidar alguns resultados de estudos realizados com o uso de elasticsearch e python e ferramentas/framework de IA/ML para facilitar o trabalho de quem está iniciando nessa área. Esse não é um trabalho acadêmico e não visa esgotar todo o assunto, é um espaço de compartilhamento de conhecimento adquirido.
Divirta-se!
Coloquei o ano na referência de alguns conteúdos para refletir a linha de tempo.

💡 Minha pequena reflexão sobre aprendizado de máquina vs humano:

  • 🖥️ A máquina identifica padrões para responder a uma nova informação com dados usados no treino e sugere respostas prováveis com base nos dados selecionados por humanos para esse treinamento. Sua capacidade de aprendizado é limitada aos padrões identificados nos dados selecionados para o treino, e que precisam ser atualizados de tempos em tempos com dados de qualidade, exigindo esforço humano para isso. É uma ótima opção para tarefas simples e repetitivas. A máquina não se cansa de fazer a mesma coisa da mesma forma indefinidamente.
  • 👤 Humanos identificam padrões para responder a uma nova experiência ao comparar as informações disponíveis com uma rica e complexa bagagem cultural, pessoal e profissional através da sua estrutura filogenética, podendo buscar e interpretar novas fontes de informação e acrescentá-las quase em tempo real à sua experiência de vida, permitindo sugerir respostas mais adequadas aos novos contextos. Sua capacidade de aprendizado é praticamente ilimitada, o limite é o tempo e o desgaste biológico no processo de aprendizado.
  • 👉 O objetivo dos projetos de IA é liberar humanos de tarefas repetitivas, simples e que exigem pouca inteligência na sua execução, para que esses humanos possa realizar melhor tarefas realmente inteligentes.

⚠️ É sempre bom lembrar que a máquina não aprende como o ser humano aprende, ela não vai absorver conhecimento dos dados, textos ou imagens apresentados no treinamento e nem vai interpretá-los com base na sua bagagem filogenética, ontogenética e cultura. O que vemos como resultado de vários cálculos assemelha-se em alguns momentos ao que vemos como resultado de comportamentos humanos encobertos (processos intelectuais, pensamentos, interpretações, etc), o que faz parecer que existem processos humanos acontecendo também dentro da máquina. Colocando uma máquina em um "corpo humanóide", logo surge a ideia que as máquinas estão muito próximas de se tornarem humanas. 🚫

O que você pode encontrar por aqui:

Alguns tópicos abordados aqui com exemplos funcionais e dicas de como evoluí-los e usá-los no dia-a-dia. Estão mais próximos de receitas do tipo pegar, analisar, adaptar e usar. Sempre que possível estarei incluindo novos estudos e códigos funcionais.

  • 2023 Doc2VecRapido e Doc2BertRapido são duas classes que simplificam o uso de um modelo Doc2Vec ou de um modelo BERT. Doc2VecRapido é mais simples que o Doc2VecFacil no treinamento de um modelo personalizado (com poucas configurações), usando o framework Gensim 4.0.1. Também está disponível a classe AgrupamentoRapido que permite clusterizar documentos vetorizados com qualquer modelo e gerar uma planilha excel com o resultado. Veja também algumas dicas de como realizar pesquisa vetorial no SingleStore/MemSQL e no ElasticSearch.

  • 2022 Serviço-OCR ainda em um formato de prova de conceito (nov/2022). O objetivo do Servico-OCR é analisar a qualidade, performance e regiões identificadas pelo Tesseract para permitir a criação de regras ou treinamento de modelos para identificar regiões como Citações, Estampas laterais, Cabeçalho e Rodapé. A identificação pode ser feita por regras simples, como margens em páginas padronizadas (A4, Carta, Legal etc). E também pode ser identificado por repetições de textos em áreas específicas, como cabeçalhos e rodapés. Quando as regras não forem suficientes, pode-se treinar um modelo com as informações mapeadas pela extração, como número de palavras, bordas, margens, posicionamento, dentre outras.

  • 2021 Elasticsearch fácil e preciso como transformar o uso de operadores simples e de proximidade de termos em consultas robustas do ElasticSearch sem que o usuário precise conhecer a sintaxe do ElasticSearch, veja aqui: PesquisaElasticFacil , incluindo dicas de queries mais robustas do ElasticSearch para proximidade de termos, veja aqui: ElasticQueries.

  • 2022 Doc2Vec criando um modelo de forma fácil um componente que simplifica a criação de um vocab para treinamento do Doc2Vec e a curadoria do modelo em treinamento usando o framework Gensim 4.0.1, veja aqui: Doc2VecFacil, com alguns componentes para criar e fazer curadoria de ngramas, transformação de termos durante a tokenização, dentre outros. E algumas dicas de como realizar pesquisa vetorial no SingleStore/MemSQL e no ElasticSearch

  • 2022 PesquisaTextualBR um componente de pesquisa textual implementado com recursos em python puro com o uso de dicionário de sinônimos e distância entre termos pesquisados. Permite criar regras de pesquisa para rotulação de texto semelhante a um classificador multilabel só que com regras no lugar de um modelo treinado. Veja aqui PesquisaTextualBR.

  • 2019 Elasticsearch utilizando o elasticsearch na classificação de documentos, identificação de fluxos de trabalho e textos relacionados (dicas, faq, etc). Uma forma simples, sustentável e rápida de implementar um classificador com bons resultados, sem a necessidade de geração e atualização de modelos. Classificador Elastic. Se combinado com vetores usando o Doc2VecFacil, pode trazer resultados ainda mais precisos.

  • 2019 Elasticsearch + sklearn (comparação e resumo de documentos) utilizando o elasticsearch para comparar dois ou mais documentos, e para sumarizar documentos encontrando as sentenças relevantes do mesmo, sem precisar guardar os documentos no elastic. Incluí também um exemplo de comparação de documentos com shingles, stop words, tfidf etc em 3 linhas usando o Sklearn. A principal diferença é que o sklearn usa os próprios documentos para a identificação dos termos relevantes (neste exemplo), e com o elastic usamos os algoritmos do elastic para calcular os termos relevantes em seu conjunto de documentos e usando os analisadores que criarmos (com seu stemmer, stopword, sinônimos etc). Da mesma forma podemos calcular os pesos de cada sentença de um documento e criar um algoritmo de resumo por extração. Comparador Elastic

  • 2019 Criando vetores de palavras (word2vec) com Gensim para tratar similaridade textual em domínios específicos com o uso do Spacy. Incluindo a visualização do universo de termos usando o tensorboard. Ainda é possível gerar um dicionário de sinônimos para ser usado no elasticsearch. Word2Vec com Spacy

  • 2019 Em elaboração (estou organizando os códigos): algumas dicas e exemplos práticos de treinamento em redes neurais utilizando a biblioteca Spacy (criando modelos de extração de entidades, dependência entre elas e classificação de textos). O Spacy é uma ferramenta poderosa e relativamente simples de usar. Spacy Treino

  • 2019 Em breve: esse código ainda não está completo, mas estou elaborando um workflow de treinamento para o Spacy, permitindo a geração, atualização e deploy de modelos gerados no Spacy. A ideia é ter uma interface de marcação de entidades, dependências e classificações, tendo um motor atualizando os modelos e permitindo testes e deploy dos mesmos de forma automatizada. Se eu achar um antes de fazer, vou postar aqui.

Links interessantes:

2021

Ferramentas

2020

Docker:

2019

Cursos gratuitos básicos:

2021

Cursos acessíveis básicos:

2021

2022

Cursos gratuitos mais específicos/avançados:

2022


Agradecimentos

  • Estou consolidando aqui estudos na área de IA/ML e cada código ou exemplo tem a participação direta ou indireta dos meus colegas de trabalho Rodrigo López, Thiago Gomes e Amilar Martins, que me apresentaram ao mundo IA, e Rhodie Ferreira e Virgínia Martins que não se cansam de estudar e contribuir com todos a sua volta, tanto no âmbito profissional como pessoal. E de grandes profissionais como o Ricardo Bernardes, João Bosco e Osmar que contribuem diariamente para o meu aprendizado em códigos e soluções diversas. E o meu padrinho Prof. Dr. Luciano Vieira Lima que desde sempre me dá dicas importantes em todas as áreas técnicas ou não.

About

Compartilhando algumas dicas e estudos de IA e ML usando ElasticSearch, SingleStore/MemSQL, Python e ferramentas/framework de IA/ML para facilitar o trabalho de quem está iniciando nessa área. Divirta-se!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published