Level 1: Literal. Just make some responses. How are you? => I'm good/I have some problems
Level 2: Battle it out. Take the rules of level 1 and have them compete against each other. (There are also meta-rules.)
Level 3: Fact management. Some things are true, others aren't. Manage this.
That's pretty much it. Now we just need a lot of rules to work with. Oh, and there's a very good parser for German & English.
Channel's waiting dudes.
v1 - Make a basic logic using a bastard language located somewhere between Prolog and plain English (mostly it's just the latter).
input(I'm a scammer!) && fact(a scammer scams people) && relationX(scams people, scam people) => output(You scam people?!)
v2 - Add some $ signs and turn spaces into underscores (making the pattern dynamic).
input(I'm a $scammer!) && fact(a $scammer $scams_people) && relationX($scams_people, $scam_people) => output(You $scam_people?!)
v3 - Find out what relationX is (that's not that hard).
v4 - Interpret this stuff.
DONE
Estimated time frame: 2 days
Edit (2018/08/03): And it's done (see picture).
IBM and all the other guys.
My fabulous English Parser just got better, you can now help it out by using some brackets, like this:
{This time of night} it's usually quite cool.
...even though that place is the living hell for any sane person. I'm not even allowed to ask questions anymore because they hate dissidents.
"What, you're doing AI with 4 gigabytes?"
Yes, that's right. And 512 MB actually go to the GPU, so yeah... it's tight.
Another working AI component. Takes any sentence or phrase, like:
smart combinations of various fast methods
and outputs:
1. combinations 2. combinations of methods 3. smart combinations 4. combinations of fast methods 5. smart combinations of methods 6. combinations of various methods 7. smart combinations of fast methods 8. combinations of various fast methods 9. smart combinations of various methods 10. smart combinations of various fast methods
Neat, right? And very useful.
There'll be a channel and a bot.
I'm not sure if you have thought this through yet. This is a project that makes computers think.
Input:
"Confessions of a Burglar Video"
(It's the name of a video on YouTube.) So... is the video confessing—or the burglar? Let's ask the parser.
1. Confessions {of {a {Burglar Video}}} 2. {Confessions {of {a Burglar}}} Video
Yup, it has found the 2 grammatical possibilities. Next up: Semantic analysis to rate these against each other.