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.
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