Journals

These are journals in which CL articles may appear, not necessarily journals focussed solely on CL.

Conferences

The web sites for these may change from year to year; do a web search to find the most recent one.

  • AAAI
  • ACL (Association for Computational Linguistics)
  • ANLP (now merged with NAACL)
  • Autonomous Agents
  • CoLing
  • EACL (European ACL)
  • EMNLP (Empirical Methods in Natural Language Processing)
  • Eurospeech
  • HLT (Human Language Technology)
  • ICASSP (International Conference on Speech and Signal Processing)
  • ICMI (International Conference on Multimedia Interfaces)
  • ICSLP (International Conference on Speech and Language Processing)
  • IJCAI (International Joint Conference on Artificial Intelligence)
  • INLG (International Natural Language Generation Conference)
  • IUI (Intelligent User Interfaces)
  • LREC (Language Resources and Evaluation Conference)
  • NAACL (North American ACL)
  • SIGIR (ACM Sig on Information Retrieval)

Books

SIGGEN has a very nice database of books, slanted towards books on generation, information retrieval and machine translation.

Basics

  • Michael Genesereth and Nils Nilsson (1987), Logical Foundations of Artificial Intelligence, Morgan Kaufmann
  • John Hopcroft and Jeffrey Ullman (1979), Introduction to Automata Theory, Languages, and Computation, Addison-Wesley
  • Geoffrey Keppel (1991), Design and Analysis: A Researcher's Handbook, 3rd ed., Prentice Hall
  • Stuart Russell and Peter Norvig (1994), Artificial Intelligence: A Modern Approach, Prentice Hall

General textbooks

  • James Allen (1995), Natural Language Understanding, 2nd ed., Addison-Wesley
  • Eugene Charniak (1996), Statistical Language Learning, MIT Press
  • Robert Dale, Hermann Moisl and Harold Somers, eds. (2000), Handbook of Natural Langauge Processing, Marcel Dekker
  • Roland R. Hausser (2001), Foundations of Computational Linguistics: Human-Computer Communication in Natural Language, Springer Verlag
  • Lucja M. Iwanska and Stuart C. Shapiro, eds. (2000), Natural Language Processing and Knowledge Representation, MIT Press
  • Frederick Jelinek (1998), Statistical Methods for Speech Recognition, MIT Press
  • Dan Jurafsky and James H. Martin (2000), Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics and Speech Recognition, Prentice Hall
  • Christopher D. Manning and Hinrich Schutze (1999), Foundations of Statistical Natural Language Processing, MIT Press

Programming languages used in CL

  • Java -- Sun's website is really the best there is, and it stays up-to-date
  • Ivan Bratko (2000), Prolog Programming for Artificial Intelligence, 3rd ed., Addison-Wesley
  • Randal Schwartz and Tom Phoenix (2001), Learning Perl, 3rd ed., O'Reilly
  • Guy Steele (1990), Common Lisp, the Language, 2nd ed., Digital Press (this one is available online at several places, e.g. CMU)
  • Larry Wall, Tom Christiansen and Jon Orwant (2000), Programming Perl, 3rd ed., O'Reilly

Grammar formalisms

  • Anne Abeille and Owen Rambow, eds. (2001), Tree Adjoining Grammars, University of Chicago Press
  • Michael Halliday (1998), Introduction to Functional Grammar, Edward Arnold

Generation books

  • Douglas Appelt (1985), Planning English Sentences, Cambridge
  • Laurence Danlos (1987), The Linguistic Basis of Text Generation, Cambridge
  • Kathleen R. McKeown (1985), Text Generation: Using Discourse Strategies and Focus Constraints to Generate Natural Language Text, Cambridge
  • Cecile Paris (1993),
  • Ehud Reiter and Robert Dale (2000), Building Natural Language Generation Systems, Cambridge University Press.

Pragmatics

  • J. L. Austin (1975), How to Do Things with Words, 2nd ed., Harvard
  • Herbert H. Clark (1996), Using Language, Cambridge
  • Stephen C. Levinson (1983), Pragmatics, Cambridge
  • John R. Searle (reprinted 1985), Expression and Meaning: Studies in the Theory of Speech Acts, Cambridge
  • John R. Searle (1970), Speech Acts, Cambridge

Dialogue Systems and Language Understanding

  • Barbara Grosz, ed., Readings in Natural Language Processing, Morgan Kaufman
  • Alfred Kobsa and Wolfgang Wahlster, eds., User Models in Dialog Systems
  • Ronnie W. Smith and D. Richard Hipp (1997), Spoken Natural Language Dialog Systems: A Practical Approach, Oxford

Collections

  • James Allen, James Hendler and Austin Tate, eds., Readings in Planning, Morgan Kaufman
  • Judith L. Klavans and Philip Resnick, eds. (1996), The Balancing Act, MIT Press
  • Mark Maybury and Wolfgang Wahlster, eds. (1998), Readings in Intelligent User Interfaces, Morgan Kaufmann
  • Wolfgang Wahlster, ed. (2000), Verbmobil: Foundations of Speech-to-Speech Translation, Springer Verlag

Other

Organizations and SIGs

Mailing lists, Newsgroups

Resources and Web sites

Systems and Tools

For a more complete list, see The Natural Language Software Registry or the software registries at SIGGEN or SIGDIAL.

Programming Languages

You can do computational linguistics programming in any language. However, some languages lend themselves to certain common tasks. Most of the sites listed below have free downloads for Unix, Linux and Windows.

  • Perl -- good for regular expression matching
  • Java -- good for speech applications, GUI-based applications, multi-platform applications, and in its most recent versions, regular-expression matching and XML
  • Prolog -- good for logic-based programming
  • Lisp -- a general-purpose functional language, good for list processing