tpmkms
Version:
Reusable libraries for Entodicton, a natural language to json converter
1,994 lines • 41 kB
JSON
{
"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": []
}