[developers] Web interfaces

goodman.m.w at gmail.com goodman.m.w at gmail.com
Mon May 10 02:45:48 UTC 2021


Regarding web APIs: If your needs are responding to dynamic parsing
requests or serving the contents of stored parses, PyDelphin already
provides this functionality. For serving stored parses from [incr tsdb()]
profiles, it only transforms token lists (p-input or p-tokens), MRSs, and
derivations into JSON representations, and the remaining fields are
returned as text, but this is configurable if you have a suitable
transformation function (in Python, alas). It does not have a scheme for
identifying substructures, as Stephan described. I'm happy to discuss API
design in case you have other needs.

Regarding visualizations, while delphin-viz uses the AVM-like visualization
of MRSs, I agree with Stephan that it is not ideal. In general, however,
I'd prefer a node-and-edge graphical representation of MRS over the compact
textual one. The DOT-based layouts are good when you want to focus on the
semantic graph by itself. I like arc diagrams when comparing the semantics
to the original sentence as it keeps the word order intact: I attach a
screenshot of the MRS adaption of the DMRS arc diagrams I used in my
dissertation (basically the same as those for DMRS, but with variables).
Unfortunately I only have LaTeX macros for these. D3.js has
"force-directed" graph layouts (those springy, animated ones you've
probably seen around the web). You can also use D3's SVG primitives to draw
nodes and edges, but then you're on your own for the layout (this is
essentially how I do the delphin-viz one).

On Sun, May 9, 2021 at 4:39 PM Stephan Oepen <oe at ifi.uio.no> wrote:

> hi alexandre,
>
> i developed the visualizations in the LOGON on-line demonstrator (e.g.
> http://erg.delph-in.net) in 2002, hence they are pure dynamic HTML before
> SVG became generally available.  the HTML generation is part of the lisp
> code of the LKB and [incr tsdb()].
>
> i am not sure there is much to learn here, in part because i personally
> consider some of the visualization choices out of date: for MRS, i have
> come to consider the AVM-like rendering misleading and today would advocate
> a more compact format, as we use in the ERG Semantic Documentation (e.g.
> http://moin.delph-in.net/wiki/ErgSemantics/Essence).  for EDS, i would
> nowadays favor a graphical rendering over the textual one, e.g. via the DOT
> layout engine, as implemented in mtool (e.g.
> http://mrp.nlpl.eu/2020/index.php?page=12).
>
> only for DM, i am still fairly happy with the visualization used on the
> LOGON demonsrator for the ERG.  this is rendered client-side, using an
> extension of the Brat JavaScript library to support the SDP 2015 tabular
> format.  however, for DM we currently lack a conversion path outside [incr
> tsdb()], and even what is there has hardly been maintained since angelina
> ivanova developed the original converter in 2014. or so.
>
> visualization in the WSI web application, in turn, was developed by milen
> kouylekov, in part as a mimicry of the HTML renderings from LOGON.  in some
> cases, i believe, the rendering is done in the client (in JavaScript), e.g.
> for the SDP graphs (including DM) and probably EDS.  for MRS, i believe
> milen may actually pre-compute the HTML on the server, in which case this
> would be part of the WSI Java code base.  again, i am not sure it will pay
> off to try and re-use much of these parts.
>
> i generally buy into the delphin-viz philosophy: communicate various types
> of representations in JSON and do the rendering in JavaScript on the
> client, with liberal use of SVG.  i believe further development in this
> paradigm has the highest potential for reuse.  however, it may limit layout
> sophistication: for various types of semantic graphs, i have grown very
> fond of the DOT language and GraphViz rendering engines.  last i checked
> there were multiple initiatives to support that framework for in-browser
> rendering, but none appeared to be reasonably mature yet.
>
> finally, in the WSI context you will ultimately want more than just the
> visualization of an object: in my use of the service, i have found it
> essential to highlight the parts of the structure matched by a given query,
> e.g. MRS variables, predicates, roles, etc.  i am pretty sure milen applies
> the color-highlighting in the client, e.g. when toggling between multiple
> possible matches, based on (sets of) a list of sub-structure identifiers
> that match constituents of the query.  to do this, the query processor
> (server) and renderer (client) need a common scheme of referring to
> sub-structures.
>
> best wishes, oe
>
>
> On Fri, 7 May 2021 at 03:46 Alexandre Rademaker <arademaker at gmail.com>
> wrote:
>
>> Hi all,
>>
>> I want to understand the alternatives we have for presenting semantic and
>> syntactic structures on a web page. This is part of our current effort to
>> rewrite the WSI interface. The goal is to have something similar to the
>> last version of WSI that I had access and I have it running with sample
>> data at https://wsi.mybluemix.net/demo/.
>>
>> This instance has MRS and EDS. I could not import DMRS, but I remember
>> that I saw somewhere another instance of WSI exposing DMRS. Does anyone
>> know where?
>>
>> Anyway, we already have a new WQL to SPARQL transformation in place, and
>> now we are moving to the web interface part. The WSI code is quite
>> complicated using a lot of javascript. I could not understand how the
>> EDS/MRSs are transmitted from the Jean to the browser.
>>
>> But even if I ignore that and design a new strategy, I would like to
>> reuse the alternatives available to present MRS, DMRS, and EDS in the
>> browser. Besides the WSI interface, we have:
>>
>> 1. http://chimpanzee.ling.washington.edu/demophin/erg/parse displays
>> only DMRS. Who is the author of the dmrs.js? The DMRSs are transformed into
>> SVG…
>>
>> 2. http://delph-in.github.io/delphin-viz/demo/. It shows derivation
>> trees, MRS and DRMSs. Uses https://github.com/delph-in/delphin-viz, it
>> is the state-of-the-art solution for displaying DELPH-IN structures? I
>> didn't find documentation; how should my backend provide the data to allow
>> this code to load/parse and display them on a page?
>>
>> 3. http://erg.delph-in.net/logon. It shows trees (not the same as
>> above), dm, MRS, EDS. The DM is not the DMRS… The tree, EDS, and MRS are
>> HTML tables produced on the server-side by some code; the DM is transformed
>> in SVG, but how? The backend is Lisp. I would love to understand all the
>> loading steps of the logon scripts! I suppose it is using LKB with the ERG
>> 1214, but the www bash script is almost impossible to read... anyway, for
>> WSI, I don't need to call a parser but to retrieve the structures from an
>> RDF triplestore and display them.
>>
>> Does anyone have any direction? It would help me a lot!
>>
>> Best,
>> Alexandre
>>
>>
>>

-- 
-Michael Wayne Goodman
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.delph-in.net/archives/developers/attachments/20210510/8b3a1e8d/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mrs-arc-diagram.png
Type: image/png
Size: 34807 bytes
Desc: not available
URL: <http://lists.delph-in.net/archives/developers/attachments/20210510/8b3a1e8d/attachment-0001.png>


More information about the developers mailing list