Here it is!

Generated sentence did that frog not sit on these fat big mice?

Note, it’s not minimal, it’s Minimalist. By that I mean, it’s generated by a program that uses Minimalist theory to build sentences.  Here’s the final tree:

CP
    C
        C:Q
        T
            V:did
            T:Past
    TP
        D
            D:that
            N:frog
        T
            T:<Past>
            VP
                Neg:not
                VP
                    D:<that frog>
                    V
                        V:sit
                        P
                            P:on
                            D
                                D:these
                                N
                                    A:fat
                                    N
                                        A:big
                                        N:mice

Still not clear?  I’ve spent the last few days creating a program to model Minimalism.  And I don’t even like it much as a syntactic theory! But I like it for its ambition: give some simple rules for building up a sentence word by word.  This is not, as you might expect, using phrase structure rules; it really is built up word by word, from the bottom up. And that makes it a natural match for programming.

For instance, the above derivation started with the word mice, randomly selected from a list of possible nouns. It then searches the lexicon for things that can be linked with a noun— basically, determiners or adjectives.  So it builds up a prepositional phrase (PP), then looks for something that can be linked with a PP.

The verb sit is marked in the lexicon as waning  PP and also a D. We’ve got the PP, so we can merge sit into the tree. The rules do not allow extending the tree downwards, only upwards, so to get a D we have to find another subtree (that frog), then merge to the left.

The stuff above that… well, that takes a lot more explaining than I can fit in a blog post; you’ll have to wait for the Syntax Construction Kit for that. As a teaser, though, when you see <things in brackets>, they’ve been moved up the tree to another spot; and some of the superstructure handles Do-support— that is, the fact that English requires an inserted do to handle questions that have only bare verbs.

Along the way the program handles determiner agreement (which is why we have these mice),  verbal inflections, and pronoun case (which didn’t happen to be triggered here).

Anyway, I’ll show you the program later; I’m not done with it, though it has about all the features I expect to have.  A lot of it is quite general; you could use it for a conlang or something, if you happened to really like Minimalism.  But some things are pretty kludgy, partly because Minimalism is clunky in spots, partly because English is. Do-support, for instance, is a really weird mechanism.

(Also, I know, didn’t the frog… would be more colloquial, but the current output is at least grammatical, so I may or may not fix that.)

 

Advertisements