Hello

  • 6 Replies
  • 2473 Views
*

ArtBlinked

  • Roomba
  • *
  • 3
Hello
« on: March 31, 2017, 01:01:30 am »
I'm beginning studies for Software Engineering but I also enjoy writing. I'm very interested in the idea of an AI that functions as an intelligent chatbot of sorts.

I've been looking around for code that would allow for a program to ask a question and then modify or add to it's own dictionary depending on the response given. Essentially a program that programs itself depending on answers it's given by the programmer.

I'm seeing a bot that defines words on a "truth" scale in relation to other words. So on a truth scale of 1 - 10 (1 not very truthful, 10 as truthful as possible) a dog is a mammal is an 8. And when I told it so then the truth of that statement would increase for the bot. But I would need to start with a dictionary of words and words related to them. Then set them all to (let's say) 5. The bot would go through and change their truth relevance to each other based on programmer answers.

The next step would be to grow it beyond simple word relation but to have it understand actions, objects, and eventually people which I imagine would need more scales involving "good" or "bad" which would exist based on actions and their relation with certain objects. Again the bot would need a programmer to tell it "good" or "bad". So "Billy kills Tommy" -bad. "Billy kills Tommy in self defense" -good. or whatever the programmer wants. But the scale would increase or decrease. There would need to be another scale for "likely" or "unlikely" I think as well in order to understand human behavior or at least, to properly predict human behavior.

I would love to see a bot that can not only hold conversation but create stories. Get it to understand people, reactions, and situations enough that it can create a fictional character with a background, motives, and desires. Then instigate a story with this fictional character with one of your (the programmer's) own fictional characters. What comes out of it is a story. (similar to an writer's rp collab)

It might be asking a bit much but for right now I just want to know if there's any program out there that can edit itself based on user input or create scales like these kind of things. Or maybe there's an easier way to do all this and I'm approaching it from a crazy person's pov.


*

8pla.net

  • Trusty Member
  • ***********
  • Eve
  • *
  • 1275
  • TV News. Pub. UAL (PhD). Robitron Mod. LPC Judge.
    • 8pla.net
Re: Hello
« Reply #1 on: March 31, 2017, 07:31:56 am »
There are ways out there to do the things you are writing about. Even though they are really quite good. They may always be improved upon, I think. So, I do not feel you are coming from a crazy person's point of view. One way which is really terrific is called, WordNet, and there is a fantastic chatbot called ChatScript which implements WordNet in C++. 

As for a chatbot that learns from user input. That one is called Mitsuku.  Both ChatScript and Mitsuku are world famous chatbots that make the news from time to time.  And, last I checked, they both have  free versions available for download. 

There is much more to this conversation.  Please keep in mind that I have no intention to correct or criticize you.  Rather, just sharing a few ideas here to get started.  Answering a few of your questions.  Welcome, and thanks for starting this thread.
My Very Enormous Monster Just Stopped Using Nine

*

Art

  • At the end of the game, the King and Pawn go into the same box.
  • Trusty Member
  • **********************
  • Colossus
  • *
  • 5864
Re: Hello
« Reply #2 on: March 31, 2017, 12:21:30 pm »
Welcome ArtBlinked!

While there have been some chatbots in the past that relied upon the user to let the bot know whether the chatbot's answer or assumption was correct, the process was extremely tedious and even then only producing less than mediocre results.

There are bots that allow the "master" to assign varying 'weights' to certain responses that would be returned in order of these weights to a User's statement.

Most chatbots, and they have been around since the late 1970's in all forms and in a variety of languages or platforms, use some form of scripted responses. Some chatbots can 'save' pieces of their conversation as snippets for use in future conversations. A good deal of bots also save these chat interactions as part of a Chat Log usually for future reference, to possibly review some important interaction, to potentially weed out objectionable or extremely rude or obnoxious behavior and to check on the chatbot's progress against previous exchanges.

No bot to my knowledge is capable of making up things on their own without being given a set of variables, words, phrases, User / Bot sequences for interaction. Some can produce poetry and rhyming conventions but again, these are pieces from scripted responses. I am not aware of any chatbots that are able to modify their own code although some, as mentioned, can save and reuse some info.

You are not a crazy person at all. Dreams are things that help forge our realities in the future.

Again, Welcome. Glad to have you!
In the world of AI, it's the thought that counts!

*

Korrelan

  • Trusty Member
  • ***********
  • Eve
  • *
  • 1447
  • Look into my eyes! WOAH!
    • YouTube
Re: Hello
« Reply #3 on: March 31, 2017, 10:59:59 pm »
Hi ArtBlinked and welcome....

 :)
It thunk... therefore it is!...    /    Project Page    /    KorrTecx Website

*

ArtBlinked

  • Roomba
  • *
  • 3
Re: Hello
« Reply #4 on: April 01, 2017, 03:27:15 am »
There are ways out there to do the things you are writing about. Even though they are really quite good. They may always be improved upon, I think. So, I do not feel you are coming from a crazy person's point of view. One way which is really terrific is called, WordNet, and there is a fantastic chatbot called ChatScript which implements WordNet in C++. 

As for a chatbot that learns from user input. That one is called Mitsuku.  Both ChatScript and Mitsuku are world famous chatbots that make the news from time to time.  And, last I checked, they both have  free versions available for download. 

There is much more to this conversation.  Please keep in mind that I have no intention to correct or criticize you.  Rather, just sharing a few ideas here to get started.  Answering a few of your questions.  Welcome, and thanks for starting this thread.

Thanks for the welcome and feedback 8pla.net!

I've heard of Mitsuku but not ChatScript before. But I'll check the latter out and see what it's like. So far, my favorite chatbot I've come across is cleverbot but recently I came across Google's TensorFlow and heard you can use it to make bots. I was thinking I might try and do something like that and see how it all works.

*

ArtBlinked

  • Roomba
  • *
  • 3
Re: Hello
« Reply #5 on: April 01, 2017, 04:02:00 am »
Welcome ArtBlinked!

While there have been some chatbots in the past that relied upon the user to let the bot know whether the chatbot's answer or assumption was correct, the process was extremely tedious and even then only producing less than mediocre results.

There are bots that allow the "master" to assign varying 'weights' to certain responses that would be returned in order of these weights to a User's statement.

Most chatbots, and they have been around since the late 1970's in all forms and in a variety of languages or platforms, use some form of scripted responses. Some chatbots can 'save' pieces of their conversation as snippets for use in future conversations. A good deal of bots also save these chat interactions as part of a Chat Log usually for future reference, to possibly review some important interaction, to potentially weed out objectionable or extremely rude or obnoxious behavior and to check on the chatbot's progress against previous exchanges.

No bot to my knowledge is capable of making up things on their own without being given a set of variables, words, phrases, User / Bot sequences for interaction. Some can produce poetry and rhyming conventions but again, these are pieces from scripted responses. I am not aware of any chatbots that are able to modify their own code although some, as mentioned, can save and reuse some info.

You are not a crazy person at all. Dreams are things that help forge our realities in the future.

Again, Welcome. Glad to have you!

Hello Art!

Thanks for the welcome and thoughtful response. I was thinking about it more and realized what I'm wanting is essentially a bot that can make choices without it being either completely random or hardcoded in. Which leaves me with an algorithm I think.

But like you said, I do want a bot that can make things up on its own. Or at least, one that can generate a fictional character beyond that of "eye color", "hair color", "name" etc. I would want to program things like motivation, background, morals, goals, etc without it being completely random or nonsensical. I want it to understand humans to an extent where it could create a story that's realistic (and intriguing) for us as the reader. There doesn't seem to be a way to do this without the computer understanding the relevance of words in an emotional setting. So ah, how do you program emotions?  ;D

I found this library called TensorFlow that I want to play around with and see what I can do with it. After some thought I've decided against building my own library haha. Although, I am curious how the stuff from TensorFlow is grouped together, apparently you can use things like scripts from movies or educational papers depending on what you're going for.

Thanks again!

*

8pla.net

  • Trusty Member
  • ***********
  • Eve
  • *
  • 1275
  • TV News. Pub. UAL (PhD). Robitron Mod. LPC Judge.
    • 8pla.net
Re: Hello
« Reply #6 on: April 01, 2017, 05:04:43 am »
Here is an AiDreams discussion thread on easily making a chatbot with TensorFlow

http://aidreams.co.uk/forum/index.php?topic=11649.msg44442#msg44442
My Very Enormous Monster Just Stopped Using Nine