Este projeto implementa um sistema de reconhecimento de padrões em listas de tarefas usando expressões regulares em Ruby. O objetivo é extrair informações estruturadas a partir de descrições de tarefas em linguagem natural.
O sistema é capaz de reconhecer e extrair os seguintes elementos de uma lista de tarefas:
- Formatos suportados:
10 horas1 hora10:3010 30às 10:30às 10 30às 10
- Reconhece:
- Datas específicas:
28 de Fevereiro,13 de agosto de 2021 - Formatos de data:
30/01,20/04/2022 - Datas relativas:
hoje,amanhã,depois de amanhã,segunda-feira,terça-feira,quarta-feira,quinta-feira,sexta-feira,sábado,domingo,
- Datas específicas:
- Identifica tags precedidas por
# - Exemplos:
#casa,#trabalho
- Extrai URLs completas
- Exemplo:
https://sp.senac.br/pag1#teste?aula=1&teste=4
- Reconhece endereços de email
- Exemplo:
jose.da-silva@sp.senac.br
- Identifica ações como:
agendar,marcar,ligar - Seguidas de conectores como:
com,e,ou, - Detecta pessoas associadas à ação
- Exemplos:
agendar com Pedromarcar com Joséreunião com Mariareunião com Pedro e João
listas_tarefas = [
"Agendar com Maria reunião às 14:00 hoje #trabalho maria-da-silva@hotmail.com",
"Marcar com João revisão do projeto às 16:30 amanhã #revisao #projeto"
]
reconhecer_lista(listas_tarefas)tarefa = 'Agendar com José reunião às 10:00 amanhã #trabalho'
reconhecer_lista(tarefa)1º Tarefa:
Ações: Agendar
Pessoas: Maria
Data: 26/03/2025
Horário: 14:00
Tags: trabalho
Emails: maria-da-silva@hotmail.com
URLs: não encontrado
2º Tarefa:
Ações: Marcar
Pessoas: João
Data: 27/03/2025
Horário: 16:30
Tags: revisao, projeto
Emails: não encontrado
URLs: não encontrado
- Ruby 2.7 ou superior
- Biblioteca padrão
datepara pegar os diashoje,amanhãedepois de amanhã
Sinta-se à vontade para abrir issues ou enviar pull requests para melhorar o sistema de reconhecimento.
Made by Phelipe Pereira 💜