Not logged in. · Lost password · Register

kohlhase
Member since Aug 2016
95 posts
Subject: GF-MMT Projects
Hier sind die nächsten Projekte für LBS. Ich würde da gerne 2-er Teams bilden.

Projekt 1: (Fragment 1)
a) frag1.mmt bauen (in JEdit) und in frag1.gf mehr Junktoren (=>, <=>) erweitern.
b) In Scala + MMT (letzteres als library) einen Modellgenerierer/Tableau bauen. 
c) Linguistischer Korpus zur Textual Validity and Entailment: Ein paar Sätze und ob sie valide sind, bzw. Ein paar entailment-Urteile und ob sie gültig sind.
d) die Implementation von b)  auf Korpus c) testen

Projekt 2: (Fragment 2).
a) frag2.mmt und frag2.gf
b) 1.b) auf eine Tableau-Machine erweitern (vor allem um Input-Logical Forms.  
c) Diskurs-Korpus (Sequenzen von Sätzen) und Theoriegraph mit Weltwissen
d) Test wie oben.

Jeweils für c) sollten wir alle zusammen die Resultate in einem Repos sammeln (gemeinsames Format), so dass wir cross-testing haben.

Das sind die ersten Ideen, bitte feeedback auf diesem Thread. Ich hoffe, dass wir dann am Ende eine vernünftige Spezifikation haben.
Michael Kohlhase
kohlhase
Member since Aug 2016
95 posts
+1 lmr
Ach ja, ich stelle mir vor, dass Projekt 1. für die nächste Woche ist. Projekt 2 wäre dann für die Woche danach.
Klingt das vernünftig?
Michael Kohlhase
This post was edited on 2017-11-23, 11:44 by kohlhase.
minusOne
Member since Nov 2017
13 posts
Subject: Tipp: Pattern matching on MMT objects
Fuer einfacheres pattern matching auf den MMT-Objekten, kann man Scalas unapply benutzen.
Das folgende Beispiel (von Dennis) kann man benutzen, um ein MMT-"or" mit beispielsweise
case a or b => ...
zu matchen:

  implicit class orApply(tm : Term) {
    def or(tm2 : Term) = Convenience.or(tm,tm2)
  }
  object or {
    val path = MMTGF.dpath ? "LogicSyntax" ? "or"
    def unapply(tm : Term) = tm match {
      case ApplySpine(OMS(`path`),List(tm1,tm2)) => Some((tm1,tm2))
      case _ => None
    }
    def apply(tm1 : Term, tm2 : Term) = ApplySpine(OMS(path),tm1,tm2)
  }
Jazzpirate
Member since Oct 2016
806 posts
Analoge hilfsmethoden existieren auch schon für "not", "equals", "pred1", "pred2" und "the"; siehe ModelGenerator.scala, die ich auch schon den Rahmen für die Algorithmen vorgibt; ihr müsst also eigentlich nur noch lücken füllen.

Wenn ihr irgendwelche Fragen habt, lasst es mich wissen :)
Marcel[Inf]
#faui2k15, GTI-Tutor a. D.
Member since Nov 2015
433 posts
Quote by Jazzpirate on 2017-11-30, 14:01:
siehe ModelGenerator.scala, die ich auch schon den Rahmen für die Algorithmen vorgibt; ihr müsst also eigentlich nur noch lücken füllen.

Wo findet man ModelGenerator.scala? Ich kann sie hier nicht finden: https://gl.mathhub.info/Teaching/LBS
Gefunden! https://github.com/UniFormal/GFScala/blob/master/src/main/…
This post was edited on 2017-12-03, 19:13 by Marcel[Inf].
lmr
?!
Member since Oct 2017
22 posts
In reply to post #4
Hi Zusammen,
Ich versuche mich gerade daran Fragment 2 mit GFMMT Bridge zum Laufen zu bringen, aber ich hänge nun an folgender Stelle fest und weiß nicht weiter: 

1. Wie lade ich die Grammatik für Fragment 2 aka. "frag2log"? (Hierbei handelt es sich um eine MMT Datei richtig?)

Was ich versucht habe (In Test.scala):
val gr = gf.getGrammar(MMTGF.dpath ? "frag1log")  //funktioniert
                              ↓
val gr = gf.getGrammar(MMTGF.dpath ? "frag2log") //funktioniert nicht

und gibt den Fehler:
scala.NotImplementedError: an implementation is missing
Beim "durchhangeln" in MMTGF.scala bin ich schnell zu Referenzen auf .class files gelangt, da ging's dann nicht mehr weiter.

2. Woher bekommt MMTGF eigentlich den Pfad auf die lokale Datei?
Sonst könnte ich den Verweis im Code umbiegen aber so weiß ich wirklich nicht weiter.

Danke schon mal  :-)
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please enter the word from the image into the text field below. (Type the letters only, lower case is okay.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Go to forum
Datenschutz | Kontakt
Powered by the Unclassified NewsBoard software, 20150713-dev, © 2003-2011 by Yves Goergen