UNPKG

tpmkms

Version:

Reusable libraries for Entodicton, a natural language to json converter

1,994 lines 41 kB
{ "configs": [ "dimension and unit are concepts", { "name": "dimension", "operators": [ "([dimension])", "([unit])", "((amount/1 || number/1) [amountOfDimension|] ([unit]))", "(([amount]) [unit])", "((dimension/1) [convertToUnits|in] (unit/1))", "(([number]) [degree])", { "pattern": "([length])", "development": true } ], "priorities": [ { "context": [ [ "amountOfDimension", 0 ], [ "convertToUnits", 0 ] ], "choose": [ 0 ] } ], "hierarchy": [ { "child": "convertToUnits", "parent": "testingValue", "development": true } ], "generators": [ { "match": "({context}) => context.marker == 'noconversion'", "apply": "async ({context, gp}) => `there is no conversion between ${await gp(context.from)} and ${await gp(context.to)}`" } ], "bridges": [ { "where": "/home/dev/code/theprogrammablemind/kms/common/dimension.js:84", "id": "dimension", "bridge": "{ ...next(operator) }", "isA": [], "generatorpr": {} }, { "id": "length", "isA": [ "dimension" ], "bridge": "{ ...next(operator) }", "development": true }, { "id": "amount" }, { "where": "/home/dev/code/theprogrammablemind/kms/common/dimension.js:110", "id": "degree", "words": [ { "word": "degrees", "number": "many" } ], "isA": [ "amount" ], "generatorp": "async ({context, g}) => (context.amount) ? `${await g(context.amount)} ${context.word}` : context.word", "bridge": "{ ...next(operator), value: before[0].value, amount: before[0] }" }, { "id": "amountOfDimension", "convolution": true, "bridge": "{ marker: operator('dimension'), unit: after[0], value: before[0].value, amount: before[0] }" }, { "where": "/home/dev/code/theprogrammablemind/kms/common/dimension.js:123", "id": "convertToUnits", "bridge": "{ ...next(operator), from: before[0], to: after[0] }", "isA": [ "expression", "queryable" ], "localHierarchy": [ [ "unknown", "dimension" ] ], "after": [ [ "possession", 0 ], [ "possession", 1 ] ], "generatorp": "async ({context, g}) => `${await g(context.from)} ${context.word} ${await g(context.to)}`", "evaluator": "async ({context, kms, e, error}) => {\n /*\n error(({context, e}) => {\n context.evalue = 'dont know...'\n })\n */\n const from = context.from;\n const to = context.to;\n let evalue;\n let efrom = from\n if (!from.unit) {\n efrom = (await e(from)).evalue\n }\n if (to.value == efrom.unit.value) {\n evalue = efrom.amount\n } else {\n const formula = kms.formulas.api.get(to, [efrom.unit])\n if (!formula) {\n const reason = { marker: 'reason', focusableForPhrase: true, evalue: { marker: 'noconversion', from: efrom.unit, to } }\n kms.stm.api.mentioned({ context: reason })\n error(reason)\n }\n kms.stm.api.setVariable(efrom.unit.value, efrom.amount)\n evalue = await e(formula)\n }\n /*\n '{\n \"marker\":\"dimension\",\n \"unit\":{\"marker\":\"unit\",\"range\":{\"start\":19,\"end\":25},\"word\":\"celcius\",\"text\":\"celcius\",\"value\":\"celcius\",\"unknown\":true,\"types\":[\"unit\",\"unknown\"]},\n \"value\":10,\n \"amount\":{\"word\":\"degrees\",\"number\":\"many\",\"text\":\"10 degrees\",\"marker\":\"degree\",\"range\":{\"start\":8,\"end\":17},\"value\":10,\"amount\":{\"value\":10,\"text\":\"10\",\"marker\":\"number\",\"word\":\"10\",\"range\":{\"start\":8,\"end\":9},\"types\":[\"number\"]}},\n \"text\":\"10 degrees celcius\",\"range\":{\"start\":8,\"end\":25}}'\n */\n context.evalue = { \n paraphrase: true,\n marker: 'dimension',\n level: 1,\n unit: to,\n amount: { evalue, paraphrase: undefined }\n }\n }" }, { "id": "unit", "isA": [ "number" ] } ] } ], "resultss": [ { "hierarchy": [ [ "a", "article", false ], [ "adjective", "adjective", false ], [ "all", "quantifier", false ], [ "article", "article", false ], [ "ascending", "hierarchyAble", false ], [ "ascending", "isEdee", false ], [ "ascending", "isEder", false ], [ "ascending", "object", false ], [ "ascending", "property", false ], [ "ascending", "queryable", false ], [ "ascending", "sort_ordering", false ], [ "ascending", "theAble", false ], [ "between", "preposition", false ], [ "calculate", "verb", false ], [ "canBeDoQuestion", "canBeDoQuestion", false ], [ "canBeQuestion", "canBeQuestion", false ], [ "comparable", "theAble", false ], [ "concept", "queryable", false ], [ "concept", "theAble", false ], [ "condition", "condition", false ], [ "countable", "hierarchyAble", false ], [ "descending", "hierarchyAble", false ], [ "descending", "isEdee", false ], [ "descending", "isEder", false ], [ "descending", "object", false ], [ "descending", "property", false ], [ "descending", "queryable", false ], [ "descending", "sort_ordering", false ], [ "descending", "theAble", false ], [ "distributable", "queryable", false ], [ "divideByExpression", "mathematicalExpression", false ], [ "divideByOperator", "mathematical_operator", false ], [ "doubleQuote", "queryable", false ], [ "each", "article", false ], [ "evaluate", "verb", false ], [ "every", "article", false ], [ "expression", "expression", false ], [ "forVariable", "preposition", false ], [ "formula", "concept", false ], [ "formula", "hierarchyAble", false ], [ "formula", "isEdee", false ], [ "formula", "isEder", false ], [ "formula", "object", false ], [ "formula", "property", false ], [ "formula", "queryable", false ], [ "formula", "theAble", false ], [ "formulaForVariable", "preposition", false ], [ "formulaForVariable", "queryable", false ], [ "hasCountOfPieces", "countable", false ], [ "have", "canBeDoQuestion", false ], [ "have", "canBeQuestion", false ], [ "hierarchyAble", "queryable", false ], [ "highest", "condition", false ], [ "ifAble", "ifAble", false ], [ "integer", "number", false ], [ "is", "canBeQuestion", false ], [ "is", "verb", false ], [ "isEdee", "isEdee", false ], [ "isEder", "isEder", false ], [ "isQuery", "verb", false ], [ "it", "pronoun", false ], [ "it", "queryable", false ], [ "it", "thisitthat", false ], [ "it", "toAble", false ], [ "listable", "theAble", false ], [ "lowest", "condition", false ], [ "mathematical", "hierarchyAble", false ], [ "mathematical", "isEdee", false ], [ "mathematical", "isEder", false ], [ "mathematical", "object", false ], [ "mathematical", "operator_modifier", false ], [ "mathematical", "property", false ], [ "mathematical", "queryable", false ], [ "mathematical", "theAble", false ], [ "mathematicalExpression", "concept", false ], [ "mathematicalExpression", "expression", false ], [ "mathematicalExpression", "number", false ], [ "mathematical_operator", "adjective", true ], [ "mathematical_operator", "concept", false ], [ "mathematical_operator", "hierarchyAble", false ], [ "mathematical_operator", "isEdee", false ], [ "mathematical_operator", "isEder", false ], [ "mathematical_operator", "object", false ], [ "mathematical_operator", "operator", false ], [ "mathematical_operator", "property", false ], [ "mathematical_operator", "queryable", false ], [ "mathematical_operator", "theAble", false ], [ "memorable", "theAble", false ], [ "minusExpression", "mathematicalExpression", false ], [ "minusOperator", "mathematical_operator", false ], [ "modifies", "verb", false ], [ "negatable", "queryable", false ], [ "noun", "theAble", false ], [ "number", "expression", false ], [ "number", "quantifier", false ], [ "number", "queryable", false ], [ "object", "listable", false ], [ "object", "queryable", false ], [ "object", "theAble", false ], [ "operator", "concept", false ], [ "operator", "hierarchyAble", false ], [ "operator", "isEdee", false ], [ "operator", "isEder", false ], [ "operator", "object", false ], [ "operator", "property", false ], [ "operator", "queryable", false ], [ "operator", "theAble", false ], [ "operator_modifier", "adjective", false ], [ "orAble", "ifAble", false ], [ "ordering", "concept", false ], [ "ordering", "hierarchyAble", false ], [ "ordering", "isEdee", false ], [ "ordering", "isEder", false ], [ "ordering", "object", false ], [ "ordering", "property", false ], [ "ordering", "queryable", false ], [ "ordering", "theAble", false ], [ "ordering_modifier", "adjective", false ], [ "plusExpression", "mathematicalExpression", false ], [ "plusOperator", "mathematical_operator", false ], [ "preposition", "preposition", false ], [ "pronoun", "pronoun", false ], [ "property", "queryable", false ], [ "property", "theAble", false ], [ "propertyOf", "preposition", false ], [ "punctuation", "punctuation", false ], [ "quantifier", "quantifier", false ], [ "queryable", "listable", false ], [ "questionMark", "punctuation", false ], [ "readonly", "queryable", false ], [ "reason", "queryable", false ], [ "reason", "theAble", false ], [ "remember", "verb", false ], [ "sort", "hierarchyAble", false ], [ "sort", "isEdee", false ], [ "sort", "isEder", false ], [ "sort", "object", false ], [ "sort", "ordering_modifier", false ], [ "sort", "property", false ], [ "sort", "queryable", false ], [ "sort", "theAble", false ], [ "sortOrdering", "adjective", false ], [ "sort_ordering", "adjective", true ], [ "sort_ordering", "concept", false ], [ "sort_ordering", "hierarchyAble", false ], [ "sort_ordering", "isEdee", false ], [ "sort_ordering", "isEder", false ], [ "sort_ordering", "object", false ], [ "sort_ordering", "ordering", false ], [ "sort_ordering", "property", false ], [ "sort_ordering", "queryable", false ], [ "sort_ordering", "theAble", false ], [ "stm_before", "adjective", false ], [ "that", "thisitthat", false ], [ "the", "article", false ], [ "theAble", "queryable", false ], [ "this", "pronoun", false ], [ "this", "queryable", false ], [ "this", "thisitthat", false ], [ "thisitthat", "queryable", false ], [ "timesExpression", "mathematicalExpression", false ], [ "timesOperator", "mathematical_operator", false ], [ "to", "preposition", false ], [ "toAble", "toAble", false ], [ "type", "property", false ], [ "type", "whatAble", false ], [ "unknown", "hierarchyAble", false ], [ "verb", "verb", false ], [ "what", "object", false ], [ "what", "queryable", false ], [ "whatAble", "queryable", false ], [ "whose", "object", false ], [ "x", "number", false ], [ "xfx", "queryable", false ], [ "y", "number", false ] ], "metadata": { "opChoices": [ { "op": [ "unknown", 0 ], "ops": [ [ "is", 0 ], [ "list", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ] ], "counter": 1 }, { "op": [ "unknown", 0 ], "ops": [ [ "is", 0 ], [ "list", 0 ], [ "unknown", 0 ], [ "unknown", 0 ] ], "counter": 2 }, { "op": [ "unknown", 0 ], "ops": [ [ "is", 0 ], [ "list", 0 ], [ "unknown", 0 ] ], "counter": 3 }, { "op": [ "list", 0 ], "ops": [ [ "is", 0 ], [ "list", 0 ] ], "counter": 4 }, { "op": [ "is", 0 ], "ops": [ [ "is", 0 ] ], "counter": 5 }, { "op": [ "is", 1 ], "ops": [ [ "is", 1 ] ], "counter": 6 } ] }, "trace": "undefined", "contexts": [ { "number": "many", "text": "dimension and unit are concepts", "marker": "is", "word": "are", "range": { "start": 0, "end": 30 }, "one": { "number": "many", "marker": "list", "default": true, "word": "and", "text": "dimension and unit", "range": { "start": 0, "end": 30 }, "types": [ "list", "unknown" ], "listable": true, "isList": true, "value": [ { "value": "dimension", "unknown": true, "text": "dimension", "marker": "unknown", "word": "dimension", "range": { "start": 0, "end": 8 }, "types": [ "unknown" ], "dead": true, "level": 0 }, { "value": "unit", "unknown": true, "text": "unit", "marker": "unknown", "word": "unit", "range": { "start": 14, "end": 17 }, "types": [ "unknown" ], "dead": true, "level": 0 } ], "level": 1 }, "two": { "value": "concepts", "unknown": true, "text": "concepts", "marker": "unknown", "word": "concepts", "range": { "start": 23, "end": 30 }, "dead": true, "types": [ "unknown" ], "level": 0, "concept": true }, "dead": true, "level": 2, "context_index": 1, "topLevel": true, "context_id": 2, "touchedBy": [ "dimension#call2" ] } ], "generated": [ "" ], "paraphrases": [ "dimension and unit are concepts" ], "paraphrasesParenthesized": [], "generatedParenthesized": [], "responses": [ "" ], "associations": [ [ [ "is", 0 ], [ "list", 0 ], [ "unknown", 0 ] ], [ [ "is", 0 ], [ "list", 1 ], [ "unknown", 0 ] ] ], "summaries": [ { "summaries": [ { "operators": [ { "marker": [ "unknown", 0 ], "range": { "start": 0, "end": 8 } }, { "marker": [ "list", 0 ], "range": { "start": 10, "end": 12 } }, { "marker": [ "unknown", 0 ], "range": { "start": 14, "end": 17 } }, { "marker": [ "is", 0 ], "range": { "start": 19, "end": 21 } }, { "marker": [ "unknown", 0 ], "range": { "start": 23, "end": 30 } } ], "counter": 1 }, { "operators": [ { "marker": [ "unknown", 0 ], "range": { "start": 0, "end": 8 } }, { "marker": [ "list", 0 ], "range": { "start": 10, "end": 12 } }, { "marker": [ "unknown", 0 ], "range": { "start": 14, "end": 17 } }, { "marker": [ "is", 0 ], "range": { "start": 19, "end": 21 } }, { "marker": [ "unknown", 0 ], "range": { "start": 23, "end": 30 } } ], "counter": 2 }, { "operators": [ { "marker": [ "unknown", 0 ], "range": { "start": 0, "end": 8 } }, { "marker": [ "list", 0 ], "range": { "start": 10, "end": 12 } }, { "marker": [ "unknown", 0 ], "range": { "start": 14, "end": 17 } }, { "marker": [ "is", 0 ], "range": { "start": 19, "end": 21 } }, { "marker": [ "unknown", 0 ], "range": { "start": 23, "end": 30 } } ], "counter": 3 }, { "operators": [ { "marker": [ "unknown", 0 ], "range": { "start": 0, "end": 8 } }, { "marker": [ "list", 0 ], "range": { "start": 10, "end": 12 } }, { "marker": [ "unknown", 0 ], "range": { "start": 14, "end": 17 } }, { "marker": [ "is", 0 ], "range": { "start": 19, "end": 21 } }, { "marker": [ "unknown", 0 ], "range": { "start": 23, "end": 30 } } ], "counter": 4 }, { "operators": [ { "marker": [ "list", 1 ], "range": { "start": 0, "end": 17 } }, { "marker": [ "is", 0 ], "range": { "start": 19, "end": 21 } }, { "marker": [ "unknown", 0 ], "range": { "start": 23, "end": 30 } } ], "counter": 5 }, { "operators": [ { "marker": [ "is", 1 ], "range": { "start": 0, "end": 30 } } ], "counter": 6 }, { "operators": [ { "marker": [ "is", 2 ], "range": { "start": 0, "end": 30 } } ], "counter": 7 } ], "length": 1 } ], "learned_contextual_priorities": [], "query": "dimension and unit are concepts", "key": { "query": "dimension and unit are concepts" } }, { "extraConfig": true, "name": "dimension", "operators": [ "([dimension])", "([unit])", "((amount/1 || number/1) [amountOfDimension|] ([unit]))", "(([amount]) [unit])", "((dimension/1) [convertToUnits|in] (unit/1))", "(([number]) [degree])", { "pattern": "([length])", "development": true } ], "priorities": [ { "context": [ [ "amountOfDimension", 0 ], [ "convertToUnits", 0 ] ], "choose": [ 0 ] } ], "hierarchy": [ { "child": "convertToUnits", "parent": "testingValue", "development": true } ], "generators": [ { "where": "/home/dev/code/theprogrammablemind/kms/common/dimension.js:77" } ], "bridges": [ { "where": "/home/dev/code/theprogrammablemind/kms/common/dimension.js:84", "id": "dimension", "bridge": "{ ...next(operator) }", "isA": [], "generatorpr": {} }, { "id": "length", "isA": [ "dimension" ], "bridge": "{ ...next(operator) }", "development": true }, { "id": "amount" }, { "where": "/home/dev/code/theprogrammablemind/kms/common/dimension.js:110", "id": "degree", "words": [ { "word": "degrees", "number": "many" } ], "isA": [ "amount" ], "bridge": "{ ...next(operator), value: before[0].value, amount: before[0] }" }, { "id": "amountOfDimension", "convolution": true, "bridge": "{ marker: operator('dimension'), unit: after[0], value: before[0].value, amount: before[0] }" }, { "where": "/home/dev/code/theprogrammablemind/kms/common/dimension.js:123", "id": "convertToUnits", "bridge": "{ ...next(operator), from: before[0], to: after[0] }", "isA": [ "expression", "queryable" ], "localHierarchy": [ [ "unknown", "dimension" ] ], "after": [ [ "possession", 0 ], [ "possession", 1 ] ] }, { "id": "unit", "isA": [ "number" ] } ] } ], "fragments": [], "semantics": [], "associations": [ [ [ "is", 0 ], [ "list", 0 ], [ "unknown", 0 ] ], [ [ "is", 0 ], [ "list", 1 ], [ "unknown", 0 ] ] ], "summaries": [ { "summaries": [ { "operators": [ { "marker": [ "unknown", 0 ], "range": { "start": 0, "end": 8 } }, { "marker": [ "list", 0 ], "range": { "start": 10, "end": 12 } }, { "marker": [ "unknown", 0 ], "range": { "start": 14, "end": 17 } }, { "marker": [ "is", 0 ], "range": { "start": 19, "end": 21 } }, { "marker": [ "unknown", 0 ], "range": { "start": 23, "end": 30 } } ], "counter": 1 }, { "operators": [ { "marker": [ "unknown", 0 ], "range": { "start": 0, "end": 8 } }, { "marker": [ "list", 0 ], "range": { "start": 10, "end": 12 } }, { "marker": [ "unknown", 0 ], "range": { "start": 14, "end": 17 } }, { "marker": [ "is", 0 ], "range": { "start": 19, "end": 21 } }, { "marker": [ "unknown", 0 ], "range": { "start": 23, "end": 30 } } ], "counter": 2 }, { "operators": [ { "marker": [ "unknown", 0 ], "range": { "start": 0, "end": 8 } }, { "marker": [ "list", 0 ], "range": { "start": 10, "end": 12 } }, { "marker": [ "unknown", 0 ], "range": { "start": 14, "end": 17 } }, { "marker": [ "is", 0 ], "range": { "start": 19, "end": 21 } }, { "marker": [ "unknown", 0 ], "range": { "start": 23, "end": 30 } } ], "counter": 3 }, { "operators": [ { "marker": [ "unknown", 0 ], "range": { "start": 0, "end": 8 } }, { "marker": [ "list", 0 ], "range": { "start": 10, "end": 12 } }, { "marker": [ "unknown", 0 ], "range": { "start": 14, "end": 17 } }, { "marker": [ "is", 0 ], "range": { "start": 19, "end": 21 } }, { "marker": [ "unknown", 0 ], "range": { "start": 23, "end": 30 } } ], "counter": 4 }, { "operators": [ { "marker": [ "list", 1 ], "range": { "start": 0, "end": 17 } }, { "marker": [ "is", 0 ], "range": { "start": 19, "end": 21 } }, { "marker": [ "unknown", 0 ], "range": { "start": 23, "end": 30 } } ], "counter": 5 }, { "operators": [ { "marker": [ "is", 1 ], "range": { "start": 0, "end": 30 } } ], "counter": 6 }, { "operators": [ { "marker": [ "is", 2 ], "range": { "start": 0, "end": 30 } } ], "counter": 7 } ], "length": 1 } ], "learned_contextual_priorities": [] }