I've not had much experience with NLP, Chatbots, Json, etc so there is obviously a gap in my experience/ knowledge.
As side project I've took a few hours to write a simple chatbot engine/ parser.
The bot uses sentence templates, a dictionary and mostly simple substitution and searches.
The bot can learn simple Json triples and also apply simple inference rules, so it knows birds can fly because birds have wings and wings can fly, etc
I've got an idea how to add conversation goals, moods and a personality etc...
Example conversation... so far lol
U: what is a dog
B: i'm not sure what is a dog
U: what is a cat
B: i'm not sure what is a cat
U: can birds fly
B: i'm not sure
U: can a bird fly
B: no a bird can not fly you dumb ass.
U: can a cat fly
B: no a cat can not fly you dumb ass.
U: does a dog have legs
B: i'm not sure
U: does a cat have feet
B: i don't know
U: does korrelan own a car
B: i'm not sure
U: my name is korrelan **Begin Learning**
B: good to know.
U: a bird is a animal
B: good to know... tell me more.
U: a bird has wings
B: ok... what else should i know?
U: korrelan is a human
B: you don't say.
U: korrelan is a male
B: you don't say.
U: a male is a human
B: good to know... tell me more.
U: male is a sex
B: you don't say.
U: wings can fly
B: ok I understand
U: wings can fly
B: ok I understand
U: a human has legs
B: ok... what else should i know?
U: feet can walk
B: ok I understand... tell me more.
U: legs have feet
B: cheers for the information.
U: a dog has legs
B: ok... what else should i know?
U: a cat has legs
B: ok... what else should i know?
U: a dog is a animal
B: good to know... tell me more.
U: a cat is a animal
B: good to know... tell me more.
U: do you know korrelan is a mammal
U: korrelan owns a car
B: sweet... tell me more.
U: a plane has wings **Stop Learning**
B: ok... what else should i know?
U: what is a dog
B: a dog is a animal
U: what is a cat
B: a cat is a animal
U: can birds fly
B: yes birds can fly
U: can a bird fly
B: yes a bird can fly
U: can a cat fly
B: no a cat can not fly you dumb ass.
U: does a dog have legs
B: yes a dog does have legs
U: does a cat have feet
B: yes a cat does have feet
U: does korrelan own a car
B: of course korrelan has a car
U: what colour is the car
B: i'm not sure. what colour is the car?
U: the car is green
B: green is a nice colour.
U: what colour is the car
B: the car is green
U: what colour is the sky
B: i'm not sure. what colour is the sky?
U: the sky is blue
B: blue is a nice colour.
U: what colour is the sky
B: the sky is blue
U: can korrelan walk
B: yes korrelan can walk
U: can a dog walk
B: yes a dog can walk
U: can a dog fly
B: no a dog can not fly you dumb ass.
U: do humans have legs
B: yes a human does have legs
U: where is the tv
B: i'm not sure. where is the tv?
U: the tv is in the lounge
B: the lounge is the best place for it.
U: where is the computer
B: i'm not sure. where is the computer?
U: the computer is in the office
B: the office is the best place for it.
U: where is the tv
B: the tv is in the lounge
U: where is the computer
B: the computer is in the office
U: tell me about albert
B: i don't know who albert is
U: albert is a scientist
B: you don't say.
U: tell me about albert
B: albert is a scientist
U: tell me about korrelan
B: korrelan is a human
https://www.youtube.com/watch?v=VfpUOgPZ21A
Haha... loads of fun...
Ed: What idiot invented the English language?... it's so contrived lol.
:)
I've not had long to work on it but now it understands ownership, etc...
U: does infurl own a car
B: i'm not sure if infurl owns a car
U: what colour is arts car
B: i don't know what colour arts car is
U: what colour is korrelans car
B: i don't know what colour korrelans car is
U: art owns a car
B: sweet... what else does art own?
U: the car is silver
B: silver is a nice colour.
U: what colour is arts car
B: i think arts car is silver
U: the blue car belongs to infurl
B: so infurls car is blue
U: does infurl own a car
B: of course infurl has a car
U: what colour is infurls car
B: i think infurls car is blue
U: korrelans car is green
B: ok... so korrelans car is green
U: what colour is korrelans car
B: i think korrelans car is green
U: what colour is arts car
B: i think arts car is silver
U: what colour is infurls car
B: i think infurls car is blue
Korrelan in part said, "AI's using high level languages, they lack the resolution/ tools/ finesse".
I feel that A.I.'s using high level languages benefits the AI at least until computing power catches up one day.
Let's run a test to see how far a high level language can get by itself without A.I.
Test Source code:
<?php
$I=array(
"Does person own a thing?",
"What color is persons thing?",
"Person owns a thing.",
"Persons thing is colored.",
"The thing is colored.",
"The colored thing belongs to person.",
);
$O=array(
"I'm not sure if person owns a thing.",
"I don't know what color persons thing is.",
"What else does person own?",
"I think persons thing is colored.",
"Colored is a nice color.",
"Of course person has a colored thing.",
);
foreach($ID as $i){
$input=$I[$i];
$output=$O[$i];
$response = AI($input,$output);
echo $response;
}
?>
Test Program Output:
I: The spacesuit is green.
O: green is a nice color.
I: The red computer belongs to Adam.
O: Of course Adam has a red computer.
I: Does Adam own a computer?
O: I'm not sure if Adam owns a computer.
I: Donna owns a spacecraft.
O: What else does Donna own?
I: What color is Bettys spacesuit?
O: I don't know what color Bettys spacesuit is.
I: Adams computer is green.
O: I think Adams computer is green.
Then the A.I. takes over, and it is less work for the A.I. In short, high level languages help neural networks look normal.
Live Demo Site: http://aihax.com/topic/?id=22
The use of any content from this forum post is strictly limited to discussion purposes only.
Korrelan,
Suggestion:
Build an original chatbot as a puppet for your AGI to pull the strings. Korrelan said, "It’s the AI($input,$output) I’m ultimately interested in.". Let's make it more interesting by introducing a beginner level rudimentary A.I. technique:
Test Source Code:
$decisions = array(
0=>array(0,2),
1=>array(1,3),
2=>array(2),
3=>array(3),
4=>array(4),
5=>array(5),
);
Test Run 1 Program Output:
I: Person owns a thing.
O: What else does person own?
I: Persons thing is colored.
O: I think persons thing is colored.
I: Person owns a thing.
O: What else does person own?
I: Persons thing is colored.
O: I think persons thing is colored.
I: The thing is colored.
O: Colored is a nice color.
I: The colored thing belongs to person.
O: Of course person has a colored thing.
Test Run 2 Program Output:
I: Does person own a thing?
O: I'm not sure if person owns a thing.
I: What color is persons thing?
O: I don't know what color persons thing is.
I: Person owns a thing.
O: What else does person own?
I: Persons thing is colored.
O: I think persons thing is colored.
I: The thing is colored.
O: Colored is a nice color.
I: The colored thing belongs to person.
O: Of course person has a colored thing.
Or... Ultimately your AGI may be interested in such an entry point to your chatbot A.I. being under its control.
In short, an AGI may pull the strings on a chatbot puppet and report its confidence in the chatbot response.
Otherwise:
Yes. What you have suggested about building a new chatbot is very cool.
It was fun, my chatbot airing internationally on cable news in prime time!
For fame and glory, often AGI developers casually take part in chatbot A.I.
_________________________________________________________________________________________________________________________________________________
The use of any content from this forum post is strictly limited to discussion purposes only. Any test source code snippets or test program output, etc. are just test runs for the sake of a conversation about merging different A.I. techniques.