Logic Programming for Linguistics

a short introduction to Prolog, and Logic Grammars with constraints as an easy way to Syntax and Semantics

Publikation: Bidrag til tidsskriftTidsskriftartikelFormidling

Resumé

This article gives a short introduction on how to get started with logic pro-
gramming in Prolog that does not require any previous programming expe-
rience. The presentation is aimed at students of linguistics, but it does not
go deeper into linguistics than any student who has some ideas of what a
computer is, can follow the text. I cannot, of course, cover all aspects of logic
programming in this text, and so we give references to other sources with
more details.
Students of linguistics must have a very good motivation to spend time
on programming, and I show here how logic programming can be used for
modelling different linguistic phenomena. When modelling language in this
way, as opposed to using only paper and pencil, your models go live: you
can run and test your models and you can use them as automatic language
analyzers. This way you will get a better understanding of the dynamics
of languages, and you can check whether you model expresses what you
intend.
Based on Prolog, I also introduce Definite Clause Grammars which is in-
tegrated in most Prolog systems: You can write a grammar in a straightfor-
ward notation, perhaps include different syntactic, semantic and pragmatic
features – and with no additional effort, you can use it as an automatic
language analyzer.
I show also another important extension to Prolog, called Constraint
Handling Rules, which boosts these grammars with capabilities for captur-
ing semantics and pragmatics by abductive reasoning, in a way that I claim
is considerably simpler than mainstream formalisms; this part is to a large
extent based on my own research.
Hardcore linguists may object that these approaches are too simplistic –
and they are right (of course, they are always right ;-) – but this simplicity,
I will reply, provides exposure to linguistic phenomena in a clarified and
distilled form which is difficult to obtain by other means.
Finally I apologize for any errors, omissions, misspellings and mistakes,
which I’m sure there are plenty of, as this article has been produced in a
very short time. I am glad to receive any comments and questions.

All example programs can be downloaded from the following website:
http://www.ruc.dk/∼henning/LP-for-Linguists.
OriginalsprogEngelsk
TidsskriftTRIANGLE
Vol/bind1
Sider (fra-til)31-64
StatusUdgivet - sep. 2010

Emneord

  • datalingvistik
  • logikprogrammering

Citer dette

@article{194b12d574924a54914a0786ef3a6e80,
title = "Logic Programming for Linguistics: a short introduction to Prolog, and Logic Grammars with constraints as an easy way to Syntax and Semantics",
abstract = "This article gives a short introduction on how to get started with logic pro-gramming in Prolog that does not require any previous programming expe-rience. The presentation is aimed at students of linguistics, but it does notgo deeper into linguistics than any student who has some ideas of what acomputer is, can follow the text. I cannot, of course, cover all aspects of logicprogramming in this text, and so we give references to other sources withmore details.Students of linguistics must have a very good motivation to spend timeon programming, and I show here how logic programming can be used formodelling different linguistic phenomena. When modelling language in thisway, as opposed to using only paper and pencil, your models go live: youcan run and test your models and you can use them as automatic languageanalyzers. This way you will get a better understanding of the dynamicsof languages, and you can check whether you model expresses what youintend.Based on Prolog, I also introduce Definite Clause Grammars which is in-tegrated in most Prolog systems: You can write a grammar in a straightfor-ward notation, perhaps include different syntactic, semantic and pragmaticfeatures – and with no additional effort, you can use it as an automaticlanguage analyzer.I show also another important extension to Prolog, called ConstraintHandling Rules, which boosts these grammars with capabilities for captur-ing semantics and pragmatics by abductive reasoning, in a way that I claimis considerably simpler than mainstream formalisms; this part is to a largeextent based on my own research.Hardcore linguists may object that these approaches are too simplistic –and they are right (of course, they are always right ;-) – but this simplicity,I will reply, provides exposure to linguistic phenomena in a clarified anddistilled form which is difficult to obtain by other means.Finally I apologize for any errors, omissions, misspellings and mistakes,which I’m sure there are plenty of, as this article has been produced in avery short time. I am glad to receive any comments and questions.All example programs can be downloaded from the following website:http://www.ruc.dk/∼henning/LP-for-Linguists.",
keywords = "datalingvistik, logikprogrammering",
author = "Henning Christiansen",
year = "2010",
month = "9",
language = "English",
volume = "1",
pages = "31--64",
journal = "TRIANGLE",
issn = "2013-939X",
publisher = "Publicacions URV",

}

TY - JOUR

T1 - Logic Programming for Linguistics

T2 - a short introduction to Prolog, and Logic Grammars with constraints as an easy way to Syntax and Semantics

AU - Christiansen, Henning

PY - 2010/9

Y1 - 2010/9

N2 - This article gives a short introduction on how to get started with logic pro-gramming in Prolog that does not require any previous programming expe-rience. The presentation is aimed at students of linguistics, but it does notgo deeper into linguistics than any student who has some ideas of what acomputer is, can follow the text. I cannot, of course, cover all aspects of logicprogramming in this text, and so we give references to other sources withmore details.Students of linguistics must have a very good motivation to spend timeon programming, and I show here how logic programming can be used formodelling different linguistic phenomena. When modelling language in thisway, as opposed to using only paper and pencil, your models go live: youcan run and test your models and you can use them as automatic languageanalyzers. This way you will get a better understanding of the dynamicsof languages, and you can check whether you model expresses what youintend.Based on Prolog, I also introduce Definite Clause Grammars which is in-tegrated in most Prolog systems: You can write a grammar in a straightfor-ward notation, perhaps include different syntactic, semantic and pragmaticfeatures – and with no additional effort, you can use it as an automaticlanguage analyzer.I show also another important extension to Prolog, called ConstraintHandling Rules, which boosts these grammars with capabilities for captur-ing semantics and pragmatics by abductive reasoning, in a way that I claimis considerably simpler than mainstream formalisms; this part is to a largeextent based on my own research.Hardcore linguists may object that these approaches are too simplistic –and they are right (of course, they are always right ;-) – but this simplicity,I will reply, provides exposure to linguistic phenomena in a clarified anddistilled form which is difficult to obtain by other means.Finally I apologize for any errors, omissions, misspellings and mistakes,which I’m sure there are plenty of, as this article has been produced in avery short time. I am glad to receive any comments and questions.All example programs can be downloaded from the following website:http://www.ruc.dk/∼henning/LP-for-Linguists.

AB - This article gives a short introduction on how to get started with logic pro-gramming in Prolog that does not require any previous programming expe-rience. The presentation is aimed at students of linguistics, but it does notgo deeper into linguistics than any student who has some ideas of what acomputer is, can follow the text. I cannot, of course, cover all aspects of logicprogramming in this text, and so we give references to other sources withmore details.Students of linguistics must have a very good motivation to spend timeon programming, and I show here how logic programming can be used formodelling different linguistic phenomena. When modelling language in thisway, as opposed to using only paper and pencil, your models go live: youcan run and test your models and you can use them as automatic languageanalyzers. This way you will get a better understanding of the dynamicsof languages, and you can check whether you model expresses what youintend.Based on Prolog, I also introduce Definite Clause Grammars which is in-tegrated in most Prolog systems: You can write a grammar in a straightfor-ward notation, perhaps include different syntactic, semantic and pragmaticfeatures – and with no additional effort, you can use it as an automaticlanguage analyzer.I show also another important extension to Prolog, called ConstraintHandling Rules, which boosts these grammars with capabilities for captur-ing semantics and pragmatics by abductive reasoning, in a way that I claimis considerably simpler than mainstream formalisms; this part is to a largeextent based on my own research.Hardcore linguists may object that these approaches are too simplistic –and they are right (of course, they are always right ;-) – but this simplicity,I will reply, provides exposure to linguistic phenomena in a clarified anddistilled form which is difficult to obtain by other means.Finally I apologize for any errors, omissions, misspellings and mistakes,which I’m sure there are plenty of, as this article has been produced in avery short time. I am glad to receive any comments and questions.All example programs can be downloaded from the following website:http://www.ruc.dk/∼henning/LP-for-Linguists.

KW - datalingvistik

KW - logikprogrammering

M3 - Journal article

VL - 1

SP - 31

EP - 64

JO - TRIANGLE

JF - TRIANGLE

SN - 2013-939X

ER -