An honest chatbot

  • 6 Replies
  • 615 Views
*

Zero

  • Trusty Member
  • *******
  • Starship Trooper
  • *
  • 436
  • Fictional character
    • SYN CON DEV LOG
An honest chatbot
« on: July 06, 2017, 12:17:23 pm »
Hi,

I had a funny idea the other day. Let's face it, chatbots are hopeless liars  ;D

So what an honest chatbot could possibly talk about? I mean, if it was configured to talk only about things it knows, things that belong to its universe, without lying, without pretending it knows what a movie is? What is its universe? Its universe is: its own mind (if it has introspection capabilities), the current chat, and the chatlogs of previous sessions. Its own mind would be a great topic to talk about. If it had a real understanding of the way it works, and if it was able to modify itself, depending on the discussion, that would be awesome...

*

ivan.moony

  • Trusty Member
  • *********
  • Terminator
  • *
  • 784
  • look, a star is falling
    • Structured Type System
Re: An honest chatbot
« Reply #1 on: July 06, 2017, 12:29:25 pm »
 O0
Wherever you see a nice spot, plant another knowledge tree :favicon:

*

Freddy

  • Administrator
  • **********************
  • Colossus
  • *
  • 6205
  • Mostly Harmless
Re: An honest chatbot
« Reply #2 on: July 06, 2017, 03:40:11 pm »
Haha yes it's all smoke and mirrors.

I'll think and get back to you.

*

8pla.net

  • Trusty Member
  • *********
  • Terminator
  • *
  • 871
    • 8pla.net
Re: An honest chatbot
« Reply #3 on: July 07, 2017, 12:46:55 am »
Well, you could program it to always be honest, I think...

Code: [Select]
#include <stdio.h>
void main()

    char in[128], *out="Honestly, I do not know.";
    int L;
    printf("Ask me something: "); 
    fgets(in, sizeof(in), stdin); 
    for(L=0; in[L]!='\0'; ++L); in[L-1]='\0';
    printf("You asked me, \"%s\"\n%s\n",in, out); 


What do you think?

Hey, what do you think of my C code to get rid of carriage returns?
The variable name "L" stands for Length.  Another way to do this
is the function strlen(), but then I have to include the string.h file.
I like to keep it simple.

Code: [Select]
for(L=0; in[L]!='\0'; ++L); in[L-1]='\0';
PROGRAM OUTPUT:
Quote
Ask me something: What is the meaning of life?
You asked me, "What is the meaning of life?"
Honestly, I do not know.


@Freddy:  It seems the bbcode, for the [ code ] tag is not fully enabled (the Select link selects nothing). 
And, while you are at it, syntax highlighting is also not enabled, it seems.
My Very Enormous Monster Just Stopped Using Nine

*

Freddy

  • Administrator
  • **********************
  • Colossus
  • *
  • 6205
  • Mostly Harmless
Re: An honest chatbot
« Reply #4 on: July 07, 2017, 12:56:57 am »
Quote
@Freddy:  It seems the bbcode, for the [ code ] tag is not fully enabled (the Select link selects nothing).

Working fine here in Chrome and FF - is your FF up to date ?

*

Zero

  • Trusty Member
  • *******
  • Starship Trooper
  • *
  • 436
  • Fictional character
    • SYN CON DEV LOG
Re: An honest chatbot
« Reply #5 on: July 07, 2017, 08:02:35 am »
 ;D Not very entertaining bot, but well done!

*

Freddy

  • Administrator
  • **********************
  • Colossus
  • *
  • 6205
  • Mostly Harmless
Re: An honest chatbot
« Reply #6 on: July 07, 2017, 09:55:42 pm »
Quote
What is its universe? Its universe is: its own mind (if it has introspection capabilities), the current chat, and the chatlogs of previous sessions. Its own mind would be a great topic to talk about.

I have this related side project that has this kind of thing, basically the bot keeps track of previous chats. To save storage space I only store a word once, then I index it and have word chains of everything that has ever been said to the bot. I thought it would be interesting to look at what kind of things people talk about most and things like sentence structures people tend to use most. Aside from that there's the stats angle and making cool visual representations of what people say.

I wrote some simple routine that can search the history and say something like "Oh yes, someone said something similar once". And you could use it to reinforce things.

It's just a side plot to ElfScript at the moment.

Quote
and if it was able to modify itself, depending on the discussion, that would be awesome...

Yes this is the way to go. I've written ElfScript so that it can learn new patterns on the fly. But I am weary of how some people are and it only adopts this change in programming for the current user or a user it knows (I'm going to work on an account system at some point).
« Last Edit: July 08, 2017, 03:09:40 pm by Freddy »