Linguist

Linguist is an attempt at primitive Natural Language Processing techniques.

Linguist I

In our first logical analysis of theoretical NLP, our dev. team decided to narrow focus to one basic concept. That concept being that all sentences fit into two broad catagories: statements and requests. A statement is intended to provide information while a request is intended to get some kind of reaction. A request could be a question or a command. In either case, it illicits a response. Thus was the focus of the original Linguist. This system could analyze simple sentences and, based on predefined lists of certain keywords, could consider context and determine whether the sentence was a statement or a question. That is not to say, by any stretch, that the system worked well but, under primitive structure conditions, it did in fact work. The basic principle was to figure out which key words and phrase structures are always present or only present in a statement vs. a request. We found a lot of overall rules which helped the system but for every single rule, we also discovered exceptions. This eventually led us away from that overall approach and the project fell dormant.

We had envisioned a system that wouldn't need so many predefined rules and could interpret meaning based on a simple system. In essence, we sought to do the impossible; boil down the english language and all languages into one fundamental coherent system based on simple rules. It was dream that was unfortunately out of our reach. Our focus eventually shifted. We then began to see more of the advantages to a complex rule based system which didn't inturpret sentences to fit its rules but rather had a rule for every sentence. This would also be the opposite and equally impossible extreme but it would be a start over which we could expand into a more intelligent design. Linguist II would attempt to fill that goal.

Linguist II

Though much narrower in the scope of acceptable structure using almost no intuition, Linguist II was showing much more solidity than its predecesor. Linguist II can only accept sentences in a simple binary form. For example, "The sky is blue." would be an acceptable statement from which it could actually learn of the existence of an object entitled "The sky" and determine that it is "blue." After which, it could the answer a simple question of the form "Is the sky blue?" to which it would reply "Yes." Though only accepting sentences in such a primitive form, it meant that we were free to develope the primitive cognitive end of linguist. Linguist II can keep track of any number of objects and their properties and answer any yes or no question pertaining to those properties. It could also keep track of the subject of a conversation allowing the user to refer to an object as "it" or "that". Though inferior in actual scope of its language inturpretation, it could derive more meaning from what it could inturpret. The only problem was that all of the rules for its inturpretation were hard coded algorithms which was not a practical scenario for an emerging experimental NLP. The idea was to create a primitive script from which the Linguist could inturpret the rules for NLP. Enter Linguist II B.