op type description
-- ---- -----------
# delimiter rule
< condition input
> action output
@ action selfput
* condition is in db
/ condition is not in db
+ action add to db
- action remove from db
{} inline capture
[] inline insert
Source
= _* r:Rule* { return r; }
_
= [ \t\r\n]
Rule
= op:Operator _ l:Line _* {
return {
line: l,
operator: {
'#': "delimiter",
'<': "input",
'>': "output",
'@': "selfput",
'*': "if",
'/': "not",
'+': "add",
'-': "remove"
}[op]
};
}
Operator
= '#' / '<' / '>' / '@' / '*' / '/' / '+' / '-'
Line
= lc:LineContent+
LineContent
= Text
/ Capture
/ Insertion
Text
= c:Char+ { return { type: "text", content: c.join('') }; }
Capture
= '{' l:Line '}' { return { type: "capture", content: l }; }
Insertion
= '[' l:Line ']' { return { type: "insertion", content: l }; }
Char
= [^\#\<\>\@\*\/\+\-\{\}\[\]]
/ '#' c:'#'+ { return c.join(''); }
/ '<' c:'<'+ { return c.join(''); }
/ '>' c:'>'+ { return c.join(''); }
/ '@' c:'@'+ { return c.join(''); }
/ '*' c:'*'+ { return c.join(''); }
/ '/' c:'/'+ { return c.join(''); }
/ '+' c:'+'+ { return c.join(''); }
/ '-' c:'-'+ { return c.join(''); }
/ '[' c:'['+ { return c.join(''); }
/ ']' c:']'+ { return c.join(''); }
/ '{' c:'{'+ { return c.join(''); }
/ '}' c:'}'+ { return c.join(''); }
10\ this is an input
But maybe, if I may suggest, new concepts are better comprehended when abstract symbols, which are hard to memorize, are replaced by self describing keywords, especially if there are a lot of them.Mmh yes, I understand this opinion, but many people are not comfortable with English. Since there are only 10 elements of syntax, they should be easy to memorize. Also, saving keystrokes is important if I'm going to author a lot of content with it → chatbots are typically huge scripts.
time based responses is good for role play to display a response during a conversion.I see the point. It is part of the system, a selfput triggers an input after 1 second! One can use it to implement a timer.
like when the chatbot going to fix dinner or going to water plants in role play.
Not that it is easy, it is not. But, I think the coding is the easier part. Data, a lot of it, is the more difficult part. Someone equated it to like writing a novel. Ten thousand responses, minimum, and many advanced bots have many more, may get challenging to work with.Exactly right. Kuki has over 360,000 hand written responses and I still find things every day that need correcting. Creating the interpreter is the least of your worries!
I wanted to use AIML, but I couldn't find a complete Javascript implementation of v2.1 that would let me work offline. So I can't use these files. I don't understand why Pandorabot forces you to host your bot in their cloud.
# list handling
< list: {items}
@ think_listall: [items] end
# intern
< think_listall: {first} {rest}
> item: [first]
@ think_listall: [rest]
I wanted to use AIML, but I couldn't find a complete Javascript implementation of v2.1 that would let me work offline. So I can't use these files. I don't understand why Pandorabot forces you to host your bot in their cloud.I wasn't meaning for you to use AIML but those files contain the most popular inputs said by genuine users and so I thought you might be able to use those inputs to start creating your bot rather than a blank piece of paper trying toguess what someone might say.
# coder
< add {stuff}
+ [stuff]
> added
# init
< go
@ add ## t << test >> ok
> done
I wanted to use AIML, but I couldn't find a complete Javascript implementation of v2.1 that would let me work offline. So I can't use these files. I don't understand why Pandorabot forces you to host your bot in their cloud.
@ 3 foo
@ 4 bar
Another vision is chatbot should be AGI but heavily specialised in NLP, since chatbot has to understand everything.
Yes. Also, I like the idea of a "non-lying" chatbot, like... a chatbot that wouldn't pretend he likes the last Star Wars or even pretend it knows what a car is. Just talking true about its own experience, which is limited to the conversations it has with users.And I guess a new mechanism should be that the chatbot can browse the internet by itself,
But then, in case of an honest chatbot, the same problem would remain: even after reading the wilipedia article about cars, it still wouldn't know what a car is, for it never 'experienced' it the way humans do. The eternal 'grounding' problem.
...after reading the wilipedia article about cars, it still wouldn't know what a car is, for it never 'experienced' it the way humans do...The wisdom that humans learn is possibly from connections between multiple senses:
You could try and make a reinforcement learning chat bot, that builds a model of the people that talk to it, and it just starts off as gibberish looking for a reaction... but what would the goal be?
Learning from feedback (do conversation partners give positive or negative responses to what I say?) and learning by imitating others are both useful tools, in my opinion ... humans certainly use them. But it's never "just that simple." I think there's a lot of structure that goes into how to learn effectively.
Cleverbot is a chatbot that tries to learn by imitating what humans say to it. I've talked to it in the past, and I don't recall it being terribly good.
...Chatbot is not really pointless, chatbot is so useful nowadays in ecommerce websites.
Its easy to know what the goal is when your playing soccer... but chatting?? what is the point of it?
...
...Chatbot is not really pointless, chatbot is so useful nowadays in ecommerce websites.
Its easy to know what the goal is when your playing soccer... but chatting?? what is the point of it?
...
And even a very good chatbot service now such as Chatfuel, the chatbot is still rather basic,
with training from sentence to sentence.
A guy with exceptional research to make a real intelligent chatbot may get some $, I guess.
A guy with exceptional research to make a real intelligent chatbot may get some $, I guess.
A guy with exceptional research to make a real intelligent chatbot may get some $, I guess.
Letting money go and retaining being useful... OpenAI already did it with GPT, but they failed to restrain it - they trained it on a bunch of reddit data, and got an intelligent racist bot outcome, that's why they are afraid of it - for a reason. There is a solution - to get an empty bot and train it individually. It would take years, but I believe it would work. It would be a little copy of its trainer! (or should I say parent?)
I think learning's overrated anyway. Creating a digital entity that has a rich "inner life" is more interesting & challenging, to me. And I think text is the perfect medium for a mind to mind connection with a bot.
I added an introspection panel on the left hand side, to see what's going on when it's thinking.
:)
= list manipulation