I currently have a project that I need to do that involves quite a bit of computational linguistics. My background in linguistics is very high level - I wonder if there are any good introductory linguistics textbooks that will enable me to quickly get up to speed on the "practical" side of it. E.g.:

  • Be able to understand and work with dependency trees that are outputs of many NLP tools
  • Be able to manipulate natural language generator rules, based on a good understanding of different syntactic rules/categories/relations.

It's okay if the textbook has lots of theories, but my primary focus is on quickly getting up to speed on the practical applications side.

  • Do you want textbooks to explain how to use those software programs?
    – curiousdannii
    Aug 13, 2014 at 4:23
  • Well, that would be best, but at least some parts of the textbook devoted to the explanation, for example, why you build a dependency tree in "this way" vs "that way" for different sentences. So I definitely want to emphasize on practical applications, but still get enough of background knowledge to understand what I'm actually doing with the software programs. Aug 13, 2014 at 17:11

5 Answers 5


I think you're asking about how to learn syntax, but I'm not sure. If you are, I think McCawley's text is excellent, The Syntactic Phenomena of English. The best part is the exercises at the ends of the chapters. Also, the footnotes are crammed with information. I've used it as a text for several graduate courses in syntax, and up to the last two chapters, I've done all the exercises myself (it wasn't easy). I don't really believe in the syntactic theory McCawley pursues (a sort of neo-generative semantics), but it doesn't matter, because the book is mostly about sentence structure -- how you tell what the structure for various constructions is.

McCawley's book is rather dense and the discussion is at a sophisticated level. I've found that most grad students don't like it very much (but they just don't know what's good for them).

  • McCawley's book is a dense constituency grammar. It gives dependency grammar just one brief mention (p. 11f.). Since the OP is interested in dependency-based syntax for NLP applications, a syntax book that says more about DG would perhaps be better. van Valin's (2001) "An Introduction to Syntax" might be better in this regard, since it at least contains a full chapter on DG. Feb 17, 2015 at 2:39

I think you ask more Chomskian side of computational linguistics, but I did not run across a thing on Chomsky's theory on computational linguistics (of course, that does not mean there is not). Statistical linguistics is way more computational since it uses corpora, parsers, statistics and possibilities.

It is best to start with any corpus linguistics and statistical computational linguistics book and learn n-grams, bigrams, trigrams and other stuff.

If you say "I want to parse my texts, use corpora and take statistics.", there are tons of libraries for NLP just like Java's LingPipe, OpenNLP, StanfordNLP, Apache UIMA, GATE, MALLET, FrameNET or Python's holy NLTK module and you can use those libraries to use texts or corpora to achieve any goal. (Assume that you work on a research about women and men complaining. You have samples and you use them to take statistics and generalize results. Or assume that you work on a research about a dead language. You can use those libraries to take statistics of that language to define most-common particles in that language.)

On the other hand, if you say "I want to write my own parser, tokenizer, my own corpus database model...", you have to know any programming language, regular expression and statistics/probability knowledge. I do not know if Ruby does but Java and Python is best fit for this work.

  • Thanks @Erdin. Basically, "I want to parse my texts, use corpora and take statistics" is exactly what I want, but need to have the background knowledge to make the tools effective. Aug 19, 2014 at 1:22
  • 1
    On Chomsky's contribution to computer science, you might have heard of the Chomsky hierarchy, which is a taxonomy of formal languages and abstract automata. Also, Chomsky first characterized the notion of a push-down store automaton.
    – Greg Lee
    Feb 17, 2015 at 16:39

There are books for the practical use of the NLTK (Natural Language Tool Kit), might that fit the bill? For instance the books from search for "nltk" at amazon.

If the books are insufficient, playing with the kit itself might do what you need?


NLP toolkits generally come with plenty of background material you could read through in addition to the toolkits themselves. You'll usually find research papers and discussions that go along with them.

Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition might be a good book for you to consider if you are still needing some theory. It offers a good basic introduction to linguistics if you don't have much of a background in that. I think it's pretty standard reading in introductory computational linguistics classes. However, it might still be too theoretical if what you want to do is basically learn how and when to use specific tools or very specific approaches. In this case, start with resources like NLTK, OpenNLP, MALLET, etc. and go from there, read the accompanying materials.


The question appears to be concerned with establishing an understanding of dependency grammar (DG). DG is indeed increasingly being used in NLP circles as the most workable approach to syntactic structures -- dependency syntax is quite simple compared to constituency syntax. However, introductory textbooks that approach the theory of syntax primarily from a DG perspective are rare. There are at least two exceptions, though:

Matthews, Peter. 1981. Syntax. Cambridge University Press.

van Valin, Robert. 2001. An Introduction to Syntax. Cambrdige University Press.

Matthews' syntax is primarily dependency-based, and van Valin's book devotes a chapter to DG.

A large majority of textbooks on syntax ignore DG entirely, however. My interpretation of this situation is that developments in computational linguistics are out in front of theoretical syntax. Theoretical syntacticians are entrenched in a constituency-based view of syntactic structures, whereas the computational people have to make syntax work for their computational goals, and dependency is more workable in this regard.

The question is asking for sources about DG, though. There are a number of non-introductory texts on theoretical DG, but many of them are not so accessible. However, I think the following text, although dated, is relatively easy to understand:

Schubert, Klaus. 1987. Metataxis: Contrastive Dependency Syntax for Machine Translation.

If one is willing to invest some time in a more comprehensive dependency-based approach to the syntax of natural language, then Richard Hudson's works would be good:

Hudson, Richard. 2007. Language Networks: The New Word Grammar. Oxford University Press.

Hudson, Ricahrd. 2010. An Introduction to Word Grammar. Cambridge University Press.

And if one is particularly willing to invest time and energy in establishing a solid base in DG and its use for computational goals, then this conference would allow one to connect to the international DG community:


  • I don't think dependency grammar is a theory of grammar, but rather a terminology. Every theory has to have a way of combining small constituents to build larger ones. In DG, you call this combining "satisfaction of a dependency", but you can use that phraseology within various theories. In categorial grammar, for instance, when a grammatical function applies to an argument, you can instead speak of the function "having a dependency" and the argument a being a dependent, with the application being a "dependency satisfaction". CF phrase structure grammar can also be rephrased that way.
    – Greg Lee
    Feb 17, 2015 at 14:16
  • @Greg Lee, my understanding of dependency and constituency sees the distinction as profound, and my experience has been that many old-school constituency people do not really understand what dependency is, and how it differs from constituency. For instance, the claim that Categorical Grammar is operating on dependencies is a misinterpretation of the distinction. At least CCG is entirely constituency-based. Feb 17, 2015 at 14:22
  • Well, that view would be more interesting if you had reasons for it.
    – Greg Lee
    Feb 17, 2015 at 14:25
  • @Greg Lee, Dependency grammars understand syntactic structures in terms of a one-to-one correspondence, whereas the correspondence for constituency grammars is one-to-one-or-more. Thus in dependency grammars the number of nodes in the tree cannot outnumber the number of overt linguistic elements (words). In a constituency grammars, in contrast, the number of nodes in the tree has to outnumber the number of linguistic elements by at least one. Feb 17, 2015 at 14:25
  • In DG, the derivation of "John runs" is, "runs" with a subject dependency (node 1) is combined with a dependent "John" (node 2) to make the sentence "John runs" (node 3). Three nodes, two words.
    – Greg Lee
    Feb 17, 2015 at 14:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.