[developers] Regarding to German sentence analysis.

Ann Copestake aac10 at cl.cam.ac.uk
Wed Feb 22 13:41:38 CET 2017


from memory, the interpretation of the "--" was intended to be that this 
was something that should not appear in the external MRS

in any case, it wouldn't be a DMRS issue, as such, since presumably it 
could apply to any of the MRS XML formats

All best,

Ann


On 21/02/17 20:21, Michael Wayne Goodman wrote:
> Ann:
>  Does the LKB do anything special regarding properties like --PSV when 
> reading/writing DMRX? They aren't ill-formed in the SimpleMRS format, 
> so I'm wondering if PyDelphin should attempt to do anything special 
> for these.
>
> Megha:
>   I just thought of another alternative. You can serialize to the 
> DMRS-JSON format instead of DMRX. JSON doesn't have the same attribute 
> name constraints as XML. The process is slightly different. Here is 
> MRS->DMRS-JSON conversion:
>
>     import json
>     from delphin.mrs import simplemrs
>     from delphin.mrs.xmrs import Dmrs
>     print(
>         json.dumps(
> Dmrs.from_xmrs(simplemrs.load_one(source)).to_dict()
>         )
>     )
>
> (the Dmrs.from_xmrs(...) bit is just for Python2 compatibility. In 
> Python3, you can just do: Dmrs.to_dict(simplemrs.loads_one(source)))
>
> DMRS-JSON -> MRS conversion is similar:
>
>     ...
>     print(
>         simplemrs.dumps_one(
>             Dmrs.from_dict(json.load(source))
>         )
>     )
>
> These methods require PyDelphin v0.6.0 (the latest release).
>
> On Tue, Feb 21, 2017 at 11:35 AM, Michael Wayne Goodman 
> <goodmami at uw.edu <mailto:goodmami at uw.edu>> wrote:
>
>     Hi Megha,
>
>     (I've re-CC'd the developers list so they can benefit or
>     contribute; please include them in follow-up replies)
>
>     Thanks for clarifying.
>
>     When you do MRS -> DMRS conversion in your script, it is
>     essentially this:
>
>         print(dmrx.dumps(simplemrs.load(source)))
>
>     This loads the simplemrs-encoded source (e.g. a file or sys.stdin;
>     or use simplemrs.loads() for a string argument) into the internal
>     *MRS representation, then the dmrx codec serializes the internal
>     representation to DMRX. Doing DMRS -> MRS conversion is the same,
>     but reversed:
>
>         print(simplemrs.dumps(dmrx.load(source)))
>
>     (More technically, the dmrx and simplemrs codecs decode the text
>     streams/strings and instantiate the Dmrs() and Mrs() classes,
>     respectively, in the delphin.mrs.xmrs module. It is these classes
>     (and not the codecs themselves) that do the actual conversion into
>     the internal format.)
>
>     However, there is a problem with the GG grammar and DMRS. The
>     variable properties prefixed by "--" (e.g. "--PSV") cause errors
>     when loading a DMRS. This is because the hyphen is not a valid
>     initial character in an XML attribute name
>     (https://www.w3.org/TR/REC-xml/#NT-NameStartChar
>     <https://www.w3.org/TR/REC-xml/#NT-NameStartChar>). It is Python's
>     XML parser, and not PyDelphin, that is failing to load the DMRX
>     instance. I suggest doing one of the following:
>
>      1. Change the attribute names in the GG grammar
>
>      2. In your conversion script, find and replace these attributes
>     on the MRS before converting to DMRS, and change them back in
>     DMRS->MRS conversion. You may use underscores (e.g. "__PSV") as
>     the initial character, according to the XML spec.
>
>     Does this help?
>
>     On Tue, Feb 21, 2017 at 1:13 AM, megha jain <jain11megha at gmail.com
>     <mailto:jain11megha at gmail.com>> wrote:
>
>         Hello Michael.
>
>         I know usage of Pydelphin so able to implement via this.
>
>         I want to know which python code is being used by you to
>         convert German DMRS into German MRS again?
>
>         So that this MRS can be given ACE to generate corresponding
>         German sentence.
>
>         I am able to process : German sentence => MRS
>            MRS => DMRS
>            DMRS => MRS (that is my concern)
>
>         EXAMPLE :-(A.)  INPUT : Abrams bellte sehr leise.
>
>         (B.) When I gave above one sentence to ACE , It generated
>         following MRS :-
>         (command used : ./ace -g ggp.dat -1Tf input_file.txt)
>
>         Following file is attached below.
>
>         (C) I gave this MRS as an input to mrs_to_dmrs-pp.py pyhon
>         code and corresponding DMRS generated.
>         Following file is attached below.
>
>         (D.) After this I want to convert corresponding DMRS into MRS
>         . Which python code comes in use for this approach?
>
>
>         Hopefully I am able to make you understand what is my concern.
>
>         Thank You.
>
>
>
>
>     -- 
>     Michael Wayne Goodman
>     Ph.D. Candidate, UW Linguistics
>
>
>
>
> -- 
> Michael Wayne Goodman
> Ph.D. Candidate, UW Linguistics

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.delph-in.net/archives/developers/attachments/20170222/43bd01dc/attachment.html>


More information about the developers mailing list