tpmkms
Version:
Reusable libraries for Entodicton, a natural language to json converter
1,584 lines (1,583 loc) • 5.43 MB
JSON
[
{
"associations": [
],
"config": {
},
"contexts": [
{
"context_id": 2,
"context_index": 1,
"dead": true,
"default": true,
"interpolate": [
{
"context": {
"default": true,
"level": 0,
"marker": "stop",
"range": {
"end": 3,
"start": 0
},
"text": "stop",
"value": "stop",
"word": "stop"
}
},
{
"property": "object"
}
],
"level": 1,
"marker": "stop",
"object": {
"marker": "drone",
"range": {
"end": 3,
"start": 0
},
"text": "stop"
},
"range": {
"end": 3,
"start": 0
},
"text": "stop",
"topLevel": true,
"touchedBy": [
"drone_v1#call2"
],
"value": "stop",
"word": "stop"
},
{
"context_id": 4,
"isResponse": true,
"marker": "verbatim",
"topLevel": true,
"verbatim": "When you are ready say calibrate. The drone will drive forward at 10 percent power then say stop. Measure the distance and tell me that. Or you can say the speed of the drone at percentage of power."
}
],
"generatedParenthesized": [
"",
"(When you are ready say calibrate. The drone will drive forward at 10 percent power then say stop. Measure the distance and tell me that. Or you can say the speed of the drone at percentage of power.)"
],
"metadata": {
"opChoices": [
{
"counter": 1,
"op": [
"stop",
0
],
"ops": [
[
"stop",
0
]
]
}
]
},
"objects": {
"associations": [
],
"nameToUUID": {
"articles": "articles2",
"asking": "asking2",
"comparable": "comparable2",
"concept": "concept2",
"conjunction": "conjunction2",
"countable": "countable2",
"dialogues": "dialogues2",
"dimension": "dimension2",
"drone_v1": "drone_v11",
"evaluate": "evaluate2",
"formulas": "formulas2",
"gdefaults": "gdefaults2",
"help": "help2",
"hierarchy": "hierarchy2",
"length": "length2",
"math": "math2",
"meta": "meta2",
"nameable": "nameable2",
"negation": "negation2",
"numbers": "numbers2",
"ordinals": "ordinals2",
"pos": "pos2",
"properties": "properties2",
"punctuation": "punctuation2",
"rates": "rates2",
"sdefaults": "sdefaults2",
"stm": "stm2",
"tell": "tell2",
"testing": "testing2",
"time": "time2",
"tokenize": "tokenize2",
"words": "words2"
},
"namespaced": {
"articles2": {
"km": "articles2"
},
"asking2": {
"km": "asking2"
},
"comparable2": {
"km": "comparable2"
},
"concept2": {
"defaultTypesForHierarchy": {
},
"km": "concept2",
"valueToWords": [
]
},
"conjunction2": {
"km": "conjunction2"
},
"countable2": {
"km": "countable2"
},
"dialogues2": {
"idSuffix": "",
"km": "dialogues2",
"mentioned": [
],
"variables": {
}
},
"dimension2": {
"km": "dimension2"
},
"drone_v11": {
"calibration": {
"power": 0.1
},
"current": {
"angleInDegrees": 0,
"power": 0.1
},
"defaultTime": {
"hour": 9,
"millisecond": 0,
"minute": 0,
"second": 0
},
"history": [
],
"isCalibrated": false,
"km": "drone_v11",
"ordinal": 0
},
"evaluate2": {
"km": "evaluate2"
},
"formulas2": {
"formulas": {
"centimeter": [
{
"equality": {
"context_id": null,
"context_index": 1,
"dead": true,
"left": {
"dead": true,
"dimension": "length",
"level": 0,
"marker": "centimeter",
"number": "many",
"range": {
"end": 10,
"start": 0
},
"text": "centimeters",
"types": [
"centimeter"
],
"value": "centimeter",
"word": "centimeters"
},
"level": 1,
"marker": "equals",
"range": {
"end": 25,
"start": 0
},
"right": {
"dead": true,
"evaluate": true,
"interpolate": [
{
"property": "x"
},
{
"property": "operator"
},
{
"property": "y"
}
],
"isResponse": true,
"level": 1,
"marker": "timesExpression",
"number": "one",
"operator": {
"level": 0,
"marker": "timesOperator",
"range": {
"end": 21,
"start": 21
},
"text": "*",
"value": "timesOperator",
"word": "*"
},
"range": {
"end": 25,
"start": 14
},
"text": "meters * 100",
"types": [
"number",
"timesExpression"
],
"value": null,
"word": "*",
"x": {
"dead": true,
"dimension": "length",
"level": 0,
"marker": "meter",
"number": "many",
"range": {
"end": 19,
"start": 14
},
"text": "meters",
"types": [
"meter"
],
"value": "meter",
"word": "meters"
},
"y": {
"dead": true,
"instance": true,
"level": 1,
"marker": "integer",
"range": {
"end": 25,
"start": 23
},
"text": "100",
"types": [
"integer"
],
"value": 100,
"word": "100"
}
},
"text": "centimeters = meters * 100",
"topLevel": true,
"touchedBy": [
"length#call2",
"instance5#length#call2",
"instance5#rates#call2",
"instance5#drone_v1#call2"
],
"value": "equals",
"word": "="
},
"formula": {
"dead": true,
"evaluate": true,
"interpolate": [
{
"property": "x"
},
{
"property": "operator"
},
{
"property": "y"
}
],
"isResponse": true,
"level": 1,
"marker": "timesExpression",
"number": "one",
"operator": {
"level": 0,
"marker": "timesOperator",
"range": {
"end": 21,
"start": 21
},
"text": "*",
"value": "timesOperator",
"word": "*"
},
"range": {
"end": 25,
"start": 14
},
"text": "meters * 100",
"types": [
"number",
"timesExpression"
],
"value": null,
"word": "*",
"x": {
"dead": true,
"dimension": "length",
"level": 0,
"marker": "meter",
"number": "many",
"range": {
"end": 19,
"start": 14
},
"text": "meters",
"types": [
"meter"
],
"value": "meter",
"word": "meters"
},
"y": {
"dead": true,
"instance": true,
"level": 1,
"marker": "integer",
"range": {
"end": 25,
"start": 23
},
"text": "100",
"types": [
"integer"
],
"value": 100,
"word": "100"
}
},
"name": {
"dead": true,
"dimension": "length",
"level": 0,
"marker": "centimeter",
"number": "many",
"range": {
"end": 10,
"start": 0
},
"text": "centimeters",
"types": [
"centimeter"
],
"value": "centimeter",
"word": "centimeters"
}
},
{
"equality": {
"context_id": null,
"context_index": 1,
"dead": true,
"left": {
"dead": true,
"dimension": "length",
"level": 0,
"marker": "centimeter",
"number": "many",
"range": {
"end": 10,
"start": 0
},
"text": "centimeters",
"types": [
"centimeter"
],
"value": "centimeter",
"word": "centimeters"
},
"level": 1,
"marker": "equals",
"range": {
"end": 29,
"start": 0
},
"right": {
"dead": true,
"evaluate": true,
"interpolate": [
{
"property": "x"
},
{
"property": "operator"
},
{
"property": "y"
}
],
"isResponse": true,
"level": 1,
"marker": "divideByExpression",
"number": "one",
"operator": {
"level": 0,
"marker": "divideByOperator",
"range": {
"end": 26,
"start": 26
},
"text": "/",
"value": "divideByOperator",
"word": "/"
},
"range": {
"end": 29,
"start": 14
},
"text": "millimeters / 10",
"types": [
"divideByExpression",
"number"
],
"value": null,
"word": "/",
"x": {
"dead": true,
"dimension": "length",
"level": 0,
"marker": "millimeter",
"number": "many",
"range": {
"end": 24,
"start": 14
},
"text": "millimeters",
"types": [
"millimeter"
],
"value": "millimeter",
"word": "millimeters"
},
"y": {
"dead": true,
"instance": true,
"level": 1,
"marker": "integer",
"range": {
"end": 29,
"start": 28
},
"text": "10",
"types": [
"integer"
],
"value": 10,
"word": "10"
}
},
"text": "centimeters = millimeters / 10",
"topLevel": true,
"touchedBy": [
"length#call2",
"instance6#length#call2",
"instance6#rates#call2",
"instance6#drone_v1#call2"
],
"value": "equals",
"word": "="
},
"formula": {
"dead": true,
"evaluate": true,
"interpolate": [
{
"property": "x"
},
{
"property": "operator"
},
{
"property": "y"
}
],
"isResponse": true,
"level": 1,
"marker": "divideByExpression",
"number": "one",
"operator": {
"level": 0,
"marker": "divideByOperator",
"range": {
"end": 26,
"start": 26
},
"text": "/",
"value": "divideByOperator",
"word": "/"
},
"range": {
"end": 29,
"start": 14
},
"text": "millimeters / 10",
"types": [
"divideByExpression",
"number"
],
"value": null,
"word": "/",
"x": {
"dead": true,
"dimension": "length",
"level": 0,
"marker": "millimeter",
"number": "many",
"range": {
"end": 24,
"start": 14
},
"text": "millimeters",
"types": [
"millimeter"
],
"value": "millimeter",
"word": "millimeters"
},
"y": {
"dead": true,
"instance": true,
"level": 1,
"marker": "integer",
"range": {
"end": 29,
"start": 28
},
"text": "10",
"types": [
"integer"
],
"value": 10,
"word": "10"
}
},
"name": {
"dead": true,
"dimension": "length",
"level": 0,
"marker": "centimeter",
"number": "many",
"range": {
"end": 10,
"start": 0
},
"text": "centimeters",
"types": [
"centimeter"
],
"value": "centimeter",
"word": "centimeters"
}
},
{
"equality": {
"context_id": null,
"context_index": 1,
"dead": true,
"left": {
"dead": true,
"dimension": "length",
"level": 0,
"marker": "centimeter",
"number": "many",
"range": {
"end": 10,
"start": 0
},
"text": "centimeters",
"types": [
"centimeter"
],
"value": "centimeter",
"word": "centimeters"
},
"level": 1,
"marker": "equals",
"range": {
"end": 26,
"start": 0
},
"right": {
"dead": true,
"evaluate": true,
"interpolate": [
{
"property": "x"
},
{
"property": "operator"
},
{
"property": "y"
}
],
"isResponse": true,
"level": 1,
"marker": "divideByExpression",
"number": "one",
"operator": {
"level": 0,
"marker": "divideByOperator",
"range": {
"end": 19,
"start": 19
},
"text": "/",
"value": "divideByOperator",
"word": "/"
},
"range": {
"end": 26,
"start": 14
},
"text": "feet / 0.0328",
"types": [
"divideByExpression",
"number"
],
"value": null,
"word": "/",
"x": {
"dead": true,
"dimension": "length",
"level": 0,
"marker": "foot",
"number": "many",
"range": {
"end": 17,
"start": 14
},
"text": "feet",
"types": [
"foot"
],
"value": "foot",
"word": "feet"
},
"y": {
"dead": true,
"instance": true,
"level": 1,
"marker": "number",
"range": {
"end": 26,
"start": 21
},
"text": "0.0328",
"types": [
"number"
],
"value": 0.0328,
"word": "0.0328"
}
},
"text": "centimeters = feet / 0.0328",
"topLevel": true,
"touchedBy": [
"length#call2",
"instance13#length#call2",
"instance13#rates#call2",
"instance13#drone_v1#call2"
],
"value": "equals",
"word": "="
},
"formula": {
"dead": true,
"evaluate": true,
"interpolate": [
{
"property": "x"
},
{
"property": "operator"
},
{
"property": "y"
}
],
"isResponse": true,
"level": 1,
"marker": "divideByExpression",
"number": "one",
"operator": {
"level": 0,
"marker": "divideByOperator",
"range": {
"end": 19,
"start": 19
},
"text": "/",
"value": "divideByOperator",
"word": "/"
},
"range": {
"end": 26,
"start": 14
},
"text": "feet / 0.0328",
"types": [
"divideByExpression",
"number"
],
"value": null,
"word": "/",
"x": {
"dead": true,
"dimension": "length",
"level": 0,
"marker": "foot",
"number": "many",
"range": {
"end": 17,
"start": 14
},
"text": "feet",
"types": [
"foot"
],
"value": "foot",
"word": "feet"
},
"y": {
"dead": true,
"instance": true,
"level": 1,
"marker": "number",
"range": {
"end": 26,
"start": 21
},
"text": "0.0328",
"types": [
"number"
],
"value": 0.0328,
"word": "0.0328"
}
},
"name": {
"dead": true,
"dimension": "length",
"level": 0,
"marker": "centimeter",
"number": "many",
"range": {
"end": 10,
"start": 0
},
"text": "centimeters",
"types": [
"centimeter"
],
"value": "centimeter",
"word": "centimeters"
}
}
],
"day": [
{
"equality": {
"context_id": null,
"context_index": 1,
"dead": true,
"left": {
"dead": true,
"level": 0,
"marker": "unknown",
"range": {
"end": 2,
"start": 0
},
"text": "day",
"types": [
"expression",
"unknown"
],
"unknown": true,
"value": "day",
"word": "day"
},
"level": 1,
"marker": "equals",
"range": {
"end": 15,
"start": 0
},
"right": {
"dead": true,
"evaluate": true,
"interpolate": [
{
"property": "x"
},
{
"property": "operator"
},
{
"property": "y"
}
],
"isResponse": true,
"level": 1,
"marker": "divideByExpression",
"number": "one",
"operator": {
"level": 0,
"marker": "divideByOperator",
"range": {
"end": 12,
"start": 12
},
"text": "/",
"value": "divideByOperator",
"word": "/"
},
"range": {
"end": 15,
"start": 6
},
"text": "hours / 24",
"types": [
"divideByExpression",
"number"
],
"value": null,
"word": "/",
"x": {
"dead": true,
"dimension": "time",
"level": 0,
"marker": "hour",
"number": "many",
"range": {
"end": 10,
"start": 6
},
"text": "hours",
"types": [
"hour"
],
"value": "hour",
"word": "hours"
},
"y": {
"dead": true,
"instance": true,
"level": 1,
"marker": "integer",
"range": {
"end": 15,
"start": 14
},
"text": "24",
"types": [
"integer"
],
"value": 24,
"word": "24"
}
},
"text": "day = hours / 24",
"topLevel": true,
"touchedBy": [
"time#call2",
"instance7#time#call2",
"instance7#rates#call2",
"instance7#drone_v1#call2"
],
"value": "equals",
"word": "="
},
"formula": {
"dead": true,
"evaluate": true,
"interpolate": [
{
"property": "x"
},
{
"property": "operator"
},
{
"property": "y"
}
],
"isResponse": true,
"level": 1,
"marker": "divideByExpression",
"number": "one",
"operator": {
"level": 0,
"marker": "divideByOperator",
"range": {
"end": 12,
"start": 12
},
"text": "/",
"value": "divideByOperator",
"word": "/"
},
"range": {
"end": 15,
"start": 6
},
"text": "hours / 24",
"types": [
"divideByExpression",
"number"
],
"value": null,
"word": "/",
"x": {
"dead": true,
"dimension": "time",
"level": 0,
"marker": "hour",
"number": "many",
"range": {
"end": 10,
"start": 6
},
"text": "hours",
"types": [
"hour"
],
"value": "hour",
"word": "hours"
},
"y": {
"dead": true,
"instance": true,
"level": 1,
"marker": "integer",
"range": {
"end": 15,
"start": 14
},
"text": "24",
"types": [
"integer"
],
"value": 24,
"word": "24"
}
},
"name": {
"dead": true,
"level": 0,
"marker": "unknown",
"range": {
"end": 2,
"start": 0
},
"text": "day",
"types": [
"expression",
"unknown"
],
"unknown": true,
"value": "day",
"word": "day"
}
}
],
"foot": [
{
"equality": {
"context_id": null,
"context_index": 1,
"dead": true,
"left": {
"dead": true,
"dimension": "length",
"level": 0,
"marker": "foot",
"number": "many",
"range": {
"end": 3,
"start": 0
},
"text": "feet",
"types": [
"foot"
],
"value": "foot",
"word": "feet"
},
"level": 1,
"marker": "equals",
"range": {
"end": 17,
"start": 0
},
"right": {
"dead": true,
"evaluate": true,
"interpolate": [
{
"property": "x"
},
{
"property": "operator"
},
{
"property": "y"
}
],
"isResponse": true,
"level": 1,
"marker": "divideByExpression",
"number": "one",
"operator": {
"level": 0,
"marker": "divideByOperator",
"range": {
"end": 14,
"start": 14
},
"text": "/",
"value": "divideByOperator",
"word": "/"
},
"range": {
"end": 17,
"start": 7
},
"text": "inches / 12",
"types": [
"divideByExpression",
"number"
],
"value": null,
"word": "/",
"x": {
"dead": true,
"dimension": "length",
"level": 0,
"marker": "inch",
"number": "many",
"range": {
"end": 12,
"start": 7
},
"text": "inches",
"types": [
"inch"
],
"value": "inch",
"word": "inches"
},
"y": {
"dead": true,
"instance": true,
"level": 1,
"marker": "integer",
"range": {
"end": 17,
"start": 16
},
"text": "12",
"types": [
"integer"
],
"value": 12,
"word": "12"
}
},
"text": "feet = inches / 12",
"topLevel": true,
"touchedBy": [
"length#call2",
"instance10#length#call2",
"instance10#rates#call2",
"instance10#drone_v1#call2"
],
"value": "equals",
"word": "="
},
"formula": {
"dead": true,
"evaluate": true,
"interpolate": [
{
"property": "x"
},
{
"property": "operator"
},
{
"property": "y"
}
],
"isResponse": true,
"level": 1,
"marker": "divideByExpression",
"number": "one",
"operator": {
"level": 0,
"marker": "divideByOperator",
"range": {
"end": 14,
"start": 14
},
"text": "/",
"value": "divideByOperator",
"word": "/"
},
"range": {
"end": 17,
"start": 7
},
"text": "inches / 12",
"types": [
"divideByExpression",
"number"
],
"value": null,
"word": "/",
"x": {
"dead": true,
"dimension": "length",
"level": 0,
"marker": "inch",
"number": "many",
"range": {
"end": 12,
"start": 7
},
"text": "inches",
"types": [
"inch"
],
"value": "inch",
"word": "inches"
},
"y": {
"dead": true,
"instance": true,
"level": 1,
"marker": "integer",
"range": {
"end": 17,
"start": 16
},
"text": "12",
"types": [
"integer"
],
"value": 12,
"word": "12"
}
},
"name": {
"dead": true,
"dimension": "length",
"level": 0,
"marker": "foot",
"number": "many",
"range": {
"end": 3,
"start": 0
},
"text": "feet",
"types": [
"foot"
],
"value": "foot",
"word": "feet"
}
},
{
"equality": {
"context_id": null,
"context_index": 1,
"dead": true,
"left": {
"dead": true,
"dimension": "length",
"level": 0,
"marker": "foot",
"number": "many",
"range": {
"end": 3,
"start": 0
},
"text": "feet",
"types": [
"foot"
],
"value": "foot",
"word": "feet"
},
"level": 1,
"marker": "equals",
"range": {
"end": 19,
"start": 0
},
"right": {
"dead": true,
"evaluate": true,
"interpolate": [
{
"property": "x"
},
{
"property": "operator"
},
{
"property": "y"
}
],
"isResponse": true,
"level": 1,
"marker": "timesExpression",
"number": "one",
"operator": {
"level": 0,
"marker": "timesOperator",
"range": {
"end": 14,
"start": 14
},
"text": "*",
"value": "timesOperator",
"word": "*"
},
"range": {
"end": 19,
"start": 7
},
"text": "meters * 3.28",
"types": [
"number",
"timesExpression"
],
"value": null,
"word": "*",
"x": {
"dead": true,
"dimension": "length",
"level": 0,
"marker": "meter",
"number": "many",
"range": {
"end": 12,
"start": 7
},
"text": "meters",
"types": [
"meter"
],
"value": "meter",
"word": "meters"
},
"y": {
"dead": true,
"instance": true,
"level": 1,
"marker": "number",
"range": {
"end": 19,
"start": 16
},
"text": "3.28",
"types": [
"number"
],
"value": 3.28,
"word": "3.28"
}
},
"text": "feet = meters * 3.28",
"topLevel": true,
"touchedBy": [
"length#call2",
"instance14#length#call2",
"instance14#rates#call2",
"instance14#drone_v1#call2"
],
"value": "equals",
"word": "="
},
"formula": {
"dead": true,
"evaluate": true,
"interpolate": [
{
"property": "x"
},
{
"property": "operator"
},
{
"property": "y"
}
],
"isResponse": true,
"level": 1,
"marker": "timesExpression",
"number": "one",
"operator": {
"level": 0,
"marker": "timesOperator",
"range": {
"end": 14,
"start": 14
},
"text": "*",
"value": "timesOperator",
"word": "*"
},
"range": {
"end": 19,
"start": 7
},
"text": "meters * 3.28",
"types": [
"number",
"timesExpression"
],
"value": null,
"word": "*",
"x": {
"dead": true,
"dimension": "length",
"level": 0,
"marker": "meter",
"number": "many",
"range": {
"end": 12,
"start": 7
},
"text": "meters",
"types": [
"meter"
],
"value": "meter",
"word": "meters"
},
"y": {
"dead": true,
"instance": true,
"level": 1,
"marker": "number",
"range": {
"end": 19,
"start": 16
},
"text": "3.28",
"types": [
"number"
],
"value": 3.28,
"word": "3.28"
}
},
"name": {
"dead": true,
"dimension": "length",
"level": 0,
"marker": "foot",
"number": "many",
"range": {
"end": 3,
"start": 0
},
"text": "feet",
"types": [
"foot"
],
"value": "foot",
"word": "feet"
}
},
{
"equality": {
"context_id": null,
"context_index": 1,
"dead": true,
"left": {
"dead": true,
"dimension": "length",
"level": 0,
"marker": "foot",
"number": "many",
"range": {
"end": 3,
"start": 0
},
"text": "feet",
"types": [
"foot"
],
"value": "foot",
"word": "feet"
},
"level": 1,
"marker": "equals",
"range": {
"end": 26,
"start": 0
},
"right": {
"dead": true,
"evaluate": true,
"interpolate": [
{
"property": "x"
},
{
"property": "operator"
},
{
"property": "y"
}
],
"isResponse": true,
"level": 1,
"marker": "timesExpression",
"number": "one",
"operator": {
"level": 0,
"marker": "timesOperator",
"range": {
"end": 19,
"start": 19
},
"text": "*",
"value": "timesOperator",
"word": "*"
},
"range": {
"end": 26,
"start": 7
},
"text": "centimeters * 0.0328",
"types": [
"number",
"timesExpression"
],
"value": null,
"word": "*",
"x": {
"dead": true,
"dimension": "length",
"level": 0,
"marker": "centimeter",
"number": "many",
"range": {
"end": 17,
"start": 7
},
"text": "centimeters",
"types": [
"centimeter"
],
"value": "centimeter",
"word": "centimeters"
},
"y": {
"dead": true,
"instance": true,
"level": 1,
"marker": "number",
"range": {
"end": 26,
"start": 21
},
"text": "0.0328",
"types": [
"number"
],
"value": 0.0328,
"word": "0.0328"
}
},
"text": "feet = centimeters * 0.0328",
"topLevel": true,
"touchedBy": [
"length#call2",
"instance15#length#call2",
"instance15#rates#call2",
"instance15#drone_v1#call2"
],
"value": "equals",
"word": "="
},
"formula": {
"dead": true,
"evaluate": true,
"interpolate": [
{
"property": "x"
},
{
"property": "operator"
},
{
"property": "y"
}
],
"isResponse": true,
"level": 1,
"marker": "timesExpression",
"number": "one",
"operator": {
"level": 0,
"marker": "timesOperator",
"range": {
"end": 19,
"start": 19
},
"text": "*",
"value": "timesOperator",
"word": "*"
},
"range": {
"end": 26,
"start": 7
},
"text": "centimeters * 0.0328",
"types": [
"number",
"timesExpression"
],
"value": null,
"word": "*",
"x": {
"dead": true,
"dimension": "length",
"level": 0,
"marker": "centimeter",
"number": "many",
"range": {
"end": 17,
"start": 7
},
"text": "centimeters",
"types": [
"centimeter"
],
"value": "centimeter",
"word": "centimeters"
},