4
respostas

Criando uma IA para classificação de conversas

Olá, Eu vi a imersão da Alura e foi bacana, mas gostaria de saber mais sobre a parte de classificação

Eu estou pensando em fazer algo (ideias) mais para o lado classificações, até pensei em usar o chatGPT mesmo e passando o contexto (ou assistent lá da API mesmo) para ele

Fazendo alguns teste não ficou tão bacana, mesmo aplicando as regras de prompt e etc - a cada interação só iria crescendo mais e mais

Qual a necessidade? Em uma conversar teria algo como

Contexto: Pense em uma concessionária, que vai fazer pedidos em uma fábrica Legenda: Conversa será em negrito

Se ele não identificar nada, mandar para um humano atender algo assim Quando identificar que ele quer fazer um pedido Terá algo no sistema como: IA ele quer fazer um pedido Frase dele: quero um fiat toro 2022 e um fiat mobi 2021 1.0 Catálogo da concessionária:

{
    "carros": {
        "fiat toro": {
            "descricao":  "fiat toro 2022 bla bla bla",
            "preco": 100500.00
        },
        "fiat toro": {
            "descricao":  "fiat toro 2021 bla bla bla",
            "preco": 98500.00
        },
        "fiat toro": {
            "descricao":  "fiat toro 2023 bla bla bla",
            "preco": 108500.00
        },
        "fiat mobi": {
            "descricao":  "fiat mobi 2021 bla bla bla",
            "preco": 60000.00
        },
        "fiat mobi": {
            "descricao":  "fiat mobi 2022 bla bla bla",
            "preco": 75000.00
        }
        .
        .
        .
    }
}

O sistema basicamente tem que identificar o que pessoa quer:

  • Comprimentar >>> boa noite, bom dia, boa tarde, oi, olá
  • Falar com uma pessoa
  • Fazer o pedido >>> ele vai pedir itens que tem no catálogo, claro ele vai pedir como texto (conversa)
  • Se quer fazer um pedido, quais itens dentro do JSON
  • Ver se o pedido finalizou >>> quer pedir algo a mais? ai sistema jogaria o novo texto para identificar no catálogo de novo e assim vai até finalizar
  • Confirmar pedido >>> sim, isso, ok
  • Passou endereço de entrega >>> ele só anota e ver se parece um endereço, passo vários endereços para ele saber como é
  • Forma de pagamento >>> passo a formas de pagamento aceita pela fábrica em um JSON e ele ver qual o usuário escreveu (selecionou pela escrita)
  • Depois disso enviar o JSON montado pela IA para uma API

Terá uma API para o pedido, além de ter como cosultar as coisas nela, como catálogo e coisas assim, seria uma API REST normal

Pessoa: Olá boa noite Sistema: identificar que ele só comprimentou e perguntar em seguida qual o pedido dele Sistema: Boa noite, qual será o seu pedido hoje? Pessoa: quero um fiat toro 2022 e um fiat mobi 2021 1.0 Sistema: eu envio para a "IA" a conversa e o JSON com os automóveis da fábrica, e ela me devolve o JSON do pedido

"pedido": {
        "fiat toro": {
            "descricao":  "fiat toro 2022 bla bla bla",
            "preco": 100500.00
        },
        "fiat mobi": {
            "descricao":  "fiat mobi 2021 bla bla bla",
            "preco": 60000.00
        },

Eu jogo isso para um API ainda interna pego valores e etc somo E mostro o pedido Sistema: Ok, então você vai querer um fiat toro 2022 e um fiat mobi 2021 Total do pedido: 160500.00 é isso mesmo? Pessoa: sim Sistema: Qual o endereço de entrega? Pessoa: rua tal, 25, centro, são paulo, sp Sistema: Qual forma de pagamento? Pessoa: transferência Sistema: Apresenta o pedido novamente e pede para confirmar Pessoa: sim Sistema: dispara o pedido montado em JSON para a API Sistema: Seu pedido foi feito, obrigado

_

Penso em fazer não algo como chatGPT

Mas em classificar as coisas e passar para próxima etapa

O que eu teria que estudar na Alura para fazer algo assim?

Já estou alguns dias vendo sobre inteligência artificial, machine learning e etc. E vários modelos no tensorflow, keras e algo nessa ideia Mas ainda não consegui ver um passo a de coisas que tenho que fazer

Algum norte? Desde já obrigado pela pela ajuda

4 respostas

Olá Ewerton!

Fico feliz em saber que você está interessado em criar um sistema robusto de classificação de conversas. É um projeto bastante interessante!

Mais do que um norte para ti, acredito que seja uma boa verificar o seguinte o link que é o tech.guide um "manual" para aprender e se aprofundar no conteúdo.

Outro ponto importante é entender como construir um pipeline de processamento de conversas. Isso envolve identificar as intenções do usuário, extrair informações relevantes e tomar decisões com base nesses dados. Você pode estudar sobre técnicas de pré-processamento de texto, como tokenização e lematização, e também sobre algoritmos de classificação, como Naive Bayes e SVM.

Lembre-se de que criar uma IA para classificação de conversas é um processo iterativo. Você precisará treinar e ajustar seu modelo com base no feedback e nos resultados obtidos. É importante também ter um conjunto de dados de treinamento adequado, que represente as diferentes intenções e contextos que você deseja classificar.

Espero que essas dicas te ajudem a dar os primeiros passos nesse projeto. Lembre-se de que a jornada de aprendizado é contínua e que você pode contar com a comunidade Alura para te ajudar ao longo do caminho.

Espero ter ajudado, qualquer dúvida, me coloco à disposição! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Obrigado Victor pelo retorno,

O tech.guide é ótimo Não para queimar etapas, mas para adiantar daquelas opções do tech.guide quais seriam as mais necessárias em saber para o que comentei acima?

Pelo menos para eu conseguir fazer um MVP em uns 2 meses pelo menos :) Programação já tenho bastante experiência, a base e etc

Processamento de Linguagem Natural seria igual ao técnicas de pré-processamento de texto, como tokenização e lematização Esse nomes (Naive Bayes e SVM) vou guardar rsrs

Att

Sobre os dados pensei em armazenar todas as interações iniciais e ir usando elas para treinar mais ainda. De começo já vou ter bastante informações, consigo pegar bases de conversas para fazer essa "classificação" (treinamento)

E claro depois creio que tenho que ficar jogando as novas interações e classsificando novamente até eu ver que está legal os acertos ou talvez fazer de uma jeito que seja contínuo (li um pouco mas ai fiqeui com algumas dúvidas ainda).

Olá Ewerton, tudo bem?

Peço desculpas pela demora em obter um retorno

Como você já é capaz de nadar em águas rasas rs, acredito que seja o momento ideal para explorar novos desafios na profundidade 3. Nesse nível, a programação é menos mencionada e a automatização começa a se tornar mais difundida. Há uma vasta quantidade de conteúdo disponível, abrangendo diversos tópicos que acredito que você vai gostar bastante, e acredito que ela pode lhe auxiliar na compreensão que esse treinamento lhe gerou, de forma mais teórica.

No mais Ewerton, lhe desejo muito sucesso, um abração!