Ciência de Dados IA NLP
IA – Definições

Corpus – Conjunto de documentos e textos não estruturados

Anotação (Annotations) – Localizar e classificar elementos específicos no texto

TOKEN – Parte de uma sentença (símbolos)

POS (Part of Speech Tagging) – Adiciona tags a cada token, qualifica o token.

Lemmatizing (LEMMA) – traz a palavra na sua flexao exemplo é (ser)

Stemming – Corte o radical da palavra (amigo – amig)

dependency parsing (relação de dependencia)

ngram – palavras consecutivas (Bigrams e Trigrams)

Modelo – Modelos criados (banco de dados treinados para uso de dados)

IA NLP
Etapas do desenvolvimento de aplicações IA

Neste fluxo bem simplificado, apresentamos uma visão de criação de uma IA.

Na primeira etapa, escolhemos os dados e entendemos a qualidade e características desses dados.

Em projetos de IA, nem sempre temos prontos os dados, muitas vezes precisamos preparar e coletar tais dados.

Em um segundo faz a preparação dos dados, acertando problemas e ajustando os dados. Na vida real, é praticamente impossível pegar bases prontas de clientes. Muitas vezes as bases de clientes, exigem uma analise e pré processamento, para realizar ajustes ou cortes. Necessários para obter dados coerentes com que queremos analisar.

A próxima etapa é separar dados em treinamento e testes. Onde usa-se o bom senso para avaliar as escolhas dos dados. Sendo uma referencia 70 /30% , onde 70 % dos itens serão utilizados para treinamento e os demais, serão usados para teste. Levando sempre em consideração a diversidade dos dados tanto para testes, como para treinamentos. A escolha aleatória dos 30% garante uma melhor probabilidade de sucesso, pois evita selecionar modelos com caracteristicas próximas , que podem iludir ou derrubar as estatísticas dos resultados.

Treinamento

O treinamento consiste em pegar os dados e aplicar a um modelo de IA conhecido, podendo ser NLP , redes convulocionais, ou outros tipos como Grafos.

Nesta etapa cria-se as estruturas e linguagem necessária para gerar a rede treinada.

Testes ou Validação

Nesta etapa usa-se os dados para gerar as informações separadas para validar a rede criada.

Analisando os resultados a partir de respostas conhecidas.

Melhoria ou Validação

A partir da analise dos resultados, são de fato, avaliados duas decisões:

Finalização do projeto ou etapa

Retorno a etapa de codificação, ajustando técnicas ou processos para corrigir problemas identificados.

IA NLP
Spacy trabalhando com Matcher

Uso da biblioteca spacy para pesquisa de caracteres usando matcher.

#!pip install spacy
import spacy
import spacy.util
from spacy.matcher import Matcher
# Verifica se o modelo 'pt_core_news_sm' está instalado
if not spacy.util.is_package("pt_core_news_sm"):
    # Se não estiver instalado, baixa o modelo
    !python -m spacy download pt_core_news_sm
else:
    print("Modelo 'pt_core_news_sm' já está instalado.")

# Carrega o modelo de linguagem do spaCy
nlp = spacy.load("pt_core_news_sm")

# Cria o objeto Matcher e o vincula ao vocabulário do modelo de linguagem
matcher = Matcher(nlp.vocab)

def ContarOcorrenciasPalavra(palavra, lista_textos):
    # Ajusta a palavra para lowercase
    palavra = palavra.lower()
    
    total_ocorrencias = 0

   
    # Define o padrão para procurar a palavra, considerando a correspondência de texto exato em lowercase
    pattern = [{"TEXT": palavra}]
    matcher.add("PADRAO", [pattern])

    # Converte o texto para lowercase e processa com o spaCy
    doc = nlp(lista_textos.lower())
    matches = matcher(doc)
        
    # Para cada correspondência encontrada, imprime detalhes
    for match_id, start, end in matches:
            matched_span = lista_textos[start:end]
            print(f"Achou no Texto: {lista_textos}; Palavra: '{matched_span}' na POS: {start} até {end}")
            
            total_ocorrencias += 1

    return total_ocorrencias

textos = ["Neste exemplo de caso de uso.", "São exemplos de figura de linguagem aplicadas ao exemplo.", "Este exemplo possui um erro semantico.", "Tal qual o exemplo a seguir."]
for texto in textos:
    print("Texto:"+texto)
    ContarOcorrenciasPalavra("exemplo",texto)
    ContarOcorrenciasPalavra("uso",texto)
    ContarOcorrenciasPalavra("figura",texto)
    ContarOcorrenciasPalavra("aplicadas",texto)

Saída do programa ao rodar

Texto:Neste exemplo de caso de uso.
Achou no Texto: Neste exemplo de caso de uso.; Palavra: 'e' na POS: 1 até 2
Achou no Texto: Neste exemplo de caso de uso.; Palavra: 'e' na POS: 1 até 2
Achou no Texto: Neste exemplo de caso de uso.; Palavra: ' ' na POS: 5 até 6
Achou no Texto: Neste exemplo de caso de uso.; Palavra: 'e' na POS: 1 até 2
Achou no Texto: Neste exemplo de caso de uso.; Palavra: ' ' na POS: 5 até 6
Achou no Texto: Neste exemplo de caso de uso.; Palavra: 'e' na POS: 1 até 2
Achou no Texto: Neste exemplo de caso de uso.; Palavra: ' ' na POS: 5 até 6
Texto:São exemplos de figura de linguagem aplicadas ao exemplo.
Achou no Texto: São exemplos de figura de linguagem aplicadas ao exemplo.; Palavra: ' ' na POS: 3 até 4
Achou no Texto: São exemplos de figura de linguagem aplicadas ao exemplo.; Palavra: 'e' na POS: 6 até 7
Achou no Texto: São exemplos de figura de linguagem aplicadas ao exemplo.; Palavra: 'p' na POS: 8 até 9
Achou no Texto: São exemplos de figura de linguagem aplicadas ao exemplo.; Palavra: ' ' na POS: 3 até 4
Achou no Texto: São exemplos de figura de linguagem aplicadas ao exemplo.; Palavra: 'e' na POS: 6 até 7
Achou no Texto: São exemplos de figura de linguagem aplicadas ao exemplo.; Palavra: 'p' na POS: 8 até 9
Achou no Texto: São exemplos de figura de linguagem aplicadas ao exemplo.; Palavra: ' ' na POS: 3 até 4
Achou no Texto: São exemplos de figura de linguagem aplicadas ao exemplo.; Palavra: 'e' na POS: 6 até 7
Achou no Texto: São exemplos de figura de linguagem aplicadas ao exemplo.; Palavra: 'p' na POS: 8 até 9
Achou no Texto: São exemplos de figura de linguagem aplicadas ao exemplo.; Palavra: ' ' na POS: 3 até 4
Achou no Texto: São exemplos de figura de linguagem aplicadas ao exemplo.; Palavra: 'e' na POS: 6 até 7
Achou no Texto: São exemplos de figura de linguagem aplicadas ao exemplo.; Palavra: 'p' na POS: 8 até 9
Texto:Este exemplo possui um erro semantico.
Achou no Texto: Este exemplo possui um erro semantico.; Palavra: 's' na POS: 1 até 2
Achou no Texto: Este exemplo possui um erro semantico.; Palavra: 's' na POS: 1 até 2
Achou no Texto: Este exemplo possui um erro semantico.; Palavra: 's' na POS: 1 até 2
Achou no Texto: Este exemplo possui um erro semantico.; Palavra: 's' na POS: 1 até 2
Texto:Tal qual o exemplo a seguir.
Achou no Texto: Tal qual o exemplo a seguir.; Palavra: ' ' na POS: 3 até 4
Achou no Texto: Tal qual o exemplo a seguir.; Palavra: ' ' na POS: 3 até 4
Achou no Texto: Tal qual o exemplo a seguir.; Palavra: ' ' na POS: 3 até 4
Achou no Texto: Tal qual o exemplo a seguir.; Palavra: ' ' na POS: 3 até 4
IA NLP NLP Sem categoria
Grafos Teoria e Prática – Parte III

Neste artigo que é continuação do publicado:

Fiz algumas alterações e postei no git:

https://github.com/marcelomaurin/grafo01

Como Tensorflow e keras2.ipnb

Neste projeto, ainda não tem na totalidade o tensorflow.

Porem fiz uma série de melhorias no processo do grafo que justifica sua reapresentação:

No processo de apresentação, havia esquecido de incluir a excessao no código o que não mostrava os erros ou famosos desvios.

O desvio era um else, que ao fim ficou como apresentado a seguir:

Foi incluido tambem uma rotina de Excessão ,que é gerado em outra lista, diferente da de treinamento.

Ainda sim, temos um resultado expressivo, onde temos sucesso na maioria dos comandos.

Seguiremos em breve com outros artigos.

en_USEnglish