Contract No.: | FP7-ICT-247914 |
---|---|
Project full title: | MOLTO - Multilingual Online Translation |
Deliverable: | D6.1. Simple Drill Grammar Library |
Security (distribution level): | Public |
Contractual date of delivery: | M18 |
Actual date of delivery: | September 2011 |
Type: | Prototype |
Status & version: | Final (evolving document) |
Author(s): | J. Saludes, et al. |
Task responsible: | UPC |
Other contributors: |
Abstract
The present paper is the cover of deliverable D6.1 as of WP6. It gives installation instructions for the Mathematical Grammar Library and a short manual.
The living end of the library is publicly available using subversion as:
svn co svn://molto-project.eu/mgl
A stable version can be found at:
svn co svn://molto-project.eu/tags/D6.1
The mgl library consists on the following files and directories:
At the same time, the library can be organized in three layers of increasing complexity:
Inside the mgl directory:
make
will compile the top (Operations) layer and produce Test.pgf. To compile only the OpenMath layer:
make om
An online version of the mathbar demo is http://www.grammaticalframework.org/demos/minibar/mathbar.html.
The library compiles for the following EU languages: Bulgarian, Catalan, English, Finnish, French, German, Italian, Polish, Romanian, Spanish, Swedish.
Regression testing of the OpenMath productions is possible through a treebank containing about 140 productions from this layer. At the present moment it contains linearizations for English, German, Polish and Spanish. At the time of writing this report, the entries of these languages (except for Polish) had been corrected by fluent speakers of the respective language. To allow for discrepancy, earlier corrections are also stored in the treebank, tagged with author and revision number.
The structure of the treebank is described in the evaluating document.
To test the library, make sure you have an up-to-date OpenMath.pgf. You can recreate it by issuing:
make om
and then, on the test directory:
./tbm table
That will make a table indexed by treebank entry and testing language (English, German an Spanish), showing the number of differences between the actual linearization and the corrected one.
Each time a new revision is committed to the repository, the output of this command is saved into test/table. Comparing different revisions of this file allows to measure the progress of the bug-fixing effort.
To review the current defects for language L:
./tbm review -lL
It will walk all the defects showing the differences, the stored corrected concretes, the abstract and the current linearization. For a list of available sub-commands press
.
Krasimir Angelov, Olga Caprotti, Ramona Enache, Thomas Hallgren, Alba Hierro, Inari Listenmma, Aarne Ranta, Ares Ribo, Adam Slaski, Shafqat Virk and Sebastian Xambó.
Imperative mode forces "!" at the end?
Not what we want for exercises.
Test> l DoComputeF DefineV (Var2Fun f)
define f !
We want to express:
"x gleich y"
or
"x hoch y"
mkAdA : Str → AdA
It doesn't exist
Example
for all z , r , it isn't true that r and if p , then , it isn't true that r
für alle z, r , ist es nicht wahr daß r und wenn p dann ist es nicht wahr daß r
I think it would be better to write "gilt", "gilt nicht" (english "holds", "it does not hold") instead of "es ist nicht wahr", "es ist wahr", "it is true", "it isn't true":
for all z , r , r does not hold and if p , then , r does not hold
für alle z, r , r gilt nicht und wenn p dann r gilt nicht
exist (BaseVarNum x) (Var2Set C) (mkProp (divides (Var2Num y) (Var2Num x)))
map y (factorial (Var2Num x)) (suchthat (Var2Set A) x r)
set (BaseValNum (Var2Num y) (Var2Num z))
l exist (BaseVarNum x) (Var2Set C) (mkProp (divides (Var2Num y) (Var2Num x)))
hay x en C tal que y divida a x
hay→existe
divida → divide
el conjunt amb element únic el cub de pi
DefNPwithbaseElem : CN → MathObj → MathObj =
\cn,o → DefSgNP (mkCN cn (prepAdv with_Prep (mkNP (mkCN (mkCN (mkA "únic") element_CN) o)))) ;
Problema:
No puc escriure "d'element únic" perquè si canvio el with_Prep per un possess_Prep o un part_Prep (of) , omet la preposició! Perquè?
cartesian_product (BaseValSet (Var2Set A) (Var2Set B))
imaginary (Var2Num y)
lcm (BaseValNum (Var2Num y) (Var2Num z))
root2 (real (Var2Num x))
Problem: and_Conj in spanish does not include the case "e", for example for "x e y". It should be
and_Conj = {s1 = [] ; s2 = etConj.s ; n = Pl} ;
For the moment, we have created a new
myAnd_Conj=and_Conj;at MathI.gf and redefined it as
and_Conj = {s1 = [] ; s2 = etConj.s ; n = Pl} ;at MathSpa.gf
This should be fixed at StructuralSpa.gf