MRS Semantics

Hi,

In the memorable paper:

Copestake, A., Flickinger, D., Sag, I. A., & Pollard, C. (2005). Minimal recursion semantics: An introduction. Research on Language and Computation, 3(2–3), 281–332. https://doi.org/10.1007/s11168-006-6327-9

The second footnote says:

(2) This should not be taken as suggesting that we think it is impossible or undesirable to give MRS a model-theoretic semantics directly. But given that our main interest is in the computational and compositional use of MRS, it is more appropriate to show how it relates to a relatively well-known language, such as predicate calculus, rather than to attempt a direct interpretation

I know that current trends are towards pure graph variable-free representations such as DMRS. Actually, @AnnC advocates explicitly about DMRS in Converting MRS output to a logical form - #14 by AnnC. In addition, I am very fascinated - but still studying - by the functional distributional semantics from @guyemerson too.

But I am still curious about reasoning with MRS. I also know about the paper:

Copestake, A., & Herbelot, A. (2013). Lexicalised compositionality.

On the other hand, I am recently thinking about how MRS could be used directly in deductions, I am thinking in rules such as natural logic (https://projects.illc.uva.nl/lgc/translation/papers/Kolkata.pdf, https://www-nlp.stanford.edu/pubs/angeli2014-emnlp-naturalli.pdf). Some neuro-symbolic approach could learn the rules… does it make sense? does anyone have references about MRS being used in deductions? Or any work that explores the direction suggested in the footnote above?

Comments are welcome! I surely expect that this community may already have strong feelings about what directions are worth exploring and which ones should be discarded by now.

[@arademaker, that last link appears to be broken…I think this is the same paper?]

I suspect you saw my comments in the link you referenced, but just in case: I have had success in interpreting the semantics of english phrases by treating the MRS predicates as predicate logic-ish clauses and executing them in a Prolog environment that defines a limited world. The current demo world is a game, but it could just as easily be a front end to a software tool like git, or some sort of business context like a database of customers.

The demo has come a long way since I first posted it here. It exclusively uses the MRS output of the ERG, executed in Prolog, to interpret the semantics of what you type in the demo world. To see how it is translated, you can type /show after interacting and it will print out the MRS interpretation of what you typed, the resolved tree, the logical interpretation of it, as well as the final Prolog that gets executed (and the answer returned). I’ve got an extensive write-up of how it works that starts here if you are interested.

The current demo has a basic understanding of the physical world. You can test it by asking it to pick up things, put them in/on locations, move around the world, ask about the parts of things, the locations of things, etc. You can ask questions, give commands, or deliver “propositions” like “there is a table.” (and it will agree, or tell you you are wrong).

I haven’t been deducing “natural logic”, I’ve been implementing it. But, one direction I’m currently exploring might be related to what you’re exploring: I have begun implementing a form of abductive reasoning that allows the system to assert the facts required to “make true” what you say. So, for example, the current system (but not the public demo yet!) allows you to go into a “Creator Mode” and make things true by asserting them as propositions:

? where is a frog?
I didn't understand 'frog'. 

? /create true
Creator Mode is now True

? there is a blue frog.    
assume(rel(frog11_prop_idAbductible,instanceOf,idAbductible))
assume(rel(frog11_prop_idAbductible,propertyOf,frog11))
assume(rel(frog11_prop_idAbductible,hasState,true))
assume(rel(frog11,specializes,idPhysicalObject))
assume(rel(frog11_prop_idName,instanceOf,idName))
assume(rel(frog11_prop_idName,propertyOf,frog11))
assume(rel(frog11_prop_idName,hasState,frog))
assume(rel(frog12_prop_idAbductible,instanceOf,idAbductible))
assume(rel(frog12_prop_idAbductible,propertyOf,frog12))
assume(rel(frog12_prop_idAbductible,hasState,true))
assume(rel(frog12,instanceOf,frog11))
assume(rel(frog12_prop_idColor,instanceOf,idColor))
assume(rel(frog12_prop_idColor,propertyOf,frog12))
assume(rel(frog12_prop_idColor,hasState,blue))
OK, that is true now.

? the frog is in this cave.
assume(rel(frog12,idIntegralRel,idEntrancecaveInside))
OK, that is true now.

? /create false
Creator Mode is now False

? there is a blue frog.
Yes, that is correct: here

? where is a frog?
inside a diamond cave

? what color is the frog?
blue
1 Like

It might be helpful to distinguish two issues here:

  1. Model-theoretic vs. proof-theoretic semantics. Using MRS directly in deductions could be done with a proof-theoretic semantics, without explicitly defining a model theory. (And for some applications, MRS might be useful without specifying any precise semantics at all.) Natural logic can be seen as proof-theoretic.

  2. Variable-free representations. A precise semantics can be defined with or without the use of variables. Traditional logics use linear representations, and in this setting, variables can make a logic more expressive. But DMRS shows that you can get rid of the variables if you can use a graph.

I personally prefer to work with model-theoretic semantics, because I want to (eventually) work on problems like grounding, using real-world data for the model (in the model-theoretic sense of “model”). I also personally prefer to work with graph representations, because this lets me make use of efficient graph-based algorithms.

But that’s for my own research goals. If you care about inference more than you care about the model, then a model-theoretic semantics might be more trouble than it’s worth. If you already have convenient ways of working with variables, then removing them wouldn’t necessarily help.

As for existing work using MRS for logical inference, this paper is relevant: https://www.aclweb.org/anthology/W15-2205.pdf

Hi @guyemerson, thank you for your answer. You are right, and as a logician, I should have made myself clear. By reasoning with MRS, I was asking about the idea of a deduction system over MRSs. The Proof-Theoretic Semantics (Stanford Encyclopedia of Philosophy) as you pointed out.

You are correct that I mixed two separate issues in the same question. I have never thought deeply about what motivates the introduction of variables in formal languages. Traditionally, we learn about the quantifiers and the contrast of FOL and Propositional Logic. But going further, yes, it is the reentrance, for references to the same ‘thing’ the real natural motivation for naming things with temporary identifiers. Maybe these two things are the same.

I suppose by grounding, you mean problems that involve references to entities in a knowledge base. Like QA over DBPedia or Wikidata, right? I just want to make sure if I understood what do you mean by ‘grounding’. Could we have it in the other way around, right? Move all data to the symbolic representation and operate with that in proof-theoretical terms.

Regarding the “a convenient way to working with variables”, it is a good point… it is hard to understand what would count as tricky before I face the problems. I am aware of the paper you mentioned; it converts EDSs to RDF and uses SWRL rules to expand the triples. Next, text entailment is reduced to the alignment of the graphs from hypothesis H and text T. It is delegated to SPARQL queries. One of the motivations for working with the WSI interface was precisely reproducing the results in this paper. Unfortunately, I didn’t have answers from the authors about the code, and we rewrote the code to transform MRS into RDF as a pydelphin plugin.

But eventually, we can anticipate the limitations of this work, right? So even before reproducing their results completely, I am thinking about the next steps for QA and text entailment that make a case for representations like MRS/DMRS. For example, a deduction system over MRSs would allow some neuro-symbolic ideas: 1) try to learn rules; 2) try to speed up deductions.

Hi @EricZinda , your demo is quite exciting, and thank you for bringing it to our attention. You are correct that maybe we could adapt the idea to many others NL interface problems… But I have some trouble thinking about a killer application for NL interfaces. For me, for example, people are over-selling chatbots. A knowledge base construction can be one possible application? I remember AceWiki.

Anyway, following the detailed description provided by @guy, I think you are doing a kind of operational semantics for MRS. You have a world/state, and NL utterances act on that world, changing it or querying it. Most of the time, if I understood right, you do propositional reasoning with a closed-world assumption (Closed-world assumption - Wikipedia). Anyway, you did a nice job.

By grounding, I mean sensory data (such as visual data, auditory data, etc.).

References to entities in a knowledge base are a little closer to the “real world”, but a knowledge base is still an abstraction and is still quite “logical”/“linguistic” in form. I completely agree that you could move all the data in a knowledge base into a symbolic logic and operate in proof-theoretic terms.

Sensory data can’t simply be moved over like this. (Or if we really want to view low-level features like pixel intensities in terms of a logic, then “grounding” means connecting the low-level sensory features to high-level linguistic features.)

It’s cool that you’re trying to reproduce that paper, and I would be interested to see where this leads you! I would love to see a neuro-symbolic deduction system over MRS, which could combine sharp inferences from the ERG (e.g. active/passive alternation, dative alternation) with fuzzy/probabilistic inferences from a neural model (e.g. near-synonyms, vagueness).

1 Like

Yes, that is exactly what I’m doing.