<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
The comment about construction from corpora was really about big
grammars - i looked at the ERG trigger rules about a year ago, and
was a bit horrified ... <br>
<br>
For small grammars, is it really hopelessly inefficient to just run
in the mode where all the empty semantics items are added to the
chart? Does it simply not work if you have no trigger rules? (I
admit not having tried this for years.) <br>
<br>
However, if not, it seems to me that the extract from a corpus
technique could work with small grammars assuming you've got a
suitable set of test sentences before you start to generate. i.e.,
you'd parse those and accumulate trigger rules automatically from
the parsed set, repeating as you expand the grammar. It doesn't
matter if the trigger rules are very liberal, after all.<br>
<br>
Ann<br>
<br>
<div class="moz-cite-prefix">On 10/02/2016 23:14, Emily M. Bender
wrote:<br>
</div>
<blockquote
cite="mid:CAMype6eRJrY9+9dfxfJpAGeOt=aR3t+nw6WCyUc_7-tfm7NojA@mail.gmail.com"
type="cite">
<div dir="ltr">The tdl output is helpful to the extent that it
shows people what the value of TRIGGER should
<div>be, but that's about it. It's particularly unhelpful when
the trigger rules are actually there... Also,</div>
<div>learning trigger rules from parsed/treebanked data sounds
interesting, but won't help at all</div>
<div>in the case of starter grammars, which we *do* want to be
able to generate.</div>
<div><br>
</div>
<div>Emily</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Wed, Feb 10, 2016 at 3:00 PM, Ann
Copestake <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:aac10@cam.ac.uk" target="_blank">aac10@cam.ac.uk</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"> Hmm - does anyone
find the TDL output for the trigger rules helpful?
because, having looked at the code, I would prefer to
remove that facility completely unless it has support,
since it's hardwiring type and feature names into the
code. i.e., I would rather go back to the original
behaviour which meant that warning messages were output
(if there were no appropriate existing trigger rules)
without the TDL being suggested. I believe oe may feel
the same way.<br>
<br>
The trigger rule mechanism is a mess, in fact. Learning
trigger rules from parsed/treebanked data is feasible,
but too big a project for me to take on. <br>
<span><font color="#888888"> <br>
Ann</font></span>
<div>
<div><br>
<br>
<div>On 10/02/2016 18:47, Dan Flickinger wrote:<br>
</div>
<blockquote type="cite">
<div
style="font-size:12pt;color:#000000;background-color:#ffffff;font-family:Calibri,Arial,Helvetica,sans-serif">
<p>Hi Emily -</p>
<p><br>
</p>
<p>I ran into this behavior too when doing the
SWB-oriented grammars for the grammar
engineering course I taught with Tom last
quarter. The culprit turns out to be the
function index-lexicon(), which right at its
end cheerfully emits those warning/advice
messages for all semantically empty entries
regardless of whether trigger rules have been
defined. Since the same shortcoming is
repeated in the separate function
reindex-lexicon(), it proved to be easier for
me to correct this by changing the function
make-trigger-tdl() which they both call, so
that the global mt::*transfer-triggers* is
checked before emitting the warning for each
semantically empty lexical entry. Here is the
patched version of this function analogous to
what I added to my grammars' user-fns.lsp
file:</p>
<p><br>
</p>
<p>(defun make-trigger-tdl
(empty-semantics-lexical-entries)<br>
(let ((empty-no-trigger-entries <br>
(loop for id in
empty-semantics-lexical-entries<br>
unless (or #+:mt<br>
(gethash id
mt::*transfer-triggers*)<br>
nil)<br>
collect id)))<br>
(loop for x in empty-no-trigger-entries<br>
do<br>
(format t "~%~%~a_gr := generator_rule
&<br>
[ CONTEXT.RELS <! [ PRED
\"non_existing_rel\" ] !>,<br>
FLAGS.TRIGGER \"~a\" ]." <br>
(string-downcase x) <br>
(string-downcase x)))))</p>
<p><br>
</p>
<p>I expect that Ann or Stephan could see a more
elegant way to achieve this effect, but this
patch might be a useful temporary expedient.<br>
</p>
<br>
<p> Dan</p>
<p><br>
</p>
<div style="color:rgb(0,0,0)">
<hr style="display:inline-block;width:98%">
<div dir="ltr"><font style="font-size:11pt"
color="#000000" face="Calibri, sans-serif"><b>From:</b>
<a moz-do-not-send="true"
href="mailto:developers-bounces@emmtee.net"
target="_blank">developers-bounces@emmtee.net</a>
<a moz-do-not-send="true"
href="mailto:developers-bounces@emmtee.net"
target="_blank"><developers-bounces@emmtee.net></a>
on behalf of Emily M. Bender <a
moz-do-not-send="true"
href="mailto:ebender@uw.edu"
target="_blank"><a class="moz-txt-link-rfc2396E" href="mailto:ebender@uw.edu"><ebender@uw.edu></a></a><br>
<b>Sent:</b> Wednesday, February 10, 2016
7:43 AM<br>
<b>To:</b> developers<br>
<b>Subject:</b> [developers] Trigger rules
still being requested</font>
<div> </div>
</div>
<div>
<div dir="ltr">Dear all,
<div><br>
</div>
<div>In the Matrix derived grammars, we
have the following in lkb/script:</div>
<div><br>
</div>
<div>
<div>;;;</div>
<div>;;; SSH 2012-03-27 This invokes
trigger rules for semantically empty</div>
<div>;;; lexical entries. The trigger
rules themselves should be in</div>
<div>;;; trigger.mtr in the grammar
directory. The documentation on
trigger</div>
<div>;;; rules: <a
moz-do-not-send="true"
href="http://moin.delph-in.net/LkbGeneration"
target="_blank">
<a class="moz-txt-link-freetext" href="http://moin.delph-in.net/LkbGeneration">http://moin.delph-in.net/LkbGeneration</a></a></div>
<div>;;;</div>
<div>;;; SSH 2013-05-23 The semi.vpm
file needs to be loaded *before* the</div>
<div>;;; trigger.mtr file in lkb/script
for correct interaction.</div>
<div>;;;</div>
<div><br>
</div>
<div>(mt:read-transfer-rules</div>
<div> (list</div>
<div> (lkb-pathname (parent-directory)
"trigger.mtr"))</div>
<div> "Generation trigger rules"</div>
<div> :filter nil :task :trigger
:recurse nil :edges 200 :subsume nil)</div>
<div><br>
</div>
<div>;;;</div>
<div>;;; Matrix-derived grammars often
have stable enough semantic</div>
<div>;;; representations that the
grammar can usefully be tested</div>
<div>;;; by generating from them. The
function index-for-generator()</div>
<div>;;; must be called for generation
to be enabled. In grammars with</div>
<div>;;; small lexica, this takes a
trivial amount of time. If</div>
<div>;;; generation is not being used
regularly, and the indexing</div>
<div>;;; is taking too long, comment out
the following. index-for-generator()</div>
<div>;;; can also be run from the
expanded LKB top menu, under</div>
<div>;;; Generate.</div>
<div>;;;</div>
<div><br>
</div>
<div>(index-for-generator)</div>
</div>
<div><br>
</div>
<div>It is my understanding that
(index-for-generator) is what is behind
the messages</div>
<div>suggesting trigger rules for
semantically empty lexical entries, but
even though</div>
<div>we call it after loading the trigger
rules, we still get messages such as the
following:</div>
<div><br>
<div class="gmail_quote">
<div style="margin:1em 0px 2em"><br>
<img moz-do-not-send="true" alt=""><br>
</div>
Is there something else we're supposed
to do so that we only see those
messages<br>
when an entry truly lacks a trigger
rule?<br>
<br>
Thanks,<br>
Emily</div>
<div class="gmail_quote"><br>
</div>
-- <br>
<div>
<div dir="ltr">Emily M. Bender<br>
Professor, Department of Linguistics<br>
Check out CLMS on facebook! <a
moz-do-not-send="true"
href="http://www.facebook.com/uwclma"
target="_blank"> </a><a
moz-do-not-send="true"
href="http://www.facebook.com/uwclma"
target="_blank"><a class="moz-txt-link-freetext" href="http://www.facebook.com/uwclma">http://www.facebook.com/uwclma</a></a><br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
<div>
<div dir="ltr">Emily M. Bender<br>
Professor, Department of Linguistics<br>
Check out CLMS on facebook! <a moz-do-not-send="true"
href="http://www.facebook.com/uwclma" target="_blank">http://www.facebook.com/uwclma</a><br>
</div>
</div>
</div>
</div>
</blockquote>
<br>
</body>
</html>