<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Thanks again, Bec.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I just want to make sure my implementation gets the same scores for the same inputs under the same assumptions as the original implementation. For this to work, its behavior concerning the points I&#39;ve sought clarification for should be intentional. In light of your responses, I&#39;ve separated the CARG triples from other properties and have given it its own weight. Thus I should be able to get the same scores as your code by setting the weights of CARGs (but not properties) and graph-tops to zero. Similarly, I&#39;ll add an option to ignore missing test items and otherwise treat them as mismatches.<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jan 17, 2020 at 6:14 PM Bec Dridan &lt;<a href="mailto:bec.dridan@gmail.com">bec.dridan@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jan 17, 2020 at 5:39 PM <a href="mailto:goodman.m.w@gmail.com" target="_blank">goodman.m.w@gmail.com</a> &lt;<a href="mailto:goodman.m.w@gmail.com" target="_blank">goodman.m.w@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:arial,helvetica,sans-serif"><br></div><div style="font-family:arial,helvetica,sans-serif">One more detail is what to do when the two sides (gold and test) have different numbers of items. Currently my code stops as soon as either a gold or test item is missing, which is what smatch (the similar metric made for AMR) does, but I think that may be wrong because parsing profiles are likely to have missing or extra (overgeneration) items in the middle. So the question is whether we ignore it or count it as a full mismatch.</div></div></blockquote><div><br></div><div>If you are asking what is &#39;correct&#39;, I guess that depends on why you are evaluating. The perl implementation wouldn&#39;t have noticed missing gold parses, because it used the gold set as the definition of the set. A missing test item, on the other hand, by default counts as a full mismatch, but there is a command line option to ignore any gold parse with no corresponding test parse. The ignore option is useful when the purpose of the evaluation is assessing the system you are working on (and you consider coverage separately). For comparing across systems, I imagine you probably want to count parse failure as a full mismatch. It was useful for me to have both options.</div><div><br></div><div>Bec </div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:arial,helvetica,sans-serif"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jan 16, 2020 at 6:33 PM Bec Dridan &lt;<a href="mailto:bec.dridan@gmail.com" target="_blank">bec.dridan@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Wow, that is some old code... From memory, export was a wrapper around `parse --export`, where I could add :ltriples to the <span style="color:rgb(0,0,0);white-space:pre-wrap">tsdb::*redwoods-export-values* set.</span></div><div><span style="color:rgb(0,0,0);white-space:pre-wrap"><br></span></div><div><span style="color:rgb(0,0,0);white-space:pre-wrap">I don&#39;t know the mtool code at all, but re-reading the paper and looking at the perl code, I don&#39;t think the original implementation evaluated CARG at all. We only checked that the correct character span had a pred name of`named`. </span></div><div><span style="color:rgb(0,0,0);white-space:pre-wrap"><br></span></div><div><span style="color:rgb(0,0,0);white-space:pre-wrap">I think you are right that the triple export at the time did not produce a triple for TOP and it hence would not have been counted.</span></div><div><span style="color:rgb(0,0,0);white-space:pre-wrap"><br></span></div><div><span style="color:rgb(0,0,0);white-space:pre-wrap">That match your memory Stephan?</span></div><div><span style="color:rgb(0,0,0);white-space:pre-wrap"><br></span></div><div><span style="color:rgb(0,0,0);white-space:pre-wrap">Bec</span></div><div><span style="color:rgb(0,0,0);white-space:pre-wrap"><br></span></div><div><span style="color:rgb(0,0,0);white-space:pre-wrap"><br></span></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jan 16, 2020 at 8:34 PM <a href="mailto:goodman.m.w@gmail.com" target="_blank">goodman.m.w@gmail.com</a> &lt;<a href="mailto:goodman.m.w@gmail.com" target="_blank">goodman.m.w@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:arial,helvetica,sans-serif">Hello developers,</div><div style="font-family:arial,helvetica,sans-serif"><br></div><div style="font-family:arial,helvetica,sans-serif">Recently I wanted to try out Elementary Dependency Match (EDM) but I did not find an easy way to do it. I saw lisp code in the LKB&#39;s repository and Bec&#39;s Perl code, but I&#39;m not sure how to call the former from the command line and the latter seems outdated (I don&#39;t see the &quot;export&quot; command required by its instructions).</div><div style="font-family:arial,helvetica,sans-serif"><br></div><div style="font-family:arial,helvetica,sans-serif">The Dridan &amp; Oepen, 2011 algorithm was simple enough so I though I&#39;d implement it on top of PyDelphin. The result is here: <a href="https://github.com/delph-in/delphin.edm" target="_blank">https://github.com/delph-in/delphin.edm</a>. It requires the latest version of PyDelphin (v1.2.0). It works with MRS, EDS, and DMRS, and it reads text files or [incr tsdb()] profiles.<br></div><div style="font-family:arial,helvetica,sans-serif"><br></div><div style="font-family:arial,helvetica,sans-serif">When I nearly had my version working I found that Stephan et al.&#39;s mtool (<a href="https://github.com/cfmrp/mtool" target="_blank">https://github.com/cfmrp</a><span style="font-family:Arial,Helvetica,sans-serif">The paper example </span></div><div style="font-family:arial,helvetica,sans-serif"><a href="https://github.com/cfmrp/mtool" target="_blank">/mtool</a>) also had an implementation of EDM, so I used that to compare with my outputs (as I couldn&#39;t get the previous implementations to work). In this process I think I found some differences from Dridan &amp; Oepen, 2011&#39;s description, and this email is to confirm those findings. Namely, that mtool&#39;s (and now my) implementation do the following:</div><div style="font-family:arial,helvetica,sans-serif"><br></div><div style="font-family:arial,helvetica,sans-serif">* CARGs are treated as property triples (&quot;class 3 information&quot;). Previously they were combined with the predicate name. This change means that predicates like &#39;named&#39; will match even if their CARGs don&#39;t and the CARGs are a separate thing that needs to be matched.</div><div style="font-family:arial,helvetica,sans-serif"><br></div><div style="font-family:arial,helvetica,sans-serif">* The identification of the graph&#39;s TOP counts as a triple.<br></div><div><br></div><div><div style="font-family:arial,helvetica,sans-serif">One difference between mtool and delphin.edm is that mtool does not count &quot;variable&quot; properties from EDS, but that&#39;s just because its EDS parser does not yet handle them while PyDelphin&#39;s does.<br></div><div style="font-family:arial,helvetica,sans-serif"><br></div><div style="font-family:arial,helvetica,sans-serif">Can anyone familiar with EDM confirm the above? Or can anyone explain how to call the Perl or LKB code so I can compare?</div></div><div><br></div>-- <br><div dir="ltr">-Michael Wayne Goodman</div></div>
</blockquote></div></div>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr">-Michael Wayne Goodman</div>
</blockquote></div></div>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature">-Michael Wayne Goodman</div>