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

Research output: Contribution to journalJournal articleCommunication

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 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.
Original languageEnglish
JournalTRIANGLE
Volume1
Pages (from-to)31-64
Publication statusPublished - Sep 2010

Keywords

    Cite this

    @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",

    }

    Logic Programming for Linguistics : a short introduction to Prolog, and Logic Grammars with constraints as an easy way to Syntax and Semantics. / Christiansen, Henning.

    In: TRIANGLE, Vol. 1, 09.2010, p. 31-64.

    Research output: Contribution to journalJournal articleCommunication

    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 -