Melhorando a Gabriela, a amiga da Loritta

Publicado às 25/03/2018 16:20

This content is not available in your language... So if you don't understand the language... well, at least you can appreciate the pictures of the post, right?

Gabriela, a amiga da Loritta e seus dados

Após o post falando sobre a Gabriela, o meu clone do SimSimi, eu deixei a Gabriela pública para qualquer um usar na Loritta, para ver o que iriam achar e para ver se encontrariam problemas nela...

Neste post eu irei falar algumas mudanças que eu fiz na Gabriela para deixar ela melhor e mais parecida com o SimSimi!

Comparar as palavras usando uma array, e não baseando na palavra

Como eu falei no post passado, o SimSimi não responde exatamente a sua pergunta, as vezes ele tenta responder apenas algo parecido com o que você deseja, por exemplo:

Você conhece o Sans do Undertale?

Se o SimSimi não estiver programado para responder isto, ele irá responder Você conhece o Sans?

Você conhece a Nilce do Leon?

Se o SimSimi não estiver programado para responder isto, ele irá responder Você conhece a Nilce e o Leon?

Enquanto a Gabriela sabe responder igual ao SimSimi no primeiro caso, ela não sabe responder igual ao SimSimi no segundo caso.

Para corrigir isto, é necessário separar as nossas frases em alguma outra coisa... Isto terá que jogar fora o sistema atual e trocar para um sistema baseado em arrays, por exemplo:

Você conhece a Nilce e o Leon?

Será separado em... (nós iremos ignorar palavras pequenas)

voce, conhece, nilce, leon

Ou seja, ao perguntar Você conhece a Nilce do Leon?

Será separado em...

voce, conhece, nilce, leon

Fazendo que ela responda a pergunta que foi ensinada anteriormente!

Para fazer isto, eu tive que remodelar como ela estava salvando as mensagens na database, em vez de salvar a mensagem, eu separei todas as "partes" das mensagens em uma lista, para depois verificar "olha, se tem pelo ou menos um argumento de nossa pergunta na pergunta salva, pegar ela!"

/assets/img/gabriela-update/split_up.png

/assets/img/gabriela-update/updated_example.gif

Adicionar sistema de upvotes e downvotes nas mensagens

Muitas pessoas adicionam frases consideradas "idiotas" ou "nada a ver" na Gabriela, fazendo que ela responda coisas sem sentido.

Agora existe um sistema de upvotes e downvotes, quanto mais upvotes uma mensagem tem, mais chances dela aparecer na hora que perguntar sobre aquilo para a Gabriela.

Ou seja...

peso = upvotes + downvotes

E na hora de escolher, a Gabriela analisa o peso da mensagem, para deixar respostas nada a ver de "lado" e pegar apenas as melhores respostas.

Não permitir enviar respostas iguais (ou bem similares)

Para evitar alguém enviando a mesma mensagem toda hora, agora ela verifica se existem algumas respostas iguais que já existem.

/assets/img/gabriela-update/too_similar.gif

Guardar quem enviou a resposta

Igual no SimSimi, agora ela guarda quem enviou a resposta.

Atualmente não serve para nada, mas futuramente poderá possível ver quem enviou a resposta que a Gabriela respondeu!

Remover links nas respostas da Gabriela

Para evitar pessoas fazendo spam de links nas respostas da Gabriela, ela irá automaticamente remover qualquer tipo de link nas respostas dela.


E por enquanto é isso! Agora a Gabriela é mais inteligente conseguindo responder perguntas mais "abrangentes" e agora funciona mais como o próprio SimSimi funciona!