Free-Form & External Input

Building on the breakthrough natural language understanding capabilities of Wolfram|Alpha, the Wolfram Language has integrated features for accepting input in natural language and in other forms that require semantic understanding for interpretation. These features are important both in direct entry of Wolfram Language input and in calling on the Wolfram Language from APIs, forms, and other external and cloud constructs.

ReferenceReference

Interactive Wolfram Language Input

( at beginning of input) specify a complete computation using natural language

(Ctrl+) translate from natural language anywhere in Wolfram Language input

Interpreting Strings »

Interpreter define how a string should be interpreted (directly or semantically)

"Number"  ▪  "URL"  ▪  "EmailAddress"  ▪  "Date"  ▪  "Location"  ▪  "Quantity"  ▪  "Image"  ▪  "City"  ▪  "Movie"  ▪  "GIF"  ▪  ...

SemanticInterpretation interpret a string semantically with a particular target

Interpretation Control

Restricted define a restriction (e.g. numbers within a certain range etc.)

DelimitedSequence allow multiple objects in input, separated by delimiters

AmbiguityFunction define how to handle ambiguities in semantic interpretation

DateFormat  ▪  NumberPoint  ▪  GeoLocation  ▪  TimeZone

AmbiguityList representation of possible interpretations for ambiguous input

Failure representation of failure to interpret as a particular type

File & Large-Scale Input Interpretation

Import import from a file, in hundreds of possible formats

ImportString import a string, using hundreds of possible file formats

SemanticImport import structured data from a file semantically

SemanticImportString extract structured data from a string semantically

Specialized Types of Input Processing

ToExpression interpret a string as Wolfram Language or similar input

DateObject, TimeObject input dates and times in any standard form

GeoPosition input geo positions in standard formats

FindGeoPosition find geo positions from IP addresses, street addresses, etc.

BinaryRead read binary data