0

Using Link Grammar I can have the syntaxic parse of sentences something like the following:

    +-------------------Xp------------------+
    +------->WV------->+------Ost------+    |
    +-----Wd----+      |  +----Ds**x---+    |
    |     +Ds**c+--Ss--+  +-PHc+---A---+    |
    |     |     |      |  |    |       |    |
LEFT-WALL a  koala.n is.v a cute.a animal.n . 

    +---------------------Xp--------------------+
    +------->WV------>+---------Osm--------+    |
    +-----Wd----+     |  +------Ds**x------+    |
    |     +Ds**c+--Ss-+  +--PHc-+-----A----+    |
    |     |     |     |  |      |          |    |
LEFT-WALL a  wolf.n is.v a dangerous.a animal.n . 

    +--------------------Xp--------------------+
    +------->WV------>+--------Ost--------+    |
    +-----Wd----+     |  +------Ds**x-----+    |
    |     +Ds**c+--Ss-+  +--PHc-+----A----+    |
    |     |     |     |  |      |         |    |
LEFT-WALL a   dog.n is.v a faithful.a animal.n . 

    +-----------------------Xp----------------------+
    +------->WV------->+----------Osm----------+    |
    +-----Wd----+      |   +-------Ds**x-------+    |
    |     +Ds**c+--Ss--+   +--PHv--+-----A-----+    |
    |     |     |      |   |       |           |    |
LEFT-WALL a monkey.n is.v an independant.a animal.n . 

The problem with this that it's not possible AFAIK to make sens of that output programmatically; It seems like the way to go is to convert that syntaxic output to a dependency parse tree how can I achieve that?

amirouche
  • 7,682
  • 6
  • 40
  • 94

1 Answers1

1

You may want to look at RelEx (at GitHub).

From link-grammar at Wikipedia (emphasis mine):

The semantic relationship extractor RelEx, layered on top of the Link Grammar library, generates a dependency grammar output by making explicit the semantic relationships between words in a sentence. Its output can be classified as being at a level between that of SSyntR and DSyntR of Meaning-Text Theory. It also provides framing/grounding, anaphora resolution, head-word identification, lexical chunking, part-of-speech identification, and tagging, including entity, date, money, gender, etc. tagging. It includes a compatibility mode to generate dependency output compatible with the Stanford parser, and Penn Treebank-compatible POS tagging.

ampli
  • 141
  • 2
  • 7
  • I don't understand how relex works, that why I am re-asking the question on how do to this. – amirouche Jan 04 '17 at 22:13
  • It seems to me ReLex is a dictionary that builds on the flat links into a hiearachical data structure. To get started I don't know how ReLeX encodes this hierarchical datastructure. – amirouche Jan 04 '17 at 22:15
  • It seems to me based on the documentation from above, is that ReLeX is a graph pattern matcher built ontop dynamic programming. What algorithm does it use to match predicates? – amirouche Jan 05 '17 at 10:30
  • @amirouche I recommend that you post RelEx-related questions to the [OpenCog](https://groups.google.com/forum/?hl=en#!forum/opencog) discussion group, since several RelEx experts (including its authors) are there. – ampli Jan 05 '17 at 14:41
  • I'm not sure what I don't understand ^^' – amirouche Jan 05 '17 at 17:37