In the last post, I introduced the idea of using a small, standard interface language to provide a couple of benefits.

  1. Make the problem into a machine translation problem which is well studied.
  2. Provide the benefit of explainable AI with a human readable intermediary step.

So let’s dig into this a LIL bit.

The last time I designed something like this I basically tried to think of a bunch of sentences that I wanted to be able to use and then reversed out a grammar and syntax from that. Let’s call that the ‘Probably how English developed’ approach. This is the way that I think almost all of human language has developed.

Of course, the obvious alternative to that would be the ‘Let’s design this all from scratch’ approach. There’s actually a few examples of real languages that have been designed from the ground up. Let’s call this the Klingon Esperanto approach. To take the inspiration a step further, rather than trying to design a language from scratch using words that I barely remember from Grade 3 (probably the last time I learned Grammar in school) I’m going to ‘borrow’ the grammar and syntax from Esperanto as much as I can. Though since I don’t speak Esperanto immagunna just use an English vocabulary.

Since I want this language to be easy to parse, I’m going to tighten up what is acceptable and valid though. For instance, this is from the Wikipedia section on Esperanto grammar.

Word order is comparatively free. Adjectives may precede or follow nouns; subjects, verbs and objects may occur in any order. However, the article la “the”, demonstratives such as tiu “that” and prepositions (such as ĉe “at”) must come before their related nouns. Similarly, the negative ne “not” and conjunctions such as kaj “and” and ke “that” must precede the phrase or clause that they introduce.

alt text

So I’m just going to say things like “Adjectives may only precede nouns” and be done with it.

BTW, who the heck has even heard of a “demonstrative” anyway.