Experiment with Cortical.io's Expression Language by adding and subtracting the meaning of words.

The *Expression Builder* allows you to experiment with adding and subtracting the semantic meaning of words from one another. These kinds of operations on text are known as
*expressions* and are a core functionality made possible by the Cortical.io Retina API. In the input field above, you can build your own expressions by entering
terms connected by addition and subtraction symbols. The Cortical.io Retina API will then evaluate the expression and compute and display the most similar terms found for the
resulting Fingerprint. You can then inspect a visual representation of the expression result to the right by moving your mouse over the grid to reveal the terms associated with
different areas of the Fingerprint.

One potential application area of Cortical.io expressions is word sense disambiguation. For example, in a search engine, by taking an ambiguous term and subtracting
an unwanted meaning from it a user could refine a search query. A search for the term *plane* may return mainly results relating to air travel, but by subtracting *
aviation* from the query, the user could refine the search to the geometric context of the word.

- Semantic Searching
- Intelligent Content Filtering

Since Cortical.io Fingerprints encapsulate the meaning of text in a matrix, this allows mathematical operations to be performed on the semantics of a document or even on individual words. Once the Fingerprints of the input terms have been calculated, applying operations such as adding and subtracting these Fingerprints from one another becomes a simple task. After the entered expression has been evaluated, similar terms for the resulting Fingerprint are retrieved and displayed above to approximate the meaning of the expression.

For simplicity this demo only supports two operations on terms: adding them together to compute the combination of their Semantic Fingerprints and subtracting one Fingerprint from
another. Internally, Cortical.io expressions operate slightly differently and provide three Boolean algebra operators: *AND*, *OR* and *SUB*. The
semantic overlap of two terms or texts can be computed by using the *AND* operator, which returns a Fingerprint made up of points contained in both terms. The *OR*
operator returns a Fingerprint comprised of the union of two terms (equivalent to the addition operation used in this demo). Subtraction is provided by the *SUB* operator,
which, as in the demo, returns a Fingerprint containing only the active bits of the first term that are not contained in the second. Those interested in trying out the more
advanced operators supported by the Cortical.io Retina API are welcome to use our interactive
environment for accessing the API directly.

This demo builds upon our Expressions API, a subset of endpoints of the Cortical.io Retina API for working with semantic expressions.

- Expression Endpoint - Compute the resulting Semantic Fingerprint of an expression.
- Expression Similar Terms Endpoint - Retrieve the similar terms for a given expression.

You can begin integrating Cortical.io's services into your own application after registering for your own free API key.