Ice Blue Digital

API

ICBLD API

Access Key

Include the key as basic authentication in each request, i.e. add a "Authorization" header to each request.

The header should look like: Authorization: Basic {your-access-key-here}

Services


Account


[GET] https://www.icbld.com/api/account/credit

Gets the current number of API credits remaining

Result

  • number (Count of remaining credits)

Jobs


[GET] https://www.icbld.com/api/job

Gets all lodged jobs.

Result

[GET] https://www.icbld.com/api/job/{id}/status

Parameters

Result

  • "not found" Job was not found
  • "not started" Job is scheduled for processing
  • "in progress" Job processing has started
  • "complete" Processing complete

[DELETE] https://www.icbld.com/api/job/{id}

Deletes a job.

Parameters


Tokenisation


[POST] https://www.icbld.com/api/job/tokenise

Creates a new tokenise job.

Parameters

  • {posted content} utf-8 encoded string (The text to tokenise)

Result

[GET] https://www.icbld.com/api/job/tokenise/{id}

Gets the tokenisation output.

Parameters

Result


Parts of Speech


[POST] https://www.icbld.com/api/job/pos

Creates a new parts of speech job.

Parameters

  • {posted content} utf-8 encoded string (The text to parse)

Result

[GET] https://www.icbld.com/api/job/pos/{id}

Gets the parts of speech output.

Parameters

Result


Semantic Analysis


[POST] https://www.icbld.com/api/job/semantic

Creates a new semantic analysis job.

Parameters

  • {posted content} utf-8 encoded string (The text to parse)

Result

[GET] https://www.icbld.com/api/job/semantic/{id}

Gets the semantic analysis output.

Parameters

Result


Syntax Analysis


[POST] https://www.icbld.com/api/job/syntax

Creates a new syntax analysis job.

Parameters

  • {posted content} utf-8 encoded string (The text to parse)

Result

[GET] https://www.icbld.com/api/job/syntax/{id}

Gets the syntax analysis output.

Parameters

Result


Sentiment Analysis


[POST] https://www.icbld.com/api/job/sentiment

Creates a new sentiment analysis job.

Parameters

  • {posted content} utf-8 encoded string (The text to parse)

Result

[GET] https://www.icbld.com/api/job/sentiment/{id}

Gets the sentiment analysis output.

Parameters

Result


Topic Detection


[POST] https://www.icbld.com/api/job/topicdetection

Creates a new topic detection job.

Parameters

  • {posted content} utf-8 encoded string (The text to parse)

Result

[GET] https://www.icbld.com/api/job/topicdetection/{id}

Gets the output from the topic detection analysis.

Parameters

Result


WordNet


[GET] https://www.icbld.com/api/wordnet/search?q={query}

Search WordNet for the given query.

Parameters

  • query string (Search Term)

Result

[GET] https://www.icbld.com/api/wordnet/get/{sid}

Gets a WordNet sense index.

Parameters

Result

[GET] https://www.icbld.com/api/wordnet/expanded/{sid}

Gets an expanded WordNet sense index.

Parameters

Result


Word Embeddings


[POST] https://www.icbld.com/api/job/embedding

Creates a new word embedding job.

Parameters

  • {posted content} utf-8 encoded string (The text to construct an embedding space)

Result

[GET] https://www.icbld.com/api/job/embedding/{id}

Gets the word embedding output.

Parameters

Result


Topics


[GET] https://www.icbld.com/api/topic?q={query}

Search for a topic. If the topic is not found near matches are returned.

Parameters

  • query string

Result

[GET] https://www.icbld.com/api/topic/{id}

Returns information about a topic.

Parameters

Result

[GET] https://www.icbld.com/api/topic/sense/{sid}

Returns the topics associated with the given sense index.

Parameters

Result

[GET] https://www.icbld.com/api/topic/category?c={category}

Returns the topics associated with the given category.

Parameters

  • category string (The category name)

Result


Enums

JobType

The type of job

const enum JobType {
    tokenise                       = 0,                   // Tokenisation
    wordEmbedding                  = 1,                   // Word embedding
    partsOfSpeech                  = 2,                   // Parts of speech
    syntaxAnalysis                 = 3,                   // Syntax analysis
    sentimentAnalysis              = 4,                   // Sentiment analysis
    topicDetection                 = 5,                   // Topic detection
    semanticAnalysis               = 6,                   // Semantic analysis
}

PartOfSpeech

Part of speech tag

const enum PartOfSpeech {
    unknown                        = 0,                   // Not known
    word                           = 1,                   // A word
    punctuation                    = 2,                   // A punctuation character
    number                         = 3,                   // A number
    name                           = 4,                   // A given name
    interjection                   = 5,                   // Uh, huh etc
    symbol                         = 6,                   // A symbol
    article                        = 7,                   // An article (the, a, etc)
    conjunction                    = 8,                   // A conjunction(and, or, etc)
    preposition                    = 9,                   // A preposition (for, to, etc)
    pronoun                        = 10,                  // A pronoun (he, she, etc)
    noun                           = 11,                  // A noun
    verb                           = 12,                  // A verb
    adjective                      = 13,                  // An adjective
    adverb                         = 14,                  // An adverb
    possessiveNoun                 = 15,                  // A possessive noun (the dog's, a rabbit's, etc)
    possessivePronoun              = 16,                  // A posssessive pronoun (her, his, etc)
    possessiveName                 = 17,                  // A possessive name (John's, Julia's, etc)
    possessiveMarker               = 18,                  // A possessive marker (')
    max                            = 19,                  // Maximum value for POS
}

PointerType

WordNet sense pointer type

const enum PointerType {
    unknown                        = 0,                   // Not known
    antonym                        = 1,                   // Antonym
    hypernym                       = 2,                   // A more generic term
    instanceHypernym               = 3,                   // A specific instance of a more generic term
    memberHolonym                  = 4,                   // Holonym ("a part of") by member
    substanceHolonym               = 5,                   // Holonym ("a part of") by substance
    partHolonym                    = 6,                   // Holonym ("a part of")
    memberMeronym                  = 7,                   // Meronym ("is a part of") by member
    substanceMeronym               = 8,                   // Meronym ("is a part of") by substance
    partMeronym                    = 9,                   // Meronym ("is a part of")
    attribute                      = 10,                  // A noun for which adjectives express values. The noun weight is an attribute, for which the adjectives light and heavy express values.
    derivationallyRelatedForm      = 11,                  // Terms in different syntactic categories that have the same root form and are semantically related.
    domainOfSynset_category        = 12,                  // Related by category
    domainOfSynset_region          = 13,                  // Related by region
    domainOfSynset_usage           = 14,                  // Related by usage
    memberOfDomain_category        = 15,                  // Related by category
    memberOfDomain_region          = 16,                  // Related by region
    memberOfDomain_usage           = 17,                  // Related by usage
    entailment                     = 18,                  // A verb X entails Y if X cannot be done unless Y is, or has been, done.
    cause                          = 19,                  // Verb causation
    alsoSee                        = 20,                  // Also see
    verbGroup                      = 21,                  // Verb group
    similiarTo                     = 22,                  // Similiar to
    participleOfVerb               = 23,                  // Participle Of Verb
    relatedTo                      = 24,                  // Hyponym - a "type of" relationship
    instanceRelatedTo              = 25,                  // Hyponym ("type of") relationship based on a specific instance
    derivedFromAdjective           = 26,                  // Derived from adjective
    pertainym                      = 27,                  // A relational adjective. Adjectives that are pertainyms are usually defined by such phrases as "of or pertaining to" and do not have antonyms. A pertainym can point to a noun or another pertainym.
    max                            = 28,                  // Maximum index
}

TokenType

The type of a token

const enum TokenType {
    none                           = 0,                   // Nothing special
    url                            = 1,                   // A url
    email                          = 2,                   // An email address
    date                           = 3,                   // A date
    time                           = 4,                   // A time
    currency                       = 5,                   // A currency symbol
    number                         = 6,                   // A number
    punctuation                    = 7,                   // Punctuation characters
    numericPhrase                  = 8,                   // A numeric phrase
    weight                         = 9,                   // A weight (e.g. 5kgs)
    length                         = 10,                  // A length (e.g. 2km)
    temperature                    = 11,                  // A temperature (e.g. 5c)
    speed                          = 12,                  // A speed (e.g. 100kmh)
    volume                         = 13,                  // A volume
    area                           = 14,                  // An area
    person                         = 15,                  // A person
    malePerson                     = 16,                  // A male person
    femalePerson                   = 17,                  // A female person
    group                          = 18,                  // An organisation or group
    location                       = 19,                  // A location
    noun                           = 20,                  // A noun
    nounPhrase                     = 21,                  // A noun phrase
    prepositionPhrase              = 22,                  // A preposition phrase
    subject                        = 23,                  // A verb phrase subject
    object                         = 24,                  // A verb phrase object
    verb                           = 25,                  // A verb
    presentSimple                  = 26,                  // A present tense verb phrase
    presentContinuous              = 27,                  // A present continuous tense verb phrase
    presentPerfect                 = 28,                  // A present perfect tense verb phrase
    presentPerfectContinuous       = 29,                  // A present perfect continuous tense verb phrase
    pastSimple                     = 30,                  // A past tense verb phrase
    pastContinuous                 = 31,                  // A past continuous tense verb phrase
    pastPerfect                    = 32,                  // A past perfect tense verb phrase
    pastPerfectContinuous          = 33,                  // A past perfect continuous tense verb phrase
    futureSimple                   = 34,                  // A future tense verb phrase
    futureContinuous               = 35,                  // A future continuous tense verb phrase
    futurePerfect                  = 36,                  // A future perfect tense verb phrase
    futurePerfectContinuous        = 37,                  // A future perfect continuous tense verb phrase
    futureInPast                   = 38,                  // A future in past tense verb phrase
    usedTo                         = 39,                  // A "used to" verb phrase
    wouldAlways                    = 40,                  // A "would always" verb phrase
    infinitive                     = 41,                  // Infinitive verb phrase
}

WordnetPartOfSpeech

Part of speech for WordNet sense indices

const enum WordnetPartOfSpeech {
    unknown                        = 0,                   // Not knowne
    noun                           = 1,                   // Noun
    verb                           = 2,                   // Verb
    adjective                      = 3,                   // Adjective
    adjectiveSatellite             = 4,                   // Adjective satellite. See https://wordnet.princeton.edu/wordnet/man/wngloss.7WN.html
    adverb                         = 5,                   // Adverb
    punctuation                    = 6,                   // Punctuation
}

Interfaces

ExpandedSenseIndex

A sense index whose sense pointers have been expanded to include the sense indices they refer to

interface ExpandedSenseIndex extends SenseIndex {
	expandedPointer:               ExpandedSensePointer[],// List of expanded sense pointers
}

ExpandedSensePointer

A sense pointer that has been expanded to include the sense index it points to

interface ExpandedSensePointer extends SenseIndex {
	type:                          PointerType,         // Pointer type
	source:                        number,              // Source word index (0 for all words)
	target:                        number,              // Target word index (0 for all words)
}

GlossWord

A word within a sense index's definition

interface GlossWord {
	text:                          string,              // Word text
	pos:                           PartOfSpeech,        // Part of speech
	semanticIndex?:                number,              // (Optional) sense index id
	hasLeadingSpace:               boolean,             // True if the word has a leading space
}

JobInfo

Information about a lodged job

interface JobInfo {
	id:                            number,              // Job id
	type:                          JobType,             // Job type
	status:                        string,              // Job completion status
	date:                          Date,                // Job lodgement date
	hasCompleted:                  boolean,             // True if the job has completed
	inputSize:                     number,              // Size in characters of the job input
	outputSize:                    number,              // Size in bytes of the job's output
	cost:                          number,              // Cost in credits to execute the job
}

RankedWord

A ranked word

interface RankedWord {
	word:                          string,              // The word text
	score:                         number,              // The word's score
}

SenseIndex

WordNet sense index

interface SenseIndex {
	partOfSpeech:                  WordnetPartOfSpeech, // Part of speech
	name:                          string[],            // List of words in the sense index's name
	classification:                string[],            // List of words that specify the sense index domain (optional)
	definition:                    GlossWord[],         // List of words in the definition
	example:                       string[],            // List of example sentences (optional)
	pointer:                       SensePointer[],      // List of pointers to related sense indices
	verbFrame:                     VerbFrame[],         // List of verb frames (optional)
	uniqueId:                      string,              // Unique id
	id:                            number,              // Sense index id
}

SensePointer

Pointer to a sense index

interface SensePointer {
	id:                            number,              // Sense index id
	type:                          PointerType,         // Type of pointer
	source:                        number,              // Source word index (0 for all words)
	target:                        number,              // Target word index (0 for all words)
}

Sentence

Parsed sentence

interface Sentence {
	words:                         Word[],              // List of words
}

SimpleToken

Simple tokenisation token

interface SimpleToken {
	type:                          TokenType,           // Token type
	text:                          string,              // Token text
	lemma:                         string,              // Token lemma (optional)
}

Token

A recursive token within a parse tree

interface Token {
	type:                          TokenType,           // Token type
	pos:                           PartOfSpeech,        // Token part of speech
	text:                          string,              // Token text
	lemma:                         string,              // Base form of word (optional)
	offset:                        number,              // Equivalent to an ordered id - the offset of the token within the text
	isCapitalised:                 boolean,             // True if the token is capitalised
	isPlural:                      boolean,             // True if the token is a plural noun
	isPassive:                     boolean,             // True if the token is a passive verb
	isQuestion:                    boolean,             // True if the token is a question
	topicId?:                      number,              // Topic id (if any) associated with the token
	children:                      Token[],             // List of the token's children (optional)
	senseIndex:                    number[],            // List of possible WordNet sense indices (if any)
	referent:                      number[],            // List of referents, indexed by token offset (optional)
}

TopicDetectionResults

Topic detection results

interface TopicDetectionResults {
	category:                      string[],            // List of ranked likely topic domains
	topic:                         TopicInfo[],         // List of topics found in the text
}

TopicInfo

Topic information

interface TopicInfo {
	topicId:                       number,              // Topic id
	title:                         string,              // Name of the topic
	sense:                         number[],            // Related sense indices
	category:                      string[],            // List of the topic's categories
}

VerbFrame

A verb frame

interface VerbFrame {
	index:                         number,              // Verb frame index. See https://wordnet.princeton.edu/man/wninput.5WN.html#toc4
	wordIndex:                     number,              // Word index that the frame refers to (0 for all words)
}

Word

A parsed word

interface Word {
	text:                          string,              // Word text
	lemma:                         string,              // Base form of word (optional)
	pos:                           PartOfSpeech,        // Word part of speech
	sentimentStrength:             number,              // The strength of sentiment - from 0 (low) to 1 (high)
	sentimentPolarity:             number,              // The type of sentiment expressed - from 0 (negative) to 1 (positive)
}

WordEmbeddingResults

Results from executing a word embedding query

interface WordEmbeddingResults {
	word:                          RankedWord[],        // List of related words
	vector:                        number[],            // Word embedding vector
}

WordnetSearchResults

WordNet search results

interface WordnetSearchResults {
	suggestion:                    string[],            // List of suggested words if nothing was found
	sense:                         SenseIndex[],        // List of matching sense indices
}