Programmable Linguistic Interface
With powerful grammar primitives and immediate access to hundreds of built-in natural-language token types, the Wolfram Language provides a streamlined system for creating custom natural-language interfaces—and deploying them to the cloud for use in programs, notebooks, forms, and APIs.
GrammarRules — symbolic representation of grammar rules
CloudDeploy — deploy grammar rules to the cloud
GrammarApply — attempt to parse input using a specified grammar
Interpreter — use a deployed grammar in a form, API, etc.
Grammar Elements
"string" — literal text string
StringExpression — arbitrary string pattern
RegularExpression — regular expression in standard notation
GrammarToken — match built-in natural-language domains or define custom ones
Restricted — specify restrictions for built-in grammar tokens
Grammar Construction Primitives
Alternatives (|) — multiple alternative forms
OptionalElement — optionally omitted form, possibly with default
FixedOrder — forms that must appear in a fixed order
AnyOrder — forms that can appear in any order
Repeated (..) — a form that can be repeated any number of times
DelimitedSequence — form repeated with delimiters in between
Pattern (:) — assign a name to use in the grammar action
CaseSensitive — specify that a form must be matched case sensitively
Whitespace ▪ NoWhitespace ▪ DigitCharacter ▪ LetterCharacter
Grammar Actions
RuleDelayed () — define an action to perform when a match is found
Rule () — specify tokens to represent subgrammars
Grammar Options
IgnoreCase — specify whether to ignore uppercase versus lowercase distinctions
AllowLooseGrammar — whether to allow extra grammatical "fluff"
AmbiguityFunction — specify how to handle parsing of ambiguities