Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Comparison with AIML 2.0 #4

Open
kirsle opened this issue Aug 2, 2016 · 0 comments
Open

Comparison with AIML 2.0 #4

kirsle opened this issue Aug 2, 2016 · 0 comments

Comments

@kirsle
Copy link
Member

kirsle commented Aug 2, 2016

At some point a deep dive should be done to compare RiveScript to AIML 2.0 similar to https://www.rivescript.com/compare/aiml. I had someone e-mail me asking about that. I threw this together from a quick Google search of AIML 2.0 tags.

✔️ Category topic tags: looks similar enough to the old <topic> container tag
✔️ Zero or more wildcards: [*] makes an 'optional wildcard' which doesn't need to match any text, and a normal * wildcard needs to match at least one character/word.
✔️ Pattern priority: RiveScript has {weight} tags to prioritize certain triggers
❌ Sets: no support in RiveScript
❌ Maps: no support in RiveScript
✔️ Conditional patterns (wildcards for defaults): RiveScript does defaults by just using normal replies after the condition commands.
❌ Condition loops: not sure what this is but RiveScript doesn't support it.
❌ Local variables (at the category/trigger level): no support
❌ Remote requests: no support (seems to be a Pandorabots tie-in for AIML and there isn't a Pandorabots for RiveScript)
❓ Normalization and denormalization: no support. Could be implemented by an object macro.
❌ Date formats: RiveScript expressly didn't include a <date> tag as was mentioned on the AIML 1.01 comparison page, object macros are better suited for that purpose.
✔️ Request tag: <input> tag does this in RiveScript (<input1> to <input9> for historical inputs)
✔️ Response tag: <reply> tag in RiveScript (<reply1> to <reply9>)
❌ Learning: No support. AIML 1.x had a <learn> tag too which RiveScript doesn't support either.
❓ Explode tag: no support, could be done with an object macro.
❌ Mobile tags: IIRC, AIML doesn't use these directly anyway, they just convey out-of-band info, and I've seen people come up with their own clever solutions in RiveScript. So no direct support built in.

Source: https://www.botlibre.com/forum-post?id=1156738

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant