UNPKG

tpmkms

Version:

Reusable libraries for Entodicton, a natural language to json converter

2,460 lines (2,459 loc) 634 kB
{ "configs": [ "setidsuffix _dates", { "apply": "({config}) => {\n const months = [\"january\", \"february\", \"march\", \"april\", \"may\", \"june\", \"july\", \"august\", \"september\", \"october\", \"november\", \"december\"]\n config.addSemantic({\n match: ({context}) => {\n if (!context.makeObject) {\n return\n }\n return months.includes(context.value)\n },\n apply: ({context}) => {\n context.initial.month_ordinal = months.findIndex((month) => month == context.value) + 1\n },\n })\n }" }, "january, february, march, april, may, june, july, august, september, october, november and december are months", { "apply": "({config}) => {\n const days = [\"sunday\", \"monday\", \"tuesday\", \"wednesday\", \"thursday\", \"friday\", \"saturday\"]\n config.addSemantic({\n match: ({context}) => {\n if (!context.makeObject) {\n return\n }\n return days.includes(context.value)\n },\n apply: ({context}) => {\n context.initial.day_ordinal = days.findIndex((day) => day == context.value) + 1\n },\n })\n }" }, "monday, tuesday, wednesday, thursday, friday, saturday and sunday are days", "ac, bc, bce and ad are eras", { "operators": [ "([dayNumber_dates|])", "([yearNumber_dates|])", "([monthNumber_dates|])", "([dateSeparator_dates|])", "([era_dates|])", "([date_dates|])", "([dateEra_dates] (date_dates/*) (era_dates/*))", "([monthDay_dates] (month_dates/*) (dayNumber_dates/*))", "([monthYear_dates] (month_dates/*) (yearNumber_dates/*))", "([monthDayYear_dates] (month_dates/*) (dayNumber_dates/*) (yearNumber_dates/*))", "([monthDayYearWithSlashes_dates] (monthNumber_dates/*) (dateSeparator_dates/*) (dayNumber_dates/*) (dateSeparator_dates/*) (yearNumber_dates/*))", "([onDate_dates|on] ([onDateValue_dates|]))", "([afterDate_dates|after] ([afterDateValue_dates|]))" ], "associations": { "positive": [ { "context": [ [ "every", 0 ], [ "monday_dates", 0 ] ], "choose": 1 } ] }, "hierarchy": [ [ "monday_dates", "distributable" ] ], "bridges": [ { "id": "onDateValue_dates", "children": [ "day_dates", "month_dates" ] }, { "id": "onDate_dates", "isA": [ "preposition" ], "bridge": "{ ...next(operator), date: after[0], onDate: operator, interpolate: '${onDate} ${date}' }", "check": [ "marker", "text", "verbatim", "value", "evalue", "isResponse", { "properties": "modifiers" }, { "properties": "postModifiers" }, "onDate", "date" ] }, { "id": "afterDateValue_dates", "children": [ "day_dates", "month_dates" ] }, { "id": "afterDate_dates", "isA": [ "preposition" ], "bridge": "{ ...next(operator), date: after[0], afterDate: operator, interpolate: '${afterDate} ${date}' }", "check": [ "marker", "text", "verbatim", "value", "evalue", "isResponse", { "properties": "modifiers" }, { "properties": "postModifiers" }, "afterDate", "date" ] }, { "id": "era_dates", "words": [ "era" ], "bridge": "{ ...next(operator) }" }, { "id": "date_dates", "words": [ "date", "distributable" ], "isA": [ "onDateValue_dates", "afterDateValue_dates" ], "bridge": "{ ...next(operator) }" }, { "id": "dateEra_dates", "isA": [ "date_dates" ], "convolution": true, "bridge": "{ ...next(after[0]), era: after[1], interpolate: concat(after[0].interpolate, ' ${era}') }", "check": [ "marker", "text", "verbatim", "value", "evalue", "isResponse", { "properties": "modifiers" }, { "properties": "postModifiers" }, "era" ] }, { "id": "dateSeparator_dates", "words": [ "/" ], "bridge": "{ ...next(operator) }" }, { "id": "monthDayYearWithSlashes_dates", "isA": [ "date_dates" ], "before": [ "preposition" ], "separators": "||||", "convolution": true, "bridge": "{ ...next(operator), day: after[2], month: after[0], year: after[4], interpolate: '${month}/${day}/${year}' }", "check": [ "marker", "text", "verbatim", "value", "evalue", "isResponse", { "properties": "modifiers" }, { "properties": "postModifiers" }, "day", "month", "year" ] }, { "id": "dayNumber_dates", "isA": [ "integer" ], "bridge": "{ ...next(operator) }" }, { "id": "monthNumber_dates", "isA": [ "integer" ], "bridge": "{ ...next(operator) }" }, { "id": "yearNumber_dates", "isA": [ "integer" ], "bridge": "{ ...next(operator) }" }, { "id": "monthDay_dates", "convolution": true, "localHierarchy": [ [ "ordinal", "dayNumber_dates" ] ], "before": [ "preposition" ], "isA": [ "date_dates" ], "bridge": "{ ...next(operator), month: after[0], day: after[1], interpolate: '${month} ${day}' }", "check": [ "marker", "text", "verbatim", "value", "evalue", "isResponse", { "properties": "modifiers" }, { "properties": "postModifiers" }, "day", "month" ] }, { "id": "monthYear_dates", "convolution": true, "before": [ "preposition" ], "isA": [ "date_dates" ], "bridge": "{ ...next(operator), month: after[0], year: after[1], interpolate: '${month} ${year}' }", "check": [ "marker", "text", "verbatim", "value", "evalue", "isResponse", { "properties": "modifiers" }, { "properties": "postModifiers" }, "month", "year" ] }, { "id": "monthDayYear_dates", "convolution": true, "before": [ "preposition", "monthDay_dates" ], "isA": [ "date_dates" ], "evaluator": "({context}) => {\n const year = context.year.value\n const day = context.day.value\n const month_ordinal = context.month.month_ordinal\n context.evalue = new Date(year, month_ordinal-1, day).toISOString()\n }", "localHierarchy": [ [ "ordinal", "dayNumber_dates" ] ], "bridge": "{ ...next(operator), month: after[0], day: after[1], year: after[2], interpolate: '${month} ${day} ${year}' }", "check": [ "marker", "text", "verbatim", "value", "evalue", "isResponse", { "properties": "modifiers" }, { "properties": "postModifiers" }, "month", "day", "year" ] } ], "words": { "patterns": [ { "pattern": [ { "type": "digit" }, { "repeat": true } ], "allow_partial_matches": false, "defs": [ { "id": "dayNumber_dates", "uuid": "1", "initial": "{ value: int(text), instance: true }" } ] }, { "pattern": [ { "type": "digit" }, { "repeat": true } ], "allow_partial_matches": false, "defs": [ { "id": "monthNumber_dates", "uuid": "1", "initial": "{ value: int(text), instance: true }" } ] }, { "pattern": [ { "type": "digit" }, { "repeat": true } ], "allow_partial_matches": false, "defs": [ { "id": "yearNumber_dates", "uuid": "1", "initial": "{ value: int(text), instance: true }" } ] } ] } }, { "apply": "(args) => {\n {\n const as = ['jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sept', 'oct', 'nov', 'dec']\n const ms = ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december']\n // args.makeObject({...args, context: { word: as[i], value: `${ms[i]}_dates`}, types: [`${ms[i]}_dates`]})\n for (let i = 0; i < as.length; ++i) {\n const word = as[i]\n if (word == 'may') {\n continue\n }\n const id = `${ms[i]}_dates`\n args.addWords(id, word, { value: id, abbreviation: word, month_ordinal: i+1 })\n }\n }\n\n {\n const as = ['sun', 'mon', 'tues', 'weds', 'thurs', 'fri', 'sat']\n const ms = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday']\n // args.makeObject({...args, context: { word: as[i], value: `${ms[i]}_dates`}, types: [`${ms[i]}_dates`]})\n for (let i = 0; i < as.length; ++i) {\n const word = as[i]\n const id = `${ms[i]}_dates`\n args.addWords(id, word, { value: id, abbreviation: word, day_ordinal: i+1 })\n }\n }\n\n }" }, "resetIdSuffix" ], "resultss": [ { "hierarchy": [ [ "a", "article", false ], [ "adjective", "adjective", false ], [ "article", "article", false ], [ "between", "preposition", false ], [ "canBeDoQuestion", "canBeDoQuestion", false ], [ "canBeQuestion", "canBeQuestion", false ], [ "concept", "queryable", false ], [ "concept", "theAble", false ], [ "deletable", "deletable", false ], [ "delete", "verb", false ], [ "distributable", "queryable", false ], [ "doubleQuote", "queryable", false ], [ "each", "article", false ], [ "every", "article", false ], [ "have", "canBeDoQuestion", false ], [ "have", "canBeQuestion", false ], [ "hierarchyAble", "queryable", false ], [ "ifAble", "ifAble", false ], [ "integer", "number", false ], [ "is", "canBeQuestion", false ], [ "is", "verb", false ], [ "isQuery", "verb", false ], [ "it", "pronoun", false ], [ "it", "queryable", false ], [ "it", "thisitthat", false ], [ "it", "toAble", false ], [ "listable", "theAble", false ], [ "memorable", "deletable", false ], [ "memorable", "theAble", false ], [ "modifies", "verb", false ], [ "negatable", "queryable", false ], [ "noun", "theAble", false ], [ "noun", "thisAble", false ], [ "number", "queryable", false ], [ "object", "listable", false ], [ "object", "queryable", false ], [ "object", "theAble", false ], [ "orAble", "ifAble", false ], [ "orderable", "queryable", false ], [ "orderable", "theAble", false ], [ "ordinal", "listable", false ], [ "ordinalOnOrdered", "adjective", false ], [ "preposition", "preposition", false ], [ "pronoun", "pronoun", false ], [ "property", "queryable", false ], [ "property", "theAble", false ], [ "propertyOf", "preposition", false ], [ "punctuation", "punctuation", false ], [ "queryable", "listable", false ], [ "questionMark", "punctuation", false ], [ "readonly", "queryable", false ], [ "reason", "queryable", false ], [ "reason", "theAble", false ], [ "recall", "verb", false ], [ "remember", "verb", false ], [ "stm_before", "adjective", false ], [ "stm_current", "adjective", false ], [ "stm_previous", "adjective", false ], [ "that", "thisitthat", false ], [ "the", "article", false ], [ "theAble", "queryable", false ], [ "this", "pronoun", false ], [ "this", "queryable", false ], [ "this", "thisitthat", false ], [ "thisAble", "thisAble", false ], [ "thisitthat", "queryable", 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 ], [ "xfx", "queryable", false ] ], "metadata": { "opChoices": [ { "op": [ "unknown", 0 ], "ops": [ [ "setIdSuffix", 0 ], [ "unknown", 0 ] ], "counter": 1 }, { "op": [ "setIdSuffix", 0 ], "ops": [ [ "setIdSuffix", 0 ] ], "counter": 2 } ] }, "trace": "undefined", "contexts": [ { "marker": "setIdSuffix", "value": "setIdSuffix", "default": true, "text": "setidsuffix _dates", "word": "setidsuffix", "range": { "start": 0, "end": 17 }, "dead": true, "suffix": { "value": "_dates", "unknown": true, "text": "_dates", "marker": "unknown", "word": "_dates", "range": { "start": 12, "end": 17 }, "dead": true, "level": 0 }, "level": 1, "context_index": 1, "topLevel": true, "context_id": 2, "touchedBy": [ "dates#call2" ] } ], "generated": [ "" ], "paraphrases": [ "setidsuffix _dates" ], "paraphrasesParenthesized": [], "generatedParenthesized": [], "responses": [ "" ], "associations": [ [ [ "setIdSuffix", 0 ], [ "unknown", 0 ] ] ], "summaries": [ { "summaries": [ { "operators": [ { "marker": [ "setIdSuffix", 0 ], "range": { "start": 0, "end": 10 } }, { "marker": [ "unknown", 0 ], "range": { "start": 12, "end": 17 } } ], "counter": 1 }, { "operators": [ { "marker": [ "setIdSuffix", 0 ], "range": { "start": 0, "end": 10 } }, { "marker": [ "unknown", 0 ], "range": { "start": 12, "end": 17 } } ], "counter": 2 }, { "operators": [ { "marker": [ "setIdSuffix", 1 ], "range": { "start": 0, "end": 17 } } ], "counter": 3 } ], "length": 1 } ], "learned_contextual_priorities": [], "rtf_associations": [], "query": "setidsuffix _dates", "key": { "query": "setidsuffix _dates" } }, { "apply": "({config}) => {\n const months = [\"january\", \"february\", \"march\", \"april\", \"may\", \"june\", \"july\", \"august\", \"september\", \"october\", \"november\", \"december\"]\n config.addSemantic({\n match: ({context}) => {\n if (!context.makeObject) {\n return\n }\n return months.includes(context.value)\n },\n apply: ({context}) => {\n context.initial.month_ordinal = months.findIndex((month) => month == context.value) + 1\n },\n })\n }" }, { "hierarchy": [ [ "a", "article", false ], [ "adjective", "adjective", false ], [ "article", "article", false ], [ "between", "preposition", false ], [ "canBeDoQuestion", "canBeDoQuestion", false ], [ "canBeQuestion", "canBeQuestion", false ], [ "concept", "queryable", false ], [ "concept", "theAble", false ], [ "deletable", "deletable", false ], [ "delete", "verb", false ], [ "distributable", "queryable", false ], [ "doubleQuote", "queryable", false ], [ "each", "article", false ], [ "every", "article", false ], [ "have", "canBeDoQuestion", false ], [ "have", "canBeQuestion", false ], [ "hierarchyAble", "queryable", false ], [ "ifAble", "ifAble", false ], [ "integer", "number", false ], [ "is", "canBeQuestion", false ], [ "is", "verb", false ], [ "isQuery", "verb", false ], [ "it", "pronoun", false ], [ "it", "queryable", false ], [ "it", "thisitthat", false ], [ "it", "toAble", false ], [ "listable", "theAble", false ], [ "memorable", "deletable", false ], [ "memorable", "theAble", false ], [ "modifies", "verb", false ], [ "negatable", "queryable", false ], [ "noun", "theAble", false ], [ "noun", "thisAble", false ], [ "number", "queryable", false ], [ "object", "listable", false ], [ "object", "queryable", false ], [ "object", "theAble", false ], [ "orAble", "ifAble", false ], [ "orderable", "queryable", false ], [ "orderable", "theAble", false ], [ "ordinal", "listable", false ], [ "ordinalOnOrdered", "adjective", false ], [ "preposition", "preposition", false ], [ "pronoun", "pronoun", false ], [ "property", "queryable", false ], [ "property", "theAble", false ], [ "propertyOf", "preposition", false ], [ "punctuation", "punctuation", false ], [ "queryable", "listable", false ], [ "questionMark", "punctuation", false ], [ "readonly", "queryable", false ], [ "reason", "queryable", false ], [ "reason", "theAble", false ], [ "recall", "verb", false ], [ "remember", "verb", false ], [ "stm_before", "adjective", false ], [ "stm_current", "adjective", false ], [ "stm_previous", "adjective", false ], [ "that", "thisitthat", false ], [ "the", "article", false ], [ "theAble", "queryable", false ], [ "this", "pronoun", false ], [ "this", "queryable", false ], [ "this", "thisitthat", false ], [ "thisAble", "thisAble", false ], [ "thisitthat", "queryable", 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 ], [ "xfx", "queryable", false ] ], "metadata": { "opChoices": [ { "op": [ "unknown", 0 ], "ops": [ [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "is", 0 ], [ "list", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ] ], "counter": 1 }, { "op": [ "unknown", 0 ], "ops": [ [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "is", 0 ], [ "list", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ] ], "counter": 2 }, { "op": [ "unknown", 0 ], "ops": [ [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "is", 0 ], [ "list", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ] ], "counter": 3 }, { "op": [ "unknown", 0 ], "ops": [ [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "is", 0 ], [ "list", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ] ], "counter": 4 }, { "op": [ "unknown", 0 ], "ops": [ [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "is", 0 ], [ "list", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ] ], "counter": 5 }, { "op": [ "unknown", 0 ], "ops": [ [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "is", 0 ], [ "list", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ] ], "counter": 6 }, { "op": [ "unknown", 0 ], "ops": [ [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "is", 0 ], [ "list", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ] ], "counter": 7 }, { "op": [ "unknown", 0 ], "ops": [ [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "is", 0 ], [ "list", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ] ], "counter": 8 }, { "op": [ "unknown", 0 ], "ops": [ [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "is", 0 ], [ "list", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ] ], "counter": 9 }, { "op": [ "unknown", 0 ], "ops": [ [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "is", 0 ], [ "list", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ] ], "counter": 10 }, { "op": [ "unknown", 0 ], "ops": [ [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "is", 0 ], [ "list", 0 ], [ "unknown", 0 ], [ "unknown", 0 ], [ "unknown", 0 ] ], "counter": 11 }, { "op": [ "unknown", 0 ], "ops": [ [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "is", 0 ], [ "list", 0 ], [ "unknown", 0 ], [ "unknown", 0 ] ], "counter": 12 }, { "op": [ "unknown", 0 ], "ops": [ [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "is", 0 ], [ "list", 0 ], [ "unknown", 0 ] ], "counter": 13 }, { "op": [ "list", 0 ], "ops": [ [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0 ], [ "comma", 0