Sobre a base de conhecimento em src/brain/prolog-controller/database
Os fatos disponíveis nos programas dispostos neste diretório são:
regiao(?Nome:string, ?QuantidadeEstados:int)
estado(?Nome:string, ?Sigla:string, ?NomeRegiao:string, ?NomeCapital:string)
tamanho(-EstadosEAreas:list(NomeEstado-Area))
municipio(?Nome:string, ?NomeEstado:string)
questao(?Pergunta:string, -RespostaDada:string, -UsernameAutor:string, -IdAutor:int, -Votos:int, -Ano:int)
Pensando nos fatos em termos de tabela, o esquema do banco de conhecimentos fica da seguinte forma no modelo relacional:
crie um bot | instale |
clone este repositório
git clone https://github.com/micalevisk/siege-telegram-bot
|
🙏
npm install
|
- Altere o nome do arquivo
.env.example
para.env
; - Altere o conteúdo do arquivo renomeado para adicionar o token do seu bot (recuperado ao criar o bot);
- Execute
npm start
no terminal.
As perguntas listadas a seguir contém apenas sentenças que o bot entenderá (InSeNsÍvEl aO cAsO)
- as perguntas tenta ser o mais breve possível (sem gerar ambiguidade)
- algumas palavras podem ser substituídas por seus sinônimos mais comuns (além de versões sem acentuação)
- palavras entre colchetes indicam que estes são opcionais; a barra indica uma alternativa
- os substantivos próprios devem iniciar em maiúsculo (como manda a gramática)
- palavras em destaque são consideradas "variáveis"; representam apenas o conceito
- a interrogação no final da pergunta é indiferente para a compreensão do bot
- espaços excedentes são ignorados
- qual [é] [a] capital/sede/metrópole do/de/da
Estado
Município
é [a] capital/sede/metrópole de qual/algum estado?Município
é [a] capital/sede/metrópole do/de/daEstado
- Existe/Há algum estado cuja [a] capital/sede/metrópole tem/possua o mesmo nome do estado?
- O [estado [do/de/da]]
Estado
tem/possui quantas/quantos cidades/municípios? Estado
/Município
está/fica [localizado] em qual/que região?
- O símbolo '+' indica que a variável (que segue) deve ser uma entrada, i.e., ter valor.
- As querys terminadas com ponto final já estão no formato exato, i.e., estão prontas para serem executadas.
no. | query |
---|---|
1 | capital(+Estado, NC) |
2 | capital(NE, +Município) |
3 | capital(+Estado, +Município) |
4 | findall(E, capital(E,E), +Quais), list_nonempty(+Quais, +Existe) |
14 | municipios(+Estado, Municipios), length(Municipios, QtdMunicipios) |
17 | regiao_de(+Nome, Regiao) |