Instructions

Enter a sentence and hit the graph button. Keep it simple! This is a baby algorithm and can't handle much yet. I'd like to get it to handle simple cases well before trying tough stuff.

After you see the graph, you'll see the rules used to put the words in their place. Check any of the rules that seem wrong, and then click send (once!). Feel free to try more sentences after that.

A couple of sentences that seem to work in the parser, if you want to get a feel for what is "right" and "wrong":

Economic news had little effect on financial markets

I don't like Hillary

The cat was not fat

Parts of Speech List

adj
adjective
adv
adverb
noun
noun
verb
verb
prep
preposition
sym
symbol (+,%,$,#)
quote
quote mark
lparen
left paren
rparen
right paren
.
end of sentence
,
comma
EX
existential there
FW
foreign word
LS
list item marker
RP
particle
UH
interjection


Color Key

Negating words are solid red circles. Negated words have a red outline. The whole negation thing is very much in progress.



How Rules Work

These are really simplistic rules, but basically, "depends on" means that the left word can only exist in the sentence if the right one does. Obvious case: adjectives depend on nouns (since adjectives modify nouns and would have nothing to modify if the noun wasn't there). Less obvious, subject nouns depend on their verbs. In "the cat was fat", "cat" depends on "was".

[PRE] and [POST] indicate whether it's checking for a dependency on a word after or before the current word. For example, if the sentence contains "quickly ran" and it's checking if "quickly" depends on "ran", that's a [PRE] check. If it contains "ran quicky" and is again checking if "quickly" depends on "ran", that's a [POST] check. There are different rules because sometimes something is less likely to be a dependency if it comes after. (Like an adjective after a noun - "cat fat" - usually doesn't depend on the noun, but a verb somewhere, or a following noun.)

[OUTR] (outranks) is a weird rule I came up with to prevent words from looking too far back for a head. For example, try "Economic news had little effect on financial markets". I don't want "little" to go looking at nouns before "had" - "had" is a verb and should be a wall that blocks off this clause.