Abstract
Natural language processing (NLP) is a vibrant field of interdisciplinary Computer Science research. Ultimately, NLP seeks to build intelligence into software so that software will be able to process a natural language as skillfully and artfully as humans. Prolog, a general purpose logic programming language, has been used extensively to develop NLP applications or components thereof. This report is concerned with introducing the interested reader to the broad field of NLP with respect to NLP applications that are built in Prolog or from Prolog components.
Similar content being viewed by others
References
Abou-Assaleh T, Cercone N, Kešelj V (2003) Expressing probabilistic context-free grammars in the relaxed unification formalism. In: Conference Pacific association for computational linguistics, PACLING’03, Halifax, Nova Scotia, Canada, August 2003. Dalhousie University, pp 29–36
Alexin Z, Csirik J, Gyimóthy T, Jelasity M, Tóth L (1997) Learning phonetic rules in a speech recognition system. In: Inductive logic programming, vol 1297. Springer-Verlag, Berlin, Heidelberg, pp 35–44
Barták R (1998) Guide to prolog programming. http://ktiml.mff.cuni.cz/~bartak/prolog/implementations.html; last visited 26.09.2009
Baral C, Dzifcak J, Tari L (2007) Towards overcoming the knowledge acquisition bottleneck in answer set prolog applications: embracing natural language inputs. In: Logic programming, vol 4670. Springer-Verlag, Berlin, Heidelberg, pp 1–21
Bratko I (2000) Prolog programming for artifical intelligence. International computer science series. 3. Addison-Wesley Longman, Amsterdam
Christiansen H (2002) Logical grammars based on constraint handling rules. In: 18th international conference on logic programming. Springer-Verlag, p 481
Clough P, Stevenson M (2004) Cross-language information retrieval using eurowordnet and word sense disambiguation. In: Advances in information retrieval, vol 2997. Springer-Verlag, Berlin, Heidelberg, pp 327–337
Convington MA (2003) Et: an efficient tokenizer in iso prolog. Technical report, The University of Georgia, February
Convington MA (2003) A free-word-order dependency parser in prolog. Technical report, The University of Georgia
Cook JJ (2004) P#: a concurrent prolog for the .net framework. Softw: Pract Exp 34(9): 815–845
Dias-da-Silva BC, de Oliveira MF, de Moraes HR (2002) Groundwork for the development of the brazilian portuguese wordnet. In: Advances in natural language processing, vol 2389. Springer-Verlag, Berlin, Heidelberg, pp 179–192
Fodor P, Lally A, Ferrucci D (2008) The prolog interface to the unstructured information management architecture. CoRR, abs/0809.0680
Grune D, Jacobs CJH (2008) Parsing techniques a practical guide, monographs in computer science. 2. Springer Science + Business Media LLC, New York
Hettige B, Karunananda AS (2007) Developing lexicon databases for english to sinhala machine translation. Industrial and Information Systems, 2007. ICIIS 2007. International Conference on 9(11):215–220
Hodroj AM (2006) Prolog. NET manual. http://prolog.hodroj.net/index.html
Hu C (2003) Text statistics tool box for natural language processing. Technical report, The University of Georgia, May
Jurafsky D, Martin JH (2008) Speech and language processing, prentice hall series in artificial intelligence. 2. Prentice Hall, NJ
Kadous MW, Sammut C (2004) Inca: a mobile conversational agent. In: PRICAI 2004: trends in artificial intelligence. Springer-Verlag Berlin, Heidelberg, pp 644–653
Kiraz GA (2000) Multitiered nonlinear morphology using multitape finite automata: a case study on syriac and arabic. Comput Linguist 26(1): 77–105
Kiraz GA, Grimley-Evans E (1998) Multi-tape automata for speech and language systems: a prolog implementation. In: Automata implementation, vol 1436. Springer-Verlag, Berlin, Heidelberg, pp 87–103
Liang CC (2002) Compiler construction in higher order logic programming. In: Practical aspects of declarative languages, vol 2257. Springer-Verlag, Berlin, Heidelberg, pp 47–63
Majumdar A, Sowa J, Stewart J (2008) Pursuing the goal of language understanding. In: ICCS ’08: Proceedings of the 16th international conference on conceptual structures. Springer-Verlag, Berlin, Heidelberg, pp 21–42
Manning CD, Schütze H (1999) Foundations of statistical natural language processing. The MIT Press, Cambridge, MA
McClain JT (2003) Swi-speech: an interface between swi-prolog and microsoft sapi. Technical report, The University of Georgia, May
McConnell S (2004) Code complete: a practical handbook of software construction. 2. Microsoft Press Corp., USA
Minock M, Peter Olofsson P, Näslund A (2008) Towards building robust natural language interfaces to databases. In: Natural language and information systems, vol 5039. Springer-Verlag, Berlin, Heidelberg, pp 187–198
Nakache D, Metais E, Timsit JF (2005) Evaluation and nlp. vol 3588. Springer-Verlag, Berlin, Heidelberg, pp 626–632
Nugues PM (2006) An introduction to language processing with Perl and Prolog: an outline of theories, implementation, and application with special consideration of English, French, and German cognitive technologies. 1. Springer-Verlag, New York
Obrst L, Jha KN (1997) Nlp and industry: transfer and reuse of technologies. In: Workshop On from research to commercial applications: making NLP work in practice, pp 57–64
Pang B, Lee L (2008) Opinion mining and sentiment analysis. 2. Now Publishers Inc, Hanover, MA, USA
Pereira FCN, Shieber SM (1987) Prolog and natural-language analysis—digital edition cognitive technologies. Microtome Publishing, Brookline, Massachusetts, July
Peter Lodewijk Van Roy (1991) Can logic programming execute as fast as imperative programming? PhD thesis, University of California at Berkeley, Computer Science Division
Princeton University. Wordnet a lexical database for the english language. http://wordnet.princeton.edu; last visited 02.03.2009
Quintano L, Rodrigues I (2006) Using a logic programming framework to control database query dialogues in natural language. In: Logic programming, vol 4079. Springer-Verlag, Berlin, Heidelberg, pp 406–420
Russell S, Norvig P (2003) Artificial intelligence—a modern approach Prentice Hall Series in artificial intelligence. 2. Prentice Hall International, NJ
Schlachter JG (2003) Pronto morph: morphological analysis tool for use with pronto (prolog natural language toolkit). Technical report, The University of Georgia, May
Schneider G (2003) Learning to disambiguate syntactic relations. Linguist online 17: 117–136
Schrijvers T, Serebrenik A (2004) Improving prolog programs: Refactoring for prolog. In: Logic programming, vol 3132. Springer-Verlag, Berlin, Heidelberg, pp 58–72
Tascini G, Montesanto A, Palombo R, Puliti P (2001) Behind the image sequence: The semantics of moving shapes. In: Visual form 2001, vol 2059. Springer-Verlag, Berlin, Heidelberg, pp 619–629
Thurston A (2007) Generalized parsing techniques for computer languages. Technical report, School of Computing, Queen’s University, April
Truszczyński M (2007) Logic programming for knowledge representation. In: Logic programming, vol 4670. Springer-Verlag, Berlin, Heidelberg, pp 76–88
Voss M (2004) Improving upon earley’s parsing algorithm in prolog. Technical report, The University of Georgia, May
Witzig S (2003) Accessing wordnet from prolog. Technical report, The University of Georgia, May
Xiao-xi H, Chang-le Z (2007) An owl-based wordnet lexical ontology. In: Journal of Zhejiang University—Science A, vol 8. Zhejiang University Press, co-published with Springer-Verlag GmbH, pp 864–870, May
Zadeh LA (1965) Fuzzy sets. Inf Control 8(3): 338–353
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Bitter, C., Elizondo, D.A. & Yang, Y. Natural language processing: a prolog perspective. Artif Intell Rev 33, 151–173 (2010). https://doi.org/10.1007/s10462-009-9151-4
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10462-009-9151-4