<div dir="ltr">It&#39;s a _loong_ time since I looked at that code (or used svn...). I&#39;ve been refreshing my memory of the code, and I think I can see how that works. As a mechanism, it sounds reasonable, but it&#39;s going to be a long time before I&#39;d have time to sit down and try to make the change. More than happy for anyone else to take up the challenge :)<div><br></div><div>Bec</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Aug 2, 2020 at 10:44 PM Stephan Oepen &lt;<a href="mailto:oe@ifi.uio.no">oe@ifi.uio.no</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">dear bec, mike, and woodley:<br>
<br>
during the summit you may have noticed dan mentioning a &#39;war zone&#39;<br>
around NE-related token mapping rules in the current ERG trunk.  with<br>
our move to modern, OntoNotes-style tokenization, the initial REPP<br>
segmentation now breaks at dashes (including hyphens) and slashes.<br>
but these will, of course, occur frequently in named entities like<br>
email and web addresses, where they should preferably not be<br>
segmented.  the current unhappy state of affairs is that initial<br>
tokenization over-segments, with dan then heroically seeking to<br>
re-unite at least the most common patterns of &#39;multi-token&#39; named<br>
entities in token mapping, where any number of token boundaries may<br>
have been introduced at hyphens and slashes.<br>
<br>
to rationalize this state of affairs (and, thus, work toward a peace<br>
treaty in token mapping), i believe we will need to extend the REPP<br>
language with a new facility: masking sub-strings according to NE-like<br>
patterns prior to core REPP processing, and exempting masked regions<br>
from all subsequent rewriting (i.e. making sure they remain intact).<br>
i have added an example of this new facility (introducing the &#39;+&#39;<br>
operator) to the ERG trunk; please see:<br>
<br>
<a href="http://svn.delph-in.net/erg/trunk/rpp/ne.rpp" rel="noreferrer" target="_blank">http://svn.delph-in.net/erg/trunk/rpp/ne.rpp</a><br>
<br>
at present, these rules are only loaded into the LKB (where i am in<br>
the process of adding masking to the REPP implementation), hence they<br>
should not cause trouble in the other engines (i hope).  i would like<br>
to invite you (as the developers of REPP processors in PET, pyDelphin,<br>
and ACE, respectively) to look over this proposal and share any<br>
comments you might have.  assuming we can agree on the need for<br>
extending the REPP language along the above lines, i am hoping you<br>
might have a chance to add support for the masking operator in your<br>
REPP implementations?<br>
<br>
from my ongoing work in the LKB, masking support appears relatively<br>
straightforward once an engine implements the step-wise accounting for<br>
character position sketched by Dridan &amp; Oepen (2012; ACL).  the<br>
masking patterns merely set a boolean flag for the matched character<br>
positions, and subsequent rewriting must block rule applications that<br>
destructively change one or more masked character positions.  output<br>
of capture groups (copying from the left-hand side verbatim), on the<br>
other hand, must be allowed over masked regions.  because the LKB<br>
implementation predates the 2012 paper, however, i will first have to<br>
implement the precise accounting mechanism to validate the above<br>
expectation regarding how to realize masking.<br>
<br>
what do you make of the above proposal?  oe<br>
</blockquote></div>