• Where can I find the Java client JAR?

    The JAR file and all source code to build the client (including usage examples) can be found in our GitHub repository.


  • What is a Retina?

    A Retina is a semantic vector model. The fundamental concept behind Cortical.io’s Retina consists of converting the symbolic representation of language into a Sparse Distributed Representation (SDR) form so that it becomes numerically computable.

  • What is a synonymous Retina, what is an associative Retina and what is the difference between them?

    The distinction between synonymous and associative Retinas is based on findings in cognitive linguistics. Based on word priming experimentation, two main relations between words have been identified (see [CHIA1990]): synonymous relations (also referred to as similar or semantic relations in the cognitive science literature) and associative relations. As outlined in [CHIA1990], the distinction for both relationship types is not exclusive; that is, word relations are not exclusively synonymous or associative. Doctor - Nurse is an example of a word relation that can be considered as being of a synonymous-associative nature.

    Due to their aim of replicating human word understanding, this also applies to the Retinas.

    Two terms/words are associatively related if they often appear in a shared context. The following are examples of this type of relationship:

    • Spider - Web
    • Google - Page rank
    • Smoke - Cigarette
    • Phone - Call
    • Lighter - Fire

    Two terms/words are synonymously related if they share common features. The following are examples of this type of relationship:

    • Wolf - Dog
    • Cetacean - Whale
    • Astronaut - Man
    • Car - Van
    • Smartphone - iPhone 4s
  • Which Retinas are associative, which are synonymous, and how can they be used?
    • en_associative is an associatively focused Retina. The development for this type of Retina is motivated by the aim of disambiguating terms, i.e. identifying which meanings are contained within a specific term. As an example, the following call identifies the potential meanings of the term plane:


    • en_synonymous is a synonymously focused Retina. The development of this type of Retina is driven by the aim of identifying synonymous items for terms or texts. As an example, the following call identifies different types of diseases:


Note: the above example-links also require an api key.

Operations with terms

  • What does df mean in the Response Body?

    This is an abbreviation of the phrase document frequency.

  • What is a Fingerprint?

    A Fingerprint is a unique semantic representation within the Retina. The positions in a Fingerprint represent particular nodes or clusters of meaning in the Retina and the combination of these nodes forms the semantic content. This Fingerprint representation enables logical and arithmetical operations on semantic content. For instance, we can compute the semantic content of Jaguar minus the semantic content of Porsche. Or we could build up a synthetic Fingerprint, a kind of profile, and use this as a semantic filter.

  • In the list of similar terms, each term is followed by a score - what does this score stand for?

    This score indicates the number of overlapping bits between the semantic Fingerprint of the input term and the semantic Fingerprint of the similar term.

Operations with expressions

  • What is a Retina representation? What can it be used for?

    This means a representation of your input calculated from the Retina. This can be either a Fingerprint or an Image. A Fingerprint can for example be used as an intelligent search term. Images can be used as visual representations of semantic content (with respect to the Retina).

  • What is the maximum allowable number of positions in a semantic Fingerprint

    The maximum allowable number of positions in a semantic Fingerprint is 2048.

  • How can I convert a semantic Fingerprint into a term string?

    The /expressions/similar_terms endpoint can be used to retrieve a term string, as in the following example below. For more information regarding the /expressions/similar_terms endpoint, please refer to our interactive API documentation. For more general information regarding expressions, please see the section headed Working with Semantic Expressions.

       "positions": [112, 118, 206, 289, 377]


  • Can I change the number of keywords the system retrieves?

    Currently this isn’t possible.

  • Can I change the type of keywords (e.g. only nouns or person names) the system retrieves?

    Currently this isn’t possible.

  • Is the list of keywords ordered randomly or are the most relevant keywords at the top?

    The list ordering is by relevance - from most relevant to least relevant.

  • Is there a maximum size to the text I can input?

    Currently the public API doesn’t limit the size of input text.


[CHIA1990](1, 2) Chiarello, Christine, et al. Semantic and associative priming in the cerebral hemispheres: Some words do, some words don’t... sometimes, some places. Brain and language 38.1 (1990): 75-104