Why are these two MRSs not isomorphic?

I have one MRS I got from parsing the phrase “cute cat” with the ERG and I have another that I constructed from scratch, they look isomorphic to me, but PyDelphin doesn’t recognize them as such. What am I missing?

ERG MRS
[ 
    LTOP: h0 
    INDEX: e2 [ e SF: prop ] 
    RELS: < 
        [ unknown<0:8> 
            LBL: h1 
            ARG0: e2 
            ARG: x4 [ x PERS: 3 NUM: sg IND: + ] 
        ]  
        [ udef_q<0:8> 
            LBL: h5 
            ARG0: x4 
            RSTR: h6 
            BODY: h7 
        ]  
        [ _cute_a_1<0:4> 
            LBL: h8 
            ARG0: e9 [ e SF: prop TENSE: untensed MOOD: indicative PROG: bool PERF: - ] 
            ARG1: x4 
        ]  
        [ _cat_n_1<5:8> 
            LBL: h8 
            ARG0: x4 
        ] > 
    HCONS: < h0 qeq h1 h6 qeq h8 > 
    ICONS: < > 
]
My MRS:
[ 
    TOP: h12 
    INDEX: e9 
    RELS: < 
        [ unknown 
            LBL: h11 
            ARG: x3 
            ARG0: e9 
        ]
        [ udef_q 
            LBL: h8 
            ARG0: x3 
            RSTR: h6 
            BODY: h7 
        ] 
        [ _cute_a_1 
            LBL: h2 
            ARG0: e0 
            ARG1: x3 ] 
        [ _cat_n_1 
            LBL: h2 
            ARG0: x3 
        ] > 
    HCONS: < h6 qeq h2 h12 qeq h11 > 
]

The key things I see in the ERG MRS are…

  • TOP =q unknown_LBL
  • INDEX = unknown_ARG0
  • RSTR of udef_q =q cute_LBL/cat_LBL
  • unknown_ARG = udef_q_ARG0 = cute_ARG1 = cat_ARG0

All of these conditions are met in my MRS, but it still isn’t working. Is anything jumping out?

EDIT: It seems that the fact that the ERG version includes additional information about some variables (tense, person, number, etc) is what’s preventing it from being isomorphic. … still, the ERG won’t generate from my MRS, which seems odd because other than the lack of that information it’s still “correct” (as far as I can tell)

Hi,

your MRS does not seem to have any of the properties, such as [ e SF: prop ] on the INDEX.

These convey part of the meaning, so need to be generated as well.

I think your MRS probably subsumes the ERG’s MRS, …

1 Like

Yes, thanks that was causing them to not be isomorphic!
There was another unrelated error preventing generation, but I got it to generate after all.
It does generate “cute cats” as well since I didn’t specify that it’s singular, but I’m okay with that and adding an option in my program to constrain if the user wants.

Sounds like you got it. You can disable checking of morphosemantic properties with properties=False in the is_isomorphic() call. Also the documentation says this:

Isomorphicity compares the predicates of a semantic structure, the morphosemantic properties of their predications (if properties=True), constant arguments, and the argument structure between predications. Non-semantic properties like identifiers and surface alignments are ignored.

And if I recall correctly, in order to generate you had to have some minimum set of properties specified. I think it’s only TENSE on eventualities.

1 Like