# Where can I find a reasonable NLP CFG or CSG for English?

I'm looking to do natural language parsing and looking for how the CFG (or CSG) should be defined for English.

Surely one'd expect to find one from the internet already, but do you know where?

It needs to be in "formal grammar" form, not an implementation (e.g. a Python library).

It has to allow for as wide range of sentences as possible to be parsed correctly.

Something that I could be looking at:

S -> NP VP | VP
NP -> D N | N | N NP
VP -> V | V NP | V PP | V NP PP
PP -> P NP


But how sufficient is this?

• You can find natural language process toolkit here: nltk.org - For Python. If I recall correctly, natural language (English) is far from context-free (observe the difference between "a trick" and "an element"), so I wouldn't expect a downloadable CFG. – DCTLib Dec 25 '15 at 13:16
• @DCTLib No I'm looking for a CFG since what I'm doing is implementing what NLTK is doing, but for a more particular use and smaller scale. – mavavilj Dec 25 '15 at 13:18
• So why do you expect such a CFG to exist? As already written, natural language is not exactly context-free. – DCTLib Dec 25 '15 at 13:19
• @DCTLib Then what's NLTK using for parsing? – mavavilj Dec 25 '15 at 13:21
• Nltk has a number of parser avaliable, some of which are context free, and some are more advanced. But in any case it's not comprehensive, it will certainly make mistakes. – jmite Dec 25 '15 at 18:24