[developers] Using Chart Parsing to integrate FreeLing

Stephan Oepen oe at ifi.uio.no
Fri Jul 15 21:59:35 CEST 2011

hmm, both YY and SPPP support actual lattices, so why should it not  
work to have an input like the following?

   0, 1, "sin"
   1, 2, "embargo"
   0, 1, "sin embargo"

in fact, even the current LKB should support this; does it not?

cheers, oe

On 15. juli 2011, at 21.26, Lluís Padró <padro at lsi.upc.edu> wrote:

> Hi Stephan
>   Out motivation is not improving integration with PET, but to be  
> able to feed ambiguous tokenization into the SRG (e.g. expressing  
> that the multiword expression "sin_embargo" may be either an actual  
> multiword (one single token) or two separate words (hence two tokens  
> "sin"+"embargo").
>   As far as we understand, SPPP (or YY) is not capable of  
> representing this kind of ambiguity, while FSC is.
>   We do not use token mapping rules.  We tried, but realized they  
> are not what we need.
>   We use chart mapping machinery only because it supports FSC  
> input .The FreeLing interface (chartMap.cc) will take care of all  
> token management and produce the final lattice that has to be loaded  
> into the grammar, so no need for chart mapping rules.
>   For the integration of the morphological information coming from  
> FreeLing, we wrote some lexical rules that do the same work than the  
> ortographemic rules in SPPP, and load the morpohlogical information  
> form the PoS tag into the FS.
>   So far, it seems to work with cheap.  Next step will be testing it  
> with [incr tsdb()], which we assume should work also.
>   In summary, if LKB accepted FSC input format (even with no mapping  
> rules), we could forget about SPPP.
>   Meanwhile, we will keep both interfaces.
>     Thank you
>            Montse & Lluis
> On 15/07/11 12:02, Stephan Oepen wrote:
>> hi montse,
>> i'm not sure i understand exactly what you're planning to do here,  
>> but
>> i see that dan sent you a link to the general chart mapping  
>> machinery,
>> and i noticed the new ChartMap.cc in FreeLing, which appears to
>> output (more or less, i would guess) the same information as
>> LKBAnalyzer.cc, but in the FSC format rather than SPPP.
>> for FL integration with the LKB, SPPP currently is your only  
>> (supported)
>> option, i.e. not requiring you to provide your own Lisp code to  
>> call out to
>> the tagger and interpret its results (this is what Jacy still does  
>> for ChaSen,
>> but mostly because that interface was built prior to SPPP).
>> so i am assuming you want to improve integration with PET here?  as  
>> it
>> is currently, you can only use PET in connection with [incr tsdb 
>> ()], which
>> will then invoke FL through the SPPP interface and reformat its  
>> result in
>> a form suitable for input to PET.  there are currently two such  
>> formats
>> (that are officially supported): YY and FSC.  YY is equivalent to  
>> in what it can express, but using a more compact, non-XML syntax.   
>> for
>> more details, please see:
>>   http://wiki.delph-in.net/moin/PetInput
>> FSC is a more recent invention (by peter adolphs) that seeks to  
>> further
>> generalize what can be provided as input to PET, going all the way  
>> to a
>> lattice of (arbitrary) token feature structures.  however, for all  
>> i recall, in
>> FSC input mode there is currently no support for 'annotating'  
>> tokens with
>> information about mandatory orthographemic rules (i.e. setting what  
>> in
>> PET internally is known as the inflr_todo list on lexical items).   
>> i recall
>> peter and i discussed the necessity of this feature (which is  
>> available in
>> YY mode) several times and concluded it was maybe unneeded.  one
>> could 'mimic' the intended effect in the feature structures of the  
>> rules,
>> i.e. have a list (+RULES or so) on each token feature structure,  
>> where
>> members in this list could be strings naming orthographemic rules.   
>> to
>> enforce the application of a specific chain of orthographemic  
>> rules, the
>> grammar would have to (a) percolate the +RULES value on all lexical
>> signs (lexical entries and lexical rules); (b) make each  
>> orthorgraphemic
>> rule require its own name to be the 'next' rule to be called for  
>> (e.g. the
>> value of a path like ARGS.FIRST.+RULES.FIRST); (c) 'pop' the +RULES
>> list upon application of an orthographemic rule, i.e. percolate up  
>> to the
>> mother ARGS.FIRST.+RULES.REST; and (d) require an empty +RULES
>> value on all arguments to syntactic rules.
>> i am not quite sure i would actually recommend the above approach to
>> anyone.  one issue i see with it just now reflects recent  
>> discussion i
>> had with dan and others about extending our notion of a derivation,  
>> to
>> actually record additional information about the string-level  
>> effects upon
>> application of each orthographemic rule (so as to be able to  
>> recover the
>> corresponding surface form at the rule daughter and mother, e.g. if  
>> one
>> were to accomodate tokenization conventions that split off  
>> punctuation
>> marks).  in the approach sketched above, this information would not
>> be available---whereas it could be when PET (like the LKB) remains in
>> full control of the application of orthographemic rules.  however,  
>> when
>> working with an external morphological analyzer (as is the case for
>> the SRG), one would still need more information than is currently
>> supported in YY.  for example, one could imagine extending the FSC
>> 'edge' element with an 'analysis' element quite similar to the one in
>> SPPP.  this is an area for revision that i would like to discuss with
>> peter aver the holidays.
>> --- in summary, your (assumed) desire to improve integration of PET
>> and FL (without requiring the assistance of [incr tsdb()]) has  
>> prompted
>> me to recall some remaining open questions in the token lattice input
>> design for PET, particularly in connection with an external  
>> morphological
>> analyzer.  i plan on returning to these jointly with peter before  
>> too long.
>> in the meantime, i suspect you might actually be better served  
>> using YY
>> input format for PET (which, after all, is what [incr tsdb()]  
>> converts to from
>> SPPP inputs).  fortunately, the specific input format used (YY or  
>> FSC) is
>> independent of the use of chart mapping.  that is, using either  
>> format, as
>> soon as the initial lattice of token feature structures is created  
>> in PET,
>> everything else remains the same.  thus, if you were looking to  
>> utilize
>> chart mapping to improve your treatment of numbers, dates, or other
>> named entities that can be recognized in terms of regular  
>> expressions,
>> you could do so by adding a set of token mapping rules to the SRG
>> (much like we have in the ERG).  that would remain valid no matter
>> what revisions to FSC (and possibly YY) might be down the road :-).
>> i hope there may be some useful information in this partly self- 
>> serving
>> message to you!
>> best, oe
>> On Thu, Jul 7, 2011 at 18:46, Montserrat Marimon
>> <montserrat.marimon at ub.edu>  wrote:
>>> Hi everybody,
>>> Since the SRG is the only grammar which integrates a tagger using  
>>> SPPP,
>>> we've decided to use chart parsing to integrate it.
>>> Is there any document we could read?
>>> Thanks,
>>> --
>>> Montserrat Marimon
>>> Departament de Lingüística General
>>> Facultat de Filologia - Universitat de Barcelona
>>> Edifici Josep Carner, 5a planta
>>> Gran Via de les Corts Catalanes, 585
>>> 08007 BARCELONA
>>> tel.: + 34 93 4034695
>>> http://stel.ub.edu/linguistica-ub/

More information about the developers mailing list