<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hi Woodley and Stephan,</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
[and with apologies to everyone else for the cryptic flavor of this note, which has to do with a conversion of the ERG to treat punctuation marks as separate tokens, for better interoperability with the rest of the universe]</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I was able to use the converted `decision' files that you constructed during my visit in February, Woodley, with some non-zero additional manual disambiguation, and this morning I completed updating of the full set of 2018 gold trees into the makeover universe,
 including wsj00-04.&nbsp; I would now be grateful if you could also provide converted decision files for the wsj05-12 profiles that had also been updated with the 2018 grammar after it was released.&nbsp; Since the 2018mo grammar doesn't really have a natural home in
 SVN, I have put a full copy of it here, and included in its tsdb/gold directory both the recent updated profiles, and the 2018 ones for wsj05-wsj12 that I hope you'll convert:</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<a href="http://lingo.stanford.edu/danf/2018mo.tgz" id="LPlnk632953">http://lingo.stanford.edu/danf/2018mo.tgz</a></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
My intention is to now update these gold profiles from that time-warped 2018mo grammar to the SVN `mo' grammar (which we branched from `trunk' during my visit to Oslo in November).&nbsp; If all goes well, we should then be in position to anoint `mo' as the official
 new `trunk' version, and use this as the basis for the next stable ERG release, ideally this summer.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I would also be interested to know if these now-manually-updated profiles allow you to train a better disambiguation model than the one you trained in February just on the automatically updated items.<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Thanks for the help so far!</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
&nbsp;Dan</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> developers-bounces@emmtee.net &lt;developers-bounces@emmtee.net&gt; on behalf of Woodley Packard &lt;sweaglesw@sweaglesw.org&gt;<br>
<b>Sent:</b> Tuesday, February 4, 2020 4:35 PM<br>
<b>To:</b> Stephan Oepen &lt;oe@ifi.uio.no&gt;<br>
<b>Cc:</b> developers@delph-in.net &lt;developers@delph-in.net&gt;<br>
<b>Subject:</b> Re: [developers] character-based discriminants</font>
<div>&nbsp;</div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">Stephan and Dan, and other interested parties,<br>
<br>
Happy new year to you all.&nbsp; In the course of taking a closer look at how <br>
the proposed character-based discriminant system might work, I've run <br>
across a few cases that perhaps would benefit from a bit of discussion.&nbsp; <br>
First, my attempt to distill the proposed action plan for an automatic <br>
update (downdate?) of the ERG treebanks to the venerable PTB punctuation <br>
convention is as follows:<br>
<br>
1. Modify ACE and other engines to use input character positions as <br>
token vertex identifiers, so that data coming out -- particularly the <br>
full forest record in the &quot;edge&quot; relation -- uses these to identify <br>
constituent boundaries instead of the existing identifiers <br>
(corresponding roughly to whitespace areas).<br>
<br>
2. Mechanically revise a copy of the &quot;decisions&quot; relation from the old <br>
gold treebank so that the vertex identifiers in it are also <br>
character-based, in hopes of matching those used in the new full forest <br>
profiles.&nbsp; Destroy any discriminants that are judged unlikely to match <br>
correctly.<br>
<br>
3. Run an automatic treebank update to achieve a high coverage gold <br>
treebank under the new punctuation convention; manually fix any items <br>
that didn't quite make it.<br>
<br>
Stephan pointed out that the &#43;FROM/&#43;TO values on token AVMs are a way to <br>
convert existing vertices to character positions.&nbsp; Thinking a bit more <br>
closely about this, there is at least one obvious problem: adjacent <br>
tokens T1,T2 do not generally have the property that T1.&#43;TO = T2.&#43;FROM, <br>
because there is usually whitespace between them.&nbsp; Therefore the revised <br>
scheme will have the property that whitespace adjacent to a constituent <br>
will in a sense be considered part of the constituent in some cases.&nbsp; I <br>
consider that slightly weird, but perhaps not too big a deal.&nbsp; The main <br>
thing is we need to pick a convention as to which position in the <br>
whitespace is to be considered the label of the vertex.&nbsp; One candidate <br>
convention would be that for any given vertex, its character-based label <br>
is the smallest &#43;FROM value of any token starting from it, if any, and <br>
if no token starts at it, then the largest &#43;TO value of any token ending <br>
at it.&nbsp; I would expect that at least in ordinary cases, possibly all <br>
cases, all the incident &#43;FROMs would be identical and all the &#43;TOs would <br>
be identical also, just with a difference between the &#43;FROMs and &#43;TOs.<br>
<br>
A somewhat more troubling problem is that multiple token vertices in the <br>
ERG can share the same &#43;FROM and &#43;TO.&nbsp; This happens quite productively <br>
with hyphenation, e.g.:<br>
<br>
A four-footed zebra arose.<br>
<br>
The historical ERG assigns [ &#43;FROM &quot;2&quot; &#43;TO &quot;13&quot; ] to both &quot;four&quot; and <br>
&quot;footed&quot; even while the token lattice is split in the middle, i.e. there <br>
are two tokens and there is a vertex &quot;in between&quot; them, but there is no <br>
sensible character offset available to assign to it.&nbsp; In the existing <br>
vertex labeling scheme, the vertex labels are generated based on a <br>
topological sort of the lattice, so we get:<br>
a(0,1)<br>
four(1,2)<br>
footed(2,3)<br>
zebra(3,4)<br>
arose(4,5)<br>
<br>
Using the convention proposed above, this would translate into:<br>
a(0,3)<br>
four(3,3)<br>
footed(3,14)<br>
zebra(14,20)<br>
arose(20,26)<br>
<br>
As you can see, there is a problem: two distinct vertices got smushed <br>
into character position 3.&nbsp; The situation is detectable automatically, <br>
of course, and ACE actually already has a built-in hack to adjust token <br>
&#43;FROM and &#43;TO in this case (making it possible to use the mouse to <br>
select parts of a hyphenated group like that in FFTB), but relying on <br>
that hack means hoping that ACE made the same decisions as the new <br>
punctuation rules in this case and any others that I haven't thought of.<br>
<br>
I am tempted to look at an alternative way of achieving the primary goal <br>
(i.e. synchronizing the ERG treebanks to the revised punctuation <br>
scheme).&nbsp; It would I believe be possible, maybe even straightforward, to <br>
make a tool that takes as input two token lattices (the old one and the <br>
new one for the same sentence) and computes an alignment between them <br>
that minimizes some notion of edit distance.&nbsp; With that in hand, the <br>
vertex identifiers of the old discriminants could be rewritten without <br>
resorting to character positions or having to solve the above snafu.&nbsp; It <br>
also would require no changes to the parsing engines or the treebanking <br>
tool, and would likely be at least partially reusable for future <br>
tokenization changes.<br>
<br>
Any suggestions?<br>
Woodley<br>
<br>
On 11/24/2019 03:43 PM, Stephan Oepen wrote:<br>
&gt; many thanks for the quick follow-up, woodley!<br>
&gt;<br>
&gt; in general, character-based discriminants feel attractive because the idea<br>
&gt; promises increased robustness to variation over time in tokenization.&nbsp; and<br>
&gt; i am not sure yet i understand the difference in expressivity that you<br>
&gt; suggest?&nbsp; an input to parsing is segmented into a sequence of vertices (or<br>
&gt; breaking points); whether to number these continuously (0, 1, 2, …) or<br>
&gt; discontinuously according to e.g. corresponding character positions or time<br>
&gt; stamps (into a speech signal)—i would think i can encode the same broad<br>
&gt; range of lattices either way?<br>
&gt;<br>
&gt; closer to home, i was in fact thinking that the conversion from an existing<br>
&gt; set of discriminants to a character-based regime could in fact be more<br>
&gt; mechanic than the retooling you sketch.&nbsp; each current vertex should be<br>
&gt; uniquely identified with a left and right character position, viz. the<br>
&gt; &#43;FROM and &#43;TO values, respectively, on the underlying token feature<br>
&gt; structures (i am assuming that all tokens in one cell share the same<br>
&gt; values).&nbsp; for the vast majority of discriminants, would it not just work to<br>
&gt; replace their start and end vertices with these characters positions?<br>
&gt;<br>
&gt; i am prepared to lose some discriminants, e.g. any choices on the<br>
&gt; punctuation lexical rules that are being removed, but possibly also some<br>
&gt; lexical choices that in the old universe end up anchored to a sub-string<br>
&gt; including one or more punctuation marks.&nbsp; in the 500-best treebanks, it<br>
&gt; used to be the case that pervasive redundancy of discriminants meant one<br>
&gt; could afford to lose a non-trivial number of discriminants during an update<br>
&gt; and still arrive at a unique solution.&nbsp; but maybe that works differently in<br>
&gt; the full-forest universe?<br>
&gt;<br>
&gt; finally, i had not yet considered the ‘twigs’ (as they are an FFTB-specific<br>
&gt; innovation).&nbsp; yes, it would seem unfortunate to just lose all twigs that<br>
&gt; included one or more of the old punctuation rules!&nbsp; so your candidate<br>
&gt; strategy of cutting twigs into two parts (of which one might often come out<br>
&gt; empty) at occurrences of these rules strikes me as a promising (still quite<br>
&gt; mechanic) way of working around this problem.&nbsp; formally, breaking up twigs<br>
&gt; risks losing some information, but in this case i doubt this would be the<br>
&gt; case in actuality.<br>
&gt;<br>
&gt; thanks for tossing around this idea!&nbsp; oe<br>
&gt;<br>
&gt;<br>
&gt; On Sat, 23 Nov 2019 at 20:30 Woodley Packard &lt;sweaglesw@sweaglesw.org&gt;<br>
&gt; wrote:<br>
&gt;<br>
&gt;&gt; Hi Stephan,<br>
&gt;&gt;<br>
&gt;&gt; My initial reaction to the notion of character-based discriminants is (1)<br>
&gt;&gt; it will not solve your immediate problem without a certain amount of custom<br>
&gt;&gt; tooling to convert old discriminants to new ones in a way that is sensitive<br>
&gt;&gt; to how the current punctuation rules work, i.e. a given chart vertex will<br>
&gt;&gt; have to be able to map to several different character positions depending<br>
&gt;&gt; on how much punctuation has been cliticized so far.&nbsp; The twig-shaped<br>
&gt;&gt; discriminants used by FFTB will in some cases have to be bifurcated into<br>
&gt;&gt; two or more discriminants, as well. Also, (2) this approach loses the<br>
&gt;&gt; (theoretical if perhaps not recently used) ability to treebank a nonlinear<br>
&gt;&gt; lattice shaped input, e.g. from an ASR system.&nbsp; I could imagine treebanking<br>
&gt;&gt; lattices from other sources as well — perhaps an image caption generator.<br>
&gt;&gt;<br>
&gt;&gt; Given the custom tooling required for updating the discriminants, I’m not<br>
&gt;&gt; sure switching to character-based anchoring would be less painful than<br>
&gt;&gt; having that tool compute the new chart vertex anchoring instead — though I<br>
&gt;&gt; could be wrong.&nbsp; What other arguments can be made in favor of<br>
&gt;&gt; character-based discriminants?<br>
&gt;&gt;<br>
&gt;&gt; In terms of support from FFTB, I think there are relatively few places in<br>
&gt;&gt; the code that assume the discriminants’ from/to are interpretable beyond<br>
&gt;&gt; matching the from/to values of the `edge’ relation.&nbsp; I think I would<br>
&gt;&gt; implement this by (optionally, I suppose, since presumably other grammars<br>
&gt;&gt; won’t want to do this at least for now) replacing the from/to on edges read<br>
&gt;&gt; from the profile with character positions and more or less pretend that<br>
&gt;&gt; there is a chart vertex for every character position.&nbsp; Barring unforeseen<br>
&gt;&gt; complications, that wouldn’t be too hard.<br>
&gt;&gt;<br>
&gt;&gt; Woodley<br>
&gt;&gt;<br>
&gt;&gt;&gt; On Nov 23, 2019, at 5:58 AM, Stephan Oepen &lt;oe@ifi.uio.no&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; hi again, woodley,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; dan and i are currently exploring a 'makeover' of ERG input<br>
&gt;&gt;&gt; processing, with the overall goal of increased compatibility with<br>
&gt;&gt;&gt; mainstream assumptions about tokenization.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; among other things, we would like to move to the revised (i.e.<br>
&gt;&gt;&gt; non-venerable) PTB (and OntoNotes and UD) tokenization conventions and<br>
&gt;&gt;&gt; avoid subsequent re-arranging of segmentation in token mapping.&nbsp; this<br>
&gt;&gt;&gt; means we would have to move away from the pseudo-affixation treatment<br>
&gt;&gt;&gt; of punctuation marks to a 'pseudo-clitization' approach, meaning that<br>
&gt;&gt;&gt; punctuation marks are lexical entries in their own right and attach<br>
&gt;&gt;&gt; via binary constructions (rather than as lexical rules).&nbsp; the 'clitic'<br>
&gt;&gt;&gt; metaphor, here, is intended to suggest that these lexical entries can<br>
&gt;&gt;&gt; only attach at the bottom of the derivation, i.e. to non-clitic<br>
&gt;&gt;&gt; lexical items immediately to their left (e.g. in the case of a comma)<br>
&gt;&gt;&gt; or to their right (in the case of, say, an opening quote or<br>
&gt;&gt;&gt; parenthesis).<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; dan is currently visiting oslo, and we would like to use the<br>
&gt;&gt;&gt; opportunity to estimate the cost of moving to such a revised universe.<br>
&gt;&gt;&gt; treebank maintenance is a major concern here, as such a radical change<br>
&gt;&gt;&gt; in the yields of virtually all derivations would render discriminants<br>
&gt;&gt;&gt; invalid when updating to the new forests.&nbsp; i believe a cute idea has<br>
&gt;&gt;&gt; emerged that, we optimistically believe, might eliminate much of that<br>
&gt;&gt;&gt; concern: character-based discriminant positions, instead of our<br>
&gt;&gt;&gt; venerable way of counting chart vertices.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; for the ERG at least, we believe that leaf nodes in all derivations<br>
&gt;&gt;&gt; are reliably annotated with character start and end positions (&#43;FROM<br>
&gt;&gt;&gt; and &#43;TO, as well as the &#43;ID lists on token feature structures).&nbsp; these<br>
&gt;&gt;&gt; sub-string indices will hardly be affected by the above change to<br>
&gt;&gt;&gt; tokenization (except for cases where our current approach to splitting<br>
&gt;&gt;&gt; at hyphens and slashes first in token mapping leads to overlapping<br>
&gt;&gt;&gt; ranges).&nbsp; hence if discriminants were anchored over character ranges<br>
&gt;&gt;&gt; instead of chart cells ... i expect the vast majority of them might<br>
&gt;&gt;&gt; just carry over?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; we would be grateful if you (and others too, of course) could give the<br>
&gt;&gt;&gt; above idea some critical thought and look for possible obstacles that<br>
&gt;&gt;&gt; dan and i may just be overlooking?&nbsp; technically, i imagine one would<br>
&gt;&gt;&gt; have to extend FFTB to (optionally) extract discriminant start and end<br>
&gt;&gt;&gt; positions from the sub-string 'coverage' of each constituent, possibly<br>
&gt;&gt;&gt; once convert existing treebanks to character-based indexing, and then<br>
&gt;&gt;&gt; update into the new universe using character-based matching.&nbsp; does<br>
&gt;&gt;&gt; such an approach seem feasible to you in principle?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; cheers, oe<br>
&gt;&gt;<br>
<br>
</div>
</span></font></div>
</body>
</html>